@cyber-harbour/ui 2.0.14 → 2.0.16

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 chunkVWI5EYPS_js=require('./chunk-VWI5EYPS.js'),$t=require('styled-components'),jsxRuntime=require('react/jsx-runtime'),ot=require('react'),Zt=require('lodash.clonedeep'),d3=require('d3'),At=require('react-content-loader'),mr=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 $t__default=/*#__PURE__*/_interopDefault($t);var ot__default=/*#__PURE__*/_interopDefault(ot);var Zt__default=/*#__PURE__*/_interopDefault(Zt);var At__default=/*#__PURE__*/_interopDefault(At);var mr__default=/*#__PURE__*/_interopDefault(mr);var Ko=chunkVWI5EYPS_js.a(({children:f,className:h})=>jsxRuntime.jsx(Ct,{className:h,children:f}),"PageLayout"),Ct=$t.styled.div`
1
+ 'use strict';var chunkFRFTE6P7_js=require('./chunk-FRFTE6P7.js'),$t=require('styled-components'),jsxRuntime=require('react/jsx-runtime'),ot=require('react'),Zt=require('lodash.clonedeep'),d3=require('d3'),At=require('react-content-loader'),mr=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 $t__default=/*#__PURE__*/_interopDefault($t);var ot__default=/*#__PURE__*/_interopDefault(ot);var Zt__default=/*#__PURE__*/_interopDefault(Zt);var At__default=/*#__PURE__*/_interopDefault(At);var mr__default=/*#__PURE__*/_interopDefault(mr);var Ko=chunkFRFTE6P7_js.a(({children:f,className:h})=>jsxRuntime.jsx(Ct,{className:h,children:f}),"PageLayout"),Ct=$t.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 ni=chunkVWI5EYPS_js.a(({children:f,className:h})=>jsxRuntime.jsx(jt,{className:h,children:f}),"PageContent"),jt=$t.styled.main`
12
+ `;var ni=chunkFRFTE6P7_js.a(({children:f,className:h})=>jsxRuntime.jsx(jt,{className:h,children:f}),"PageContent"),jt=$t.styled.main`
13
13
  grid-area: content;
14
14
  min-width: 0;
15
15
  background: ${({theme:f})=>f.colors.backgroundBase};
