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 • 1.94 kB
import{B as e,C as t,D as n,I as r,Jt as i,K as a,M as o,Nt as s,Y as c,Z as l,Zt as u,_t as d,k as f,lt as p,q as m,rt as h,w as g,y as _}from"./i18n.store-Bkc9i0ZB.js";import{t as v}from"./_plugin-vue_export-helper-BZ1AqotW.js";r(),s(),p();var y={class:`p3xr-hex-monitor`},b={class:`p3xr-hex-addr`},x={class:`p3xr-hex-bytes`},S={class:`p3xr-hex-dim`},C={class:`p3xr-hex-ascii`},w={class:`p3xr-hex-dim`},T=v(o({__name:`HexMonitor`,props:{value:{}},setup(r){let o=r,s=d(),p=d(),v=d(0),T=null,E=t(()=>{if(!o.value)return[];let e=new TextEncoder().encode(o.value),t=[];for(let n=0;n<e.length;n+=16){let r=e.slice(n,n+16),i=r.length,a=n.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)t.push({addr:a,hexReal:l,hexPad:``,asciiReal:u,asciiPad:``});else{let e=i<=8?3*i-1:25+3*(i-8)-1;t.push({addr:a,hexReal:l.substring(0,e),hexPad:l.substring(e),asciiReal:u.substring(0,i),asciiPad:u.substring(i)})}}return t});function D(){s.value&&(v.value=s.value.scrollWidth)}function O(){s.value&&p.value&&(s.value.scrollLeft=p.value.scrollLeft)}return a(()=>{D(),s.value&&(T=new ResizeObserver(()=>D()),T.observe(s.value))}),h(()=>o.value,()=>e(D)),m(()=>{T?.disconnect()}),(e,t)=>(c(),n(`div`,y,[g(`div`,{ref_key:`contentRef`,ref:s,class:`p3xr-hex-content`},[(c(!0),n(_,null,l(E.value,e=>(c(),n(`div`,{key:e.addr,class:`p3xr-hex-line`},[g(`span`,b,u(e.addr),1),g(`span`,x,[f(u(e.hexReal),1),g(`span`,S,u(e.hexPad),1)]),g(`span`,C,[f(u(e.asciiReal),1),g(`span`,w,u(e.asciiPad),1)])]))),128))],512),g(`div`,{ref_key:`scrollbarRef`,ref:p,class:`p3xr-hex-scrollbar`,onScroll:O},[g(`div`,{style:i({height:`1px`,width:v.value+`px`})},null,4)],544)]))}}),[[`__scopeId`,`data-v-448d088f`]]);export{T as t};