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
1 lines • 36.4 kB
JavaScript
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{B as t,E as n,F as r,K as i,O as a,P as o,T as s,_ as c,b as l,f as u,i as d,it as f,j as p,k as m,t as h,x as g}from"./Box-CN-vzd2M.js";import{n as _,o as v}from"./i18n.store-cEFY1tQT.js";import{a as y,d as b,n as x,p as S,r as C,t as w}from"./KeyboardArrowDown-D7WhzLBq.js";import{t as T}from"./createSimplePaletteValueFilter-Bt9IjErz.js";import{a as E,i as D,n as ee,t as O}from"./Delete--d__ZiCF.js";import{l as k,n as A,o as te,t as j}from"./esm-B1_nJaTZ.js";import{t as M}from"./Save-BBHi0U07.js";import{t as ne}from"./DeleteSweep-BgHgEtv7.js";import{i as N,n as re,r as ie,t as ae}from"./SkipPrevious-BCX6mTI2.js";import{t as oe}from"./KeyboardArrowUp-DWty74HS.js";import{t as se}from"./Refresh-CBvrjBD9.js";import{i as P,n as F,r as I,t as L}from"./redis-state.store-DegzWxJZ.js";import{B as R,H as z,J as ce,P as B,R as V,V as H,X as U,Y as le,_ as ue,b as de,c as W,d as G,g as K,h as fe,i as q,j as J,k as pe,m as me,nt as he,rt as ge,s as _e,x as ve}from"./index-B6abhTyw.js";import{t as ye}from"./TreeSettingsDialog-CAm6Y6Ey.js";function be(e){return t(`MuiFormGroup`,e)}l(`MuiFormGroup`,[`root`,`row`,`error`]);var Y=e(v(),1),X=f(),xe=e=>{let{classes:t,row:n,error:r}=e;return p({root:[`root`,n&&`row`,r&&`error`]},be,t)},Se=a(`div`,{name:`MuiFormGroup`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.row&&t.row]}})({display:`flex`,flexDirection:`column`,flexWrap:`wrap`,variants:[{props:{row:!0},style:{flexDirection:`row`}}]}),Ce=Y.forwardRef(function(e,t){let n=s({props:e,name:`MuiFormGroup`}),{className:r,row:a=!1,...o}=n,[c]=ge({props:n,states:[`error`]}),l={...n,row:a,error:c.error};return(0,X.jsx)(Se,{className:i(xe(l).root,r),ownerState:l,ref:t,...o})}),we=d((0,X.jsx)(`path`,{d:`M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z`}),`RadioButtonUnchecked`),Te=d((0,X.jsx)(`path`,{d:`M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z`}),`RadioButtonChecked`),Ee=a(`span`,{name:`MuiRadioButtonIcon`,shouldForwardProp:m})({position:`relative`,display:`flex`}),Z=a(we,{name:`MuiRadioButtonIcon`})({transform:`scale(1)`}),De=a(Te,{name:`MuiRadioButtonIcon`})(n(({theme:e})=>({left:0,position:`absolute`,transform:`scale(0)`,...c(e,`transform`,{easing:e.transitions.easing.easeIn,duration:e.transitions.duration.shortest}),variants:[{props:{checked:!0},style:{transform:`scale(1)`,...c(e,`transform`,{easing:e.transitions.easing.easeOut,duration:e.transitions.duration.shortest})}}]})));function Oe(e){let{checked:t=!1,classes:n={},fontSize:r}=e,i={...e,checked:t};return(0,X.jsxs)(Ee,{className:n.root,ownerState:i,children:[(0,X.jsx)(Z,{fontSize:r,className:n.background,ownerState:i}),(0,X.jsx)(De,{fontSize:r,className:n.dot,ownerState:i})]})}var ke=le,Ae=Y.createContext(void 0);function je(){return Y.useContext(Ae)}function Me(e){return t(`MuiRadio`,e)}var Ne=l(`MuiRadio`,[`root`,`checked`,`disabled`,`colorPrimary`,`colorSecondary`,`sizeSmall`]),Pe=e=>{let{classes:t,color:n,size:r}=e,i={root:[`root`,`color${o(n)}`,r!==`medium`&&`size${o(r)}`]};return{...t,...p(i,Me,t)}},Fe=a(E,{shouldForwardProp:e=>m(e)||e===`classes`,name:`MuiRadio`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.size!==`medium`&&t[`size${o(n.size)}`],t[`color${o(n.color)}`]]}})(n(({theme:e})=>({color:(e.vars||e).palette.text.secondary,[`&.${Ne.disabled}`]:{color:(e.vars||e).palette.action.disabled},variants:[{props:{color:`default`,disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:e.alpha((e.vars||e).palette.action.active,(e.vars||e).palette.action.hoverOpacity)}}},...Object.entries(e.palette).filter(T()).map(([t])=>({props:{color:t,disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:e.alpha((e.vars||e).palette[t].main,(e.vars||e).palette.action.hoverOpacity)}}})),...Object.entries(e.palette).filter(T()).map(([t])=>({props:{color:t,disabled:!1},style:{[`&.${Ne.checked}`]:{color:(e.vars||e).palette[t].main}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:`transparent`}}}}]})));function Ie(e,t){return typeof t==`object`&&t?e===t:String(e)===String(t)}var Le=(0,X.jsx)(Oe,{checked:!0}),Re=(0,X.jsx)(Oe,{}),ze=Y.forwardRef(function(e,t){let n=s({props:e,name:`MuiRadio`}),{checked:r,checkedIcon:a=Le,color:o=`primary`,icon:c=Re,name:l,onChange:u,size:d=`medium`,className:f,disabled:p,disableRipple:m=!1,slots:h={},slotProps:_={},...v}=n,y=he(),b=p;y&&b===void 0&&(b=y.disabled),b??=!1;let x={...n,disabled:b,disableRipple:m,color:o,size:d},S=Pe(x),C=je(),w=r,T=ke(u,C&&C.onChange),E=l;C&&(w===void 0&&(w=Ie(C.value,n.value)),E===void 0&&(E=C.name));let D=_.input,[ee,O]=g(`root`,{ref:t,elementType:Fe,className:i(S.root,f),shouldForwardComponentProp:!0,externalForwardedProps:{slots:h,slotProps:_,...v},getSlotProps:e=>({...e,onChange:(t,...n)=>{e.onChange?.(t,...n),T(t,...n)}}),ownerState:x,additionalProps:{type:`radio`,icon:Y.cloneElement(c,{fontSize:c.props.fontSize??d}),checkedIcon:Y.cloneElement(a,{fontSize:a.props.fontSize??d}),disabled:b,name:E,checked:w,slots:h,slotProps:{input:typeof D==`function`?D(x):D}}});return(0,X.jsx)(ee,{...O,classes:S})});function Be(e){return t(`MuiRadioGroup`,e)}l(`MuiRadioGroup`,[`root`,`row`,`error`]);var Ve=e=>{let{classes:t,row:n,error:r}=e;return p({root:[`root`,n&&`row`,r&&`error`]},Be,t)},He=Y.forwardRef(function(e,t){let{actions:n,children:r,className:a,defaultValue:o,name:s,onChange:c,value:l,...d}=e,f=Y.useRef(null),p=Ve(e),[m,h]=y({controlled:l,default:o,name:`RadioGroup`});Y.useImperativeHandle(n,()=>({focus:()=>{let e=f.current.querySelector(`input:not(:disabled):checked`);e||=f.current.querySelector(`input:not(:disabled)`),e&&e.focus()}}),[]);let g=u(t,f),_=S(s),v=Y.useMemo(()=>({name:_,onChange(e){h(e.target.value),c&&c(e,e.target.value)},value:m}),[_,c,h,m]);return(0,X.jsx)(Ae.Provider,{value:v,children:(0,X.jsx)(Ce,{role:`radiogroup`,ref:g,className:i(p.root,a),...d,children:r})})}),Ue=d((0,X.jsx)(`path`,{d:`m7 10 5 5 5-5z`}),`ArrowDropDown`),We=d((0,X.jsx)(`path`,{d:`M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`}),`Clear`),Ge=d((0,X.jsx)(`path`,{d:`M19 9h-4V3H9v6H5l7 7zM5 18v2h14v-2z`}),`FileDownload`),Ke=d((0,X.jsx)(`path`,{d:`M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z`}),`FileUpload`),qe=d((0,X.jsx)(`path`,{d:`M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2`}),`MoreVert`),Je=d((0,X.jsx)(`path`,{d:`M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5m0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8`}),`RadioButtonChecked`),Ye=d((0,X.jsx)(`path`,{d:`M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8`}),`RadioButtonUnchecked`),Xe=d((0,X.jsx)(`path`,{d:`m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z`}),`ShowChart`);function Ze(){let e=_(e=>e.strings),t=I(e=>e.connection),n=I(e=>e.currentDatabase),i=I(e=>e.databaseIndexes),a=I(e=>e.info),{selectDatabase:o,save:s,statistics:c,refresh:l}=W(),u=r(),d=V(`(max-width: 599px)`),f=V(`(min-width: 720px)`),p=t?.readonly===!0,m=t?.cluster===!0,g=!!t,v=a?.keyspaceDatabases||{},y=e=>!!v[e];return g?(0,X.jsx)(C,{variant:`dense`,disableGutters:!0,sx:{minHeight:`48px !important`,height:48,maxHeight:48,px:`8px`,pl:`16px`,bgcolor:u.p3xr.accordionBg,color:u.p3xr.accordionColor,borderRadius:`4px 4px 0 0`},children:(0,X.jsxs)(h,{sx:{display:`flex`,alignItems:`center`,width:`100%`,height:48},children:[!d&&(0,X.jsx)(h,{component:`h2`,onClick:()=>c(),sx:{flex:1,fontSize:20,fontWeight:400,m:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,cursor:`pointer`,textDecoration:`none`,color:`inherit`},children:e?.intention?.main}),!m&&i.length>0&&(0,X.jsxs)(h,{sx:{display:`flex`,alignItems:`center`,mr:1},children:[(0,X.jsx)(h,{component:`span`,sx:{fontSize:14,fontWeight:`bold`,mr:`2px`},children:`DB:`}),(0,X.jsx)(R,{size:`small`,value:n??0,onChange:e=>o(Number(e.target.value)),variant:`standard`,disableUnderline:!0,sx:{width:80,fontSize:14,color:`inherit`,"& .MuiSelect-select":{display:`flex`,alignItems:`center`,gap:`4px`,py:0,background:`transparent`},"& .MuiSelect-icon":{color:`inherit`}},renderValue:e=>(0,X.jsxs)(h,{sx:{display:`flex`,alignItems:`center`,gap:`4px`},children:[y(e)?(0,X.jsx)(Je,{sx:{fontSize:18}}):(0,X.jsx)(Ye,{sx:{fontSize:18}}),e]}),children:i.map(e=>(0,X.jsxs)(H,{value:e,sx:{display:`flex`,alignItems:`center`,gap:`4px`},children:[y(e)?(0,X.jsx)(Je,{sx:{fontSize:18}}):(0,X.jsx)(Ye,{sx:{fontSize:18}}),e]},e))})]}),!p&&(f?(0,X.jsxs)(U,{sx:{color:`inherit`},onClick:()=>s(),children:[(0,X.jsx)(M,{sx:{mr:`4px`},fontSize:`small`}),(0,X.jsx)(`span`,{children:e?.intention?.save})]}):(0,X.jsx)(x,{title:e?.intention?.save,placement:`below`,children:(0,X.jsx)(b,{sx:{color:`inherit`},onClick:()=>s(),children:(0,X.jsx)(M,{fontSize:`small`})})})),f?(0,X.jsxs)(U,{sx:{color:`inherit`},onClick:()=>c(),children:[(0,X.jsx)(Xe,{sx:{mr:`4px`},fontSize:`small`}),(0,X.jsx)(`span`,{children:e?.intention?.statistics})]}):(0,X.jsx)(x,{title:e?.intention?.statistics,placement:`below`,children:(0,X.jsx)(b,{sx:{color:`inherit`},onClick:()=>c(),children:(0,X.jsx)(Xe,{fontSize:`small`})})}),f?(0,X.jsxs)(U,{sx:{color:`inherit`},onClick:()=>l(),children:[(0,X.jsx)(se,{sx:{mr:`4px`},fontSize:`small`}),(0,X.jsx)(`span`,{children:e?.intention?.refresh})]}):(0,X.jsx)(x,{title:e?.intention?.refresh,placement:`below`,children:(0,X.jsx)(b,{sx:{color:`inherit`},onClick:()=>l(),children:(0,X.jsx)(se,{fontSize:`small`})})})]})}):null}function Qe({keys:e}){let t=_(e=>e.strings),n=r(),i=(0,Y.useRef)(null),a=j({count:e.length,getScrollElement:()=>i.current,estimateSize:()=>40,overscan:10});return(0,X.jsx)(h,{ref:i,sx:{height:300,overflow:`auto`},children:(0,X.jsx)(h,{sx:{height:a.getTotalSize(),width:`100%`,position:`relative`},children:a.getVirtualItems().map(r=>{let i=e[r.index];return(0,X.jsxs)(h,{sx:{position:`absolute`,top:0,left:0,width:`100%`,height:40,transform:`translateY(${r.start}px)`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:1,px:2,boxSizing:`border-box`,borderBottom:`1px solid`,borderColor:n.palette.mode===`dark`?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.12)`},children:[(0,X.jsx)(h,{sx:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontFamily:`'Roboto Mono', monospace`,fontSize:13},children:i.key}),(0,X.jsx)(h,{component:`kbd`,sx:{fontFamily:`'Roboto Mono', monospace`,fontSize:11,border:1,borderColor:`divider`,borderRadius:`4px`,px:1,py:.25,bgcolor:`action.hover`,display:`inline-block`},children:t?.redisTypes?.[i.type]??i.type})]},r.index)})})})}function $e({open:e,data:t,onClose:n}){let r=_(e=>e.strings),i=V(`(min-width: 600px)`),[a,o]=(0,Y.useState)(`overwrite`);if(!e||!t)return null;let s=t.keys??[];return(0,X.jsxs)(q,{open:!0,onClose:()=>n(null),title:r?.intention?.importKeys,actions:(0,X.jsxs)(X.Fragment,{children:[i?(0,X.jsxs)(U,{variant:`contained`,color:`error`,size:`small`,onClick:()=>n(null),children:[(0,X.jsx)(pe,{fontSize:`small`}),(0,X.jsx)(`span`,{style:{marginLeft:3},children:r?.intention?.cancel})]}):(0,X.jsx)(x,{title:r?.intention?.cancel,placement:`top`,children:(0,X.jsx)(U,{variant:`contained`,color:`error`,size:`small`,onClick:()=>n(null),sx:{minWidth:40,width:40,height:36,p:0},children:(0,X.jsx)(pe,{fontSize:`small`})})}),(0,X.jsxs)(U,{variant:`contained`,color:`primary`,size:`small`,onClick:()=>n({pending:!0,keys:s,conflictMode:a}),children:[(0,X.jsx)(Ke,{fontSize:`small`}),(0,X.jsx)(`span`,{style:{marginLeft:3},children:r?.intention?.importKeys})]})]}),children:[(0,X.jsxs)(h,{sx:{mb:2},children:[(0,X.jsx)(`strong`,{children:r?.label?.importPreview}),(0,X.jsxs)(h,{component:`span`,sx:{opacity:.7,ml:1},children:[`(`,s.length,`)`]})]}),(0,X.jsx)(Qe,{keys:s}),(0,X.jsxs)(h,{sx:{mt:2},children:[(0,X.jsx)(h,{sx:{mb:1,fontWeight:500},children:r?.label?.importConflict}),(0,X.jsxs)(He,{row:!0,value:a,onChange:(e,t)=>o(t),children:[(0,X.jsx)(D,{value:`overwrite`,control:(0,X.jsx)(ze,{}),label:r?.label?.importOverwrite}),(0,X.jsx)(D,{value:`skip`,control:(0,X.jsx)(ze,{}),label:r?.label?.importSkip})]})]})]})}var et={p:0,width:24,height:24,minWidth:24,minHeight:24,borderRadius:`50%`};function tt(){let e=_(e=>e.strings),t=I(e=>e.keysRaw),n=I(e=>e.search),i=I(e=>e.page),a=I(e=>e.cfg),o=I(e=>e.connection),s=P(e=>e.redisTreeDivider),c=P(e=>e.searchClientSide);P(e=>e.pageCount);let{toast:l,generalHandleError:u}=ue(),{refresh:d,addKey:f}=W(),p=me(),m=r(),g={...et,color:m.p3xr.treecontrolIconColor},v={...et,color:m.palette.primary.main},y={boxSizing:`border-box`,borderStyle:`solid`,borderWidth:2,margin:1,borderColor:m.p3xr.inputBorderColor,background:m.p3xr.inputBg,color:m.p3xr.inputColor,outline:`none`,fontFamily:`'Roboto Mono', monospace`,fontSize:12},S={...y,padding:0},C={...y,padding:3},T=o?.readonly===!0,E=Array.isArray(t)?t.length:0,D=Array.isArray(a?.treeDividers)?a.treeDividers:[],O=L(),[k,A]=(0,Y.useState)(n||``),[te,j]=(0,Y.useState)(s||`:`),[M,F]=(0,Y.useState)(i||1),R=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{A(n||``)},[n]),(0,Y.useEffect)(()=>{j(s||`:`)},[s]),(0,Y.useEffect)(()=>{F(i||1)},[i]);let[B,V]=(0,Y.useState)(null),[U,le]=(0,Y.useState)(null),[K,q]=(0,Y.useState)(null),[J,pe]=(0,Y.useState)(!1),[he,ge]=(0,Y.useState)(!1),[_e,be]=(0,Y.useState)(null),xe=(0,Y.useMemo)(()=>{let t=e?.status?.keyCount;return typeof t==`function`?t({keyCount:E}):String(E)},[e,E]),Se=(0,Y.useMemo)(()=>{let t=e?.page?.treeControls?.search;return c?t?.placeholderClient:t?.placeholderServer},[e,c]),Ce=(0,Y.useCallback)(async()=>{I.setState({search:k,page:1}),c&&I.setState({redisChanged:!0}),await d()},[k,c,d]),we=(0,Y.useCallback)(async()=>{A(``),I.setState({search:``,page:1}),c&&I.setState({redisChanged:!0}),await d()},[c,d]),Te=(0,Y.useCallback)(e=>{j(e),P.getState().setSetting(`p3xr-main-treecontrol-divider`,e),clearTimeout(R.current),R.current=setTimeout(()=>{I.setState({redisChanged:!0})},666)},[]),Ee=(0,Y.useCallback)(e=>{j(e),P.getState().setSetting(`p3xr-main-treecontrol-divider`,e),I.setState({redisChanged:!0}),le(null)},[]),Z=(0,Y.useCallback)(e=>{let t=I.getState().page??1,n=L(),r=t;switch(e){case`first`:r=1;break;case`prev`:r=Math.max(1,t-1);break;case`next`:r=Math.min(n,t+1);break;case`last`:r=n;break}F(r),I.setState({page:r,redisChanged:!0})},[]),De=(0,Y.useCallback)(e=>{let t=parseInt(e.target.value,10),n=L(),r=isNaN(t)?1:Math.max(1,Math.min(n,t));F(r),I.setState({page:r,redisChanged:!0})},[]),Oe=(0,Y.useCallback)(e=>{V(null),setTimeout(()=>fe(`expand-level-`+e))},[]),ke=(0,Y.useCallback)(()=>{fe(`expand-all`),V(null)},[]),Ae=(0,Y.useCallback)(()=>{fe(`collapse-all`)},[]),je=(0,Y.useCallback)(async()=>{if(q(null),!Array.isArray(t)||t.length===0){l(e?.label?.noKeysToExport);return}try{p.show({message:e?.label?.exportProgress});let n=await G({action:`key/export`,payload:{keys:t}}),r=JSON.stringify(n.data,null,2),i=new Blob([r],{type:`application/json`}),a=URL.createObjectURL(i),s=document.createElement(`a`);s.href=a,s.download=`${o?.name||`redis`}-db${I.getState().currentDatabase??0}-export.json`,s.click(),URL.revokeObjectURL(a),l(e?.status?.exportDone)}catch(e){u(e)}finally{p.hide()}},[t,o,e,l,u,p]),Me=(0,Y.useCallback)(()=>{q(null);let t=document.createElement(`input`);t.type=`file`,t.accept=`.json`,t.onchange=()=>{let n=t.files?.[0];if(!n)return;let r=new FileReader;r.onload=t=>{try{let n=JSON.parse(t.target.result);if(!n?.keys||!Array.isArray(n.keys)||n.keys.length===0){l(e?.label?.importNoKeys);return}be(n),ge(!0)}catch(e){e!=null&&u(e)}},r.readAsText(n)},t.click()},[e,l,u]),Ne=(0,Y.useCallback)(async t=>{if(ge(!1),be(null),t?.pending)try{p.show({message:e?.label?.importProgress});let n=(await G({action:`key/import`,payload:{keys:t.keys,conflictMode:t.conflictMode}})).data,r=e?.status?.importDone;l(typeof r==`function`?r(n):`Import complete: ${n.created} created, ${n.skipped} skipped, ${n.errors} errors`),await d()}catch(e){e!=null&&u(e)}finally{p.hide()}},[e,l,d,u,p]),Pe=(0,Y.useMemo)(()=>{if(k.length>0){let t=e?.intention?.deleteSearchKeys;return typeof t==`function`?t({count:E}):`Delete ${E} matching keys`}let t=e?.intention?.deleteAllKeysMenu;return typeof t==`function`?t({count:E}):`Delete all ${E} keys`},[e,k,E]),Fe=(0,Y.useMemo)(()=>{if(k.length>0){let t=e?.intention?.exportSearchResults;return typeof t==`function`?t({count:E}):`Export ${E} results`}let t=e?.intention?.exportAllKeys;return typeof t==`function`?t({count:E}):`Export all ${E} keys`},[e,k,E]),Ie=(0,Y.useCallback)(async()=>{q(null);let t=P.getState().searchStartsWith,n;n=k.length>0?t?k+`*`:`*`+k+`*`:`*`;try{let t=e?.confirm?.deleteSearchKeys,r=typeof t==`function`?t({count:E,pattern:n}):`Are you sure to delete all keys matching "${n}"? Found ${E} keys.`;await ue.getState().confirm({message:r}),p.show({message:e?.label?.deletingSearchKeys});let i=(await G({action:`key/delete-search-keys`,payload:{match:n}})).deletedCount||0,a=e?.status?.deletedSearchKeys;l(typeof a==`function`?a({count:i}):`Deleted ${i} keys`),await d()}catch(e){e!=null&&u(e)}finally{p.hide()}},[k,E,e,l,d,u,p]);return(0,X.jsxs)(h,{sx:{minHeight:24},children:[(0,X.jsxs)(h,{sx:{display:`flex`,alignItems:`center`,flexWrap:`wrap`,minHeight:31},children:[(0,X.jsx)(x,{title:e?.intention?.extend,placement:`top`,enterDelay:300,children:(0,X.jsx)(b,{size:`small`,sx:v,onClick:e=>V(e.currentTarget),children:(0,X.jsx)(w,{fontSize:`small`})})}),(0,X.jsxs)(z,{anchorEl:B,open:!!B,onClose:()=>V(null),children:[[1,2,3,4,5].map(t=>(0,X.jsxs)(H,{onClick:()=>Oe(t),children:[e?.page?.treeControls?.level,` `,t]},t)),(0,X.jsx)(ce,{}),(0,X.jsx)(H,{onClick:ke,children:e?.page?.treeControls?.expandAll})]}),(0,X.jsx)(x,{title:e?.page?.treeControls?.collapseAll,placement:`top`,enterDelay:300,children:(0,X.jsx)(b,{size:`small`,sx:g,onClick:Ae,children:(0,X.jsx)(oe,{fontSize:`small`})})}),(0,X.jsx)(x,{title:e?.intention?.refresh,placement:`top`,enterDelay:300,children:(0,X.jsx)(b,{size:`small`,sx:g,onClick:()=>d(),children:(0,X.jsx)(se,{fontSize:`small`})})}),(0,X.jsx)(x,{title:e?.form?.treeSettings?.label?.formName,placement:`top`,enterDelay:300,children:(0,X.jsx)(b,{size:`small`,sx:g,onClick:()=>pe(!0),children:(0,X.jsx)(de,{fontSize:`small`})})}),(0,X.jsx)(ye,{open:J,onClose:()=>pe(!1)}),(0,X.jsx)($e,{open:he,data:_e,onClose:Ne}),(0,X.jsx)(x,{title:e?.form?.treeSettings?.field?.treeSeparator,placement:`top`,enterDelay:300,children:(0,X.jsx)(`input`,{value:te,onChange:e=>Te(e.target.value),style:{...S,width:23,fontFamily:`'Roboto Mono', monospace`,fontSize:14,fontWeight:500,textAlign:`center`,verticalAlign:`middle`}})}),D.length>0&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(x,{title:e?.form?.treeSettings?.field?.treeSeparatorSelector,placement:`top`,enterDelay:300,children:(0,X.jsx)(b,{size:`small`,sx:{...g,width:14},onClick:e=>le(e.currentTarget),children:(0,X.jsx)(Ue,{sx:{fontSize:18}})})}),(0,X.jsx)(z,{anchorEl:U,open:!!U,onClose:()=>le(null),slotProps:{paper:{sx:{minWidth:`20px !important`,maxWidth:`40px !important`,transform:`translateX(-23px) !important`,marginTop:`4px`}},list:{sx:{p:0}}},children:D.map(e=>(0,X.jsx)(H,{onClick:()=>Ee(e),sx:{minHeight:28,height:28,p:`0 !important`,minWidth:0,textAlign:`center`,justifyContent:`center`,fontFamily:`'Roboto Mono', monospace`,fontWeight:500,fontSize:14},children:e===``?`(empty)`:e},e))})]}),O>1?(0,X.jsx)(x,{title:xe,placement:`top`,enterDelay:300,children:(0,X.jsxs)(h,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,whiteSpace:`nowrap`,ml:`2px`},children:[(0,X.jsx)(x,{title:e?.page?.treeControls?.pager?.first,enterDelay:300,children:(0,X.jsx)(b,{size:`small`,sx:v,onClick:()=>Z(`first`),children:(0,X.jsx)(ae,{sx:{fontSize:18}})})}),(0,X.jsx)(x,{title:e?.page?.treeControls?.pager?.prev,enterDelay:300,children:(0,X.jsx)(b,{size:`small`,sx:g,onClick:()=>Z(`prev`),children:(0,X.jsx)(N,{sx:{fontSize:18}})})}),(0,X.jsx)(`input`,{type:`number`,step:1,min:1,max:O,value:M,onChange:De,className:`p3xr-pager-input`,style:{...S,width:32,height:20,textAlign:`center`,MozAppearance:`textfield`}}),(0,X.jsxs)(`span`,{style:{fontSize:12,fontFamily:`'Roboto Mono', monospace`},children:[`/ `,O]}),(0,X.jsx)(x,{title:e?.page?.treeControls?.pager?.next,enterDelay:300,children:(0,X.jsx)(b,{size:`small`,sx:g,onClick:()=>Z(`next`),children:(0,X.jsx)(ie,{sx:{fontSize:18}})})}),(0,X.jsx)(x,{title:e?.page?.treeControls?.pager?.last,enterDelay:300,children:(0,X.jsx)(b,{size:`small`,sx:v,onClick:()=>Z(`last`),children:(0,X.jsx)(re,{sx:{fontSize:18}})})})]})}):(0,X.jsxs)(h,{component:`span`,sx:{ml:`auto`,opacity:.5,fontSize:12},children:[xe,`\xA0`]})]}),(0,X.jsxs)(h,{sx:{clear:`both`,p:`5px`,textAlign:`left`,lineHeight:`24px`,display:`flex`,alignItems:`center`,gap:.5},children:[(0,X.jsx)(`input`,{placeholder:Se,value:k,onChange:e=>A(e.target.value),onKeyDown:e=>{e.key===`Enter`&&Ce()},style:{...C,flex:1,minWidth:0,verticalAlign:`middle`}}),(0,X.jsx)(x,{title:e?.page?.treeControls?.search?.search,placement:`top`,enterDelay:300,children:(0,X.jsx)(b,{size:`small`,sx:v,onClick:Ce,children:(0,X.jsx)(ve,{fontSize:`small`})})}),k.length>0&&(0,X.jsx)(x,{title:e?.page?.treeControls?.search?.clear,placement:`top`,enterDelay:300,children:(0,X.jsx)(b,{size:`small`,sx:v,onClick:we,children:(0,X.jsx)(We,{fontSize:`small`})})}),!T&&(0,X.jsx)(x,{title:e?.intention?.addKeyRoot,placement:`top`,enterDelay:300,children:(0,X.jsx)(ee,{onClick:e=>f({event:e.nativeEvent}),sx:{fontSize:24,cursor:`pointer`,color:m.p3xr.commonWarnColor}})}),(0,X.jsx)(b,{size:`small`,sx:g,onClick:e=>q(e.currentTarget),children:(0,X.jsx)(qe,{fontSize:`small`})}),(0,X.jsxs)(z,{anchorEl:K,open:!!K,onClose:()=>q(null),children:[(0,X.jsxs)(H,{onClick:je,children:[(0,X.jsx)(Ge,{sx:{mr:1},fontSize:`small`}),Fe]}),k.length>0&&(0,X.jsx)(h,{sx:{px:2,pb:1,fontSize:11,opacity:.5,fontStyle:`italic`,pointerEvents:`none`,lineHeight:1.3},children:e?.label?.exportSearchHint}),!T&&(0,X.jsxs)(H,{onClick:Me,children:[(0,X.jsx)(Ke,{sx:{mr:1},fontSize:`small`}),e?.intention?.importKeys]}),!T&&k.length>0&&(0,X.jsx)(h,{sx:{px:2,pb:1,fontSize:11,opacity:.5,fontStyle:`italic`,pointerEvents:`none`,lineHeight:1.3},children:e?.label?.importSearchHint}),!T&&(0,X.jsx)(ce,{}),!T&&(0,X.jsxs)(H,{onClick:Ie,children:[(0,X.jsx)(ne,{sx:{mr:1,color:`warning.main`},fontSize:`small`}),Pe]}),!T&&k.length>0&&(0,X.jsx)(h,{sx:{px:2,pb:1,fontSize:11,opacity:.5,fontStyle:`italic`,pointerEvents:`none`,lineHeight:1.3},children:e?.label?.deleteSearchHint})]})]})]})}var Q=null,nt=0,rt=new Map;function it(){try{let e=new Blob([`(${ot.toString()})()`],{type:`application/javascript`});Q=new Worker(URL.createObjectURL(e)),Q.onmessage=e=>{let{_requestId:t,...n}=e.data,r=rt.get(t);r&&(rt.delete(t),r(n))},Q.onerror=()=>{Q=null}}catch{Q=null}}it();function at(e){if(Q){let t=++nt;return new Promise(n=>{rt.set(t,n),Q.postMessage({_requestId:t,action:`buildTree`,keys:e.keys,divider:e.divider,keysInfo:e.keysInfo,savedExpandedNodes:e.savedExpandedNodes??[]})})}return Promise.resolve(st(e))}function ot(){let e=()=>(e,t)=>{let n=/(\d+)|(\D+)/g,r=[],i=[];for(e.replace(n,(e,t,n)=>(r.push([t||1/0,n||``]),``)),t.replace(n,(e,t,n)=>(i.push([t||1/0,n||``]),``));r.length&&i.length;){let e=r.shift(),t=i.shift(),n=parseFloat(e[0])-parseFloat(t[0])||e[1].localeCompare(t[1]);if(n)return n}return r.length-i.length},t=(e,t,n,r)=>{let i=[],a=[],o=r||[],s=(e,r=0,c=i)=>{let l=!1;if(r+1<e.length){for(let t=0;t<c.length;t++)if(c[t].label===e[r]&&c[t].type===`folder`){l=c[t];break}}if(!l){let i={label:e[r],key:e.slice(0,r+1).join(t),children:[],childCount:0,type:r+1===e.length?`element`:`folder`};i.type===`element`&&n&&(i.keysInfo=n[i.key]),c.push(i),l=i;for(let e=0;e<o.length;e++)o[e].key===l.key&&a.push(l)}r+1<e.length&&s(e,r+1,l.children)};for(let n=0;n<e.length;n++)s(t===``?[e[n]]:e[n].split(t));let c=e=>{e.childCount=0;for(let t=0;t<e.children.length;t++)if(e.children[t].type===`element`){let n=e.children[t].keysInfo;n&&n.type!==`string`&&n.type!==`json`&&n.length!=null?e.childCount+=n.length:e.childCount++}for(let t=0;t<e.children.length;t++)c(e.children[t]),e.children[t].type===`folder`&&(e.childCount+=e.children[t].childCount)};for(let e=0;e<i.length;e++)c(i[e]);return{nodes:i,expandedNodes:a}};self.onmessage=function(n){let r=n.data,i=r._requestId;if(r.action===`sortKeys`){let t=r.keys.sort(e());self.postMessage({_requestId:i,keys:t})}else if(r.action===`buildTree`){let e=t(r.keys,r.divider,r.keysInfo,r.savedExpandedNodes);self.postMessage({_requestId:i,...e})}}}function st(e){let{keys:t,divider:n,keysInfo:r}=e,i=e.savedExpandedNodes??[],a=[],o=[],s=(e,t=0,c=a)=>{let l=!1;if(t+1<e.length){for(let n of c)if(n.label===e[t]&&n.type===`folder`){l=n;break}}if(!l){let a={label:e[t],key:e.slice(0,t+1).join(n),children:[],childCount:0,type:t+1===e.length?`element`:`folder`};a.type===`element`&&r&&(a.keysInfo=r[a.key]),c.push(a),l=a;for(let e of i)e.key===l.key&&o.push(l)}t+1<e.length&&s(e,t+1,l.children)};for(let e of t)s(n===``?[e]:e.split(n));let c=e=>{e.childCount=0;for(let t of e.children)if(t.type===`element`){let n=t.keysInfo;n&&n.type!==`string`&&n.type!==`json`&&n.length!=null?e.childCount+=n.length:e.childCount+=1}for(let t of e.children)c(t),t.type===`folder`&&(e.childCount+=t.childCount)};for(let e of a)c(e);return{nodes:a,expandedNodes:o}}var ct=e(te()),lt=28,ut=20,dt={hash:`fas fa-hashtag`,list:`fas fa-list-ol`,set:`fas fa-list`,string:`fas fa-ellipsis-h`,zset:`fas fa-chart-line`,stream:`fas fa-stream`,json:`fas fa-code`,timeseries:`fas fa-chart-area`,bloom:`fas fa-filter`,cuckoo:`fas fa-filter`,topk:`fas fa-trophy`,cms:`fas fa-chart-simple`,tdigest:`fas fa-chart-bar`,vectorset:`fas fa-brain`,array:`fas fa-layer-group`};function ft({resizeSignal:e}){let t=_(e=>e.strings),n=I(e=>e.keysRaw),i=I(e=>e.keysInfo),a=I(e=>e.page),o=I(e=>e.search),s=I(e=>e.connection),c=P(e=>e.redisTreeDivider),l=r(),{confirm:u,toast:d,generalHandleError:f}=ue(),{refresh:p}=W(),m=s?.readonly===!0,g=c||`:`,v=()=>`p3xr-tree-expanded-${s?.id||`none`}-${I.getState().currentDatabase??0}`,[y,b]=(0,Y.useState)(()=>{try{let e=sessionStorage.getItem(v());return e?new Set(JSON.parse(e)):new Set}catch{return new Set}}),[S,C]=(0,Y.useState)(!1),[w,T]=(0,Y.useState)(null),[E,D]=(0,Y.useState)([]),[,te]=(0,Y.useState)(0),M=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{try{sessionStorage.setItem(v(),JSON.stringify([...y]))}catch{}},[y]);let ne=I(e=>e.currentDatabase);(0,Y.useEffect)(()=>{try{let e=sessionStorage.getItem(v());b(e?new Set(JSON.parse(e)):new Set)}catch{b(new Set)}},[s?.id,ne]),(0,Y.useEffect)(()=>{at({keys:F(),divider:g,keysInfo:i??{}}).then(({nodes:e})=>{D(e)})},[n,i,g,a,o]);let N=(0,Y.useMemo)(()=>{let e=[],t=(n,r)=>{for(let i of n)e.push({label:i.label,key:i.key,level:r,expandable:i.type===`folder`,type:i.type,childCount:i.childCount??0,keysInfo:i.keysInfo,_sourceNode:i}),i.type===`folder`&&y.has(i.key)&&i.children?.length>0&&t(i.children,r+1)};return t(E,0),e},[E,y]),re=j({count:N.length,getScrollElement:()=>M.current,estimateSize:()=>lt,overscan:10});(0,Y.useEffect)(()=>{re.measure()},[e]);let ie=(0,Y.useCallback)(e=>{b(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),ae=(0,Y.useCallback)(e=>{J(`database.key`,{key:e.key})},[]);(0,Y.useEffect)(()=>_e(`key-new`,e=>{T({type:`add`,node:e?.node}),C(!0)}),[]);let oe=(0,Y.useCallback)(async e=>{C(!1),T(null),e?.key&&(await W.getState().refresh({withoutParent:!1,force:!0}),J(`database.key`,{key:e.key}))},[]);(0,Y.useEffect)(()=>{let e=[K(`expand-all`,()=>{let e=new Set,t=n=>{for(let r of n)r.type===`folder`&&(e.add(r.key),t(r.children??[]))};t(E),b(e)}),K(`collapse-all`,()=>{b(new Set)}),...[1,2,3,4,5].map(e=>K(`expand-level-${e}`,()=>{let t=new Set,n=(r,i)=>{for(let a of r)a.type===`folder`&&(i<e&&t.add(a.key),n(a.children??[],i+1))};n(E,0),b(t)}))];return()=>e.forEach(e=>e())},[E]),(0,Y.useEffect)(()=>{let e,t=()=>{let n=1/0,r=!1,i=I.getState().keysInfoFetchedAt??Date.now(),a=Date.now();for(let e of N){if(e.type===`folder`)continue;let t=e.keysInfo?.ttl;if(!t||t<=0)continue;let o=t-Math.floor((a-i)/1e3);o<=0?r=!0:o<n&&(n=o)}if(r){p(),e=setTimeout(t,3e3);return}te(e=>e+1);let o;o=n<=30?1e3:n<=300?5e3:3e4,e=setTimeout(t,o)};return e=setTimeout(t,1e3),()=>clearTimeout(e)},[N]);let se=(0,Y.useCallback)(e=>{let t=e.keysInfo?.ttl;if(!t||t<=0)return-1;let n=I.getState().keysInfoFetchedAt??Date.now(),r=t-Math.floor((Date.now()-n)/1e3);return r>0?r:-1},[]),L=(0,Y.useCallback)(e=>{if(e<=0)return``;let t=P.getState().getHumanizeDurationOptions();return(0,ct.default)(e*1e3,{...t,largest:2,round:!0,delimiter:` `})},[]),R=(0,Y.useCallback)(e=>e<=0?``:e<300?`#f44336`:e<3600?`#ff9800`:`#4caf50`,[]),z=(0,Y.useCallback)(e=>e>0&&e<30,[]),ce=(0,Y.useCallback)(async(e,n)=>{e.preventDefault(),e.stopPropagation();try{await u({message:t?.confirm?.deleteKey}),await G({action:`key/delete`,payload:{key:n}}),J(`database.statistics`),d(typeof t?.status?.deletedKey==`function`?t.status.deletedKey({key:n}):``),await p()}catch(e){f(e)}},[t,u,d,p,f]),B=(0,Y.useCallback)(async(e,n)=>{e.stopPropagation();try{await u({message:typeof t?.confirm?.deleteAllKeys==`function`?t.confirm.deleteAllKeys({key:n.key}):``}),await G({action:`key/del-tree`,payload:{key:n.key,redisTreeDivider:g}}),d(typeof t?.status?.treeDeleted==`function`?t.status.treeDeleted({key:n.key}):``),await p()}catch(e){f(e)}},[t,g,u,d,p,f]),V=(0,Y.useCallback)((e,t)=>{e.stopPropagation(),W.getState().addKey({event:e.nativeEvent,node:t._sourceNode??{key:t.key}})},[]),H=(0,Y.useCallback)(e=>e.type!==`folder`&&e.keysInfo?(t?.redisTypes?.[e.keysInfo.type]??e.keysInfo.type)+` - `+e.key:e.key,[t]),U=(0,X.jsx)(A,{open:S,data:w,onClose:oe});return N.length===0?(0,X.jsxs)(h,{sx:{p:1,opacity:.5,fontSize:13},children:[t?.label?.noKeys,U]}):(0,X.jsxs)(h,{ref:M,sx:{height:`100%`,width:`100%`,overflow:`auto`},children:[(0,X.jsx)(h,{sx:{height:re.getTotalSize(),width:`100%`,position:`relative`},children:re.getVirtualItems().map(e=>{let n=N[e.index],r=se(n),i=R(r),a=z(r);return(0,X.jsxs)(h,{"data-p3xr-tree-key":n.type===`folder`?``:n.key,sx:{position:`absolute`,top:0,left:0,width:`100%`,height:lt,transform:`translateY(${e.start}px)`,display:`flex`,alignItems:`center`,whiteSpace:`nowrap`,cursor:`default`,pl:`${n.level*ut+4}px`,"&:hover .tree-actions":{visibility:`visible`},"&:hover .p3xr-database-tree-node-label":{backgroundColor:`action.hover`}},children:[n.expandable&&(0,X.jsx)(h,{component:`span`,onClick:e=>{e.stopPropagation(),ie(n.key)},sx:{display:`inline-block`,fontFamily:`'Font Awesome 5 Free'`,fontWeight:900,fontSize:24,lineHeight:`28px`,width:28,textAlign:`center`,mr:`4px`,cursor:`pointer`,color:l.p3xr.treeBranchColor,"&::before":{content:y.has(n.key)?`"\\f07c"`:`"\\f07b"`}}}),(0,X.jsx)(x,{title:H(n),placement:`right`,enterDelay:500,slotProps:{popper:{sx:{ml:`36px !important`}}},children:(0,X.jsxs)(h,{component:`label`,className:`p3xr-database-tree-node`,onClick:()=>n.expandable?ie(n.key):ae(n),sx:{cursor:`pointer`,display:`inline-flex`,alignItems:`center`,height:lt,whiteSpace:`nowrap`},children:[n.type!==`folder`&&n.keysInfo&&dt[n.keysInfo.type]&&(0,X.jsx)(`i`,{className:dt[n.keysInfo.type],"aria-hidden":`true`,style:{display:`inline-block`,width:28,textAlign:`center`,marginRight:4,fontSize:14}}),(0,X.jsx)(`span`,{className:`p3xr-database-tree-node-label`,children:n.label}),n.type===`folder`&&(0,X.jsxs)(`span`,{style:{opacity:.5,marginLeft:4},children:[g,`* `,(0,X.jsxs)(`span`,{children:[`(`,n.childCount,`)`]})]}),n.type!==`folder`&&n.keysInfo?.type!==`string`&&n.keysInfo?.type!==`json`&&n.keysInfo&&(0,X.jsxs)(`span`,{style:{opacity:.5,marginLeft:4},children:[`(`,n.keysInfo.length,`)`]})]})}),n.type!==`folder`&&r>0&&(0,X.jsx)(x,{title:`TTL: ${L(r)}`,placement:`right`,enterDelay:300,slotProps:{popper:{sx:{ml:`36px !important`}}},children:(0,X.jsx)(h,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,ml:`4px`,animation:a?`p3xr-ttl-pulse 1s infinite`:`none`,"@keyframes p3xr-ttl-pulse":{"0%, 100%":{opacity:.7},"50%":{opacity:1}}},children:(0,X.jsx)(k,{sx:{fontSize:16,color:i}})})}),!m&&(0,X.jsxs)(h,{component:`span`,className:`tree-actions`,sx:{display:`inline-flex`,alignItems:`center`,visibility:`hidden`,height:lt,position:`relative`,top:-1},children:[n.type===`folder`?(0,X.jsx)(x,{title:typeof t?.confirm?.deleteAllKeys==`function`?t.confirm.deleteAllKeys({key:n.key}):``,placement:`right`,enterDelay:300,slotProps:{popper:{sx:{ml:`36px !important`}}},children:(0,X.jsx)(O,{onClick:e=>B(e,n),sx:{fontSize:`18px !important`,width:18,height:18,cursor:`pointer`,color:`error.main`}})}):(0,X.jsx)(x,{title:t?.intention?.delete,placement:`right`,enterDelay:300,slotProps:{popper:{sx:{ml:`36px !important`}}},children:(0,X.jsx)(O,{onClick:e=>ce(e,n.key),sx:{fontSize:`18px !important`,width:18,height:18,cursor:`pointer`,color:`error.main`}})}),(0,X.jsx)(x,{title:t?.intention?.addKey,placement:`right`,enterDelay:300,slotProps:{popper:{sx:{ml:`36px !important`}}},children:(0,X.jsx)(ee,{onClick:e=>V(e,n),sx:{fontSize:`18px !important`,width:18,height:18,cursor:`pointer`,color:l.p3xr.commonWarnColor}})})]})]},`${n.type}-${n.key}`)})}),U]})}var $=315,pt=`p3xr-database-panel-width`;function mt(){let e=I(e=>e.connection),t=I(e=>e.setCurrentPage),n=r(),i=V(`(max-width: 599px)`),a=!!e,[o,s]=(0,Y.useState)(()=>{let e=localStorage.getItem(pt);if(e){let t=parseInt(e,10);if(!isNaN(t)&&t>=$)return t}return $}),[c,l]=(0,Y.useState)(!1),[u,d]=(0,Y.useState)(!1),f=(0,Y.useRef)(null),p=(0,Y.useRef)(null),m=(0,Y.useCallback)(e=>{let t=p.current;t||(t=document.createElement(`style`),t.setAttribute(`data-p3xr-database-drag`,``),document.head.appendChild(t),p.current=t),t.textContent=`*, *::before, *::after { cursor: ${e} !important; }`},[]),g=(0,Y.useCallback)(()=>{p.current?.remove(),p.current=null},[]);(0,Y.useEffect)(()=>{t(`database`)},[t]),(0,Y.useEffect)(()=>{if(!e)return;let t=location.pathname.replace(/^\/react/,``);(t===`/database`||t===`/database/`)&&J(`database.statistics`)},[e]);let _=(0,Y.useCallback)(e=>{e.preventDefault(),l(!0),m(`ew-resize`),document.body.classList.add(`p3xr-not-selectable`)},[m]);(0,Y.useEffect)(()=>{if(!c)return;let e=$,t=t=>{let n=f.current;if(!n)return;let r=n.getBoundingClientRect(),i=t.clientX-r.left;if(i<$||i>r.width-$){m(`not-allowed`);return}m(`ew-resize`),e=i,s(i)},n=()=>{l(!1),g(),document.body.classList.remove(`p3xr-not-selectable`),e>=$&&localStorage.setItem(pt,String(e))};return document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n),()=>{document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n)}},[c,m,g]);let v=n.palette.mode===`dark`,y=c?v?`brightness(1.6)`:`brightness(0.7)`:u?v?`brightness(1.3)`:`brightness(0.85)`:`none`;return(0,X.jsxs)(h,{sx:{borderRadius:`4px`,border:`1px solid`,borderColor:n.p3xr?.accordionBg,overflow:`hidden`,flex:1,minHeight:0,display:`flex`,flexDirection:`column`},children:[(0,X.jsx)(Ze,{}),(0,X.jsx)(h,{sx:{flex:1,minHeight:0,bgcolor:`background.paper`,color:`text.primary`,overflow:`hidden`,position:`relative`,display:`flex`,flexDirection:`column`},children:a&&(i?(0,X.jsxs)(h,{sx:{display:`flex`,flexDirection:`column`,minHeight:`100%`,overflowX:`hidden`},children:[(0,X.jsx)(h,{sx:{flex:1},children:(0,X.jsx)(tt,{})}),(0,X.jsx)(h,{sx:{flex:`1 1 auto`,minHeight:100,height:`20vh`,overflowY:`auto`,overflowX:`auto`},children:(0,X.jsx)(ft,{})}),(0,X.jsx)(h,{sx:{flex:1},children:(0,X.jsx)(B,{})})]}):(0,X.jsx)(h,{ref:f,sx:{display:`flex`,flexDirection:`column`,flex:1,minHeight:0,userSelect:c?`none`:void 0},children:(0,X.jsxs)(h,{sx:{display:`flex`,flex:1,minHeight:0,overflow:`hidden`},children:[(0,X.jsxs)(h,{sx:{width:o,minWidth:$,flexShrink:0,display:`flex`,flexDirection:`column`,overflow:`hidden`},children:[(0,X.jsx)(tt,{}),(0,X.jsx)(h,{sx:{flex:1,minHeight:0,overflow:`hidden`},children:(0,X.jsx)(ft,{})})]}),(0,X.jsx)(h,{onMouseDown:_,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),sx:{width:5,flexShrink:0,cursor:`ew-resize`,bgcolor:n.p3xr?.accordionBg,filter:y,transition:`filter 0.15s ease`,zIndex:8}}),(0,X.jsx)(h,{sx:{flex:1,overflow:`auto`},children:(0,X.jsx)(B,{})})]})}))})]})}export{mt as default};