16
- `;var li=chunkVWI5EYPS_js.a(({children:f,className:h,top:b=0})=>jsxRuntime.jsx(Et,{className:h,$top:b,onClick:C=>C.stopPropagation(),children:f}),"SubNav"),Et=$t.styled.div(({theme:f,$top:h})=>`
16
+ `;var li=chunkFRFTE6P7_js.a(({children:f,className:h,top:b=0})=>jsxRuntime.jsx(Et,{className:h,$top:b,onClick:C=>C.stopPropagation(),children:f}),"SubNav"),Et=$t.styled.div(({theme:f,$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 ${f.colors.stroke.light};
35
35
  }
36
- `);var ki=chunkVWI5EYPS_js.w(({maxWidth:f,...h})=>jsxRuntime.jsx(Bt,{...h,$maxWidth:f})),Bt=chunkVWI5EYPS_js.x($t.styled.div(({theme:f,$maxWidth:h,px:b=20})=>`
37
- ${chunkVWI5EYPS_js.u(f,"padding-inline",b)}
36
+ `);var ki=chunkFRFTE6P7_js.w(({maxWidth:f,...h})=>jsxRuntime.jsx(Bt,{...h,$maxWidth:f})),Bt=chunkFRFTE6P7_js.x($t.styled.div(({theme:f,$maxWidth:h,px:b=20})=>`
37
+ ${chunkFRFTE6P7_js.u(f,"padding-inline",b)}
38
38
  width: 100%;
39
39
  min-width: 0;
40
- max-width: ${typeof h=="number"?chunkVWI5EYPS_js.c(h,f.baseSize):h||"100%"};
40
+ max-width: ${typeof h=="number"?chunkFRFTE6P7_js.c(h,f.baseSize):h||"100%"};
41
41
  `),{ignoreStyles:["padding-inline"]});var Xt=$t__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
- `,Wt=chunkVWI5EYPS_js.a(({width:f=280,height:h=280})=>{let b=$t.useTheme();return jsxRuntime.jsx(Xt,{children:jsxRuntime.jsxs(At__default.default,{foregroundColor:b.contentLoader.foreground,backgroundColor:b.contentLoader.background,width:f,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=Wt;var ye=typeof window<"u"&&window.devicePixelRatio||1;function ar(f){return !f||f.length===0?[]:f.map(h=>{let b=new Image;b.src=h.img;let C=new Image;return C.src=h.hoverImg,{...h,normalImg:b,hoverImg:C}})}chunkVWI5EYPS_js.a(ar,"prepareButtonImages");var T={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},sr=ot.forwardRef(({loading:f,width:h,height:b,graphData:C,buttons:L=[],onNodeClick:S,onBackgroundClick:k,onNodeHover:O,onLinkHover:W,onLinkClick:$},Y)=>{let N=$t.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*ye,height:b*ye,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:V,links:te}=ot.useMemo(()=>Zt__default.default(C),[C]),[H,wt]=ot.useState([]),E=ot.useRef(null),x=ot.useRef(null),se=ot.useRef(null),xt=d3.scaleOrdinal(d3.schemeCategory10),kt=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(()=>x.current?x.current.nodes():null,[]),ce=ot.useCallback(()=>{if(!x.current)return null;let e=x.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=T.gridSpacing,i=T.dotSize;e.fillStyle=N.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();},[N.graph2D.grid.dotColor,T.gridSpacing,T.dotSize]),St=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},[]),ve=chunkVWI5EYPS_js.a(e=>{let r=Math.min(e,T.maxZoom)/T.maxZoom;return Math.max(T.fontSize*r,T.fontSize)},"calculateFontSize"),Ie=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,u=s.y-a.y,p=Math.sqrt(d*d+u*u),P=d/p,v=u/p,z=T.nodeSizeBase/2,M=T.nodeSizeBase/2,j=4,l={x:a.x+P*z,y:a.y+v*z},m={x:s.x-P*(M+j),y:s.y-v*(M+j)},g={x:s.x-P*(M+1),y:s.y-v*(M+1)},F=t.current.highlightLinks.has(o),I=F?N.graph2D.link.highlighted:N.graph2D.link.normal,B=F?1.5:.5,X=a.x+(s.x-a.x)/2,K=a.y+(s.y-a.y)/2,J=Math.atan2(u,d);if(o.label){let Z=t.current.transform.k,Q=ve(Z);e.font=`${Q}px Sans-Serif`;let Xe=e.measureText(o.label).width,We=10;e.beginPath(),e.moveTo(l.x,l.y);let Ye=p/2-(Xe+We)/2,Ge={x:a.x+P*Ye,y:a.y+v*Ye};e.lineTo(Ge.x,Ge.y),e.strokeStyle=I,e.lineWidth=B,e.stroke(),e.beginPath();let qe=p/2+(Xe+We)/2,Ue={x:a.x+P*qe,y:a.y+v*qe};e.moveTo(Ue.x,Ue.y),e.lineTo(m.x,m.y),e.strokeStyle=I,e.lineWidth=B,e.stroke();}else e.beginPath(),e.moveTo(l.x,l.y),e.lineTo(m.x,m.y),e.strokeStyle=I,e.lineWidth=B,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=I,e.fill(),e.restore(),o.label){let Z=t.current.transform.k,Q=ve(Z);e.font=`${Q}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.save(),e.translate(X,K),Math.abs(J)>Math.PI/2?e.rotate(J+Math.PI):e.rotate(J),e.fillStyle=F?N.graph2D.link.highlightedTextColor:N.graph2D.link.textColor,e.fillText(o.label,0,0),e.restore();}}));},[T,N.graph2D.link]),Re=chunkVWI5EYPS_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),u=e.measureText(d).width,p=i*.3,v=(i+p+u)/2;e.drawImage(n,r-v,o-i/2,i,i),e.fillStyle=a||"#99989C",e.fillText(d,r-v+i+p,o);}else e.drawImage(n,r-i/2,o-i/2,i,i);}catch(s){console.warn("Error rendering icon:",s);}},"drawIconWithOptionalCounter"),Ee=ot.useCallback((e,n)=>{if(!H||H.length===0||!e||!e.x||!e.y)return;let{x:r,y:o}=e,i=T.nodeSizeBase*T.nodeAreaFactor/2;n.save();let c=Math.min(H.length,8),a=Math.min(Math.PI*2/c,Math.PI);for(let s=0;s<c;s++){let d=s*a,u=(s+1)*a,p=t.current.hoveredButtonIndex===s;n.beginPath(),n.arc(r,o,i,d,u,false),n.lineTo(r,o),n.closePath(),n.lineWidth=1,n.strokeStyle=N.graph2D?.button?.stroke||"#FFFFFF",n.stroke(),n.fillStyle=p?N.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":N.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",n.fill();let P=i*.2,v=(d+u)/2,z=i-T.nodeSizeBase/2+P,M=r+Math.cos(v)*z,j=o+Math.sin(v)*z,l=H[s];if(l.loading){let m=P/2,g=P/12;n.save(),n.translate(M,j),n.rotate(t.current.spinnerAngle);for(let F=0;F<12;F++){let I=Math.PI*2*F/12,B=F/12,X=Math.cos(I)*m,K=Math.sin(I)*m;n.beginPath(),n.fillStyle=chunkVWI5EYPS_js.l(N.graph2D?.button?.spinnerColor,B),n.arc(X,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 m=p?l.hoverImg:l.normalImg,g=l.getCount?l.getCount(e):null;m.complete?Re(n,m,M,j,P,g,N.graph2D?.button?.textColor):m.onload=()=>{se.current&&Re(n,m,M,j,P,g,N.graph2D?.button?.textColor);};}}n.restore();},[H,N.graph2D?.button]),ze=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,u=r===t.current.selectedNode,p=T.nodeSizeBase,P=T.nodeSizeBase/2;if(d&&!u){let v=T.nodeSizeBase*T.nodeAreaFactor*.75/2;e.beginPath(),e.arc(o,i,v,0,2*Math.PI,false),e.fillStyle=N.graph2D.ring.highlightFill,e.fill();}if(u)if(L&&L.length>0)Ee(r,e);else {let v=T.nodeSizeBase*T.nodeAreaFactor/2;e.beginPath(),e.arc(o,i,v,0,2*Math.PI,false),e.fillStyle=N.graph2D.ring.selectionFill||N.graph2D.ring.highlightFill,e.fill();}if(e.beginPath(),e.arc(o,i,P,0,2*Math.PI),e.fillStyle=c||xt(r.group||"0"),e.fill(),s){e.save(),e.translate(o,i);let v=t.current.transform.k,z=ve(v),M=p*T.textPaddingFactor;e.font=`${z}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle=a||"#000";let j=St(s,M,e);e.fillText(j,0,0),e.restore();}}));},[N.graph2D.ring,L,Ee]),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),Ie(e),ze(e),e.restore());},[Ie,ze,je]),Fe=ot.useCallback((e,n=[],r)=>{let o=ce()||[],i=U()||[];if(!x.current||!e.length)return;let{width:c,height:a}=t.current,s=r?.smoothAppearance??false,d=r?.transitionDuration??1e3,u=new Set(i.map(l=>l.id)),p=e.filter(l=>!u.has(l.id)),P=new Set(o.map(l=>`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`)),v=n.filter(l=>{let m=`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`;return !P.has(m)});if(p.length===0&&v.length===0)return;let z=[...i,...p],M=[...o,...v];s&&(p.forEach(l=>{let m=v.filter(g=>{let F=typeof g.source=="object"?g.source.id:g.source,I=typeof g.target=="object"?g.target.id:g.target;return F===l.id&&u.has(I)||I===l.id&&u.has(F)});if(m.length>0){let g=m[0],F=typeof g.source=="object"?g.source.id===l.id?g.target:g.source.id:g.source===l.id?g.target:g.source,I=z.find(B=>B.id===F);if(I&&I.x!==void 0&&I.y!==void 0){let B=30+Math.random()*20,X=Math.random()*Math.PI*2;l.x=I.x+Math.cos(X)*B,l.y=I.y+Math.sin(X)*B,l.vx=0,l.vy=0;}}else {let g=c/2,F=a/2,I=Math.min(c,a)/4,B=Math.random()*Math.PI*2;l.x=g+Math.cos(B)*(I*Math.random()),l.y=F+Math.sin(B)*(I*Math.random()),l.vx=0,l.vy=0;}}),i.forEach(l=>{l.fx=l.x,l.fy=l.y;})),x.current.nodes(z);let j=x.current.force("link");j&&j.links(M),v.forEach(l=>{let m=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);!m||!g||(!m.neighbors&&(m.neighbors=[]),!g.neighbors&&(g.neighbors=[]),m.neighbors.push(g),g.neighbors.push(m),!m.links&&(m.links=[]),!g.links&&(g.links=[]),m.links.push(l),g.links.push(l));}),s?(x.current.alphaTarget(.3),x.current.alpha(.3),x.current.velocityDecay(.7),x.current.restart(),setTimeout(()=>{i.forEach(l=>{l.fx=void 0,l.fy=void 0;}),x.current?.alphaTarget(0),x.current?.alpha(.1),x.current?.velocityDecay(.6);},d)):x.current.alpha(.1).restart(),A();},[V,A]),Be=ot.useCallback(e=>{let n=U(),r=ce();if(!x.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,u=typeof s.target=="object"?s.target.id:s.target;return d!==void 0&&!o.has(d)&&u!==void 0&&!o.has(u)});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),u=typeof s.target=="object"?s.target:i.find(p=>p.id===s.target);!d||!u||(d.neighbors=d.neighbors||[],u.neighbors=u.neighbors||[],d.neighbors.push(u),u.neighbors.push(d),d.links=d.links||[],u.links=u.links||[],d.links.push(s),u.links.push(s));}),x.current.nodes(i);let a=x.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 u=d.x,p=d.y;i=Math.min(i,u),c=Math.min(c,p),a=Math.max(a,u),s=Math.max(s,p);}),isFinite(i)&&isFinite(a)&&isFinite(c)&&isFinite(s)){let{width:d,height:u}=t.current;i-=n,c-=n,a+=n,s+=n;let p=a-i,P=s-c,v=p>0?d/p:1,z=P>0?u/P:1,M=Math.min(v,z,10),j=i+p/2,l=c+P/2,m={k:M,x:d/2-j*M,y:u/2-l*M};if(e>0){let g={...t.current.transform},F=Date.now(),I=chunkVWI5EYPS_js.a(()=>{let B=Math.min(1,(Date.now()-F)/e),X=B===1?1:1-Math.pow(1-B,3),K={k:g.k+(m.k-g.k)*X,x:g.x+(m.x-g.x)*X,y:g.y+(m.y-g.y)*X};t.current.transform=K,A(),B<1&&requestAnimationFrame(I);},"animateZoom");requestAnimationFrame(I);}else t.current.transform=m,A();}},[]),de=ot.useCallback((e,n)=>{let r=U();if(!r||r.length===0)return null;let o=T.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,u=(s.y||0)-a;return Math.sqrt(d*d+u*u)<=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 u=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(!u||!p)return false;let P=u.x||0,v=u.y||0,z=p.x||0,M=p.y||0,j=c-P,l=a-v,m=z-P,g=M-v,F=j*m+l*g,I=m*m+g*g;if(I===0)return false;let B=F/I;B=Math.max(0,Math.min(1,B));let X=P+B*m,K=v+B*g,J=c-X,oe=a-K;return Math.sqrt(J*J+oe*oe)<=s})||null},[]),Oe=ot.useCallback((e,n,r,o,i,c,a)=>{let s=e-r,d=n-o,u=Math.sqrt(s*s+d*d),p=Math.atan2(d,s);p<0&&(p+=2*Math.PI);let z=u>=i*.5&&u<=i*1,M=false;return c===Math.PI&&a===Math.PI*2?M=p>=Math.PI&&p<=Math.PI*2:c===0&&a===Math.PI?M=p>=0&&p<=Math.PI:M=c<=a&&p>=c&&p<=a||c>a&&(p>=c||p<=a),z&&M},[]),we=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,O&&O(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[O]),xe=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,W&&W(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[W,U]),Ae=ot.useCallback(e=>{$&&$(e);},[$]),$e=ot.useCallback(e=>{t.current.selectedNode=e,S&&S(e);},[S]),He=ot.useCallback(()=>{t.current.selectedNode=null,k&&k();},[k]),ke=ot.useCallback(e=>{if(!E.current||!x.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&&H.length>0){let o=T.nodeSizeBase*T.nodeAreaFactor/2,i=E.current.getBoundingClientRect(),c=E.current.width/i.width,a=E.current.height/i.height,s=e*c,d=n*a,u=(s-t.current.transform.x)/t.current.transform.k,p=(d-t.current.transform.y)/t.current.transform.k,P=t.current.selectedNode?.x||0,v=t.current.selectedNode?.y||0,z=Math.min(H.length,8),M=Math.min(Math.PI*2/z,Math.PI);for(let j=0;j<z;j++){let l=j*M,m=(j+1)*M;if(Oe(u,p,P,v,o,l,m)){r=j;break}}}return r},[H]),Se=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&&x.current){let a=t.current.mouseStartPos.x,s=t.current.mouseStartPos.y,d=r-a,u=o-s;Math.sqrt(d*d+u*u)>3&&(t.current.isDragging=true,x.current.alphaTarget()===0&&x.current.alphaTarget(0).restart());let v=typeof window<"u"&&window.devicePixelRatio||1,z=(r*v-t.current.transform.x)/t.current.transform.k,M=(o*v-t.current.transform.y)/t.current.transform.k;t.current.draggedNode.fx=z,t.current.draggedNode.fy=M;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,u=t.current.mouseStartPos.y;Math.sqrt(Math.pow(r-d,2)+Math.pow(o-u,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&&H.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&&we(null),xe(a),E.current&&(E.current.style.cursor=a?"pointer":"default"),s){A();return}}c&&t.current.hoveredLink&&xe(null),c!==t.current.hoveredNode&&(i=true),we(c),E.current&&(E.current.style.cursor=c?"pointer":"default"),i&&A();},[H,de,ue,we,xe,A,Oe,he]),Nt=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;H.length>0&&t.current.hoveredButtonIndex===null&&(t.current.hoveredButtonIndex=he(o,i));let c=false;if(t.current.selectedNode&&t.current.hoveredButtonIndex!==null&&L[t.current.hoveredButtonIndex]){let a=L[t.current.hoveredButtonIndex];a&&a.onClick&&(a.onClick(t.current.selectedNode),c=true,t.current.hoveredButtonIndex=null);}if(!c&&t.current.draggedNode)$e(t.current.draggedNode);else if(!c&&!t.current.draggedNode){let a=ue(o,i);a?Ae(a):He();}}}if(t.current.draggedNode&&x.current){if(n){x.current.alphaTarget(0);let r=.05,o=.04,i=.6;x.current.alpha(r).alphaDecay(o),x.current.velocityDecay(i);}else x.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();},[L,A,$e,He,ue,Ae,he,H]),Ne=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,u=r-(r-a.x)*c,p=o-(o-a.y)*c;t.current.transform={k:d,x:u,y:p},A();},[A]),Pe=chunkVWI5EYPS_js.a((e,n)=>{let r=e.touches[0];if(r){let o={clientX:r.clientX,clientY:r.clientY};n(o);}},"convertTouchToMouseEvent"),Pt=ot.useCallback(e=>{Pe(e,ke);},[ke]),De=ot.useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.preventDefault(),e.stopPropagation()),t.current.mustBeStoppedPropagation=false,Pe(e,fe);},[fe]),Dt=ot.useCallback(e=>{Pe(e,Se);},[Se]);return ot.useImperativeHandle(Y,()=>({zoomToFit:le,addNodes:Fe,removeNodes:Be}),[le,Fe,Be]),ot.useEffect(()=>{let e=E.current,{width:n,height:r}=t.current;if(!e)return;kt(),ae(true);let o=n/2,i=r/2,c=T.nodeSizeBase,a=c/2,s=c*2.5;x.current&&x.current.stop();let d=x.current=d3.forceSimulation(V).force("link",d3.forceLink(te).id(u=>u.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*ye,t.current.height=b*ye,e.width=t.current.width,e.height=t.current.height);},[h,b]),ot.useEffect(()=>{if(x.current){let e=x.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(()=>{L&&L.length>0&&wt(ar(L));},[L]),ot.useEffect(()=>{let e=E.current;if(!(!e||typeof window>"u"))return e.addEventListener("wheel",Ne,{passive:false}),e.addEventListener("touchend",De,{passive:false}),()=>{e.removeEventListener("wheel",Ne),e.removeEventListener("touchend",De);}},[Ne,De]),jsxRuntime.jsxs(cr,{children:[(f||q)&&jsxRuntime.jsx(et,{width:h,height:b}),jsxRuntime.jsx(lr,{ref:E,style:{width:h,height:b,display:f||q?"none":"block"},onMouseDown:ke,onMouseMove:Se,onMouseUp:fe,onMouseLeave:fe,onClick:Nt,onTouchStart:Pt,onTouchMove:Dt})]})}),cr=$t.styled.div`
47
+ `,Wt=chunkFRFTE6P7_js.a(({width:f=280,height:h=280})=>{let b=$t.useTheme();return jsxRuntime.jsx(Xt,{children:jsxRuntime.jsxs(At__default.default,{foregroundColor:b.contentLoader.foreground,backgroundColor:b.contentLoader.background,width:f,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=Wt;var ye=typeof window<"u"&&window.devicePixelRatio||1;function ar(f){return !f||f.length===0?[]:f.map(h=>{let b=new Image;b.src=h.img;let C=new Image;return C.src=h.hoverImg,{...h,normalImg:b,hoverImg:C}})}chunkFRFTE6P7_js.a(ar,"prepareButtonImages");var T={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},sr=ot.forwardRef(({loading:f,width:h,height:b,graphData:C,buttons:L=[],onNodeClick:S,onBackgroundClick:k,onNodeHover:O,onLinkHover:W,onLinkClick:$},Y)=>{let N=$t.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*ye,height:b*ye,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:V,links:te}=ot.useMemo(()=>Zt__default.default(C),[C]),[H,wt]=ot.useState([]),E=ot.useRef(null),x=ot.useRef(null),se=ot.useRef(null),xt=d3.scaleOrdinal(d3.schemeCategory10),kt=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(()=>x.current?x.current.nodes():null,[]),ce=ot.useCallback(()=>{if(!x.current)return null;let e=x.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=T.gridSpacing,i=T.dotSize;e.fillStyle=N.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();},[N.graph2D.grid.dotColor,T.gridSpacing,T.dotSize]),St=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},[]),ve=chunkFRFTE6P7_js.a(e=>{let r=Math.min(e,T.maxZoom)/T.maxZoom;return Math.max(T.fontSize*r,T.fontSize)},"calculateFontSize"),Ie=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,u=s.y-a.y,p=Math.sqrt(d*d+u*u),P=d/p,v=u/p,z=T.nodeSizeBase/2,M=T.nodeSizeBase/2,j=4,l={x:a.x+P*z,y:a.y+v*z},m={x:s.x-P*(M+j),y:s.y-v*(M+j)},g={x:s.x-P*(M+1),y:s.y-v*(M+1)},F=t.current.highlightLinks.has(o),I=F?N.graph2D.link.highlighted:N.graph2D.link.normal,B=F?1.5:.5,X=a.x+(s.x-a.x)/2,K=a.y+(s.y-a.y)/2,J=Math.atan2(u,d);if(o.label){let Z=t.current.transform.k,Q=ve(Z);e.font=`${Q}px Sans-Serif`;let Xe=e.measureText(o.label).width,We=10;e.beginPath(),e.moveTo(l.x,l.y);let Ye=p/2-(Xe+We)/2,Ge={x:a.x+P*Ye,y:a.y+v*Ye};e.lineTo(Ge.x,Ge.y),e.strokeStyle=I,e.lineWidth=B,e.stroke(),e.beginPath();let qe=p/2+(Xe+We)/2,Ue={x:a.x+P*qe,y:a.y+v*qe};e.moveTo(Ue.x,Ue.y),e.lineTo(m.x,m.y),e.strokeStyle=I,e.lineWidth=B,e.stroke();}else e.beginPath(),e.moveTo(l.x,l.y),e.lineTo(m.x,m.y),e.strokeStyle=I,e.lineWidth=B,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=I,e.fill(),e.restore(),o.label){let Z=t.current.transform.k,Q=ve(Z);e.font=`${Q}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.save(),e.translate(X,K),Math.abs(J)>Math.PI/2?e.rotate(J+Math.PI):e.rotate(J),e.fillStyle=F?N.graph2D.link.highlightedTextColor:N.graph2D.link.textColor,e.fillText(o.label,0,0),e.restore();}}));},[T,N.graph2D.link]),Re=chunkFRFTE6P7_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),u=e.measureText(d).width,p=i*.3,v=(i+p+u)/2;e.drawImage(n,r-v,o-i/2,i,i),e.fillStyle=a||"#99989C",e.fillText(d,r-v+i+p,o);}else e.drawImage(n,r-i/2,o-i/2,i,i);}catch(s){console.warn("Error rendering icon:",s);}},"drawIconWithOptionalCounter"),Ee=ot.useCallback((e,n)=>{if(!H||H.length===0||!e||!e.x||!e.y)return;let{x:r,y:o}=e,i=T.nodeSizeBase*T.nodeAreaFactor/2;n.save();let c=Math.min(H.length,8),a=Math.min(Math.PI*2/c,Math.PI);for(let s=0;s<c;s++){let d=s*a,u=(s+1)*a,p=t.current.hoveredButtonIndex===s;n.beginPath(),n.arc(r,o,i,d,u,false),n.lineTo(r,o),n.closePath(),n.lineWidth=1,n.strokeStyle=N.graph2D?.button?.stroke||"#FFFFFF",n.stroke(),n.fillStyle=p?N.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":N.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",n.fill();let P=i*.2,v=(d+u)/2,z=i-T.nodeSizeBase/2+P,M=r+Math.cos(v)*z,j=o+Math.sin(v)*z,l=H[s];if(l.loading){let m=P/2,g=P/12;n.save(),n.translate(M,j),n.rotate(t.current.spinnerAngle);for(let F=0;F<12;F++){let I=Math.PI*2*F/12,B=F/12,X=Math.cos(I)*m,K=Math.sin(I)*m;n.beginPath(),n.fillStyle=chunkFRFTE6P7_js.l(N.graph2D?.button?.spinnerColor,B),n.arc(X,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 m=p?l.hoverImg:l.normalImg,g=l.getCount?l.getCount(e):null;m.complete?Re(n,m,M,j,P,g,N.graph2D?.button?.textColor):m.onload=()=>{se.current&&Re(n,m,M,j,P,g,N.graph2D?.button?.textColor);};}}n.restore();},[H,N.graph2D?.button]),ze=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,u=r===t.current.selectedNode,p=T.nodeSizeBase,P=T.nodeSizeBase/2;if(d&&!u){let v=T.nodeSizeBase*T.nodeAreaFactor*.75/2;e.beginPath(),e.arc(o,i,v,0,2*Math.PI,false),e.fillStyle=N.graph2D.ring.highlightFill,e.fill();}if(u)if(L&&L.length>0)Ee(r,e);else {let v=T.nodeSizeBase*T.nodeAreaFactor/2;e.beginPath(),e.arc(o,i,v,0,2*Math.PI,false),e.fillStyle=N.graph2D.ring.selectionFill||N.graph2D.ring.highlightFill,e.fill();}if(e.beginPath(),e.arc(o,i,P,0,2*Math.PI),e.fillStyle=c||xt(r.group||"0"),e.fill(),s){e.save(),e.translate(o,i);let v=t.current.transform.k,z=ve(v),M=p*T.textPaddingFactor;e.font=`${z}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle=a||"#000";let j=St(s,M,e);e.fillText(j,0,0),e.restore();}}));},[N.graph2D.ring,L,Ee]),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),Ie(e),ze(e),e.restore());},[Ie,ze,je]),Fe=ot.useCallback((e,n=[],r)=>{let o=ce()||[],i=U()||[];if(!x.current||!e.length)return;let{width:c,height:a}=t.current,s=r?.smoothAppearance??false,d=r?.transitionDuration??1e3,u=new Set(i.map(l=>l.id)),p=e.filter(l=>!u.has(l.id)),P=new Set(o.map(l=>`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`)),v=n.filter(l=>{let m=`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`;return !P.has(m)});if(p.length===0&&v.length===0)return;let z=[...i,...p],M=[...o,...v];s&&(p.forEach(l=>{let m=v.filter(g=>{let F=typeof g.source=="object"?g.source.id:g.source,I=typeof g.target=="object"?g.target.id:g.target;return F===l.id&&u.has(I)||I===l.id&&u.has(F)});if(m.length>0){let g=m[0],F=typeof g.source=="object"?g.source.id===l.id?g.target:g.source.id:g.source===l.id?g.target:g.source,I=z.find(B=>B.id===F);if(I&&I.x!==void 0&&I.y!==void 0){let B=30+Math.random()*20,X=Math.random()*Math.PI*2;l.x=I.x+Math.cos(X)*B,l.y=I.y+Math.sin(X)*B,l.vx=0,l.vy=0;}}else {let g=c/2,F=a/2,I=Math.min(c,a)/4,B=Math.random()*Math.PI*2;l.x=g+Math.cos(B)*(I*Math.random()),l.y=F+Math.sin(B)*(I*Math.random()),l.vx=0,l.vy=0;}}),i.forEach(l=>{l.fx=l.x,l.fy=l.y;})),x.current.nodes(z);let j=x.current.force("link");j&&j.links(M),v.forEach(l=>{let m=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);!m||!g||(!m.neighbors&&(m.neighbors=[]),!g.neighbors&&(g.neighbors=[]),m.neighbors.push(g),g.neighbors.push(m),!m.links&&(m.links=[]),!g.links&&(g.links=[]),m.links.push(l),g.links.push(l));}),s?(x.current.alphaTarget(.3),x.current.alpha(.3),x.current.velocityDecay(.7),x.current.restart(),setTimeout(()=>{i.forEach(l=>{l.fx=void 0,l.fy=void 0;}),x.current?.alphaTarget(0),x.current?.alpha(.1),x.current?.velocityDecay(.6);},d)):x.current.alpha(.1).restart(),A();},[V,A]),Be=ot.useCallback(e=>{let n=U(),r=ce();if(!x.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,u=typeof s.target=="object"?s.target.id:s.target;return d!==void 0&&!o.has(d)&&u!==void 0&&!o.has(u)});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),u=typeof s.target=="object"?s.target:i.find(p=>p.id===s.target);!d||!u||(d.neighbors=d.neighbors||[],u.neighbors=u.neighbors||[],d.neighbors.push(u),u.neighbors.push(d),d.links=d.links||[],u.links=u.links||[],d.links.push(s),u.links.push(s));}),x.current.nodes(i);let a=x.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 u=d.x,p=d.y;i=Math.min(i,u),c=Math.min(c,p),a=Math.max(a,u),s=Math.max(s,p);}),isFinite(i)&&isFinite(a)&&isFinite(c)&&isFinite(s)){let{width:d,height:u}=t.current;i-=n,c-=n,a+=n,s+=n;let p=a-i,P=s-c,v=p>0?d/p:1,z=P>0?u/P:1,M=Math.min(v,z,10),j=i+p/2,l=c+P/2,m={k:M,x:d/2-j*M,y:u/2-l*M};if(e>0){let g={...t.current.transform},F=Date.now(),I=chunkFRFTE6P7_js.a(()=>{let B=Math.min(1,(Date.now()-F)/e),X=B===1?1:1-Math.pow(1-B,3),K={k:g.k+(m.k-g.k)*X,x:g.x+(m.x-g.x)*X,y:g.y+(m.y-g.y)*X};t.current.transform=K,A(),B<1&&requestAnimationFrame(I);},"animateZoom");requestAnimationFrame(I);}else t.current.transform=m,A();}},[]),de=ot.useCallback((e,n)=>{let r=U();if(!r||r.length===0)return null;let o=T.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,u=(s.y||0)-a;return Math.sqrt(d*d+u*u)<=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 u=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(!u||!p)return false;let P=u.x||0,v=u.y||0,z=p.x||0,M=p.y||0,j=c-P,l=a-v,m=z-P,g=M-v,F=j*m+l*g,I=m*m+g*g;if(I===0)return false;let B=F/I;B=Math.max(0,Math.min(1,B));let X=P+B*m,K=v+B*g,J=c-X,oe=a-K;return Math.sqrt(J*J+oe*oe)<=s})||null},[]),Oe=ot.useCallback((e,n,r,o,i,c,a)=>{let s=e-r,d=n-o,u=Math.sqrt(s*s+d*d),p=Math.atan2(d,s);p<0&&(p+=2*Math.PI);let z=u>=i*.5&&u<=i*1,M=false;return c===Math.PI&&a===Math.PI*2?M=p>=Math.PI&&p<=Math.PI*2:c===0&&a===Math.PI?M=p>=0&&p<=Math.PI:M=c<=a&&p>=c&&p<=a||c>a&&(p>=c||p<=a),z&&M},[]),we=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,O&&O(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[O]),xe=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,W&&W(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[W,U]),Ae=ot.useCallback(e=>{$&&$(e);},[$]),$e=ot.useCallback(e=>{t.current.selectedNode=e,S&&S(e);},[S]),He=ot.useCallback(()=>{t.current.selectedNode=null,k&&k();},[k]),ke=ot.useCallback(e=>{if(!E.current||!x.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&&H.length>0){let o=T.nodeSizeBase*T.nodeAreaFactor/2,i=E.current.getBoundingClientRect(),c=E.current.width/i.width,a=E.current.height/i.height,s=e*c,d=n*a,u=(s-t.current.transform.x)/t.current.transform.k,p=(d-t.current.transform.y)/t.current.transform.k,P=t.current.selectedNode?.x||0,v=t.current.selectedNode?.y||0,z=Math.min(H.length,8),M=Math.min(Math.PI*2/z,Math.PI);for(let j=0;j<z;j++){let l=j*M,m=(j+1)*M;if(Oe(u,p,P,v,o,l,m)){r=j;break}}}return r},[H]),Se=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&&x.current){let a=t.current.mouseStartPos.x,s=t.current.mouseStartPos.y,d=r-a,u=o-s;Math.sqrt(d*d+u*u)>3&&(t.current.isDragging=true,x.current.alphaTarget()===0&&x.current.alphaTarget(0).restart());let v=typeof window<"u"&&window.devicePixelRatio||1,z=(r*v-t.current.transform.x)/t.current.transform.k,M=(o*v-t.current.transform.y)/t.current.transform.k;t.current.draggedNode.fx=z,t.current.draggedNode.fy=M;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,u=t.current.mouseStartPos.y;Math.sqrt(Math.pow(r-d,2)+Math.pow(o-u,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&&H.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&&we(null),xe(a),E.current&&(E.current.style.cursor=a?"pointer":"default"),s){A();return}}c&&t.current.hoveredLink&&xe(null),c!==t.current.hoveredNode&&(i=true),we(c),E.current&&(E.current.style.cursor=c?"pointer":"default"),i&&A();},[H,de,ue,we,xe,A,Oe,he]),Nt=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;H.length>0&&t.current.hoveredButtonIndex===null&&(t.current.hoveredButtonIndex=he(o,i));let c=false;if(t.current.selectedNode&&t.current.hoveredButtonIndex!==null&&L[t.current.hoveredButtonIndex]){let a=L[t.current.hoveredButtonIndex];a&&a.onClick&&(a.onClick(t.current.selectedNode),c=true,t.current.hoveredButtonIndex=null);}if(!c&&t.current.draggedNode)$e(t.current.draggedNode);else if(!c&&!t.current.draggedNode){let a=ue(o,i);a?Ae(a):He();}}}if(t.current.draggedNode&&x.current){if(n){x.current.alphaTarget(0);let r=.05,o=.04,i=.6;x.current.alpha(r).alphaDecay(o),x.current.velocityDecay(i);}else x.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();},[L,A,$e,He,ue,Ae,he,H]),Ne=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,u=r-(r-a.x)*c,p=o-(o-a.y)*c;t.current.transform={k:d,x:u,y:p},A();},[A]),Pe=chunkFRFTE6P7_js.a((e,n)=>{let r=e.touches[0];if(r){let o={clientX:r.clientX,clientY:r.clientY};n(o);}},"convertTouchToMouseEvent"),Pt=ot.useCallback(e=>{Pe(e,ke);},[ke]),De=ot.useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.preventDefault(),e.stopPropagation()),t.current.mustBeStoppedPropagation=false,Pe(e,fe);},[fe]),Dt=ot.useCallback(e=>{Pe(e,Se);},[Se]);return ot.useImperativeHandle(Y,()=>({zoomToFit:le,addNodes:Fe,removeNodes:Be}),[le,Fe,Be]),ot.useEffect(()=>{let e=E.current,{width:n,height:r}=t.current;if(!e)return;kt(),ae(true);let o=n/2,i=r/2,c=T.nodeSizeBase,a=c/2,s=c*2.5;x.current&&x.current.stop();let d=x.current=d3.forceSimulation(V).force("link",d3.forceLink(te).id(u=>u.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*ye,t.current.height=b*ye,e.width=t.current.width,e.height=t.current.height);},[h,b]),ot.useEffect(()=>{if(x.current){let e=x.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(()=>{L&&L.length>0&&wt(ar(L));},[L]),ot.useEffect(()=>{let e=E.current;if(!(!e||typeof window>"u"))return e.addEventListener("wheel",Ne,{passive:false}),e.addEventListener("touchend",De,{passive:false}),()=>{e.removeEventListener("wheel",Ne),e.removeEventListener("touchend",De);}},[Ne,De]),jsxRuntime.jsxs(cr,{children:[(f||q)&&jsxRuntime.jsx(et,{width:h,height:b}),jsxRuntime.jsx(lr,{ref:E,style:{width:h,height:b,display:f||q?"none":"block"},onMouseDown:ke,onMouseMove:Se,onMouseUp:fe,onMouseLeave:fe,onClick:Nt,onTouchStart:Pt,onTouchMove:Dt})]})}),cr=$t.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
- `,lr=$t.styled.canvas``;sr.displayName="Graph2D";var oa=chunkVWI5EYPS_js.w(({isActive:f,position:h,top:b=0,left:C=0,right:L,bottom:S,...k})=>jsxRuntime.jsx(hr,{$isActive:f,$position:h,$top:b,$left:C,$right:L,$bottom:S,...k})),hr=$t__default.default.div(({$isActive:f,$top:h,$left:b,$right:C,$bottom:L,$position:S,theme:k})=>`
54
+ `,lr=$t.styled.canvas``;sr.displayName="Graph2D";var oa=chunkFRFTE6P7_js.w(({isActive:f,position:h,top:b=0,left:C=0,right:L,bottom:S,...k})=>jsxRuntime.jsx(hr,{$isActive:f,$position:h,$top:b,$left:C,$right:L,$bottom:S,...k})),hr=$t__default.default.div(({$isActive:f,$top:h,$left:b,$right:C,$bottom:L,$position:S,theme:k})=>`
55
55
  ${f?`
56
56
  position: ${S};
57
57
  z-index: 1000;
58
- ${typeof h=="number"?`top: ${chunkVWI5EYPS_js.c(h,k.baseSize)};`:""}
59
- ${typeof b=="number"?`left: ${chunkVWI5EYPS_js.c(b,k.baseSize)};`:""}
60
- ${typeof C=="number"?`right: ${chunkVWI5EYPS_js.c(C,k.baseSize)};`:""}
61
- ${typeof L=="number"?`bottom: ${chunkVWI5EYPS_js.c(L,k.baseSize)};`:""}
58
+ ${typeof h=="number"?`top: ${chunkFRFTE6P7_js.c(h,k.baseSize)};`:""}
59
+ ${typeof b=="number"?`left: ${chunkFRFTE6P7_js.c(b,k.baseSize)};`:""}
60
+ ${typeof C=="number"?`right: ${chunkFRFTE6P7_js.c(C,k.baseSize)};`:""}
61
+ ${typeof L=="number"?`bottom: ${chunkFRFTE6P7_js.c(L,k.baseSize)};`:""}
62
62
 
63
63
  `:""}
64
64
 
65
65
  min-width: 0;
66
- `);var at=chunkVWI5EYPS_js.a(({url:f})=>{let[h,b]=ot.useState(1),[C,L]=ot.useState(),S=ot__default.default.useRef(null),k=ot__default.default.useRef(null),O=chunkVWI5EYPS_js.a(()=>{b($=>Math.min($+.25,4));},"handleZoomIn");return jsxRuntime.jsxs("div",{ref:k,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(chunkVWI5EYPS_js.z,{variant:"outlined","aria-label":"zoom-out",color:"secondary",size:"small",icon:jsxRuntime.jsx(chunkVWI5EYPS_js.Pa,{style:{width:20,height:20}}),onClick:chunkVWI5EYPS_js.a(()=>{b($=>Math.max($-.25,.25));},"handleZoomOut"),disabled:h<=.25,p:5}),jsxRuntime.jsxs(chunkVWI5EYPS_js.mb,{py:5,px:8,children:[h*100,"%"]}),jsxRuntime.jsx(chunkVWI5EYPS_js.z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"secondary",icon:jsxRuntime.jsx(chunkVWI5EYPS_js.ma,{style:{width:14,height:14}}),onClick:O,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:f,ref:S,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,...C==="width"&&{width:`calc(${h*100}% - 20px)`},...C==="height"&&{height:`calc(${h*100}% - 20px)`}},onLoad:()=>{if(S.current&&k.current){let $=S.current.width,Y=S.current.height,N=$<Y?"height":"width";L(N);}}})})]})},"ImageDriver");var ct=chunkVWI5EYPS_js.a(({url:f})=>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:f,className:"w-full"})}),"AudioDriver");var Le=chunkVWI5EYPS_js.a(({url:f})=>{let[h,b]=ot.useState(null),[C,L]=ot.useState(false),[S,k]=ot.useState(true),[O,W]=ot.useState(null);return ot.useEffect(()=>{L(true);},[]),ot.useEffect(()=>{if(!C)return;chunkVWI5EYPS_js.a(async()=>{try{let Y=await import('./PdfDriver-FCZW6SC4.js');b(()=>Y.PdfDriver),k(!1);}catch(Y){console.error("Failed to load PDF driver:",Y),W("Failed to load PDF viewer"),k(false);}},"loadPdfDriver")();},[C]),C?S?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..."})}):O||!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:O||"PDF viewer unavailable"})})}):jsxRuntime.jsx(h,{url:f}):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=chunkVWI5EYPS_js.a(({url:f,extension:h})=>jsxRuntime.jsxs("a",{href:f,download:`file.${h}`,className:"text-blue-500 underline",children:["Download ",h.toUpperCase()," file"]}),"DownloadDriver");var ht=50,yr=1e4,pt=chunkVWI5EYPS_js.a(({url:f,buffer:h})=>{let[b,C]=ot.useState(""),[L,S]=ot.useState(null);return ot.useEffect(()=>{chunkVWI5EYPS_js.a(async()=>{try{let O=h;if(!O&&f&&(O=await(await fetch(f)).arrayBuffer()),!O){S("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(O.byteLength/(1024*1024)>ht){S(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${ht} \u041C\u0411)`);return}let $=mr__default.default.convertToHtml({arrayBuffer:O}),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")),yr)),N=await Promise.race([$,Y]);C(N.value);}catch(O){S(O?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B");}},"fetchAndConvert")();},[f,h]),L?jsxRuntime.jsx("div",{className:"text-red-500",children:L}):b?jsxRuntime.jsx("div",{dangerouslySetInnerHTML:{__html:b},className:"w-full h-full overflow-auto p-5"}):null},"DocxDriver");var xr=chunkVWI5EYPS_js.a(f=>({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"})[f]||"text","getLanguageFromExtension"),gt=chunkVWI5EYPS_js.a(({url:f,extension:h})=>{let[b,C]=ot.useState(""),[L,S]=ot.useState(true),[k,O]=ot.useState(null);if(ot.useEffect(()=>{chunkVWI5EYPS_js.a(async()=>{try{S(!0),O(null);let N=await fetch(f);if(!N.ok)throw new Error(`Failed to load file: ${N.statusText}`);let q=await N.text();C(q);}catch(N){O(N instanceof Error?N.message:"Failed to load text content");}finally{S(false);}},"loadTextContent")();},[f]),L)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(k)return jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:jsxRuntime.jsxs("div",{className:"text-red-500",children:["Error: ",k]})});let W=xr(h);return jsxRuntime.jsx("div",{className:"h-full w-full overflow-auto",children:W!=="text"?jsxRuntime.jsx(reactSyntaxHighlighter.Prism,{className:"min-h-full! m-0! py-0!",language:W,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=chunkVWI5EYPS_js.a(({url:f})=>jsxRuntime.jsx("div",{className:"flex flex-col justify-center items-center w-full h-full",children:jsxRuntime.jsx("video",{controls:true,src:f,className:"w-full max-h-full"})}),"VideoDriver");var bt=ot.memo(chunkVWI5EYPS_js.a(function({extension:h,blob:b,path:C,buffer:L}){console.log("Driver props:",{extension:h,blob:b,path:C,buffer:L});let S=h.toLocaleLowerCase().trim(),k;if(C?k=C:b&&(k=URL.createObjectURL(b)),k){if(["jpeg","jpg","png","gif","bmp","webp"].includes(S))return jsxRuntime.jsx(at,{url:k});if(["mp3","wav","ogg","flac"].includes(S))return jsxRuntime.jsx(ct,{url:k});if(["mp4","webm"].includes(S))return jsxRuntime.jsx(yt,{url:k});if(h==="pdf")return jsxRuntime.jsx(Le,{url:k});if(["xlsx","pptx"].includes(S))return jsxRuntime.jsx(dt,{url:k,extension:S});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(S))return jsxRuntime.jsx(gt,{url:k,extension:S})}return S==="docx"?jsxRuntime.jsx(pt,{url:k,buffer:L}):jsxRuntime.jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsxRuntime.jsx(chunkVWI5EYPS_js.mb,{children:jsxRuntime.jsx(chunkVWI5EYPS_js.Wa,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:"Sorry, this file type isn\u2019t supported yet."})})})},"Driver"));var hs=chunkVWI5EYPS_js.a(f=>jsxRuntime.jsx("div",{className:"h-full w-full",children:jsxRuntime.jsx(bt,{...f})}),"FileViewer");Object.defineProperty(exports,"Alert",{enumerable:true,get:function(){return chunkVWI5EYPS_js.qb}});Object.defineProperty(exports,"AlertIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.A}});Object.defineProperty(exports,"AndroidIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.za}});Object.defineProperty(exports,"ApiIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.B}});Object.defineProperty(exports,"ArrowCircleTopRightIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.C}});Object.defineProperty(exports,"ArrowRightIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.D}});Object.defineProperty(exports,"BallsMenu",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ia}});Object.defineProperty(exports,"Box",{enumerable:true,get:function(){return chunkVWI5EYPS_js.mb}});Object.defineProperty(exports,"BreakpointProvider",{enumerable:true,get:function(){return chunkVWI5EYPS_js.q}});Object.defineProperty(exports,"BugReportIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.E}});Object.defineProperty(exports,"BurgerMenuIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Na}});Object.defineProperty(exports,"BusIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.sa}});Object.defineProperty(exports,"Button",{enumerable:true,get:function(){return chunkVWI5EYPS_js.z}});Object.defineProperty(exports,"CalendarIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.F}});Object.defineProperty(exports,"CarIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ta}});Object.defineProperty(exports,"ChatField",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Gb}});Object.defineProperty(exports,"CheckIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ja}});Object.defineProperty(exports,"Checkbox",{enumerable:true,get:function(){return chunkVWI5EYPS_js.sb}});Object.defineProperty(exports,"ChevronDownIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ka}});Object.defineProperty(exports,"ChevronLeftIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.G}});Object.defineProperty(exports,"ChevronRightIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.H}});Object.defineProperty(exports,"ChevronUpIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.la}});Object.defineProperty(exports,"ClockIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Oa}});Object.defineProperty(exports,"CloseCircleIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.I}});Object.defineProperty(exports,"ClosedLockIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.J}});Object.defineProperty(exports,"ContentLoader",{enumerable:true,get:function(){return chunkVWI5EYPS_js.zb}});Object.defineProperty(exports,"ContextMenu",{enumerable:true,get:function(){return chunkVWI5EYPS_js.db}});Object.defineProperty(exports,"ContextMenuDelimiter",{enumerable:true,get:function(){return chunkVWI5EYPS_js.eb}});Object.defineProperty(exports,"CrossIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.qa}});Object.defineProperty(exports,"DataSetsIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.K}});Object.defineProperty(exports,"DeepSearchIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.L}});Object.defineProperty(exports,"DisabledVisibleIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.M}});Object.defineProperty(exports,"DocsIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.N}});Object.defineProperty(exports,"DownloadIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.O}});Object.defineProperty(exports,"Drawer",{enumerable:true,get:function(){return chunkVWI5EYPS_js.vb}});Object.defineProperty(exports,"DrawerBody",{enumerable:true,get:function(){return chunkVWI5EYPS_js.xb}});Object.defineProperty(exports,"DrawerHeader",{enumerable:true,get:function(){return chunkVWI5EYPS_js.wb}});Object.defineProperty(exports,"EditUserIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.P}});Object.defineProperty(exports,"EmptyData",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ob}});Object.defineProperty(exports,"EnableVisibleIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Q}});Object.defineProperty(exports,"EnterArrowLeftIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.R}});Object.defineProperty(exports,"FileField",{enumerable:true,get:function(){return chunkVWI5EYPS_js.jb}});Object.defineProperty(exports,"FileIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.xa}});Object.defineProperty(exports,"FiltersIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.S}});Object.defineProperty(exports,"FlashIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Ia}});Object.defineProperty(exports,"FlexContainer",{enumerable:true,get:function(){return chunkVWI5EYPS_js.kb}});Object.defineProperty(exports,"FlexItem",{enumerable:true,get:function(){return chunkVWI5EYPS_js.lb}});Object.defineProperty(exports,"FolderAlertIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Ba}});Object.defineProperty(exports,"FolderInfoIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Ja}});Object.defineProperty(exports,"Header",{enumerable:true,get:function(){return chunkVWI5EYPS_js._a}});Object.defineProperty(exports,"HeaderDelimeter",{enumerable:true,get:function(){return chunkVWI5EYPS_js.$a}});Object.defineProperty(exports,"HeaderSection",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ab}});Object.defineProperty(exports,"HomepageIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.T}});Object.defineProperty(exports,"ImageIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Qa}});Object.defineProperty(exports,"InfoCircleFilledIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.oa}});Object.defineProperty(exports,"InfoCircleIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.U}});Object.defineProperty(exports,"Input",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ib}});Object.defineProperty(exports,"IosIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ya}});Object.defineProperty(exports,"Label",{enumerable:true,get:function(){return chunkVWI5EYPS_js.rb}});Object.defineProperty(exports,"Line",{enumerable:true,get:function(){return chunkVWI5EYPS_js.nb}});Object.defineProperty(exports,"LinerProgress",{enumerable:true,get:function(){return chunkVWI5EYPS_js.tb}});Object.defineProperty(exports,"ListMenu",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Xa}});Object.defineProperty(exports,"ListMenuItem",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Ya}});Object.defineProperty(exports,"ListMenuSection",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Za}});Object.defineProperty(exports,"MapRadarIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.V}});Object.defineProperty(exports,"MaximizeIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ra}});Object.defineProperty(exports,"MicrosoftIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Aa}});Object.defineProperty(exports,"MinusIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Pa}});Object.defineProperty(exports,"Modal",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Bb}});Object.defineProperty(exports,"ModalBody",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Db}});Object.defineProperty(exports,"ModalFooter",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Eb}});Object.defineProperty(exports,"ModalHeader",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Cb}});Object.defineProperty(exports,"MoonIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.W}});Object.defineProperty(exports,"OpenLockIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.X}});Object.defineProperty(exports,"OrganizationIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Y}});Object.defineProperty(exports,"Overlay",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Ab}});Object.defineProperty(exports,"Pagination",{enumerable:true,get:function(){return chunkVWI5EYPS_js.cb}});Object.defineProperty(exports,"PassportIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Ea}});Object.defineProperty(exports,"PasswordFinderIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Z}});Object.defineProperty(exports,"PencilIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Ga}});Object.defineProperty(exports,"PhonebookIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js._}});Object.defineProperty(exports,"PlaneIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.va}});Object.defineProperty(exports,"PlusIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ma}});Object.defineProperty(exports,"PointIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Fa}});Object.defineProperty(exports,"PrintIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.$}});Object.defineProperty(exports,"Profiler2Icon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.aa}});Object.defineProperty(exports,"ProfilerIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ba}});Object.defineProperty(exports,"RelationIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Ca}});Object.defineProperty(exports,"RelationPointsIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Da}});Object.defineProperty(exports,"RotateLeftIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Ka}});Object.defineProperty(exports,"RotateRightIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.La}});Object.defineProperty(exports,"RowActionsMenu",{enumerable:true,get:function(){return chunkVWI5EYPS_js.hb}});Object.defineProperty(exports,"SandBoxIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ca}});Object.defineProperty(exports,"SearchIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.da}});Object.defineProperty(exports,"Select",{enumerable:true,get:function(){return chunkVWI5EYPS_js.gb}});Object.defineProperty(exports,"ShipIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.wa}});Object.defineProperty(exports,"Sidebar",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Sa}});Object.defineProperty(exports,"SidebarContext",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Ra}});Object.defineProperty(exports,"SidebarDelimeter",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Ua}});Object.defineProperty(exports,"SidebarItem",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Ta}});Object.defineProperty(exports,"SidebarSection",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Va}});Object.defineProperty(exports,"StatisticIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ea}});Object.defineProperty(exports,"SunIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.fa}});Object.defineProperty(exports,"Switch",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ub}});Object.defineProperty(exports,"Table",{enumerable:true,get:function(){return chunkVWI5EYPS_js.bb}});Object.defineProperty(exports,"Tag",{enumerable:true,get:function(){return chunkVWI5EYPS_js.pb}});Object.defineProperty(exports,"TailwindExample",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Fb}});Object.defineProperty(exports,"ThemeProvider",{enumerable:true,get:function(){return chunkVWI5EYPS_js.s}});Object.defineProperty(exports,"Tooltip",{enumerable:true,get:function(){return chunkVWI5EYPS_js.yb}});Object.defineProperty(exports,"Typography",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Wa}});Object.defineProperty(exports,"UnfoldIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.pa}});Object.defineProperty(exports,"UpRightArrowCircleIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ga}});Object.defineProperty(exports,"UploadImageIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Ma}});Object.defineProperty(exports,"UserInCircleIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.Ha}});Object.defineProperty(exports,"UsersIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.na}});Object.defineProperty(exports,"VectorIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ha}});Object.defineProperty(exports,"WayIcon",{enumerable:true,get:function(){return chunkVWI5EYPS_js.ua}});Object.defineProperty(exports,"convertPaletteToRem",{enumerable:true,get:function(){return chunkVWI5EYPS_js.f}});Object.defineProperty(exports,"createComponent",{enumerable:true,get:function(){return chunkVWI5EYPS_js.w}});Object.defineProperty(exports,"createStyledComponent",{enumerable:true,get:function(){return chunkVWI5EYPS_js.x}});Object.defineProperty(exports,"darkTheme",{enumerable:true,get:function(){return chunkVWI5EYPS_js.p}});Object.defineProperty(exports,"darkThemePx",{enumerable:true,get:function(){return chunkVWI5EYPS_js.o}});Object.defineProperty(exports,"destructSpaceProps",{enumerable:true,get:function(){return chunkVWI5EYPS_js.t}});Object.defineProperty(exports,"generatePropertySpaceStyle",{enumerable:true,get:function(){return chunkVWI5EYPS_js.u}});Object.defineProperty(exports,"getBreakpoint",{enumerable:true,get:function(){return chunkVWI5EYPS_js.k}});Object.defineProperty(exports,"getButtonSizeStyles",{enumerable:true,get:function(){return chunkVWI5EYPS_js.h}});Object.defineProperty(exports,"getButtonStyles",{enumerable:true,get:function(){return chunkVWI5EYPS_js.g}});Object.defineProperty(exports,"getInputStyles",{enumerable:true,get:function(){return chunkVWI5EYPS_js.i}});Object.defineProperty(exports,"getResponsiveProps",{enumerable:true,get:function(){return chunkVWI5EYPS_js.v}});Object.defineProperty(exports,"getTypographyStyles",{enumerable:true,get:function(){return chunkVWI5EYPS_js.j}});Object.defineProperty(exports,"hexToRgba",{enumerable:true,get:function(){return chunkVWI5EYPS_js.l}});Object.defineProperty(exports,"lightTheme",{enumerable:true,get:function(){return chunkVWI5EYPS_js.n}});Object.defineProperty(exports,"lightThemePx",{enumerable:true,get:function(){return chunkVWI5EYPS_js.m}});Object.defineProperty(exports,"propToRem",{enumerable:true,get:function(){return chunkVWI5EYPS_js.e}});Object.defineProperty(exports,"pxToRem",{enumerable:true,get:function(){return chunkVWI5EYPS_js.c}});Object.defineProperty(exports,"remToPx",{enumerable:true,get:function(){return chunkVWI5EYPS_js.d}});Object.defineProperty(exports,"resolveThemeColor",{enumerable:true,get:function(){return chunkVWI5EYPS_js.b}});Object.defineProperty(exports,"useBreakpoint",{enumerable:true,get:function(){return chunkVWI5EYPS_js.r}});Object.defineProperty(exports,"useContextMenuControl",{enumerable:true,get:function(){return chunkVWI5EYPS_js.fb}});Object.defineProperty(exports,"useTheme",{enumerable:true,get:function(){return chunkVWI5EYPS_js.y}});Object.defineProperty(exports,"ServerStyleSheet",{enumerable:true,get:function(){return $t.ServerStyleSheet}});Object.defineProperty(exports,"StyleSheetManager",{enumerable:true,get:function(){return $t.StyleSheetManager}});exports.Container=ki;exports.FileViewer=hs;exports.FullscreenCard=oa;exports.Graph2D=sr;exports.PageContent=ni;exports.PageLayout=Ko;exports.Styled=Et;exports.StyledContainer=Ct;exports.StyledMain=jt;exports.SubNav=li;//# sourceMappingURL=index.js.map
66
+ `);var at=chunkFRFTE6P7_js.a(({url:f})=>{let[h,b]=ot.useState(1),[C,L]=ot.useState(),S=ot__default.default.useRef(null),k=ot__default.default.useRef(null),O=chunkFRFTE6P7_js.a(()=>{b($=>Math.min($+.25,4));},"handleZoomIn");return jsxRuntime.jsxs("div",{ref:k,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(chunkFRFTE6P7_js.z,{variant:"outlined","aria-label":"zoom-out",color:"secondary",size:"small",icon:jsxRuntime.jsx(chunkFRFTE6P7_js.Pa,{style:{width:20,height:20}}),onClick:chunkFRFTE6P7_js.a(()=>{b($=>Math.max($-.25,.25));},"handleZoomOut"),disabled:h<=.25,p:5}),jsxRuntime.jsxs(chunkFRFTE6P7_js.mb,{py:5,px:8,children:[h*100,"%"]}),jsxRuntime.jsx(chunkFRFTE6P7_js.z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"secondary",icon:jsxRuntime.jsx(chunkFRFTE6P7_js.ma,{style:{width:14,height:14}}),onClick:O,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:f,ref:S,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,...C==="width"&&{width:`calc(${h*100}% - 20px)`},...C==="height"&&{height:`calc(${h*100}% - 20px)`}},onLoad:()=>{if(S.current&&k.current){let $=S.current.width,Y=S.current.height,N=$<Y?"height":"width";L(N);}}})})]})},"ImageDriver");var ct=chunkFRFTE6P7_js.a(({url:f})=>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:f,className:"w-full"})}),"AudioDriver");var Le=chunkFRFTE6P7_js.a(({url:f})=>{let[h,b]=ot.useState(null),[C,L]=ot.useState(false),[S,k]=ot.useState(true),[O,W]=ot.useState(null);return ot.useEffect(()=>{L(true);},[]),ot.useEffect(()=>{if(!C)return;chunkFRFTE6P7_js.a(async()=>{try{let Y=await import('./PdfDriver-Y3EHZUVM.js');b(()=>Y.PdfDriver),k(!1);}catch(Y){console.error("Failed to load PDF driver:",Y),W("Failed to load PDF viewer"),k(false);}},"loadPdfDriver")();},[C]),C?S?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..."})}):O||!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:O||"PDF viewer unavailable"})})}):jsxRuntime.jsx(h,{url:f}):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=chunkFRFTE6P7_js.a(({url:f,extension:h})=>jsxRuntime.jsxs("a",{href:f,download:`file.${h}`,className:"text-blue-500 underline",children:["Download ",h.toUpperCase()," file"]}),"DownloadDriver");var ht=50,yr=1e4,pt=chunkFRFTE6P7_js.a(({url:f,buffer:h})=>{let[b,C]=ot.useState(""),[L,S]=ot.useState(null);return ot.useEffect(()=>{chunkFRFTE6P7_js.a(async()=>{try{let O=h;if(!O&&f&&(O=await(await fetch(f)).arrayBuffer()),!O){S("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(O.byteLength/(1024*1024)>ht){S(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${ht} \u041C\u0411)`);return}let $=mr__default.default.convertToHtml({arrayBuffer:O}),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")),yr)),N=await Promise.race([$,Y]);C(N.value);}catch(O){S(O?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B");}},"fetchAndConvert")();},[f,h]),L?jsxRuntime.jsx("div",{className:"text-red-500",children:L}):b?jsxRuntime.jsx("div",{dangerouslySetInnerHTML:{__html:b},className:"w-full h-full overflow-auto p-5"}):null},"DocxDriver");var xr=chunkFRFTE6P7_js.a(f=>({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"})[f]||"text","getLanguageFromExtension"),gt=chunkFRFTE6P7_js.a(({url:f,extension:h})=>{let[b,C]=ot.useState(""),[L,S]=ot.useState(true),[k,O]=ot.useState(null);if(ot.useEffect(()=>{chunkFRFTE6P7_js.a(async()=>{try{S(!0),O(null);let N=await fetch(f);if(!N.ok)throw new Error(`Failed to load file: ${N.statusText}`);let q=await N.text();C(q);}catch(N){O(N instanceof Error?N.message:"Failed to load text content");}finally{S(false);}},"loadTextContent")();},[f]),L)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(k)return jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:jsxRuntime.jsxs("div",{className:"text-red-500",children:["Error: ",k]})});let W=xr(h);return jsxRuntime.jsx("div",{className:"h-full w-full overflow-auto",children:W!=="text"?jsxRuntime.jsx(reactSyntaxHighlighter.Prism,{className:"min-h-full! m-0! py-0!",language:W,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=chunkFRFTE6P7_js.a(({url:f})=>jsxRuntime.jsx("div",{className:"flex flex-col justify-center items-center w-full h-full",children:jsxRuntime.jsx("video",{controls:true,src:f,className:"w-full max-h-full"})}),"VideoDriver");var bt=ot.memo(chunkFRFTE6P7_js.a(function({extension:h,blob:b,path:C,buffer:L}){console.log("Driver props:",{extension:h,blob:b,path:C,buffer:L});let S=h.toLocaleLowerCase().trim(),k;if(C?k=C:b&&(k=URL.createObjectURL(b)),k){if(["jpeg","jpg","png","gif","bmp","webp"].includes(S))return jsxRuntime.jsx(at,{url:k});if(["mp3","wav","ogg","flac"].includes(S))return jsxRuntime.jsx(ct,{url:k});if(["mp4","webm"].includes(S))return jsxRuntime.jsx(yt,{url:k});if(h==="pdf")return jsxRuntime.jsx(Le,{url:k});if(["xlsx","pptx"].includes(S))return jsxRuntime.jsx(dt,{url:k,extension:S});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(S))return jsxRuntime.jsx(gt,{url:k,extension:S})}return S==="docx"?jsxRuntime.jsx(pt,{url:k,buffer:L}):jsxRuntime.jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsxRuntime.jsx(chunkFRFTE6P7_js.mb,{children:jsxRuntime.jsx(chunkFRFTE6P7_js.Wa,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:"Sorry, this file type isn\u2019t supported yet."})})})},"Driver"));var hs=chunkFRFTE6P7_js.a(f=>jsxRuntime.jsx("div",{className:"h-full w-full",children:jsxRuntime.jsx(bt,{...f})}),"FileViewer");Object.defineProperty(exports,"Alert",{enumerable:true,get:function(){return chunkFRFTE6P7_js.qb}});Object.defineProperty(exports,"AlertIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.A}});Object.defineProperty(exports,"AndroidIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.za}});Object.defineProperty(exports,"ApiIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.B}});Object.defineProperty(exports,"ArrowCircleTopRightIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.C}});Object.defineProperty(exports,"ArrowRightIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.D}});Object.defineProperty(exports,"BallsMenu",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ia}});Object.defineProperty(exports,"Box",{enumerable:true,get:function(){return chunkFRFTE6P7_js.mb}});Object.defineProperty(exports,"BreakpointProvider",{enumerable:true,get:function(){return chunkFRFTE6P7_js.q}});Object.defineProperty(exports,"BugReportIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.E}});Object.defineProperty(exports,"BurgerMenuIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Na}});Object.defineProperty(exports,"BusIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.sa}});Object.defineProperty(exports,"Button",{enumerable:true,get:function(){return chunkFRFTE6P7_js.z}});Object.defineProperty(exports,"CalendarIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.F}});Object.defineProperty(exports,"CarIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ta}});Object.defineProperty(exports,"ChatField",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Gb}});Object.defineProperty(exports,"CheckIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ja}});Object.defineProperty(exports,"Checkbox",{enumerable:true,get:function(){return chunkFRFTE6P7_js.sb}});Object.defineProperty(exports,"ChevronDownIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ka}});Object.defineProperty(exports,"ChevronLeftIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.G}});Object.defineProperty(exports,"ChevronRightIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.H}});Object.defineProperty(exports,"ChevronUpIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.la}});Object.defineProperty(exports,"ClockIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Oa}});Object.defineProperty(exports,"CloseCircleIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.I}});Object.defineProperty(exports,"ClosedLockIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.J}});Object.defineProperty(exports,"ContentLoader",{enumerable:true,get:function(){return chunkFRFTE6P7_js.zb}});Object.defineProperty(exports,"ContextMenu",{enumerable:true,get:function(){return chunkFRFTE6P7_js.db}});Object.defineProperty(exports,"ContextMenuDelimiter",{enumerable:true,get:function(){return chunkFRFTE6P7_js.eb}});Object.defineProperty(exports,"CrossIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.qa}});Object.defineProperty(exports,"DataSetsIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.K}});Object.defineProperty(exports,"DeepSearchIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.L}});Object.defineProperty(exports,"DisabledVisibleIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.M}});Object.defineProperty(exports,"DocsIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.N}});Object.defineProperty(exports,"DownloadIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.O}});Object.defineProperty(exports,"Drawer",{enumerable:true,get:function(){return chunkFRFTE6P7_js.vb}});Object.defineProperty(exports,"DrawerBody",{enumerable:true,get:function(){return chunkFRFTE6P7_js.xb}});Object.defineProperty(exports,"DrawerHeader",{enumerable:true,get:function(){return chunkFRFTE6P7_js.wb}});Object.defineProperty(exports,"EditUserIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.P}});Object.defineProperty(exports,"EmptyData",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ob}});Object.defineProperty(exports,"EnableVisibleIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Q}});Object.defineProperty(exports,"EnterArrowLeftIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.R}});Object.defineProperty(exports,"FileField",{enumerable:true,get:function(){return chunkFRFTE6P7_js.jb}});Object.defineProperty(exports,"FileIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.xa}});Object.defineProperty(exports,"FiltersIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.S}});Object.defineProperty(exports,"FlashIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Ia}});Object.defineProperty(exports,"FlexContainer",{enumerable:true,get:function(){return chunkFRFTE6P7_js.kb}});Object.defineProperty(exports,"FlexItem",{enumerable:true,get:function(){return chunkFRFTE6P7_js.lb}});Object.defineProperty(exports,"FolderAlertIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Ba}});Object.defineProperty(exports,"FolderInfoIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Ja}});Object.defineProperty(exports,"Header",{enumerable:true,get:function(){return chunkFRFTE6P7_js._a}});Object.defineProperty(exports,"HeaderDelimeter",{enumerable:true,get:function(){return chunkFRFTE6P7_js.$a}});Object.defineProperty(exports,"HeaderSection",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ab}});Object.defineProperty(exports,"HomepageIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.T}});Object.defineProperty(exports,"ImageIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Qa}});Object.defineProperty(exports,"InfoCircleFilledIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.oa}});Object.defineProperty(exports,"InfoCircleIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.U}});Object.defineProperty(exports,"Input",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ib}});Object.defineProperty(exports,"IosIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ya}});Object.defineProperty(exports,"Label",{enumerable:true,get:function(){return chunkFRFTE6P7_js.rb}});Object.defineProperty(exports,"Line",{enumerable:true,get:function(){return chunkFRFTE6P7_js.nb}});Object.defineProperty(exports,"LinerProgress",{enumerable:true,get:function(){return chunkFRFTE6P7_js.tb}});Object.defineProperty(exports,"ListMenu",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Xa}});Object.defineProperty(exports,"ListMenuItem",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Ya}});Object.defineProperty(exports,"ListMenuSection",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Za}});Object.defineProperty(exports,"MapRadarIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.V}});Object.defineProperty(exports,"MaximizeIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ra}});Object.defineProperty(exports,"MicrosoftIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Aa}});Object.defineProperty(exports,"MinusIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Pa}});Object.defineProperty(exports,"Modal",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Bb}});Object.defineProperty(exports,"ModalBody",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Db}});Object.defineProperty(exports,"ModalFooter",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Eb}});Object.defineProperty(exports,"ModalHeader",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Cb}});Object.defineProperty(exports,"MoonIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.W}});Object.defineProperty(exports,"OpenLockIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.X}});Object.defineProperty(exports,"OrganizationIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Y}});Object.defineProperty(exports,"Overlay",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Ab}});Object.defineProperty(exports,"Pagination",{enumerable:true,get:function(){return chunkFRFTE6P7_js.cb}});Object.defineProperty(exports,"PassportIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Ea}});Object.defineProperty(exports,"PasswordFinderIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Z}});Object.defineProperty(exports,"PencilIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Ga}});Object.defineProperty(exports,"PhonebookIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js._}});Object.defineProperty(exports,"PlaneIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.va}});Object.defineProperty(exports,"PlusIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ma}});Object.defineProperty(exports,"PointIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Fa}});Object.defineProperty(exports,"PrintIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.$}});Object.defineProperty(exports,"Profiler2Icon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.aa}});Object.defineProperty(exports,"ProfilerIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ba}});Object.defineProperty(exports,"RelationIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Ca}});Object.defineProperty(exports,"RelationPointsIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Da}});Object.defineProperty(exports,"RotateLeftIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Ka}});Object.defineProperty(exports,"RotateRightIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.La}});Object.defineProperty(exports,"RowActionsMenu",{enumerable:true,get:function(){return chunkFRFTE6P7_js.hb}});Object.defineProperty(exports,"SandBoxIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ca}});Object.defineProperty(exports,"SearchIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.da}});Object.defineProperty(exports,"Select",{enumerable:true,get:function(){return chunkFRFTE6P7_js.gb}});Object.defineProperty(exports,"ShipIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.wa}});Object.defineProperty(exports,"Sidebar",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Sa}});Object.defineProperty(exports,"SidebarContext",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Ra}});Object.defineProperty(exports,"SidebarDelimeter",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Ua}});Object.defineProperty(exports,"SidebarItem",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Ta}});Object.defineProperty(exports,"SidebarSection",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Va}});Object.defineProperty(exports,"StatisticIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ea}});Object.defineProperty(exports,"SunIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.fa}});Object.defineProperty(exports,"Switch",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ub}});Object.defineProperty(exports,"Table",{enumerable:true,get:function(){return chunkFRFTE6P7_js.bb}});Object.defineProperty(exports,"Tag",{enumerable:true,get:function(){return chunkFRFTE6P7_js.pb}});Object.defineProperty(exports,"TailwindExample",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Fb}});Object.defineProperty(exports,"ThemeProvider",{enumerable:true,get:function(){return chunkFRFTE6P7_js.s}});Object.defineProperty(exports,"Tooltip",{enumerable:true,get:function(){return chunkFRFTE6P7_js.yb}});Object.defineProperty(exports,"Typography",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Wa}});Object.defineProperty(exports,"UnfoldIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.pa}});Object.defineProperty(exports,"UpRightArrowCircleIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ga}});Object.defineProperty(exports,"UploadImageIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Ma}});Object.defineProperty(exports,"UserInCircleIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.Ha}});Object.defineProperty(exports,"UsersIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.na}});Object.defineProperty(exports,"VectorIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ha}});Object.defineProperty(exports,"WayIcon",{enumerable:true,get:function(){return chunkFRFTE6P7_js.ua}});Object.defineProperty(exports,"convertPaletteToRem",{enumerable:true,get:function(){return chunkFRFTE6P7_js.f}});Object.defineProperty(exports,"createComponent",{enumerable:true,get:function(){return chunkFRFTE6P7_js.w}});Object.defineProperty(exports,"createStyledComponent",{enumerable:true,get:function(){return chunkFRFTE6P7_js.x}});Object.defineProperty(exports,"darkTheme",{enumerable:true,get:function(){return chunkFRFTE6P7_js.p}});Object.defineProperty(exports,"darkThemePx",{enumerable:true,get:function(){return chunkFRFTE6P7_js.o}});Object.defineProperty(exports,"destructSpaceProps",{enumerable:true,get:function(){return chunkFRFTE6P7_js.t}});Object.defineProperty(exports,"generatePropertySpaceStyle",{enumerable:true,get:function(){return chunkFRFTE6P7_js.u}});Object.defineProperty(exports,"getBreakpoint",{enumerable:true,get:function(){return chunkFRFTE6P7_js.k}});Object.defineProperty(exports,"getButtonSizeStyles",{enumerable:true,get:function(){return chunkFRFTE6P7_js.h}});Object.defineProperty(exports,"getButtonStyles",{enumerable:true,get:function(){return chunkFRFTE6P7_js.g}});Object.defineProperty(exports,"getInputStyles",{enumerable:true,get:function(){return chunkFRFTE6P7_js.i}});Object.defineProperty(exports,"getResponsiveProps",{enumerable:true,get:function(){return chunkFRFTE6P7_js.v}});Object.defineProperty(exports,"getTypographyStyles",{enumerable:true,get:function(){return chunkFRFTE6P7_js.j}});Object.defineProperty(exports,"hexToRgba",{enumerable:true,get:function(){return chunkFRFTE6P7_js.l}});Object.defineProperty(exports,"lightTheme",{enumerable:true,get:function(){return chunkFRFTE6P7_js.n}});Object.defineProperty(exports,"lightThemePx",{enumerable:true,get:function(){return chunkFRFTE6P7_js.m}});Object.defineProperty(exports,"propToRem",{enumerable:true,get:function(){return chunkFRFTE6P7_js.e}});Object.defineProperty(exports,"pxToRem",{enumerable:true,get:function(){return chunkFRFTE6P7_js.c}});Object.defineProperty(exports,"remToPx",{enumerable:true,get:function(){return chunkFRFTE6P7_js.d}});Object.defineProperty(exports,"resolveThemeColor",{enumerable:true,get:function(){return chunkFRFTE6P7_js.b}});Object.defineProperty(exports,"useBreakpoint",{enumerable:true,get:function(){return chunkFRFTE6P7_js.r}});Object.defineProperty(exports,"useContextMenuControl",{enumerable:true,get:function(){return chunkFRFTE6P7_js.fb}});Object.defineProperty(exports,"useTheme",{enumerable:true,get:function(){return chunkFRFTE6P7_js.y}});Object.defineProperty(exports,"ServerStyleSheet",{enumerable:true,get:function(){return $t.ServerStyleSheet}});Object.defineProperty(exports,"StyleSheetManager",{enumerable:true,get:function(){return $t.StyleSheetManager}});exports.Container=ki;exports.FileViewer=hs;exports.FullscreenCard=oa;exports.Graph2D=sr;exports.PageContent=ni;exports.PageLayout=Ko;exports.Styled=Et;exports.StyledContainer=Ct;exports.StyledMain=jt;exports.SubNav=li;//# 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 as Wa$1}from'./chunk-7MUMIFGH.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-7MUMIFGH.mjs';import $t,{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 Vt from'lodash.clonedeep';import {scaleOrdinal,schemeCategory10,forceSimulation,forceLink,forceManyBody,forceX,forceY,forceCenter,forceCollide}from'd3';import At from'react-content-loader';import gr from'mammoth';import {Prism}from'react-syntax-highlighter';import {darcula}from'react-syntax-highlighter/dist/esm/styles/prism';var _o=a(({children:f,className:h})=>jsx(Nt,{className:h,children:f}),"PageLayout"),Nt=styled.div`
1
+ import {a,w,x,u,c,l,z,Pa,mb,ma,Wa as Wa$1}from'./chunk-SEO5UMNW.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-SEO5UMNW.mjs';import $t,{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 Vt from'lodash.clonedeep';import {scaleOrdinal,schemeCategory10,forceSimulation,forceLink,forceManyBody,forceX,forceY,forceCenter,forceCollide}from'd3';import At from'react-content-loader';import gr from'mammoth';import {Prism}from'react-syntax-highlighter';import {darcula}from'react-syntax-highlighter/dist/esm/styles/prism';var _o=a(({children:f,className:h})=>jsx(Nt,{className:h,children:f}),"PageLayout"),Nt=styled.div`
2
2
  display: grid;
3
3
  min-height: 100dvh;
4
4
  position: relative;
@@ -63,5 +63,5 @@ ${f?`
63
63
  `:""}
64
64
 
65
65
  min-width: 0;
66
- `);var it=a(({url:f})=>{let[h,w]=useState(1),[C,L]=useState(),S=nt.useRef(null),k=nt.useRef(null),B=a(()=>{w($=>Math.min($+.25,4));},"handleZoomIn");return jsxs("div",{ref:k,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:B,disabled:h>=4,p:8})]}),jsx("div",{className:"h-full w-full overflow-auto flex items-center justify-center",children:jsx("img",{src:f,ref:S,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,...C==="width"&&{width:`calc(${h*100}% - 20px)`},...C==="height"&&{height:`calc(${h*100}% - 20px)`}},onLoad:()=>{if(S.current&&k.current){let $=S.current.width,W=S.current.height,P=$<W?"height":"width";L(P);}}})})]})},"ImageDriver");var st=a(({url:f})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full p-5.5",children:jsx("audio",{controls:true,src:f,className:"w-full"})}),"AudioDriver");var Ce=a(({url:f})=>{let[h,w]=useState(null),[C,L]=useState(false),[S,k]=useState(true),[B,X]=useState(null);return useEffect(()=>{L(true);},[]),useEffect(()=>{if(!C)return;a(async()=>{try{let W=await import('./PdfDriver-LG63IFCO.mjs');w(()=>W.PdfDriver),k(!1);}catch(W){console.error("Failed to load PDF driver:",W),X("Failed to load PDF viewer"),k(false);}},"loadPdfDriver")();},[C]),C?S?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})}):B||!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:B||"PDF viewer unavailable"})})}):jsx(h,{url:f}):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:f,extension:h})=>jsxs("a",{href:f,download:`file.${h}`,className:"text-blue-500 underline",children:["Download ",h.toUpperCase()," file"]}),"DownloadDriver");var ut=50,mr=1e4,ft=a(({url:f,buffer:h})=>{let[w,C]=useState(""),[L,S]=useState(null);return useEffect(()=>{a(async()=>{try{let B=h;if(!B&&f&&(B=await(await fetch(f)).arrayBuffer()),!B){S("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(B.byteLength/(1024*1024)>ut){S(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${ut} \u041C\u0411)`);return}let $=gr.convertToHtml({arrayBuffer:B}),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")),mr)),P=await Promise.race([$,W]);C(P.value);}catch(B){S(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")();},[f,h]),L?jsx("div",{className:"text-red-500",children:L}):w?jsx("div",{dangerouslySetInnerHTML:{__html:w},className:"w-full h-full overflow-auto p-5"}):null},"DocxDriver");var br=a(f=>({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"})[f]||"text","getLanguageFromExtension"),pt=a(({url:f,extension:h})=>{let[w,C]=useState(""),[L,S]=useState(true),[k,B]=useState(null);if(useEffect(()=>{a(async()=>{try{S(!0),B(null);let P=await fetch(f);if(!P.ok)throw new Error(`Failed to load file: ${P.statusText}`);let G=await P.text();C(G);}catch(P){B(P instanceof Error?P.message:"Failed to load text content");}finally{S(false);}},"loadTextContent")();},[f]),L)return jsx("div",{className:"flex items-center justify-center p-8",children:jsx("div",{className:"text-gray-500",children:"Loading text content..."})});if(k)return jsx("div",{className:"flex items-center justify-center p-8",children:jsxs("div",{className:"text-red-500",children:["Error: ",k]})});let X=br(h);return jsx("div",{className:"h-full w-full overflow-auto",children:X!=="text"?jsx(Prism,{className:"min-h-full! m-0! py-0!",language:X,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:f})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full",children:jsx("video",{controls:true,src:f,className:"w-full max-h-full"})}),"VideoDriver");var yt=memo(a(function({extension:h,blob:w,path:C,buffer:L}){console.log("Driver props:",{extension:h,blob:w,path:C,buffer:L});let S=h.toLocaleLowerCase().trim(),k;if(C?k=C:w&&(k=URL.createObjectURL(w)),k){if(["jpeg","jpg","png","gif","bmp","webp"].includes(S))return jsx(it,{url:k});if(["mp3","wav","ogg","flac"].includes(S))return jsx(st,{url:k});if(["mp4","webm"].includes(S))return jsx(mt,{url:k});if(h==="pdf")return jsx(Ce,{url:k});if(["xlsx","pptx"].includes(S))return jsx(lt,{url:k,extension:S});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(S))return jsx(pt,{url:k,extension:S})}return S==="docx"?jsx(ft,{url:k,buffer:L}):jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(mb,{children:jsx(Wa$1,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:"Sorry, this file type isn\u2019t supported yet."})})})},"Driver"));var Wa=a(f=>jsx("div",{className:"h-full w-full",children:jsx(yt,{...f})}),"FileViewer");export{yi as Container,Wa as FileViewer,qi as FullscreenCard,ar as Graph2D,ti as PageContent,_o as PageLayout,jt as Styled,Nt as StyledContainer,Tt as StyledMain,ai as SubNav};//# sourceMappingURL=index.mjs.map
66
+ `);var it=a(({url:f})=>{let[h,w]=useState(1),[C,L]=useState(),S=nt.useRef(null),k=nt.useRef(null),B=a(()=>{w($=>Math.min($+.25,4));},"handleZoomIn");return jsxs("div",{ref:k,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:B,disabled:h>=4,p:8})]}),jsx("div",{className:"h-full w-full overflow-auto flex items-center justify-center",children:jsx("img",{src:f,ref:S,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,...C==="width"&&{width:`calc(${h*100}% - 20px)`},...C==="height"&&{height:`calc(${h*100}% - 20px)`}},onLoad:()=>{if(S.current&&k.current){let $=S.current.width,W=S.current.height,P=$<W?"height":"width";L(P);}}})})]})},"ImageDriver");var st=a(({url:f})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full p-5.5",children:jsx("audio",{controls:true,src:f,className:"w-full"})}),"AudioDriver");var Ce=a(({url:f})=>{let[h,w]=useState(null),[C,L]=useState(false),[S,k]=useState(true),[B,X]=useState(null);return useEffect(()=>{L(true);},[]),useEffect(()=>{if(!C)return;a(async()=>{try{let W=await import('./PdfDriver-YORLRLGC.mjs');w(()=>W.PdfDriver),k(!1);}catch(W){console.error("Failed to load PDF driver:",W),X("Failed to load PDF viewer"),k(false);}},"loadPdfDriver")();},[C]),C?S?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})}):B||!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:B||"PDF viewer unavailable"})})}):jsx(h,{url:f}):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:f,extension:h})=>jsxs("a",{href:f,download:`file.${h}`,className:"text-blue-500 underline",children:["Download ",h.toUpperCase()," file"]}),"DownloadDriver");var ut=50,mr=1e4,ft=a(({url:f,buffer:h})=>{let[w,C]=useState(""),[L,S]=useState(null);return useEffect(()=>{a(async()=>{try{let B=h;if(!B&&f&&(B=await(await fetch(f)).arrayBuffer()),!B){S("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(B.byteLength/(1024*1024)>ut){S(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${ut} \u041C\u0411)`);return}let $=gr.convertToHtml({arrayBuffer:B}),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")),mr)),P=await Promise.race([$,W]);C(P.value);}catch(B){S(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")();},[f,h]),L?jsx("div",{className:"text-red-500",children:L}):w?jsx("div",{dangerouslySetInnerHTML:{__html:w},className:"w-full h-full overflow-auto p-5"}):null},"DocxDriver");var br=a(f=>({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"})[f]||"text","getLanguageFromExtension"),pt=a(({url:f,extension:h})=>{let[w,C]=useState(""),[L,S]=useState(true),[k,B]=useState(null);if(useEffect(()=>{a(async()=>{try{S(!0),B(null);let P=await fetch(f);if(!P.ok)throw new Error(`Failed to load file: ${P.statusText}`);let G=await P.text();C(G);}catch(P){B(P instanceof Error?P.message:"Failed to load text content");}finally{S(false);}},"loadTextContent")();},[f]),L)return jsx("div",{className:"flex items-center justify-center p-8",children:jsx("div",{className:"text-gray-500",children:"Loading text content..."})});if(k)return jsx("div",{className:"flex items-center justify-center p-8",children:jsxs("div",{className:"text-red-500",children:["Error: ",k]})});let X=br(h);return jsx("div",{className:"h-full w-full overflow-auto",children:X!=="text"?jsx(Prism,{className:"min-h-full! m-0! py-0!",language:X,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:f})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full",children:jsx("video",{controls:true,src:f,className:"w-full max-h-full"})}),"VideoDriver");var yt=memo(a(function({extension:h,blob:w,path:C,buffer:L}){console.log("Driver props:",{extension:h,blob:w,path:C,buffer:L});let S=h.toLocaleLowerCase().trim(),k;if(C?k=C:w&&(k=URL.createObjectURL(w)),k){if(["jpeg","jpg","png","gif","bmp","webp"].includes(S))return jsx(it,{url:k});if(["mp3","wav","ogg","flac"].includes(S))return jsx(st,{url:k});if(["mp4","webm"].includes(S))return jsx(mt,{url:k});if(h==="pdf")return jsx(Ce,{url:k});if(["xlsx","pptx"].includes(S))return jsx(lt,{url:k,extension:S});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(S))return jsx(pt,{url:k,extension:S})}return S==="docx"?jsx(ft,{url:k,buffer:L}):jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(mb,{children:jsx(Wa$1,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:"Sorry, this file type isn\u2019t supported yet."})})})},"Driver"));var Wa=a(f=>jsx("div",{className:"h-full w-full",children:jsx(yt,{...f})}),"FileViewer");export{yi as Container,Wa as FileViewer,qi as FullscreenCard,ar as Graph2D,ti as PageContent,_o as PageLayout,jt as Styled,Nt as StyledContainer,Tt as StyledMain,ai as SubNav};//# 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.14",
3
+ "version": "2.0.16",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",