@cyber-harbour/ui 2.0.18 → 2.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- 'use strict';var chunkVNWHAGSI_js=require('./chunk-VNWHAGSI.js'),Ht=require('styled-components'),jsxRuntime=require('react/jsx-runtime'),ot=require('react'),_t=require('lodash.clonedeep'),d3=require('d3'),$t=require('react-content-loader'),yr=require('mammoth'),reactSyntaxHighlighter=require('react-syntax-highlighter'),prism=require('react-syntax-highlighter/dist/esm/styles/prism');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Ht__default=/*#__PURE__*/_interopDefault(Ht);var ot__default=/*#__PURE__*/_interopDefault(ot);var _t__default=/*#__PURE__*/_interopDefault(_t);var $t__default=/*#__PURE__*/_interopDefault($t);var yr__default=/*#__PURE__*/_interopDefault(yr);var ei=chunkVNWHAGSI_js.a(({children:u,className:h})=>jsxRuntime.jsx(Tt,{className:h,children:u}),"PageLayout"),Tt=Ht.styled.div`
1
+ 'use strict';var chunkT4EQUM6E_js=require('./chunk-T4EQUM6E.js'),Ht=require('styled-components'),jsxRuntime=require('react/jsx-runtime'),ot=require('react'),_t=require('lodash.clonedeep'),d3=require('d3'),$t=require('react-content-loader'),yr=require('mammoth'),reactSyntaxHighlighter=require('react-syntax-highlighter'),prism=require('react-syntax-highlighter/dist/esm/styles/prism');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Ht__default=/*#__PURE__*/_interopDefault(Ht);var ot__default=/*#__PURE__*/_interopDefault(ot);var _t__default=/*#__PURE__*/_interopDefault(_t);var $t__default=/*#__PURE__*/_interopDefault($t);var yr__default=/*#__PURE__*/_interopDefault(yr);var ei=chunkT4EQUM6E_js.a(({children:u,className:h})=>jsxRuntime.jsx(Tt,{className:h,children:u}),"PageLayout"),Tt=Ht.styled.div`
2
2
  display: grid;
3
3
  min-height: 100dvh;
4
4
  position: relative;
@@ -9,11 +9,11 @@
9
9
  & > header {
10
10
  grid-area: header;
11
11
  }
12
- `;var ai=chunkVNWHAGSI_js.a(({children:u,className:h})=>jsxRuntime.jsx(jt,{className:h,children:u}),"PageContent"),jt=Ht.styled.main`
12
+ `;var ai=chunkT4EQUM6E_js.a(({children:u,className:h})=>jsxRuntime.jsx(jt,{className:h,children:u}),"PageContent"),jt=Ht.styled.main`
13
13
  grid-area: content;
14
14
  min-width: 0;
15
15
  background: ${({theme:u})=>u.colors.backgroundBase};
16
- `;var hi=chunkVNWHAGSI_js.a(({children:u,className:h,top:b=0})=>jsxRuntime.jsx(zt,{className:h,$top:b,onClick:N=>N.stopPropagation(),children:u}),"SubNav"),zt=Ht.styled.div(({theme:u,$top:h})=>`
16
+ `;var hi=chunkT4EQUM6E_js.a(({children:u,className:h,top:b=0})=>jsxRuntime.jsx(zt,{className:h,$top:b,onClick:N=>N.stopPropagation(),children:u}),"SubNav"),zt=Ht.styled.div(({theme:u,$top:h})=>`
17
17
  display: flex;
18
18
  flex-direction: column;
19
19
  justify-content: space-between;
@@ -33,35 +33,35 @@
33
33
  position: sticky;
34
34
  border-right: 1px solid ${u.colors.stroke.light};
35
35
  }
36
- `);var Pi=chunkVNWHAGSI_js.w(({maxWidth:u,...h})=>jsxRuntime.jsx(Ot,{...h,$maxWidth:u})),Ot=chunkVNWHAGSI_js.x(Ht.styled.div(({theme:u,$maxWidth:h,px:b=20})=>`
37
- ${chunkVNWHAGSI_js.u(u,"padding-inline",b)}
36
+ `);var Pi=chunkT4EQUM6E_js.w(({maxWidth:u,...h})=>jsxRuntime.jsx(Ot,{...h,$maxWidth:u})),Ot=chunkT4EQUM6E_js.x(Ht.styled.div(({theme:u,$maxWidth:h,px:b=20})=>`
37
+ ${chunkT4EQUM6E_js.u(u,"padding-inline",b)}
38
38
  width: 100%;
39
39
  min-width: 0;
40
- max-width: ${typeof h=="number"?chunkVNWHAGSI_js.c(h,u.baseSize):h||"100%"};
40
+ max-width: ${typeof h=="number"?chunkT4EQUM6E_js.c(h,u.baseSize):h||"100%"};
41
41
  `),{ignoreStyles:["padding-inline"]});var Wt=Ht__default.default.div`
42
42
  width: 100%;
43
43
  height: 100%;
44
44
  display: flex;
45
45
  align-items: center;
46
46
  justify-content: center;
