@cyber-harbour/ui 2.0.36 → 2.0.38

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 chunkAK3WMUOH_js=require('./chunk-AK3WMUOH.js'),Xt=require('styled-components'),jsxRuntime=require('react/jsx-runtime'),st=require('react'),Jt=require('lodash.clonedeep'),d3=require('d3'),Ht=require('react-content-loader'),docxPreview=require('docx-preview'),reactSyntaxHighlighter=require('react-syntax-highlighter'),prism=require('react-syntax-highlighter/dist/esm/styles/prism'),Ir=require('react-markdown'),jr=require('remark-gfm'),Rr=require('copy-to-clipboard');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Xt__default=/*#__PURE__*/_interopDefault(Xt);var st__default=/*#__PURE__*/_interopDefault(st);var Jt__default=/*#__PURE__*/_interopDefault(Jt);var Ht__default=/*#__PURE__*/_interopDefault(Ht);var Ir__default=/*#__PURE__*/_interopDefault(Ir);var jr__default=/*#__PURE__*/_interopDefault(jr);var Rr__default=/*#__PURE__*/_interopDefault(Rr);var pi=chunkAK3WMUOH_js.a(({children:p,className:d})=>jsxRuntime.jsx(Lt,{className:d,children:p}),"PageLayout"),Lt=Xt.styled.div`
1
+ 'use strict';var chunk7VJL2NQS_js=require('./chunk-7VJL2NQS.js'),Xt=require('styled-components'),jsxRuntime=require('react/jsx-runtime'),st=require('react'),Jt=require('lodash.clonedeep'),d3=require('d3'),Ht=require('react-content-loader'),docxPreview=require('docx-preview'),reactSyntaxHighlighter=require('react-syntax-highlighter'),prism=require('react-syntax-highlighter/dist/esm/styles/prism'),Ir=require('react-markdown'),jr=require('remark-gfm'),Rr=require('copy-to-clipboard');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Xt__default=/*#__PURE__*/_interopDefault(Xt);var st__default=/*#__PURE__*/_interopDefault(st);var Jt__default=/*#__PURE__*/_interopDefault(Jt);var Ht__default=/*#__PURE__*/_interopDefault(Ht);var Ir__default=/*#__PURE__*/_interopDefault(Ir);var jr__default=/*#__PURE__*/_interopDefault(jr);var Rr__default=/*#__PURE__*/_interopDefault(Rr);var pi=chunk7VJL2NQS_js.a(({children:p,className:d})=>jsxRuntime.jsx(Lt,{className:d,children:p}),"PageLayout"),Lt=Xt.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 bi=chunkAK3WMUOH_js.a(({children:p,className:d})=>jsxRuntime.jsx(Rt,{className:d,children:p}),"PageContent"),Rt=Xt.styled.main`
12
+ `;var bi=chunk7VJL2NQS_js.a(({children:p,className:d})=>jsxRuntime.jsx(Rt,{className:d,children:p}),"PageContent"),Rt=Xt.styled.main`
13
13
  grid-area: content;
14
14
  min-width: 0;
15
15
  background: ${({theme:p})=>p.colors.backgroundBase};
16
- `;var Si=chunkAK3WMUOH_js.a(({children:p,className:d,top:m=0})=>jsxRuntime.jsx(Ft,{className:d,$top:m,onClick:k=>k.stopPropagation(),children:p}),"SubNav"),Ft=Xt.styled.div(({theme:p,$top:d})=>`
16
+ `;var Si=chunk7VJL2NQS_js.a(({children:p,className:d,top:m=0})=>jsxRuntime.jsx(Ft,{className:d,$top:m,onClick:k=>k.stopPropagation(),children:p}),"SubNav"),Ft=Xt.styled.div(({theme:p,$top:d})=>`
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 ${p.colors.stroke.light};
35
35
  }
36
- `);var Bi=chunkAK3WMUOH_js.w(({maxWidth:p,...d})=>jsxRuntime.jsx(At,{...d,$maxWidth:p})),At=chunkAK3WMUOH_js.x(Xt.styled.div(({theme:p,$maxWidth:d,px:m=20})=>`
37
- ${chunkAK3WMUOH_js.u(p,"padding-inline",m)}
36
+ `);var Bi=chunk7VJL2NQS_js.w(({maxWidth:p,...d})=>jsxRuntime.jsx(At,{...d,$maxWidth:p})),At=chunk7VJL2NQS_js.x(Xt.styled.div(({theme:p,$maxWidth:d,px:m=20})=>`
37
+ ${chunk7VJL2NQS_js.u(p,"padding-inline",m)}
38
38
  width: 100%;
39
39
  min-width: 0;
