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

1 lines • 36.7 kB
import{i as e}from"./chunk-62oNxeRG.js";import{$ as t,B as n,E as r,H as i,M as a,O as o,S as s,T as c,V as l,a as u,b as d,m as f,t as p,w as m,x as h}from"./Box-BaSrhk2N.js";import{n as g,o as _}from"./i18n.store-DddRY7Ub.js";import{_ as v,c as y,h as b,n as x,r as S,t as C}from"./KeyboardArrowDown-DRnBl6aB.js";import{n as w,t as T}from"./useMediaQuery-Ow4vREJD.js";import{C as E,n as D,r as O,v as k,y as A}from"./TextField-CqJ7jHNF.js";import{t as j}from"./createSimplePaletteValueFilter-CS4iIFa3.js";import{l as ee,n as M,o as N,t as P}from"./esm-BHS_Z9K8.js";import{a as F,i as I,n as te,t as L}from"./Delete-CP6_9peX.js";import{t as ne}from"./Divider-BKbyRhME.js";import{a as R,i as z,r as B}from"./main-command.store-igXkbxKx.js";import{t as V}from"./Save-VGmu59Jp.js";import{t as re}from"./DeleteSweep-Ca0fDqZz.js";import{i as ie,n as ae,r as oe,t as se}from"./SkipPrevious-DQqgpwJ1.js";import{t as ce}from"./KeyboardArrowUp-w9Rk1ukG.js";import{t as H}from"./Refresh-ZqRU9xtj.js";import{i as U,n as W,r as G,t as K}from"./redis-state.store-BAzm-x3w.js";import{n as le,r as ue,t as de}from"./common.store-CndSqFlu.js";import{t as fe}from"./overlay.store-BfandeAM.js";import{r as q}from"./socket.service-5KD-6c7U.js";import{E as J,S as pe,i as me,l as he,u as ge,v as _e}from"./index-B1JaIwjF.js";import{t as ve}from"./TreeSettingsDialog-yQ-TueNa.js";var ye=E;function be(e){return l(`MuiFormGroup`,e)}n(`MuiFormGroup`,[`root`,`row`,`error`]);var Y=e(_(),1),X=t(),xe=e=>{let{classes:t,row:n,error:r}=e;return a({root:[`root`,n&&`row`,r&&`error`]},be,t)},Se=c(`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=h({props:e,name:`MuiFormGroup`}),{className:r,row:a=!1,...o}=n,[s]=A({props:n,states:[`error`]}),c={...n,row:a,error:s.error};return(0,X.jsx)(Se,{className:i(xe(c).root,r),ownerState:c,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=c(`span`,{name:`MuiRadioButtonIcon`,shouldForwardProp:r})({position:`relative`,display:`flex`}),Z=c(we,{name:`MuiRadioButtonIcon`})({transform:`scale(1)`}),De=c(Te,{name:`MuiRadioButtonIcon`})(s(({theme:e})=>({left:0,position:`absolute`,transform:`scale(0)`,transition:e.transitions.create(`transform`,{easing:e.transitions.easing.easeIn,duration:e.transitions.duration.shortest}),variants:[{props:{checked:!0},style:{transform:`scale(1)`,transition:e.transitions.create(`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=Y.createContext(void 0);function Ae(){return Y.useContext(ke)}function je(e){return l(`MuiRadio`,e)}var Me=n(`MuiRadio`,[`root`,`checked`,`disabled`,`colorPrimary`,`colorSecondary`,`sizeSmall`]),Ne=e=>{let{classes:t,color:n,size:r}=e,i={root:[`root`,`color${m(n)}`,r!==`medium`&&`size${m(r)}`]};return{...t,...a(i,je,t)}},Pe=c(F,{shouldForwardProp:e=>r(e)||e===`classes`,name:`MuiRadio`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.size!==`medium`&&t[`size${m(n.size)}`],t[`color${m(n.color)}`]]}})(s(({theme:e})=>({color:(e.vars||e).palette.text.secondary,[`&.${Me.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(j()).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(j()).map(([t])=>({props:{color:t,disabled:!1},style:{[`&.${Me.checked}`]:{color:(e.vars||e).palette[t].main}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:`transparent`}}}}]})));function Fe(e,t){return typeof t==`object`&&t?e===t:String(e)===String(t)}var Ie=(0,X.jsx)(Oe,{checked:!0}),Le=(0,X.jsx)(Oe,{}),Re=Y.forwardRef(function(e,t){let n=h({props:e,name:`MuiRadio`}),{checked:r,checkedIcon:a=Ie,color:o=`primary`,icon:s=Le,name:c,onChange:l,size:d=`medium`,className:f,disabled:p,disableRipple:m=!1,slots:g={},slotProps:_={},...v}=n,y=k(),b=p;y&&b===void 0&&(b=y.disabled),b??=!1;let x={...n,disabled:b,disableRipple:m,color:o,size:d},S=Ne(x),C=Ae(),w=r,T=ye(l,C&&C.onChange),E=c;C&&(w===void 0&&(w=Fe(C.value,n.value)),E===void 0&&(E=C.name));let D=_.input,[O,A]=u(`root`,{ref:t,elementType:Pe,className:i(S.root,f),shouldForwardComponentProp:!0,externalForwardedProps:{slots:g,slotProps:_,...v},getSlotProps:e=>({...e,onChange:(t,...n)=>{e.onChange?.(t,...n),T(t,...n)}}),ownerState:x,additionalProps:{type:`radio`,icon:Y.cloneElement(s,{fontSize:s.props.fontSize??d}),checkedIcon:Y.cloneElement(a,{fontSize:a.props.fontSize??d}),disabled:b,name:E,checked:w,slots:g,slotProps:{input:typeof D==`function`?D(x):D}}});return(0,X.jsx)(O,{...A,classes:S})});function ze(e){return l(`MuiRadioGroup`,e)}n(`MuiRadioGroup`,[`root`,`row`,`error`]);var Be=e=>{let{classes:t,row:n,error:r}=e;return a({root:[`root`,n&&`row`,r&&`error`]},ze,t)},Ve=Y.forwardRef(function(e,t){let{actions:n,children:r,className:a,defaultValue:o,name:s,onChange:c,value:l,...u}=e,d=Y.useRef(null),p=Be(e),[m,h]=b({controlled:l,default:o,name:`RadioGroup`});Y.useImperativeHandle(n,()=>({focus:()=>{let e=d.current.querySelector(`input:not(:disabled):checked`);e||=d.current.querySelector(`input:not(:disabled)`),e&&e.focus()}}),[]);let g=f(t,d),_=v(s),y=Y.useMemo(()=>({name:_,onChange(e){h(e.target.value),c&&c(e,e.target.value)},value:m}),[_,c,h,m]);return(0,X.jsx)(ke.Provider,{value:y,children:(0,X.jsx)(Ce,{role:`radiogroup`,ref:g,className:i(p.root,a),...u,children:r})})}),He=d((0,X.jsx)(`path`,{d:`m7 10 5 5 5-5z`}),`ArrowDropDown`),Ue=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`),We=d((0,X.jsx)(`path`,{d:`M19 9h-4V3H9v6H5l7 7zM5 18v2h14v-2z`}),`FileDownload`),Ge=d((0,X.jsx)(`path`,{d:`M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z`}),`FileUpload`),Ke=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`),qe=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`),Je=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`),Ye=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 Xe(){let e=g(e=>e.strings),t=G(e=>e.connection),n=G(e=>e.currentDatabase),r=G(e=>e.databaseIndexes),i=G(e=>e.info),{selectDatabase:a,save:s,statistics:c,refresh:l}=z(),u=o(),d=T(`(max-width: 599px)`),f=T(`(min-width: 720px)`),m=t?.readonly===!0,h=t?.cluster===!0,_=!!t,v=i?.keyspaceDatabases||{},b=e=>!!v[e];return _?(0,X.jsx)(x,{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)(p,{sx:{display:`flex`,alignItems:`center`,width:`100%`,height:48},children:[!d&&(0,X.jsx)(p,{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}),!h&&r.length>0&&(0,X.jsxs)(p,{sx:{display:`flex`,alignItems:`center`,mr:1},children:[(0,X.jsx)(p,{component:`span`,sx:{fontSize:14,fontWeight:`bold`,mr:`2px`},children:`DB:`}),(0,X.jsx)(D,{size:`small`,value:n??0,onChange:e=>a(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)(p,{sx:{display:`flex`,alignItems:`center`,gap:`4px`},children:[b(e)?(0,X.jsx)(qe,{sx:{fontSize:18}}):(0,X.jsx)(Je,{sx:{fontSize:18}}),e]}),children:r.map(e=>(0,X.jsxs)(J,{value:e,sx:{display:`flex`,alignItems:`center`,gap:`4px`},children:[b(e)?(0,X.jsx)(qe,{sx:{fontSize:18}}):(0,X.jsx)(Je,{sx:{fontSize:18}}),e]},e))})]}),!m&&(f?(0,X.jsxs)(w,{sx:{color:`inherit`},onClick:()=>s(),children:[(0,X.jsx)(V,{sx:{mr:`4px`},fontSize:`small`}),(0,X.jsx)(`span`,{children:e?.intention?.save})]}):(0,X.jsx)(S,{title:e?.intention?.save,placement:`below`,children:(0,X.jsx)(y,{sx:{color:`inherit`},onClick:()=>s(),children:(0,X.jsx)(V,{fontSize:`small`})})})),f?(0,X.jsxs)(w,{sx:{color:`inherit`},onClick:()=>c(),children:[(0,X.jsx)(Ye,{sx:{mr:`4px`},fontSize:`small`}),(0,X.jsx)(`span`,{children:e?.intention?.statistics})]}):(0,X.jsx)(S,{title:e?.intention?.statistics,placement:`below`,children:(0,X.jsx)(y,{sx:{color:`inherit`},onClick:()=>c(),children:(0,X.jsx)(Ye,{fontSize:`small`})})}),f?(0,X.jsxs)(w,{sx:{color:`inherit`},onClick:()=>l(),children:[(0,X.jsx)(H,{sx:{mr:`4px`},fontSize:`small`}),(0,X.jsx)(`span`,{children:e?.intention?.refresh})]}):(0,X.jsx)(S,{title:e?.intention?.refresh,placement:`below`,children:(0,X.jsx)(y,{sx:{color:`inherit`},onClick:()=>l(),children:(0,X.jsx)(H,{fontSize:`small`})})})]})}):null}function Ze({keys:e}){let t=g(e=>e.strings),n=o(),r=(0,Y.useRef)(null),i=P({count:e.length,getScrollElement:()=>r.current,estimateSize:()=>40,overscan:10});return(0,X.jsx)(p,{ref:r,sx:{height:300,overflow:`auto`},children:(0,X.jsx)(p,{sx:{height:i.getTotalSize(),width:`100%`,position:`relative`},children:i.getVirtualItems().map(r=>{let i=e[r.index];return(0,X.jsxs)(p,{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)(p,{sx:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontFamily:`'Roboto Mono', monospace`,fontSize:13},children:i.key}),(0,X.jsx)(p,{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 Qe({open:e,data:t,onClose:n}){let r=g(e=>e.strings),i=T(`(min-width: 600px)`),[a,o]=(0,Y.useState)(`overwrite`);if(!e||!t)return null;let s=t.keys??[];return(0,X.jsxs)(me,{open:!0,onClose:()=>n(null),title:r?.intention?.importKeys,actions:(0,X.jsxs)(X.Fragment,{children:[i?(0,X.jsxs)(w,{variant:`contained`,color:`error`,size:`small`,onClick:()=>n(null),children:[(0,X.jsx)(_e,{fontSize:`small`}),(0,X.jsx)(`span`,{style:{marginLeft:3},children:r?.intention?.cancel})]}):(0,X.jsx)(S,{title:r?.intention?.cancel,placement:`top`,children:(0,X.jsx)(w,{variant:`contained`,color:`error`,size:`small`,onClick:()=>n(null),sx:{minWidth:40,width:40,height:36,p:0},children:(0,X.jsx)(_e,{fontSize:`small`})})}),(0,X.jsxs)(w,{variant:`contained`,color:`primary`,size:`small`,onClick:()=>n({pending:!0,keys:s,conflictMode:a}),children:[(0,X.jsx)(Ge,{fontSize:`small`}),(0,X.jsx)(`span`,{style:{marginLeft:3},children:r?.intention?.importKeys})]})]}),children:[(0,X.jsxs)(p,{sx:{mb:2},children:[(0,X.jsx)(`strong`,{children:r?.label?.importPreview}),(0,X.jsxs)(p,{component:`span`,sx:{opacity:.7,ml:1},children:[`(`,s.length,`)`]})]}),(0,X.jsx)(Ze,{keys:s}),(0,X.jsxs)(p,{sx:{mt:2},children:[(0,X.jsx)(p,{sx:{mb:1,fontWeight:500},children:r?.label?.importConflict}),(0,X.jsxs)(Ve,{row:!0,value:a,onChange:(e,t)=>o(t),children:[(0,X.jsx)(I,{value:`overwrite`,control:(0,X.jsx)(Re,{}),label:r?.label?.importOverwrite}),(0,X.jsx)(I,{value:`skip`,control:(0,X.jsx)(Re,{}),label:r?.label?.importSkip})]})]})]})}var $e={p:0,width:24,height:24,minWidth:24,minHeight:24,borderRadius:`50%`};function et(){let e=g(e=>e.strings),t=G(e=>e.keysRaw),n=G(e=>e.search),r=G(e=>e.page),i=G(e=>e.cfg),a=G(e=>e.connection),s=U(e=>e.redisTreeDivider),c=U(e=>e.searchClientSide);U(e=>e.pageCount);let{toast:l,generalHandleError:u}=ue(),{refresh:d,addKey:f}=z(),m=fe(),h=o(),_={...$e,color:h.p3xr.treecontrolIconColor},v={...$e,color:h.palette.primary.main},b={boxSizing:`border-box`,borderStyle:`solid`,borderWidth:2,margin:1,borderColor:h.p3xr.inputBorderColor,background:h.p3xr.inputBg,color:h.p3xr.inputColor,outline:`none`,fontFamily:`'Roboto Mono', monospace`,fontSize:12},x={...b,padding:0},w={...b,padding:3},T=a?.readonly===!0,E=Array.isArray(t)?t.length:0,D=Array.isArray(i?.treeDividers)?i.treeDividers:[],k=K(),[A,j]=(0,Y.useState)(n||``),[ee,M]=(0,Y.useState)(s||`:`),[N,P]=(0,Y.useState)(r||1),F=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{j(n||``)},[n]),(0,Y.useEffect)(()=>{M(s||`:`)},[s]),(0,Y.useEffect)(()=>{P(r||1)},[r]);let[I,L]=(0,Y.useState)(null),[R,B]=(0,Y.useState)(null),[V,W]=(0,Y.useState)(null),[le,pe]=(0,Y.useState)(!1),[me,_e]=(0,Y.useState)(!1),[ye,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()=>{G.setState({search:A,page:1}),c&&G.setState({redisChanged:!0}),await d()},[A,c,d]),we=(0,Y.useCallback)(async()=>{j(``),G.setState({search:``,page:1}),c&&G.setState({redisChanged:!0}),await d()},[c,d]),Te=(0,Y.useCallback)(e=>{M(e),U.getState().setSetting(`p3xr-main-treecontrol-divider`,e),clearTimeout(F.current),F.current=setTimeout(()=>{G.setState({redisChanged:!0})},666)},[]),Ee=(0,Y.useCallback)(e=>{M(e),U.getState().setSetting(`p3xr-main-treecontrol-divider`,e),G.setState({redisChanged:!0}),B(null)},[]),Z=(0,Y.useCallback)(e=>{let t=G.getState().page??1,n=K(),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}P(r),G.setState({page:r,redisChanged:!0})},[]),De=(0,Y.useCallback)(e=>{let t=parseInt(e.target.value,10),n=K(),r=isNaN(t)?1:Math.max(1,Math.min(n,t));P(r),G.setState({page:r,redisChanged:!0})},[]),Oe=(0,Y.useCallback)(e=>{L(null),setTimeout(()=>de(`expand-level-`+e))},[]),ke=(0,Y.useCallback)(()=>{de(`expand-all`),L(null)},[]),Ae=(0,Y.useCallback)(()=>{de(`collapse-all`)},[]),je=(0,Y.useCallback)(async()=>{if(W(null),!Array.isArray(t)||t.length===0){l(e?.label?.noKeysToExport);return}try{m.show({message:e?.label?.exportProgress});let n=await q({action:`key/export`,payload:{keys:t}}),r=JSON.stringify(n.data,null,2),i=new Blob([r],{type:`application/json`}),o=URL.createObjectURL(i),s=document.createElement(`a`);s.href=o,s.download=`${a?.name||`redis`}-db${G.getState().currentDatabase??0}-export.json`,s.click(),URL.revokeObjectURL(o),l(e?.status?.exportDone)}catch(e){u(e)}finally{m.hide()}},[t,a,e,l,u,m]),Me=(0,Y.useCallback)(()=>{W(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),_e(!0)}catch(e){e!=null&&u(e)}},r.readAsText(n)},t.click()},[e,l,u]),Ne=(0,Y.useCallback)(async t=>{if(_e(!1),be(null),t?.pending)try{m.show({message:e?.label?.importProgress});let n=(await q({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{m.hide()}},[e,l,d,u,m]),Pe=(0,Y.useMemo)(()=>{if(A.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,A,E]),Fe=(0,Y.useMemo)(()=>{if(A.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,A,E]),Ie=(0,Y.useCallback)(async()=>{W(null);let t=U.getState().searchStartsWith,n;n=A.length>0?t?A+`*`:`*`+A+`*`:`*`;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}),m.show({message:e?.label?.deletingSearchKeys});let i=(await q({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{m.hide()}},[A,E,e,l,d,u,m]);return(0,X.jsxs)(p,{sx:{minHeight:24},children:[(0,X.jsxs)(p,{sx:{display:`flex`,alignItems:`center`,flexWrap:`wrap`,minHeight:31},children:[(0,X.jsx)(S,{title:e?.intention?.extend,placement:`top`,enterDelay:300,children:(0,X.jsx)(y,{size:`small`,sx:v,onClick:e=>L(e.currentTarget),children:(0,X.jsx)(C,{fontSize:`small`})})}),(0,X.jsxs)(O,{anchorEl:I,open:!!I,onClose:()=>L(null),children:[[1,2,3,4,5].map(t=>(0,X.jsxs)(J,{onClick:()=>Oe(t),children:[e?.page?.treeControls?.level,` `,t]},t)),(0,X.jsx)(ne,{}),(0,X.jsx)(J,{onClick:ke,children:e?.page?.treeControls?.expandAll})]}),(0,X.jsx)(S,{title:e?.page?.treeControls?.collapseAll,placement:`top`,enterDelay:300,children:(0,X.jsx)(y,{size:`small`,sx:_,onClick:Ae,children:(0,X.jsx)(ce,{fontSize:`small`})})}),(0,X.jsx)(S,{title:e?.intention?.refresh,placement:`top`,enterDelay:300,children:(0,X.jsx)(y,{size:`small`,sx:_,onClick:()=>d(),children:(0,X.jsx)(H,{fontSize:`small`})})}),(0,X.jsx)(S,{title:e?.form?.treeSettings?.label?.formName,placement:`top`,enterDelay:300,children:(0,X.jsx)(y,{size:`small`,sx:_,onClick:()=>pe(!0),children:(0,X.jsx)(he,{fontSize:`small`})})}),(0,X.jsx)(ve,{open:le,onClose:()=>pe(!1)}),(0,X.jsx)(Qe,{open:me,data:ye,onClose:Ne}),(0,X.jsx)(S,{title:e?.form?.treeSettings?.field?.treeSeparator,placement:`top`,enterDelay:300,children:(0,X.jsx)(`input`,{value:ee,onChange:e=>Te(e.target.value),style:{...x,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)(S,{title:e?.form?.treeSettings?.field?.treeSeparatorSelector,placement:`top`,enterDelay:300,children:(0,X.jsx)(y,{size:`small`,sx:{..._,width:14},onClick:e=>B(e.currentTarget),children:(0,X.jsx)(He,{sx:{fontSize:18}})})}),(0,X.jsx)(O,{anchorEl:R,open:!!R,onClose:()=>B(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)(J,{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))})]}),k>1?(0,X.jsx)(S,{title:xe,placement:`top`,enterDelay:300,children:(0,X.jsxs)(p,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,whiteSpace:`nowrap`,ml:`2px`},children:[(0,X.jsx)(S,{title:e?.page?.treeControls?.pager?.first,enterDelay:300,children:(0,X.jsx)(y,{size:`small`,sx:v,onClick:()=>Z(`first`),children:(0,X.jsx)(se,{sx:{fontSize:18}})})}),(0,X.jsx)(S,{title:e?.page?.treeControls?.pager?.prev,enterDelay:300,children:(0,X.jsx)(y,{size:`small`,sx:_,onClick:()=>Z(`prev`),children:(0,X.jsx)(ie,{sx:{fontSize:18}})})}),(0,X.jsx)(`input`,{type:`number`,step:1,min:1,max:k,value:N,onChange:De,className:`p3xr-pager-input`,style:{...x,width:32,height:20,textAlign:`center`,MozAppearance:`textfield`}}),(0,X.jsxs)(`span`,{style:{fontSize:12,fontFamily:`'Roboto Mono', monospace`},children:[`/ `,k]}),(0,X.jsx)(S,{title:e?.page?.treeControls?.pager?.next,enterDelay:300,children:(0,X.jsx)(y,{size:`small`,sx:_,onClick:()=>Z(`next`),children:(0,X.jsx)(oe,{sx:{fontSize:18}})})}),(0,X.jsx)(S,{title:e?.page?.treeControls?.pager?.last,enterDelay:300,children:(0,X.jsx)(y,{size:`small`,sx:v,onClick:()=>Z(`last`),children:(0,X.jsx)(ae,{sx:{fontSize:18}})})})]})}):(0,X.jsxs)(p,{component:`span`,sx:{ml:`auto`,opacity:.5,fontSize:12},children:[xe,`\xA0`]})]}),(0,X.jsxs)(p,{sx:{clear:`both`,p:`5px`,textAlign:`left`,lineHeight:`24px`,display:`flex`,alignItems:`center`,gap:.5},children:[(0,X.jsx)(`input`,{placeholder:Se,value:A,onChange:e=>j(e.target.value),onKeyDown:e=>{e.key===`Enter`&&Ce()},style:{...w,flex:1,minWidth:0,verticalAlign:`middle`}}),(0,X.jsx)(S,{title:e?.page?.treeControls?.search?.search,placement:`top`,enterDelay:300,children:(0,X.jsx)(y,{size:`small`,sx:v,onClick:Ce,children:(0,X.jsx)(ge,{fontSize:`small`})})}),A.length>0&&(0,X.jsx)(S,{title:e?.page?.treeControls?.search?.clear,placement:`top`,enterDelay:300,children:(0,X.jsx)(y,{size:`small`,sx:v,onClick:we,children:(0,X.jsx)(Ue,{fontSize:`small`})})}),!T&&(0,X.jsx)(S,{title:e?.intention?.addKeyRoot,placement:`top`,enterDelay:300,children:(0,X.jsx)(te,{onClick:e=>f({event:e.nativeEvent}),sx:{fontSize:24,cursor:`pointer`,color:h.p3xr.commonWarnColor}})}),(0,X.jsx)(y,{size:`small`,sx:_,onClick:e=>W(e.currentTarget),children:(0,X.jsx)(Ke,{fontSize:`small`})}),(0,X.jsxs)(O,{anchorEl:V,open:!!V,onClose:()=>W(null),children:[(0,X.jsxs)(J,{onClick:je,children:[(0,X.jsx)(We,{sx:{mr:1},fontSize:`small`}),Fe]}),A.length>0&&(0,X.jsx)(p,{sx:{px:2,pb:1,fontSize:11,opacity:.5,fontStyle:`italic`,pointerEvents:`none`,lineHeight:1.3},children:e?.label?.exportSearchHint}),!T&&(0,X.jsxs)(J,{onClick:Me,children:[(0,X.jsx)(Ge,{sx:{mr:1},fontSize:`small`}),e?.intention?.importKeys]}),!T&&A.length>0&&(0,X.jsx)(p,{sx:{px:2,pb:1,fontSize:11,opacity:.5,fontStyle:`italic`,pointerEvents:`none`,lineHeight:1.3},children:e?.label?.importSearchHint}),!T&&(0,X.jsx)(ne,{}),!T&&(0,X.jsxs)(J,{onClick:Ie,children:[(0,X.jsx)(re,{sx:{mr:1,color:`warning.main`},fontSize:`small`}),Pe]}),!T&&A.length>0&&(0,X.jsx)(p,{sx:{px:2,pb:1,fontSize:11,opacity:.5,fontStyle:`italic`,pointerEvents:`none`,lineHeight:1.3},children:e?.label?.deleteSearchHint})]})]})]})}var Q=null,tt=0,nt=new Map;function rt(){try{let e=new Blob([`(${at.toString()})()`],{type:`application/javascript`});Q=new Worker(URL.createObjectURL(e)),Q.onmessage=e=>{let{_requestId:t,...n}=e.data,r=nt.get(t);r&&(nt.delete(t),r(n))},Q.onerror=()=>{Q=null}}catch{Q=null}}rt();function it(e){if(Q){let t=++tt;return new Promise(n=>{nt.set(t,n),Q.postMessage({_requestId:t,action:`buildTree`,keys:e.keys,divider:e.divider,keysInfo:e.keysInfo,savedExpandedNodes:e.savedExpandedNodes??[]})})}return Promise.resolve(ot(e))}function at(){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 ot(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 st=e(N()),ct=28,lt=20,ut={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`};function dt({resizeSignal:e}){let t=g(e=>e.strings),n=G(e=>e.keysRaw),r=G(e=>e.keysInfo),i=G(e=>e.page),a=G(e=>e.search),s=G(e=>e.connection),c=U(e=>e.redisTreeDivider),l=o(),{confirm:u,toast:d,generalHandleError:f}=ue(),{refresh:m}=z(),h=s?.readonly===!0,_=c||`:`,v=()=>`p3xr-tree-expanded-${s?.id||`none`}-${G.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}}),[x,C]=(0,Y.useState)(!1),[w,T]=(0,Y.useState)(null),[E,D]=(0,Y.useState)([]),[,O]=(0,Y.useState)(0),k=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{try{sessionStorage.setItem(v(),JSON.stringify([...y]))}catch{}},[y]);let A=G(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,A]),(0,Y.useEffect)(()=>{it({keys:W(),divider:_,keysInfo:r??{}}).then(({nodes:e})=>{D(e)})},[n,r,_,i,a]);let j=(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]),N=P({count:j.length,getScrollElement:()=>k.current,estimateSize:()=>ct,overscan:10});(0,Y.useEffect)(()=>{N.measure()},[e]);let F=(0,Y.useCallback)(e=>{b(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),I=(0,Y.useCallback)(e=>{R(`database.key`,{key:e.key})},[]);(0,Y.useEffect)(()=>B(`key-new`,e=>{T({type:`add`,node:e?.node}),C(!0)}),[]);let ne=(0,Y.useCallback)(async e=>{C(!1),T(null),e?.key&&(await z.getState().refresh({withoutParent:!1,force:!0}),R(`database.key`,{key:e.key}))},[]);(0,Y.useEffect)(()=>{let e=[le(`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)}),le(`collapse-all`,()=>{b(new Set)}),...[1,2,3,4,5].map(e=>le(`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=G.getState().keysInfoFetchedAt??Date.now(),a=Date.now();for(let e of j){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){m(),e=setTimeout(t,3e3);return}O(e=>e+1);let o;o=n<=30?1e3:n<=300?5e3:3e4,e=setTimeout(t,o)};return e=setTimeout(t,1e3),()=>clearTimeout(e)},[j]);let V=(0,Y.useCallback)(e=>{let t=e.keysInfo?.ttl;if(!t||t<=0)return-1;let n=G.getState().keysInfoFetchedAt??Date.now(),r=t-Math.floor((Date.now()-n)/1e3);return r>0?r:-1},[]),re=(0,Y.useCallback)(e=>{if(e<=0)return``;let t=U.getState().getHumanizeDurationOptions();return(0,st.default)(e*1e3,{...t,largest:2,round:!0,delimiter:` `})},[]),ie=(0,Y.useCallback)(e=>e<=0?``:e<300?`#f44336`:e<3600?`#ff9800`:`#4caf50`,[]),ae=(0,Y.useCallback)(e=>e>0&&e<30,[]),oe=(0,Y.useCallback)(async(e,n)=>{e.preventDefault(),e.stopPropagation();try{await u({message:t?.confirm?.deleteKey}),await q({action:`key/delete`,payload:{key:n}}),R(`database.statistics`),d(typeof t?.status?.deletedKey==`function`?t.status.deletedKey({key:n}):``),await m()}catch(e){f(e)}},[t,u,d,m,f]),se=(0,Y.useCallback)(async(e,n)=>{e.stopPropagation();try{await u({message:typeof t?.confirm?.deleteAllKeys==`function`?t.confirm.deleteAllKeys({key:n.key}):``}),await q({action:`key/del-tree`,payload:{key:n.key,redisTreeDivider:_}}),d(typeof t?.status?.treeDeleted==`function`?t.status.treeDeleted({key:n.key}):``),await m()}catch(e){f(e)}},[t,_,u,d,m,f]),ce=(0,Y.useCallback)((e,t)=>{e.stopPropagation(),z.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]),K=(0,X.jsx)(M,{open:x,data:w,onClose:ne});return j.length===0?(0,X.jsxs)(p,{sx:{p:1,opacity:.5,fontSize:13},children:[t?.label?.noKeys,K]}):(0,X.jsxs)(p,{ref:k,sx:{height:`100%`,width:`100%`,overflow:`auto`},children:[(0,X.jsx)(p,{sx:{height:N.getTotalSize(),width:`100%`,position:`relative`},children:N.getVirtualItems().map(e=>{let n=j[e.index],r=V(n),i=ie(r),a=ae(r);return(0,X.jsxs)(p,{"data-p3xr-tree-key":n.type===`folder`?``:n.key,sx:{position:`absolute`,top:0,left:0,width:`100%`,height:ct,transform:`translateY(${e.start}px)`,display:`flex`,alignItems:`center`,whiteSpace:`nowrap`,cursor:`default`,pl:`${n.level*lt+4}px`,"&:hover .tree-actions":{visibility:`visible`},"&:hover .p3xr-database-tree-node-label":{backgroundColor:`action.hover`}},children:[n.expandable&&(0,X.jsx)(p,{component:`span`,onClick:e=>{e.stopPropagation(),F(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)(S,{title:H(n),placement:`right`,enterDelay:500,slotProps:{popper:{sx:{ml:`36px !important`}}},children:(0,X.jsxs)(p,{component:`label`,className:`p3xr-database-tree-node`,onClick:()=>n.expandable?F(n.key):I(n),sx:{cursor:`pointer`,display:`inline-flex`,alignItems:`center`,height:ct,whiteSpace:`nowrap`},children:[n.type!==`folder`&&n.keysInfo&&ut[n.keysInfo.type]&&(0,X.jsx)(`i`,{className:ut[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:[_,`* `,(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)(S,{title:`TTL: ${re(r)}`,placement:`right`,enterDelay:300,slotProps:{popper:{sx:{ml:`36px !important`}}},children:(0,X.jsx)(p,{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)(ee,{sx:{fontSize:16,color:i}})})}),!h&&(0,X.jsxs)(p,{component:`span`,className:`tree-actions`,sx:{display:`inline-flex`,alignItems:`center`,visibility:`hidden`,height:ct,position:`relative`,top:-1},children:[n.type===`folder`?(0,X.jsx)(S,{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)(L,{onClick:e=>se(e,n),sx:{fontSize:`18px !important`,width:18,height:18,cursor:`pointer`,color:`error.main`}})}):(0,X.jsx)(S,{title:t?.intention?.delete,placement:`right`,enterDelay:300,slotProps:{popper:{sx:{ml:`36px !important`}}},children:(0,X.jsx)(L,{onClick:e=>oe(e,n.key),sx:{fontSize:`18px !important`,width:18,height:18,cursor:`pointer`,color:`error.main`}})}),(0,X.jsx)(S,{title:t?.intention?.addKey,placement:`right`,enterDelay:300,slotProps:{popper:{sx:{ml:`36px !important`}}},children:(0,X.jsx)(te,{onClick:e=>ce(e,n),sx:{fontSize:`18px !important`,width:18,height:18,cursor:`pointer`,color:l.p3xr.commonWarnColor}})})]})]},`${n.type}-${n.key}`)})}),K]})}var $=315,ft=`p3xr-database-panel-width`;function pt(){let e=G(e=>e.connection),t=G(e=>e.setCurrentPage),n=o(),r=T(`(max-width: 599px)`),i=!!e,[a,s]=(0,Y.useState)(()=>{let e=localStorage.getItem(ft);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),m=(0,Y.useRef)(null),h=(0,Y.useCallback)(e=>{let t=m.current;t||(t=document.createElement(`style`),t.setAttribute(`data-p3xr-database-drag`,``),document.head.appendChild(t),m.current=t),t.textContent=`*, *::before, *::after { cursor: ${e} !important; }`},[]),g=(0,Y.useCallback)(()=>{m.current?.remove(),m.current=null},[]);(0,Y.useEffect)(()=>{t(`database`)},[t]),(0,Y.useEffect)(()=>{if(!e)return;let t=location.pathname.replace(/^\/react/,``);(t===`/database`||t===`/database/`)&&R(`database.statistics`)},[e]);let _=(0,Y.useCallback)(e=>{e.preventDefault(),l(!0),h(`ew-resize`),document.body.classList.add(`p3xr-not-selectable`)},[h]);(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-$){h(`not-allowed`);return}h(`ew-resize`),e=i,s(i)},n=()=>{l(!1),g(),document.body.classList.remove(`p3xr-not-selectable`),e>=$&&localStorage.setItem(ft,String(e))};return document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n),()=>{document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n)}},[c,h,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)(p,{sx:{borderRadius:`4px`,border:`1px solid`,borderColor:n.p3xr?.accordionBg,overflow:`hidden`,flex:1,minHeight:0,display:`flex`,flexDirection:`column`},children:[(0,X.jsx)(Xe,{}),(0,X.jsx)(p,{sx:{flex:1,minHeight:0,bgcolor:`background.paper`,color:`text.primary`,overflow:`hidden`,position:`relative`,display:`flex`,flexDirection:`column`},children:i&&(r?(0,X.jsxs)(p,{sx:{display:`flex`,flexDirection:`column`,minHeight:`100%`,overflowX:`hidden`},children:[(0,X.jsx)(p,{sx:{flex:1},children:(0,X.jsx)(et,{})}),(0,X.jsx)(p,{sx:{flex:`1 1 auto`,minHeight:100,height:`20vh`,overflowY:`auto`,overflowX:`auto`},children:(0,X.jsx)(dt,{})}),(0,X.jsx)(p,{sx:{flex:1},children:(0,X.jsx)(pe,{})})]}):(0,X.jsx)(p,{ref:f,sx:{display:`flex`,flexDirection:`column`,flex:1,minHeight:0,userSelect:c?`none`:void 0},children:(0,X.jsxs)(p,{sx:{display:`flex`,flex:1,minHeight:0,overflow:`hidden`},children:[(0,X.jsxs)(p,{sx:{width:a,minWidth:$,flexShrink:0,display:`flex`,flexDirection:`column`,overflow:`hidden`},children:[(0,X.jsx)(et,{}),(0,X.jsx)(p,{sx:{flex:1,minHeight:0,overflow:`hidden`},children:(0,X.jsx)(dt,{})})]}),(0,X.jsx)(p,{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)(p,{sx:{flex:1,overflow:`auto`},children:(0,X.jsx)(pe,{})})]})}))})]})}export{pt as default};