47
- `,Yt=chunkVNWHAGSI_js.a(({width:u=280,height:h=280})=>{let b=Ht.useTheme();return jsxRuntime.jsx(Wt,{children:jsxRuntime.jsxs($t__default.default,{foregroundColor:b.contentLoader.foreground,backgroundColor:b.contentLoader.background,width:u,height:h,viewBox:"0 0 280 280",children:[jsxRuntime.jsx("path",{d:"m55 38-0.97266 0.22852 7.0801 30.092-18.355-20.979-0.75195 0.6582 19.596 22.395 0.43164 1.834 0.97266-0.22852 0.75195-0.6582-0.37695-0.42969 9.625-27.912-0.94531-0.32617-9.4375 27.371-0.10547-0.12109zm8 34-0.78516 0.61914 0.0957 0.12305-12.311 13.258 0.73242 0.67969 12.205-13.145 14.277 18.084 0.78516-0.61914-14.373-18.207 0.10547-0.11328zm15 19-0.48438 0.875 46.992 25.996 8e-3 4e-3 20.506 11.592-28.182 4.5449 0.15998 0.98819 29.418-4.7441 0.25 0.14062-12.555 24.143 0.88672 0.46094 13-25 15 25 26 30v18l-11 18 0.85352 0.52148 9.8008-16.039-4.6543 33.518 0.99023 0.13867 4.7793-34.408 7.2305 16.27 0.91406-0.40625-7.9141-17.807v-17.104l18 12.316 0.56445-0.82617-18.896-12.928-25.855-29.836-14.633-24.387 0.01562-0.02344h23.805v-1h-23.152l13.848-21.234 55.201-28.791-0.45898-0.88476 0.77734 0.62305 11.402-14.25 16.668-11.842-0.58008-0.81641-16.785 11.928-11.486 14.355-55.434 28.912-14.277 21.893-7.7617-27.166-0.96094 0.27344 7.7227 27.031-1.1191 0.17969-21.604-12.211zm140.43-12.912-6.957-17.338-0.92773 0.37305 6.957 17.338zm-6.957-17.338 0.72266 0.69336 16.232-16.896-0.7207-0.69336zm-3.4766 137.25 5 15 0.94922-0.31641-5-15zm-91-63-0.48047-0.87695-31 17 0.48047 0.87695zm-31 17 5 18 0.96289-0.26758-5-18zm0 0-0.70703-0.70703-12.898 12.898-17.881 9.9336 0.48633 0.875 18-10zm5 18-0.64062-0.76758-18 15 0.64062 0.76758z"}),jsxRuntime.jsx("circle",{cx:"229.92",cy:"63.7318",r:"5",transform:"rotate(173.661 229.92 63.7318)"}),jsxRuntime.jsx("circle",{cx:"227.711",cy:"43.8541",r:"5",transform:"rotate(173.661 227.711 43.8541)"}),jsxRuntime.jsx("circle",{cx:"211.478",cy:"60.7499",r:"5",transform:"rotate(173.661 211.478 60.7499)"}),jsxRuntime.jsx("circle",{cx:"218.434",cy:"78.0877",r:"5",transform:"rotate(173.661 218.434 78.0877)"}),jsxRuntime.jsx("circle",{cx:"246.705",cy:"51.8054",r:"5",transform:"rotate(173.661 246.705 51.8054)"}),jsxRuntime.jsx("circle",{cx:"42",cy:"48",r:"5"}),jsxRuntime.jsx("circle",{cx:"55",cy:"38",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"43",r:"5"}),jsxRuntime.jsx("circle",{cx:"63",cy:"72",r:"5"}),jsxRuntime.jsx("circle",{cx:"50",cy:"86",r:"5"}),jsxRuntime.jsx("circle",{cx:"78",cy:"91",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"165",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"185",r:"5"}),jsxRuntime.jsx("circle",{cx:"91",cy:"170",r:"5"}),jsxRuntime.jsx("circle",{cx:"86",cy:"152",r:"5"}),jsxRuntime.jsx("circle",{cx:"148",cy:"130",r:"5"}),jsxRuntime.jsx("circle",{cx:"189",cy:"185",r:"5"}),jsxRuntime.jsx("circle",{cx:"163",cy:"107",r:"5"}),jsxRuntime.jsx("circle",{cx:"140",cy:"102",r:"5"}),jsxRuntime.jsx("circle",{cx:"117",cy:"135",r:"5"}),jsxRuntime.jsx("circle",{cx:"125",cy:"117",r:"5"}),jsxRuntime.jsx("circle",{cx:"208",cy:"198",r:"5"}),jsxRuntime.jsx("circle",{cx:"189",cy:"203",r:"5"}),jsxRuntime.jsx("circle",{cx:"198",cy:"221",r:"5"}),jsxRuntime.jsx("circle",{cx:"178",cy:"221",r:"5"}),jsxRuntime.jsx("circle",{cx:"184",cy:"239",r:"5"}),jsxRuntime.jsx("circle",{cx:"213",cy:"213",r:"5"}),jsxRuntime.jsx("circle",{cx:"173",cy:"130",r:"5"}),jsxRuntime.jsx("circle",{cx:"163",cy:"155",r:"5"}),jsxRuntime.jsx("circle",{cx:"135",cy:"155",r:"5"}),jsxRuntime.jsx("circle",{cx:"55",cy:"175",r:"5"})]})})},"GraphLoader"),et=Yt;var be=typeof window<"u"&&window.devicePixelRatio||1;function sr(u){return !u||u.length===0?[]:u.map(h=>{let b=new Image;b.src=h.img;let N=new Image;return N.src=h.hoverImg,{...h,normalImg:b,hoverImg:N}})}chunkVNWHAGSI_js.a(sr,"prepareButtonImages");var I={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},cr=ot.forwardRef(({loading:u,width:h,height:b,graphData:N,buttons:P=[],onNodeClick:k,onBackgroundClick:v,onNodeHover:B,onLinkHover:H,onLinkClick:$},Y)=>{let D=Ht.useTheme(),[q,ae]=ot.useState(true),t=ot.useRef({transform:{x:0,y:0,k:1},isPanning:false,hoveredNode:null,hoveredLink:null,draggedNode:null,selectedNode:null,hoveredButtonIndex:null,highlightNodes:new Set,highlightLinks:new Set,lastMousePos:{x:0,y:0},mustBeStoppedPropagation:false,mouseStartPos:null,isDragging:false,width:h*be,height:b*be,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:V,links:te}=ot.useMemo(()=>_t__default.default(N),[N]),[X,xt]=ot.useState([]),E=ot.useRef(null),S=ot.useRef(null),se=ot.useRef(null),kt=d3.scaleOrdinal(d3.schemeCategory10),St=ot.useCallback(()=>{if(!E.current)return false;try{let e=E.current.getContext("2d");return e?(se.current=e,!0):(console.error("Failed to get 2D context"),!1)}catch(e){return console.error("Error initializing Canvas 2D context:",e),false}},[]),U=ot.useCallback(()=>S.current?S.current.nodes():null,[]),ce=ot.useCallback(()=>{if(!S.current)return null;let e=S.current.force("link");return e?e.links():null},[]),je=ot.useCallback(e=>{e.save(),e.setTransform(1,0,0,1,0,0);let{width:n,height:r}=t.current,o=I.gridSpacing,i=I.dotSize;e.fillStyle=D.graph2D.grid.dotColor;for(let c=o/2;c<=n;c+=o)for(let a=o/2;a<=r;a+=o)e.beginPath(),e.arc(c,a,i,0,2*Math.PI),e.fill();e.restore();},[D.graph2D.grid.dotColor,I.gridSpacing,I.dotSize]),Nt=ot.useCallback((e,n,r)=>{if(!e)return "";if(r.measureText(e).width<=n)return e;let i=e,c="...";for(;r.measureText(i+c).width>n&&i.length>0;)i=i.slice(0,-1);return i+c},[]),we=chunkVNWHAGSI_js.a(e=>{let r=Math.min(e,I.maxZoom)/I.maxZoom;return Math.max(I.fontSize*r,I.fontSize)},"calculateFontSize"),Re=ot.useCallback(e=>{let n=ce(),r=U();!n||n.length===0||!r||r.length===0||(e.lineWidth=.5,e.globalAlpha=1,n.forEach(o=>{let i=typeof o.source=="object"?o.source:r.find(Z=>Z.id===o.source),c=typeof o.target=="object"?o.target:r.find(Z=>Z.id===o.target);if(!i||!c)return;let a={x:i.x||0,y:i.y||0},s={x:c.x||0,y:c.y||0},d=s.x-a.x,f=s.y-a.y,p=Math.sqrt(d*d+f*f),M=d/p,w=f/p,z=I.nodeSizeBase/2,T=I.nodeSizeBase/2,j=4,l={x:a.x+M*z,y:a.y+w*z},y={x:s.x-M*(T+j),y:s.y-w*(T+j)},g={x:s.x-M*(T+1),y:s.y-w*(T+1)},F=t.current.highlightLinks.has(o),R=F?D.graph2D.link.highlighted:D.graph2D.link.normal,O=F?1.5:.5,W=a.x+(s.x-a.x)/2,K=a.y+(s.y-a.y)/2,J=Math.atan2(f,d);if(o.label){let Z=t.current.transform.k,Q=we(Z);e.font=`${Q}px Sans-Serif`;let We=e.measureText(o.label).width,Ye=10;e.beginPath(),e.moveTo(l.x,l.y);let Ge=p/2-(We+Ye)/2,qe={x:a.x+M*Ge,y:a.y+w*Ge};e.lineTo(qe.x,qe.y),e.strokeStyle=R,e.lineWidth=O,e.stroke(),e.beginPath();let Ue=p/2+(We+Ye)/2,Ve={x:a.x+M*Ue,y:a.y+w*Ue};e.moveTo(Ve.x,Ve.y),e.lineTo(y.x,y.y),e.strokeStyle=R,e.lineWidth=O,e.stroke();}else e.beginPath(),e.moveTo(l.x,l.y),e.lineTo(y.x,y.y),e.strokeStyle=R,e.lineWidth=O,e.stroke();let oe=2;if(e.save(),e.translate(g.x,g.y),e.rotate(J),e.beginPath(),e.moveTo(0,0),e.lineTo(-4,oe),e.lineTo(-4,0),e.lineTo(-4,-2),e.closePath(),e.fillStyle=R,e.fill(),e.restore(),o.label){let Z=t.current.transform.k,Q=we(Z);e.font=`${Q}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.save(),e.translate(W,K),Math.abs(J)>Math.PI/2?e.rotate(J+Math.PI):e.rotate(J),e.fillStyle=F?D.graph2D.link.highlightedTextColor:D.graph2D.link.textColor,e.fillText(o.label,0,0),e.restore();}}));},[I,D.graph2D.link]),Ee=chunkVNWHAGSI_js.a((e,n,r,o,i,c,a)=>{try{if(c!=null){let s=i*.8;e.font=`${s}px sans-serif`,e.textBaseline="middle",e.textAlign="left";let d=new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0,compactDisplay:"short"}).format(c),f=e.measureText(d).width,p=i*.3,w=(i+p+f)/2;e.drawImage(n,r-w,o-i/2,i,i),e.fillStyle=a||"#99989C",e.fillText(d,r-w+i+p,o);}else e.drawImage(n,r-i/2,o-i/2,i,i);}catch(s){console.warn("Error rendering icon:",s);}},"drawIconWithOptionalCounter"),ze=ot.useCallback((e,n)=>{if(!X||X.length===0||!e||!e.x||!e.y)return;let{x:r,y:o}=e,i=I.nodeSizeBase*I.nodeAreaFactor/2;n.save();let c=Math.min(X.length,8),a=Math.min(Math.PI*2/c,Math.PI);for(let s=0;s<c;s++){let d=s*a,f=(s+1)*a,p=t.current.hoveredButtonIndex===s;n.beginPath(),n.arc(r,o,i,d,f,false),n.lineTo(r,o),n.closePath(),n.lineWidth=1,n.strokeStyle=D.graph2D?.button?.stroke||"#FFFFFF",n.stroke(),n.fillStyle=p?D.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":D.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",n.fill();let M=i*.2,w=(d+f)/2,z=i-I.nodeSizeBase/2+M,T=r+Math.cos(w)*z,j=o+Math.sin(w)*z,l=X[s];if(l.loading){let y=M/2,g=M/12;n.save(),n.translate(T,j),n.rotate(t.current.spinnerAngle);for(let F=0;F<12;F++){let R=Math.PI*2*F/12,O=F/12,W=Math.cos(R)*y,K=Math.sin(R)*y;n.beginPath(),n.fillStyle=chunkVNWHAGSI_js.l(D.graph2D?.button?.spinnerColor,O),n.arc(W,K,g,0,Math.PI*2),n.fill();}n.restore(),t.current.spinnerAngle+=.1,t.current.spinnerAngle>Math.PI*2&&(t.current.spinnerAngle-=Math.PI*2),t.current.animation.id!==null&&(cancelAnimationFrame(t.current.animation.id),t.current.animation.id=null,t.current.animation.buttonIndex=null),t.current.animation.id=requestAnimationFrame(A),t.current.animation.buttonIndex=s;}else {t.current.animation.id&&t.current.animation.buttonIndex===s&&(cancelAnimationFrame(t.current.animation.id),t.current.animation.id=null,t.current.animation.buttonIndex=null);let y=p?l.hoverImg:l.normalImg,g=l.getCount?l.getCount(e):null;y.complete?Ee(n,y,T,j,M,g,D.graph2D?.button?.textColor):y.onload=()=>{se.current&&Ee(n,y,T,j,M,g,D.graph2D?.button?.textColor);};}}n.restore();},[X,D.graph2D?.button]),Fe=ot.useCallback(e=>{let n=U();!n||n.length===0||(e.globalAlpha=1,n.forEach(r=>{let{x:o,y:i,color:c,fontColor:a,label:s}=r,d=t.current.highlightNodes.has(r)||r===t.current.hoveredNode||r===t.current.draggedNode,f=r===t.current.selectedNode,p=I.nodeSizeBase,M=I.nodeSizeBase/2;if(d&&!f){let w=I.nodeSizeBase*I.nodeAreaFactor*.75/2;e.beginPath(),e.arc(o,i,w,0,2*Math.PI,false),e.fillStyle=D.graph2D.ring.highlightFill,e.fill();}if(f)if(P&&P.length>0)ze(r,e);else {let w=I.nodeSizeBase*I.nodeAreaFactor/2;e.beginPath(),e.arc(o,i,w,0,2*Math.PI,false),e.fillStyle=D.graph2D.ring.selectionFill||D.graph2D.ring.highlightFill,e.fill();}if(e.beginPath(),e.arc(o,i,M,0,2*Math.PI),e.fillStyle=c||kt(r.group||"0"),e.fill(),s){e.save(),e.translate(o,i);let w=t.current.transform.k,z=we(w),T=p*I.textPaddingFactor;e.font=`${z}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle=a||"#000";let j=Nt(s,T,e);e.fillText(j,0,0),e.restore();}}));},[D.graph2D.ring,P,ze]),A=ot.useCallback(()=>{let e=se.current;e&&(e.clearRect(0,0,t.current.width,t.current.height),je(e),e.save(),e.setTransform(t.current.transform.k,0,0,t.current.transform.k,t.current.transform.x,t.current.transform.y),Re(e),Fe(e),e.restore());},[Re,Fe,je]),Be=ot.useCallback((e,n=[],r)=>{let o=ce()||[],i=U()||[];if(!S.current||!e.length)return;let{width:c,height:a}=t.current,s=r?.smoothAppearance??false,d=r?.transitionDuration??1e3,f=new Set(i.map(l=>l.id)),p=e.filter(l=>!f.has(l.id)),M=new Set(o.map(l=>`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`)),w=n.filter(l=>{let y=`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`;return !M.has(y)});if(p.length===0&&w.length===0)return;let z=[...i,...p],T=[...o,...w];s&&(p.forEach(l=>{let y=w.filter(g=>{let F=typeof g.source=="object"?g.source.id:g.source,R=typeof g.target=="object"?g.target.id:g.target;return F===l.id&&f.has(R)||R===l.id&&f.has(F)});if(y.length>0){let g=y[0],F=typeof g.source=="object"?g.source.id===l.id?g.target:g.source.id:g.source===l.id?g.target:g.source,R=z.find(O=>O.id===F);if(R&&R.x!==void 0&&R.y!==void 0){let O=30+Math.random()*20,W=Math.random()*Math.PI*2;l.x=R.x+Math.cos(W)*O,l.y=R.y+Math.sin(W)*O,l.vx=0,l.vy=0;}}else {let g=c/2,F=a/2,R=Math.min(c,a)/4,O=Math.random()*Math.PI*2;l.x=g+Math.cos(O)*(R*Math.random()),l.y=F+Math.sin(O)*(R*Math.random()),l.vx=0,l.vy=0;}}),i.forEach(l=>{l.fx=l.x,l.fy=l.y;})),S.current.nodes(z);let j=S.current.force("link");j&&j.links(T),w.forEach(l=>{let y=typeof l.source=="object"?l.source:z.find(F=>F.id===l.source),g=typeof l.target=="object"?l.target:z.find(F=>F.id===l.target);!y||!g||(!y.neighbors&&(y.neighbors=[]),!g.neighbors&&(g.neighbors=[]),y.neighbors.push(g),g.neighbors.push(y),!y.links&&(y.links=[]),!g.links&&(g.links=[]),y.links.push(l),g.links.push(l));}),s?(S.current.alphaTarget(.3),S.current.alpha(.3),S.current.velocityDecay(.7),S.current.restart(),setTimeout(()=>{i.forEach(l=>{l.fx=void 0,l.fy=void 0;}),S.current?.alphaTarget(0),S.current?.alpha(.1),S.current?.velocityDecay(.6);},d)):S.current.alpha(.1).restart(),A();},[V,A]),Oe=ot.useCallback(e=>{let n=U(),r=ce();if(!S.current||!e.length||!n||n.length===0||!r||r.length===0)return;let o=new Set(e);if(t.current.selectedNode&&t.current.selectedNode.id!==void 0&&o.has(t.current.selectedNode.id)&&(t.current.selectedNode=null),t.current.hoveredNode&&t.current.hoveredNode.id!==void 0&&o.has(t.current.hoveredNode.id)&&(t.current.hoveredNode=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set),t.current.hoveredLink){let s=typeof t.current.hoveredLink.source=="object"?t.current.hoveredLink.source.id:t.current.hoveredLink.source,d=typeof t.current.hoveredLink.target=="object"?t.current.hoveredLink.target.id:t.current.hoveredLink.target;(s!==void 0&&o.has(s)||d!==void 0&&o.has(d))&&(t.current.hoveredLink=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set);}t.current.draggedNode&&t.current.draggedNode.id!==void 0&&o.has(t.current.draggedNode.id)&&(t.current.draggedNode=null);let i=n.filter(s=>s.id!==void 0&&!o.has(s.id)),c=r.filter(s=>{let d=typeof s.source=="object"?s.source.id:s.source,f=typeof s.target=="object"?s.target.id:s.target;return d!==void 0&&!o.has(d)&&f!==void 0&&!o.has(f)});i.forEach(s=>{s.neighbors=[],s.links=[];}),c.forEach(s=>{let d=typeof s.source=="object"?s.source:i.find(p=>p.id===s.source),f=typeof s.target=="object"?s.target:i.find(p=>p.id===s.target);!d||!f||(d.neighbors=d.neighbors||[],f.neighbors=f.neighbors||[],d.neighbors.push(f),f.neighbors.push(d),d.links=d.links||[],f.links=f.links||[],d.links.push(s),f.links.push(s));}),S.current.nodes(i);let a=S.current.force("link");a&&a.links(c),A();},[A]),le=ot.useCallback((e=0,n=20)=>{let r=U();if(!se.current||!E.current||!r||!r.length)return;let i=1/0,c=1/0,a=-1/0,s=-1/0;if(r.forEach(d=>{if(d.x===void 0||d.y===void 0)return;let f=d.x,p=d.y;i=Math.min(i,f),c=Math.min(c,p),a=Math.max(a,f),s=Math.max(s,p);}),isFinite(i)&&isFinite(a)&&isFinite(c)&&isFinite(s)){let{width:d,height:f}=t.current;i-=n,c-=n,a+=n,s+=n;let p=a-i,M=s-c,w=p>0?d/p:1,z=M>0?f/M:1,T=Math.min(w,z,10),j=i+p/2,l=c+M/2,y={k:T,x:d/2-j*T,y:f/2-l*T};if(e>0){let g={...t.current.transform},F=Date.now(),R=chunkVNWHAGSI_js.a(()=>{let O=Math.min(1,(Date.now()-F)/e),W=O===1?1:1-Math.pow(1-O,3),K={k:g.k+(y.k-g.k)*W,x:g.x+(y.x-g.x)*W,y:g.y+(y.y-g.y)*W};t.current.transform=K,A(),O<1&&requestAnimationFrame(R);},"animateZoom");requestAnimationFrame(R);}else t.current.transform=y,A();}},[]),de=ot.useCallback((e,n)=>{let r=U();if(!r||r.length===0)return null;let o=I.nodeSizeBase/2,i=typeof window<"u"&&window.devicePixelRatio||1,c=(e*i-t.current.transform.x)/t.current.transform.k,a=(n*i-t.current.transform.y)/t.current.transform.k;return r.find(s=>{let d=(s.x||0)-c,f=(s.y||0)-a;return Math.sqrt(d*d+f*f)<=o})||null},[]),ue=ot.useCallback((e,n)=>{let r=ce(),o=U();if(!r||r.length===0||!o||o.length===0)return null;let i=typeof window<"u"&&window.devicePixelRatio||1,c=(e*i-t.current.transform.x)/t.current.transform.k,a=(n*i-t.current.transform.y)/t.current.transform.k,s=5;return r.find(d=>{let f=typeof d.source=="object"?d.source:o.find(Q=>Q.id===d.source),p=typeof d.target=="object"?d.target:o.find(Q=>Q.id===d.target);if(!f||!p)return false;let M=f.x||0,w=f.y||0,z=p.x||0,T=p.y||0,j=c-M,l=a-w,y=z-M,g=T-w,F=j*y+l*g,R=y*y+g*g;if(R===0)return false;let O=F/R;O=Math.max(0,Math.min(1,O));let W=M+O*y,K=w+O*g,J=c-W,oe=a-K;return Math.sqrt(J*J+oe*oe)<=s})||null},[]),Ae=ot.useCallback((e,n,r,o,i,c,a)=>{let s=e-r,d=n-o,f=Math.sqrt(s*s+d*d),p=Math.atan2(d,s);p<0&&(p+=2*Math.PI);let z=f>=i*.5&&f<=i*1,T=false;return c===Math.PI&&a===Math.PI*2?T=p>=Math.PI&&p<=Math.PI*2:c===0&&a===Math.PI?T=p>=0&&p<=Math.PI:T=c<=a&&p>=c&&p<=a||c>a&&(p>=c||p<=a),z&&T},[]),xe=ot.useCallback(e=>{if(e===t.current.hoveredNode)return;let n=new Set,r=new Set;e&&(n.add(e),e.neighbors&&e.neighbors.forEach(o=>n.add(o)),e.links&&e.links.forEach(o=>r.add(o))),t.current.hoveredNode=e,B&&B(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[B]),ke=ot.useCallback(e=>{if(e===t.current.hoveredLink)return;let n=new Set,r=new Set;if(e){r.add(e);let o=U();if(o){let i=typeof e.source=="object"?e.source:o.find(a=>a.id===e.source),c=typeof e.target=="object"?e.target:o.find(a=>a.id===e.target);i&&n.add(i),c&&n.add(c);}}t.current.hoveredLink=e,H&&H(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[H,U]),$e=ot.useCallback(e=>{$&&$(e);},[$]),He=ot.useCallback(e=>{t.current.selectedNode=e,k&&k(e);},[k]),Xe=ot.useCallback(()=>{t.current.selectedNode=null,v&&v();},[v]),Se=ot.useCallback(e=>{if(!E.current||!S.current)return;let n=E.current.getBoundingClientRect(),r=e.clientX-n.left,o=e.clientY-n.top;t.current.mouseStartPos={x:r,y:o},t.current.isDragging=false;let i=de(r,o);i?(t.current.draggedNode=i,i.fx=i.x,i.fy=i.y):(t.current.isPanning=true,t.current.lastMousePos={x:r,y:o});},[de]),he=ot.useCallback((e,n)=>{let r=null;if(E.current&&t.current&&X.length>0){let o=I.nodeSizeBase*I.nodeAreaFactor/2,i=E.current.getBoundingClientRect(),c=E.current.width/i.width,a=E.current.height/i.height,s=e*c,d=n*a,f=(s-t.current.transform.x)/t.current.transform.k,p=(d-t.current.transform.y)/t.current.transform.k,M=t.current.selectedNode?.x||0,w=t.current.selectedNode?.y||0,z=Math.min(X.length,8),T=Math.min(Math.PI*2/z,Math.PI);for(let j=0;j<z;j++){let l=j*T,y=(j+1)*T;if(Ae(f,p,M,w,o,l,y)){r=j;break}}}return r},[X]),Ne=ot.useCallback(e=>{if(!E.current)return;let n=E.current.getBoundingClientRect(),r=e.clientX-n.left,o=e.clientY-n.top;if(t.current.draggedNode&&t.current.mouseStartPos&&S.current){let a=t.current.mouseStartPos.x,s=t.current.mouseStartPos.y,d=r-a,f=o-s;Math.sqrt(d*d+f*f)>3&&(t.current.isDragging=true,S.current.alphaTarget()===0&&S.current.alphaTarget(0).restart());let w=typeof window<"u"&&window.devicePixelRatio||1,z=(r*w-t.current.transform.x)/t.current.transform.k,T=(o*w-t.current.transform.y)/t.current.transform.k;t.current.draggedNode.fx=z,t.current.draggedNode.fy=T;return}if(t.current.isPanning&&t.current.mouseStartPos){let a=r-t.current.lastMousePos.x,s=o-t.current.lastMousePos.y,d=t.current.mouseStartPos.x,f=t.current.mouseStartPos.y;Math.sqrt(Math.pow(r-d,2)+Math.pow(o-f,2))>3&&(t.current.isDragging=true),t.current.transform={...t.current.transform,x:t.current.transform.x+a,y:t.current.transform.y+s},t.current.lastMousePos={x:r,y:o},A();return}let i,c;if(t.current.selectedNode&&E.current&&X.length>0){let a=he(r,o);a!==null&&(c=t.current.selectedNode),a!==t.current.hoveredButtonIndex&&(i=true),t.current.hoveredButtonIndex=a;}else t.current.hoveredButtonIndex!==null&&(t.current.hoveredButtonIndex=null);if(!c&&(c=de(r,o),!c)){let a=ue(r,o),s=a!==t.current.hoveredLink;if(a&&t.current.hoveredNode&&xe(null),ke(a),E.current&&(E.current.style.cursor=a?"pointer":"default"),s){A();return}}c&&t.current.hoveredLink&&ke(null),c!==t.current.hoveredNode&&(i=true),xe(c),E.current&&(E.current.style.cursor=c?"pointer":"default"),i&&A();},[X,de,ue,xe,ke,A,Ae,he]),Pt=ot.useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.stopPropagation(),e.preventDefault()),t.current.mustBeStoppedPropagation=false;},[]),fe=ot.useCallback(e=>{let n=t.current.isDragging;if(n&&(t.current.mustBeStoppedPropagation=true),!n&&t.current.mouseStartPos){let r=E.current?.getBoundingClientRect();if(r){let o=e.clientX-r.left,i=e.clientY-r.top;X.length>0&&t.current.hoveredButtonIndex===null&&(t.current.hoveredButtonIndex=he(o,i));let c=false;if(t.current.selectedNode&&t.current.hoveredButtonIndex!==null&&P[t.current.hoveredButtonIndex]){let a=P[t.current.hoveredButtonIndex];a&&a.onClick&&(a.onClick(t.current.selectedNode),c=true,t.current.hoveredButtonIndex=null);}if(!c&&t.current.draggedNode)He(t.current.draggedNode);else if(!c&&!t.current.draggedNode){let a=ue(o,i);a?$e(a):Xe();}}}if(t.current.draggedNode&&S.current){if(n){S.current.alphaTarget(0);let r=.05,o=.04,i=.6;S.current.alpha(r).alphaDecay(o),S.current.velocityDecay(i);}else S.current.alphaTarget(0);t.current.draggedNode.fx=void 0,t.current.draggedNode.fy=void 0,t.current.draggedNode=null;}t.current.isDragging=false,t.current.mouseStartPos=null,t.current.isPanning&&(t.current.isPanning=false),A();},[P,A,He,Xe,ue,$e,he,X]),Pe=ot.useCallback(e=>{if(e.stopPropagation(),e.preventDefault(),!E.current)return;let n=E.current.getBoundingClientRect(),r=e.clientX-n.left,o=e.clientY-n.top,c=-e.deltaY>0?1.1:1/1.1,a=t.current.transform,s=a.k*c;if(s<.01||s>10)return;let d=a.k*c,f=r-(r-a.x)*c,p=o-(o-a.y)*c;t.current.transform={k:d,x:f,y:p},A();},[A]),De=chunkVNWHAGSI_js.a((e,n)=>{let r=e.touches[0];if(r){let o={clientX:r.clientX,clientY:r.clientY};n(o);}},"convertTouchToMouseEvent"),Dt=ot.useCallback(e=>{De(e,Se);},[Se]),Me=ot.useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.preventDefault(),e.stopPropagation()),t.current.mustBeStoppedPropagation=false,De(e,fe);},[fe]),Mt=ot.useCallback(e=>{De(e,Ne);},[Ne]);return ot.useImperativeHandle(Y,()=>({zoomToFit:le,addNodes:Be,removeNodes:Oe}),[le,Be,Oe]),ot.useEffect(()=>{let e=E.current,{width:n,height:r}=t.current;if(!e)return;St(),ae(true);let o=n/2,i=r/2,c=I.nodeSizeBase,a=c/2,s=c*2.5;S.current&&S.current.stop();let d=S.current=d3.forceSimulation(V).force("link",d3.forceLink(te).id(f=>f.id).distance(s).strength(.9)).force("charge",d3.forceManyBody().strength(-c/10*200).theta(.5).distanceMin(c*2)).force("x",d3.forceX().strength(.03)).force("y",d3.forceY().strength(.03)).force("center",d3.forceCenter(o,i).strength(.05)).force("collide",d3.forceCollide().radius(a*2).iterations(2).strength(1)).velocityDecay(.6);return ()=>{d.stop();}},[V,te]),ot.useLayoutEffect(()=>{let e=E.current;e&&(t.current.width=h*be,t.current.height=b*be,e.width=t.current.width,e.height=t.current.height);},[h,b]),ot.useEffect(()=>{if(S.current){let e=S.current;e.on("tick",()=>{A();}),e.on("end",()=>{q&&(le(0,20),setTimeout(()=>{ae(false);},200));});}q||A();},[V,te,q,A,le]),ot.useEffect(()=>{!V||!te||te.forEach(e=>{let n=typeof e.source=="object"?e.source:V.find(o=>o.id===e.source),r=typeof e.target=="object"?e.target:V.find(o=>o.id===e.target);!n||!r||(!n.neighbors&&(n.neighbors=[]),!r.neighbors&&(r.neighbors=[]),n.neighbors.push(r),r.neighbors.push(n),!n.links&&(n.links=[]),!r.links&&(r.links=[]),n.links.push(e),r.links.push(e));});},[V,te]),ot.useEffect(()=>{P&&P.length>0&&xt(sr(P));},[P]),ot.useEffect(()=>{let e=E.current;if(!(!e||typeof window>"u"))return e.addEventListener("wheel",Pe,{passive:false}),e.addEventListener("touchend",Me,{passive:false}),()=>{e.removeEventListener("wheel",Pe),e.removeEventListener("touchend",Me);}},[Pe,Me]),jsxRuntime.jsxs(lr,{children:[(u||q)&&jsxRuntime.jsx(et,{width:h,height:b}),jsxRuntime.jsx(dr,{ref:E,style:{width:h,height:b,display:u||q?"none":"block"},onMouseDown:Se,onMouseMove:Ne,onMouseUp:fe,onMouseLeave:fe,onClick:Pt,onTouchStart:Dt,onTouchMove:Mt})]})}),lr=Ht.styled.div`
47
+ `,Yt=chunkT4EQUM6E_js.a(({width:u=280,height:h=280})=>{let b=Ht.useTheme();return jsxRuntime.jsx(Wt,{children:jsxRuntime.jsxs($t__default.default,{foregroundColor:b.contentLoader.foreground,backgroundColor:b.contentLoader.background,width:u,height:h,viewBox:"0 0 280 280",children:[jsxRuntime.jsx("path",{d:"m55 38-0.97266 0.22852 7.0801 30.092-18.355-20.979-0.75195 0.6582 19.596 22.395 0.43164 1.834 0.97266-0.22852 0.75195-0.6582-0.37695-0.42969 9.625-27.912-0.94531-0.32617-9.4375 27.371-0.10547-0.12109zm8 34-0.78516 0.61914 0.0957 0.12305-12.311 13.258 0.73242 0.67969 12.205-13.145 14.277 18.084 0.78516-0.61914-14.373-18.207 0.10547-0.11328zm15 19-0.48438 0.875 46.992 25.996 8e-3 4e-3 20.506 11.592-28.182 4.5449 0.15998 0.98819 29.418-4.7441 0.25 0.14062-12.555 24.143 0.88672 0.46094 13-25 15 25 26 30v18l-11 18 0.85352 0.52148 9.8008-16.039-4.6543 33.518 0.99023 0.13867 4.7793-34.408 7.2305 16.27 0.91406-0.40625-7.9141-17.807v-17.104l18 12.316 0.56445-0.82617-18.896-12.928-25.855-29.836-14.633-24.387 0.01562-0.02344h23.805v-1h-23.152l13.848-21.234 55.201-28.791-0.45898-0.88476 0.77734 0.62305 11.402-14.25 16.668-11.842-0.58008-0.81641-16.785 11.928-11.486 14.355-55.434 28.912-14.277 21.893-7.7617-27.166-0.96094 0.27344 7.7227 27.031-1.1191 0.17969-21.604-12.211zm140.43-12.912-6.957-17.338-0.92773 0.37305 6.957 17.338zm-6.957-17.338 0.72266 0.69336 16.232-16.896-0.7207-0.69336zm-3.4766 137.25 5 15 0.94922-0.31641-5-15zm-91-63-0.48047-0.87695-31 17 0.48047 0.87695zm-31 17 5 18 0.96289-0.26758-5-18zm0 0-0.70703-0.70703-12.898 12.898-17.881 9.9336 0.48633 0.875 18-10zm5 18-0.64062-0.76758-18 15 0.64062 0.76758z"}),jsxRuntime.jsx("circle",{cx:"229.92",cy:"63.7318",r:"5",transform:"rotate(173.661 229.92 63.7318)"}),jsxRuntime.jsx("circle",{cx:"227.711",cy:"43.8541",r:"5",transform:"rotate(173.661 227.711 43.8541)"}),jsxRuntime.jsx("circle",{cx:"211.478",cy:"60.7499",r:"5",transform:"rotate(173.661 211.478 60.7499)"}),jsxRuntime.jsx("circle",{cx:"218.434",cy:"78.0877",r:"5",transform:"rotate(173.661 218.434 78.0877)"}),jsxRuntime.jsx("circle",{cx:"246.705",cy:"51.8054",r:"5",transform:"rotate(173.661 246.705 51.8054)"}),jsxRuntime.jsx("circle",{cx:"42",cy:"48",r:"5"}),jsxRuntime.jsx("circle",{cx:"55",cy:"38",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"43",r:"5"}),jsxRuntime.jsx("circle",{cx:"63",cy:"72",r:"5"}),jsxRuntime.jsx("circle",{cx:"50",cy:"86",r:"5"}),jsxRuntime.jsx("circle",{cx:"78",cy:"91",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"165",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"185",r:"5"}),jsxRuntime.jsx("circle",{cx:"91",cy:"170",r:"5"}),jsxRuntime.jsx("circle",{cx:"86",cy:"152",r:"5"}),jsxRuntime.jsx("circle",{cx:"148",cy:"130",r:"5"}),jsxRuntime.jsx("circle",{cx:"189",cy:"185",r:"5"}),jsxRuntime.jsx("circle",{cx:"163",cy:"107",r:"5"}),jsxRuntime.jsx("circle",{cx:"140",cy:"102",r:"5"}),jsxRuntime.jsx("circle",{cx:"117",cy:"135",r:"5"}),jsxRuntime.jsx("circle",{cx:"125",cy:"117",r:"5"}),jsxRuntime.jsx("circle",{cx:"208",cy:"198",r:"5"}),jsxRuntime.jsx("circle",{cx:"189",cy:"203",r:"5"}),jsxRuntime.jsx("circle",{cx:"198",cy:"221",r:"5"}),jsxRuntime.jsx("circle",{cx:"178",cy:"221",r:"5"}),jsxRuntime.jsx("circle",{cx:"184",cy:"239",r:"5"}),jsxRuntime.jsx("circle",{cx:"213",cy:"213",r:"5"}),jsxRuntime.jsx("circle",{cx:"173",cy:"130",r:"5"}),jsxRuntime.jsx("circle",{cx:"163",cy:"155",r:"5"}),jsxRuntime.jsx("circle",{cx:"135",cy:"155",r:"5"}),jsxRuntime.jsx("circle",{cx:"55",cy:"175",r:"5"})]})})},"GraphLoader"),et=Yt;var be=typeof window<"u"&&window.devicePixelRatio||1;function sr(u){return !u||u.length===0?[]:u.map(h=>{let b=new Image;b.src=h.img;let N=new Image;return N.src=h.hoverImg,{...h,normalImg:b,hoverImg:N}})}chunkT4EQUM6E_js.a(sr,"prepareButtonImages");var I={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},cr=ot.forwardRef(({loading:u,width:h,height:b,graphData:N,buttons:P=[],onNodeClick:k,onBackgroundClick:v,onNodeHover:B,onLinkHover:H,onLinkClick:$},Y)=>{let D=Ht.useTheme(),[q,ae]=ot.useState(true),t=ot.useRef({transform:{x:0,y:0,k:1},isPanning:false,hoveredNode:null,hoveredLink:null,draggedNode:null,selectedNode:null,hoveredButtonIndex:null,highlightNodes:new Set,highlightLinks:new Set,lastMousePos:{x:0,y:0},mustBeStoppedPropagation:false,mouseStartPos:null,isDragging:false,width:h*be,height:b*be,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:V,links:te}=ot.useMemo(()=>_t__default.default(N),[N]),[X,xt]=ot.useState([]),E=ot.useRef(null),S=ot.useRef(null),se=ot.useRef(null),kt=d3.scaleOrdinal(d3.schemeCategory10),St=ot.useCallback(()=>{if(!E.current)return false;try{let e=E.current.getContext("2d");return e?(se.current=e,!0):(console.error("Failed to get 2D context"),!1)}catch(e){return console.error("Error initializing Canvas 2D context:",e),false}},[]),U=ot.useCallback(()=>S.current?S.current.nodes():null,[]),ce=ot.useCallback(()=>{if(!S.current)return null;let e=S.current.force("link");return e?e.links():null},[]),je=ot.useCallback(e=>{e.save(),e.setTransform(1,0,0,1,0,0);let{width:n,height:r}=t.current,o=I.gridSpacing,i=I.dotSize;e.fillStyle=D.graph2D.grid.dotColor;for(let c=o/2;c<=n;c+=o)for(let a=o/2;a<=r;a+=o)e.beginPath(),e.arc(c,a,i,0,2*Math.PI),e.fill();e.restore();},[D.graph2D.grid.dotColor,I.gridSpacing,I.dotSize]),Nt=ot.useCallback((e,n,r)=>{if(!e)return "";if(r.measureText(e).width<=n)return e;let i=e,c="...";for(;r.measureText(i+c).width>n&&i.length>0;)i=i.slice(0,-1);return i+c},[]),we=chunkT4EQUM6E_js.a(e=>{let r=Math.min(e,I.maxZoom)/I.maxZoom;return Math.max(I.fontSize*r,I.fontSize)},"calculateFontSize"),Re=ot.useCallback(e=>{let n=ce(),r=U();!n||n.length===0||!r||r.length===0||(e.lineWidth=.5,e.globalAlpha=1,n.forEach(o=>{let i=typeof o.source=="object"?o.source:r.find(Z=>Z.id===o.source),c=typeof o.target=="object"?o.target:r.find(Z=>Z.id===o.target);if(!i||!c)return;let a={x:i.x||0,y:i.y||0},s={x:c.x||0,y:c.y||0},d=s.x-a.x,f=s.y-a.y,p=Math.sqrt(d*d+f*f),M=d/p,w=f/p,z=I.nodeSizeBase/2,T=I.nodeSizeBase/2,j=4,l={x:a.x+M*z,y:a.y+w*z},y={x:s.x-M*(T+j),y:s.y-w*(T+j)},g={x:s.x-M*(T+1),y:s.y-w*(T+1)},F=t.current.highlightLinks.has(o),R=F?D.graph2D.link.highlighted:D.graph2D.link.normal,O=F?1.5:.5,W=a.x+(s.x-a.x)/2,K=a.y+(s.y-a.y)/2,J=Math.atan2(f,d);if(o.label){let Z=t.current.transform.k,Q=we(Z);e.font=`${Q}px Sans-Serif`;let We=e.measureText(o.label).width,Ye=10;e.beginPath(),e.moveTo(l.x,l.y);let Ge=p/2-(We+Ye)/2,qe={x:a.x+M*Ge,y:a.y+w*Ge};e.lineTo(qe.x,qe.y),e.strokeStyle=R,e.lineWidth=O,e.stroke(),e.beginPath();let Ue=p/2+(We+Ye)/2,Ve={x:a.x+M*Ue,y:a.y+w*Ue};e.moveTo(Ve.x,Ve.y),e.lineTo(y.x,y.y),e.strokeStyle=R,e.lineWidth=O,e.stroke();}else e.beginPath(),e.moveTo(l.x,l.y),e.lineTo(y.x,y.y),e.strokeStyle=R,e.lineWidth=O,e.stroke();let oe=2;if(e.save(),e.translate(g.x,g.y),e.rotate(J),e.beginPath(),e.moveTo(0,0),e.lineTo(-4,oe),e.lineTo(-4,0),e.lineTo(-4,-2),e.closePath(),e.fillStyle=R,e.fill(),e.restore(),o.label){let Z=t.current.transform.k,Q=we(Z);e.font=`${Q}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.save(),e.translate(W,K),Math.abs(J)>Math.PI/2?e.rotate(J+Math.PI):e.rotate(J),e.fillStyle=F?D.graph2D.link.highlightedTextColor:D.graph2D.link.textColor,e.fillText(o.label,0,0),e.restore();}}));},[I,D.graph2D.link]),Ee=chunkT4EQUM6E_js.a((e,n,r,o,i,c,a)=>{try{if(c!=null){let s=i*.8;e.font=`${s}px sans-serif`,e.textBaseline="middle",e.textAlign="left";let d=new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0,compactDisplay:"short"}).format(c),f=e.measureText(d).width,p=i*.3,w=(i+p+f)/2;e.drawImage(n,r-w,o-i/2,i,i),e.fillStyle=a||"#99989C",e.fillText(d,r-w+i+p,o);}else e.drawImage(n,r-i/2,o-i/2,i,i);}catch(s){console.warn("Error rendering icon:",s);}},"drawIconWithOptionalCounter"),ze=ot.useCallback((e,n)=>{if(!X||X.length===0||!e||!e.x||!e.y)return;let{x:r,y:o}=e,i=I.nodeSizeBase*I.nodeAreaFactor/2;n.save();let c=Math.min(X.length,8),a=Math.min(Math.PI*2/c,Math.PI);for(let s=0;s<c;s++){let d=s*a,f=(s+1)*a,p=t.current.hoveredButtonIndex===s;n.beginPath(),n.arc(r,o,i,d,f,false),n.lineTo(r,o),n.closePath(),n.lineWidth=1,n.strokeStyle=D.graph2D?.button?.stroke||"#FFFFFF",n.stroke(),n.fillStyle=p?D.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":D.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",n.fill();let M=i*.2,w=(d+f)/2,z=i-I.nodeSizeBase/2+M,T=r+Math.cos(w)*z,j=o+Math.sin(w)*z,l=X[s];if(l.loading){let y=M/2,g=M/12;n.save(),n.translate(T,j),n.rotate(t.current.spinnerAngle);for(let F=0;F<12;F++){let R=Math.PI*2*F/12,O=F/12,W=Math.cos(R)*y,K=Math.sin(R)*y;n.beginPath(),n.fillStyle=chunkT4EQUM6E_js.l(D.graph2D?.button?.spinnerColor,O),n.arc(W,K,g,0,Math.PI*2),n.fill();}n.restore(),t.current.spinnerAngle+=.1,t.current.spinnerAngle>Math.PI*2&&(t.current.spinnerAngle-=Math.PI*2),t.current.animation.id!==null&&(cancelAnimationFrame(t.current.animation.id),t.current.animation.id=null,t.current.animation.buttonIndex=null),t.current.animation.id=requestAnimationFrame(A),t.current.animation.buttonIndex=s;}else {t.current.animation.id&&t.current.animation.buttonIndex===s&&(cancelAnimationFrame(t.current.animation.id),t.current.animation.id=null,t.current.animation.buttonIndex=null);let y=p?l.hoverImg:l.normalImg,g=l.getCount?l.getCount(e):null;y.complete?Ee(n,y,T,j,M,g,D.graph2D?.button?.textColor):y.onload=()=>{se.current&&Ee(n,y,T,j,M,g,D.graph2D?.button?.textColor);};}}n.restore();},[X,D.graph2D?.button]),Fe=ot.useCallback(e=>{let n=U();!n||n.length===0||(e.globalAlpha=1,n.forEach(r=>{let{x:o,y:i,color:c,fontColor:a,label:s}=r,d=t.current.highlightNodes.has(r)||r===t.current.hoveredNode||r===t.current.draggedNode,f=r===t.current.selectedNode,p=I.nodeSizeBase,M=I.nodeSizeBase/2;if(d&&!f){let w=I.nodeSizeBase*I.nodeAreaFactor*.75/2;e.beginPath(),e.arc(o,i,w,0,2*Math.PI,false),e.fillStyle=D.graph2D.ring.highlightFill,e.fill();}if(f)if(P&&P.length>0)ze(r,e);else {let w=I.nodeSizeBase*I.nodeAreaFactor/2;e.beginPath(),e.arc(o,i,w,0,2*Math.PI,false),e.fillStyle=D.graph2D.ring.selectionFill||D.graph2D.ring.highlightFill,e.fill();}if(e.beginPath(),e.arc(o,i,M,0,2*Math.PI),e.fillStyle=c||kt(r.group||"0"),e.fill(),s){e.save(),e.translate(o,i);let w=t.current.transform.k,z=we(w),T=p*I.textPaddingFactor;e.font=`${z}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle=a||"#000";let j=Nt(s,T,e);e.fillText(j,0,0),e.restore();}}));},[D.graph2D.ring,P,ze]),A=ot.useCallback(()=>{let e=se.current;e&&(e.clearRect(0,0,t.current.width,t.current.height),je(e),e.save(),e.setTransform(t.current.transform.k,0,0,t.current.transform.k,t.current.transform.x,t.current.transform.y),Re(e),Fe(e),e.restore());},[Re,Fe,je]),Be=ot.useCallback((e,n=[],r)=>{let o=ce()||[],i=U()||[];if(!S.current||!e.length)return;let{width:c,height:a}=t.current,s=r?.smoothAppearance??false,d=r?.transitionDuration??1e3,f=new Set(i.map(l=>l.id)),p=e.filter(l=>!f.has(l.id)),M=new Set(o.map(l=>`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`)),w=n.filter(l=>{let y=`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`;return !M.has(y)});if(p.length===0&&w.length===0)return;let z=[...i,...p],T=[...o,...w];s&&(p.forEach(l=>{let y=w.filter(g=>{let F=typeof g.source=="object"?g.source.id:g.source,R=typeof g.target=="object"?g.target.id:g.target;return F===l.id&&f.has(R)||R===l.id&&f.has(F)});if(y.length>0){let g=y[0],F=typeof g.source=="object"?g.source.id===l.id?g.target:g.source.id:g.source===l.id?g.target:g.source,R=z.find(O=>O.id===F);if(R&&R.x!==void 0&&R.y!==void 0){let O=30+Math.random()*20,W=Math.random()*Math.PI*2;l.x=R.x+Math.cos(W)*O,l.y=R.y+Math.sin(W)*O,l.vx=0,l.vy=0;}}else {let g=c/2,F=a/2,R=Math.min(c,a)/4,O=Math.random()*Math.PI*2;l.x=g+Math.cos(O)*(R*Math.random()),l.y=F+Math.sin(O)*(R*Math.random()),l.vx=0,l.vy=0;}}),i.forEach(l=>{l.fx=l.x,l.fy=l.y;})),S.current.nodes(z);let j=S.current.force("link");j&&j.links(T),w.forEach(l=>{let y=typeof l.source=="object"?l.source:z.find(F=>F.id===l.source),g=typeof l.target=="object"?l.target:z.find(F=>F.id===l.target);!y||!g||(!y.neighbors&&(y.neighbors=[]),!g.neighbors&&(g.neighbors=[]),y.neighbors.push(g),g.neighbors.push(y),!y.links&&(y.links=[]),!g.links&&(g.links=[]),y.links.push(l),g.links.push(l));}),s?(S.current.alphaTarget(.3),S.current.alpha(.3),S.current.velocityDecay(.7),S.current.restart(),setTimeout(()=>{i.forEach(l=>{l.fx=void 0,l.fy=void 0;}),S.current?.alphaTarget(0),S.current?.alpha(.1),S.current?.velocityDecay(.6);},d)):S.current.alpha(.1).restart(),A();},[V,A]),Oe=ot.useCallback(e=>{let n=U(),r=ce();if(!S.current||!e.length||!n||n.length===0||!r||r.length===0)return;let o=new Set(e);if(t.current.selectedNode&&t.current.selectedNode.id!==void 0&&o.has(t.current.selectedNode.id)&&(t.current.selectedNode=null),t.current.hoveredNode&&t.current.hoveredNode.id!==void 0&&o.has(t.current.hoveredNode.id)&&(t.current.hoveredNode=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set),t.current.hoveredLink){let s=typeof t.current.hoveredLink.source=="object"?t.current.hoveredLink.source.id:t.current.hoveredLink.source,d=typeof t.current.hoveredLink.target=="object"?t.current.hoveredLink.target.id:t.current.hoveredLink.target;(s!==void 0&&o.has(s)||d!==void 0&&o.has(d))&&(t.current.hoveredLink=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set);}t.current.draggedNode&&t.current.draggedNode.id!==void 0&&o.has(t.current.draggedNode.id)&&(t.current.draggedNode=null);let i=n.filter(s=>s.id!==void 0&&!o.has(s.id)),c=r.filter(s=>{let d=typeof s.source=="object"?s.source.id:s.source,f=typeof s.target=="object"?s.target.id:s.target;return d!==void 0&&!o.has(d)&&f!==void 0&&!o.has(f)});i.forEach(s=>{s.neighbors=[],s.links=[];}),c.forEach(s=>{let d=typeof s.source=="object"?s.source:i.find(p=>p.id===s.source),f=typeof s.target=="object"?s.target:i.find(p=>p.id===s.target);!d||!f||(d.neighbors=d.neighbors||[],f.neighbors=f.neighbors||[],d.neighbors.push(f),f.neighbors.push(d),d.links=d.links||[],f.links=f.links||[],d.links.push(s),f.links.push(s));}),S.current.nodes(i);let a=S.current.force("link");a&&a.links(c),A();},[A]),le=ot.useCallback((e=0,n=20)=>{let r=U();if(!se.current||!E.current||!r||!r.length)return;let i=1/0,c=1/0,a=-1/0,s=-1/0;if(r.forEach(d=>{if(d.x===void 0||d.y===void 0)return;let f=d.x,p=d.y;i=Math.min(i,f),c=Math.min(c,p),a=Math.max(a,f),s=Math.max(s,p);}),isFinite(i)&&isFinite(a)&&isFinite(c)&&isFinite(s)){let{width:d,height:f}=t.current;i-=n,c-=n,a+=n,s+=n;let p=a-i,M=s-c,w=p>0?d/p:1,z=M>0?f/M:1,T=Math.min(w,z,10),j=i+p/2,l=c+M/2,y={k:T,x:d/2-j*T,y:f/2-l*T};if(e>0){let g={...t.current.transform},F=Date.now(),R=chunkT4EQUM6E_js.a(()=>{let O=Math.min(1,(Date.now()-F)/e),W=O===1?1:1-Math.pow(1-O,3),K={k:g.k+(y.k-g.k)*W,x:g.x+(y.x-g.x)*W,y:g.y+(y.y-g.y)*W};t.current.transform=K,A(),O<1&&requestAnimationFrame(R);},"animateZoom");requestAnimationFrame(R);}else t.current.transform=y,A();}},[]),de=ot.useCallback((e,n)=>{let r=U();if(!r||r.length===0)return null;let o=I.nodeSizeBase/2,i=typeof window<"u"&&window.devicePixelRatio||1,c=(e*i-t.current.transform.x)/t.current.transform.k,a=(n*i-t.current.transform.y)/t.current.transform.k;return r.find(s=>{let d=(s.x||0)-c,f=(s.y||0)-a;return Math.sqrt(d*d+f*f)<=o})||null},[]),ue=ot.useCallback((e,n)=>{let r=ce(),o=U();if(!r||r.length===0||!o||o.length===0)return null;let i=typeof window<"u"&&window.devicePixelRatio||1,c=(e*i-t.current.transform.x)/t.current.transform.k,a=(n*i-t.current.transform.y)/t.current.transform.k,s=5;return r.find(d=>{let f=typeof d.source=="object"?d.source:o.find(Q=>Q.id===d.source),p=typeof d.target=="object"?d.target:o.find(Q=>Q.id===d.target);if(!f||!p)return false;let M=f.x||0,w=f.y||0,z=p.x||0,T=p.y||0,j=c-M,l=a-w,y=z-M,g=T-w,F=j*y+l*g,R=y*y+g*g;if(R===0)return false;let O=F/R;O=Math.max(0,Math.min(1,O));let W=M+O*y,K=w+O*g,J=c-W,oe=a-K;return Math.sqrt(J*J+oe*oe)<=s})||null},[]),Ae=ot.useCallback((e,n,r,o,i,c,a)=>{let s=e-r,d=n-o,f=Math.sqrt(s*s+d*d),p=Math.atan2(d,s);p<0&&(p+=2*Math.PI);let z=f>=i*.5&&f<=i*1,T=false;return c===Math.PI&&a===Math.PI*2?T=p>=Math.PI&&p<=Math.PI*2:c===0&&a===Math.PI?T=p>=0&&p<=Math.PI:T=c<=a&&p>=c&&p<=a||c>a&&(p>=c||p<=a),z&&T},[]),xe=ot.useCallback(e=>{if(e===t.current.hoveredNode)return;let n=new Set,r=new Set;e&&(n.add(e),e.neighbors&&e.neighbors.forEach(o=>n.add(o)),e.links&&e.links.forEach(o=>r.add(o))),t.current.hoveredNode=e,B&&B(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[B]),ke=ot.useCallback(e=>{if(e===t.current.hoveredLink)return;let n=new Set,r=new Set;if(e){r.add(e);let o=U();if(o){let i=typeof e.source=="object"?e.source:o.find(a=>a.id===e.source),c=typeof e.target=="object"?e.target:o.find(a=>a.id===e.target);i&&n.add(i),c&&n.add(c);}}t.current.hoveredLink=e,H&&H(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[H,U]),$e=ot.useCallback(e=>{$&&$(e);},[$]),He=ot.useCallback(e=>{t.current.selectedNode=e,k&&k(e);},[k]),Xe=ot.useCallback(()=>{t.current.selectedNode=null,v&&v();},[v]),Se=ot.useCallback(e=>{if(!E.current||!S.current)return;let n=E.current.getBoundingClientRect(),r=e.clientX-n.left,o=e.clientY-n.top;t.current.mouseStartPos={x:r,y:o},t.current.isDragging=false;let i=de(r,o);i?(t.current.draggedNode=i,i.fx=i.x,i.fy=i.y):(t.current.isPanning=true,t.current.lastMousePos={x:r,y:o});},[de]),he=ot.useCallback((e,n)=>{let r=null;if(E.current&&t.current&&X.length>0){let o=I.nodeSizeBase*I.nodeAreaFactor/2,i=E.current.getBoundingClientRect(),c=E.current.width/i.width,a=E.current.height/i.height,s=e*c,d=n*a,f=(s-t.current.transform.x)/t.current.transform.k,p=(d-t.current.transform.y)/t.current.transform.k,M=t.current.selectedNode?.x||0,w=t.current.selectedNode?.y||0,z=Math.min(X.length,8),T=Math.min(Math.PI*2/z,Math.PI);for(let j=0;j<z;j++){let l=j*T,y=(j+1)*T;if(Ae(f,p,M,w,o,l,y)){r=j;break}}}return r},[X]),Ne=ot.useCallback(e=>{if(!E.current)return;let n=E.current.getBoundingClientRect(),r=e.clientX-n.left,o=e.clientY-n.top;if(t.current.draggedNode&&t.current.mouseStartPos&&S.current){let a=t.current.mouseStartPos.x,s=t.current.mouseStartPos.y,d=r-a,f=o-s;Math.sqrt(d*d+f*f)>3&&(t.current.isDragging=true,S.current.alphaTarget()===0&&S.current.alphaTarget(0).restart());let w=typeof window<"u"&&window.devicePixelRatio||1,z=(r*w-t.current.transform.x)/t.current.transform.k,T=(o*w-t.current.transform.y)/t.current.transform.k;t.current.draggedNode.fx=z,t.current.draggedNode.fy=T;return}if(t.current.isPanning&&t.current.mouseStartPos){let a=r-t.current.lastMousePos.x,s=o-t.current.lastMousePos.y,d=t.current.mouseStartPos.x,f=t.current.mouseStartPos.y;Math.sqrt(Math.pow(r-d,2)+Math.pow(o-f,2))>3&&(t.current.isDragging=true),t.current.transform={...t.current.transform,x:t.current.transform.x+a,y:t.current.transform.y+s},t.current.lastMousePos={x:r,y:o},A();return}let i,c;if(t.current.selectedNode&&E.current&&X.length>0){let a=he(r,o);a!==null&&(c=t.current.selectedNode),a!==t.current.hoveredButtonIndex&&(i=true),t.current.hoveredButtonIndex=a;}else t.current.hoveredButtonIndex!==null&&(t.current.hoveredButtonIndex=null);if(!c&&(c=de(r,o),!c)){let a=ue(r,o),s=a!==t.current.hoveredLink;if(a&&t.current.hoveredNode&&xe(null),ke(a),E.current&&(E.current.style.cursor=a?"pointer":"default"),s){A();return}}c&&t.current.hoveredLink&&ke(null),c!==t.current.hoveredNode&&(i=true),xe(c),E.current&&(E.current.style.cursor=c?"pointer":"default"),i&&A();},[X,de,ue,xe,ke,A,Ae,he]),Pt=ot.useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.stopPropagation(),e.preventDefault()),t.current.mustBeStoppedPropagation=false;},[]),fe=ot.useCallback(e=>{let n=t.current.isDragging;if(n&&(t.current.mustBeStoppedPropagation=true),!n&&t.current.mouseStartPos){let r=E.current?.getBoundingClientRect();if(r){let o=e.clientX-r.left,i=e.clientY-r.top;X.length>0&&t.current.hoveredButtonIndex===null&&(t.current.hoveredButtonIndex=he(o,i));let c=false;if(t.current.selectedNode&&t.current.hoveredButtonIndex!==null&&P[t.current.hoveredButtonIndex]){let a=P[t.current.hoveredButtonIndex];a&&a.onClick&&(a.onClick(t.current.selectedNode),c=true,t.current.hoveredButtonIndex=null);}if(!c&&t.current.draggedNode)He(t.current.draggedNode);else if(!c&&!t.current.draggedNode){let a=ue(o,i);a?$e(a):Xe();}}}if(t.current.draggedNode&&S.current){if(n){S.current.alphaTarget(0);let r=.05,o=.04,i=.6;S.current.alpha(r).alphaDecay(o),S.current.velocityDecay(i);}else S.current.alphaTarget(0);t.current.draggedNode.fx=void 0,t.current.draggedNode.fy=void 0,t.current.draggedNode=null;}t.current.isDragging=false,t.current.mouseStartPos=null,t.current.isPanning&&(t.current.isPanning=false),A();},[P,A,He,Xe,ue,$e,he,X]),Pe=ot.useCallback(e=>{if(e.stopPropagation(),e.preventDefault(),!E.current)return;let n=E.current.getBoundingClientRect(),r=e.clientX-n.left,o=e.clientY-n.top,c=-e.deltaY>0?1.1:1/1.1,a=t.current.transform,s=a.k*c;if(s<.01||s>10)return;let d=a.k*c,f=r-(r-a.x)*c,p=o-(o-a.y)*c;t.current.transform={k:d,x:f,y:p},A();},[A]),De=chunkT4EQUM6E_js.a((e,n)=>{let r=e.touches[0];if(r){let o={clientX:r.clientX,clientY:r.clientY};n(o);}},"convertTouchToMouseEvent"),Dt=ot.useCallback(e=>{De(e,Se);},[Se]),Me=ot.useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.preventDefault(),e.stopPropagation()),t.current.mustBeStoppedPropagation=false,De(e,fe);},[fe]),Mt=ot.useCallback(e=>{De(e,Ne);},[Ne]);return ot.useImperativeHandle(Y,()=>({zoomToFit:le,addNodes:Be,removeNodes:Oe}),[le,Be,Oe]),ot.useEffect(()=>{let e=E.current,{width:n,height:r}=t.current;if(!e)return;St(),ae(true);let o=n/2,i=r/2,c=I.nodeSizeBase,a=c/2,s=c*2.5;S.current&&S.current.stop();let d=S.current=d3.forceSimulation(V).force("link",d3.forceLink(te).id(f=>f.id).distance(s).strength(.9)).force("charge",d3.forceManyBody().strength(-c/10*200).theta(.5).distanceMin(c*2)).force("x",d3.forceX().strength(.03)).force("y",d3.forceY().strength(.03)).force("center",d3.forceCenter(o,i).strength(.05)).force("collide",d3.forceCollide().radius(a*2).iterations(2).strength(1)).velocityDecay(.6);return ()=>{d.stop();}},[V,te]),ot.useLayoutEffect(()=>{let e=E.current;e&&(t.current.width=h*be,t.current.height=b*be,e.width=t.current.width,e.height=t.current.height);},[h,b]),ot.useEffect(()=>{if(S.current){let e=S.current;e.on("tick",()=>{A();}),e.on("end",()=>{q&&(le(0,20),setTimeout(()=>{ae(false);},200));});}q||A();},[V,te,q,A,le]),ot.useEffect(()=>{!V||!te||te.forEach(e=>{let n=typeof e.source=="object"?e.source:V.find(o=>o.id===e.source),r=typeof e.target=="object"?e.target:V.find(o=>o.id===e.target);!n||!r||(!n.neighbors&&(n.neighbors=[]),!r.neighbors&&(r.neighbors=[]),n.neighbors.push(r),r.neighbors.push(n),!n.links&&(n.links=[]),!r.links&&(r.links=[]),n.links.push(e),r.links.push(e));});},[V,te]),ot.useEffect(()=>{P&&P.length>0&&xt(sr(P));},[P]),ot.useEffect(()=>{let e=E.current;if(!(!e||typeof window>"u"))return e.addEventListener("wheel",Pe,{passive:false}),e.addEventListener("touchend",Me,{passive:false}),()=>{e.removeEventListener("wheel",Pe),e.removeEventListener("touchend",Me);}},[Pe,Me]),jsxRuntime.jsxs(lr,{children:[(u||q)&&jsxRuntime.jsx(et,{width:h,height:b}),jsxRuntime.jsx(dr,{ref:E,style:{width:h,height:b,display:u||q?"none":"block"},onMouseDown:Se,onMouseMove:Ne,onMouseUp:fe,onMouseLeave:fe,onClick:Pt,onTouchStart:Dt,onTouchMove:Mt})]})}),lr=Ht.styled.div`
48
48
  display: flex;
49
49
  align-items: center;
50
50
  justify-content: center;
51
51
  width: 100%;
52
52
  min-width: 0;
53
53
  position: relative;
54
- `,dr=Ht.styled.canvas``;cr.displayName="Graph2D";var sa=chunkVNWHAGSI_js.w(({isActive:u,position:h,top:b=0,left:N=0,right:P,bottom:k,...v})=>jsxRuntime.jsx(fr,{$isActive:u,$position:h,$top:b,$left:N,$right:P,$bottom:k,...v})),fr=Ht__default.default.div(({$isActive:u,$top:h,$left:b,$right:N,$bottom:P,$position:k,theme:v})=>`
54
+ `,dr=Ht.styled.canvas``;cr.displayName="Graph2D";var sa=chunkT4EQUM6E_js.w(({isActive:u,position:h,top:b=0,left:N=0,right:P,bottom:k,...v})=>jsxRuntime.jsx(fr,{$isActive:u,$position:h,$top:b,$left:N,$right:P,$bottom:k,...v})),fr=Ht__default.default.div(({$isActive:u,$top:h,$left:b,$right:N,$bottom:P,$position:k,theme:v})=>`
55
55
  ${u?`
56
56
  position: ${k};
57
57
  z-index: 1000;
58
- ${typeof h=="number"?`top: ${chunkVNWHAGSI_js.c(h,v.baseSize)};`:""}
59
- ${typeof b=="number"?`left: ${chunkVNWHAGSI_js.c(b,v.baseSize)};`:""}
60
- ${typeof N=="number"?`right: ${chunkVNWHAGSI_js.c(N,v.baseSize)};`:""}
61
- ${typeof P=="number"?`bottom: ${chunkVNWHAGSI_js.c(P,v.baseSize)};`:""}
58
+ ${typeof h=="number"?`top: ${chunkT4EQUM6E_js.c(h,v.baseSize)};`:""}
59
+ ${typeof b=="number"?`left: ${chunkT4EQUM6E_js.c(b,v.baseSize)};`:""}
60
+ ${typeof N=="number"?`right: ${chunkT4EQUM6E_js.c(N,v.baseSize)};`:""}
61
+ ${typeof P=="number"?`bottom: ${chunkT4EQUM6E_js.c(P,v.baseSize)};`:""}
62
62
 
63
63
  `:""}
64
64
 
65
65
  min-width: 0;
66
- `);var at=chunkVNWHAGSI_js.a(({url:u})=>{let[h,b]=ot.useState(1),[N,P]=ot.useState(),k=ot__default.default.useRef(null),v=ot__default.default.useRef(null),B=chunkVNWHAGSI_js.a(()=>{b($=>Math.min($+.25,4));},"handleZoomIn");return jsxRuntime.jsxs("div",{ref:v,className:"h-full w-full flex flex-col",children:[jsxRuntime.jsxs("div",{className:"flex justify-center items-stretch p-5.5 gap-1 border-b border-gray-200 relative ",children:[jsxRuntime.jsx(chunkVNWHAGSI_js.z,{variant:"outlined","aria-label":"zoom-out",color:"secondary",size:"small",icon:jsxRuntime.jsx(chunkVNWHAGSI_js.Pa,{style:{width:20,height:20}}),onClick:chunkVNWHAGSI_js.a(()=>{b($=>Math.max($-.25,.25));},"handleZoomOut"),disabled:h<=.25,p:5}),jsxRuntime.jsxs(chunkVNWHAGSI_js.mb,{py:5,px:8,children:[h*100,"%"]}),jsxRuntime.jsx(chunkVNWHAGSI_js.z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"secondary",icon:jsxRuntime.jsx(chunkVNWHAGSI_js.ma,{style:{width:14,height:14}}),onClick:B,disabled:h>=4,p:8})]}),jsxRuntime.jsx("div",{className:"h-full w-full overflow-auto flex items-center justify-center",children:jsxRuntime.jsx("img",{src:u,ref:k,alt:"image",className:"block w-auto max-w-none object-contain",style:{transition:"height 0.2s ease-in-out",marginInline:"auto",marginBlock:10,flexShrink:0,...N==="width"&&{width:`calc(${h*100}% - 20px)`},...N==="height"&&{height:`calc(${h*100}% - 20px)`}},onLoad:()=>{if(k.current&&v.current){let $=k.current.width,Y=k.current.height,D=$<Y?"height":"width";P(D);}}})})]})},"ImageDriver");var ct=chunkVNWHAGSI_js.a(({url:u})=>jsxRuntime.jsx("div",{className:"flex flex-col justify-center items-center w-full h-full p-5.5",children:jsxRuntime.jsx("audio",{controls:true,src:u,className:"w-full"})}),"AudioDriver");var Le=chunkVNWHAGSI_js.a(({url:u})=>{let[h,b]=ot.useState(null),[N,P]=ot.useState(false),[k,v]=ot.useState(true),[B,H]=ot.useState(null);return ot.useEffect(()=>{P(true);},[]),ot.useEffect(()=>{if(!N)return;chunkVNWHAGSI_js.a(async()=>{try{let Y=await import('./PdfDriver-KRGXLTIC.js');b(()=>Y.PdfDriver),v(!1);}catch(Y){console.error("Failed to load PDF driver:",Y),H("Failed to load PDF viewer"),v(false);}},"loadPdfDriver")();},[N]),N?k?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})}):B||!h?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-red-500 text-center",children:jsxRuntime.jsx("p",{children:B||"PDF viewer unavailable"})})}):jsxRuntime.jsx(h,{url:u}):jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})})},"PdfDriverWrapper");var dt=chunkVNWHAGSI_js.a(({url:u,extension:h})=>jsxRuntime.jsxs("a",{href:u,download:`file.${h}`,className:"text-blue-500 underline",children:["Download ",h.toUpperCase()," file"]}),"DownloadDriver");var ht=50,br=1e4,pt=chunkVNWHAGSI_js.a(({url:u,buffer:h})=>{let[b,N]=ot.useState(""),[P,k]=ot.useState(null);return ot.useEffect(()=>{chunkVNWHAGSI_js.a(async()=>{try{let B=h;if(!B&&u&&(B=await(await fetch(u)).arrayBuffer()),!B){k("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(B.byteLength/(1024*1024)>ht){k(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${ht} \u041C\u0411)`);return}let $=yr__default.default.convertToHtml({arrayBuffer:B}),Y=new Promise((q,ae)=>setTimeout(()=>ae(new Error("\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0430\u0446\u0456\u044F DOCX \u0437\u0430\u0439\u043D\u044F\u043B\u0430 \u043D\u0430\u0434\u0442\u043E \u0431\u0430\u0433\u0430\u0442\u043E \u0447\u0430\u0441\u0443")),br)),D=await Promise.race([$,Y]);N(D.value);}catch(B){k(B?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B");}},"fetchAndConvert")();},[u,h]),P?jsxRuntime.jsx("div",{className:"text-red-500",children:P}):b?jsxRuntime.jsx("div",{dangerouslySetInnerHTML:{__html:b},className:"w-full h-full overflow-auto p-5"}):null},"DocxDriver");var kr=chunkVNWHAGSI_js.a(u=>({js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",json:"json",html:"html",css:"css",scss:"scss",py:"python",java:"java",cpp:"cpp",c:"c",cs:"csharp",php:"php",rb:"ruby",go:"go",rs:"rust",swift:"swift",kt:"kotlin",xml:"xml",yaml:"yaml",yml:"yaml",md:"markdown",sql:"sql",sh:"bash",bash:"bash",txt:"text"})[u]||"text","getLanguageFromExtension"),gt=chunkVNWHAGSI_js.a(({url:u,extension:h})=>{let[b,N]=ot.useState(""),[P,k]=ot.useState(true),[v,B]=ot.useState(null);if(ot.useEffect(()=>{chunkVNWHAGSI_js.a(async()=>{try{k(!0),B(null);let D=await fetch(u);if(!D.ok)throw new Error(`Failed to load file: ${D.statusText}`);let q=await D.text();N(q);}catch(D){B(D instanceof Error?D.message:"Failed to load text content");}finally{k(false);}},"loadTextContent")();},[u]),P)return jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:jsxRuntime.jsx("div",{className:"text-gray-500",children:"Loading text content..."})});if(v)return jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:jsxRuntime.jsxs("div",{className:"text-red-500",children:["Error: ",v]})});let H=kr(h);return jsxRuntime.jsx("div",{className:"h-full w-full overflow-auto",children:H!=="text"?jsxRuntime.jsx(reactSyntaxHighlighter.Prism,{className:"min-h-full! m-0! py-0!",language:H,style:prism.darcula,showLineNumbers:true,wrapLines:true,children:b}):jsxRuntime.jsx("pre",{className:"whitespace-pre-wrap p-4 text-sm font-mono bg-gray-50 min-h-full",children:b})})},"TextDriver");var yt=chunkVNWHAGSI_js.a(({url:u})=>jsxRuntime.jsx("div",{className:"flex flex-col justify-center items-center w-full h-full",children:jsxRuntime.jsx("video",{controls:true,src:u,className:"w-full max-h-full"})}),"VideoDriver");var bt=ot.memo(chunkVNWHAGSI_js.a(function({extension:h,blob:b,path:N,buffer:P}){console.log("Driver props:",{extension:h,blob:b,path:N,buffer:P});let k=h.toLocaleLowerCase().trim(),v;if(N?v=N:b&&(v=URL.createObjectURL(b)),v){if(["jpeg","jpg","png","gif","bmp","webp"].includes(k))return jsxRuntime.jsx(at,{url:v});if(["mp3","wav","ogg","flac"].includes(k))return jsxRuntime.jsx(ct,{url:v});if(["mp4","webm"].includes(k))return jsxRuntime.jsx(yt,{url:v});if(h==="pdf")return jsxRuntime.jsx(Le,{url:v});if(["xlsx","pptx"].includes(k))return jsxRuntime.jsx(dt,{url:v,extension:k});if(["txt","js","jsx","ts","tsx","json","html","css","scss","py","java","cpp","c","cs","php","rb","go","rs","swift","kt","xml","yaml","yml","md","sql","sh","bash"].includes(k))return jsxRuntime.jsx(gt,{url:v,extension:k})}return k==="docx"?jsxRuntime.jsx(pt,{url:v,buffer:P}):jsxRuntime.jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsxRuntime.jsx(chunkVNWHAGSI_js.mb,{children:jsxRuntime.jsx(chunkVNWHAGSI_js.Wa,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:"Sorry, this file type isn\u2019t supported yet."})})})},"Driver"));var gs=chunkVNWHAGSI_js.a(u=>jsxRuntime.jsx("div",{className:"h-full w-full",children:jsxRuntime.jsx(bt,{...u})}),"FileViewer");var Ds=chunkVNWHAGSI_js.a(({text:u,speed:h=50,onDone:b,...N})=>{let[P,k]=ot.useState("");return ot.useEffect(()=>{let v=0,B=setInterval(()=>{k(H=>H+u.charAt(v)),v++,v>=u.length&&(clearInterval(B),b?.());},h);return ()=>clearInterval(B)},[u,h]),ot.useEffect(()=>{console.log("rerendering");},[u]),jsxRuntime.jsx(chunkVNWHAGSI_js.Wa,{...N,children:P})},"Typewriter");Object.defineProperty(exports,"Alert",{enumerable:true,get:function(){return chunkVNWHAGSI_js.qb}});Object.defineProperty(exports,"AlertIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.A}});Object.defineProperty(exports,"AndroidIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.za}});Object.defineProperty(exports,"ApiIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.B}});Object.defineProperty(exports,"ArrowCircleTopRightIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.C}});Object.defineProperty(exports,"ArrowRightIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.D}});Object.defineProperty(exports,"BallsMenu",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ia}});Object.defineProperty(exports,"Box",{enumerable:true,get:function(){return chunkVNWHAGSI_js.mb}});Object.defineProperty(exports,"BreakpointProvider",{enumerable:true,get:function(){return chunkVNWHAGSI_js.q}});Object.defineProperty(exports,"BugReportIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.E}});Object.defineProperty(exports,"BurgerMenuIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Na}});Object.defineProperty(exports,"BusIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.sa}});Object.defineProperty(exports,"Button",{enumerable:true,get:function(){return chunkVNWHAGSI_js.z}});Object.defineProperty(exports,"CalendarIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.F}});Object.defineProperty(exports,"CarIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ta}});Object.defineProperty(exports,"ChatField",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Gb}});Object.defineProperty(exports,"CheckIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ja}});Object.defineProperty(exports,"Checkbox",{enumerable:true,get:function(){return chunkVNWHAGSI_js.sb}});Object.defineProperty(exports,"ChevronDownIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ka}});Object.defineProperty(exports,"ChevronLeftIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.G}});Object.defineProperty(exports,"ChevronRightIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.H}});Object.defineProperty(exports,"ChevronUpIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.la}});Object.defineProperty(exports,"ClockIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Oa}});Object.defineProperty(exports,"CloseCircleIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.I}});Object.defineProperty(exports,"ClosedLockIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.J}});Object.defineProperty(exports,"ContentLoader",{enumerable:true,get:function(){return chunkVNWHAGSI_js.zb}});Object.defineProperty(exports,"ContextMenu",{enumerable:true,get:function(){return chunkVNWHAGSI_js.db}});Object.defineProperty(exports,"ContextMenuDelimiter",{enumerable:true,get:function(){return chunkVNWHAGSI_js.eb}});Object.defineProperty(exports,"CrossIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.qa}});Object.defineProperty(exports,"DataSetsIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.K}});Object.defineProperty(exports,"DeepSearchIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.L}});Object.defineProperty(exports,"DisabledVisibleIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.M}});Object.defineProperty(exports,"DocsIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.N}});Object.defineProperty(exports,"DownloadIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.O}});Object.defineProperty(exports,"Drawer",{enumerable:true,get:function(){return chunkVNWHAGSI_js.vb}});Object.defineProperty(exports,"DrawerBody",{enumerable:true,get:function(){return chunkVNWHAGSI_js.xb}});Object.defineProperty(exports,"DrawerHeader",{enumerable:true,get:function(){return chunkVNWHAGSI_js.wb}});Object.defineProperty(exports,"EditUserIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.P}});Object.defineProperty(exports,"EmptyData",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ob}});Object.defineProperty(exports,"EnableVisibleIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Q}});Object.defineProperty(exports,"EnterArrowLeftIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.R}});Object.defineProperty(exports,"FileField",{enumerable:true,get:function(){return chunkVNWHAGSI_js.jb}});Object.defineProperty(exports,"FileIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.xa}});Object.defineProperty(exports,"FiltersIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.S}});Object.defineProperty(exports,"FlashIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Ia}});Object.defineProperty(exports,"FlexContainer",{enumerable:true,get:function(){return chunkVNWHAGSI_js.kb}});Object.defineProperty(exports,"FlexItem",{enumerable:true,get:function(){return chunkVNWHAGSI_js.lb}});Object.defineProperty(exports,"FolderAlertIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Ba}});Object.defineProperty(exports,"FolderInfoIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Ja}});Object.defineProperty(exports,"Header",{enumerable:true,get:function(){return chunkVNWHAGSI_js._a}});Object.defineProperty(exports,"HeaderDelimeter",{enumerable:true,get:function(){return chunkVNWHAGSI_js.$a}});Object.defineProperty(exports,"HeaderSection",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ab}});Object.defineProperty(exports,"HomepageIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.T}});Object.defineProperty(exports,"ImageIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Qa}});Object.defineProperty(exports,"InfoCircleFilledIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.oa}});Object.defineProperty(exports,"InfoCircleIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.U}});Object.defineProperty(exports,"Input",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ib}});Object.defineProperty(exports,"IosIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ya}});Object.defineProperty(exports,"Label",{enumerable:true,get:function(){return chunkVNWHAGSI_js.rb}});Object.defineProperty(exports,"Line",{enumerable:true,get:function(){return chunkVNWHAGSI_js.nb}});Object.defineProperty(exports,"LinerProgress",{enumerable:true,get:function(){return chunkVNWHAGSI_js.tb}});Object.defineProperty(exports,"ListMenu",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Xa}});Object.defineProperty(exports,"ListMenuItem",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Ya}});Object.defineProperty(exports,"ListMenuSection",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Za}});Object.defineProperty(exports,"MapRadarIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.V}});Object.defineProperty(exports,"MaximizeIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ra}});Object.defineProperty(exports,"MicrosoftIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Aa}});Object.defineProperty(exports,"MinusIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Pa}});Object.defineProperty(exports,"Modal",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Bb}});Object.defineProperty(exports,"ModalBody",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Db}});Object.defineProperty(exports,"ModalFooter",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Eb}});Object.defineProperty(exports,"ModalHeader",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Cb}});Object.defineProperty(exports,"MoonIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.W}});Object.defineProperty(exports,"OpenLockIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.X}});Object.defineProperty(exports,"OrganizationIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Y}});Object.defineProperty(exports,"Overlay",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Ab}});Object.defineProperty(exports,"Pagination",{enumerable:true,get:function(){return chunkVNWHAGSI_js.cb}});Object.defineProperty(exports,"PassportIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Ea}});Object.defineProperty(exports,"PasswordFinderIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Z}});Object.defineProperty(exports,"PencilIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Ga}});Object.defineProperty(exports,"PhonebookIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js._}});Object.defineProperty(exports,"PlaneIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.va}});Object.defineProperty(exports,"PlusIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ma}});Object.defineProperty(exports,"PointIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Fa}});Object.defineProperty(exports,"PrintIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.$}});Object.defineProperty(exports,"Profiler2Icon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.aa}});Object.defineProperty(exports,"ProfilerIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ba}});Object.defineProperty(exports,"RelationIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Ca}});Object.defineProperty(exports,"RelationPointsIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Da}});Object.defineProperty(exports,"RotateLeftIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Ka}});Object.defineProperty(exports,"RotateRightIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.La}});Object.defineProperty(exports,"RowActionsMenu",{enumerable:true,get:function(){return chunkVNWHAGSI_js.hb}});Object.defineProperty(exports,"SandBoxIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ca}});Object.defineProperty(exports,"SearchIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.da}});Object.defineProperty(exports,"Select",{enumerable:true,get:function(){return chunkVNWHAGSI_js.gb}});Object.defineProperty(exports,"ShipIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.wa}});Object.defineProperty(exports,"Sidebar",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Sa}});Object.defineProperty(exports,"SidebarContext",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Ra}});Object.defineProperty(exports,"SidebarDelimeter",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Ua}});Object.defineProperty(exports,"SidebarItem",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Ta}});Object.defineProperty(exports,"SidebarSection",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Va}});Object.defineProperty(exports,"StatisticIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ea}});Object.defineProperty(exports,"SunIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.fa}});Object.defineProperty(exports,"Switch",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ub}});Object.defineProperty(exports,"Table",{enumerable:true,get:function(){return chunkVNWHAGSI_js.bb}});Object.defineProperty(exports,"Tag",{enumerable:true,get:function(){return chunkVNWHAGSI_js.pb}});Object.defineProperty(exports,"TailwindExample",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Fb}});Object.defineProperty(exports,"ThemeProvider",{enumerable:true,get:function(){return chunkVNWHAGSI_js.s}});Object.defineProperty(exports,"Tooltip",{enumerable:true,get:function(){return chunkVNWHAGSI_js.yb}});Object.defineProperty(exports,"Typography",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Wa}});Object.defineProperty(exports,"UnfoldIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.pa}});Object.defineProperty(exports,"UpRightArrowCircleIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ga}});Object.defineProperty(exports,"UploadImageIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Ma}});Object.defineProperty(exports,"UserInCircleIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.Ha}});Object.defineProperty(exports,"UsersIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.na}});Object.defineProperty(exports,"VectorIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ha}});Object.defineProperty(exports,"WayIcon",{enumerable:true,get:function(){return chunkVNWHAGSI_js.ua}});Object.defineProperty(exports,"convertPaletteToRem",{enumerable:true,get:function(){return chunkVNWHAGSI_js.f}});Object.defineProperty(exports,"createComponent",{enumerable:true,get:function(){return chunkVNWHAGSI_js.w}});Object.defineProperty(exports,"createStyledComponent",{enumerable:true,get:function(){return chunkVNWHAGSI_js.x}});Object.defineProperty(exports,"darkTheme",{enumerable:true,get:function(){return chunkVNWHAGSI_js.p}});Object.defineProperty(exports,"darkThemePx",{enumerable:true,get:function(){return chunkVNWHAGSI_js.o}});Object.defineProperty(exports,"destructSpaceProps",{enumerable:true,get:function(){return chunkVNWHAGSI_js.t}});Object.defineProperty(exports,"generatePropertySpaceStyle",{enumerable:true,get:function(){return chunkVNWHAGSI_js.u}});Object.defineProperty(exports,"getBreakpoint",{enumerable:true,get:function(){return chunkVNWHAGSI_js.k}});Object.defineProperty(exports,"getButtonSizeStyles",{enumerable:true,get:function(){return chunkVNWHAGSI_js.h}});Object.defineProperty(exports,"getButtonStyles",{enumerable:true,get:function(){return chunkVNWHAGSI_js.g}});Object.defineProperty(exports,"getInputStyles",{enumerable:true,get:function(){return chunkVNWHAGSI_js.i}});Object.defineProperty(exports,"getResponsiveProps",{enumerable:true,get:function(){return chunkVNWHAGSI_js.v}});Object.defineProperty(exports,"getTypographyStyles",{enumerable:true,get:function(){return chunkVNWHAGSI_js.j}});Object.defineProperty(exports,"hexToRgba",{enumerable:true,get:function(){return chunkVNWHAGSI_js.l}});Object.defineProperty(exports,"lightTheme",{enumerable:true,get:function(){return chunkVNWHAGSI_js.n}});Object.defineProperty(exports,"lightThemePx",{enumerable:true,get:function(){return chunkVNWHAGSI_js.m}});Object.defineProperty(exports,"propToRem",{enumerable:true,get:function(){return chunkVNWHAGSI_js.e}});Object.defineProperty(exports,"pxToRem",{enumerable:true,get:function(){return chunkVNWHAGSI_js.c}});Object.defineProperty(exports,"remToPx",{enumerable:true,get:function(){return chunkVNWHAGSI_js.d}});Object.defineProperty(exports,"resolveThemeColor",{enumerable:true,get:function(){return chunkVNWHAGSI_js.b}});Object.defineProperty(exports,"useBreakpoint",{enumerable:true,get:function(){return chunkVNWHAGSI_js.r}});Object.defineProperty(exports,"useContextMenuControl",{enumerable:true,get:function(){return chunkVNWHAGSI_js.fb}});Object.defineProperty(exports,"useTheme",{enumerable:true,get:function(){return chunkVNWHAGSI_js.y}});Object.defineProperty(exports,"ServerStyleSheet",{enumerable:true,get:function(){return Ht.ServerStyleSheet}});Object.defineProperty(exports,"StyleSheetManager",{enumerable:true,get:function(){return Ht.StyleSheetManager}});exports.Container=Pi;exports.FileViewer=gs;exports.FullscreenCard=sa;exports.Graph2D=cr;exports.PageContent=ai;exports.PageLayout=ei;exports.Styled=zt;exports.StyledContainer=Tt;exports.StyledMain=jt;exports.SubNav=hi;exports.Typewriter=Ds;//# sourceMappingURL=index.js.map
66
+ `);var at=chunkT4EQUM6E_js.a(({url:u})=>{let[h,b]=ot.useState(1),[N,P]=ot.useState(),k=ot__default.default.useRef(null),v=ot__default.default.useRef(null),B=chunkT4EQUM6E_js.a(()=>{b($=>Math.min($+.25,4));},"handleZoomIn");return jsxRuntime.jsxs("div",{ref:v,className:"h-full w-full flex flex-col",children:[jsxRuntime.jsxs("div",{className:"flex justify-center items-stretch p-5.5 gap-1 border-b border-gray-200 relative ",children:[jsxRuntime.jsx(chunkT4EQUM6E_js.z,{variant:"outlined","aria-label":"zoom-out",color:"secondary",size:"small",icon:jsxRuntime.jsx(chunkT4EQUM6E_js.Pa,{style:{width:20,height:20}}),onClick:chunkT4EQUM6E_js.a(()=>{b($=>Math.max($-.25,.25));},"handleZoomOut"),disabled:h<=.25,p:5}),jsxRuntime.jsxs(chunkT4EQUM6E_js.mb,{py:5,px:8,children:[h*100,"%"]}),jsxRuntime.jsx(chunkT4EQUM6E_js.z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"secondary",icon:jsxRuntime.jsx(chunkT4EQUM6E_js.ma,{style:{width:14,height:14}}),onClick:B,disabled:h>=4,p:8})]}),jsxRuntime.jsx("div",{className:"h-full w-full overflow-auto flex items-center justify-center",children:jsxRuntime.jsx("img",{src:u,ref:k,alt:"image",className:"block w-auto max-w-none object-contain",style:{transition:"height 0.2s ease-in-out",marginInline:"auto",marginBlock:10,flexShrink:0,...N==="width"&&{width:`calc(${h*100}% - 20px)`},...N==="height"&&{height:`calc(${h*100}% - 20px)`}},onLoad:()=>{if(k.current&&v.current){let $=k.current.width,Y=k.current.height,D=$<Y?"height":"width";P(D);}}})})]})},"ImageDriver");var ct=chunkT4EQUM6E_js.a(({url:u})=>jsxRuntime.jsx("div",{className:"flex flex-col justify-center items-center w-full h-full p-5.5",children:jsxRuntime.jsx("audio",{controls:true,src:u,className:"w-full"})}),"AudioDriver");var Le=chunkT4EQUM6E_js.a(({url:u})=>{let[h,b]=ot.useState(null),[N,P]=ot.useState(false),[k,v]=ot.useState(true),[B,H]=ot.useState(null);return ot.useEffect(()=>{P(true);},[]),ot.useEffect(()=>{if(!N)return;chunkT4EQUM6E_js.a(async()=>{try{let Y=await import('./PdfDriver-NJLGUDCR.js');b(()=>Y.PdfDriver),v(!1);}catch(Y){console.error("Failed to load PDF driver:",Y),H("Failed to load PDF viewer"),v(false);}},"loadPdfDriver")();},[N]),N?k?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})}):B||!h?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-red-500 text-center",children:jsxRuntime.jsx("p",{children:B||"PDF viewer unavailable"})})}):jsxRuntime.jsx(h,{url:u}):jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})})},"PdfDriverWrapper");var dt=chunkT4EQUM6E_js.a(({url:u,extension:h})=>jsxRuntime.jsxs("a",{href:u,download:`file.${h}`,className:"text-blue-500 underline",children:["Download ",h.toUpperCase()," file"]}),"DownloadDriver");var ht=50,br=1e4,pt=chunkT4EQUM6E_js.a(({url:u,buffer:h})=>{let[b,N]=ot.useState(""),[P,k]=ot.useState(null);return ot.useEffect(()=>{chunkT4EQUM6E_js.a(async()=>{try{let B=h;if(!B&&u&&(B=await(await fetch(u)).arrayBuffer()),!B){k("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(B.byteLength/(1024*1024)>ht){k(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${ht} \u041C\u0411)`);return}let $=yr__default.default.convertToHtml({arrayBuffer:B}),Y=new Promise((q,ae)=>setTimeout(()=>ae(new Error("\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0430\u0446\u0456\u044F DOCX \u0437\u0430\u0439\u043D\u044F\u043B\u0430 \u043D\u0430\u0434\u0442\u043E \u0431\u0430\u0433\u0430\u0442\u043E \u0447\u0430\u0441\u0443")),br)),D=await Promise.race([$,Y]);N(D.value);}catch(B){k(B?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B");}},"fetchAndConvert")();},[u,h]),P?jsxRuntime.jsx("div",{className:"text-red-500",children:P}):b?jsxRuntime.jsx("div",{dangerouslySetInnerHTML:{__html:b},className:"w-full h-full overflow-auto p-5"}):null},"DocxDriver");var kr=chunkT4EQUM6E_js.a(u=>({js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",json:"json",html:"html",css:"css",scss:"scss",py:"python",java:"java",cpp:"cpp",c:"c",cs:"csharp",php:"php",rb:"ruby",go:"go",rs:"rust",swift:"swift",kt:"kotlin",xml:"xml",yaml:"yaml",yml:"yaml",md:"markdown",sql:"sql",sh:"bash",bash:"bash",txt:"text"})[u]||"text","getLanguageFromExtension"),gt=chunkT4EQUM6E_js.a(({url:u,extension:h})=>{let[b,N]=ot.useState(""),[P,k]=ot.useState(true),[v,B]=ot.useState(null);if(ot.useEffect(()=>{chunkT4EQUM6E_js.a(async()=>{try{k(!0),B(null);let D=await fetch(u);if(!D.ok)throw new Error(`Failed to load file: ${D.statusText}`);let q=await D.text();N(q);}catch(D){B(D instanceof Error?D.message:"Failed to load text content");}finally{k(false);}},"loadTextContent")();},[u]),P)return jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:jsxRuntime.jsx("div",{className:"text-gray-500",children:"Loading text content..."})});if(v)return jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:jsxRuntime.jsxs("div",{className:"text-red-500",children:["Error: ",v]})});let H=kr(h);return jsxRuntime.jsx("div",{className:"h-full w-full overflow-auto",children:H!=="text"?jsxRuntime.jsx(reactSyntaxHighlighter.Prism,{className:"min-h-full! m-0! py-0!",language:H,style:prism.darcula,showLineNumbers:true,wrapLines:true,children:b}):jsxRuntime.jsx("pre",{className:"whitespace-pre-wrap p-4 text-sm font-mono bg-gray-50 min-h-full",children:b})})},"TextDriver");var yt=chunkT4EQUM6E_js.a(({url:u})=>jsxRuntime.jsx("div",{className:"flex flex-col justify-center items-center w-full h-full",children:jsxRuntime.jsx("video",{controls:true,src:u,className:"w-full max-h-full"})}),"VideoDriver");var bt=ot.memo(chunkT4EQUM6E_js.a(function({extension:h,blob:b,path:N,buffer:P}){console.log("Driver props:",{extension:h,blob:b,path:N,buffer:P});let k=h.toLocaleLowerCase().trim(),v;if(N?v=N:b&&(v=URL.createObjectURL(b)),v){if(["jpeg","jpg","png","gif","bmp","webp"].includes(k))return jsxRuntime.jsx(at,{url:v});if(["mp3","wav","ogg","flac"].includes(k))return jsxRuntime.jsx(ct,{url:v});if(["mp4","webm"].includes(k))return jsxRuntime.jsx(yt,{url:v});if(h==="pdf")return jsxRuntime.jsx(Le,{url:v});if(["xlsx","pptx"].includes(k))return jsxRuntime.jsx(dt,{url:v,extension:k});if(["txt","js","jsx","ts","tsx","json","html","css","scss","py","java","cpp","c","cs","php","rb","go","rs","swift","kt","xml","yaml","yml","md","sql","sh","bash"].includes(k))return jsxRuntime.jsx(gt,{url:v,extension:k})}return k==="docx"?jsxRuntime.jsx(pt,{url:v,buffer:P}):jsxRuntime.jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsxRuntime.jsx(chunkT4EQUM6E_js.mb,{children:jsxRuntime.jsx(chunkT4EQUM6E_js.Wa,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:"Sorry, this file type isn\u2019t supported yet."})})})},"Driver"));var gs=chunkT4EQUM6E_js.a(u=>jsxRuntime.jsx("div",{className:"h-full w-full",children:jsxRuntime.jsx(bt,{...u})}),"FileViewer");var Ds=chunkT4EQUM6E_js.a(({text:u,speed:h=50,onDone:b,...N})=>{let[P,k]=ot.useState("");return ot.useEffect(()=>{let v=0,B=setInterval(()=>{k(H=>H+u.charAt(v)),v++,v>=u.length&&(clearInterval(B),b?.());},h);return ()=>clearInterval(B)},[u,h]),ot.useEffect(()=>{console.log("rerendering");},[u]),jsxRuntime.jsx(chunkT4EQUM6E_js.Wa,{...N,children:P})},"Typewriter");Object.defineProperty(exports,"Alert",{enumerable:true,get:function(){return chunkT4EQUM6E_js.qb}});Object.defineProperty(exports,"AlertIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.A}});Object.defineProperty(exports,"AndroidIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.za}});Object.defineProperty(exports,"ApiIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.B}});Object.defineProperty(exports,"ArrowCircleTopRightIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.C}});Object.defineProperty(exports,"ArrowRightIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.D}});Object.defineProperty(exports,"BallsMenu",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ia}});Object.defineProperty(exports,"Box",{enumerable:true,get:function(){return chunkT4EQUM6E_js.mb}});Object.defineProperty(exports,"BreakpointProvider",{enumerable:true,get:function(){return chunkT4EQUM6E_js.q}});Object.defineProperty(exports,"BugReportIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.E}});Object.defineProperty(exports,"BurgerMenuIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Na}});Object.defineProperty(exports,"BusIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.sa}});Object.defineProperty(exports,"Button",{enumerable:true,get:function(){return chunkT4EQUM6E_js.z}});Object.defineProperty(exports,"CalendarIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.F}});Object.defineProperty(exports,"CarIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ta}});Object.defineProperty(exports,"ChatField",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Gb}});Object.defineProperty(exports,"CheckIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ja}});Object.defineProperty(exports,"Checkbox",{enumerable:true,get:function(){return chunkT4EQUM6E_js.sb}});Object.defineProperty(exports,"ChevronDownIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ka}});Object.defineProperty(exports,"ChevronLeftIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.G}});Object.defineProperty(exports,"ChevronRightIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.H}});Object.defineProperty(exports,"ChevronUpIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.la}});Object.defineProperty(exports,"ClockIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Oa}});Object.defineProperty(exports,"CloseCircleIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.I}});Object.defineProperty(exports,"ClosedLockIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.J}});Object.defineProperty(exports,"ContentLoader",{enumerable:true,get:function(){return chunkT4EQUM6E_js.zb}});Object.defineProperty(exports,"ContextMenu",{enumerable:true,get:function(){return chunkT4EQUM6E_js.db}});Object.defineProperty(exports,"ContextMenuDelimiter",{enumerable:true,get:function(){return chunkT4EQUM6E_js.eb}});Object.defineProperty(exports,"CrossIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.qa}});Object.defineProperty(exports,"DataSetsIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.K}});Object.defineProperty(exports,"DeepSearchIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.L}});Object.defineProperty(exports,"DisabledVisibleIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.M}});Object.defineProperty(exports,"DocsIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.N}});Object.defineProperty(exports,"DownloadIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.O}});Object.defineProperty(exports,"Drawer",{enumerable:true,get:function(){return chunkT4EQUM6E_js.vb}});Object.defineProperty(exports,"DrawerBody",{enumerable:true,get:function(){return chunkT4EQUM6E_js.xb}});Object.defineProperty(exports,"DrawerHeader",{enumerable:true,get:function(){return chunkT4EQUM6E_js.wb}});Object.defineProperty(exports,"EditUserIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.P}});Object.defineProperty(exports,"EmptyData",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ob}});Object.defineProperty(exports,"EnableVisibleIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Q}});Object.defineProperty(exports,"EnterArrowLeftIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.R}});Object.defineProperty(exports,"FileField",{enumerable:true,get:function(){return chunkT4EQUM6E_js.jb}});Object.defineProperty(exports,"FileIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.xa}});Object.defineProperty(exports,"FiltersIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.S}});Object.defineProperty(exports,"FlashIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Ia}});Object.defineProperty(exports,"FlexContainer",{enumerable:true,get:function(){return chunkT4EQUM6E_js.kb}});Object.defineProperty(exports,"FlexItem",{enumerable:true,get:function(){return chunkT4EQUM6E_js.lb}});Object.defineProperty(exports,"FolderAlertIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Ba}});Object.defineProperty(exports,"FolderInfoIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Ja}});Object.defineProperty(exports,"Header",{enumerable:true,get:function(){return chunkT4EQUM6E_js._a}});Object.defineProperty(exports,"HeaderDelimeter",{enumerable:true,get:function(){return chunkT4EQUM6E_js.$a}});Object.defineProperty(exports,"HeaderSection",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ab}});Object.defineProperty(exports,"HomepageIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.T}});Object.defineProperty(exports,"ImageIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Qa}});Object.defineProperty(exports,"InfoCircleFilledIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.oa}});Object.defineProperty(exports,"InfoCircleIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.U}});Object.defineProperty(exports,"Input",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ib}});Object.defineProperty(exports,"IosIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ya}});Object.defineProperty(exports,"Label",{enumerable:true,get:function(){return chunkT4EQUM6E_js.rb}});Object.defineProperty(exports,"Line",{enumerable:true,get:function(){return chunkT4EQUM6E_js.nb}});Object.defineProperty(exports,"LinerProgress",{enumerable:true,get:function(){return chunkT4EQUM6E_js.tb}});Object.defineProperty(exports,"ListMenu",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Xa}});Object.defineProperty(exports,"ListMenuItem",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Ya}});Object.defineProperty(exports,"ListMenuSection",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Za}});Object.defineProperty(exports,"MapRadarIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.V}});Object.defineProperty(exports,"MaximizeIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ra}});Object.defineProperty(exports,"MicrosoftIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Aa}});Object.defineProperty(exports,"MinusIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Pa}});Object.defineProperty(exports,"Modal",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Bb}});Object.defineProperty(exports,"ModalBody",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Db}});Object.defineProperty(exports,"ModalFooter",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Eb}});Object.defineProperty(exports,"ModalHeader",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Cb}});Object.defineProperty(exports,"MoonIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.W}});Object.defineProperty(exports,"OpenLockIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.X}});Object.defineProperty(exports,"OrganizationIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Y}});Object.defineProperty(exports,"Overlay",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Ab}});Object.defineProperty(exports,"Pagination",{enumerable:true,get:function(){return chunkT4EQUM6E_js.cb}});Object.defineProperty(exports,"PassportIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Ea}});Object.defineProperty(exports,"PasswordFinderIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Z}});Object.defineProperty(exports,"PencilIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Ga}});Object.defineProperty(exports,"PhonebookIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js._}});Object.defineProperty(exports,"PlaneIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.va}});Object.defineProperty(exports,"PlusIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ma}});Object.defineProperty(exports,"PointIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Fa}});Object.defineProperty(exports,"PrintIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.$}});Object.defineProperty(exports,"Profiler2Icon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.aa}});Object.defineProperty(exports,"ProfilerIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ba}});Object.defineProperty(exports,"RelationIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Ca}});Object.defineProperty(exports,"RelationPointsIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Da}});Object.defineProperty(exports,"RotateLeftIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Ka}});Object.defineProperty(exports,"RotateRightIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.La}});Object.defineProperty(exports,"RowActionsMenu",{enumerable:true,get:function(){return chunkT4EQUM6E_js.hb}});Object.defineProperty(exports,"SandBoxIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ca}});Object.defineProperty(exports,"SearchIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.da}});Object.defineProperty(exports,"Select",{enumerable:true,get:function(){return chunkT4EQUM6E_js.gb}});Object.defineProperty(exports,"ShipIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.wa}});Object.defineProperty(exports,"Sidebar",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Sa}});Object.defineProperty(exports,"SidebarContext",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Ra}});Object.defineProperty(exports,"SidebarDelimeter",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Ua}});Object.defineProperty(exports,"SidebarItem",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Ta}});Object.defineProperty(exports,"SidebarSection",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Va}});Object.defineProperty(exports,"StatisticIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ea}});Object.defineProperty(exports,"SunIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.fa}});Object.defineProperty(exports,"Switch",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ub}});Object.defineProperty(exports,"Table",{enumerable:true,get:function(){return chunkT4EQUM6E_js.bb}});Object.defineProperty(exports,"Tag",{enumerable:true,get:function(){return chunkT4EQUM6E_js.pb}});Object.defineProperty(exports,"TailwindExample",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Fb}});Object.defineProperty(exports,"ThemeProvider",{enumerable:true,get:function(){return chunkT4EQUM6E_js.s}});Object.defineProperty(exports,"Tooltip",{enumerable:true,get:function(){return chunkT4EQUM6E_js.yb}});Object.defineProperty(exports,"Typography",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Wa}});Object.defineProperty(exports,"UnfoldIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.pa}});Object.defineProperty(exports,"UpRightArrowCircleIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ga}});Object.defineProperty(exports,"UploadImageIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Ma}});Object.defineProperty(exports,"UserInCircleIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.Ha}});Object.defineProperty(exports,"UsersIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.na}});Object.defineProperty(exports,"VectorIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ha}});Object.defineProperty(exports,"WayIcon",{enumerable:true,get:function(){return chunkT4EQUM6E_js.ua}});Object.defineProperty(exports,"convertPaletteToRem",{enumerable:true,get:function(){return chunkT4EQUM6E_js.f}});Object.defineProperty(exports,"createComponent",{enumerable:true,get:function(){return chunkT4EQUM6E_js.w}});Object.defineProperty(exports,"createStyledComponent",{enumerable:true,get:function(){return chunkT4EQUM6E_js.x}});Object.defineProperty(exports,"darkTheme",{enumerable:true,get:function(){return chunkT4EQUM6E_js.p}});Object.defineProperty(exports,"darkThemePx",{enumerable:true,get:function(){return chunkT4EQUM6E_js.o}});Object.defineProperty(exports,"destructSpaceProps",{enumerable:true,get:function(){return chunkT4EQUM6E_js.t}});Object.defineProperty(exports,"generatePropertySpaceStyle",{enumerable:true,get:function(){return chunkT4EQUM6E_js.u}});Object.defineProperty(exports,"getBreakpoint",{enumerable:true,get:function(){return chunkT4EQUM6E_js.k}});Object.defineProperty(exports,"getButtonSizeStyles",{enumerable:true,get:function(){return chunkT4EQUM6E_js.h}});Object.defineProperty(exports,"getButtonStyles",{enumerable:true,get:function(){return chunkT4EQUM6E_js.g}});Object.defineProperty(exports,"getInputStyles",{enumerable:true,get:function(){return chunkT4EQUM6E_js.i}});Object.defineProperty(exports,"getResponsiveProps",{enumerable:true,get:function(){return chunkT4EQUM6E_js.v}});Object.defineProperty(exports,"getTypographyStyles",{enumerable:true,get:function(){return chunkT4EQUM6E_js.j}});Object.defineProperty(exports,"hexToRgba",{enumerable:true,get:function(){return chunkT4EQUM6E_js.l}});Object.defineProperty(exports,"lightTheme",{enumerable:true,get:function(){return chunkT4EQUM6E_js.n}});Object.defineProperty(exports,"lightThemePx",{enumerable:true,get:function(){return chunkT4EQUM6E_js.m}});Object.defineProperty(exports,"propToRem",{enumerable:true,get:function(){return chunkT4EQUM6E_js.e}});Object.defineProperty(exports,"pxToRem",{enumerable:true,get:function(){return chunkT4EQUM6E_js.c}});Object.defineProperty(exports,"remToPx",{enumerable:true,get:function(){return chunkT4EQUM6E_js.d}});Object.defineProperty(exports,"resolveThemeColor",{enumerable:true,get:function(){return chunkT4EQUM6E_js.b}});Object.defineProperty(exports,"useBreakpoint",{enumerable:true,get:function(){return chunkT4EQUM6E_js.r}});Object.defineProperty(exports,"useContextMenuControl",{enumerable:true,get:function(){return chunkT4EQUM6E_js.fb}});Object.defineProperty(exports,"useTheme",{enumerable:true,get:function(){return chunkT4EQUM6E_js.y}});Object.defineProperty(exports,"ServerStyleSheet",{enumerable:true,get:function(){return Ht.ServerStyleSheet}});Object.defineProperty(exports,"StyleSheetManager",{enumerable:true,get:function(){return Ht.StyleSheetManager}});exports.Container=Pi;exports.FileViewer=gs;exports.FullscreenCard=sa;exports.Graph2D=cr;exports.PageContent=ai;exports.PageLayout=ei;exports.Styled=zt;exports.StyledContainer=Tt;exports.StyledMain=jt;exports.SubNav=hi;exports.Typewriter=Ds;//# sourceMappingURL=index.js.map
67
67
  //# sourceMappingURL=index.js.map
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import {a,w,x,u,c,l,z,Pa,mb,ma,Wa}from'./chunk-K4TWSW2I.mjs';export{qb as Alert,A as AlertIcon,za as AndroidIcon,B as ApiIcon,C as ArrowCircleTopRightIcon,D as ArrowRightIcon,ia as BallsMenu,mb as Box,q as BreakpointProvider,E as BugReportIcon,Na as BurgerMenuIcon,sa as BusIcon,z as Button,F as CalendarIcon,ta as CarIcon,Gb as ChatField,ja as CheckIcon,sb as Checkbox,ka as ChevronDownIcon,G as ChevronLeftIcon,H as ChevronRightIcon,la as ChevronUpIcon,Oa as ClockIcon,I as CloseCircleIcon,J as ClosedLockIcon,zb as ContentLoader,db as ContextMenu,eb as ContextMenuDelimiter,qa as CrossIcon,K as DataSetsIcon,L as DeepSearchIcon,M as DisabledVisibleIcon,N as DocsIcon,O as DownloadIcon,vb as Drawer,xb as DrawerBody,wb as DrawerHeader,P as EditUserIcon,ob as EmptyData,Q as EnableVisibleIcon,R as EnterArrowLeftIcon,jb as FileField,xa as FileIcon,S as FiltersIcon,Ia as FlashIcon,kb as FlexContainer,lb as FlexItem,Ba as FolderAlertIcon,Ja as FolderInfoIcon,_a as Header,$a as HeaderDelimeter,ab as HeaderSection,T as HomepageIcon,Qa as ImageIcon,oa as InfoCircleFilledIcon,U as InfoCircleIcon,ib as Input,ya as IosIcon,rb as Label,nb as Line,tb as LinerProgress,Xa as ListMenu,Ya as ListMenuItem,Za as ListMenuSection,V as MapRadarIcon,ra as MaximizeIcon,Aa as MicrosoftIcon,Pa as MinusIcon,Bb as Modal,Db as ModalBody,Eb as ModalFooter,Cb as ModalHeader,W as MoonIcon,X as OpenLockIcon,Y as OrganizationIcon,Ab as Overlay,cb as Pagination,Ea as PassportIcon,Z as PasswordFinderIcon,Ga as PencilIcon,_ as PhonebookIcon,va as PlaneIcon,ma as PlusIcon,Fa as PointIcon,$ as PrintIcon,aa as Profiler2Icon,ba as ProfilerIcon,Ca as RelationIcon,Da as RelationPointsIcon,Ka as RotateLeftIcon,La as RotateRightIcon,hb as RowActionsMenu,ca as SandBoxIcon,da as SearchIcon,gb as Select,wa as ShipIcon,Sa as Sidebar,Ra as SidebarContext,Ua as SidebarDelimeter,Ta as SidebarItem,Va as SidebarSection,ea as StatisticIcon,fa as SunIcon,ub as Switch,bb as Table,pb as Tag,Fb as TailwindExample,s as ThemeProvider,yb as Tooltip,Wa as Typography,pa as UnfoldIcon,ga as UpRightArrowCircleIcon,Ma as UploadImageIcon,Ha as UserInCircleIcon,na as UsersIcon,ha as VectorIcon,ua as WayIcon,f as convertPaletteToRem,w as createComponent,x as createStyledComponent,p as darkTheme,o as darkThemePx,t as destructSpaceProps,u as generatePropertySpaceStyle,k as getBreakpoint,h as getButtonSizeStyles,g as getButtonStyles,i as getInputStyles,v as getResponsiveProps,j as getTypographyStyles,l as hexToRgba,n as lightTheme,m as lightThemePx,e as propToRem,c as pxToRem,d as remToPx,b as resolveThemeColor,r as useBreakpoint,fb as useContextMenuControl,y as useTheme}from'./chunk-K4TWSW2I.mjs';import Ot,{styled,useTheme}from'styled-components';export{ServerStyleSheet,StyleSheetManager}from'styled-components';import {jsx,jsxs}from'react/jsx-runtime';import nt,{forwardRef,useState,useRef,useMemo,useCallback,useImperativeHandle,useEffect,useLayoutEffect,memo}from'react';import Zt from'lodash.clonedeep';import {scaleOrdinal,schemeCategory10,forceSimulation,forceLink,forceManyBody,forceX,forceY,forceCenter,forceCollide}from'd3';import $t from'react-content-loader';import mr from'mammoth';import {Prism}from'react-syntax-highlighter';import {darcula}from'react-syntax-highlighter/dist/esm/styles/prism';var Qo=a(({children:u,className:h})=>jsx(Ct,{className:h,children:u}),"PageLayout"),Ct=styled.div`
1
+ import {a,w,x,u,c,l,z,Pa,mb,ma,Wa}from'./chunk-RNXLH7YZ.mjs';export{qb as Alert,A as AlertIcon,za as AndroidIcon,B as ApiIcon,C as ArrowCircleTopRightIcon,D as ArrowRightIcon,ia as BallsMenu,mb as Box,q as BreakpointProvider,E as BugReportIcon,Na as BurgerMenuIcon,sa as BusIcon,z as Button,F as CalendarIcon,ta as CarIcon,Gb as ChatField,ja as CheckIcon,sb as Checkbox,ka as ChevronDownIcon,G as ChevronLeftIcon,H as ChevronRightIcon,la as ChevronUpIcon,Oa as ClockIcon,I as CloseCircleIcon,J as ClosedLockIcon,zb as ContentLoader,db as ContextMenu,eb as ContextMenuDelimiter,qa as CrossIcon,K as DataSetsIcon,L as DeepSearchIcon,M as DisabledVisibleIcon,N as DocsIcon,O as DownloadIcon,vb as Drawer,xb as DrawerBody,wb as DrawerHeader,P as EditUserIcon,ob as EmptyData,Q as EnableVisibleIcon,R as EnterArrowLeftIcon,jb as FileField,xa as FileIcon,S as FiltersIcon,Ia as FlashIcon,kb as FlexContainer,lb as FlexItem,Ba as FolderAlertIcon,Ja as FolderInfoIcon,_a as Header,$a as HeaderDelimeter,ab as HeaderSection,T as HomepageIcon,Qa as ImageIcon,oa as InfoCircleFilledIcon,U as InfoCircleIcon,ib as Input,ya as IosIcon,rb as Label,nb as Line,tb as LinerProgress,Xa as ListMenu,Ya as ListMenuItem,Za as ListMenuSection,V as MapRadarIcon,ra as MaximizeIcon,Aa as MicrosoftIcon,Pa as MinusIcon,Bb as Modal,Db as ModalBody,Eb as ModalFooter,Cb as ModalHeader,W as MoonIcon,X as OpenLockIcon,Y as OrganizationIcon,Ab as Overlay,cb as Pagination,Ea as PassportIcon,Z as PasswordFinderIcon,Ga as PencilIcon,_ as PhonebookIcon,va as PlaneIcon,ma as PlusIcon,Fa as PointIcon,$ as PrintIcon,aa as Profiler2Icon,ba as ProfilerIcon,Ca as RelationIcon,Da as RelationPointsIcon,Ka as RotateLeftIcon,La as RotateRightIcon,hb as RowActionsMenu,ca as SandBoxIcon,da as SearchIcon,gb as Select,wa as ShipIcon,Sa as Sidebar,Ra as SidebarContext,Ua as SidebarDelimeter,Ta as SidebarItem,Va as SidebarSection,ea as StatisticIcon,fa as SunIcon,ub as Switch,bb as Table,pb as Tag,Fb as TailwindExample,s as ThemeProvider,yb as Tooltip,Wa as Typography,pa as UnfoldIcon,ga as UpRightArrowCircleIcon,Ma as UploadImageIcon,Ha as UserInCircleIcon,na as UsersIcon,ha as VectorIcon,ua as WayIcon,f as convertPaletteToRem,w as createComponent,x as createStyledComponent,p as darkTheme,o as darkThemePx,t as destructSpaceProps,u as generatePropertySpaceStyle,k as getBreakpoint,h as getButtonSizeStyles,g as getButtonStyles,i as getInputStyles,v as getResponsiveProps,j as getTypographyStyles,l as hexToRgba,n as lightTheme,m as lightThemePx,e as propToRem,c as pxToRem,d as remToPx,b as resolveThemeColor,r as useBreakpoint,fb as useContextMenuControl,y as useTheme}from'./chunk-RNXLH7YZ.mjs';import Ot,{styled,useTheme}from'styled-components';export{ServerStyleSheet,StyleSheetManager}from'styled-components';import {jsx,jsxs}from'react/jsx-runtime';import nt,{forwardRef,useState,useRef,useMemo,useCallback,useImperativeHandle,useEffect,useLayoutEffect,memo}from'react';import Zt from'lodash.clonedeep';import {scaleOrdinal,schemeCategory10,forceSimulation,forceLink,forceManyBody,forceX,forceY,forceCenter,forceCollide}from'd3';import $t from'react-content-loader';import mr from'mammoth';import {Prism}from'react-syntax-highlighter';import {darcula}from'react-syntax-highlighter/dist/esm/styles/prism';var Qo=a(({children:u,className:h})=>jsx(Ct,{className:h,children:u}),"PageLayout"),Ct=styled.div`
2
2
  display: grid;
3
3
  min-height: 100dvh;
4
4
  position: relative;
@@ -63,5 +63,5 @@ ${u?`
63
63
  `:""}
64
64
 
65
65
  min-width: 0;
66
- `);var it=a(({url:u})=>{let[h,w]=useState(1),[P,M]=useState(),k=nt.useRef(null),v=nt.useRef(null),F=a(()=>{w($=>Math.min($+.25,4));},"handleZoomIn");return jsxs("div",{ref:v,className:"h-full w-full flex flex-col",children:[jsxs("div",{className:"flex justify-center items-stretch p-5.5 gap-1 border-b border-gray-200 relative ",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"secondary",size:"small",icon:jsx(Pa,{style:{width:20,height:20}}),onClick:a(()=>{w($=>Math.max($-.25,.25));},"handleZoomOut"),disabled:h<=.25,p:5}),jsxs(mb,{py:5,px:8,children:[h*100,"%"]}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"secondary",icon:jsx(ma,{style:{width:14,height:14}}),onClick:F,disabled:h>=4,p:8})]}),jsx("div",{className:"h-full w-full overflow-auto flex items-center justify-center",children:jsx("img",{src:u,ref:k,alt:"image",className:"block w-auto max-w-none object-contain",style:{transition:"height 0.2s ease-in-out",marginInline:"auto",marginBlock:10,flexShrink:0,...P==="width"&&{width:`calc(${h*100}% - 20px)`},...P==="height"&&{height:`calc(${h*100}% - 20px)`}},onLoad:()=>{if(k.current&&v.current){let $=k.current.width,W=k.current.height,D=$<W?"height":"width";M(D);}}})})]})},"ImageDriver");var st=a(({url:u})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full p-5.5",children:jsx("audio",{controls:true,src:u,className:"w-full"})}),"AudioDriver");var Te=a(({url:u})=>{let[h,w]=useState(null),[P,M]=useState(false),[k,v]=useState(true),[F,O]=useState(null);return useEffect(()=>{M(true);},[]),useEffect(()=>{if(!P)return;a(async()=>{try{let W=await import('./PdfDriver-KZVVJXLT.mjs');w(()=>W.PdfDriver),v(!1);}catch(W){console.error("Failed to load PDF driver:",W),O("Failed to load PDF viewer"),v(false);}},"loadPdfDriver")();},[P]),P?k?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})}):F||!h?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-red-500 text-center",children:jsx("p",{children:F||"PDF viewer unavailable"})})}):jsx(h,{url:u}):jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})})},"PdfDriverWrapper");var lt=a(({url:u,extension:h})=>jsxs("a",{href:u,download:`file.${h}`,className:"text-blue-500 underline",children:["Download ",h.toUpperCase()," file"]}),"DownloadDriver");var ut=50,yr=1e4,ft=a(({url:u,buffer:h})=>{let[w,P]=useState(""),[M,k]=useState(null);return useEffect(()=>{a(async()=>{try{let F=h;if(!F&&u&&(F=await(await fetch(u)).arrayBuffer()),!F){k("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(F.byteLength/(1024*1024)>ut){k(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${ut} \u041C\u0411)`);return}let $=mr.convertToHtml({arrayBuffer:F}),W=new Promise((G,ie)=>setTimeout(()=>ie(new Error("\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0430\u0446\u0456\u044F DOCX \u0437\u0430\u0439\u043D\u044F\u043B\u0430 \u043D\u0430\u0434\u0442\u043E \u0431\u0430\u0433\u0430\u0442\u043E \u0447\u0430\u0441\u0443")),yr)),D=await Promise.race([$,W]);P(D.value);}catch(F){k(F?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B");}},"fetchAndConvert")();},[u,h]),M?jsx("div",{className:"text-red-500",children:M}):w?jsx("div",{dangerouslySetInnerHTML:{__html:w},className:"w-full h-full overflow-auto p-5"}):null},"DocxDriver");var xr=a(u=>({js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",json:"json",html:"html",css:"css",scss:"scss",py:"python",java:"java",cpp:"cpp",c:"c",cs:"csharp",php:"php",rb:"ruby",go:"go",rs:"rust",swift:"swift",kt:"kotlin",xml:"xml",yaml:"yaml",yml:"yaml",md:"markdown",sql:"sql",sh:"bash",bash:"bash",txt:"text"})[u]||"text","getLanguageFromExtension"),pt=a(({url:u,extension:h})=>{let[w,P]=useState(""),[M,k]=useState(true),[v,F]=useState(null);if(useEffect(()=>{a(async()=>{try{k(!0),F(null);let D=await fetch(u);if(!D.ok)throw new Error(`Failed to load file: ${D.statusText}`);let G=await D.text();P(G);}catch(D){F(D instanceof Error?D.message:"Failed to load text content");}finally{k(false);}},"loadTextContent")();},[u]),M)return jsx("div",{className:"flex items-center justify-center p-8",children:jsx("div",{className:"text-gray-500",children:"Loading text content..."})});if(v)return jsx("div",{className:"flex items-center justify-center p-8",children:jsxs("div",{className:"text-red-500",children:["Error: ",v]})});let O=xr(h);return jsx("div",{className:"h-full w-full overflow-auto",children:O!=="text"?jsx(Prism,{className:"min-h-full! m-0! py-0!",language:O,style:darcula,showLineNumbers:true,wrapLines:true,children:w}):jsx("pre",{className:"whitespace-pre-wrap p-4 text-sm font-mono bg-gray-50 min-h-full",children:w})})},"TextDriver");var mt=a(({url:u})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full",children:jsx("video",{controls:true,src:u,className:"w-full max-h-full"})}),"VideoDriver");var yt=memo(a(function({extension:h,blob:w,path:P,buffer:M}){console.log("Driver props:",{extension:h,blob:w,path:P,buffer:M});let k=h.toLocaleLowerCase().trim(),v;if(P?v=P:w&&(v=URL.createObjectURL(w)),v){if(["jpeg","jpg","png","gif","bmp","webp"].includes(k))return jsx(it,{url:v});if(["mp3","wav","ogg","flac"].includes(k))return jsx(st,{url:v});if(["mp4","webm"].includes(k))return jsx(mt,{url:v});if(h==="pdf")return jsx(Te,{url:v});if(["xlsx","pptx"].includes(k))return jsx(lt,{url:v,extension:k});if(["txt","js","jsx","ts","tsx","json","html","css","scss","py","java","cpp","c","cs","php","rb","go","rs","swift","kt","xml","yaml","yml","md","sql","sh","bash"].includes(k))return jsx(pt,{url:v,extension:k})}return k==="docx"?jsx(ft,{url:v,buffer:M}):jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(mb,{children:jsx(Wa,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:"Sorry, this file type isn\u2019t supported yet."})})})},"Driver"));var qa=a(u=>jsx("div",{className:"h-full w-full",children:jsx(yt,{...u})}),"FileViewer");var ts=a(({text:u,speed:h=50,onDone:w,...P})=>{let[M,k]=useState("");return useEffect(()=>{let v=0,F=setInterval(()=>{k(O=>O+u.charAt(v)),v++,v>=u.length&&(clearInterval(F),w?.());},h);return ()=>clearInterval(F)},[u,h]),useEffect(()=>{console.log("rerendering");},[u]),jsx(Wa,{...P,children:M})},"Typewriter");export{bi as Container,qa as FileViewer,Zi as FullscreenCard,sr as Graph2D,oi as PageContent,Qo as PageLayout,jt as Styled,Ct as StyledContainer,It as StyledMain,li as SubNav,ts as Typewriter};//# sourceMappingURL=index.mjs.map
66
+ `);var it=a(({url:u})=>{let[h,w]=useState(1),[P,M]=useState(),k=nt.useRef(null),v=nt.useRef(null),F=a(()=>{w($=>Math.min($+.25,4));},"handleZoomIn");return jsxs("div",{ref:v,className:"h-full w-full flex flex-col",children:[jsxs("div",{className:"flex justify-center items-stretch p-5.5 gap-1 border-b border-gray-200 relative ",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"secondary",size:"small",icon:jsx(Pa,{style:{width:20,height:20}}),onClick:a(()=>{w($=>Math.max($-.25,.25));},"handleZoomOut"),disabled:h<=.25,p:5}),jsxs(mb,{py:5,px:8,children:[h*100,"%"]}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"secondary",icon:jsx(ma,{style:{width:14,height:14}}),onClick:F,disabled:h>=4,p:8})]}),jsx("div",{className:"h-full w-full overflow-auto flex items-center justify-center",children:jsx("img",{src:u,ref:k,alt:"image",className:"block w-auto max-w-none object-contain",style:{transition:"height 0.2s ease-in-out",marginInline:"auto",marginBlock:10,flexShrink:0,...P==="width"&&{width:`calc(${h*100}% - 20px)`},...P==="height"&&{height:`calc(${h*100}% - 20px)`}},onLoad:()=>{if(k.current&&v.current){let $=k.current.width,W=k.current.height,D=$<W?"height":"width";M(D);}}})})]})},"ImageDriver");var st=a(({url:u})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full p-5.5",children:jsx("audio",{controls:true,src:u,className:"w-full"})}),"AudioDriver");var Te=a(({url:u})=>{let[h,w]=useState(null),[P,M]=useState(false),[k,v]=useState(true),[F,O]=useState(null);return useEffect(()=>{M(true);},[]),useEffect(()=>{if(!P)return;a(async()=>{try{let W=await import('./PdfDriver-4SPGIXOL.mjs');w(()=>W.PdfDriver),v(!1);}catch(W){console.error("Failed to load PDF driver:",W),O("Failed to load PDF viewer"),v(false);}},"loadPdfDriver")();},[P]),P?k?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})}):F||!h?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-red-500 text-center",children:jsx("p",{children:F||"PDF viewer unavailable"})})}):jsx(h,{url:u}):jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})})},"PdfDriverWrapper");var lt=a(({url:u,extension:h})=>jsxs("a",{href:u,download:`file.${h}`,className:"text-blue-500 underline",children:["Download ",h.toUpperCase()," file"]}),"DownloadDriver");var ut=50,yr=1e4,ft=a(({url:u,buffer:h})=>{let[w,P]=useState(""),[M,k]=useState(null);return useEffect(()=>{a(async()=>{try{let F=h;if(!F&&u&&(F=await(await fetch(u)).arrayBuffer()),!F){k("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(F.byteLength/(1024*1024)>ut){k(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${ut} \u041C\u0411)`);return}let $=mr.convertToHtml({arrayBuffer:F}),W=new Promise((G,ie)=>setTimeout(()=>ie(new Error("\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0430\u0446\u0456\u044F DOCX \u0437\u0430\u0439\u043D\u044F\u043B\u0430 \u043D\u0430\u0434\u0442\u043E \u0431\u0430\u0433\u0430\u0442\u043E \u0447\u0430\u0441\u0443")),yr)),D=await Promise.race([$,W]);P(D.value);}catch(F){k(F?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B");}},"fetchAndConvert")();},[u,h]),M?jsx("div",{className:"text-red-500",children:M}):w?jsx("div",{dangerouslySetInnerHTML:{__html:w},className:"w-full h-full overflow-auto p-5"}):null},"DocxDriver");var xr=a(u=>({js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",json:"json",html:"html",css:"css",scss:"scss",py:"python",java:"java",cpp:"cpp",c:"c",cs:"csharp",php:"php",rb:"ruby",go:"go",rs:"rust",swift:"swift",kt:"kotlin",xml:"xml",yaml:"yaml",yml:"yaml",md:"markdown",sql:"sql",sh:"bash",bash:"bash",txt:"text"})[u]||"text","getLanguageFromExtension"),pt=a(({url:u,extension:h})=>{let[w,P]=useState(""),[M,k]=useState(true),[v,F]=useState(null);if(useEffect(()=>{a(async()=>{try{k(!0),F(null);let D=await fetch(u);if(!D.ok)throw new Error(`Failed to load file: ${D.statusText}`);let G=await D.text();P(G);}catch(D){F(D instanceof Error?D.message:"Failed to load text content");}finally{k(false);}},"loadTextContent")();},[u]),M)return jsx("div",{className:"flex items-center justify-center p-8",children:jsx("div",{className:"text-gray-500",children:"Loading text content..."})});if(v)return jsx("div",{className:"flex items-center justify-center p-8",children:jsxs("div",{className:"text-red-500",children:["Error: ",v]})});let O=xr(h);return jsx("div",{className:"h-full w-full overflow-auto",children:O!=="text"?jsx(Prism,{className:"min-h-full! m-0! py-0!",language:O,style:darcula,showLineNumbers:true,wrapLines:true,children:w}):jsx("pre",{className:"whitespace-pre-wrap p-4 text-sm font-mono bg-gray-50 min-h-full",children:w})})},"TextDriver");var mt=a(({url:u})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full",children:jsx("video",{controls:true,src:u,className:"w-full max-h-full"})}),"VideoDriver");var yt=memo(a(function({extension:h,blob:w,path:P,buffer:M}){console.log("Driver props:",{extension:h,blob:w,path:P,buffer:M});let k=h.toLocaleLowerCase().trim(),v;if(P?v=P:w&&(v=URL.createObjectURL(w)),v){if(["jpeg","jpg","png","gif","bmp","webp"].includes(k))return jsx(it,{url:v});if(["mp3","wav","ogg","flac"].includes(k))return jsx(st,{url:v});if(["mp4","webm"].includes(k))return jsx(mt,{url:v});if(h==="pdf")return jsx(Te,{url:v});if(["xlsx","pptx"].includes(k))return jsx(lt,{url:v,extension:k});if(["txt","js","jsx","ts","tsx","json","html","css","scss","py","java","cpp","c","cs","php","rb","go","rs","swift","kt","xml","yaml","yml","md","sql","sh","bash"].includes(k))return jsx(pt,{url:v,extension:k})}return k==="docx"?jsx(ft,{url:v,buffer:M}):jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(mb,{children:jsx(Wa,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:"Sorry, this file type isn\u2019t supported yet."})})})},"Driver"));var qa=a(u=>jsx("div",{className:"h-full w-full",children:jsx(yt,{...u})}),"FileViewer");var ts=a(({text:u,speed:h=50,onDone:w,...P})=>{let[M,k]=useState("");return useEffect(()=>{let v=0,F=setInterval(()=>{k(O=>O+u.charAt(v)),v++,v>=u.length&&(clearInterval(F),w?.());},h);return ()=>clearInterval(F)},[u,h]),useEffect(()=>{console.log("rerendering");},[u]),jsx(Wa,{...P,children:M})},"Typewriter");export{bi as Container,qa as FileViewer,Zi as FullscreenCard,sr as Graph2D,oi as PageContent,Qo as PageLayout,jt as Styled,Ct as StyledContainer,It as StyledMain,li as SubNav,ts as Typewriter};//# sourceMappingURL=index.mjs.map
67
67
  //# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyber-harbour/ui",
3
- "version": "2.0.18",
3
+ "version": "2.0.19",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",