40
- max-width: ${typeof d=="number"?chunkAK3WMUOH_js.c(d,p.baseSize):d||"100%"};
40
+ max-width: ${typeof d=="number"?chunk7VJL2NQS_js.c(d,p.baseSize):d||"100%"};
41
41
  `),{ignoreStyles:["padding-inline"]});var Yt=Xt__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
- `,Gt=chunkAK3WMUOH_js.a(({width:p=280,height:d=280})=>{let m=Xt.useTheme();return jsxRuntime.jsx(Yt,{children:jsxRuntime.jsxs(Ht__default.default,{foregroundColor:m.contentLoader.foreground,backgroundColor:m.contentLoader.background,width:p,height:d,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"),nt=Gt;var ye=typeof window<"u"&&window.devicePixelRatio||1;function cr(p){return !p||p.length===0?[]:p.map(d=>{let m=new Image;m.src=d.img;let k=new Image;return k.src=d.hoverImg,{...d,normalImg:m,hoverImg:k}})}chunkAK3WMUOH_js.a(cr,"prepareButtonImages");var j={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},lr=st.forwardRef(({loading:p,width:d,height:m,graphData:k,buttons:N=[],onNodeClick:D,onBackgroundClick:b,onNodeHover:M,onLinkHover:A,onLinkClick:$},X)=>{let P=Xt.useTheme(),[G,Re]=st.useState(true),t=st.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:d*ye,height:m*ye,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:V,links:te}=st.useMemo(()=>Jt__default.default(k),[k]),[W,kt]=st.useState([]),z=st.useRef(null),S=st.useRef(null),ae=st.useRef(null),Nt=d3.scaleOrdinal(d3.schemeCategory10),St=st.useCallback(()=>{if(!z.current)return false;try{let e=z.current.getContext("2d");return e?(ae.current=e,!0):(console.error("Failed to get 2D context"),!1)}catch(e){return console.error("Error initializing Canvas 2D context:",e),false}},[]),U=st.useCallback(()=>S.current?S.current.nodes():null,[]),se=st.useCallback(()=>{if(!S.current)return null;let e=S.current.force("link");return e?e.links():null},[]),Ee=st.useCallback(e=>{e.save(),e.setTransform(1,0,0,1,0,0);let{width:n,height:r}=t.current,o=j.gridSpacing,i=j.dotSize;e.fillStyle=P.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();},[P.graph2D.grid.dotColor,j.gridSpacing,j.dotSize]),Pt=st.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=chunkAK3WMUOH_js.a(e=>{let r=Math.min(e,j.maxZoom)/j.maxZoom;return Math.max(j.fontSize*r,j.fontSize)},"calculateFontSize"),ze=st.useCallback(e=>{let n=se(),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(_=>_.id===o.source),c=typeof o.target=="object"?o.target:r.find(_=>_.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},u=s.x-a.x,h=s.y-a.y,f=Math.sqrt(u*u+h*h),T=u/f,w=h/f,F=j.nodeSizeBase/2,L=j.nodeSizeBase/2,R=4,l={x:a.x+T*F,y:a.y+w*F},v={x:s.x-T*(L+R),y:s.y-w*(L+R)},g={x:s.x-T*(L+1),y:s.y-w*(L+1)},B=t.current.highlightLinks.has(o),E=B?P.graph2D.link.highlighted:P.graph2D.link.normal,O=B?1.5:.5,Y=a.x+(s.x-a.x)/2,J=a.y+(s.y-a.y)/2,K=Math.atan2(h,u);if(o.label){let _=t.current.transform.k,Q=ve(_);e.font=`${Q}px Sans-Serif`;let Ge=e.measureText(o.label).width,qe=10;e.beginPath(),e.moveTo(l.x,l.y);let Ue=f/2-(Ge+qe)/2,Ve={x:a.x+T*Ue,y:a.y+w*Ue};e.lineTo(Ve.x,Ve.y),e.strokeStyle=E,e.lineWidth=O,e.stroke(),e.beginPath();let _e=f/2+(Ge+qe)/2,Ze={x:a.x+T*_e,y:a.y+w*_e};e.moveTo(Ze.x,Ze.y),e.lineTo(v.x,v.y),e.strokeStyle=E,e.lineWidth=O,e.stroke();}else e.beginPath(),e.moveTo(l.x,l.y),e.lineTo(v.x,v.y),e.strokeStyle=E,e.lineWidth=O,e.stroke();let oe=2;if(e.save(),e.translate(g.x,g.y),e.rotate(K),e.beginPath(),e.moveTo(0,0),e.lineTo(-4,oe),e.lineTo(-4,0),e.lineTo(-4,-2),e.closePath(),e.fillStyle=E,e.fill(),e.restore(),o.label){let _=t.current.transform.k,Q=ve(_);e.font=`${Q}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.save(),e.translate(Y,J),Math.abs(K)>Math.PI/2?e.rotate(K+Math.PI):e.rotate(K),e.fillStyle=B?P.graph2D.link.highlightedTextColor:P.graph2D.link.textColor,e.fillText(o.label,0,0),e.restore();}}));},[j,P.graph2D.link]),Fe=chunkAK3WMUOH_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 u=new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0,compactDisplay:"short"}).format(c),h=e.measureText(u).width,f=i*.3,w=(i+f+h)/2;e.drawImage(n,r-w,o-i/2,i,i),e.fillStyle=a||"#99989C",e.fillText(u,r-w+i+f,o);}else e.drawImage(n,r-i/2,o-i/2,i,i);}catch(s){console.warn("Error rendering icon:",s);}},"drawIconWithOptionalCounter"),Be=st.useCallback((e,n)=>{if(!W||W.length===0||!e||!e.x||!e.y)return;let{x:r,y:o}=e,i=j.nodeSizeBase*j.nodeAreaFactor/2;n.save();let c=Math.min(W.length,8),a=Math.min(Math.PI*2/c,Math.PI);for(let s=0;s<c;s++){let u=s*a,h=(s+1)*a,f=t.current.hoveredButtonIndex===s;n.beginPath(),n.arc(r,o,i,u,h,false),n.lineTo(r,o),n.closePath(),n.lineWidth=1,n.strokeStyle=P.graph2D?.button?.stroke||"#FFFFFF",n.stroke(),n.fillStyle=f?P.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":P.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",n.fill();let T=i*.2,w=(u+h)/2,F=i-j.nodeSizeBase/2+T,L=r+Math.cos(w)*F,R=o+Math.sin(w)*F,l=W[s];if(l.loading){let v=T/2,g=T/12;n.save(),n.translate(L,R),n.rotate(t.current.spinnerAngle);for(let B=0;B<12;B++){let E=Math.PI*2*B/12,O=B/12,Y=Math.cos(E)*v,J=Math.sin(E)*v;n.beginPath(),n.fillStyle=chunkAK3WMUOH_js.l(P.graph2D?.button?.spinnerColor,O),n.arc(Y,J,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(H),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 v=f?l.hoverImg:l.normalImg,g=l.getCount?l.getCount(e):null;v.complete?Fe(n,v,L,R,T,g,P.graph2D?.button?.textColor):v.onload=()=>{ae.current&&Fe(n,v,L,R,T,g,P.graph2D?.button?.textColor);};}}n.restore();},[W,P.graph2D?.button]),Oe=st.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,u=t.current.highlightNodes.has(r)||r===t.current.hoveredNode||r===t.current.draggedNode,h=r===t.current.selectedNode,f=j.nodeSizeBase,T=j.nodeSizeBase/2;if(u&&!h){let w=j.nodeSizeBase*j.nodeAreaFactor*.75/2;e.beginPath(),e.arc(o,i,w,0,2*Math.PI,false),e.fillStyle=P.graph2D.ring.highlightFill,e.fill();}if(h)if(N&&N.length>0)Be(r,e);else {let w=j.nodeSizeBase*j.nodeAreaFactor/2;e.beginPath(),e.arc(o,i,w,0,2*Math.PI,false),e.fillStyle=P.graph2D.ring.selectionFill||P.graph2D.ring.highlightFill,e.fill();}if(e.beginPath(),e.arc(o,i,T,0,2*Math.PI),e.fillStyle=c||Nt(r.group||"0"),e.fill(),s){e.save(),e.translate(o,i);let w=t.current.transform.k,F=ve(w),L=f*j.textPaddingFactor;e.font=`${F}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle=a||"#000";let R=Pt(s,L,e);e.fillText(R,0,0),e.restore();}}));},[P.graph2D.ring,N,Be]),H=st.useCallback(()=>{let e=ae.current;e&&(e.clearRect(0,0,t.current.width,t.current.height),Ee(e),e.save(),e.setTransform(t.current.transform.k,0,0,t.current.transform.k,t.current.transform.x,t.current.transform.y),ze(e),Oe(e),e.restore());},[ze,Oe,Ee]),Ae=st.useCallback((e,n=[],r)=>{let o=se()||[],i=U()||[];if(!S.current||!e.length)return;let{width:c,height:a}=t.current,s=r?.smoothAppearance??false,u=r?.transitionDuration??1e3,h=new Set(i.map(l=>l.id)),f=e.filter(l=>!h.has(l.id)),T=new Set(o.map(l=>`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`)),w=n.filter(l=>{let v=`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`;return !T.has(v)});if(f.length===0&&w.length===0)return;let F=[...i,...f],L=[...o,...w];s&&(f.forEach(l=>{let v=w.filter(g=>{let B=typeof g.source=="object"?g.source.id:g.source,E=typeof g.target=="object"?g.target.id:g.target;return B===l.id&&h.has(E)||E===l.id&&h.has(B)});if(v.length>0){let g=v[0],B=typeof g.source=="object"?g.source.id===l.id?g.target:g.source.id:g.source===l.id?g.target:g.source,E=F.find(O=>O.id===B);if(E&&E.x!==void 0&&E.y!==void 0){let O=30+Math.random()*20,Y=Math.random()*Math.PI*2;l.x=E.x+Math.cos(Y)*O,l.y=E.y+Math.sin(Y)*O,l.vx=0,l.vy=0;}}else {let g=c/2,B=a/2,E=Math.min(c,a)/4,O=Math.random()*Math.PI*2;l.x=g+Math.cos(O)*(E*Math.random()),l.y=B+Math.sin(O)*(E*Math.random()),l.vx=0,l.vy=0;}}),i.forEach(l=>{l.fx=l.x,l.fy=l.y;})),S.current.nodes(F);let R=S.current.force("link");R&&R.links(L),w.forEach(l=>{let v=typeof l.source=="object"?l.source:F.find(B=>B.id===l.source),g=typeof l.target=="object"?l.target:F.find(B=>B.id===l.target);!v||!g||(!v.neighbors&&(v.neighbors=[]),!g.neighbors&&(g.neighbors=[]),v.neighbors.push(g),g.neighbors.push(v),!v.links&&(v.links=[]),!g.links&&(g.links=[]),v.links.push(l),g.links.push(l));}),s?(S.current.alphaTarget(.3),S.current.alpha(.3),S.current.velocityDecay(.7),S.current.restart(),setTimeout(()=>{i.forEach(l=>{l.fx=void 0,l.fy=void 0;}),S.current?.alphaTarget(0),S.current?.alpha(.1),S.current?.velocityDecay(.6);},u)):S.current.alpha(.1).restart(),H();},[V,H]),$e=st.useCallback(e=>{let n=U(),r=se();if(!S.current||!e.length||!n||n.length===0||!r||r.length===0)return;let o=new Set(e);if(t.current.selectedNode&&t.current.selectedNode.id!==void 0&&o.has(t.current.selectedNode.id)&&(t.current.selectedNode=null),t.current.hoveredNode&&t.current.hoveredNode.id!==void 0&&o.has(t.current.hoveredNode.id)&&(t.current.hoveredNode=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set),t.current.hoveredLink){let s=typeof t.current.hoveredLink.source=="object"?t.current.hoveredLink.source.id:t.current.hoveredLink.source,u=typeof t.current.hoveredLink.target=="object"?t.current.hoveredLink.target.id:t.current.hoveredLink.target;(s!==void 0&&o.has(s)||u!==void 0&&o.has(u))&&(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 u=typeof s.source=="object"?s.source.id:s.source,h=typeof s.target=="object"?s.target.id:s.target;return u!==void 0&&!o.has(u)&&h!==void 0&&!o.has(h)});i.forEach(s=>{s.neighbors=[],s.links=[];}),c.forEach(s=>{let u=typeof s.source=="object"?s.source:i.find(f=>f.id===s.source),h=typeof s.target=="object"?s.target:i.find(f=>f.id===s.target);!u||!h||(u.neighbors=u.neighbors||[],h.neighbors=h.neighbors||[],u.neighbors.push(h),h.neighbors.push(u),u.links=u.links||[],h.links=h.links||[],u.links.push(s),h.links.push(s));}),S.current.nodes(i);let a=S.current.force("link");a&&a.links(c),H();},[H]),ce=st.useCallback((e=0,n=20)=>{let r=U();if(!ae.current||!z.current||!r||!r.length)return;let i=1/0,c=1/0,a=-1/0,s=-1/0;if(r.forEach(u=>{if(u.x===void 0||u.y===void 0)return;let h=u.x,f=u.y;i=Math.min(i,h),c=Math.min(c,f),a=Math.max(a,h),s=Math.max(s,f);}),isFinite(i)&&isFinite(a)&&isFinite(c)&&isFinite(s)){let{width:u,height:h}=t.current;i-=n,c-=n,a+=n,s+=n;let f=a-i,T=s-c,w=f>0?u/f:1,F=T>0?h/T:1,L=Math.min(w,F,10),R=i+f/2,l=c+T/2,v={k:L,x:u/2-R*L,y:h/2-l*L};if(e>0){let g={...t.current.transform},B=Date.now(),E=chunkAK3WMUOH_js.a(()=>{let O=Math.min(1,(Date.now()-B)/e),Y=O===1?1:1-Math.pow(1-O,3),J={k:g.k+(v.k-g.k)*Y,x:g.x+(v.x-g.x)*Y,y:g.y+(v.y-g.y)*Y};t.current.transform=J,H(),O<1&&requestAnimationFrame(E);},"animateZoom");requestAnimationFrame(E);}else t.current.transform=v,H();}},[]),le=st.useCallback((e,n)=>{let r=U();if(!r||r.length===0)return null;let o=j.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 u=(s.x||0)-c,h=(s.y||0)-a;return Math.sqrt(u*u+h*h)<=o})||null},[]),de=st.useCallback((e,n)=>{let r=se(),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(u=>{let h=typeof u.source=="object"?u.source:o.find(Q=>Q.id===u.source),f=typeof u.target=="object"?u.target:o.find(Q=>Q.id===u.target);if(!h||!f)return false;let T=h.x||0,w=h.y||0,F=f.x||0,L=f.y||0,R=c-T,l=a-w,v=F-T,g=L-w,B=R*v+l*g,E=v*v+g*g;if(E===0)return false;let O=B/E;O=Math.max(0,Math.min(1,O));let Y=T+O*v,J=w+O*g,K=c-Y,oe=a-J;return Math.sqrt(K*K+oe*oe)<=s})||null},[]),He=st.useCallback((e,n,r,o,i,c,a)=>{let s=e-r,u=n-o,h=Math.sqrt(s*s+u*u),f=Math.atan2(u,s);f<0&&(f+=2*Math.PI);let F=h>=i*.5&&h<=i*1,L=false;return c===Math.PI&&a===Math.PI*2?L=f>=Math.PI&&f<=Math.PI*2:c===0&&a===Math.PI?L=f>=0&&f<=Math.PI:L=c<=a&&f>=c&&f<=a||c>a&&(f>=c||f<=a),F&&L},[]),we=st.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,M&&M(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[M]),xe=st.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,A&&A(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[A,U]),Xe=st.useCallback(e=>{$&&$(e);},[$]),We=st.useCallback(e=>{t.current.selectedNode=e,D&&D(e);},[D]),Ye=st.useCallback(()=>{t.current.selectedNode=null,b&&b();},[b]),ke=st.useCallback(e=>{if(!z.current||!S.current)return;let n=z.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=le(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});},[le]),ue=st.useCallback((e,n)=>{let r=null;if(z.current&&t.current&&W.length>0){let o=j.nodeSizeBase*j.nodeAreaFactor/2,i=z.current.getBoundingClientRect(),c=z.current.width/i.width,a=z.current.height/i.height,s=e*c,u=n*a,h=(s-t.current.transform.x)/t.current.transform.k,f=(u-t.current.transform.y)/t.current.transform.k,T=t.current.selectedNode?.x||0,w=t.current.selectedNode?.y||0,F=Math.min(W.length,8),L=Math.min(Math.PI*2/F,Math.PI);for(let R=0;R<F;R++){let l=R*L,v=(R+1)*L;if(He(h,f,T,w,o,l,v)){r=R;break}}}return r},[W]),Ne=st.useCallback(e=>{if(!z.current)return;let n=z.current.getBoundingClientRect(),r=e.clientX-n.left,o=e.clientY-n.top;if(t.current.draggedNode&&t.current.mouseStartPos&&S.current){let a=t.current.mouseStartPos.x,s=t.current.mouseStartPos.y,u=r-a,h=o-s;Math.sqrt(u*u+h*h)>3&&(t.current.isDragging=true,S.current.alphaTarget()===0&&S.current.alphaTarget(0).restart());let w=typeof window<"u"&&window.devicePixelRatio||1,F=(r*w-t.current.transform.x)/t.current.transform.k,L=(o*w-t.current.transform.y)/t.current.transform.k;t.current.draggedNode.fx=F,t.current.draggedNode.fy=L;return}if(t.current.isPanning&&t.current.mouseStartPos){let a=r-t.current.lastMousePos.x,s=o-t.current.lastMousePos.y,u=t.current.mouseStartPos.x,h=t.current.mouseStartPos.y;Math.sqrt(Math.pow(r-u,2)+Math.pow(o-h,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},H();return}let i,c;if(t.current.selectedNode&&z.current&&W.length>0){let a=ue(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=le(r,o),!c)){let a=de(r,o),s=a!==t.current.hoveredLink;if(a&&t.current.hoveredNode&&we(null),xe(a),z.current&&(z.current.style.cursor=a?"pointer":"default"),s){H();return}}c&&t.current.hoveredLink&&xe(null),c!==t.current.hoveredNode&&(i=true),we(c),z.current&&(z.current.style.cursor=c?"pointer":"default"),i&&H();},[W,le,de,we,xe,H,He,ue]),Dt=st.useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.stopPropagation(),e.preventDefault()),t.current.mustBeStoppedPropagation=false;},[]),pe=st.useCallback(e=>{let n=t.current.isDragging;if(n&&(t.current.mustBeStoppedPropagation=true),!n&&t.current.mouseStartPos){let r=z.current?.getBoundingClientRect();if(r){let o=e.clientX-r.left,i=e.clientY-r.top;W.length>0&&t.current.hoveredButtonIndex===null&&(t.current.hoveredButtonIndex=ue(o,i));let c=false;if(t.current.selectedNode&&t.current.hoveredButtonIndex!==null&&N[t.current.hoveredButtonIndex]){let a=N[t.current.hoveredButtonIndex];a&&a.onClick&&(a.onClick(t.current.selectedNode),c=true,t.current.hoveredButtonIndex=null);}if(!c&&t.current.draggedNode)We(t.current.draggedNode);else if(!c&&!t.current.draggedNode){let a=de(o,i);a?Xe(a):Ye();}}}if(t.current.draggedNode&&S.current){if(n){S.current.alphaTarget(0);let r=.05,o=.04,i=.6;S.current.alpha(r).alphaDecay(o),S.current.velocityDecay(i);}else S.current.alphaTarget(0);t.current.draggedNode.fx=void 0,t.current.draggedNode.fy=void 0,t.current.draggedNode=null;}t.current.isDragging=false,t.current.mouseStartPos=null,t.current.isPanning&&(t.current.isPanning=false),H();},[N,H,We,Ye,de,Xe,ue,W]),Se=st.useCallback(e=>{if(e.stopPropagation(),e.preventDefault(),!z.current)return;let n=z.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 u=a.k*c,h=r-(r-a.x)*c,f=o-(o-a.y)*c;t.current.transform={k:u,x:h,y:f},H();},[H]),Pe=chunkAK3WMUOH_js.a((e,n)=>{let r=e.touches[0];if(r){let o={clientX:r.clientX,clientY:r.clientY};n(o);}},"convertTouchToMouseEvent"),Mt=st.useCallback(e=>{Pe(e,ke);},[ke]),De=st.useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.preventDefault(),e.stopPropagation()),t.current.mustBeStoppedPropagation=false,Pe(e,pe);},[pe]),Tt=st.useCallback(e=>{Pe(e,Ne);},[Ne]);return st.useImperativeHandle(X,()=>({zoomToFit:ce,addNodes:Ae,removeNodes:$e}),[ce,Ae,$e]),st.useEffect(()=>{let e=z.current,{width:n,height:r}=t.current;if(!e)return;St(),Re(true);let o=n/2,i=r/2,c=j.nodeSizeBase,a=c/2,s=c*2.5;S.current&&S.current.stop();let u=S.current=d3.forceSimulation(V).force("link",d3.forceLink(te).id(h=>h.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 ()=>{u.stop();}},[V,te]),st.useLayoutEffect(()=>{let e=z.current;e&&(t.current.width=d*ye,t.current.height=m*ye,e.width=t.current.width,e.height=t.current.height);},[d,m]),st.useEffect(()=>{if(S.current){let e=S.current;e.on("tick",()=>{H();}),e.on("end",()=>{G&&(ce(0,20),setTimeout(()=>{Re(false);},200));});}G||H();},[V,te,G,H,ce]),st.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]),st.useEffect(()=>{N&&N.length>0&&kt(cr(N));},[N]),st.useEffect(()=>{let e=z.current;if(!(!e||typeof window>"u"))return e.addEventListener("wheel",Se,{passive:false}),e.addEventListener("touchend",De,{passive:false}),()=>{e.removeEventListener("wheel",Se),e.removeEventListener("touchend",De);}},[Se,De]),jsxRuntime.jsxs(dr,{children:[(p||G)&&jsxRuntime.jsx(nt,{width:d,height:m}),jsxRuntime.jsx(ur,{ref:z,style:{width:d,height:m,display:p||G?"none":"block"},onMouseDown:ke,onMouseMove:Ne,onMouseUp:pe,onMouseLeave:pe,onClick:Dt,onTouchStart:Mt,onTouchMove:Tt})]})}),dr=Xt.styled.div`
47
+ `,Gt=chunk7VJL2NQS_js.a(({width:p=280,height:d=280})=>{let m=Xt.useTheme();return jsxRuntime.jsx(Yt,{children:jsxRuntime.jsxs(Ht__default.default,{foregroundColor:m.contentLoader.foreground,backgroundColor:m.contentLoader.background,width:p,height:d,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"),nt=Gt;var ye=typeof window<"u"&&window.devicePixelRatio||1;function cr(p){return !p||p.length===0?[]:p.map(d=>{let m=new Image;m.src=d.img;let k=new Image;return k.src=d.hoverImg,{...d,normalImg:m,hoverImg:k}})}chunk7VJL2NQS_js.a(cr,"prepareButtonImages");var j={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},lr=st.forwardRef(({loading:p,width:d,height:m,graphData:k,buttons:N=[],onNodeClick:D,onBackgroundClick:b,onNodeHover:M,onLinkHover:A,onLinkClick:$},X)=>{let P=Xt.useTheme(),[G,Re]=st.useState(true),t=st.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:d*ye,height:m*ye,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:V,links:te}=st.useMemo(()=>Jt__default.default(k),[k]),[W,kt]=st.useState([]),z=st.useRef(null),S=st.useRef(null),ae=st.useRef(null),Nt=d3.scaleOrdinal(d3.schemeCategory10),St=st.useCallback(()=>{if(!z.current)return false;try{let e=z.current.getContext("2d");return e?(ae.current=e,!0):(console.error("Failed to get 2D context"),!1)}catch(e){return console.error("Error initializing Canvas 2D context:",e),false}},[]),U=st.useCallback(()=>S.current?S.current.nodes():null,[]),se=st.useCallback(()=>{if(!S.current)return null;let e=S.current.force("link");return e?e.links():null},[]),Ee=st.useCallback(e=>{e.save(),e.setTransform(1,0,0,1,0,0);let{width:n,height:r}=t.current,o=j.gridSpacing,i=j.dotSize;e.fillStyle=P.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();},[P.graph2D.grid.dotColor,j.gridSpacing,j.dotSize]),Pt=st.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=chunk7VJL2NQS_js.a(e=>{let r=Math.min(e,j.maxZoom)/j.maxZoom;return Math.max(j.fontSize*r,j.fontSize)},"calculateFontSize"),ze=st.useCallback(e=>{let n=se(),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(_=>_.id===o.source),c=typeof o.target=="object"?o.target:r.find(_=>_.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},u=s.x-a.x,h=s.y-a.y,f=Math.sqrt(u*u+h*h),T=u/f,w=h/f,F=j.nodeSizeBase/2,L=j.nodeSizeBase/2,R=4,l={x:a.x+T*F,y:a.y+w*F},v={x:s.x-T*(L+R),y:s.y-w*(L+R)},g={x:s.x-T*(L+1),y:s.y-w*(L+1)},B=t.current.highlightLinks.has(o),E=B?P.graph2D.link.highlighted:P.graph2D.link.normal,O=B?1.5:.5,Y=a.x+(s.x-a.x)/2,J=a.y+(s.y-a.y)/2,K=Math.atan2(h,u);if(o.label){let _=t.current.transform.k,Q=ve(_);e.font=`${Q}px Sans-Serif`;let Ge=e.measureText(o.label).width,qe=10;e.beginPath(),e.moveTo(l.x,l.y);let Ue=f/2-(Ge+qe)/2,Ve={x:a.x+T*Ue,y:a.y+w*Ue};e.lineTo(Ve.x,Ve.y),e.strokeStyle=E,e.lineWidth=O,e.stroke(),e.beginPath();let _e=f/2+(Ge+qe)/2,Ze={x:a.x+T*_e,y:a.y+w*_e};e.moveTo(Ze.x,Ze.y),e.lineTo(v.x,v.y),e.strokeStyle=E,e.lineWidth=O,e.stroke();}else e.beginPath(),e.moveTo(l.x,l.y),e.lineTo(v.x,v.y),e.strokeStyle=E,e.lineWidth=O,e.stroke();let oe=2;if(e.save(),e.translate(g.x,g.y),e.rotate(K),e.beginPath(),e.moveTo(0,0),e.lineTo(-4,oe),e.lineTo(-4,0),e.lineTo(-4,-2),e.closePath(),e.fillStyle=E,e.fill(),e.restore(),o.label){let _=t.current.transform.k,Q=ve(_);e.font=`${Q}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.save(),e.translate(Y,J),Math.abs(K)>Math.PI/2?e.rotate(K+Math.PI):e.rotate(K),e.fillStyle=B?P.graph2D.link.highlightedTextColor:P.graph2D.link.textColor,e.fillText(o.label,0,0),e.restore();}}));},[j,P.graph2D.link]),Fe=chunk7VJL2NQS_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 u=new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0,compactDisplay:"short"}).format(c),h=e.measureText(u).width,f=i*.3,w=(i+f+h)/2;e.drawImage(n,r-w,o-i/2,i,i),e.fillStyle=a||"#99989C",e.fillText(u,r-w+i+f,o);}else e.drawImage(n,r-i/2,o-i/2,i,i);}catch(s){console.warn("Error rendering icon:",s);}},"drawIconWithOptionalCounter"),Be=st.useCallback((e,n)=>{if(!W||W.length===0||!e||!e.x||!e.y)return;let{x:r,y:o}=e,i=j.nodeSizeBase*j.nodeAreaFactor/2;n.save();let c=Math.min(W.length,8),a=Math.min(Math.PI*2/c,Math.PI);for(let s=0;s<c;s++){let u=s*a,h=(s+1)*a,f=t.current.hoveredButtonIndex===s;n.beginPath(),n.arc(r,o,i,u,h,false),n.lineTo(r,o),n.closePath(),n.lineWidth=1,n.strokeStyle=P.graph2D?.button?.stroke||"#FFFFFF",n.stroke(),n.fillStyle=f?P.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":P.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",n.fill();let T=i*.2,w=(u+h)/2,F=i-j.nodeSizeBase/2+T,L=r+Math.cos(w)*F,R=o+Math.sin(w)*F,l=W[s];if(l.loading){let v=T/2,g=T/12;n.save(),n.translate(L,R),n.rotate(t.current.spinnerAngle);for(let B=0;B<12;B++){let E=Math.PI*2*B/12,O=B/12,Y=Math.cos(E)*v,J=Math.sin(E)*v;n.beginPath(),n.fillStyle=chunk7VJL2NQS_js.l(P.graph2D?.button?.spinnerColor,O),n.arc(Y,J,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(H),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 v=f?l.hoverImg:l.normalImg,g=l.getCount?l.getCount(e):null;v.complete?Fe(n,v,L,R,T,g,P.graph2D?.button?.textColor):v.onload=()=>{ae.current&&Fe(n,v,L,R,T,g,P.graph2D?.button?.textColor);};}}n.restore();},[W,P.graph2D?.button]),Oe=st.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,u=t.current.highlightNodes.has(r)||r===t.current.hoveredNode||r===t.current.draggedNode,h=r===t.current.selectedNode,f=j.nodeSizeBase,T=j.nodeSizeBase/2;if(u&&!h){let w=j.nodeSizeBase*j.nodeAreaFactor*.75/2;e.beginPath(),e.arc(o,i,w,0,2*Math.PI,false),e.fillStyle=P.graph2D.ring.highlightFill,e.fill();}if(h)if(N&&N.length>0)Be(r,e);else {let w=j.nodeSizeBase*j.nodeAreaFactor/2;e.beginPath(),e.arc(o,i,w,0,2*Math.PI,false),e.fillStyle=P.graph2D.ring.selectionFill||P.graph2D.ring.highlightFill,e.fill();}if(e.beginPath(),e.arc(o,i,T,0,2*Math.PI),e.fillStyle=c||Nt(r.group||"0"),e.fill(),s){e.save(),e.translate(o,i);let w=t.current.transform.k,F=ve(w),L=f*j.textPaddingFactor;e.font=`${F}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle=a||"#000";let R=Pt(s,L,e);e.fillText(R,0,0),e.restore();}}));},[P.graph2D.ring,N,Be]),H=st.useCallback(()=>{let e=ae.current;e&&(e.clearRect(0,0,t.current.width,t.current.height),Ee(e),e.save(),e.setTransform(t.current.transform.k,0,0,t.current.transform.k,t.current.transform.x,t.current.transform.y),ze(e),Oe(e),e.restore());},[ze,Oe,Ee]),Ae=st.useCallback((e,n=[],r)=>{let o=se()||[],i=U()||[];if(!S.current||!e.length)return;let{width:c,height:a}=t.current,s=r?.smoothAppearance??false,u=r?.transitionDuration??1e3,h=new Set(i.map(l=>l.id)),f=e.filter(l=>!h.has(l.id)),T=new Set(o.map(l=>`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`)),w=n.filter(l=>{let v=`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`;return !T.has(v)});if(f.length===0&&w.length===0)return;let F=[...i,...f],L=[...o,...w];s&&(f.forEach(l=>{let v=w.filter(g=>{let B=typeof g.source=="object"?g.source.id:g.source,E=typeof g.target=="object"?g.target.id:g.target;return B===l.id&&h.has(E)||E===l.id&&h.has(B)});if(v.length>0){let g=v[0],B=typeof g.source=="object"?g.source.id===l.id?g.target:g.source.id:g.source===l.id?g.target:g.source,E=F.find(O=>O.id===B);if(E&&E.x!==void 0&&E.y!==void 0){let O=30+Math.random()*20,Y=Math.random()*Math.PI*2;l.x=E.x+Math.cos(Y)*O,l.y=E.y+Math.sin(Y)*O,l.vx=0,l.vy=0;}}else {let g=c/2,B=a/2,E=Math.min(c,a)/4,O=Math.random()*Math.PI*2;l.x=g+Math.cos(O)*(E*Math.random()),l.y=B+Math.sin(O)*(E*Math.random()),l.vx=0,l.vy=0;}}),i.forEach(l=>{l.fx=l.x,l.fy=l.y;})),S.current.nodes(F);let R=S.current.force("link");R&&R.links(L),w.forEach(l=>{let v=typeof l.source=="object"?l.source:F.find(B=>B.id===l.source),g=typeof l.target=="object"?l.target:F.find(B=>B.id===l.target);!v||!g||(!v.neighbors&&(v.neighbors=[]),!g.neighbors&&(g.neighbors=[]),v.neighbors.push(g),g.neighbors.push(v),!v.links&&(v.links=[]),!g.links&&(g.links=[]),v.links.push(l),g.links.push(l));}),s?(S.current.alphaTarget(.3),S.current.alpha(.3),S.current.velocityDecay(.7),S.current.restart(),setTimeout(()=>{i.forEach(l=>{l.fx=void 0,l.fy=void 0;}),S.current?.alphaTarget(0),S.current?.alpha(.1),S.current?.velocityDecay(.6);},u)):S.current.alpha(.1).restart(),H();},[V,H]),$e=st.useCallback(e=>{let n=U(),r=se();if(!S.current||!e.length||!n||n.length===0||!r||r.length===0)return;let o=new Set(e);if(t.current.selectedNode&&t.current.selectedNode.id!==void 0&&o.has(t.current.selectedNode.id)&&(t.current.selectedNode=null),t.current.hoveredNode&&t.current.hoveredNode.id!==void 0&&o.has(t.current.hoveredNode.id)&&(t.current.hoveredNode=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set),t.current.hoveredLink){let s=typeof t.current.hoveredLink.source=="object"?t.current.hoveredLink.source.id:t.current.hoveredLink.source,u=typeof t.current.hoveredLink.target=="object"?t.current.hoveredLink.target.id:t.current.hoveredLink.target;(s!==void 0&&o.has(s)||u!==void 0&&o.has(u))&&(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 u=typeof s.source=="object"?s.source.id:s.source,h=typeof s.target=="object"?s.target.id:s.target;return u!==void 0&&!o.has(u)&&h!==void 0&&!o.has(h)});i.forEach(s=>{s.neighbors=[],s.links=[];}),c.forEach(s=>{let u=typeof s.source=="object"?s.source:i.find(f=>f.id===s.source),h=typeof s.target=="object"?s.target:i.find(f=>f.id===s.target);!u||!h||(u.neighbors=u.neighbors||[],h.neighbors=h.neighbors||[],u.neighbors.push(h),h.neighbors.push(u),u.links=u.links||[],h.links=h.links||[],u.links.push(s),h.links.push(s));}),S.current.nodes(i);let a=S.current.force("link");a&&a.links(c),H();},[H]),ce=st.useCallback((e=0,n=20)=>{let r=U();if(!ae.current||!z.current||!r||!r.length)return;let i=1/0,c=1/0,a=-1/0,s=-1/0;if(r.forEach(u=>{if(u.x===void 0||u.y===void 0)return;let h=u.x,f=u.y;i=Math.min(i,h),c=Math.min(c,f),a=Math.max(a,h),s=Math.max(s,f);}),isFinite(i)&&isFinite(a)&&isFinite(c)&&isFinite(s)){let{width:u,height:h}=t.current;i-=n,c-=n,a+=n,s+=n;let f=a-i,T=s-c,w=f>0?u/f:1,F=T>0?h/T:1,L=Math.min(w,F,10),R=i+f/2,l=c+T/2,v={k:L,x:u/2-R*L,y:h/2-l*L};if(e>0){let g={...t.current.transform},B=Date.now(),E=chunk7VJL2NQS_js.a(()=>{let O=Math.min(1,(Date.now()-B)/e),Y=O===1?1:1-Math.pow(1-O,3),J={k:g.k+(v.k-g.k)*Y,x:g.x+(v.x-g.x)*Y,y:g.y+(v.y-g.y)*Y};t.current.transform=J,H(),O<1&&requestAnimationFrame(E);},"animateZoom");requestAnimationFrame(E);}else t.current.transform=v,H();}},[]),le=st.useCallback((e,n)=>{let r=U();if(!r||r.length===0)return null;let o=j.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 u=(s.x||0)-c,h=(s.y||0)-a;return Math.sqrt(u*u+h*h)<=o})||null},[]),de=st.useCallback((e,n)=>{let r=se(),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(u=>{let h=typeof u.source=="object"?u.source:o.find(Q=>Q.id===u.source),f=typeof u.target=="object"?u.target:o.find(Q=>Q.id===u.target);if(!h||!f)return false;let T=h.x||0,w=h.y||0,F=f.x||0,L=f.y||0,R=c-T,l=a-w,v=F-T,g=L-w,B=R*v+l*g,E=v*v+g*g;if(E===0)return false;let O=B/E;O=Math.max(0,Math.min(1,O));let Y=T+O*v,J=w+O*g,K=c-Y,oe=a-J;return Math.sqrt(K*K+oe*oe)<=s})||null},[]),He=st.useCallback((e,n,r,o,i,c,a)=>{let s=e-r,u=n-o,h=Math.sqrt(s*s+u*u),f=Math.atan2(u,s);f<0&&(f+=2*Math.PI);let F=h>=i*.5&&h<=i*1,L=false;return c===Math.PI&&a===Math.PI*2?L=f>=Math.PI&&f<=Math.PI*2:c===0&&a===Math.PI?L=f>=0&&f<=Math.PI:L=c<=a&&f>=c&&f<=a||c>a&&(f>=c||f<=a),F&&L},[]),we=st.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,M&&M(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[M]),xe=st.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,A&&A(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[A,U]),Xe=st.useCallback(e=>{$&&$(e);},[$]),We=st.useCallback(e=>{t.current.selectedNode=e,D&&D(e);},[D]),Ye=st.useCallback(()=>{t.current.selectedNode=null,b&&b();},[b]),ke=st.useCallback(e=>{if(!z.current||!S.current)return;let n=z.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=le(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});},[le]),ue=st.useCallback((e,n)=>{let r=null;if(z.current&&t.current&&W.length>0){let o=j.nodeSizeBase*j.nodeAreaFactor/2,i=z.current.getBoundingClientRect(),c=z.current.width/i.width,a=z.current.height/i.height,s=e*c,u=n*a,h=(s-t.current.transform.x)/t.current.transform.k,f=(u-t.current.transform.y)/t.current.transform.k,T=t.current.selectedNode?.x||0,w=t.current.selectedNode?.y||0,F=Math.min(W.length,8),L=Math.min(Math.PI*2/F,Math.PI);for(let R=0;R<F;R++){let l=R*L,v=(R+1)*L;if(He(h,f,T,w,o,l,v)){r=R;break}}}return r},[W]),Ne=st.useCallback(e=>{if(!z.current)return;let n=z.current.getBoundingClientRect(),r=e.clientX-n.left,o=e.clientY-n.top;if(t.current.draggedNode&&t.current.mouseStartPos&&S.current){let a=t.current.mouseStartPos.x,s=t.current.mouseStartPos.y,u=r-a,h=o-s;Math.sqrt(u*u+h*h)>3&&(t.current.isDragging=true,S.current.alphaTarget()===0&&S.current.alphaTarget(0).restart());let w=typeof window<"u"&&window.devicePixelRatio||1,F=(r*w-t.current.transform.x)/t.current.transform.k,L=(o*w-t.current.transform.y)/t.current.transform.k;t.current.draggedNode.fx=F,t.current.draggedNode.fy=L;return}if(t.current.isPanning&&t.current.mouseStartPos){let a=r-t.current.lastMousePos.x,s=o-t.current.lastMousePos.y,u=t.current.mouseStartPos.x,h=t.current.mouseStartPos.y;Math.sqrt(Math.pow(r-u,2)+Math.pow(o-h,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},H();return}let i,c;if(t.current.selectedNode&&z.current&&W.length>0){let a=ue(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=le(r,o),!c)){let a=de(r,o),s=a!==t.current.hoveredLink;if(a&&t.current.hoveredNode&&we(null),xe(a),z.current&&(z.current.style.cursor=a?"pointer":"default"),s){H();return}}c&&t.current.hoveredLink&&xe(null),c!==t.current.hoveredNode&&(i=true),we(c),z.current&&(z.current.style.cursor=c?"pointer":"default"),i&&H();},[W,le,de,we,xe,H,He,ue]),Dt=st.useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.stopPropagation(),e.preventDefault()),t.current.mustBeStoppedPropagation=false;},[]),pe=st.useCallback(e=>{let n=t.current.isDragging;if(n&&(t.current.mustBeStoppedPropagation=true),!n&&t.current.mouseStartPos){let r=z.current?.getBoundingClientRect();if(r){let o=e.clientX-r.left,i=e.clientY-r.top;W.length>0&&t.current.hoveredButtonIndex===null&&(t.current.hoveredButtonIndex=ue(o,i));let c=false;if(t.current.selectedNode&&t.current.hoveredButtonIndex!==null&&N[t.current.hoveredButtonIndex]){let a=N[t.current.hoveredButtonIndex];a&&a.onClick&&(a.onClick(t.current.selectedNode),c=true,t.current.hoveredButtonIndex=null);}if(!c&&t.current.draggedNode)We(t.current.draggedNode);else if(!c&&!t.current.draggedNode){let a=de(o,i);a?Xe(a):Ye();}}}if(t.current.draggedNode&&S.current){if(n){S.current.alphaTarget(0);let r=.05,o=.04,i=.6;S.current.alpha(r).alphaDecay(o),S.current.velocityDecay(i);}else S.current.alphaTarget(0);t.current.draggedNode.fx=void 0,t.current.draggedNode.fy=void 0,t.current.draggedNode=null;}t.current.isDragging=false,t.current.mouseStartPos=null,t.current.isPanning&&(t.current.isPanning=false),H();},[N,H,We,Ye,de,Xe,ue,W]),Se=st.useCallback(e=>{if(e.stopPropagation(),e.preventDefault(),!z.current)return;let n=z.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 u=a.k*c,h=r-(r-a.x)*c,f=o-(o-a.y)*c;t.current.transform={k:u,x:h,y:f},H();},[H]),Pe=chunk7VJL2NQS_js.a((e,n)=>{let r=e.touches[0];if(r){let o={clientX:r.clientX,clientY:r.clientY};n(o);}},"convertTouchToMouseEvent"),Mt=st.useCallback(e=>{Pe(e,ke);},[ke]),De=st.useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.preventDefault(),e.stopPropagation()),t.current.mustBeStoppedPropagation=false,Pe(e,pe);},[pe]),Tt=st.useCallback(e=>{Pe(e,Ne);},[Ne]);return st.useImperativeHandle(X,()=>({zoomToFit:ce,addNodes:Ae,removeNodes:$e}),[ce,Ae,$e]),st.useEffect(()=>{let e=z.current,{width:n,height:r}=t.current;if(!e)return;St(),Re(true);let o=n/2,i=r/2,c=j.nodeSizeBase,a=c/2,s=c*2.5;S.current&&S.current.stop();let u=S.current=d3.forceSimulation(V).force("link",d3.forceLink(te).id(h=>h.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 ()=>{u.stop();}},[V,te]),st.useLayoutEffect(()=>{let e=z.current;e&&(t.current.width=d*ye,t.current.height=m*ye,e.width=t.current.width,e.height=t.current.height);},[d,m]),st.useEffect(()=>{if(S.current){let e=S.current;e.on("tick",()=>{H();}),e.on("end",()=>{G&&(ce(0,20),setTimeout(()=>{Re(false);},200));});}G||H();},[V,te,G,H,ce]),st.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]),st.useEffect(()=>{N&&N.length>0&&kt(cr(N));},[N]),st.useEffect(()=>{let e=z.current;if(!(!e||typeof window>"u"))return e.addEventListener("wheel",Se,{passive:false}),e.addEventListener("touchend",De,{passive:false}),()=>{e.removeEventListener("wheel",Se),e.removeEventListener("touchend",De);}},[Se,De]),jsxRuntime.jsxs(dr,{children:[(p||G)&&jsxRuntime.jsx(nt,{width:d,height:m}),jsxRuntime.jsx(ur,{ref:z,style:{width:d,height:m,display:p||G?"none":"block"},onMouseDown:ke,onMouseMove:Ne,onMouseUp:pe,onMouseLeave:pe,onClick:Dt,onTouchStart:Mt,onTouchMove:Tt})]})}),dr=Xt.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
- `,ur=Xt.styled.canvas``;lr.displayName="Graph2D";var va=chunkAK3WMUOH_js.w(({isActive:p,position:d,top:m=0,left:k=0,right:N,bottom:D,...b})=>jsxRuntime.jsx(fr,{$isActive:p,$position:d,$top:m,$left:k,$right:N,$bottom:D,...b})),fr=Xt__default.default.div(({$isActive:p,$top:d,$left:m,$right:k,$bottom:N,$position:D,theme:b})=>`
54
+ `,ur=Xt.styled.canvas``;lr.displayName="Graph2D";var va=chunk7VJL2NQS_js.w(({isActive:p,position:d,top:m=0,left:k=0,right:N,bottom:D,...b})=>jsxRuntime.jsx(fr,{$isActive:p,$position:d,$top:m,$left:k,$right:N,$bottom:D,...b})),fr=Xt__default.default.div(({$isActive:p,$top:d,$left:m,$right:k,$bottom:N,$position:D,theme:b})=>`
55
55
  ${p?`
56
56
  position: ${D};
57
57
  z-index: 1000;
58
- ${typeof d=="number"?`top: ${chunkAK3WMUOH_js.c(d,b.baseSize)};`:""}
59
- ${typeof m=="number"?`left: ${chunkAK3WMUOH_js.c(m,b.baseSize)};`:""}
60
- ${typeof k=="number"?`right: ${chunkAK3WMUOH_js.c(k,b.baseSize)};`:""}
61
- ${typeof N=="number"?`bottom: ${chunkAK3WMUOH_js.c(N,b.baseSize)};`:""}
58
+ ${typeof d=="number"?`top: ${chunk7VJL2NQS_js.c(d,b.baseSize)};`:""}
59
+ ${typeof m=="number"?`left: ${chunk7VJL2NQS_js.c(m,b.baseSize)};`:""}
60
+ ${typeof k=="number"?`right: ${chunk7VJL2NQS_js.c(k,b.baseSize)};`:""}
61
+ ${typeof N=="number"?`bottom: ${chunk7VJL2NQS_js.c(N,b.baseSize)};`:""}
62
62
 
63
63
  `:""}
64
64
 
65
65
  min-width: 0;
66
- `);var lt=chunkAK3WMUOH_js.a(({url:p})=>{let[d,m]=st.useState(1),[k,N]=st.useState(),D=st__default.default.useRef(null),b=st__default.default.useRef(null),M=chunkAK3WMUOH_js.a(()=>{m($=>Math.min($+.25,4));},"handleZoomIn");return jsxRuntime.jsxs("div",{ref:b,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(chunkAK3WMUOH_js.z,{variant:"outlined","aria-label":"zoom-out",color:"secondary",size:"small",icon:jsxRuntime.jsx(chunkAK3WMUOH_js.Pa,{style:{width:20,height:20}}),onClick:chunkAK3WMUOH_js.a(()=>{m($=>Math.max($-.25,.25));},"handleZoomOut"),disabled:d<=.25,p:5}),jsxRuntime.jsxs(chunkAK3WMUOH_js.mb,{py:5,px:8,children:[d*100,"%"]}),jsxRuntime.jsx(chunkAK3WMUOH_js.z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"secondary",icon:jsxRuntime.jsx(chunkAK3WMUOH_js.ma,{style:{width:14,height:14}}),onClick:M,disabled:d>=4,p:8})]}),jsxRuntime.jsx("div",{className:"h-full w-full overflow-auto flex items-center justify-center",children:jsxRuntime.jsx("img",{src:p,ref:D,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,...k==="width"&&{width:`calc(${d*100}% - 20px)`},...k==="height"&&{height:`calc(${d*100}% - 20px)`}},onLoad:()=>{if(D.current&&b.current){let $=D.current.width,X=D.current.height,P=$<X?"height":"width";N(P);}}})})]})},"ImageDriver");var ut=chunkAK3WMUOH_js.a(({url:p})=>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:p,className:"w-full"})}),"AudioDriver");var Ce=chunkAK3WMUOH_js.a(({url:p})=>{let[d,m]=st.useState(null),[k,N]=st.useState(false),[D,b]=st.useState(true),[M,A]=st.useState(null);return st.useEffect(()=>{N(true);},[]),st.useEffect(()=>{if(!k)return;chunkAK3WMUOH_js.a(async()=>{try{let X=await import('./PdfDriver-T57BOIII.js');m(()=>X.PdfDriver),b(!1);}catch(X){console.error("Failed to load PDF driver:",X),A("Failed to load PDF viewer"),b(false);}},"loadPdfDriver")();},[k]),k?D?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..."})}):M||!d?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:M||"PDF viewer unavailable"})})}):jsxRuntime.jsx(d,{url:p}):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 ht=chunkAK3WMUOH_js.a(({url:p,extension:d})=>jsxRuntime.jsxs("a",{href:p,download:`file.${d}`,className:"text-blue-500 underline",children:["Download ",d.toUpperCase()," file"]}),"DownloadDriver");var gt=50,wr=1e4,mt=chunkAK3WMUOH_js.a(({url:p,blob:d})=>{let m=st.useRef(null),[k,N]=st.useState(null),[D,b]=st.useState(true);return st.useEffect(()=>{chunkAK3WMUOH_js.a(async()=>{if(m.current)try{if(b(!0),N(null),!d&&p&&(d=await(await fetch(p)).blob()),!d){N("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(d.size/(1024*1024)>gt){N(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${gt} \u041C\u0411)`);return}m.current.innerHTML="";let $=docxPreview.renderAsync(d,m.current,void 0,{debug:!0,experimental:!0,hideWrapperOnPrint:!0}),X=new Promise((P,G)=>setTimeout(()=>G(new Error("\u0420\u0435\u043D\u0434\u0435\u0440\u0438\u043D\u0433 DOCX \u0437\u0430\u0439\u043D\u044F\u0432 \u043D\u0430\u0434\u0442\u043E \u0431\u0430\u0433\u0430\u0442\u043E \u0447\u0430\u0441\u0443")),wr));await Promise.race([$,X]),b(!1);}catch(A){N(A?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B"),b(false);}},"renderDocument")();},[p,d]),jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[!!k&&!D&&jsxRuntime.jsx("div",{className:"text-red-500 p-5",children:k}),D&&jsxRuntime.jsx("div",{className:"flex items-center justify-center p-5",children:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F..."}),jsxRuntime.jsx("div",{ref:m,className:"w-full h-full overflow-auto"})]})},"DocxDriver");var Dr=chunkAK3WMUOH_js.a(p=>({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"})[p]||"text","getLanguageFromExtension"),yt=chunkAK3WMUOH_js.a(({url:p,extension:d})=>{let[m,k]=st.useState(""),[N,D]=st.useState(true),[b,M]=st.useState(null);if(st.useEffect(()=>{chunkAK3WMUOH_js.a(async()=>{try{D(!0),M(null);let P=await fetch(p);if(!P.ok)throw new Error(`Failed to load file: ${P.statusText}`);let G=await P.text();k(G);}catch(P){M(P instanceof Error?P.message:"Failed to load text content");}finally{D(false);}},"loadTextContent")();},[p]),N)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(b)return jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:jsxRuntime.jsxs("div",{className:"text-red-500",children:["Error: ",b]})});let A=Dr(d);return jsxRuntime.jsx("div",{className:"h-full w-full overflow-auto",children:A!=="text"?jsxRuntime.jsx(reactSyntaxHighlighter.Prism,{className:"min-h-full! m-0! py-0!",language:A,style:prism.darcula,showLineNumbers:true,wrapLines:true,children:m}):jsxRuntime.jsx("pre",{className:"whitespace-pre-wrap p-4 text-sm font-mono bg-gray-50 min-h-full",children:m})})},"TextDriver");var vt=chunkAK3WMUOH_js.a(({url:p})=>jsxRuntime.jsx("div",{className:"flex flex-col justify-center items-center w-full h-full",children:jsxRuntime.jsx("video",{controls:true,src:p,className:"w-full max-h-full"})}),"VideoDriver");var wt=st.memo(chunkAK3WMUOH_js.a(function({extension:d,blob:m,path:k,buffer:N,not_supported_message:D=" Sorry, this file type isn\u2019t supported yet."}){console.log("Driver props:",{extension:d,blob:m,path:k,buffer:N});let b=d.toLocaleLowerCase().trim(),M;if(k?M=k:m&&(M=URL.createObjectURL(m)),M){if(["jpeg","jpg","png","gif","bmp","webp"].includes(b))return jsxRuntime.jsx(lt,{url:M});if(["mp3","wav","ogg","flac"].includes(b))return jsxRuntime.jsx(ut,{url:M});if(["mp4","webm"].includes(b))return jsxRuntime.jsx(vt,{url:M});if(d==="pdf")return jsxRuntime.jsx(Ce,{url:M});if(["xlsx","pptx"].includes(b))return jsxRuntime.jsx(ht,{url:M,extension:b});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(b))return jsxRuntime.jsx(yt,{url:M,extension:b})}return b==="docx"?jsxRuntime.jsx(mt,{url:M,blob:m}):jsxRuntime.jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsxRuntime.jsx(chunkAK3WMUOH_js.mb,{children:jsxRuntime.jsx(chunkAK3WMUOH_js.Wa,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:D})})})},"Driver"));var Ms=chunkAK3WMUOH_js.a(p=>jsxRuntime.jsx("div",{className:"h-full w-full",children:jsxRuntime.jsx(wt,{...p})}),"FileViewer");var Hs=chunkAK3WMUOH_js.a(({text:p,speed:d=50,onDone:m,markdown:k=false,markdownComponents:N={},className:D,...b})=>{let[M,A]=st.useState("");return st.useEffect(()=>{let $;if(d>0){A("");let X=0;$=setInterval(()=>{let P=p.charAt(X);A(G=>G+P),X++,X>=p.length&&(clearInterval($),m?.());},d);}else A(p),m?.();return ()=>{$&&clearInterval($);}},[p,d,m]),k?jsxRuntime.jsx("div",{className:D,children:jsxRuntime.jsx(Ir__default.default,{remarkPlugins:[jr__default.default],components:N,...b,children:M})}):jsxRuntime.jsx(chunkAK3WMUOH_js.Wa,{className:D,...b,children:M})},"Typewriter");var Br={timeout:2e3,message:"Copied!"},Qs=chunkAK3WMUOH_js.a(({text:p,children:d,format:m="text/plain",tooltip:k})=>{let[N,D]=st.useState(false),b=st.useRef(null),M={...Br,...k},A=chunkAK3WMUOH_js.a(async()=>{"clipboard"in navigator?await navigator.clipboard.writeText(p):Rr__default.default(p,{format:m}),D(true),b.current&&clearTimeout(b.current),b.current=setTimeout(()=>D(false),M.timeout);},"handleCopy");return st.useEffect(()=>()=>{b.current&&clearTimeout(b.current);},[]),jsxRuntime.jsx(chunkAK3WMUOH_js.yb,{onMouseLeave:()=>D(false),className:N?"visible":"hidden",content:M.message,children:d({copy:A})})},"CopyToClipboard");Object.defineProperty(exports,"Alert",{enumerable:true,get:function(){return chunkAK3WMUOH_js.qb}});Object.defineProperty(exports,"AlertIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.A}});Object.defineProperty(exports,"AndroidIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.za}});Object.defineProperty(exports,"ApiIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.B}});Object.defineProperty(exports,"ArrowCircleTopRightIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.C}});Object.defineProperty(exports,"ArrowRightIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.D}});Object.defineProperty(exports,"BallsMenu",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ia}});Object.defineProperty(exports,"Box",{enumerable:true,get:function(){return chunkAK3WMUOH_js.mb}});Object.defineProperty(exports,"BreakpointProvider",{enumerable:true,get:function(){return chunkAK3WMUOH_js.q}});Object.defineProperty(exports,"BugReportIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.E}});Object.defineProperty(exports,"BurgerMenuIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Na}});Object.defineProperty(exports,"BusIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.sa}});Object.defineProperty(exports,"Button",{enumerable:true,get:function(){return chunkAK3WMUOH_js.z}});Object.defineProperty(exports,"CalendarIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.F}});Object.defineProperty(exports,"CarIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ta}});Object.defineProperty(exports,"ChatField",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Gb}});Object.defineProperty(exports,"CheckIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ja}});Object.defineProperty(exports,"Checkbox",{enumerable:true,get:function(){return chunkAK3WMUOH_js.sb}});Object.defineProperty(exports,"ChevronDownIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ka}});Object.defineProperty(exports,"ChevronLeftIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.G}});Object.defineProperty(exports,"ChevronRightIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.H}});Object.defineProperty(exports,"ChevronUpIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.la}});Object.defineProperty(exports,"ClockIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Oa}});Object.defineProperty(exports,"CloseCircleIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.I}});Object.defineProperty(exports,"ClosedLockIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.J}});Object.defineProperty(exports,"ContentLoader",{enumerable:true,get:function(){return chunkAK3WMUOH_js.zb}});Object.defineProperty(exports,"ContextMenu",{enumerable:true,get:function(){return chunkAK3WMUOH_js.db}});Object.defineProperty(exports,"ContextMenuDelimiter",{enumerable:true,get:function(){return chunkAK3WMUOH_js.eb}});Object.defineProperty(exports,"CrossIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.qa}});Object.defineProperty(exports,"DataSetsIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.K}});Object.defineProperty(exports,"DeepSearchIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.L}});Object.defineProperty(exports,"DisabledVisibleIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.M}});Object.defineProperty(exports,"DocsIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.N}});Object.defineProperty(exports,"DownloadIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.O}});Object.defineProperty(exports,"Drawer",{enumerable:true,get:function(){return chunkAK3WMUOH_js.vb}});Object.defineProperty(exports,"DrawerBody",{enumerable:true,get:function(){return chunkAK3WMUOH_js.xb}});Object.defineProperty(exports,"DrawerHeader",{enumerable:true,get:function(){return chunkAK3WMUOH_js.wb}});Object.defineProperty(exports,"EditUserIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.P}});Object.defineProperty(exports,"EmptyData",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ob}});Object.defineProperty(exports,"EnableVisibleIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Q}});Object.defineProperty(exports,"EnterArrowLeftIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.R}});Object.defineProperty(exports,"FileField",{enumerable:true,get:function(){return chunkAK3WMUOH_js.jb}});Object.defineProperty(exports,"FileIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.xa}});Object.defineProperty(exports,"FiltersIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.S}});Object.defineProperty(exports,"FlashIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Ia}});Object.defineProperty(exports,"FlexContainer",{enumerable:true,get:function(){return chunkAK3WMUOH_js.kb}});Object.defineProperty(exports,"FlexItem",{enumerable:true,get:function(){return chunkAK3WMUOH_js.lb}});Object.defineProperty(exports,"FolderAlertIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Ba}});Object.defineProperty(exports,"FolderInfoIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Ja}});Object.defineProperty(exports,"Header",{enumerable:true,get:function(){return chunkAK3WMUOH_js._a}});Object.defineProperty(exports,"HeaderDelimeter",{enumerable:true,get:function(){return chunkAK3WMUOH_js.$a}});Object.defineProperty(exports,"HeaderSection",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ab}});Object.defineProperty(exports,"HomepageIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.T}});Object.defineProperty(exports,"ImageIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Qa}});Object.defineProperty(exports,"InfoCircleFilledIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.oa}});Object.defineProperty(exports,"InfoCircleIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.U}});Object.defineProperty(exports,"Input",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ib}});Object.defineProperty(exports,"IosIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ya}});Object.defineProperty(exports,"Label",{enumerable:true,get:function(){return chunkAK3WMUOH_js.rb}});Object.defineProperty(exports,"Line",{enumerable:true,get:function(){return chunkAK3WMUOH_js.nb}});Object.defineProperty(exports,"LinerProgress",{enumerable:true,get:function(){return chunkAK3WMUOH_js.tb}});Object.defineProperty(exports,"ListMenu",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Xa}});Object.defineProperty(exports,"ListMenuItem",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Ya}});Object.defineProperty(exports,"ListMenuSection",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Za}});Object.defineProperty(exports,"MapRadarIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.V}});Object.defineProperty(exports,"MaximizeIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ra}});Object.defineProperty(exports,"MicrosoftIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Aa}});Object.defineProperty(exports,"MinusIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Pa}});Object.defineProperty(exports,"Modal",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Bb}});Object.defineProperty(exports,"ModalBody",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Db}});Object.defineProperty(exports,"ModalFooter",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Eb}});Object.defineProperty(exports,"ModalHeader",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Cb}});Object.defineProperty(exports,"MoonIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.W}});Object.defineProperty(exports,"OpenLockIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.X}});Object.defineProperty(exports,"OrganizationIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Y}});Object.defineProperty(exports,"Overlay",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Ab}});Object.defineProperty(exports,"Pagination",{enumerable:true,get:function(){return chunkAK3WMUOH_js.cb}});Object.defineProperty(exports,"PassportIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Ea}});Object.defineProperty(exports,"PasswordFinderIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Z}});Object.defineProperty(exports,"PencilIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Ga}});Object.defineProperty(exports,"PhonebookIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js._}});Object.defineProperty(exports,"PlaneIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.va}});Object.defineProperty(exports,"PlusIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ma}});Object.defineProperty(exports,"PointIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Fa}});Object.defineProperty(exports,"PrintIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.$}});Object.defineProperty(exports,"Profiler2Icon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.aa}});Object.defineProperty(exports,"ProfilerIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ba}});Object.defineProperty(exports,"ProgressLoader",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Hb}});Object.defineProperty(exports,"RelationIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Ca}});Object.defineProperty(exports,"RelationPointsIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Da}});Object.defineProperty(exports,"RotateLeftIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Ka}});Object.defineProperty(exports,"RotateRightIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.La}});Object.defineProperty(exports,"RowActionsMenu",{enumerable:true,get:function(){return chunkAK3WMUOH_js.hb}});Object.defineProperty(exports,"SandBoxIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ca}});Object.defineProperty(exports,"SearchIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.da}});Object.defineProperty(exports,"Select",{enumerable:true,get:function(){return chunkAK3WMUOH_js.gb}});Object.defineProperty(exports,"ShipIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.wa}});Object.defineProperty(exports,"Sidebar",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Sa}});Object.defineProperty(exports,"SidebarContext",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Ra}});Object.defineProperty(exports,"SidebarDelimeter",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Ua}});Object.defineProperty(exports,"SidebarItem",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Ta}});Object.defineProperty(exports,"SidebarSection",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Va}});Object.defineProperty(exports,"StatisticIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ea}});Object.defineProperty(exports,"SunIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.fa}});Object.defineProperty(exports,"Switch",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ub}});Object.defineProperty(exports,"Table",{enumerable:true,get:function(){return chunkAK3WMUOH_js.bb}});Object.defineProperty(exports,"Tag",{enumerable:true,get:function(){return chunkAK3WMUOH_js.pb}});Object.defineProperty(exports,"TailwindExample",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Fb}});Object.defineProperty(exports,"ThemeProvider",{enumerable:true,get:function(){return chunkAK3WMUOH_js.s}});Object.defineProperty(exports,"Tooltip",{enumerable:true,get:function(){return chunkAK3WMUOH_js.yb}});Object.defineProperty(exports,"Typography",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Wa}});Object.defineProperty(exports,"UnfoldIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.pa}});Object.defineProperty(exports,"UpRightArrowCircleIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ga}});Object.defineProperty(exports,"UploadImageIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Ma}});Object.defineProperty(exports,"UserInCircleIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.Ha}});Object.defineProperty(exports,"UsersIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.na}});Object.defineProperty(exports,"VectorIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ha}});Object.defineProperty(exports,"WayIcon",{enumerable:true,get:function(){return chunkAK3WMUOH_js.ua}});Object.defineProperty(exports,"convertPaletteToRem",{enumerable:true,get:function(){return chunkAK3WMUOH_js.f}});Object.defineProperty(exports,"createComponent",{enumerable:true,get:function(){return chunkAK3WMUOH_js.w}});Object.defineProperty(exports,"createStyledComponent",{enumerable:true,get:function(){return chunkAK3WMUOH_js.x}});Object.defineProperty(exports,"darkTheme",{enumerable:true,get:function(){return chunkAK3WMUOH_js.p}});Object.defineProperty(exports,"darkThemePx",{enumerable:true,get:function(){return chunkAK3WMUOH_js.o}});Object.defineProperty(exports,"destructSpaceProps",{enumerable:true,get:function(){return chunkAK3WMUOH_js.t}});Object.defineProperty(exports,"generatePropertySpaceStyle",{enumerable:true,get:function(){return chunkAK3WMUOH_js.u}});Object.defineProperty(exports,"getBreakpoint",{enumerable:true,get:function(){return chunkAK3WMUOH_js.k}});Object.defineProperty(exports,"getButtonSizeStyles",{enumerable:true,get:function(){return chunkAK3WMUOH_js.h}});Object.defineProperty(exports,"getButtonStyles",{enumerable:true,get:function(){return chunkAK3WMUOH_js.g}});Object.defineProperty(exports,"getInputStyles",{enumerable:true,get:function(){return chunkAK3WMUOH_js.i}});Object.defineProperty(exports,"getResponsiveProps",{enumerable:true,get:function(){return chunkAK3WMUOH_js.v}});Object.defineProperty(exports,"getTypographyStyles",{enumerable:true,get:function(){return chunkAK3WMUOH_js.j}});Object.defineProperty(exports,"hexToRgba",{enumerable:true,get:function(){return chunkAK3WMUOH_js.l}});Object.defineProperty(exports,"lightTheme",{enumerable:true,get:function(){return chunkAK3WMUOH_js.n}});Object.defineProperty(exports,"lightThemePx",{enumerable:true,get:function(){return chunkAK3WMUOH_js.m}});Object.defineProperty(exports,"propToRem",{enumerable:true,get:function(){return chunkAK3WMUOH_js.e}});Object.defineProperty(exports,"pxToRem",{enumerable:true,get:function(){return chunkAK3WMUOH_js.c}});Object.defineProperty(exports,"remToPx",{enumerable:true,get:function(){return chunkAK3WMUOH_js.d}});Object.defineProperty(exports,"resolveThemeColor",{enumerable:true,get:function(){return chunkAK3WMUOH_js.b}});Object.defineProperty(exports,"useBreakpoint",{enumerable:true,get:function(){return chunkAK3WMUOH_js.r}});Object.defineProperty(exports,"useContextMenuControl",{enumerable:true,get:function(){return chunkAK3WMUOH_js.fb}});Object.defineProperty(exports,"useTheme",{enumerable:true,get:function(){return chunkAK3WMUOH_js.y}});Object.defineProperty(exports,"ServerStyleSheet",{enumerable:true,get:function(){return Xt.ServerStyleSheet}});Object.defineProperty(exports,"StyleSheetManager",{enumerable:true,get:function(){return Xt.StyleSheetManager}});exports.Container=Bi;exports.CopyToClipboard=Qs;exports.FileViewer=Ms;exports.FullscreenCard=va;exports.Graph2D=lr;exports.PageContent=bi;exports.PageLayout=pi;exports.Styled=Ft;exports.StyledContainer=Lt;exports.StyledMain=Rt;exports.SubNav=Si;exports.Typewriter=Hs;//# sourceMappingURL=index.js.map
66
+ `);var lt=chunk7VJL2NQS_js.a(({url:p})=>{let[d,m]=st.useState(1),[k,N]=st.useState(),D=st__default.default.useRef(null),b=st__default.default.useRef(null),M=chunk7VJL2NQS_js.a(()=>{m($=>Math.min($+.25,4));},"handleZoomIn");return jsxRuntime.jsxs("div",{ref:b,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(chunk7VJL2NQS_js.z,{variant:"outlined","aria-label":"zoom-out",color:"secondary",size:"small",icon:jsxRuntime.jsx(chunk7VJL2NQS_js.Pa,{style:{width:20,height:20}}),onClick:chunk7VJL2NQS_js.a(()=>{m($=>Math.max($-.25,.25));},"handleZoomOut"),disabled:d<=.25,p:5}),jsxRuntime.jsxs(chunk7VJL2NQS_js.mb,{py:5,px:8,children:[d*100,"%"]}),jsxRuntime.jsx(chunk7VJL2NQS_js.z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"secondary",icon:jsxRuntime.jsx(chunk7VJL2NQS_js.ma,{style:{width:14,height:14}}),onClick:M,disabled:d>=4,p:8})]}),jsxRuntime.jsx("div",{className:"h-full w-full overflow-auto flex items-center justify-center",children:jsxRuntime.jsx("img",{src:p,ref:D,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,...k==="width"&&{width:`calc(${d*100}% - 20px)`},...k==="height"&&{height:`calc(${d*100}% - 20px)`}},onLoad:()=>{if(D.current&&b.current){let $=D.current.width,X=D.current.height,P=$<X?"height":"width";N(P);}}})})]})},"ImageDriver");var ut=chunk7VJL2NQS_js.a(({url:p})=>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:p,className:"w-full"})}),"AudioDriver");var Ce=chunk7VJL2NQS_js.a(({url:p})=>{let[d,m]=st.useState(null),[k,N]=st.useState(false),[D,b]=st.useState(true),[M,A]=st.useState(null);return st.useEffect(()=>{N(true);},[]),st.useEffect(()=>{if(!k)return;chunk7VJL2NQS_js.a(async()=>{try{let X=await import('./PdfDriver-VXD7HPVZ.js');m(()=>X.PdfDriver),b(!1);}catch(X){console.error("Failed to load PDF driver:",X),A("Failed to load PDF viewer"),b(false);}},"loadPdfDriver")();},[k]),k?D?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..."})}):M||!d?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:M||"PDF viewer unavailable"})})}):jsxRuntime.jsx(d,{url:p}):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 ht=chunk7VJL2NQS_js.a(({url:p,extension:d})=>jsxRuntime.jsxs("a",{href:p,download:`file.${d}`,className:"text-blue-500 underline",children:["Download ",d.toUpperCase()," file"]}),"DownloadDriver");var gt=50,wr=1e4,mt=chunk7VJL2NQS_js.a(({url:p,blob:d})=>{let m=st.useRef(null),[k,N]=st.useState(null),[D,b]=st.useState(true);return st.useEffect(()=>{chunk7VJL2NQS_js.a(async()=>{if(m.current)try{if(b(!0),N(null),!d&&p&&(d=await(await fetch(p)).blob()),!d){N("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(d.size/(1024*1024)>gt){N(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${gt} \u041C\u0411)`);return}m.current.innerHTML="";let $=docxPreview.renderAsync(d,m.current,void 0,{debug:!0,experimental:!0,hideWrapperOnPrint:!0}),X=new Promise((P,G)=>setTimeout(()=>G(new Error("\u0420\u0435\u043D\u0434\u0435\u0440\u0438\u043D\u0433 DOCX \u0437\u0430\u0439\u043D\u044F\u0432 \u043D\u0430\u0434\u0442\u043E \u0431\u0430\u0433\u0430\u0442\u043E \u0447\u0430\u0441\u0443")),wr));await Promise.race([$,X]),b(!1);}catch(A){N(A?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B"),b(false);}},"renderDocument")();},[p,d]),jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[!!k&&!D&&jsxRuntime.jsx("div",{className:"text-red-500 p-5",children:k}),D&&jsxRuntime.jsx("div",{className:"flex items-center justify-center p-5",children:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F..."}),jsxRuntime.jsx("div",{ref:m,className:"w-full h-full overflow-auto"})]})},"DocxDriver");var Dr=chunk7VJL2NQS_js.a(p=>({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"})[p]||"text","getLanguageFromExtension"),yt=chunk7VJL2NQS_js.a(({url:p,extension:d})=>{let[m,k]=st.useState(""),[N,D]=st.useState(true),[b,M]=st.useState(null);if(st.useEffect(()=>{chunk7VJL2NQS_js.a(async()=>{try{D(!0),M(null);let P=await fetch(p);if(!P.ok)throw new Error(`Failed to load file: ${P.statusText}`);let G=await P.text();k(G);}catch(P){M(P instanceof Error?P.message:"Failed to load text content");}finally{D(false);}},"loadTextContent")();},[p]),N)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(b)return jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:jsxRuntime.jsxs("div",{className:"text-red-500",children:["Error: ",b]})});let A=Dr(d);return jsxRuntime.jsx("div",{className:"h-full w-full overflow-auto",children:A!=="text"?jsxRuntime.jsx(reactSyntaxHighlighter.Prism,{className:"min-h-full! m-0! py-0!",language:A,style:prism.darcula,showLineNumbers:true,wrapLines:true,children:m}):jsxRuntime.jsx("pre",{className:"whitespace-pre-wrap p-4 text-sm font-mono bg-gray-50 min-h-full",children:m})})},"TextDriver");var vt=chunk7VJL2NQS_js.a(({url:p})=>jsxRuntime.jsx("div",{className:"flex flex-col justify-center items-center w-full h-full",children:jsxRuntime.jsx("video",{controls:true,src:p,className:"w-full max-h-full"})}),"VideoDriver");var wt=st.memo(chunk7VJL2NQS_js.a(function({extension:d,blob:m,path:k,buffer:N,not_supported_message:D=" Sorry, this file type isn\u2019t supported yet."}){console.log("Driver props:",{extension:d,blob:m,path:k,buffer:N});let b=d.toLocaleLowerCase().trim(),M;if(k?M=k:m&&(M=URL.createObjectURL(m)),M){if(["jpeg","jpg","png","gif","bmp","webp"].includes(b))return jsxRuntime.jsx(lt,{url:M});if(["mp3","wav","ogg","flac"].includes(b))return jsxRuntime.jsx(ut,{url:M});if(["mp4","webm"].includes(b))return jsxRuntime.jsx(vt,{url:M});if(d==="pdf")return jsxRuntime.jsx(Ce,{url:M});if(["xlsx","pptx"].includes(b))return jsxRuntime.jsx(ht,{url:M,extension:b});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(b))return jsxRuntime.jsx(yt,{url:M,extension:b})}return b==="docx"?jsxRuntime.jsx(mt,{url:M,blob:m}):jsxRuntime.jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsxRuntime.jsx(chunk7VJL2NQS_js.mb,{children:jsxRuntime.jsx(chunk7VJL2NQS_js.Wa,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:D})})})},"Driver"));var Ms=chunk7VJL2NQS_js.a(p=>jsxRuntime.jsx("div",{className:"h-full w-full",children:jsxRuntime.jsx(wt,{...p})}),"FileViewer");var Hs=chunk7VJL2NQS_js.a(({text:p,speed:d=50,onDone:m,markdown:k=false,markdownComponents:N={},className:D,...b})=>{let[M,A]=st.useState("");return st.useEffect(()=>{let $;if(d>0){A("");let X=0;$=setInterval(()=>{let P=p.charAt(X);A(G=>G+P),X++,X>=p.length&&(clearInterval($),m?.());},d);}else A(p),m?.();return ()=>{$&&clearInterval($);}},[p,d,m]),k?jsxRuntime.jsx("div",{className:D,children:jsxRuntime.jsx(Ir__default.default,{remarkPlugins:[jr__default.default],components:N,...b,children:M})}):jsxRuntime.jsx(chunk7VJL2NQS_js.Wa,{className:D,...b,children:M})},"Typewriter");var Br={timeout:2e3,message:"Copied!"},Qs=chunk7VJL2NQS_js.a(({text:p,children:d,format:m="text/plain",tooltip:k})=>{let[N,D]=st.useState(false),b=st.useRef(null),M={...Br,...k},A=chunk7VJL2NQS_js.a(async()=>{"clipboard"in navigator?await navigator.clipboard.writeText(p):Rr__default.default(p,{format:m}),D(true),b.current&&clearTimeout(b.current),b.current=setTimeout(()=>D(false),M.timeout);},"handleCopy");return st.useEffect(()=>()=>{b.current&&clearTimeout(b.current);},[]),jsxRuntime.jsx(chunk7VJL2NQS_js.yb,{onMouseLeave:()=>D(false),className:N?"visible":"hidden",content:M.message,children:d({copy:A})})},"CopyToClipboard");Object.defineProperty(exports,"Alert",{enumerable:true,get:function(){return chunk7VJL2NQS_js.qb}});Object.defineProperty(exports,"AlertIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.A}});Object.defineProperty(exports,"AndroidIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.za}});Object.defineProperty(exports,"ApiIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.B}});Object.defineProperty(exports,"ArrowCircleTopRightIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.C}});Object.defineProperty(exports,"ArrowRightIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.D}});Object.defineProperty(exports,"BallsMenu",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ia}});Object.defineProperty(exports,"Box",{enumerable:true,get:function(){return chunk7VJL2NQS_js.mb}});Object.defineProperty(exports,"BreakpointProvider",{enumerable:true,get:function(){return chunk7VJL2NQS_js.q}});Object.defineProperty(exports,"BugReportIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.E}});Object.defineProperty(exports,"BurgerMenuIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Na}});Object.defineProperty(exports,"BusIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.sa}});Object.defineProperty(exports,"Button",{enumerable:true,get:function(){return chunk7VJL2NQS_js.z}});Object.defineProperty(exports,"CalendarIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.F}});Object.defineProperty(exports,"CarIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ta}});Object.defineProperty(exports,"ChatField",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Gb}});Object.defineProperty(exports,"CheckIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ja}});Object.defineProperty(exports,"Checkbox",{enumerable:true,get:function(){return chunk7VJL2NQS_js.sb}});Object.defineProperty(exports,"ChevronDownIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ka}});Object.defineProperty(exports,"ChevronLeftIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.G}});Object.defineProperty(exports,"ChevronRightIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.H}});Object.defineProperty(exports,"ChevronUpIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.la}});Object.defineProperty(exports,"ClockIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Oa}});Object.defineProperty(exports,"CloseCircleIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.I}});Object.defineProperty(exports,"ClosedLockIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.J}});Object.defineProperty(exports,"ContentLoader",{enumerable:true,get:function(){return chunk7VJL2NQS_js.zb}});Object.defineProperty(exports,"ContextMenu",{enumerable:true,get:function(){return chunk7VJL2NQS_js.db}});Object.defineProperty(exports,"ContextMenuDelimiter",{enumerable:true,get:function(){return chunk7VJL2NQS_js.eb}});Object.defineProperty(exports,"CrossIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.qa}});Object.defineProperty(exports,"DataSetsIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.K}});Object.defineProperty(exports,"DeepSearchIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.L}});Object.defineProperty(exports,"DisabledVisibleIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.M}});Object.defineProperty(exports,"DocsIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.N}});Object.defineProperty(exports,"DownloadIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.O}});Object.defineProperty(exports,"Drawer",{enumerable:true,get:function(){return chunk7VJL2NQS_js.vb}});Object.defineProperty(exports,"DrawerBody",{enumerable:true,get:function(){return chunk7VJL2NQS_js.xb}});Object.defineProperty(exports,"DrawerHeader",{enumerable:true,get:function(){return chunk7VJL2NQS_js.wb}});Object.defineProperty(exports,"EditUserIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.P}});Object.defineProperty(exports,"EmptyData",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ob}});Object.defineProperty(exports,"EnableVisibleIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Q}});Object.defineProperty(exports,"EnterArrowLeftIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.R}});Object.defineProperty(exports,"FileField",{enumerable:true,get:function(){return chunk7VJL2NQS_js.jb}});Object.defineProperty(exports,"FileIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.xa}});Object.defineProperty(exports,"FiltersIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.S}});Object.defineProperty(exports,"FlashIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Ia}});Object.defineProperty(exports,"FlexContainer",{enumerable:true,get:function(){return chunk7VJL2NQS_js.kb}});Object.defineProperty(exports,"FlexItem",{enumerable:true,get:function(){return chunk7VJL2NQS_js.lb}});Object.defineProperty(exports,"FolderAlertIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Ba}});Object.defineProperty(exports,"FolderInfoIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Ja}});Object.defineProperty(exports,"Header",{enumerable:true,get:function(){return chunk7VJL2NQS_js._a}});Object.defineProperty(exports,"HeaderDelimeter",{enumerable:true,get:function(){return chunk7VJL2NQS_js.$a}});Object.defineProperty(exports,"HeaderSection",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ab}});Object.defineProperty(exports,"HomepageIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.T}});Object.defineProperty(exports,"ImageIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Qa}});Object.defineProperty(exports,"InfoCircleFilledIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.oa}});Object.defineProperty(exports,"InfoCircleIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.U}});Object.defineProperty(exports,"Input",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ib}});Object.defineProperty(exports,"IosIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ya}});Object.defineProperty(exports,"Label",{enumerable:true,get:function(){return chunk7VJL2NQS_js.rb}});Object.defineProperty(exports,"Line",{enumerable:true,get:function(){return chunk7VJL2NQS_js.nb}});Object.defineProperty(exports,"LinerProgress",{enumerable:true,get:function(){return chunk7VJL2NQS_js.tb}});Object.defineProperty(exports,"ListMenu",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Xa}});Object.defineProperty(exports,"ListMenuItem",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Ya}});Object.defineProperty(exports,"ListMenuSection",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Za}});Object.defineProperty(exports,"MapRadarIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.V}});Object.defineProperty(exports,"MaximizeIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ra}});Object.defineProperty(exports,"MicrosoftIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Aa}});Object.defineProperty(exports,"MinusIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Pa}});Object.defineProperty(exports,"Modal",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Bb}});Object.defineProperty(exports,"ModalBody",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Db}});Object.defineProperty(exports,"ModalFooter",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Eb}});Object.defineProperty(exports,"ModalHeader",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Cb}});Object.defineProperty(exports,"MoonIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.W}});Object.defineProperty(exports,"OpenLockIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.X}});Object.defineProperty(exports,"OrganizationIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Y}});Object.defineProperty(exports,"Overlay",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Ab}});Object.defineProperty(exports,"Pagination",{enumerable:true,get:function(){return chunk7VJL2NQS_js.cb}});Object.defineProperty(exports,"PassportIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Ea}});Object.defineProperty(exports,"PasswordFinderIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Z}});Object.defineProperty(exports,"PencilIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Ga}});Object.defineProperty(exports,"PhonebookIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js._}});Object.defineProperty(exports,"PlaneIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.va}});Object.defineProperty(exports,"PlusIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ma}});Object.defineProperty(exports,"PointIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Fa}});Object.defineProperty(exports,"PrintIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.$}});Object.defineProperty(exports,"Profiler2Icon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.aa}});Object.defineProperty(exports,"ProfilerIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ba}});Object.defineProperty(exports,"ProgressLoader",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Hb}});Object.defineProperty(exports,"RelationIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Ca}});Object.defineProperty(exports,"RelationPointsIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Da}});Object.defineProperty(exports,"RotateLeftIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Ka}});Object.defineProperty(exports,"RotateRightIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.La}});Object.defineProperty(exports,"RowActionsMenu",{enumerable:true,get:function(){return chunk7VJL2NQS_js.hb}});Object.defineProperty(exports,"SandBoxIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ca}});Object.defineProperty(exports,"SearchIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.da}});Object.defineProperty(exports,"Select",{enumerable:true,get:function(){return chunk7VJL2NQS_js.gb}});Object.defineProperty(exports,"ShipIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.wa}});Object.defineProperty(exports,"Sidebar",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Sa}});Object.defineProperty(exports,"SidebarContext",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Ra}});Object.defineProperty(exports,"SidebarDelimeter",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Ua}});Object.defineProperty(exports,"SidebarItem",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Ta}});Object.defineProperty(exports,"SidebarSection",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Va}});Object.defineProperty(exports,"StatisticIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ea}});Object.defineProperty(exports,"SunIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.fa}});Object.defineProperty(exports,"Switch",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ub}});Object.defineProperty(exports,"Table",{enumerable:true,get:function(){return chunk7VJL2NQS_js.bb}});Object.defineProperty(exports,"Tag",{enumerable:true,get:function(){return chunk7VJL2NQS_js.pb}});Object.defineProperty(exports,"TailwindExample",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Fb}});Object.defineProperty(exports,"ThemeProvider",{enumerable:true,get:function(){return chunk7VJL2NQS_js.s}});Object.defineProperty(exports,"Tooltip",{enumerable:true,get:function(){return chunk7VJL2NQS_js.yb}});Object.defineProperty(exports,"Typography",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Wa}});Object.defineProperty(exports,"UnfoldIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.pa}});Object.defineProperty(exports,"UpRightArrowCircleIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ga}});Object.defineProperty(exports,"UploadImageIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Ma}});Object.defineProperty(exports,"UserInCircleIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.Ha}});Object.defineProperty(exports,"UsersIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.na}});Object.defineProperty(exports,"VectorIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ha}});Object.defineProperty(exports,"WayIcon",{enumerable:true,get:function(){return chunk7VJL2NQS_js.ua}});Object.defineProperty(exports,"convertPaletteToRem",{enumerable:true,get:function(){return chunk7VJL2NQS_js.f}});Object.defineProperty(exports,"createComponent",{enumerable:true,get:function(){return chunk7VJL2NQS_js.w}});Object.defineProperty(exports,"createStyledComponent",{enumerable:true,get:function(){return chunk7VJL2NQS_js.x}});Object.defineProperty(exports,"darkTheme",{enumerable:true,get:function(){return chunk7VJL2NQS_js.p}});Object.defineProperty(exports,"darkThemePx",{enumerable:true,get:function(){return chunk7VJL2NQS_js.o}});Object.defineProperty(exports,"destructSpaceProps",{enumerable:true,get:function(){return chunk7VJL2NQS_js.t}});Object.defineProperty(exports,"generatePropertySpaceStyle",{enumerable:true,get:function(){return chunk7VJL2NQS_js.u}});Object.defineProperty(exports,"getBreakpoint",{enumerable:true,get:function(){return chunk7VJL2NQS_js.k}});Object.defineProperty(exports,"getButtonSizeStyles",{enumerable:true,get:function(){return chunk7VJL2NQS_js.h}});Object.defineProperty(exports,"getButtonStyles",{enumerable:true,get:function(){return chunk7VJL2NQS_js.g}});Object.defineProperty(exports,"getInputStyles",{enumerable:true,get:function(){return chunk7VJL2NQS_js.i}});Object.defineProperty(exports,"getResponsiveProps",{enumerable:true,get:function(){return chunk7VJL2NQS_js.v}});Object.defineProperty(exports,"getTypographyStyles",{enumerable:true,get:function(){return chunk7VJL2NQS_js.j}});Object.defineProperty(exports,"hexToRgba",{enumerable:true,get:function(){return chunk7VJL2NQS_js.l}});Object.defineProperty(exports,"lightTheme",{enumerable:true,get:function(){return chunk7VJL2NQS_js.n}});Object.defineProperty(exports,"lightThemePx",{enumerable:true,get:function(){return chunk7VJL2NQS_js.m}});Object.defineProperty(exports,"propToRem",{enumerable:true,get:function(){return chunk7VJL2NQS_js.e}});Object.defineProperty(exports,"pxToRem",{enumerable:true,get:function(){return chunk7VJL2NQS_js.c}});Object.defineProperty(exports,"remToPx",{enumerable:true,get:function(){return chunk7VJL2NQS_js.d}});Object.defineProperty(exports,"resolveThemeColor",{enumerable:true,get:function(){return chunk7VJL2NQS_js.b}});Object.defineProperty(exports,"useBreakpoint",{enumerable:true,get:function(){return chunk7VJL2NQS_js.r}});Object.defineProperty(exports,"useContextMenuControl",{enumerable:true,get:function(){return chunk7VJL2NQS_js.fb}});Object.defineProperty(exports,"useTheme",{enumerable:true,get:function(){return chunk7VJL2NQS_js.y}});Object.defineProperty(exports,"ServerStyleSheet",{enumerable:true,get:function(){return Xt.ServerStyleSheet}});Object.defineProperty(exports,"StyleSheetManager",{enumerable:true,get:function(){return Xt.StyleSheetManager}});exports.Container=Bi;exports.CopyToClipboard=Qs;exports.FileViewer=Ms;exports.FullscreenCard=va;exports.Graph2D=lr;exports.PageContent=bi;exports.PageLayout=pi;exports.Styled=Ft;exports.StyledContainer=Lt;exports.StyledMain=Rt;exports.SubNav=Si;exports.Typewriter=Hs;//# 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,yb}from'./chunk-ODA2IAN2.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,Hb as ProgressLoader,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-ODA2IAN2.mjs';import Ht,{styled,useTheme}from'styled-components';export{ServerStyleSheet,StyleSheetManager}from'styled-components';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import at,{forwardRef,useState,useRef,useMemo,useCallback,useImperativeHandle,useEffect,useLayoutEffect,memo}from'react';import Zt from'lodash.clonedeep';import {scaleOrdinal,schemeCategory10,forceSimulation,forceLink,forceManyBody,forceX,forceY,forceCenter,forceCollide}from'd3';import $t from'react-content-loader';import {renderAsync}from'docx-preview';import {Prism}from'react-syntax-highlighter';import {darcula}from'react-syntax-highlighter/dist/esm/styles/prism';import Lr from'react-markdown';import Ir from'remark-gfm';import Rr from'copy-to-clipboard';var ui=a(({children:h,className:d})=>jsx(Tt,{className:d,children:h}),"PageLayout"),Tt=styled.div`
1
+ import {a,w,x,u,c,l,z,Pa,mb,ma,Wa,yb}from'./chunk-HVYKSMXW.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,Hb as ProgressLoader,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-HVYKSMXW.mjs';import Ht,{styled,useTheme}from'styled-components';export{ServerStyleSheet,StyleSheetManager}from'styled-components';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import at,{forwardRef,useState,useRef,useMemo,useCallback,useImperativeHandle,useEffect,useLayoutEffect,memo}from'react';import Zt from'lodash.clonedeep';import {scaleOrdinal,schemeCategory10,forceSimulation,forceLink,forceManyBody,forceX,forceY,forceCenter,forceCollide}from'd3';import $t from'react-content-loader';import {renderAsync}from'docx-preview';import {Prism}from'react-syntax-highlighter';import {darcula}from'react-syntax-highlighter/dist/esm/styles/prism';import Lr from'react-markdown';import Ir from'remark-gfm';import Rr from'copy-to-clipboard';var ui=a(({children:h,className:d})=>jsx(Tt,{className:d,children:h}),"PageLayout"),Tt=styled.div`
2
2
  display: grid;
3
3
  min-height: 100dvh;
4
4
  position: relative;
@@ -63,5 +63,5 @@ ${h?`
63
63
  `:""}
64
64
 
65
65
  min-width: 0;
66
- `);var ct=a(({url:h})=>{let[d,m]=useState(1),[k,S]=useState(),N=at.useRef(null),v=at.useRef(null),D=a(()=>{m(O=>Math.min(O+.25,4));},"handleZoomIn");return jsxs("div",{ref:v,className:"h-full w-full flex flex-col",children:[jsxs("div",{className:"flex justify-center items-stretch p-5.5 gap-1 border-b border-gray-200 relative ",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"secondary",size:"small",icon:jsx(Pa,{style:{width:20,height:20}}),onClick:a(()=>{m(O=>Math.max(O-.25,.25));},"handleZoomOut"),disabled:d<=.25,p:5}),jsxs(mb,{py:5,px:8,children:[d*100,"%"]}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"secondary",icon:jsx(ma,{style:{width:14,height:14}}),onClick:D,disabled:d>=4,p:8})]}),jsx("div",{className:"h-full w-full overflow-auto flex items-center justify-center",children:jsx("img",{src:h,ref:N,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,...k==="width"&&{width:`calc(${d*100}% - 20px)`},...k==="height"&&{height:`calc(${d*100}% - 20px)`}},onLoad:()=>{if(N.current&&v.current){let O=N.current.width,H=N.current.height,M=O<H?"height":"width";S(M);}}})})]})},"ImageDriver");var dt=a(({url:h})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full p-5.5",children:jsx("audio",{controls:true,src:h,className:"w-full"})}),"AudioDriver");var Ce=a(({url:h})=>{let[d,m]=useState(null),[k,S]=useState(false),[N,v]=useState(true),[D,A]=useState(null);return useEffect(()=>{S(true);},[]),useEffect(()=>{if(!k)return;a(async()=>{try{let H=await import('./PdfDriver-4LXKJ6Q7.mjs');m(()=>H.PdfDriver),v(!1);}catch(H){console.error("Failed to load PDF driver:",H),A("Failed to load PDF viewer"),v(false);}},"loadPdfDriver")();},[k]),k?N?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})}):D||!d?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:D||"PDF viewer unavailable"})})}):jsx(d,{url:h}):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 ht=a(({url:h,extension:d})=>jsxs("a",{href:h,download:`file.${d}`,className:"text-blue-500 underline",children:["Download ",d.toUpperCase()," file"]}),"DownloadDriver");var ft=50,wr=1e4,gt=a(({url:h,blob:d})=>{let m=useRef(null),[k,S]=useState(null),[N,v]=useState(true);return useEffect(()=>{a(async()=>{if(m.current)try{if(v(!0),S(null),!d&&h&&(d=await(await fetch(h)).blob()),!d){S("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(d.size/(1024*1024)>ft){S(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${ft} \u041C\u0411)`);return}m.current.innerHTML="";let O=renderAsync(d,m.current,void 0,{debug:!0,experimental:!0,hideWrapperOnPrint:!0}),H=new Promise((M,Y)=>setTimeout(()=>Y(new Error("\u0420\u0435\u043D\u0434\u0435\u0440\u0438\u043D\u0433 DOCX \u0437\u0430\u0439\u043D\u044F\u0432 \u043D\u0430\u0434\u0442\u043E \u0431\u0430\u0433\u0430\u0442\u043E \u0447\u0430\u0441\u0443")),wr));await Promise.race([O,H]),v(!1);}catch(A){S(A?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B"),v(false);}},"renderDocument")();},[h,d]),jsxs(Fragment,{children:[!!k&&!N&&jsx("div",{className:"text-red-500 p-5",children:k}),N&&jsx("div",{className:"flex items-center justify-center p-5",children:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F..."}),jsx("div",{ref:m,className:"w-full h-full overflow-auto"})]})},"DocxDriver");var Mr=a(h=>({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"})[h]||"text","getLanguageFromExtension"),mt=a(({url:h,extension:d})=>{let[m,k]=useState(""),[S,N]=useState(true),[v,D]=useState(null);if(useEffect(()=>{a(async()=>{try{N(!0),D(null);let M=await fetch(h);if(!M.ok)throw new Error(`Failed to load file: ${M.statusText}`);let Y=await M.text();k(Y);}catch(M){D(M instanceof Error?M.message:"Failed to load text content");}finally{N(false);}},"loadTextContent")();},[h]),S)return jsx("div",{className:"flex items-center justify-center p-8",children:jsx("div",{className:"text-gray-500",children:"Loading text content..."})});if(v)return jsx("div",{className:"flex items-center justify-center p-8",children:jsxs("div",{className:"text-red-500",children:["Error: ",v]})});let A=Mr(d);return jsx("div",{className:"h-full w-full overflow-auto",children:A!=="text"?jsx(Prism,{className:"min-h-full! m-0! py-0!",language:A,style:darcula,showLineNumbers:true,wrapLines:true,children:m}):jsx("pre",{className:"whitespace-pre-wrap p-4 text-sm font-mono bg-gray-50 min-h-full",children:m})})},"TextDriver");var vt=a(({url:h})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full",children:jsx("video",{controls:true,src:h,className:"w-full max-h-full"})}),"VideoDriver");var wt=memo(a(function({extension:d,blob:m,path:k,buffer:S,not_supported_message:N=" Sorry, this file type isn\u2019t supported yet."}){console.log("Driver props:",{extension:d,blob:m,path:k,buffer:S});let v=d.toLocaleLowerCase().trim(),D;if(k?D=k:m&&(D=URL.createObjectURL(m)),D){if(["jpeg","jpg","png","gif","bmp","webp"].includes(v))return jsx(ct,{url:D});if(["mp3","wav","ogg","flac"].includes(v))return jsx(dt,{url:D});if(["mp4","webm"].includes(v))return jsx(vt,{url:D});if(d==="pdf")return jsx(Ce,{url:D});if(["xlsx","pptx"].includes(v))return jsx(ht,{url:D,extension:v});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(v))return jsx(mt,{url:D,extension:v})}return v==="docx"?jsx(gt,{url:D,blob:m}):jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(mb,{children:jsx(Wa,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:N})})})},"Driver"));var os=a(h=>jsx("div",{className:"h-full w-full",children:jsx(wt,{...h})}),"FileViewer");var ms=a(({text:h,speed:d=50,onDone:m,markdown:k=false,markdownComponents:S={},className:N,...v})=>{let[D,A]=useState("");return useEffect(()=>{let O;if(d>0){A("");let H=0;O=setInterval(()=>{let M=h.charAt(H);A(Y=>Y+M),H++,H>=h.length&&(clearInterval(O),m?.());},d);}else A(h),m?.();return ()=>{O&&clearInterval(O);}},[h,d,m]),k?jsx("div",{className:N,children:jsx(Lr,{remarkPlugins:[Ir],components:S,...v,children:D})}):jsx(Wa,{className:N,...v,children:D})},"Typewriter");var Fr={timeout:2e3,message:"Copied!"},Ns=a(({text:h,children:d,format:m="text/plain",tooltip:k})=>{let[S,N]=useState(false),v=useRef(null),D={...Fr,...k},A=a(async()=>{"clipboard"in navigator?await navigator.clipboard.writeText(h):Rr(h,{format:m}),N(true),v.current&&clearTimeout(v.current),v.current=setTimeout(()=>N(false),D.timeout);},"handleCopy");return useEffect(()=>()=>{v.current&&clearTimeout(v.current);},[]),jsx(yb,{onMouseLeave:()=>N(false),className:S?"visible":"hidden",content:D.message,children:d({copy:A})})},"CopyToClipboard");export{Ri as Container,Ns as CopyToClipboard,os as FileViewer,sa as FullscreenCard,cr as Graph2D,mi as PageContent,ui as PageLayout,zt as Styled,Tt as StyledContainer,Rt as StyledMain,xi as SubNav,ms as Typewriter};//# sourceMappingURL=index.mjs.map
66
+ `);var ct=a(({url:h})=>{let[d,m]=useState(1),[k,S]=useState(),N=at.useRef(null),v=at.useRef(null),D=a(()=>{m(O=>Math.min(O+.25,4));},"handleZoomIn");return jsxs("div",{ref:v,className:"h-full w-full flex flex-col",children:[jsxs("div",{className:"flex justify-center items-stretch p-5.5 gap-1 border-b border-gray-200 relative ",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"secondary",size:"small",icon:jsx(Pa,{style:{width:20,height:20}}),onClick:a(()=>{m(O=>Math.max(O-.25,.25));},"handleZoomOut"),disabled:d<=.25,p:5}),jsxs(mb,{py:5,px:8,children:[d*100,"%"]}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"secondary",icon:jsx(ma,{style:{width:14,height:14}}),onClick:D,disabled:d>=4,p:8})]}),jsx("div",{className:"h-full w-full overflow-auto flex items-center justify-center",children:jsx("img",{src:h,ref:N,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,...k==="width"&&{width:`calc(${d*100}% - 20px)`},...k==="height"&&{height:`calc(${d*100}% - 20px)`}},onLoad:()=>{if(N.current&&v.current){let O=N.current.width,H=N.current.height,M=O<H?"height":"width";S(M);}}})})]})},"ImageDriver");var dt=a(({url:h})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full p-5.5",children:jsx("audio",{controls:true,src:h,className:"w-full"})}),"AudioDriver");var Ce=a(({url:h})=>{let[d,m]=useState(null),[k,S]=useState(false),[N,v]=useState(true),[D,A]=useState(null);return useEffect(()=>{S(true);},[]),useEffect(()=>{if(!k)return;a(async()=>{try{let H=await import('./PdfDriver-6U4HNAOY.mjs');m(()=>H.PdfDriver),v(!1);}catch(H){console.error("Failed to load PDF driver:",H),A("Failed to load PDF viewer"),v(false);}},"loadPdfDriver")();},[k]),k?N?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})}):D||!d?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:D||"PDF viewer unavailable"})})}):jsx(d,{url:h}):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 ht=a(({url:h,extension:d})=>jsxs("a",{href:h,download:`file.${d}`,className:"text-blue-500 underline",children:["Download ",d.toUpperCase()," file"]}),"DownloadDriver");var ft=50,wr=1e4,gt=a(({url:h,blob:d})=>{let m=useRef(null),[k,S]=useState(null),[N,v]=useState(true);return useEffect(()=>{a(async()=>{if(m.current)try{if(v(!0),S(null),!d&&h&&(d=await(await fetch(h)).blob()),!d){S("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(d.size/(1024*1024)>ft){S(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${ft} \u041C\u0411)`);return}m.current.innerHTML="";let O=renderAsync(d,m.current,void 0,{debug:!0,experimental:!0,hideWrapperOnPrint:!0}),H=new Promise((M,Y)=>setTimeout(()=>Y(new Error("\u0420\u0435\u043D\u0434\u0435\u0440\u0438\u043D\u0433 DOCX \u0437\u0430\u0439\u043D\u044F\u0432 \u043D\u0430\u0434\u0442\u043E \u0431\u0430\u0433\u0430\u0442\u043E \u0447\u0430\u0441\u0443")),wr));await Promise.race([O,H]),v(!1);}catch(A){S(A?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B"),v(false);}},"renderDocument")();},[h,d]),jsxs(Fragment,{children:[!!k&&!N&&jsx("div",{className:"text-red-500 p-5",children:k}),N&&jsx("div",{className:"flex items-center justify-center p-5",children:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F..."}),jsx("div",{ref:m,className:"w-full h-full overflow-auto"})]})},"DocxDriver");var Mr=a(h=>({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"})[h]||"text","getLanguageFromExtension"),mt=a(({url:h,extension:d})=>{let[m,k]=useState(""),[S,N]=useState(true),[v,D]=useState(null);if(useEffect(()=>{a(async()=>{try{N(!0),D(null);let M=await fetch(h);if(!M.ok)throw new Error(`Failed to load file: ${M.statusText}`);let Y=await M.text();k(Y);}catch(M){D(M instanceof Error?M.message:"Failed to load text content");}finally{N(false);}},"loadTextContent")();},[h]),S)return jsx("div",{className:"flex items-center justify-center p-8",children:jsx("div",{className:"text-gray-500",children:"Loading text content..."})});if(v)return jsx("div",{className:"flex items-center justify-center p-8",children:jsxs("div",{className:"text-red-500",children:["Error: ",v]})});let A=Mr(d);return jsx("div",{className:"h-full w-full overflow-auto",children:A!=="text"?jsx(Prism,{className:"min-h-full! m-0! py-0!",language:A,style:darcula,showLineNumbers:true,wrapLines:true,children:m}):jsx("pre",{className:"whitespace-pre-wrap p-4 text-sm font-mono bg-gray-50 min-h-full",children:m})})},"TextDriver");var vt=a(({url:h})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full",children:jsx("video",{controls:true,src:h,className:"w-full max-h-full"})}),"VideoDriver");var wt=memo(a(function({extension:d,blob:m,path:k,buffer:S,not_supported_message:N=" Sorry, this file type isn\u2019t supported yet."}){console.log("Driver props:",{extension:d,blob:m,path:k,buffer:S});let v=d.toLocaleLowerCase().trim(),D;if(k?D=k:m&&(D=URL.createObjectURL(m)),D){if(["jpeg","jpg","png","gif","bmp","webp"].includes(v))return jsx(ct,{url:D});if(["mp3","wav","ogg","flac"].includes(v))return jsx(dt,{url:D});if(["mp4","webm"].includes(v))return jsx(vt,{url:D});if(d==="pdf")return jsx(Ce,{url:D});if(["xlsx","pptx"].includes(v))return jsx(ht,{url:D,extension:v});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(v))return jsx(mt,{url:D,extension:v})}return v==="docx"?jsx(gt,{url:D,blob:m}):jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(mb,{children:jsx(Wa,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:N})})})},"Driver"));var os=a(h=>jsx("div",{className:"h-full w-full",children:jsx(wt,{...h})}),"FileViewer");var ms=a(({text:h,speed:d=50,onDone:m,markdown:k=false,markdownComponents:S={},className:N,...v})=>{let[D,A]=useState("");return useEffect(()=>{let O;if(d>0){A("");let H=0;O=setInterval(()=>{let M=h.charAt(H);A(Y=>Y+M),H++,H>=h.length&&(clearInterval(O),m?.());},d);}else A(h),m?.();return ()=>{O&&clearInterval(O);}},[h,d,m]),k?jsx("div",{className:N,children:jsx(Lr,{remarkPlugins:[Ir],components:S,...v,children:D})}):jsx(Wa,{className:N,...v,children:D})},"Typewriter");var Fr={timeout:2e3,message:"Copied!"},Ns=a(({text:h,children:d,format:m="text/plain",tooltip:k})=>{let[S,N]=useState(false),v=useRef(null),D={...Fr,...k},A=a(async()=>{"clipboard"in navigator?await navigator.clipboard.writeText(h):Rr(h,{format:m}),N(true),v.current&&clearTimeout(v.current),v.current=setTimeout(()=>N(false),D.timeout);},"handleCopy");return useEffect(()=>()=>{v.current&&clearTimeout(v.current);},[]),jsx(yb,{onMouseLeave:()=>N(false),className:S?"visible":"hidden",content:D.message,children:d({copy:A})})},"CopyToClipboard");export{Ri as Container,Ns as CopyToClipboard,os as FileViewer,sa as FullscreenCard,cr as Graph2D,mi as PageContent,ui as PageLayout,zt as Styled,Tt as StyledContainer,Rt as StyledMain,xi as SubNav,ms as Typewriter};//# sourceMappingURL=index.mjs.map
67
67
  //# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyber-harbour/ui",
3
- "version": "2.0.36",
3
+ "version": "2.0.38",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",
@@ -40,7 +40,7 @@
40
40
  "peerDependencies": {
41
41
  "@types/react": ">=19.1",
42
42
  "d3": ">=7.9",
43
- "react-pdf": "10.2.0",
43
+ "react-pdf": "10.1.0",
44
44
  "tailwindcss": "^4.1"
45
45
  },
46
46
  "dependencies": {
@@ -85,7 +85,7 @@
85
85
  "babel-loader": "^10.0.0",
86
86
  "cross-env": "^7.0.3",
87
87
  "playwright": "^1.52.0",
88
- "react-pdf": "10.2.0",
88
+ "react-pdf": "10.1.0",
89
89
  "storybook": "^9.1.3",
90
90
  "tsconfig-paths": "^4.2.0",
91
91
  "tsup": "^8.5.0",