@cyber-harbour/ui 2.2.20 → 2.2.21

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.mjs CHANGED
@@ -38,13 +38,13 @@ import {a,w,x,u,c,l,z,Ra,_a,na,Na,sa,rb,Eb,y,mb,G,kb,H,nb}from'./chunk-DTPQDD44.
38
38
  width: 100%;
39
39
  min-width: 0;
40
40
  max-width: ${typeof o=="number"?c(o,r.baseSize):o||"100%"};
41
- `),{ignoreStyles:["padding-inline"]});var yo=20,wo="splitter_columns_widths",pr=a((r,o,n)=>{let a=localStorage.getItem(r);if(a)try{let u=JSON.parse(a);if(Array.isArray(u)&&u.length===o)return u}catch{}else if(n.length===o)return n;return Array(o).fill(100/o)},"getSavedWidths"),Mc=a(({columns:r,initialWidths:o,layoutClassname:n="",splitterClassname:a="",minWidth:u=yo,storageKey:s=wo})=>{let[g,w]=useState(()=>pr(s,r.length,o)),x=useRef(null),L=useRef(null),R=useRef(u),f=useRef(g),z=useCallback(C=>{if(L.current===null||!x.current)return;let M=x.current.getBoundingClientRect(),D=M.width,W=C-M.left,Y=[...f.current],Z=L.current,oe=Z+1,me=Y.slice(0,Z).reduce((Re,ve)=>Re+ve,0),be=W/D*100-me,de=Y[Z]+Y[oe]-be;be>=R.current&&de>=R.current&&(Y[Z]=be,Y[oe]=de,w(Y),f.current=Y);},[]),j=useCallback(C=>z(C.clientX),[z]),t=useCallback(C=>{C.preventDefault(),z(C.touches[0].clientX);},[z]),I=useCallback(()=>{L.current=null,localStorage.setItem(s,JSON.stringify(f.current)),document.removeEventListener("mousemove",j),document.removeEventListener("mouseup",I),document.removeEventListener("touchmove",t),document.removeEventListener("touchend",I);},[j,t,s]),k=useCallback(C=>M=>{M.preventDefault(),L.current=C,document.addEventListener("mousemove",j,{passive:false}),document.addEventListener("mouseup",I);},[j,I]),N=useCallback(C=>M=>{M.preventDefault(),L.current=C,document.addEventListener("touchmove",t,{passive:false}),document.addEventListener("touchend",I);},[t,I]);return useEffect(()=>{let C=pr(s,r.length,o);f.current=C,w(C);},[r.length,o,s]),jsx("div",{ref:x,className:`flex select-none ${n}`,children:r.map(({content:C,className:M},D)=>jsxs(Fragment,{children:[jsx("div",{className:M,style:{flex:`${g[D]} 1 0%`},children:C}),D<r.length-1&&jsx("div",{onMouseDown:k(D),onTouchStart:N(D),className:`hidden lg:flex! lg:sticky lg:top-0 border-s border-gray-200 dark:border-neutral-700 ${a}`,children:jsx("span",{className:"absolute top-1/2 start-1/2 -translate-x-1/2 -translate-y-1/2 block w-5 h-8 flex justify-center items-center bg-white dark:bg-neutral-800 border border-gray-200 dark:border-neutral-700 text-gray-400 dark:text-neutral-500 rounded-md cursor-col-resize hover:bg-gray-100 dark:hover:bg-neutral-700",children:jsxs("svg",{className:"shrink-0 size-5",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("circle",{cx:"9",cy:"12",r:"1"}),jsx("circle",{cx:"9",cy:"5",r:"1"}),jsx("circle",{cx:"9",cy:"19",r:"1"}),jsx("circle",{cx:"15",cy:"12",r:"1"}),jsx("circle",{cx:"15",cy:"5",r:"1"}),jsx("circle",{cx:"15",cy:"19",r:"1"})]})})})]},`${D}`))})},"SplitterLayout");var Do=ko.div`
41
+ `),{ignoreStyles:["padding-inline"]});var yo=20,wo="splitter_columns_widths",pr=a((r,o,n)=>{let a=localStorage.getItem(r);if(a)try{let u=JSON.parse(a);if(Array.isArray(u)&&u.length===o)return u}catch{}else if(n.length===o)return n;return Array(o).fill(100/o)},"getSavedWidths"),Mc=a(({columns:r,initialWidths:o,layoutClassname:n="",splitterClassname:a="",minWidth:u=yo,storageKey:s=wo})=>{let[g,w]=useState(()=>pr(s,r.length,o)),k=useRef(null),L=useRef(null),R=useRef(u),f=useRef(g),z=useCallback(C=>{if(L.current===null||!k.current)return;let M=k.current.getBoundingClientRect(),D=M.width,W=C-M.left,Y=[...f.current],Z=L.current,oe=Z+1,me=Y.slice(0,Z).reduce((Re,ve)=>Re+ve,0),be=W/D*100-me,de=Y[Z]+Y[oe]-be;be>=R.current&&de>=R.current&&(Y[Z]=be,Y[oe]=de,w(Y),f.current=Y);},[]),F=useCallback(C=>z(C.clientX),[z]),t=useCallback(C=>{C.preventDefault(),z(C.touches[0].clientX);},[z]),I=useCallback(()=>{L.current=null,localStorage.setItem(s,JSON.stringify(f.current)),document.removeEventListener("mousemove",F),document.removeEventListener("mouseup",I),document.removeEventListener("touchmove",t),document.removeEventListener("touchend",I);},[F,t,s]),x=useCallback(C=>M=>{M.preventDefault(),L.current=C,document.addEventListener("mousemove",F,{passive:false}),document.addEventListener("mouseup",I);},[F,I]),N=useCallback(C=>M=>{M.preventDefault(),L.current=C,document.addEventListener("touchmove",t,{passive:false}),document.addEventListener("touchend",I);},[t,I]);return useEffect(()=>{let C=pr(s,r.length,o);f.current=C,w(C);},[r.length,o,s]),jsx("div",{ref:k,className:`flex select-none ${n}`,children:r.map(({content:C,className:M},D)=>jsxs(Fragment,{children:[jsx("div",{className:M,style:{flex:`${g[D]} 1 0%`},children:C}),D<r.length-1&&jsx("div",{onMouseDown:x(D),onTouchStart:N(D),className:`hidden lg:flex! lg:sticky lg:top-0 border-s border-gray-200 dark:border-neutral-700 ${a}`,children:jsx("span",{className:"absolute top-1/2 start-1/2 -translate-x-1/2 -translate-y-1/2 block w-5 h-8 flex justify-center items-center bg-white dark:bg-neutral-800 border border-gray-200 dark:border-neutral-700 text-gray-400 dark:text-neutral-500 rounded-md cursor-col-resize hover:bg-gray-100 dark:hover:bg-neutral-700",children:jsxs("svg",{className:"shrink-0 size-5",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("circle",{cx:"9",cy:"12",r:"1"}),jsx("circle",{cx:"9",cy:"5",r:"1"}),jsx("circle",{cx:"9",cy:"19",r:"1"}),jsx("circle",{cx:"15",cy:"12",r:"1"}),jsx("circle",{cx:"15",cy:"5",r:"1"}),jsx("circle",{cx:"15",cy:"19",r:"1"})]})})})]},`${D}`))})},"SplitterLayout");var Do=ko.div`
42
42
  width: 100%;
43
43
  height: 100%;
44
44
  display: flex;
45
45
  align-items: center;
46
46
  justify-content: center;
47
- `,Co=a(({width:r=280,height:o=280})=>{let n=useTheme();return jsx(Do,{children:jsxs(xo,{foregroundColor:n.contentLoader.foreground,backgroundColor:n.contentLoader.background,width:r,height:o,viewBox:"0 0 280 280",children:[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"}),jsx("circle",{cx:"229.92",cy:"63.7318",r:"5",transform:"rotate(173.661 229.92 63.7318)"}),jsx("circle",{cx:"227.711",cy:"43.8541",r:"5",transform:"rotate(173.661 227.711 43.8541)"}),jsx("circle",{cx:"211.478",cy:"60.7499",r:"5",transform:"rotate(173.661 211.478 60.7499)"}),jsx("circle",{cx:"218.434",cy:"78.0877",r:"5",transform:"rotate(173.661 218.434 78.0877)"}),jsx("circle",{cx:"246.705",cy:"51.8054",r:"5",transform:"rotate(173.661 246.705 51.8054)"}),jsx("circle",{cx:"42",cy:"48",r:"5"}),jsx("circle",{cx:"55",cy:"38",r:"5"}),jsx("circle",{cx:"73",cy:"43",r:"5"}),jsx("circle",{cx:"63",cy:"72",r:"5"}),jsx("circle",{cx:"50",cy:"86",r:"5"}),jsx("circle",{cx:"78",cy:"91",r:"5"}),jsx("circle",{cx:"73",cy:"165",r:"5"}),jsx("circle",{cx:"73",cy:"185",r:"5"}),jsx("circle",{cx:"91",cy:"170",r:"5"}),jsx("circle",{cx:"86",cy:"152",r:"5"}),jsx("circle",{cx:"148",cy:"130",r:"5"}),jsx("circle",{cx:"189",cy:"185",r:"5"}),jsx("circle",{cx:"163",cy:"107",r:"5"}),jsx("circle",{cx:"140",cy:"102",r:"5"}),jsx("circle",{cx:"117",cy:"135",r:"5"}),jsx("circle",{cx:"125",cy:"117",r:"5"}),jsx("circle",{cx:"208",cy:"198",r:"5"}),jsx("circle",{cx:"189",cy:"203",r:"5"}),jsx("circle",{cx:"198",cy:"221",r:"5"}),jsx("circle",{cx:"178",cy:"221",r:"5"}),jsx("circle",{cx:"184",cy:"239",r:"5"}),jsx("circle",{cx:"213",cy:"213",r:"5"}),jsx("circle",{cx:"173",cy:"130",r:"5"}),jsx("circle",{cx:"163",cy:"155",r:"5"}),jsx("circle",{cx:"135",cy:"155",r:"5"}),jsx("circle",{cx:"55",cy:"175",r:"5"})]})})},"GraphLoader"),gr=Co;var yt=typeof window<"u"&&window.devicePixelRatio||1;function Wo(r){return !r||r.length===0?[]:r.map(o=>{let n=new Image;n.src=o.img;let a=new Image;return a.src=o.hoverImg,{...o,normalImg:n,hoverImg:a}})}a(Wo,"prepareButtonImages");var te={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},$o=forwardRef(({loading:r,width:o,height:n,graphData:a$1,buttons:u=[],onNodeClick:s,onBackgroundClick:g,onNodeHover:w,onLinkHover:x,onLinkClick:L},R)=>{let f=useTheme(),[z,j]=useState(true),t=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:o*yt,height:n*yt,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:I,links:k}=useMemo(()=>Eo(a$1),[a$1]),[N,C]=useState([]),M=useRef(null),D=useRef(null),W=useRef(null),Y=scaleOrdinal(schemeCategory10),Z=useCallback(()=>{if(!M.current)return false;try{let e=M.current.getContext("2d");return e?(W.current=e,!0):(console.error("Failed to get 2D context"),!1)}catch(e){return console.error("Error initializing Canvas 2D context:",e),false}},[]),oe=useCallback(()=>D.current?D.current.nodes():null,[]),me=useCallback(()=>{if(!D.current)return null;let e=D.current.force("link");return e?e.links():null},[]),be=useCallback(e=>{e.save(),e.setTransform(1,0,0,1,0,0);let{width:c,height:d}=t.current,l=te.gridSpacing,h=te.dotSize;e.fillStyle=f.graph2D.grid.dotColor;for(let y=l/2;y<=c;y+=l)for(let m=l/2;m<=d;m+=l)e.beginPath(),e.arc(y,m,h,0,2*Math.PI),e.fill();e.restore();},[f.graph2D.grid.dotColor,te.gridSpacing,te.dotSize]),de=useCallback((e,c,d)=>{if(!e)return "";if(d.measureText(e).width<=c)return e;let h=e,y="...";for(;d.measureText(h+y).width>c&&h.length>0;)h=h.slice(0,-1);return h+y},[]),Re=a(e=>{let d=Math.min(e,te.maxZoom)/te.maxZoom;return Math.max(te.fontSize*d,te.fontSize)},"calculateFontSize"),ve=useCallback(e=>{let c=me(),d=oe();!c||c.length===0||!d||d.length===0||(e.lineWidth=.5,e.globalAlpha=1,c.forEach(l=>{let h=typeof l.source=="object"?l.source:d.find(Ce=>Ce.id===l.source),y=typeof l.target=="object"?l.target:d.find(Ce=>Ce.id===l.target);if(!h||!y)return;let m={x:h.x||0,y:h.y||0},b={x:y.x||0,y:y.y||0},T=b.x-m.x,E=b.y-m.y,_=Math.sqrt(T*T+E*E),U=T/_,H=E/_,re=te.nodeSizeBase/2,V=te.nodeSizeBase/2,v=4,p={x:m.x+U*re,y:m.y+H*re},P={x:b.x-U*(V+v),y:b.y-H*(V+v)},S={x:b.x-U*(V+1),y:b.y-H*(V+1)},F=t.current.highlightLinks.has(l),O=F?f.graph2D.link.highlighted:f.graph2D.link.normal,G=F?1.5:.5,se=m.x+(b.x-m.x)/2,ke=m.y+(b.y-m.y)/2,Ee=Math.atan2(E,T);if(l.label){let Ce=t.current.transform.k,pe=Re(Ce);e.font=`${pe}px Sans-Serif`;let Me=e.measureText(l.label).width,at=10;e.beginPath(),e.moveTo(p.x,p.y);let Kt=_/2-(Me+at)/2,Jt={x:m.x+U*Kt,y:m.y+H*Kt};e.lineTo(Jt.x,Jt.y),e.strokeStyle=O,e.lineWidth=G,e.stroke(),e.beginPath();let Qt=_/2+(Me+at)/2,er={x:m.x+U*Qt,y:m.y+H*Qt};e.moveTo(er.x,er.y),e.lineTo(P.x,P.y),e.strokeStyle=O,e.lineWidth=G,e.stroke();}else e.beginPath(),e.moveTo(p.x,p.y),e.lineTo(P.x,P.y),e.strokeStyle=O,e.lineWidth=G,e.stroke();let Be=2;if(e.save(),e.translate(S.x,S.y),e.rotate(Ee),e.beginPath(),e.moveTo(0,0),e.lineTo(-v,Be),e.lineTo(-v,0),e.lineTo(-v,-Be),e.closePath(),e.fillStyle=O,e.fill(),e.restore(),l.label){let Ce=t.current.transform.k,pe=Re(Ce);e.font=`${pe}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.save(),e.translate(se,ke),Math.abs(Ee)>Math.PI/2?e.rotate(Ee+Math.PI):e.rotate(Ee),e.fillStyle=F?f.graph2D.link.highlightedTextColor:f.graph2D.link.textColor,e.fillText(l.label,0,0),e.restore();}}));},[te,f.graph2D.link]),$=a((e,c,d,l,h,y,m)=>{try{if(y!=null){let b=h*.8;e.font=`${b}px sans-serif`,e.textBaseline="middle",e.textAlign="left";let T=new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0,compactDisplay:"short"}).format(y),E=e.measureText(T).width,_=h*.3,H=(h+_+E)/2;e.drawImage(c,d-H,l-h/2,h,h),e.fillStyle=m||"#99989C",e.fillText(T,d-H+h+_,l);}else e.drawImage(c,d-h/2,l-h/2,h,h);}catch(b){console.warn("Error rendering icon:",b);}},"drawIconWithOptionalCounter"),A=useCallback((e,c)=>{if(!N||N.length===0||!e||!e.x||!e.y)return;let{x:d,y:l$1}=e,h=te.nodeSizeBase*te.nodeAreaFactor/2;c.save();let y=Math.min(N.length,8),m=Math.min(Math.PI*2/y,Math.PI);for(let b=0;b<y;b++){let T=b*m,E=(b+1)*m,_=t.current.hoveredButtonIndex===b;c.beginPath(),c.arc(d,l$1,h,T,E,false),c.lineTo(d,l$1),c.closePath(),c.lineWidth=1,c.strokeStyle=f.graph2D?.button?.stroke||"#FFFFFF",c.stroke(),c.fillStyle=_?f.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":f.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",c.fill();let U=h*.2,H=(T+E)/2,re=h-te.nodeSizeBase/2+U,V=d+Math.cos(H)*re,v=l$1+Math.sin(H)*re,p=N[b];if(p.loading){let P=U/2,S=U/12;c.save(),c.translate(V,v),c.rotate(t.current.spinnerAngle);for(let F=0;F<12;F++){let O=Math.PI*2*F/12,G=F/12,se=Math.cos(O)*P,ke=Math.sin(O)*P;c.beginPath(),c.fillStyle=l(f.graph2D?.button?.spinnerColor,G),c.arc(se,ke,S,0,Math.PI*2),c.fill();}c.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(B),t.current.animation.buttonIndex=b;}else {t.current.animation.id&&t.current.animation.buttonIndex===b&&(cancelAnimationFrame(t.current.animation.id),t.current.animation.id=null,t.current.animation.buttonIndex=null);let P=_?p.hoverImg:p.normalImg,S=p.getCount?p.getCount(e):null;P.complete?$(c,P,V,v,U,S,f.graph2D?.button?.textColor):P.onload=()=>{W.current&&$(c,P,V,v,U,S,f.graph2D?.button?.textColor);};}}c.restore();},[N,f.graph2D?.button]),K=useCallback(e=>{let c=oe();!c||c.length===0||(e.globalAlpha=1,c.forEach(d=>{let{x:l,y:h,color:y,fontColor:m,label:b}=d,T=t.current.highlightNodes.has(d)||d===t.current.hoveredNode||d===t.current.draggedNode,E=d===t.current.selectedNode,_=te.nodeSizeBase,U=te.nodeSizeBase/2;if(T&&!E){let H=te.nodeSizeBase*te.nodeAreaFactor*.75/2;e.beginPath(),e.arc(l,h,H,0,2*Math.PI,false),e.fillStyle=f.graph2D.ring.highlightFill,e.fill();}if(E)if(u&&u.length>0)A(d,e);else {let H=te.nodeSizeBase*te.nodeAreaFactor/2;e.beginPath(),e.arc(l,h,H,0,2*Math.PI,false),e.fillStyle=f.graph2D.ring.selectionFill||f.graph2D.ring.highlightFill,e.fill();}if(e.beginPath(),e.arc(l,h,U,0,2*Math.PI),e.fillStyle=y||Y(d.group||"0"),e.fill(),b){e.save(),e.translate(l,h);let H=t.current.transform.k,re=Re(H),V=_*te.textPaddingFactor;e.font=`${re}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle=m||"#000";let v=de(b,V,e);e.fillText(v,0,0),e.restore();}}));},[f.graph2D.ring,u,A]),B=useCallback(()=>{let e=W.current;e&&(e.clearRect(0,0,t.current.width,t.current.height),be(e),e.save(),e.setTransform(t.current.transform.k,0,0,t.current.transform.k,t.current.transform.x,t.current.transform.y),ve(e),K(e),e.restore());},[ve,K,be]),Q=useCallback((e,c=[],d)=>{let l=me()||[],h=oe()||[];if(!D.current||!e.length)return;let{width:y,height:m}=t.current,b=d?.smoothAppearance??false,T=d?.transitionDuration??1e3,E=new Set(h.map(p=>p.id)),_=e.filter(p=>!E.has(p.id)),U=new Set(l.map(p=>`${typeof p.source=="object"?p.source.id:p.source}-${typeof p.target=="object"?p.target.id:p.target}`)),H=c.filter(p=>{let P=`${typeof p.source=="object"?p.source.id:p.source}-${typeof p.target=="object"?p.target.id:p.target}`;return !U.has(P)});if(_.length===0&&H.length===0)return;let re=[...h,..._],V=[...l,...H];b&&(_.forEach(p=>{let P=H.filter(S=>{let F=typeof S.source=="object"?S.source.id:S.source,O=typeof S.target=="object"?S.target.id:S.target;return F===p.id&&E.has(O)||O===p.id&&E.has(F)});if(P.length>0){let S=P[0],F=typeof S.source=="object"?S.source.id===p.id?S.target:S.source.id:S.source===p.id?S.target:S.source,O=re.find(G=>G.id===F);if(O&&O.x!==void 0&&O.y!==void 0){let G=30+Math.random()*20,se=Math.random()*Math.PI*2;p.x=O.x+Math.cos(se)*G,p.y=O.y+Math.sin(se)*G,p.vx=0,p.vy=0;}}else {let S=y/2,F=m/2,O=Math.min(y,m)/4,G=Math.random()*Math.PI*2;p.x=S+Math.cos(G)*(O*Math.random()),p.y=F+Math.sin(G)*(O*Math.random()),p.vx=0,p.vy=0;}}),h.forEach(p=>{p.fx=p.x,p.fy=p.y;})),D.current.nodes(re);let v=D.current.force("link");v&&v.links(V),H.forEach(p=>{let P=typeof p.source=="object"?p.source:re.find(F=>F.id===p.source),S=typeof p.target=="object"?p.target:re.find(F=>F.id===p.target);!P||!S||(!P.neighbors&&(P.neighbors=[]),!S.neighbors&&(S.neighbors=[]),P.neighbors.push(S),S.neighbors.push(P),!P.links&&(P.links=[]),!S.links&&(S.links=[]),P.links.push(p),S.links.push(p));}),b?(D.current.alphaTarget(.3),D.current.alpha(.3),D.current.velocityDecay(.7),D.current.restart(),setTimeout(()=>{h.forEach(p=>{p.fx=void 0,p.fy=void 0;}),D.current?.alphaTarget(0),D.current?.alpha(.1),D.current?.velocityDecay(.6);},T)):D.current.alpha(.1).restart(),B();},[I,B]),ae=useCallback(e=>{let c=oe(),d=me();if(!D.current||!e.length||!c||c.length===0||!d||d.length===0)return;let l=new Set(e);if(t.current.selectedNode&&t.current.selectedNode.id!==void 0&&l.has(t.current.selectedNode.id)&&(t.current.selectedNode=null),t.current.hoveredNode&&t.current.hoveredNode.id!==void 0&&l.has(t.current.hoveredNode.id)&&(t.current.hoveredNode=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set),t.current.hoveredLink){let b=typeof t.current.hoveredLink.source=="object"?t.current.hoveredLink.source.id:t.current.hoveredLink.source,T=typeof t.current.hoveredLink.target=="object"?t.current.hoveredLink.target.id:t.current.hoveredLink.target;(b!==void 0&&l.has(b)||T!==void 0&&l.has(T))&&(t.current.hoveredLink=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set);}t.current.draggedNode&&t.current.draggedNode.id!==void 0&&l.has(t.current.draggedNode.id)&&(t.current.draggedNode=null);let h=c.filter(b=>b.id!==void 0&&!l.has(b.id)),y=d.filter(b=>{let T=typeof b.source=="object"?b.source.id:b.source,E=typeof b.target=="object"?b.target.id:b.target;return T!==void 0&&!l.has(T)&&E!==void 0&&!l.has(E)});h.forEach(b=>{b.neighbors=[],b.links=[];}),y.forEach(b=>{let T=typeof b.source=="object"?b.source:h.find(_=>_.id===b.source),E=typeof b.target=="object"?b.target:h.find(_=>_.id===b.target);!T||!E||(T.neighbors=T.neighbors||[],E.neighbors=E.neighbors||[],T.neighbors.push(E),E.neighbors.push(T),T.links=T.links||[],E.links=E.links||[],T.links.push(b),E.links.push(b));}),D.current.nodes(h);let m=D.current.force("link");m&&m.links(y),B();},[B]),ee=useCallback((e=0,c=20)=>{let d=oe();if(!W.current||!M.current||!d||!d.length)return;let h=1/0,y=1/0,m=-1/0,b=-1/0;if(d.forEach(T=>{if(T.x===void 0||T.y===void 0)return;let E=T.x,_=T.y;h=Math.min(h,E),y=Math.min(y,_),m=Math.max(m,E),b=Math.max(b,_);}),isFinite(h)&&isFinite(m)&&isFinite(y)&&isFinite(b)){let{width:T,height:E}=t.current;h-=c,y-=c,m+=c,b+=c;let _=m-h,U=b-y,H=_>0?T/_:1,re=U>0?E/U:1,V=Math.min(H,re,10),v=h+_/2,p=y+U/2,P={k:V,x:T/2-v*V,y:E/2-p*V};if(e>0){let S={...t.current.transform},F=Date.now(),O=a(()=>{let G=Math.min(1,(Date.now()-F)/e),se=G===1?1:1-Math.pow(1-G,3),ke={k:S.k+(P.k-S.k)*se,x:S.x+(P.x-S.x)*se,y:S.y+(P.y-S.y)*se};t.current.transform=ke,B(),G<1&&requestAnimationFrame(O);},"animateZoom");requestAnimationFrame(O);}else t.current.transform=P,B();}},[]),q=useCallback((e,c)=>{let d=oe();if(!d||d.length===0)return null;let l=te.nodeSizeBase/2,h=typeof window<"u"&&window.devicePixelRatio||1,y=(e*h-t.current.transform.x)/t.current.transform.k,m=(c*h-t.current.transform.y)/t.current.transform.k;return d.find(b=>{let T=(b.x||0)-y,E=(b.y||0)-m;return Math.sqrt(T*T+E*E)<=l})||null},[]),ne=useCallback((e,c)=>{let d=me(),l=oe();if(!d||d.length===0||!l||l.length===0)return null;let h=typeof window<"u"&&window.devicePixelRatio||1,y=(e*h-t.current.transform.x)/t.current.transform.k,m=(c*h-t.current.transform.y)/t.current.transform.k,b=5;return d.find(T=>{let E=typeof T.source=="object"?T.source:l.find(pe=>pe.id===T.source),_=typeof T.target=="object"?T.target:l.find(pe=>pe.id===T.target);if(!E||!_)return false;let U=E.x||0,H=E.y||0,re=_.x||0,V=_.y||0,v=y-U,p=m-H,P=re-U,S=V-H,F=v*P+p*S,O=P*P+S*S;if(O===0)return false;let G=F/O;G=Math.max(0,Math.min(1,G));let se=U+G*P,ke=H+G*S,Ee=y-se,Be=m-ke;return Math.sqrt(Ee*Ee+Be*Be)<=b})||null},[]),ie=useCallback((e,c,d,l,h,y,m)=>{let b=e-d,T=c-l,E=Math.sqrt(b*b+T*T),_=Math.atan2(T,b);_<0&&(_+=2*Math.PI);let re=E>=h*.5&&E<=h*1,V=false;return y===Math.PI&&m===Math.PI*2?V=_>=Math.PI&&_<=Math.PI*2:y===0&&m===Math.PI?V=_>=0&&_<=Math.PI:V=y<=m&&_>=y&&_<=m||y>m&&(_>=y||_<=m),re&&V},[]),ue=useCallback(e=>{if(e===t.current.hoveredNode)return;let c=new Set,d=new Set;e&&(c.add(e),e.neighbors&&e.neighbors.forEach(l=>c.add(l)),e.links&&e.links.forEach(l=>d.add(l))),t.current.hoveredNode=e,w&&w(e),t.current.highlightNodes=c,t.current.highlightLinks=d;},[w]),ye=useCallback(e=>{if(e===t.current.hoveredLink)return;let c=new Set,d=new Set;if(e){d.add(e);let l=oe();if(l){let h=typeof e.source=="object"?e.source:l.find(m=>m.id===e.source),y=typeof e.target=="object"?e.target:l.find(m=>m.id===e.target);h&&c.add(h),y&&c.add(y);}}t.current.hoveredLink=e,x&&x(e),t.current.highlightNodes=c,t.current.highlightLinks=d;},[x,oe]),we=useCallback(e=>{L&&L(e);},[L]),fe=useCallback(e=>{t.current.selectedNode=e,s&&s(e);},[s]),De=useCallback(()=>{t.current.selectedNode=null,g&&g();},[g]),Ie=useCallback(e=>{if(!M.current||!D.current)return;let c=M.current.getBoundingClientRect(),d=e.clientX-c.left,l=e.clientY-c.top;t.current.mouseStartPos={x:d,y:l},t.current.isDragging=false;let h=q(d,l);h?(t.current.draggedNode=h,h.fx=h.x,h.fy=h.y):(t.current.isPanning=true,t.current.lastMousePos={x:d,y:l});},[q]),We=useCallback((e,c)=>{let d=null;if(M.current&&t.current&&N.length>0){let l=te.nodeSizeBase*te.nodeAreaFactor/2,h=M.current.getBoundingClientRect(),y=M.current.width/h.width,m=M.current.height/h.height,b=e*y,T=c*m,E=(b-t.current.transform.x)/t.current.transform.k,_=(T-t.current.transform.y)/t.current.transform.k,U=t.current.selectedNode?.x||0,H=t.current.selectedNode?.y||0,re=Math.min(N.length,8),V=Math.min(Math.PI*2/re,Math.PI);for(let v=0;v<re;v++){let p=v*V,P=(v+1)*V;if(ie(E,_,U,H,l,p,P)){d=v;break}}}return d},[N]),Ne=useCallback(e=>{if(!M.current)return;let c=M.current.getBoundingClientRect(),d=e.clientX-c.left,l=e.clientY-c.top;if(t.current.draggedNode&&t.current.mouseStartPos&&D.current){let m=t.current.mouseStartPos.x,b=t.current.mouseStartPos.y,T=d-m,E=l-b;Math.sqrt(T*T+E*E)>3&&(t.current.isDragging=true,D.current.alphaTarget()===0&&D.current.alphaTarget(0).restart());let H=typeof window<"u"&&window.devicePixelRatio||1,re=(d*H-t.current.transform.x)/t.current.transform.k,V=(l*H-t.current.transform.y)/t.current.transform.k;t.current.draggedNode.fx=re,t.current.draggedNode.fy=V;return}if(t.current.isPanning&&t.current.mouseStartPos){let m=d-t.current.lastMousePos.x,b=l-t.current.lastMousePos.y,T=t.current.mouseStartPos.x,E=t.current.mouseStartPos.y;Math.sqrt(Math.pow(d-T,2)+Math.pow(l-E,2))>3&&(t.current.isDragging=true),t.current.transform={...t.current.transform,x:t.current.transform.x+m,y:t.current.transform.y+b},t.current.lastMousePos={x:d,y:l},B();return}let h,y;if(t.current.selectedNode&&M.current&&N.length>0){let m=We(d,l);m!==null&&(y=t.current.selectedNode),m!==t.current.hoveredButtonIndex&&(h=true),t.current.hoveredButtonIndex=m;}else t.current.hoveredButtonIndex!==null&&(t.current.hoveredButtonIndex=null);if(!y&&(y=q(d,l),!y)){let m=ne(d,l),b=m!==t.current.hoveredLink;if(m&&t.current.hoveredNode&&ue(null),ye(m),M.current&&(M.current.style.cursor=m?"pointer":"default"),b){B();return}}y&&t.current.hoveredLink&&ye(null),y!==t.current.hoveredNode&&(h=true),ue(y),M.current&&(M.current.style.cursor=y?"pointer":"default"),h&&B();},[N,q,ne,ue,ye,B,ie,We]),Ze=useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.stopPropagation(),e.preventDefault()),t.current.mustBeStoppedPropagation=false;},[]),$e=useCallback(e=>{let c=t.current.isDragging;if(c&&(t.current.mustBeStoppedPropagation=true),!c&&t.current.mouseStartPos){let d=M.current?.getBoundingClientRect();if(d){let l=e.clientX-d.left,h=e.clientY-d.top;N.length>0&&t.current.hoveredButtonIndex===null&&(t.current.hoveredButtonIndex=We(l,h));let y=false;if(t.current.selectedNode&&t.current.hoveredButtonIndex!==null&&u[t.current.hoveredButtonIndex]){let m=u[t.current.hoveredButtonIndex];m&&m.onClick&&(m.onClick(t.current.selectedNode),y=true,t.current.hoveredButtonIndex=null);}if(!y&&t.current.draggedNode)fe(t.current.draggedNode);else if(!y&&!t.current.draggedNode){let m=ne(l,h);m?we(m):De();}}}if(t.current.draggedNode&&D.current){if(c){D.current.alphaTarget(0);let d=.05,l=.04,h=.6;D.current.alpha(d).alphaDecay(l),D.current.velocityDecay(h);}else D.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),B();},[u,B,fe,De,ne,we,We,N]),ot=useCallback(e=>{if(e.stopPropagation(),e.preventDefault(),!M.current)return;let c=M.current.getBoundingClientRect(),d=e.clientX-c.left,l=e.clientY-c.top,y=-e.deltaY>0?1.1:1/1.1,m=t.current.transform,b=m.k*y;if(b<.01||b>10)return;let T=m.k*y,E=d-(d-m.x)*y,_=l-(l-m.y)*y;t.current.transform={k:T,x:E,y:_},B();},[B]),Fe=a((e,c)=>{let d=e.touches[0];if(d){let l={clientX:d.clientX,clientY:d.clientY};c(l);}},"convertTouchToMouseEvent"),nt=useCallback(e=>{Fe(e,Ie);},[Ie]),Ve=useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.preventDefault(),e.stopPropagation()),t.current.mustBeStoppedPropagation=false,Fe(e,$e);},[$e]),et=useCallback(e=>{Fe(e,Ne);},[Ne]);return useImperativeHandle(R,()=>({zoomToFit:ee,addNodes:Q,removeNodes:ae}),[ee,Q,ae]),useEffect(()=>{let e=M.current,{width:c,height:d}=t.current;if(!e)return;Z(),j(true);let l=c/2,h=d/2,y=te.nodeSizeBase,m=y/2,b=y*2.5;D.current&&D.current.stop();let T=D.current=forceSimulation(I).force("link",forceLink(k).id(E=>E.id).distance(b).strength(.9)).force("charge",forceManyBody().strength(-y/10*200).theta(.5).distanceMin(y*2)).force("x",forceX().strength(.03)).force("y",forceY().strength(.03)).force("center",forceCenter(l,h).strength(.05)).force("collide",forceCollide().radius(m*2).iterations(2).strength(1)).velocityDecay(.6);return ()=>{T.stop();}},[I,k]),useLayoutEffect(()=>{let e=M.current;e&&(t.current.width=o*yt,t.current.height=n*yt,e.width=t.current.width,e.height=t.current.height);},[o,n]),useEffect(()=>{if(D.current){let e=D.current;e.on("tick",()=>{B();}),e.on("end",()=>{z&&(ee(0,20),setTimeout(()=>{j(false);},200));});}z||B();},[I,k,z,B,ee]),useEffect(()=>{!I||!k||k.forEach(e=>{let c=typeof e.source=="object"?e.source:I.find(l=>l.id===e.source),d=typeof e.target=="object"?e.target:I.find(l=>l.id===e.target);!c||!d||(!c.neighbors&&(c.neighbors=[]),!d.neighbors&&(d.neighbors=[]),c.neighbors.push(d),d.neighbors.push(c),!c.links&&(c.links=[]),!d.links&&(d.links=[]),c.links.push(e),d.links.push(e));});},[I,k]),useEffect(()=>{u&&u.length>0&&C(Wo(u));},[u]),useEffect(()=>{let e=M.current;if(!(!e||typeof window>"u"))return e.addEventListener("wheel",ot,{passive:false}),e.addEventListener("touchend",Ve,{passive:false}),()=>{e.removeEventListener("wheel",ot),e.removeEventListener("touchend",Ve);}},[ot,Ve]),jsxs(Xo,{children:[(r||z)&&jsx(gr,{width:o,height:n}),jsx(Yo,{ref:M,style:{width:o,height:n,display:r||z?"none":"block"},onMouseDown:Ie,onMouseMove:Ne,onMouseUp:$e,onMouseLeave:$e,onClick:Ze,onTouchStart:nt,onTouchMove:et})]})}),Xo=styled.div`
47
+ `,Co=a(({width:r=280,height:o=280})=>{let n=useTheme();return jsx(Do,{children:jsxs(xo,{foregroundColor:n.contentLoader.foreground,backgroundColor:n.contentLoader.background,width:r,height:o,viewBox:"0 0 280 280",children:[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"}),jsx("circle",{cx:"229.92",cy:"63.7318",r:"5",transform:"rotate(173.661 229.92 63.7318)"}),jsx("circle",{cx:"227.711",cy:"43.8541",r:"5",transform:"rotate(173.661 227.711 43.8541)"}),jsx("circle",{cx:"211.478",cy:"60.7499",r:"5",transform:"rotate(173.661 211.478 60.7499)"}),jsx("circle",{cx:"218.434",cy:"78.0877",r:"5",transform:"rotate(173.661 218.434 78.0877)"}),jsx("circle",{cx:"246.705",cy:"51.8054",r:"5",transform:"rotate(173.661 246.705 51.8054)"}),jsx("circle",{cx:"42",cy:"48",r:"5"}),jsx("circle",{cx:"55",cy:"38",r:"5"}),jsx("circle",{cx:"73",cy:"43",r:"5"}),jsx("circle",{cx:"63",cy:"72",r:"5"}),jsx("circle",{cx:"50",cy:"86",r:"5"}),jsx("circle",{cx:"78",cy:"91",r:"5"}),jsx("circle",{cx:"73",cy:"165",r:"5"}),jsx("circle",{cx:"73",cy:"185",r:"5"}),jsx("circle",{cx:"91",cy:"170",r:"5"}),jsx("circle",{cx:"86",cy:"152",r:"5"}),jsx("circle",{cx:"148",cy:"130",r:"5"}),jsx("circle",{cx:"189",cy:"185",r:"5"}),jsx("circle",{cx:"163",cy:"107",r:"5"}),jsx("circle",{cx:"140",cy:"102",r:"5"}),jsx("circle",{cx:"117",cy:"135",r:"5"}),jsx("circle",{cx:"125",cy:"117",r:"5"}),jsx("circle",{cx:"208",cy:"198",r:"5"}),jsx("circle",{cx:"189",cy:"203",r:"5"}),jsx("circle",{cx:"198",cy:"221",r:"5"}),jsx("circle",{cx:"178",cy:"221",r:"5"}),jsx("circle",{cx:"184",cy:"239",r:"5"}),jsx("circle",{cx:"213",cy:"213",r:"5"}),jsx("circle",{cx:"173",cy:"130",r:"5"}),jsx("circle",{cx:"163",cy:"155",r:"5"}),jsx("circle",{cx:"135",cy:"155",r:"5"}),jsx("circle",{cx:"55",cy:"175",r:"5"})]})})},"GraphLoader"),gr=Co;var yt=typeof window<"u"&&window.devicePixelRatio||1;function Wo(r){return !r||r.length===0?[]:r.map(o=>{let n=new Image;n.src=o.img;let a=new Image;return a.src=o.hoverImg,{...o,normalImg:n,hoverImg:a}})}a(Wo,"prepareButtonImages");var te={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},$o=forwardRef(({loading:r,width:o,height:n,graphData:a$1,buttons:u=[],onNodeClick:s,onBackgroundClick:g,onNodeHover:w,onLinkHover:k,onLinkClick:L},R)=>{let f=useTheme(),[z,F]=useState(true),t=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:o*yt,height:n*yt,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:I,links:x}=useMemo(()=>Eo(a$1),[a$1]),[N,C]=useState([]),M=useRef(null),D=useRef(null),W=useRef(null),Y=scaleOrdinal(schemeCategory10),Z=useCallback(()=>{if(!M.current)return false;try{let e=M.current.getContext("2d");return e?(W.current=e,!0):(console.error("Failed to get 2D context"),!1)}catch(e){return console.error("Error initializing Canvas 2D context:",e),false}},[]),oe=useCallback(()=>D.current?D.current.nodes():null,[]),me=useCallback(()=>{if(!D.current)return null;let e=D.current.force("link");return e?e.links():null},[]),be=useCallback(e=>{e.save(),e.setTransform(1,0,0,1,0,0);let{width:c,height:d}=t.current,l=te.gridSpacing,h=te.dotSize;e.fillStyle=f.graph2D.grid.dotColor;for(let y=l/2;y<=c;y+=l)for(let m=l/2;m<=d;m+=l)e.beginPath(),e.arc(y,m,h,0,2*Math.PI),e.fill();e.restore();},[f.graph2D.grid.dotColor,te.gridSpacing,te.dotSize]),de=useCallback((e,c,d)=>{if(!e)return "";if(d.measureText(e).width<=c)return e;let h=e,y="...";for(;d.measureText(h+y).width>c&&h.length>0;)h=h.slice(0,-1);return h+y},[]),Re=a(e=>{let d=Math.min(e,te.maxZoom)/te.maxZoom;return Math.max(te.fontSize*d,te.fontSize)},"calculateFontSize"),ve=useCallback(e=>{let c=me(),d=oe();!c||c.length===0||!d||d.length===0||(e.lineWidth=.5,e.globalAlpha=1,c.forEach(l=>{let h=typeof l.source=="object"?l.source:d.find(Ce=>Ce.id===l.source),y=typeof l.target=="object"?l.target:d.find(Ce=>Ce.id===l.target);if(!h||!y)return;let m={x:h.x||0,y:h.y||0},b={x:y.x||0,y:y.y||0},T=b.x-m.x,E=b.y-m.y,_=Math.sqrt(T*T+E*E),U=T/_,H=E/_,re=te.nodeSizeBase/2,V=te.nodeSizeBase/2,v=4,p={x:m.x+U*re,y:m.y+H*re},P={x:b.x-U*(V+v),y:b.y-H*(V+v)},S={x:b.x-U*(V+1),y:b.y-H*(V+1)},j=t.current.highlightLinks.has(l),O=j?f.graph2D.link.highlighted:f.graph2D.link.normal,G=j?1.5:.5,se=m.x+(b.x-m.x)/2,ke=m.y+(b.y-m.y)/2,Ee=Math.atan2(E,T);if(l.label){let Ce=t.current.transform.k,pe=Re(Ce);e.font=`${pe}px Sans-Serif`;let Me=e.measureText(l.label).width,at=10;e.beginPath(),e.moveTo(p.x,p.y);let Kt=_/2-(Me+at)/2,Jt={x:m.x+U*Kt,y:m.y+H*Kt};e.lineTo(Jt.x,Jt.y),e.strokeStyle=O,e.lineWidth=G,e.stroke(),e.beginPath();let Qt=_/2+(Me+at)/2,er={x:m.x+U*Qt,y:m.y+H*Qt};e.moveTo(er.x,er.y),e.lineTo(P.x,P.y),e.strokeStyle=O,e.lineWidth=G,e.stroke();}else e.beginPath(),e.moveTo(p.x,p.y),e.lineTo(P.x,P.y),e.strokeStyle=O,e.lineWidth=G,e.stroke();let Be=2;if(e.save(),e.translate(S.x,S.y),e.rotate(Ee),e.beginPath(),e.moveTo(0,0),e.lineTo(-v,Be),e.lineTo(-v,0),e.lineTo(-v,-Be),e.closePath(),e.fillStyle=O,e.fill(),e.restore(),l.label){let Ce=t.current.transform.k,pe=Re(Ce);e.font=`${pe}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.save(),e.translate(se,ke),Math.abs(Ee)>Math.PI/2?e.rotate(Ee+Math.PI):e.rotate(Ee),e.fillStyle=j?f.graph2D.link.highlightedTextColor:f.graph2D.link.textColor,e.fillText(l.label,0,0),e.restore();}}));},[te,f.graph2D.link]),$=a((e,c,d,l,h,y,m)=>{try{if(y!=null){let b=h*.8;e.font=`${b}px sans-serif`,e.textBaseline="middle",e.textAlign="left";let T=new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0,compactDisplay:"short"}).format(y),E=e.measureText(T).width,_=h*.3,H=(h+_+E)/2;e.drawImage(c,d-H,l-h/2,h,h),e.fillStyle=m||"#99989C",e.fillText(T,d-H+h+_,l);}else e.drawImage(c,d-h/2,l-h/2,h,h);}catch(b){console.warn("Error rendering icon:",b);}},"drawIconWithOptionalCounter"),A=useCallback((e,c)=>{if(!N||N.length===0||!e||!e.x||!e.y)return;let{x:d,y:l$1}=e,h=te.nodeSizeBase*te.nodeAreaFactor/2;c.save();let y=Math.min(N.length,8),m=Math.min(Math.PI*2/y,Math.PI);for(let b=0;b<y;b++){let T=b*m,E=(b+1)*m,_=t.current.hoveredButtonIndex===b;c.beginPath(),c.arc(d,l$1,h,T,E,false),c.lineTo(d,l$1),c.closePath(),c.lineWidth=1,c.strokeStyle=f.graph2D?.button?.stroke||"#FFFFFF",c.stroke(),c.fillStyle=_?f.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":f.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",c.fill();let U=h*.2,H=(T+E)/2,re=h-te.nodeSizeBase/2+U,V=d+Math.cos(H)*re,v=l$1+Math.sin(H)*re,p=N[b];if(p.loading){let P=U/2,S=U/12;c.save(),c.translate(V,v),c.rotate(t.current.spinnerAngle);for(let j=0;j<12;j++){let O=Math.PI*2*j/12,G=j/12,se=Math.cos(O)*P,ke=Math.sin(O)*P;c.beginPath(),c.fillStyle=l(f.graph2D?.button?.spinnerColor,G),c.arc(se,ke,S,0,Math.PI*2),c.fill();}c.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(B),t.current.animation.buttonIndex=b;}else {t.current.animation.id&&t.current.animation.buttonIndex===b&&(cancelAnimationFrame(t.current.animation.id),t.current.animation.id=null,t.current.animation.buttonIndex=null);let P=_?p.hoverImg:p.normalImg,S=p.getCount?p.getCount(e):null;P.complete?$(c,P,V,v,U,S,f.graph2D?.button?.textColor):P.onload=()=>{W.current&&$(c,P,V,v,U,S,f.graph2D?.button?.textColor);};}}c.restore();},[N,f.graph2D?.button]),K=useCallback(e=>{let c=oe();!c||c.length===0||(e.globalAlpha=1,c.forEach(d=>{let{x:l,y:h,color:y,fontColor:m,label:b}=d,T=t.current.highlightNodes.has(d)||d===t.current.hoveredNode||d===t.current.draggedNode,E=d===t.current.selectedNode,_=te.nodeSizeBase,U=te.nodeSizeBase/2;if(T&&!E){let H=te.nodeSizeBase*te.nodeAreaFactor*.75/2;e.beginPath(),e.arc(l,h,H,0,2*Math.PI,false),e.fillStyle=f.graph2D.ring.highlightFill,e.fill();}if(E)if(u&&u.length>0)A(d,e);else {let H=te.nodeSizeBase*te.nodeAreaFactor/2;e.beginPath(),e.arc(l,h,H,0,2*Math.PI,false),e.fillStyle=f.graph2D.ring.selectionFill||f.graph2D.ring.highlightFill,e.fill();}if(e.beginPath(),e.arc(l,h,U,0,2*Math.PI),e.fillStyle=y||Y(d.group||"0"),e.fill(),b){e.save(),e.translate(l,h);let H=t.current.transform.k,re=Re(H),V=_*te.textPaddingFactor;e.font=`${re}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle=m||"#000";let v=de(b,V,e);e.fillText(v,0,0),e.restore();}}));},[f.graph2D.ring,u,A]),B=useCallback(()=>{let e=W.current;e&&(e.clearRect(0,0,t.current.width,t.current.height),be(e),e.save(),e.setTransform(t.current.transform.k,0,0,t.current.transform.k,t.current.transform.x,t.current.transform.y),ve(e),K(e),e.restore());},[ve,K,be]),Q=useCallback((e,c=[],d)=>{let l=me()||[],h=oe()||[];if(!D.current||!e.length)return;let{width:y,height:m}=t.current,b=d?.smoothAppearance??false,T=d?.transitionDuration??1e3,E=new Set(h.map(p=>p.id)),_=e.filter(p=>!E.has(p.id)),U=new Set(l.map(p=>`${typeof p.source=="object"?p.source.id:p.source}-${typeof p.target=="object"?p.target.id:p.target}`)),H=c.filter(p=>{let P=`${typeof p.source=="object"?p.source.id:p.source}-${typeof p.target=="object"?p.target.id:p.target}`;return !U.has(P)});if(_.length===0&&H.length===0)return;let re=[...h,..._],V=[...l,...H];b&&(_.forEach(p=>{let P=H.filter(S=>{let j=typeof S.source=="object"?S.source.id:S.source,O=typeof S.target=="object"?S.target.id:S.target;return j===p.id&&E.has(O)||O===p.id&&E.has(j)});if(P.length>0){let S=P[0],j=typeof S.source=="object"?S.source.id===p.id?S.target:S.source.id:S.source===p.id?S.target:S.source,O=re.find(G=>G.id===j);if(O&&O.x!==void 0&&O.y!==void 0){let G=30+Math.random()*20,se=Math.random()*Math.PI*2;p.x=O.x+Math.cos(se)*G,p.y=O.y+Math.sin(se)*G,p.vx=0,p.vy=0;}}else {let S=y/2,j=m/2,O=Math.min(y,m)/4,G=Math.random()*Math.PI*2;p.x=S+Math.cos(G)*(O*Math.random()),p.y=j+Math.sin(G)*(O*Math.random()),p.vx=0,p.vy=0;}}),h.forEach(p=>{p.fx=p.x,p.fy=p.y;})),D.current.nodes(re);let v=D.current.force("link");v&&v.links(V),H.forEach(p=>{let P=typeof p.source=="object"?p.source:re.find(j=>j.id===p.source),S=typeof p.target=="object"?p.target:re.find(j=>j.id===p.target);!P||!S||(!P.neighbors&&(P.neighbors=[]),!S.neighbors&&(S.neighbors=[]),P.neighbors.push(S),S.neighbors.push(P),!P.links&&(P.links=[]),!S.links&&(S.links=[]),P.links.push(p),S.links.push(p));}),b?(D.current.alphaTarget(.3),D.current.alpha(.3),D.current.velocityDecay(.7),D.current.restart(),setTimeout(()=>{h.forEach(p=>{p.fx=void 0,p.fy=void 0;}),D.current?.alphaTarget(0),D.current?.alpha(.1),D.current?.velocityDecay(.6);},T)):D.current.alpha(.1).restart(),B();},[I,B]),ae=useCallback(e=>{let c=oe(),d=me();if(!D.current||!e.length||!c||c.length===0||!d||d.length===0)return;let l=new Set(e);if(t.current.selectedNode&&t.current.selectedNode.id!==void 0&&l.has(t.current.selectedNode.id)&&(t.current.selectedNode=null),t.current.hoveredNode&&t.current.hoveredNode.id!==void 0&&l.has(t.current.hoveredNode.id)&&(t.current.hoveredNode=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set),t.current.hoveredLink){let b=typeof t.current.hoveredLink.source=="object"?t.current.hoveredLink.source.id:t.current.hoveredLink.source,T=typeof t.current.hoveredLink.target=="object"?t.current.hoveredLink.target.id:t.current.hoveredLink.target;(b!==void 0&&l.has(b)||T!==void 0&&l.has(T))&&(t.current.hoveredLink=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set);}t.current.draggedNode&&t.current.draggedNode.id!==void 0&&l.has(t.current.draggedNode.id)&&(t.current.draggedNode=null);let h=c.filter(b=>b.id!==void 0&&!l.has(b.id)),y=d.filter(b=>{let T=typeof b.source=="object"?b.source.id:b.source,E=typeof b.target=="object"?b.target.id:b.target;return T!==void 0&&!l.has(T)&&E!==void 0&&!l.has(E)});h.forEach(b=>{b.neighbors=[],b.links=[];}),y.forEach(b=>{let T=typeof b.source=="object"?b.source:h.find(_=>_.id===b.source),E=typeof b.target=="object"?b.target:h.find(_=>_.id===b.target);!T||!E||(T.neighbors=T.neighbors||[],E.neighbors=E.neighbors||[],T.neighbors.push(E),E.neighbors.push(T),T.links=T.links||[],E.links=E.links||[],T.links.push(b),E.links.push(b));}),D.current.nodes(h);let m=D.current.force("link");m&&m.links(y),B();},[B]),ee=useCallback((e=0,c=20)=>{let d=oe();if(!W.current||!M.current||!d||!d.length)return;let h=1/0,y=1/0,m=-1/0,b=-1/0;if(d.forEach(T=>{if(T.x===void 0||T.y===void 0)return;let E=T.x,_=T.y;h=Math.min(h,E),y=Math.min(y,_),m=Math.max(m,E),b=Math.max(b,_);}),isFinite(h)&&isFinite(m)&&isFinite(y)&&isFinite(b)){let{width:T,height:E}=t.current;h-=c,y-=c,m+=c,b+=c;let _=m-h,U=b-y,H=_>0?T/_:1,re=U>0?E/U:1,V=Math.min(H,re,10),v=h+_/2,p=y+U/2,P={k:V,x:T/2-v*V,y:E/2-p*V};if(e>0){let S={...t.current.transform},j=Date.now(),O=a(()=>{let G=Math.min(1,(Date.now()-j)/e),se=G===1?1:1-Math.pow(1-G,3),ke={k:S.k+(P.k-S.k)*se,x:S.x+(P.x-S.x)*se,y:S.y+(P.y-S.y)*se};t.current.transform=ke,B(),G<1&&requestAnimationFrame(O);},"animateZoom");requestAnimationFrame(O);}else t.current.transform=P,B();}},[]),q=useCallback((e,c)=>{let d=oe();if(!d||d.length===0)return null;let l=te.nodeSizeBase/2,h=typeof window<"u"&&window.devicePixelRatio||1,y=(e*h-t.current.transform.x)/t.current.transform.k,m=(c*h-t.current.transform.y)/t.current.transform.k;return d.find(b=>{let T=(b.x||0)-y,E=(b.y||0)-m;return Math.sqrt(T*T+E*E)<=l})||null},[]),ne=useCallback((e,c)=>{let d=me(),l=oe();if(!d||d.length===0||!l||l.length===0)return null;let h=typeof window<"u"&&window.devicePixelRatio||1,y=(e*h-t.current.transform.x)/t.current.transform.k,m=(c*h-t.current.transform.y)/t.current.transform.k,b=5;return d.find(T=>{let E=typeof T.source=="object"?T.source:l.find(pe=>pe.id===T.source),_=typeof T.target=="object"?T.target:l.find(pe=>pe.id===T.target);if(!E||!_)return false;let U=E.x||0,H=E.y||0,re=_.x||0,V=_.y||0,v=y-U,p=m-H,P=re-U,S=V-H,j=v*P+p*S,O=P*P+S*S;if(O===0)return false;let G=j/O;G=Math.max(0,Math.min(1,G));let se=U+G*P,ke=H+G*S,Ee=y-se,Be=m-ke;return Math.sqrt(Ee*Ee+Be*Be)<=b})||null},[]),ie=useCallback((e,c,d,l,h,y,m)=>{let b=e-d,T=c-l,E=Math.sqrt(b*b+T*T),_=Math.atan2(T,b);_<0&&(_+=2*Math.PI);let re=E>=h*.5&&E<=h*1,V=false;return y===Math.PI&&m===Math.PI*2?V=_>=Math.PI&&_<=Math.PI*2:y===0&&m===Math.PI?V=_>=0&&_<=Math.PI:V=y<=m&&_>=y&&_<=m||y>m&&(_>=y||_<=m),re&&V},[]),ue=useCallback(e=>{if(e===t.current.hoveredNode)return;let c=new Set,d=new Set;e&&(c.add(e),e.neighbors&&e.neighbors.forEach(l=>c.add(l)),e.links&&e.links.forEach(l=>d.add(l))),t.current.hoveredNode=e,w&&w(e),t.current.highlightNodes=c,t.current.highlightLinks=d;},[w]),ye=useCallback(e=>{if(e===t.current.hoveredLink)return;let c=new Set,d=new Set;if(e){d.add(e);let l=oe();if(l){let h=typeof e.source=="object"?e.source:l.find(m=>m.id===e.source),y=typeof e.target=="object"?e.target:l.find(m=>m.id===e.target);h&&c.add(h),y&&c.add(y);}}t.current.hoveredLink=e,k&&k(e),t.current.highlightNodes=c,t.current.highlightLinks=d;},[k,oe]),we=useCallback(e=>{L&&L(e);},[L]),fe=useCallback(e=>{t.current.selectedNode=e,s&&s(e);},[s]),De=useCallback(()=>{t.current.selectedNode=null,g&&g();},[g]),Ie=useCallback(e=>{if(!M.current||!D.current)return;let c=M.current.getBoundingClientRect(),d=e.clientX-c.left,l=e.clientY-c.top;t.current.mouseStartPos={x:d,y:l},t.current.isDragging=false;let h=q(d,l);h?(t.current.draggedNode=h,h.fx=h.x,h.fy=h.y):(t.current.isPanning=true,t.current.lastMousePos={x:d,y:l});},[q]),We=useCallback((e,c)=>{let d=null;if(M.current&&t.current&&N.length>0){let l=te.nodeSizeBase*te.nodeAreaFactor/2,h=M.current.getBoundingClientRect(),y=M.current.width/h.width,m=M.current.height/h.height,b=e*y,T=c*m,E=(b-t.current.transform.x)/t.current.transform.k,_=(T-t.current.transform.y)/t.current.transform.k,U=t.current.selectedNode?.x||0,H=t.current.selectedNode?.y||0,re=Math.min(N.length,8),V=Math.min(Math.PI*2/re,Math.PI);for(let v=0;v<re;v++){let p=v*V,P=(v+1)*V;if(ie(E,_,U,H,l,p,P)){d=v;break}}}return d},[N]),Ne=useCallback(e=>{if(!M.current)return;let c=M.current.getBoundingClientRect(),d=e.clientX-c.left,l=e.clientY-c.top;if(t.current.draggedNode&&t.current.mouseStartPos&&D.current){let m=t.current.mouseStartPos.x,b=t.current.mouseStartPos.y,T=d-m,E=l-b;Math.sqrt(T*T+E*E)>3&&(t.current.isDragging=true,D.current.alphaTarget()===0&&D.current.alphaTarget(0).restart());let H=typeof window<"u"&&window.devicePixelRatio||1,re=(d*H-t.current.transform.x)/t.current.transform.k,V=(l*H-t.current.transform.y)/t.current.transform.k;t.current.draggedNode.fx=re,t.current.draggedNode.fy=V;return}if(t.current.isPanning&&t.current.mouseStartPos){let m=d-t.current.lastMousePos.x,b=l-t.current.lastMousePos.y,T=t.current.mouseStartPos.x,E=t.current.mouseStartPos.y;Math.sqrt(Math.pow(d-T,2)+Math.pow(l-E,2))>3&&(t.current.isDragging=true),t.current.transform={...t.current.transform,x:t.current.transform.x+m,y:t.current.transform.y+b},t.current.lastMousePos={x:d,y:l},B();return}let h,y;if(t.current.selectedNode&&M.current&&N.length>0){let m=We(d,l);m!==null&&(y=t.current.selectedNode),m!==t.current.hoveredButtonIndex&&(h=true),t.current.hoveredButtonIndex=m;}else t.current.hoveredButtonIndex!==null&&(t.current.hoveredButtonIndex=null);if(!y&&(y=q(d,l),!y)){let m=ne(d,l),b=m!==t.current.hoveredLink;if(m&&t.current.hoveredNode&&ue(null),ye(m),M.current&&(M.current.style.cursor=m?"pointer":"default"),b){B();return}}y&&t.current.hoveredLink&&ye(null),y!==t.current.hoveredNode&&(h=true),ue(y),M.current&&(M.current.style.cursor=y?"pointer":"default"),h&&B();},[N,q,ne,ue,ye,B,ie,We]),Ze=useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.stopPropagation(),e.preventDefault()),t.current.mustBeStoppedPropagation=false;},[]),$e=useCallback(e=>{let c=t.current.isDragging;if(c&&(t.current.mustBeStoppedPropagation=true),!c&&t.current.mouseStartPos){let d=M.current?.getBoundingClientRect();if(d){let l=e.clientX-d.left,h=e.clientY-d.top;N.length>0&&t.current.hoveredButtonIndex===null&&(t.current.hoveredButtonIndex=We(l,h));let y=false;if(t.current.selectedNode&&t.current.hoveredButtonIndex!==null&&u[t.current.hoveredButtonIndex]){let m=u[t.current.hoveredButtonIndex];m&&m.onClick&&(m.onClick(t.current.selectedNode),y=true,t.current.hoveredButtonIndex=null);}if(!y&&t.current.draggedNode)fe(t.current.draggedNode);else if(!y&&!t.current.draggedNode){let m=ne(l,h);m?we(m):De();}}}if(t.current.draggedNode&&D.current){if(c){D.current.alphaTarget(0);let d=.05,l=.04,h=.6;D.current.alpha(d).alphaDecay(l),D.current.velocityDecay(h);}else D.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),B();},[u,B,fe,De,ne,we,We,N]),ot=useCallback(e=>{if(e.stopPropagation(),e.preventDefault(),!M.current)return;let c=M.current.getBoundingClientRect(),d=e.clientX-c.left,l=e.clientY-c.top,y=-e.deltaY>0?1.1:1/1.1,m=t.current.transform,b=m.k*y;if(b<.01||b>10)return;let T=m.k*y,E=d-(d-m.x)*y,_=l-(l-m.y)*y;t.current.transform={k:T,x:E,y:_},B();},[B]),je=a((e,c)=>{let d=e.touches[0];if(d){let l={clientX:d.clientX,clientY:d.clientY};c(l);}},"convertTouchToMouseEvent"),nt=useCallback(e=>{je(e,Ie);},[Ie]),Ve=useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.preventDefault(),e.stopPropagation()),t.current.mustBeStoppedPropagation=false,je(e,$e);},[$e]),et=useCallback(e=>{je(e,Ne);},[Ne]);return useImperativeHandle(R,()=>({zoomToFit:ee,addNodes:Q,removeNodes:ae}),[ee,Q,ae]),useEffect(()=>{let e=M.current,{width:c,height:d}=t.current;if(!e)return;Z(),F(true);let l=c/2,h=d/2,y=te.nodeSizeBase,m=y/2,b=y*2.5;D.current&&D.current.stop();let T=D.current=forceSimulation(I).force("link",forceLink(x).id(E=>E.id).distance(b).strength(.9)).force("charge",forceManyBody().strength(-y/10*200).theta(.5).distanceMin(y*2)).force("x",forceX().strength(.03)).force("y",forceY().strength(.03)).force("center",forceCenter(l,h).strength(.05)).force("collide",forceCollide().radius(m*2).iterations(2).strength(1)).velocityDecay(.6);return ()=>{T.stop();}},[I,x]),useLayoutEffect(()=>{let e=M.current;e&&(t.current.width=o*yt,t.current.height=n*yt,e.width=t.current.width,e.height=t.current.height);},[o,n]),useEffect(()=>{if(D.current){let e=D.current;e.on("tick",()=>{B();}),e.on("end",()=>{z&&(ee(0,20),setTimeout(()=>{F(false);},200));});}z||B();},[I,x,z,B,ee]),useEffect(()=>{!I||!x||x.forEach(e=>{let c=typeof e.source=="object"?e.source:I.find(l=>l.id===e.source),d=typeof e.target=="object"?e.target:I.find(l=>l.id===e.target);!c||!d||(!c.neighbors&&(c.neighbors=[]),!d.neighbors&&(d.neighbors=[]),c.neighbors.push(d),d.neighbors.push(c),!c.links&&(c.links=[]),!d.links&&(d.links=[]),c.links.push(e),d.links.push(e));});},[I,x]),useEffect(()=>{u&&u.length>0&&C(Wo(u));},[u]),useEffect(()=>{let e=M.current;if(!(!e||typeof window>"u"))return e.addEventListener("wheel",ot,{passive:false}),e.addEventListener("touchend",Ve,{passive:false}),()=>{e.removeEventListener("wheel",ot),e.removeEventListener("touchend",Ve);}},[ot,Ve]),jsxs(Xo,{children:[(r||z)&&jsx(gr,{width:o,height:n}),jsx(Yo,{ref:M,style:{width:o,height:n,display:r||z?"none":"block"},onMouseDown:Ie,onMouseMove:Ne,onMouseUp:$e,onMouseLeave:$e,onClick:Ze,onTouchStart:nt,onTouchMove:et})]})}),Xo=styled.div`
48
48
  display: flex;
49
49
  align-items: center;
50
50
  justify-content: center;
@@ -63,7 +63,7 @@ ${r?`
63
63
  `:""}
64
64
 
65
65
  min-width: 0;
66
- `);var Ko=[.1,.25,.5,.75,1,1.5,2,3,4,5],Jo=5,Qo=.1,en=140;function wt(r,o,n,a){return {x:r<n?(n-r)/2:0,y:o<a?(a-o)/2:0}}a(wt,"computePadding");var vr=a(({url:r,alt:o="image",naturalWidth:n,naturalHeight:a$1,zoomSteps:u=Ko,maxZoom:s=Jo,minZoom:g=Qo,showMinimap:w=true,minimapWidth:x=en,className:L,onZoomChange:R})=>{let[f,z$1]=useState("adaptive"),[j,t]=useState(1),[I,k]=useState(0),[N,C]=useState(false),M=useRef(false),[D,W]=useState(false),[Y,Z]=useState(false),[oe,me]=useState({left:0,top:0}),be=useRef(0),[de,Re]=useState({width:0,height:0}),ve=useRef({width:0,height:0}),$=useRef(null),A=useRef(null),K=useRef({x:0,y:0,scrollLeft:0,scrollTop:0}),B=useRef(f),Q=useRef(j),ae=useRef(R);B.current=f,Q.current=j,ae.current=R;let ee=n||ve.current.width,q=a$1||ve.current.height,ne=useMemo(()=>[...u].sort((v,p)=>v-p),[u]),ie=useCallback(()=>de.width===0||ee===0?1:Math.min(de.width/ee,de.height/q,1),[de,ee,q]),ue=useCallback((v,p)=>{if(p==="in"){let S=ne.find(F=>F>v+.001);return S!==void 0?Math.min(S,s):v}let P=ne.findLast(S=>S<v-.001);return P!==void 0?Math.max(P,g):v},[ne,s,g]),ye=useCallback(()=>B.current==="adaptive"?ie():Q.current,[ie]),we=useCallback(v=>{z$1("manual"),t(v),ae.current?.(v,"manual");},[]),fe=useCallback(()=>{z$1("adaptive"),ae.current?.(ie(),"adaptive");},[ie]),De=useCallback(v=>{requestAnimationFrame(()=>{let p=A.current;if(!p)return;let P=p.getBoundingClientRect(),S=ee*v,F=q*v,O=wt(S,F,P.width,P.height);p.scrollLeft=S/2+O.x-P.width/2,p.scrollTop=F/2+O.y-P.height/2;});},[ee,q]);useEffect(()=>{z$1("adaptive"),t(1),k(0),W(false),Z(false),ve.current={width:0,height:0};},[r]),useEffect(()=>{let v=A.current;if(!v)return;let p=new ResizeObserver(P=>{let S=P[0];if(!S)return;let{width:F,height:O}=S.contentRect;Re(G=>G.width===F&&G.height===O?G:{width:F,height:O});});return p.observe(v),()=>p.disconnect()},[]),useEffect(()=>{let v=A.current;if(!v)return;let p=a(()=>{cancelAnimationFrame(be.current),be.current=requestAnimationFrame(()=>{let P=v.scrollLeft,S=v.scrollTop;me(F=>F.left===P&&F.top===S?F:{left:P,top:S});});},"handleScroll");return v.addEventListener("scroll",p,{passive:true}),()=>{v.removeEventListener("scroll",p),cancelAnimationFrame(be.current);}},[]),useEffect(()=>{let v=A.current;if(!v||!D)return;let p=a(P=>{if(!(P.ctrlKey||P.metaKey))return;P.preventDefault();let S=ye(),F=P.deltaY>0?"out":"in",O=ue(S,F),G=ie();if(F==="out"&&O<=G){fe();return}let se=v.getBoundingClientRect(),ke,Ee,Be=ve.current.width||1,Ce=ve.current.height||1;if(B.current==="adaptive"){let pe=$.current;if(!pe)return;let Me=pe.getBoundingClientRect();ke=(P.clientX-Me.left)/(Me.width/Be),Ee=(P.clientY-Me.top)/(Me.height/Ce);}else {let pe=Be*S,Me=Ce*S,at=wt(pe,Me,se.width,se.height);ke=(v.scrollLeft+P.clientX-se.left-at.x)/S,Ee=(v.scrollTop+P.clientY-se.top-at.y)/S;}we(O),requestAnimationFrame(()=>{let pe=v.getBoundingClientRect(),Me=wt(Be*O,Ce*O,pe.width,pe.height);v.scrollLeft=ke*O+Me.x-(P.clientX-pe.left),v.scrollTop=Ee*O+Me.y-(P.clientY-pe.top);});},"handleWheel");return v.addEventListener("wheel",p,{passive:false}),()=>v.removeEventListener("wheel",p)},[D,ye,ue,ie,we,fe]),useEffect(()=>{if(f!=="manual")return;let v=A.current;if(!v)return;let p=a(F=>{F.button===0&&(F.preventDefault(),M.current=true,C(true),K.current={x:F.clientX,y:F.clientY,scrollLeft:v.scrollLeft,scrollTop:v.scrollTop});},"handleMouseDown"),P=a(F=>{if(!M.current)return;let{x:O,y:G,scrollLeft:se,scrollTop:ke}=K.current;v.scrollLeft=se-(F.clientX-O),v.scrollTop=ke-(F.clientY-G);},"handleMouseMove"),S=a(()=>{M.current=false,C(false);},"handleMouseUp");return v.addEventListener("mousedown",p),window.addEventListener("mousemove",P),window.addEventListener("mouseup",S),()=>{v.removeEventListener("mousedown",p),window.removeEventListener("mousemove",P),window.removeEventListener("mouseup",S);}},[f]);let Ie=useCallback(()=>{f==="manual"&&fe();},[f,fe]),We=useCallback(()=>{let v=ye(),p=ue(v,"in");p!==v&&(we(p),De(p));},[ye,ue,we,De]),Ne=useCallback(()=>{let v=ye(),p=ue(v,"out");if(p<=ie()){fe();return}we(p),De(p);},[ye,ue,ie,fe,we,De]),Ze=useCallback(()=>{we(1),De(1);},[we,De]),$e=useCallback(()=>{k(v=>(v+90)%360);},[]),ot=useCallback(()=>{let v=$.current;v&&(ve.current={width:v.naturalWidth,height:v.naturalHeight},W(true),Z(false));},[]),Fe=f==="adaptive"?ie():j,nt=ee*Fe,Ve=q*Fe,et=de.width,e=de.height,c=f==="manual"?wt(nt,Ve,et,e):{x:0,y:0},d=w&&f==="manual"&&(nt>et||Ve>e),l=ee>0?x/ee:0,h=q*l,y=et>0?et/j*l:0,m=e>0?e/j*l:0,b=Math.max(0,oe.left-c.x)/j*l,T=Math.max(0,oe.top-c.y)/j*l,E=f==="adaptive"?"Fit":`${Math.round(j*100)}%`,_=ue(Fe,"in")!==Fe,U=f==="manual"||Fe>g,H=I!==0?{transform:`rotate(${I}deg)`}:{},re=f==="adaptive"?{maxWidth:"100%",maxHeight:"100%",objectFit:"contain",...H}:{width:nt,height:Ve,maxWidth:"none",maxHeight:"none",marginLeft:c.x,marginTop:c.y,flexShrink:0,...H},V={cursor:f==="manual"?N?"grabbing":"grab":"default"};return jsxs("div",{className:`h-full w-full flex flex-col min-h-0 min-w-0 overflow-hidden ${L??""}`,children:[jsxs("div",{className:"flex w-full items-center px-8.5 py-3 gap-1 shrink-0 flex-wrap",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsx(Ra,{style:{width:20,height:20}}),onClick:Ne,disabled:!U,p:7,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]!"}),jsx("button",{type:"button",onClick:f==="manual"?fe:void 0,className:"flex items-center justify-center bg-white dark:bg-neutral-800 h-[38px] min-w-16 px-3 select-none border border-gray-300 dark:border-neutral-600 rounded-md","aria-label":E,children:jsx(_a,{style:{fontSize:12,fontWeight:500},children:E})}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(na,{style:{width:14,height:14}}),onClick:We,disabled:!_,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]!",p:10}),jsx(z,{variant:"outlined","aria-label":"rotate-right",size:"small",color:"default",icon:jsx(Na,{style:{width:16,height:16}}),onClick:$e,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]! ml-auto",p:10}),jsx(z,{variant:"outlined","aria-label":"fit-to-container",size:"small",color:f==="adaptive"?"primary":"default",icon:jsx(sa,{style:{width:14,height:14}}),onClick:fe,className:`${f==="adaptive"?"bg-blue-50!":"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!"} h-[38px]!`,p:10}),jsx(z,{variant:"outlined","aria-label":"original-size",size:"small",color:f==="manual"&&j===1?"primary":"default",onClick:Ze,className:`${f==="manual"&&j===1?"bg-blue-50!":"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!"} h-[38px]!`,py:10,px:11,children:jsx(_a,{style:{fontSize:12,fontWeight:500,lineHeight:1},children:"1:1"})})]}),jsxs("div",{className:"flex-1 min-h-0 min-w-0 relative",children:[jsx("div",{ref:A,className:`h-full w-full ${f==="adaptive"?"flex items-center justify-center overflow-hidden":"overflow-auto"}`,style:V,onDoubleClick:Ie,children:Y?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx(_a,{color:"text.lighter",children:"Failed to load image"})}):jsx("img",{ref:$,src:r,alt:o,draggable:false,className:"block select-none",style:re,onLoad:ot,onError:()=>Z(true)})}),d&&jsxs("div",{className:"absolute bottom-3 right-3 rounded-lg overflow-hidden shadow-lg pointer-events-none",style:{width:x,height:h,backdropFilter:"blur(8px)",background:"rgba(255,255,255,0.75)"},children:[jsx("img",{src:r,alt:"",draggable:false,className:"block w-full h-full object-contain"}),jsx("div",{className:"absolute border-2 border-blue-500 rounded-sm",style:{width:Math.min(y,x),height:Math.min(m,h),left:Math.max(0,Math.min(b,x-y)),top:Math.max(0,Math.min(T,h-m)),background:"rgba(59,130,246,0.1)"}})]})]})]})},"ImageDriver");var wr=a(({url:r})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full py-5.5 px-8.5",children:jsx("audio",{controls:true,src:r,className:"w-full"})}),"AudioDriver");var At=a(({url:r})=>{let[o,n]=useState(null),[a$1,u]=useState(false),[s,g]=useState(true),[w,x]=useState(null);return useEffect(()=>{u(true);},[]),useEffect(()=>{if(!a$1)return;a(async()=>{try{let R=await import('./PdfDriver-MGKDGHEQ.mjs');n(()=>R.PdfDriver),g(!1);}catch(R){console.error("Failed to load PDF driver:",R),x("Failed to load PDF viewer"),g(false);}},"loadPdfDriver")();},[a$1]),a$1?s?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading PDF viewer..."})}):w||!o?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:w||"PDF viewer unavailable"})})}):jsx(o,{url:r}):jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading PDF viewer..."})})},"PdfDriverWrapper");var Sr=50,on=1e4,Dr=a(({url:r,blob:o})=>{let n=useRef(null),a$1=useRef(null),[u,s]=useState(null),[g,w]=useState(true),[x,L]=useState(1),R=useRef(false),[f,z$1]=useState({width:0,height:0}),j=useRef(0),t=a(()=>{R.current=true,L(k=>Math.min(k+.25,4));},"handleZoomIn"),I=a(()=>{R.current=true,L(k=>Math.max(k-.25,.25));},"handleZoomOut");return useEffect(()=>{a(async()=>{if(a$1.current)try{w(!0),s(null);let N=o;if(!N&&r&&(N=await(await fetch(r)).blob()),!N){s("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(N.size/(1024*1024)>Sr){s(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${Sr} \u041C\u0411)`);return}a$1.current.innerHTML="";let M=renderAsync(N,a$1.current,void 0,{debug:!0,experimental:!0,hideWrapperOnPrint:!0,breakPages:!0,ignoreLastRenderedPageBreak:!1}),D=new Promise((Y,Z)=>setTimeout(()=>Z(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")),on));await Promise.race([M,D]),await new Promise(Y=>requestAnimationFrame(Y));let W=a$1.current.querySelector(".docx-wrapper");if(W&&(j.current=W.offsetWidth,z$1({width:W.offsetWidth,height:W.offsetHeight})),n.current&&j.current>0){let Y=n.current.clientWidth,Z=Math.min(Y/j.current,1);L(Z);}w(!1);}catch(N){s(N?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B"),w(false);}},"renderDocument")();},[r,o]),useEffect(()=>{if(!n.current)return;let k=rn(C=>{if(!(R.current||j.current===0))for(let M of C){let D=M.contentRect.width,W=Math.min(D/j.current,1);L(W);}},150),N=new ResizeObserver(k);return N.observe(n.current),()=>{N.disconnect(),k.cancel();}},[]),jsxs("div",{className:"h-full w-full flex flex-col px-0.5",children:[jsxs("div",{className:"flex justify-center items-stretch px-8 py-3 gap-1 border-b border-gray-200 dark:border-neutral-700",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsx(Ra,{style:{width:20,height:20}}),onClick:I,disabled:x<=.25,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:7}),jsxs(rb,{py:8,px:8,className:"flex items-center justify-between gap-1.5 min-w-21 rounded-[5px]!",children:[jsx(_a,{color:"text.lighter",style:{fontSize:10},children:"Scale:"}),jsxs(_a,{children:[Math.round(x*100),"%"]})]}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(na,{style:{width:14,height:14}}),onClick:t,disabled:x>=4,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:10})]}),!!u&&!g&&jsx("div",{className:"text-red-500 p-8",children:u}),g&&jsx("div",{className:"flex items-center justify-center p-8",children:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F..."}),jsx("div",{ref:n,className:"w-full h-full overflow-auto bg-gray-400 dark:bg-neutral-700 [&::-webkit-scrollbar-thumb]:bg-gray-100 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-600 [&::-webkit-scrollbar-track]:bg-gray-400 dark:[&::-webkit-scrollbar-track]:bg-neutral-700",style:{scrollbarGutter:"stable both-edges"},children:jsx("div",{style:{width:f.width>0?f.width*x:void 0,height:f.height>0?f.height*x:void 0,overflow:"hidden",margin:"0 auto"},children:jsx("div",{ref:a$1,className:`[&>div.docx-wrapper_table_*]:wrap-break-word!
66
+ `);var Ko=[.1,.25,.5,.75,1,1.5,2,3,4,5],Jo=5,Qo=.1,en=140;function wt(r,o,n,a){return {x:r<n?(n-r)/2:0,y:o<a?(a-o)/2:0}}a(wt,"computePadding");var vr=a(({url:r,alt:o="image",naturalWidth:n,naturalHeight:a$1,zoomSteps:u=Ko,maxZoom:s=Jo,minZoom:g=Qo,showMinimap:w=true,minimapWidth:k=en,className:L,onZoomChange:R})=>{let[f,z$1]=useState("adaptive"),[F,t]=useState(1),[I,x]=useState(0),[N,C]=useState(false),M=useRef(false),[D,W]=useState(false),[Y,Z]=useState(false),[oe,me]=useState({left:0,top:0}),be=useRef(0),[de,Re]=useState({width:0,height:0}),ve=useRef({width:0,height:0}),$=useRef(null),A=useRef(null),K=useRef({x:0,y:0,scrollLeft:0,scrollTop:0}),B=useRef(f),Q=useRef(F),ae=useRef(R);B.current=f,Q.current=F,ae.current=R;let ee=n||ve.current.width,q=a$1||ve.current.height,ne=useMemo(()=>[...u].sort((v,p)=>v-p),[u]),ie=useCallback(()=>de.width===0||ee===0?1:Math.min(de.width/ee,de.height/q,1),[de,ee,q]),ue=useCallback((v,p)=>{if(p==="in"){let S=ne.find(j=>j>v+.001);return S!==void 0?Math.min(S,s):v}let P=ne.findLast(S=>S<v-.001);return P!==void 0?Math.max(P,g):v},[ne,s,g]),ye=useCallback(()=>B.current==="adaptive"?ie():Q.current,[ie]),we=useCallback(v=>{z$1("manual"),t(v),ae.current?.(v,"manual");},[]),fe=useCallback(()=>{z$1("adaptive"),ae.current?.(ie(),"adaptive");},[ie]),De=useCallback(v=>{requestAnimationFrame(()=>{let p=A.current;if(!p)return;let P=p.getBoundingClientRect(),S=ee*v,j=q*v,O=wt(S,j,P.width,P.height);p.scrollLeft=S/2+O.x-P.width/2,p.scrollTop=j/2+O.y-P.height/2;});},[ee,q]);useEffect(()=>{z$1("adaptive"),t(1),x(0),W(false),Z(false),ve.current={width:0,height:0};},[r]),useEffect(()=>{let v=A.current;if(!v)return;let p=new ResizeObserver(P=>{let S=P[0];if(!S)return;let{width:j,height:O}=S.contentRect;Re(G=>G.width===j&&G.height===O?G:{width:j,height:O});});return p.observe(v),()=>p.disconnect()},[]),useEffect(()=>{let v=A.current;if(!v)return;let p=a(()=>{cancelAnimationFrame(be.current),be.current=requestAnimationFrame(()=>{let P=v.scrollLeft,S=v.scrollTop;me(j=>j.left===P&&j.top===S?j:{left:P,top:S});});},"handleScroll");return v.addEventListener("scroll",p,{passive:true}),()=>{v.removeEventListener("scroll",p),cancelAnimationFrame(be.current);}},[]),useEffect(()=>{let v=A.current;if(!v||!D)return;let p=a(P=>{if(!(P.ctrlKey||P.metaKey))return;P.preventDefault();let S=ye(),j=P.deltaY>0?"out":"in",O=ue(S,j),G=ie();if(j==="out"&&O<=G){fe();return}let se=v.getBoundingClientRect(),ke,Ee,Be=ve.current.width||1,Ce=ve.current.height||1;if(B.current==="adaptive"){let pe=$.current;if(!pe)return;let Me=pe.getBoundingClientRect();ke=(P.clientX-Me.left)/(Me.width/Be),Ee=(P.clientY-Me.top)/(Me.height/Ce);}else {let pe=Be*S,Me=Ce*S,at=wt(pe,Me,se.width,se.height);ke=(v.scrollLeft+P.clientX-se.left-at.x)/S,Ee=(v.scrollTop+P.clientY-se.top-at.y)/S;}we(O),requestAnimationFrame(()=>{let pe=v.getBoundingClientRect(),Me=wt(Be*O,Ce*O,pe.width,pe.height);v.scrollLeft=ke*O+Me.x-(P.clientX-pe.left),v.scrollTop=Ee*O+Me.y-(P.clientY-pe.top);});},"handleWheel");return v.addEventListener("wheel",p,{passive:false}),()=>v.removeEventListener("wheel",p)},[D,ye,ue,ie,we,fe]),useEffect(()=>{if(f!=="manual")return;let v=A.current;if(!v)return;let p=a(j=>{j.button===0&&(j.preventDefault(),M.current=true,C(true),K.current={x:j.clientX,y:j.clientY,scrollLeft:v.scrollLeft,scrollTop:v.scrollTop});},"handleMouseDown"),P=a(j=>{if(!M.current)return;let{x:O,y:G,scrollLeft:se,scrollTop:ke}=K.current;v.scrollLeft=se-(j.clientX-O),v.scrollTop=ke-(j.clientY-G);},"handleMouseMove"),S=a(()=>{M.current=false,C(false);},"handleMouseUp");return v.addEventListener("mousedown",p),window.addEventListener("mousemove",P),window.addEventListener("mouseup",S),()=>{v.removeEventListener("mousedown",p),window.removeEventListener("mousemove",P),window.removeEventListener("mouseup",S);}},[f]);let Ie=useCallback(()=>{f==="manual"&&fe();},[f,fe]),We=useCallback(()=>{let v=ye(),p=ue(v,"in");p!==v&&(we(p),De(p));},[ye,ue,we,De]),Ne=useCallback(()=>{let v=ye(),p=ue(v,"out");if(p<=ie()){fe();return}we(p),De(p);},[ye,ue,ie,fe,we,De]),Ze=useCallback(()=>{we(1),De(1);},[we,De]),$e=useCallback(()=>{x(v=>(v+90)%360);},[]),ot=useCallback(()=>{let v=$.current;v&&(ve.current={width:v.naturalWidth,height:v.naturalHeight},W(true),Z(false));},[]),je=f==="adaptive"?ie():F,nt=ee*je,Ve=q*je,et=de.width,e=de.height,c=f==="manual"?wt(nt,Ve,et,e):{x:0,y:0},d=w&&f==="manual"&&(nt>et||Ve>e),l=ee>0?k/ee:0,h=q*l,y=et>0?et/F*l:0,m=e>0?e/F*l:0,b=Math.max(0,oe.left-c.x)/F*l,T=Math.max(0,oe.top-c.y)/F*l,E=f==="adaptive"?"Fit":`${Math.round(F*100)}%`,_=ue(je,"in")!==je,U=f==="manual"||je>g,H=I!==0?{transform:`rotate(${I}deg)`}:{},re=f==="adaptive"?{maxWidth:"100%",maxHeight:"100%",objectFit:"contain",...H}:{width:nt,height:Ve,maxWidth:"none",maxHeight:"none",marginLeft:c.x,marginTop:c.y,flexShrink:0,...H},V={cursor:f==="manual"?N?"grabbing":"grab":"default"};return jsxs("div",{className:`h-full w-full flex flex-col min-h-0 min-w-0 overflow-hidden ${L??""}`,children:[jsxs("div",{className:"flex w-full items-center px-8.5 py-3 gap-1 shrink-0 flex-wrap",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsx(Ra,{style:{width:20,height:20}}),onClick:Ne,disabled:!U,p:7,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]!"}),jsx("button",{type:"button",onClick:f==="manual"?fe:void 0,className:"flex items-center justify-center bg-white dark:bg-neutral-800 h-[38px] min-w-16 px-3 select-none border border-gray-300 dark:border-neutral-600 rounded-md","aria-label":E,children:jsx(_a,{style:{fontSize:12,fontWeight:500},children:E})}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(na,{style:{width:14,height:14}}),onClick:We,disabled:!_,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]!",p:10}),jsx(z,{variant:"outlined","aria-label":"rotate-right",size:"small",color:"default",icon:jsx(Na,{style:{width:16,height:16}}),onClick:$e,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]! ml-auto",p:10}),jsx(z,{variant:"outlined","aria-label":"fit-to-container",size:"small",color:f==="adaptive"?"primary":"default",icon:jsx(sa,{style:{width:14,height:14}}),onClick:fe,className:`${f==="adaptive"?"bg-blue-50!":"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!"} h-[38px]!`,p:10}),jsx(z,{variant:"outlined","aria-label":"original-size",size:"small",color:f==="manual"&&F===1?"primary":"default",onClick:Ze,className:`${f==="manual"&&F===1?"bg-blue-50!":"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!"} h-[38px]!`,py:10,px:11,children:jsx(_a,{style:{fontSize:12,fontWeight:500,lineHeight:1},children:"1:1"})})]}),jsxs("div",{className:"flex-1 min-h-0 min-w-0 relative",children:[jsx("div",{ref:A,className:`h-full w-full ${f==="adaptive"?"flex items-center justify-center overflow-hidden":"overflow-auto"}`,style:V,onDoubleClick:Ie,children:Y?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx(_a,{color:"text.lighter",children:"Failed to load image"})}):jsx("img",{ref:$,src:r,alt:o,draggable:false,className:"block select-none",style:re,onLoad:ot,onError:()=>Z(true)})}),d&&jsxs("div",{className:"absolute bottom-3 right-3 rounded-lg overflow-hidden shadow-lg pointer-events-none",style:{width:k,height:h,backdropFilter:"blur(8px)",background:"rgba(255,255,255,0.75)"},children:[jsx("img",{src:r,alt:"",draggable:false,className:"block w-full h-full object-contain"}),jsx("div",{className:"absolute border-2 border-blue-500 rounded-sm",style:{width:Math.min(y,k),height:Math.min(m,h),left:Math.max(0,Math.min(b,k-y)),top:Math.max(0,Math.min(T,h-m)),background:"rgba(59,130,246,0.1)"}})]})]})]})},"ImageDriver");var wr=a(({url:r})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full py-5.5 px-8.5",children:jsx("audio",{controls:true,src:r,className:"w-full"})}),"AudioDriver");var At=a(({url:r})=>{let[o,n]=useState(null),[a$1,u]=useState(false),[s,g]=useState(true),[w,k]=useState(null);return useEffect(()=>{u(true);},[]),useEffect(()=>{if(!a$1)return;a(async()=>{try{let R=await import('./PdfDriver-MGKDGHEQ.mjs');n(()=>R.PdfDriver),g(!1);}catch(R){console.error("Failed to load PDF driver:",R),k("Failed to load PDF viewer"),g(false);}},"loadPdfDriver")();},[a$1]),a$1?s?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading PDF viewer..."})}):w||!o?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:w||"PDF viewer unavailable"})})}):jsx(o,{url:r}):jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading PDF viewer..."})})},"PdfDriverWrapper");var Sr=50,on=1e4,Dr=a(({url:r,blob:o})=>{let n=useRef(null),a$1=useRef(null),[u,s]=useState(null),[g,w]=useState(true),[k,L]=useState(1),R=useRef(false),[f,z$1]=useState({width:0,height:0}),F=useRef(0),t=a(()=>{R.current=true,L(x=>Math.min(x+.25,4));},"handleZoomIn"),I=a(()=>{R.current=true,L(x=>Math.max(x-.25,.25));},"handleZoomOut");return useEffect(()=>{a(async()=>{if(a$1.current)try{w(!0),s(null);let N=o;if(!N&&r&&(N=await(await fetch(r)).blob()),!N){s("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(N.size/(1024*1024)>Sr){s(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${Sr} \u041C\u0411)`);return}a$1.current.innerHTML="";let M=renderAsync(N,a$1.current,void 0,{debug:!0,experimental:!0,hideWrapperOnPrint:!0,breakPages:!0,ignoreLastRenderedPageBreak:!1}),D=new Promise((Y,Z)=>setTimeout(()=>Z(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")),on));await Promise.race([M,D]),await new Promise(Y=>requestAnimationFrame(Y));let W=a$1.current.querySelector(".docx-wrapper");if(W&&(F.current=W.offsetWidth,z$1({width:W.offsetWidth,height:W.offsetHeight})),n.current&&F.current>0){let Y=n.current.clientWidth,Z=Math.min(Y/F.current,1);L(Z);}w(!1);}catch(N){s(N?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B"),w(false);}},"renderDocument")();},[r,o]),useEffect(()=>{if(!n.current)return;let x=rn(C=>{if(!(R.current||F.current===0))for(let M of C){let D=M.contentRect.width,W=Math.min(D/F.current,1);L(W);}},150),N=new ResizeObserver(x);return N.observe(n.current),()=>{N.disconnect(),x.cancel();}},[]),jsxs("div",{className:"h-full w-full flex flex-col px-0.5",children:[jsxs("div",{className:"flex justify-center items-stretch px-8 py-3 gap-1 border-b border-gray-200 dark:border-neutral-700",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsx(Ra,{style:{width:20,height:20}}),onClick:I,disabled:k<=.25,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:7}),jsxs(rb,{py:8,px:8,className:"flex items-center justify-between gap-1.5 min-w-21 rounded-[5px]!",children:[jsx(_a,{color:"text.lighter",style:{fontSize:10},children:"Scale:"}),jsxs(_a,{children:[Math.round(k*100),"%"]})]}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(na,{style:{width:14,height:14}}),onClick:t,disabled:k>=4,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:10})]}),!!u&&!g&&jsx("div",{className:"text-red-500 p-8",children:u}),g&&jsx("div",{className:"flex items-center justify-center p-8",children:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F..."}),jsx("div",{ref:n,className:"w-full h-full overflow-auto bg-gray-400 dark:bg-neutral-700 [&::-webkit-scrollbar-thumb]:bg-gray-100 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-600 [&::-webkit-scrollbar-track]:bg-gray-400 dark:[&::-webkit-scrollbar-track]:bg-neutral-700",style:{scrollbarGutter:"stable both-edges"},children:jsx("div",{style:{width:f.width>0?f.width*k:void 0,height:f.height>0?f.height*k:void 0,overflow:"hidden",margin:"0 auto"},children:jsx("div",{ref:a$1,className:`[&>div.docx-wrapper_table_*]:wrap-break-word!
67
67
  [&>div.docx-wrapper_table]:table-fixed!
68
68
  [&>div.docx-wrapper_table_td]:w-fit!
69
69
  [&>div.docx-wrapper_table_col]:w-fit!
@@ -79,11 +79,11 @@ ${r?`
79
79
  [&>div.docx-wrapper]:box-border
80
80
  [&>div.docx-wrapper]:min-w-fit!
81
81
  [&>div.docx-wrapper]:w-full!
82
- [&>div.docx-wrapper]:min-h-full`,style:{boxSizing:"border-box",wordBreak:"break-word",overflowWrap:"break-word",transform:`scale(${x})`,transformOrigin:"top left"}})})})]})},"DocxDriver");var yn=a(r=>({js:[javascript({jsx:false})],jsx:[javascript({jsx:true})],ts:[javascript({typescript:true,jsx:false})],tsx:[javascript({typescript:true,jsx:true})],json:[json()],html:[html()],css:[css()],scss:[css()],py:[python()],java:[java()],cpp:[cpp()],c:[cpp()],php:[php()],rs:[rust()],xml:[xml()],yaml:[yaml()],yml:[yaml()],md:[markdown()],sql:[sql()],sh:[markdown()],bash:[markdown()]})[r]||[],"getLanguageExtension");function wn(){let[r,o]=useState(()=>typeof document<"u"?document.documentElement.classList.contains("dark"):false);return useEffect(()=>{let n=new MutationObserver(()=>{o(document.documentElement.classList.contains("dark"));});return n.observe(document.documentElement,{attributes:true,attributeFilter:["class"]}),()=>n.disconnect()},[]),r}a(wn,"useIsDarkMode");var Tr=a(({url:r,extension:o})=>{let[n,a$1]=useState(""),[u,s]=useState(true),[g,w]=useState(null),[x,L]=useState(0),R=useRef(null),f=wn();if(useEffect(()=>{a(async()=>{try{s(!0),w(null);let I=await fetch(r);if(!I.ok)throw new Error(`Failed to load file: ${I.statusText}`);let k=await I.text();if(o==="json")try{k=JSON.stringify(JSON.parse(k),null,2);}catch{}a$1(k);}catch(I){w(I instanceof Error?I.message:"Failed to load text content");}finally{s(false);}},"loadTextContent")();},[r]),useEffect(()=>{let t=a(()=>{if(R.current){let I=R.current.clientHeight;L(I);}},"updateHeight");return t(),window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t);}},[u]),u)return jsx("div",{className:"flex items-center justify-center p-8.5",children:jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading text content..."})});if(g)return jsx("div",{className:"flex items-center justify-center p-8.5",children:jsxs("div",{className:"text-red-500",children:["Error: ",g]})});if(o==="md")return jsx("div",{ref:R,className:"h-full w-full overflow-auto p-5 prose dark:prose-invert max-w-[100%] select-text prose-table px-8.5",style:{wordBreak:"break-word"},children:jsx(bn,{remarkPlugins:[vn],children:n})});let j=yn(o);return jsx("div",{ref:R,className:"h-full w-full",children:x>0&&jsx(an,{value:n,theme:f?vscodeDark:vscodeLight,extensions:j,editable:false,height:`${x}px`,basicSetup:{lineNumbers:true,highlightActiveLineGutter:false,highlightActiveLine:false,foldGutter:true,dropCursor:false,indentOnInput:false,syntaxHighlighting:true,bracketMatching:true,closeBrackets:false,autocompletion:false,rectangularSelection:false,crosshairCursor:false,highlightSelectionMatches:false,closeBracketsKeymap:false,searchKeymap:false,foldKeymap:true,completionKeymap:false,lintKeymap:false}})})},"TextDriver");var Nr=a(({url:r})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full px-8.5",children:jsx("video",{controls:true,src:r,className:"w-full max-h-full"})}),"VideoDriver");var Pt=class{static{a(this,"LruChunkCache");}cache=new Map;pinned=new Set;maxSize;constructor(o=8){this.maxSize=o;}get(o){let n=this.cache.get(o);return n!==void 0&&(this.cache.delete(o),this.cache.set(o,n)),n}set(o,n){if(this.cache.delete(o),this.cache.size>=this.maxSize){for(let a of this.cache.keys())if(!this.pinned.has(a)){this.cache.delete(a);break}}this.cache.set(o,n);}pin(o){this.pinned.clear();for(let n of o)this.pinned.add(n);this.pinned.size>this.maxSize&&(this.maxSize=this.pinned.size+4);}clear(){this.cache.clear(),this.pinned.clear();}};var Ue="chunks",Bt=class{static{a(this,"IndexedDBStore");}db;sessionId;dbName;constructor(o,n,a){this.db=o,this.sessionId=n,this.dbName=a;}async set(o,n){return new Promise((a,u)=>{let s=this.db.transaction(Ue,"readwrite");s.objectStore(Ue).put(n,o),s.oncomplete=()=>a(),s.onerror=()=>u(s.error);})}async get(o){return new Promise((n,a)=>{let s=this.db.transaction(Ue,"readonly").objectStore(Ue).get(o);s.onsuccess=()=>n(s.result??void 0),s.onerror=()=>a(s.error);})}async clear(){return new Promise((o,n)=>{let a=this.db.transaction(Ue,"readwrite");a.objectStore(Ue).clear(),a.oncomplete=()=>o(),a.onerror=()=>n(a.error);})}async destroy(){return this.db.close(),new Promise((o,n)=>{let a=indexedDB.deleteDatabase(this.dbName);a.onsuccess=()=>o(),a.onerror=()=>n(a.error),a.onblocked=()=>o();})}},Ot=class{static{a(this,"MemoryStore");}sessionId=null;chunks=new Map;async set(o,n){this.chunks.set(o,n);}async get(o){return this.chunks.get(o)}async clear(){this.chunks.clear();}async destroy(){this.chunks.clear();}};async function Er(){let r=`${Date.now()}_${Math.random().toString(36).slice(2)}`,o=`csv-chunks-${r}`;try{let n=await new Promise((a,u)=>{let s=indexedDB.open(o,1);s.onupgradeneeded=()=>{let g=s.result;g.objectStoreNames.contains(Ue)||g.createObjectStore(Ue);},s.onsuccess=()=>a(s.result),s.onerror=()=>u(s.error);});return new Bt(n,r,o)}catch{return console.warn("IndexedDB unavailable, falling back to in-memory storage"),new Ot}}a(Er,"createChunkStore");function Cn(r){let o=[],n=false,a=0,u=0;for(let s=0;s<r.length;s++){let g=r[s];if(g==='"')n=!n;else if(!n&&(g===`
82
+ [&>div.docx-wrapper]:min-h-full`,style:{boxSizing:"border-box",wordBreak:"break-word",overflowWrap:"break-word",transform:`scale(${k})`,transformOrigin:"top left"}})})})]})},"DocxDriver");var yn=a(r=>({js:[javascript({jsx:false})],jsx:[javascript({jsx:true})],ts:[javascript({typescript:true,jsx:false})],tsx:[javascript({typescript:true,jsx:true})],json:[json()],html:[html()],css:[css()],scss:[css()],py:[python()],java:[java()],cpp:[cpp()],c:[cpp()],php:[php()],rs:[rust()],xml:[xml()],yaml:[yaml()],yml:[yaml()],md:[markdown()],sql:[sql()],sh:[markdown()],bash:[markdown()]})[r]||[],"getLanguageExtension");function wn(){let[r,o]=useState(()=>typeof document<"u"?document.documentElement.classList.contains("dark"):false);return useEffect(()=>{let n=new MutationObserver(()=>{o(document.documentElement.classList.contains("dark"));});return n.observe(document.documentElement,{attributes:true,attributeFilter:["class"]}),()=>n.disconnect()},[]),r}a(wn,"useIsDarkMode");var Tr=a(({url:r,extension:o})=>{let[n,a$1]=useState(""),[u,s]=useState(true),[g,w]=useState(null),[k,L]=useState(0),R=useRef(null),f=wn();if(useEffect(()=>{a(async()=>{try{s(!0),w(null);let I=await fetch(r);if(!I.ok)throw new Error(`Failed to load file: ${I.statusText}`);let x=await I.text();if(o==="json")try{x=JSON.stringify(JSON.parse(x),null,2);}catch{}a$1(x);}catch(I){w(I instanceof Error?I.message:"Failed to load text content");}finally{s(false);}},"loadTextContent")();},[r]),useEffect(()=>{let t=a(()=>{if(R.current){let I=R.current.clientHeight;L(I);}},"updateHeight");return t(),window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t);}},[u]),u)return jsx("div",{className:"flex items-center justify-center p-8.5",children:jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading text content..."})});if(g)return jsx("div",{className:"flex items-center justify-center p-8.5",children:jsxs("div",{className:"text-red-500",children:["Error: ",g]})});if(o==="md")return jsx("div",{ref:R,className:"h-full w-full overflow-auto p-5 prose dark:prose-invert max-w-[100%] select-text prose-table px-8.5",style:{wordBreak:"break-word"},children:jsx(bn,{remarkPlugins:[vn],children:n})});let F=yn(o);return jsx("div",{ref:R,className:"h-full w-full",children:k>0&&jsx(an,{value:n,theme:f?vscodeDark:vscodeLight,extensions:F,editable:false,height:`${k}px`,basicSetup:{lineNumbers:true,highlightActiveLineGutter:false,highlightActiveLine:false,foldGutter:true,dropCursor:false,indentOnInput:false,syntaxHighlighting:true,bracketMatching:true,closeBrackets:false,autocompletion:false,rectangularSelection:false,crosshairCursor:false,highlightSelectionMatches:false,closeBracketsKeymap:false,searchKeymap:false,foldKeymap:true,completionKeymap:false,lintKeymap:false}})})},"TextDriver");var Nr=a(({url:r})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full px-8.5",children:jsx("video",{controls:true,src:r,className:"w-full max-h-full"})}),"VideoDriver");var Pt=class{static{a(this,"LruChunkCache");}cache=new Map;pinned=new Set;maxSize;constructor(o=8){this.maxSize=o;}get(o){let n=this.cache.get(o);return n!==void 0&&(this.cache.delete(o),this.cache.set(o,n)),n}set(o,n){if(this.cache.delete(o),this.cache.size>=this.maxSize){for(let a of this.cache.keys())if(!this.pinned.has(a)){this.cache.delete(a);break}}this.cache.set(o,n);}pin(o){this.pinned.clear();for(let n of o)this.pinned.add(n);this.pinned.size>this.maxSize&&(this.maxSize=this.pinned.size+4);}clear(){this.cache.clear(),this.pinned.clear();}};var Ue="chunks",Bt=class{static{a(this,"IndexedDBStore");}db;sessionId;dbName;constructor(o,n,a){this.db=o,this.sessionId=n,this.dbName=a;}async set(o,n){return new Promise((a,u)=>{let s=this.db.transaction(Ue,"readwrite");s.objectStore(Ue).put(n,o),s.oncomplete=()=>a(),s.onerror=()=>u(s.error);})}async get(o){return new Promise((n,a)=>{let s=this.db.transaction(Ue,"readonly").objectStore(Ue).get(o);s.onsuccess=()=>n(s.result??void 0),s.onerror=()=>a(s.error);})}async clear(){return new Promise((o,n)=>{let a=this.db.transaction(Ue,"readwrite");a.objectStore(Ue).clear(),a.oncomplete=()=>o(),a.onerror=()=>n(a.error);})}async destroy(){return this.db.close(),new Promise((o,n)=>{let a=indexedDB.deleteDatabase(this.dbName);a.onsuccess=()=>o(),a.onerror=()=>n(a.error),a.onblocked=()=>o();})}},Ot=class{static{a(this,"MemoryStore");}sessionId=null;chunks=new Map;async set(o,n){this.chunks.set(o,n);}async get(o){return this.chunks.get(o)}async clear(){this.chunks.clear();}async destroy(){this.chunks.clear();}};async function Er(){let r=`${Date.now()}_${Math.random().toString(36).slice(2)}`,o=`csv-chunks-${r}`;try{let n=await new Promise((a,u)=>{let s=indexedDB.open(o,1);s.onupgradeneeded=()=>{let g=s.result;g.objectStoreNames.contains(Ue)||g.createObjectStore(Ue);},s.onsuccess=()=>a(s.result),s.onerror=()=>u(s.error);});return new Bt(n,r,o)}catch{return console.warn("IndexedDB unavailable, falling back to in-memory storage"),new Ot}}a(Er,"createChunkStore");function Cn(r){let o=[],n=false,a=0,u=0;for(let s=0;s<r.length;s++){let g=r[s];if(g==='"')n=!n;else if(!n&&(g===`
83
83
  `||g==="\r"&&r[s+1]!==`
84
- `)){let w=s,x=r.slice(a,w).replace(/\r$/,"");x&&o.push(x),a=s+1,u=s+1;}}return [o,r.slice(u)]}a(Cn,"splitCsvRows");function Mn(r,o){return r.stream?Promise.resolve(r.stream):r.blob?Promise.resolve(r.blob.stream()):r.url?fetch(r.url,{signal:o}).then(n=>{if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.body}):Promise.reject(new Error("No source provided"))}a(Mn,"resolveStream");function Ir(r){let[o,n]=useState("idle"),[a,u]=useState(0),[s,g]=useState([]),[w,x]=useState(null),[L,R]=useState(0),[f,z]=useState(0),j=useRef(r),t=useRef(0),I=useRef(0),k=useRef(""),N=useRef(new Pt(10)),C=useRef(null),M=useRef(null),D=useRef(new Set),W=useRef(null),Y=useRef(false),Z=useCallback((A,K)=>{let B=A+`
84
+ `)){let w=s,k=r.slice(a,w).replace(/\r$/,"");k&&o.push(k),a=s+1,u=s+1;}}return [o,r.slice(u)]}a(Cn,"splitCsvRows");function Mn(r,o){return r.stream?Promise.resolve(r.stream):r.blob?Promise.resolve(r.blob.stream()):r.url?fetch(r.url,{signal:o}).then(n=>{if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.body}):Promise.reject(new Error("No source provided"))}a(Mn,"resolveStream");function Ir(r){let[o,n]=useState("idle"),[a,u]=useState(0),[s,g]=useState([]),[w,k]=useState(null),[L,R]=useState(0),[f,z]=useState(0),F=useRef(r),t=useRef(0),I=useRef(0),x=useRef(""),N=useRef(new Pt(10)),C=useRef(null),M=useRef(null),D=useRef(new Set),W=useRef(null),Y=useRef(false),Z=useCallback((A,K)=>{let B=A+`
85
85
  `+K.join(`
86
- `),{data:Q}=Ht.parse(B,{header:true,dynamicTyping:false,skipEmptyLines:true});return Q},[]),oe=useCallback(async(A,K)=>{let B=C.current;if(!B)return;let Q=Math.max(0,Math.floor(A/1e3)-2),ae=Math.min(t.current-1,Math.floor(K/1e3)+2),ee=false;for(let q=Q;q<=ae;q++)if(N.current.get(q)===void 0&&!D.current.has(q)){D.current.add(q);try{let ne=await B.get(q);if(ne&&k.current){let ie=Z(k.current,ne);N.current.set(q,ie),ee=!0;}}finally{D.current.delete(q);}}ee&&z(q=>q+1);},[Z]),me=useCallback(A=>{let K=Math.floor(A/1e3),B=A%1e3;return N.current.get(K)?.[B]},[f]),be=useCallback(async()=>{Y.current=true;let A=new AbortController;M.current=A,await C.current?.destroy();let K=await Er();C.current=K,t.current=0,I.current=0,k.current="",N.current.clear(),g([]),u(0),x(null),R(0),n("loading");let B=j.current;try{let Q=await Mn(B,A.signal);n("streaming");let ae=Q.getReader(),ee=new TextDecoder("utf-8"),q="",ne=[],ie=!0,ue=0,ye=0,we=B.blob?.size||0;for(;;){if(A.signal.aborted)return;let{done:fe,value:De}=await ae.read();if(fe)break;ue+=De.byteLength,we&&R(ue/we),q+=ee.decode(De,{stream:!0});let[Ie,We]=Cn(q);if(Ie.length!==0){if(q=We,ie&&Ie.length>0){k.current=Ie.shift().replace(/^\uFEFF/,"");let{data:Ne}=Ht.parse(k.current,{});Ne[0]&&g(Ne[0]),ie=!1;}for(let Ne of Ie)if(Ne.trim()&&(ne.push(Ne),ne.length>=1e3)){let Ze=t.current;if(await K.set(Ze,ne),Ze<3){let $e=Z(k.current,ne);N.current.set(Ze,$e);}t.current+=1,ye+=ne.length,ne=[],I.current=ye,W.current||(W.current=requestAnimationFrame(()=>{u(I.current),W.current=null;}));}}}if(q.trim())if(ie){k.current=q;let{data:fe}=Ht.parse(k.current,{});fe[0]&&g(fe[0]);}else ne.push(q);ne.length>0&&(await K.set(t.current,ne),t.current+=1,ye+=ne.length),W.current&&(cancelAnimationFrame(W.current),W.current=null),u(ye),R(1),n("done");}catch(Q){if(A.signal.aborted)return;let ae=Q instanceof Error?Q.message:"Unknown error";x(ae),n("partial_error");}finally{Y.current=false;}},[Z]),de=useRef(false);useEffect(()=>(de.current=true,Y.current||be(),()=>{de.current=false,queueMicrotask(()=>{de.current||(M.current?.abort(),C.current?.destroy(),W.current&&cancelAnimationFrame(W.current));});}),[be]);let Re=C.current?.sessionId??null,ve=t.current,$=useCallback(A=>{N.current.pin(A);},[]);return {state:o,headers:s,totalRows:a,getRow:me,error:w,progress:L,prefetchRange:oe,sessionId:Re,chunkCount:ve,pinChunks:$}}a(Ir,"useCsvStream");var Pn=`
86
+ `),{data:Q}=Ht.parse(B,{header:true,dynamicTyping:false,skipEmptyLines:true});return Q},[]),oe=useCallback(async(A,K)=>{let B=C.current;if(!B)return;let Q=Math.max(0,Math.floor(A/1e3)-2),ae=Math.min(t.current-1,Math.floor(K/1e3)+2),ee=false;for(let q=Q;q<=ae;q++)if(N.current.get(q)===void 0&&!D.current.has(q)){D.current.add(q);try{let ne=await B.get(q);if(ne&&x.current){let ie=Z(x.current,ne);N.current.set(q,ie),ee=!0;}}finally{D.current.delete(q);}}ee&&z(q=>q+1);},[Z]),me=useCallback(A=>{let K=Math.floor(A/1e3),B=A%1e3;return N.current.get(K)?.[B]},[f]),be=useCallback(async()=>{Y.current=true;let A=new AbortController;M.current=A,await C.current?.destroy();let K=await Er();C.current=K,t.current=0,I.current=0,x.current="",N.current.clear(),g([]),u(0),k(null),R(0),n("loading");let B=F.current;try{let Q=await Mn(B,A.signal);n("streaming");let ae=Q.getReader(),ee=new TextDecoder("utf-8"),q="",ne=[],ie=!0,ue=0,ye=0,we=B.blob?.size||0;for(;;){if(A.signal.aborted)return;let{done:fe,value:De}=await ae.read();if(fe)break;ue+=De.byteLength,we&&R(ue/we),q+=ee.decode(De,{stream:!0});let[Ie,We]=Cn(q);if(Ie.length!==0){if(q=We,ie&&Ie.length>0){x.current=Ie.shift().replace(/^\uFEFF/,"");let{data:Ne}=Ht.parse(x.current,{});Ne[0]&&g(Ne[0]),ie=!1;}for(let Ne of Ie)if(Ne.trim()&&(ne.push(Ne),ne.length>=1e3)){let Ze=t.current;if(await K.set(Ze,ne),Ze<3){let $e=Z(x.current,ne);N.current.set(Ze,$e);}t.current+=1,ye+=ne.length,ne=[],I.current=ye,W.current||(W.current=requestAnimationFrame(()=>{u(I.current),W.current=null;}));}}}if(q.trim())if(ie){x.current=q;let{data:fe}=Ht.parse(x.current,{});fe[0]&&g(fe[0]);}else ne.push(q);ne.length>0&&(await K.set(t.current,ne),t.current+=1,ye+=ne.length),W.current&&(cancelAnimationFrame(W.current),W.current=null),u(ye),R(1),n("done");}catch(Q){if(A.signal.aborted)return;let ae=Q instanceof Error?Q.message:"Unknown error";k(ae),n("partial_error");}finally{Y.current=false;}},[Z]),de=useRef(false);useEffect(()=>(de.current=true,Y.current||be(),()=>{de.current=false,queueMicrotask(()=>{de.current||(M.current?.abort(),C.current?.destroy(),W.current&&cancelAnimationFrame(W.current));});}),[be]);let Re=C.current?.sessionId??null,ve=t.current,$=useCallback(A=>{N.current.pin(A);},[]);return {state:o,headers:s,totalRows:a,getRow:me,error:w,progress:L,prefetchRange:oe,sessionId:Re,chunkCount:ve,pinChunks:$}}a(Ir,"useCsvStream");var Pn=`
87
87
  const DB_VERSION = 1;
88
88
  const STORE_NAME = 'chunks';
89
89
 
@@ -169,7 +169,7 @@ self.onmessage = async (e) => {
169
169
  }
170
170
  }
171
171
  };
172
- `,dt=null,ut=null;function Wt(){if(!dt){let r=new Blob([Pn],{type:"application/javascript"});ut=URL.createObjectURL(r),dt=new Worker(ut);}return dt}a(Wt,"getSearchWorker");function zr(){dt?.terminate(),dt=null,ut&&(URL.revokeObjectURL(ut),ut=null);}a(zr,"terminateSearchWorker");function _r(r,o){let[n,a]=useState(""),[u,s]=useState("idle"),[g,w]=useState(null),[x,L]=useState({searched:0,total:0,found:0}),R=useRef(null),f=useCallback(t=>{if(!r||o===0)return;if(!t.trim()){w(null),s("idle"),L({searched:0,total:0,found:0});return}s("searching"),L({searched:0,total:o,found:0});let I=Wt();I.onmessage=k=>{let{type:N}=k.data;N==="progress"&&L({searched:k.data.searched,total:k.data.total,found:k.data.found}),N==="done"&&(w(k.data.matchedIndices),s("done")),N==="cancelled"&&s("idle"),N==="error"&&(s("idle"),console.error("Search worker error:",k.data.message));},I.postMessage({type:"cancel"}),I.postMessage({type:"search",sessionId:r,query:t,chunkCount:o,chunkSize:1e3});},[r,o]),z=useCallback(t=>{a(t),R.current&&clearTimeout(R.current),R.current=setTimeout(()=>{f(t);},300);},[f]),j=useCallback(()=>{a(""),w(null),s("idle"),L({searched:0,total:0,found:0}),Wt().postMessage({type:"cancel"});},[]);return useEffect(()=>()=>{R.current&&clearTimeout(R.current),zr();},[]),{query:n,onQueryChange:z,clearSearch:j,searchState:u,matchedIndices:g,searchProgress:x}}a(_r,"useCsvSearch");var An={loading:"Loading...",rows:"rows",retry:"Retry",searchPlaceholder:"Search...",searchFound:"found",searching:"Searching..."};function jn(r,o,n){let a=1/0,u=-1/0,s=Math.min(n,r.length-1);for(let g=o;g<=s;g++){let w=r[g];w<a&&(a=w),w>u&&(u=w);}return {min:a,max:u}}a(jn,"getMinMax");function Fn(r,o,n){let a=Math.min(100,n),u=r.map(()=>[]);for(let s=0;s<a;s++){let g=o(s);if(g)for(let w=0;w<r.length;w++){let x=g[r[w]]??"";u[w].push(x.length);}}return r.map((s,g)=>{let w=s.length*9,x=u[g];if(x.length===0)return Math.min(Math.max(150,w+24),800);x.sort((j,t)=>j-t);let L=Math.floor(x.length*.9),f=x[L]*7.5+24,z=Math.max(w+24,f);return Math.min(Math.max(50,z),800)})}a(Fn,"estimateColumnWidths");var Yt=a(r=>{let{state:o,headers:n,totalRows:a$1,getRow:u,error:s,progress:g,prefetchRange:w,sessionId:x,chunkCount:L,pinChunks:R}=Ir(r),f={...An,...r.labels},{query:z$1,onQueryChange:j,clearSearch:t,searchState:I,matchedIndices:k}=_r(x,L),N=k!==null,C=N?k.length:a$1,[M,D]=useState([]),W=useRef(null),Y=useRef(null),Z=useRef(false),oe=useRef(false);useEffect(()=>{oe.current=false,Z.current=false,D([]);},[x]),useEffect(()=>{if(n.length===0||Z.current||oe.current||a$1===0)return;let $=u(0);!$||!n.some(A=>$[A]!==void 0)||(oe.current=true,D(Fn(n,u,a$1)));},[n,a$1,u]),useEffect(()=>()=>Y.current?.(),[]);let me=useCallback(($,A)=>{$.preventDefault(),Z.current=true;let K=$.clientX,B=M[A]??150;W.current={index:A,startX:K,startWidth:B};let Q=a(ee=>{if(!W.current)return;let q=ee.clientX-K,ne=Math.max(50,B+q);D(ie=>{let ue=[...ie];return ue[A]=ne,ue});},"onMouseMove"),ae=a(()=>{W.current=null,Y.current=null,document.removeEventListener("mousemove",Q),document.removeEventListener("mouseup",ae);},"onMouseUp");Y.current=ae,document.addEventListener("mousemove",Q),document.addEventListener("mouseup",ae);},[M]),be=M.reduce(($,A)=>$+A,0),de=useCallback(()=>jsx(Hn,{children:n.map(($,A)=>jsxs(Wn,{style:{width:M[A]},children:[$,jsx($n,{onMouseDown:K=>me(K,A)})]},A))}),[n,M,me]),Re=useCallback($=>{if(N&&k){let A=1/0,K=-1/0,B=new Set,Q=Math.min($.endIndex,k.length-1);for(let ae=$.startIndex;ae<=Q;ae++){let ee=k[ae];ee<A&&(A=ee),ee>K&&(K=ee),B.add(Math.floor(ee/1e3));}R(Array.from(B)),A!==1/0&&w(A,K);}else R([]),w($.startIndex,$.endIndex);},[w,R,N,k]),ve=useCallback($=>{let A=N&&k?k[$]:$,K=u(A);return K?n.map((B,Q)=>jsx(Fr,{style:{width:M[Q]},children:K[B]??""},Q)):n.map((B,Q)=>jsx(Fr,{style:{width:M[Q]},children:jsx(qn,{})},Q))},[u,n,M,N,k]);return useEffect(()=>{if(C>0)if(N&&k){let{min:$,max:A}=jn(k,0,50);$!==1/0&&w($,A);}else w(0,50);},[C,N,k,w]),o==="idle"||o==="loading"||o==="streaming"?jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-3",children:[jsx("div",{className:"h-10 w-10 rounded-full border-2 border-gray-200 dark:border-neutral-700 animate-spin border-s-transparent"}),o==="streaming"&&a$1>0&&jsxs(_a,{variant:"body",color:"text.lighter",style:{fontSize:12},children:[f.loading," ",a$1.toLocaleString()," ",f.rows,g>0?` (${Math.round(g*100)}%)`:""]})]}):jsxs("div",{className:"h-full w-full flex flex-col",children:[jsxs("div",{className:"flex items-center justify-between px-8.5 py-2 gap-2 flex-wrap",children:[jsx(_a,{variant:"body",color:"text.lighter",style:{fontSize:12,whiteSpace:"nowrap"},children:`${C.toLocaleString()} ${N?f.searchFound:f.rows}${N?` / ${a$1.toLocaleString()}`:""}`}),jsxs(Un,{children:[jsx(Zn,{type:"text",value:z$1,onChange:$=>j($.target.value),placeholder:f.searchPlaceholder}),I==="searching"?jsx(Gn,{children:jsx(Jn,{})}):z$1?jsx(Vn,{onClick:t,type:"button",children:"\u2715"}):null]})]}),o==="partial_error"&&jsxs(rb,{className:"flex items-center justify-between mx-4 mb-2 px-3 py-2 rounded bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-900",children:[jsx(_a,{variant:"body",className:"text-red-600 dark:text-red-400",style:{fontSize:12},children:s}),r.onRetry&&jsx(z,{onClick:()=>r.onRetry(s??""),variant:"outlined",size:"small",children:f.retry})]}),jsx("div",{className:"flex-1 min-h-0",children:n.length>0&&jsx(TableVirtuoso,{totalCount:C,increaseViewportBy:300,fixedHeaderContent:de,itemContent:ve,rangeChanged:Re,style:{height:"100%"},components:{Table:a(({style:$,context:A,...K})=>jsx(Bn,{style:{...$,minWidth:"100%",width:be},...K}),"Table"),TableHead:On,TableRow:a(({context:$,...A})=>jsx(Xn,{...A}),"TableRow")}},N?"filtered":"all")})]})},"CsvDriver"),Bn=styled.table(({theme:r})=>`
172
+ `,dt=null,ut=null;function Wt(){if(!dt){let r=new Blob([Pn],{type:"application/javascript"});ut=URL.createObjectURL(r),dt=new Worker(ut);}return dt}a(Wt,"getSearchWorker");function zr(){dt?.terminate(),dt=null,ut&&(URL.revokeObjectURL(ut),ut=null);}a(zr,"terminateSearchWorker");function _r(r,o){let[n,a]=useState(""),[u,s]=useState("idle"),[g,w]=useState(null),[k,L]=useState({searched:0,total:0,found:0}),R=useRef(null),f=useCallback(t=>{if(!r||o===0)return;if(!t.trim()){w(null),s("idle"),L({searched:0,total:0,found:0});return}s("searching"),L({searched:0,total:o,found:0});let I=Wt();I.onmessage=x=>{let{type:N}=x.data;N==="progress"&&L({searched:x.data.searched,total:x.data.total,found:x.data.found}),N==="done"&&(w(x.data.matchedIndices),s("done")),N==="cancelled"&&s("idle"),N==="error"&&(s("idle"),console.error("Search worker error:",x.data.message));},I.postMessage({type:"cancel"}),I.postMessage({type:"search",sessionId:r,query:t,chunkCount:o,chunkSize:1e3});},[r,o]),z=useCallback(t=>{a(t),R.current&&clearTimeout(R.current),R.current=setTimeout(()=>{f(t);},300);},[f]),F=useCallback(()=>{a(""),w(null),s("idle"),L({searched:0,total:0,found:0}),Wt().postMessage({type:"cancel"});},[]);return useEffect(()=>()=>{R.current&&clearTimeout(R.current),zr();},[]),{query:n,onQueryChange:z,clearSearch:F,searchState:u,matchedIndices:g,searchProgress:k}}a(_r,"useCsvSearch");var An={loading:"Loading...",rows:"rows",retry:"Retry",searchPlaceholder:"Search...",searchFound:"found",searching:"Searching..."};function Fn(r,o,n){let a=1/0,u=-1/0,s=Math.min(n,r.length-1);for(let g=o;g<=s;g++){let w=r[g];w<a&&(a=w),w>u&&(u=w);}return {min:a,max:u}}a(Fn,"getMinMax");function jn(r,o,n){let a=Math.min(100,n),u=r.map(()=>[]);for(let s=0;s<a;s++){let g=o(s);if(g)for(let w=0;w<r.length;w++){let k=g[r[w]]??"";u[w].push(k.length);}}return r.map((s,g)=>{let w=s.length*9,k=u[g];if(k.length===0)return Math.min(Math.max(150,w+24),800);k.sort((F,t)=>F-t);let L=Math.floor(k.length*.9),f=k[L]*7.5+24,z=Math.max(w+24,f);return Math.min(Math.max(50,z),800)})}a(jn,"estimateColumnWidths");var Yt=a(r=>{let{state:o,headers:n,totalRows:a$1,getRow:u,error:s,progress:g,prefetchRange:w,sessionId:k,chunkCount:L,pinChunks:R}=Ir(r),f={...An,...r.labels},{query:z$1,onQueryChange:F,clearSearch:t,searchState:I,matchedIndices:x}=_r(k,L),N=x!==null,C=N?x.length:a$1,[M,D]=useState([]),W=useRef(null),Y=useRef(null),Z=useRef(false),oe=useRef(false);useEffect(()=>{oe.current=false,Z.current=false,D([]);},[k]),useEffect(()=>{if(n.length===0||Z.current||oe.current||a$1===0)return;let $=u(0);!$||!n.some(A=>$[A]!==void 0)||(oe.current=true,D(jn(n,u,a$1)));},[n,a$1,u]),useEffect(()=>()=>Y.current?.(),[]);let me=useCallback(($,A)=>{$.preventDefault(),Z.current=true;let K=$.clientX,B=M[A]??150;W.current={index:A,startX:K,startWidth:B};let Q=a(ee=>{if(!W.current)return;let q=ee.clientX-K,ne=Math.max(50,B+q);D(ie=>{let ue=[...ie];return ue[A]=ne,ue});},"onMouseMove"),ae=a(()=>{W.current=null,Y.current=null,document.removeEventListener("mousemove",Q),document.removeEventListener("mouseup",ae);},"onMouseUp");Y.current=ae,document.addEventListener("mousemove",Q),document.addEventListener("mouseup",ae);},[M]),be=M.reduce(($,A)=>$+A,0),de=useCallback(()=>jsx(Hn,{children:n.map(($,A)=>jsxs(Wn,{style:{width:M[A]},children:[$,jsx($n,{onMouseDown:K=>me(K,A)})]},A))}),[n,M,me]),Re=useCallback($=>{if(N&&x){let A=1/0,K=-1/0,B=new Set,Q=Math.min($.endIndex,x.length-1);for(let ae=$.startIndex;ae<=Q;ae++){let ee=x[ae];ee<A&&(A=ee),ee>K&&(K=ee),B.add(Math.floor(ee/1e3));}R(Array.from(B)),A!==1/0&&w(A,K);}else R([]),w($.startIndex,$.endIndex);},[w,R,N,x]),ve=useCallback($=>{let A=N&&x?x[$]:$,K=u(A);return K?n.map((B,Q)=>jsx(jr,{style:{width:M[Q]},children:K[B]??""},Q)):n.map((B,Q)=>jsx(jr,{style:{width:M[Q]},children:jsx(qn,{})},Q))},[u,n,M,N,x]);return useEffect(()=>{if(C>0)if(N&&x){let{min:$,max:A}=Fn(x,0,50);$!==1/0&&w($,A);}else w(0,50);},[C,N,x,w]),o==="idle"||o==="loading"||o==="streaming"?jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-3",children:[jsx("div",{className:"h-10 w-10 rounded-full border-2 border-gray-200 dark:border-neutral-700 animate-spin border-s-transparent"}),o==="streaming"&&a$1>0&&jsxs(_a,{variant:"body",color:"text.lighter",style:{fontSize:12},children:[f.loading," ",a$1.toLocaleString()," ",f.rows,g>0?` (${Math.round(g*100)}%)`:""]})]}):jsxs("div",{className:"h-full w-full flex flex-col",children:[jsxs("div",{className:"flex items-center justify-between px-8.5 py-2 gap-2 flex-wrap",children:[jsx(_a,{variant:"body",color:"text.lighter",style:{fontSize:12,whiteSpace:"nowrap"},children:`${C.toLocaleString()} ${N?f.searchFound:f.rows}${N?` / ${a$1.toLocaleString()}`:""}`}),jsxs(Un,{children:[jsx(Zn,{type:"text",value:z$1,onChange:$=>F($.target.value),placeholder:f.searchPlaceholder}),I==="searching"?jsx(Gn,{children:jsx(Jn,{})}):z$1?jsx(Vn,{onClick:t,type:"button",children:"\u2715"}):null]})]}),o==="partial_error"&&jsxs(rb,{className:"flex items-center justify-between mx-4 mb-2 px-3 py-2 rounded bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-900",children:[jsx(_a,{variant:"body",className:"text-red-600 dark:text-red-400",style:{fontSize:12},children:s}),r.onRetry&&jsx(z,{onClick:()=>r.onRetry(s??""),variant:"outlined",size:"small",children:f.retry})]}),jsx("div",{className:"flex-1 min-h-0",children:n.length>0&&jsx(TableVirtuoso,{totalCount:C,increaseViewportBy:300,fixedHeaderContent:de,itemContent:ve,rangeChanged:Re,style:{height:"100%"},components:{Table:a(({style:$,context:A,...K})=>jsx(Bn,{style:{...$,minWidth:"100%",width:be},...K}),"Table"),TableHead:On,TableRow:a(({context:$,...A})=>jsx(Xn,{...A}),"TableRow")}},N?"filtered":"all")})]})},"CsvDriver"),Bn=styled.table(({theme:r})=>`
173
173
  border-collapse: separate;
174
174
  border-spacing: 0;
175
175
  table-layout: fixed;
@@ -209,7 +209,7 @@ self.onmessage = async (e) => {
209
209
  &:hover {
210
210
  background-color: ${r.colors.backgroundBase};
211
211
  }
212
- `),Fr=styled.td(({theme:r})=>`
212
+ `),jr=styled.td(({theme:r})=>`
213
213
  padding: 6px 12px;
214
214
  word-wrap: break-word;
215
215
  overflow-wrap: break-word;
@@ -273,7 +273,7 @@ self.onmessage = async (e) => {
273
273
  border-top-color: ${r.colors.text?.light};
274
274
  border-radius: 50%;
275
275
  animation: ${Kn} 0.6s linear infinite;
276
- `);var $r=memo(a(function({extension:o,blob:n,path:a,buffer:u,stream:s,csvLabels:g,onCsvRetry:w,not_supported_message:x=" Sorry, this file type isn\u2019t supported yet."}){let L=o.toLocaleLowerCase().trim(),R;if(a?R=a:n&&(R=URL.createObjectURL(n)),["csv","tsv"].includes(L))return jsx(Yt,{url:R,blob:n,stream:s,labels:g,onRetry:w});if(R){if(["jpeg","jpg","png","gif","bmp","ico","svg","tiff","webp"].includes(L))return jsx(vr,{url:R});if(["aac","ac3","aiff","amr","dts","flac","m4a","mp3","ogg","opus","wav","wma"].includes(L))return jsx(wr,{url:R});if(["3gp","avi","dv","flv","m2ts","m4v","mkv","mov","mp4","mpeg","mpg","mts","ogv","vob","webm"].includes(L))return jsx(Nr,{url:R});if(o==="pdf")return jsx(At,{url:R});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","cfg","conf","env","htm","ini","log","markdown","ndjson","properties","rst","toml"].includes(L))return jsx(Tr,{url:R,extension:L})}return L==="docx"?jsx(Dr,{url:R,blob:n}):jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(rb,{className:"mx-5",children:jsx(_a,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:x})})})},"Driver"));var qd=a(r=>jsx("div",{className:"h-full w-full",children:jsx($r,{...r})}),"FileViewer");var qr=250,nu=a(({text:r,speed:o=50,onDone:n,markdown:a$1=false,markdownComponents:u={},className:s,...g})=>{let[w,x]=useState(""),L=useRef(null),R=useRef(null);return useEffect(()=>{let f=false;if(o>0){x(""),L.current=performance.now();let z=a(j=>{if(f||!L.current)return;let t=j-L.current,I=t/o>qr?o/2:o,k=t/o>qr?1.5:1,N=Math.floor(t/I*k);if(N>=r.length){x(r),f=true,n?.();return}x(r.slice(0,N)),R.current=requestAnimationFrame(z);},"tick");R.current=requestAnimationFrame(z);}else x(r),n?.();return ()=>{R.current&&cancelAnimationFrame(R.current);}},[r,o,n]),a$1?jsx("div",{className:s,children:jsx(bn,{remarkPlugins:[vn],components:u,...g,children:w})}):jsx(_a,{className:s,...g,children:w})},"Typewriter");var la={timeout:2e3,message:"Copied!"},mu=a(({text:r,children:o,format:n="text/plain",tooltip:a$1,positions:u=["top"],className:s})=>{let[g,w]=useState(false),x=useRef(null),L={...la,...a$1},R=Array.isArray(u)?u[0]:u,f=a(async()=>{"clipboard"in navigator?await navigator.clipboard.writeText(r):na$1(r,{format:n}),w(true),x.current&&clearTimeout(x.current),x.current=setTimeout(()=>w(false),L.timeout);},"handleCopy");return useEffect(()=>()=>{x.current&&clearTimeout(x.current);},[]),jsx(Popover,{padding:6,positions:u,isOpen:g,align:"center",onClickOutside:()=>w(false),content:!!a$1?.message&&jsx(Eb,{className:s,$position:R,$offset:6,children:a$1.message}),containerStyle:{zIndex:"9999"},children:jsx("div",{className:"inline-block",onMouseLeave:()=>w(false),children:o({copy:f})})})},"CopyToClipboard");var Zr=a(r=>new Date(r?Array.isArray(r)?r[1]||r[0]||new Date:r:new Date),"getInitValue"),zt=a((r,o)=>{let n;if(o){let u=parse(r||"",o,new Date);if(isValid(u)&&getYear(u)>=1970)return u}let a=new Date(r||"");return isNaN(a.getTime())?n:a},"parseDate"),va=a((r,o)=>{let n=r?zt(r,o):void 0;return n&&o?format(n,o):r},"renderDate"),Ru=a(({value:r,range:o,inline:n=false,minDate:a=new Date(getYear(new Date)-5,0,1),maxDate:u=new Date(getYear(new Date)+5,11,31),format:s="dd.MM.yyyy",onChange:g,...w})=>{let[x,L]=useState(getMonth(Zr(r))),[R,f]=useState(getYear(Zr(r))),z=useMemo(()=>{if(r){if(Array.isArray(r)){let t=zt(r[0],s),I=zt(r[1],s);return [t,I]}return zt(r,s)}},[r]),j=useCallback(t=>{if(o){let I=!!(z&&Array.isArray(z)&&z[0]),k=!!(z&&Array.isArray(z)&&z[1]);!I||I&&k?g?.([t.toString(),""]):I&&!k&&(t<z[0]?g?.([t.toString(),z[0].toString()]):g?.([z[0].toString(),t.toString()]));}else g?.(t.toString());},[o,z,g]);return n?jsx(Vr,{month:x,year:R,minDate:a,maxDate:u,selectedDate:z,onSelectDate:j,onChangeMonth:L,onChangeYear:f}):o?jsx(ya,{range:true,value:r,onChange:g,...w}):jsx(wa,{value:r,onChange:g,minDate:a,maxDate:u,month:x,year:R,selectedDate:z,onChangeMonth:L,onChangeYear:f,onSelectDate:j,formatStr:s,...w})},"DatePicker"),ya=a(({minDate:r,maxDate:o,value:n,onChange:a})=>null,"DatePickerGroupInput"),wa=a(({placeholder:r,value:o,onChange:n,inputProps:a,...u})=>{let[s,g]=useState(false),w=y(),x=useCallback(()=>{g(false);},[]);return jsx(Popover,{positions:["bottom","top","right","left"],align:"start",isOpen:s,onClickOutside:()=>g(false),content:jsx(rb,{children:jsx(Vr,{...u,onClose:x})}),containerStyle:{zIndex:`${w.zIndex.popover}`},children:jsx("div",{onClick:()=>g(true),children:jsx(mb,{...a,placeholder:r,value:va(o,u.formatStr),onChange:L=>n?.(L.target.value)})})})},"DatePickerInput"),Vr=a(({month:r,year:o,selectedDate:n,minDate:a,maxDate:u,onSelectDate:s,onChangeMonth:g,onChangeYear:w,onClose:x})=>{let L=useMemo(()=>new Array(12).fill(null).map((C,M)=>{let D=new Date(0,M);return {value:M+1,inputDisplay:format(D,"MMMM")}}),[]),R=useMemo(()=>{let C=getYear(a),D=getYear(u)-C+1;return new Array(D).fill(null).map((W,Y)=>{let Z=C+Y;return {value:Z,inputDisplay:Z.toString()}})},[a,u]),f=useMemo(()=>new Array(7).fill(null).map((C,M)=>{let D=startOfWeek(new Date,{weekStartsOn:M});return format(D,"EEE")}),[]),z$1=useMemo(()=>{let C=startOfMonth(new Date(o,r)),M=endOfMonth(new Date(o,r)),D=getDay(C)===0?C:previousSunday(C),W=getDay(M)===6?M:nextSaturday(M),Y=differenceInDays(W,D),Z=differenceInDays(C,D);return new Array(Y+1).fill(null).map((oe,me)=>new Date(o,r,me-Z+1))},[r,o]),j=useCallback(()=>{r===0?(w(o-1),g(11)):g(r-1);},[r,o]),t=useCallback(()=>{r===11?(w(o+1),g(0)):g(r+1);},[r,o]),I=useMemo(()=>a?!(o<getYear(a)||o===getYear(a)&&r<=getMonth(a)):true,[r,o,a]),k=useMemo(()=>u?!(o>getYear(u)||o===getYear(u)&&r>=getMonth(u)):true,[r,o,u]),N=useCallback(C=>{C.stopPropagation();},[]);return jsxs("div",{className:"flex flex-col date-picker-calendar",onClick:N,children:[jsxs("div",{className:"flex justify-center items-center gap-2 pb-3",children:[I&&jsx(z,{size:"small",variant:"empty",icon:jsx(G,{}),onClick:j}),jsxs("div",{className:"flex-1 flex justify-center gap-1",children:[jsx(kb,{placeholder:"",hasBorder:false,selected:r+1,options:L,onSelect:C=>g(C-1),maxWidth:150,maxHeight:300}),jsx(kb,{placeholder:"",hasBorder:false,selected:o,options:R,onSelect:C=>w(C),maxWidth:100,maxHeight:300})]}),k&&jsx(z,{size:"small",variant:"empty",icon:jsx(H,{}),onClick:t})]}),jsx("div",{className:"grid grid-cols-7 gap-2",children:f.map(C=>jsx("div",{className:"text-center",children:C},C))}),jsx("div",{className:"grid grid-cols-7 gap-2 mt-2",children:z$1.map(C=>{let M=getMonth(C)===r,D=format(C,"yyyy-MM-dd")===format(new Date,"yyyy-MM-dd"),W=n&&(Array.isArray(n)&&(n[0]&&format(C,"yyyy-MM-dd")===format(n[0],"yyyy-MM-dd")||n[1]&&format(C,"yyyy-MM-dd")===format(n[1],"yyyy-MM-dd"))||!Array.isArray(n)&&format(C,"yyyy-MM-dd")===format(n,"yyyy-MM-dd")),Y=n&&Array.isArray(n)&&n[0]&&n[1]&&C>n[0]&&C<n[1],Z=a&&differenceInDays(C,a)<0||u&&differenceInDays(C,u)>0||!M;return jsx(xa,{date:C,isCurrentMonth:M,isCurrentDay:D,isSelected:!!W,isInRange:!!Y,isDisabled:!!Z,onSelectDate:oe=>{s(oe),x?.();}},C.toISOString())})})]})},"DatePickerCalendar"),xa=a(({date:r,isCurrentMonth:o,isCurrentDay:n,isSelected:a$1,isInRange:u,isDisabled:s,onSelectDate:g})=>jsx("div",{className:`text-center p-2 cursor-pointer rounded ${s?"text-gray-400 dark:text-neutral-600 cursor-not-allowed":a$1?"bg-blue-500 text-white":u?"bg-blue-100 dark:bg-blue-900/30":n?"text-blue-500":o?"text-black dark:text-white":"text-gray-400 dark:text-neutral-600"} ${s?"":a$1?"hover:bg-blue-600":"hover:bg-gray-100 dark:hover:bg-neutral-700"}`,onClick:a(x=>{s||g(r);},"handleClick"),children:format(r,"d")}),"CalendarDay");var Da=a(r=>{switch(r){case "primary":return "bg-blue-100 border-blue-200 dark:bg-blue-950 dark:border-blue-900";case "error":return "bg-red-100 border-red-200 dark:bg-red-950 dark:border-red-900";case "warning":return "bg-yellow-100 border-yellow-200 dark:bg-amber-950 dark:border-amber-900";case "success":return "bg-teal-100 border-teal-200 dark:bg-teal-950 dark:border-teal-900";case "default":default:return "bg-white border border-gray-200 dark:bg-neutral-900 dark:border-neutral-700"}},"getColorStyle"),Ca=a(r=>{switch(r){case "primary":return "text-blue-800 dark:text-blue-500";case "error":return "text-red-800 dark:text-red-500";case "warning":return "text-yellow-800 dark:text-yellow-500";case "success":return "text-teal-800 dark:text-teal-500";case "default":default:return "text-gray-800 dark:text-white"}},"getTextColor"),Ma=a(r=>{switch(r){case "bottom":return "translate-y-4";case "top":default:return "-translate-y-4"}},"getTransitionStarting"),Qr=a(({id:r,color:o="default",message:n,duration:a,transitionDirection:u,cancelable:s=true,onClose:g})=>{let[w,x]=useState(false),[L,R]=useState(false),f=useRef(null),z=useCallback(()=>{x(true),f.current=setTimeout(()=>{g(r);},300);},[r,g]);return useEffect(()=>{if(R(true),a&&a<1/0){let j=setTimeout(()=>{z();},a);return ()=>clearTimeout(j)}},[a,z]),useEffect(()=>()=>{f.current&&clearTimeout(f.current);},[]),jsx("div",{className:`max-w-xs
276
+ `);var $r=memo(a(function({extension:o,blob:n,path:a,buffer:u,stream:s,csvLabels:g,onCsvRetry:w,not_supported_message:k=" Sorry, this file type isn\u2019t supported yet."}){let L=o.toLocaleLowerCase().trim(),R;if(a?R=a:n&&(R=URL.createObjectURL(n)),["csv","tsv"].includes(L))return jsx(Yt,{url:R,blob:n,stream:s,labels:g,onRetry:w});if(R){if(["jpeg","jpg","png","gif","bmp","ico","svg","tiff","webp"].includes(L))return jsx(vr,{url:R});if(["aac","ac3","aiff","amr","dts","flac","m4a","mp3","ogg","opus","wav","wma"].includes(L))return jsx(wr,{url:R});if(["3gp","avi","dv","flv","m2ts","m4v","mkv","mov","mp4","mpeg","mpg","mts","ogv","vob","webm"].includes(L))return jsx(Nr,{url:R});if(o==="pdf")return jsx(At,{url:R});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","cfg","conf","env","htm","ini","log","markdown","ndjson","properties","rst","toml"].includes(L))return jsx(Tr,{url:R,extension:L})}return L==="docx"?jsx(Dr,{url:R,blob:n}):jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(rb,{className:"mx-5",children:jsx(_a,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:k})})})},"Driver"));var qd=a(r=>jsx("div",{className:"h-full w-full",children:jsx($r,{...r})}),"FileViewer");var qr=250,nu=a(({text:r,speed:o=50,onDone:n,markdown:a$1=false,markdownComponents:u={},className:s,...g})=>{let[w,k]=useState(""),L=useRef(null),R=useRef(null);return useEffect(()=>{let f=false;if(o>0){k(""),L.current=performance.now();let z=a(F=>{if(f||!L.current)return;let t=F-L.current,I=t/o>qr?o/2:o,x=t/o>qr?1.5:1,N=Math.floor(t/I*x);if(N>=r.length){k(r),f=true,n?.();return}k(r.slice(0,N)),R.current=requestAnimationFrame(z);},"tick");R.current=requestAnimationFrame(z);}else k(r),n?.();return ()=>{R.current&&cancelAnimationFrame(R.current);}},[r,o,n]),a$1?jsx("div",{className:s,children:jsx(bn,{remarkPlugins:[vn],components:u,...g,children:w})}):jsx(_a,{className:s,...g,children:w})},"Typewriter");var la={timeout:2e3,message:"Copied!"},mu=a(({text:r,children:o,format:n="text/plain",tooltip:a$1,positions:u=["top"],className:s})=>{let[g,w]=useState(false),k=useRef(null),L={...la,...a$1},R=Array.isArray(u)?u[0]:u,f=a(async()=>{"clipboard"in navigator?await navigator.clipboard.writeText(r):na$1(r,{format:n}),w(true),k.current&&clearTimeout(k.current),k.current=setTimeout(()=>w(false),L.timeout);},"handleCopy");return useEffect(()=>()=>{k.current&&clearTimeout(k.current);},[]),jsx(Popover,{padding:6,positions:u,isOpen:g,align:"center",onClickOutside:()=>w(false),content:!!a$1?.message&&jsx(Eb,{className:s,$position:R,$offset:6,children:a$1.message}),containerStyle:{zIndex:"9999"},children:jsx("div",{className:"inline-block",onMouseLeave:()=>w(false),children:o({copy:f})})})},"CopyToClipboard");var Zr=a(r=>new Date(r?Array.isArray(r)?r[1]||r[0]||new Date:r:new Date),"getInitValue"),zt=a((r,o)=>{let n;if(o){let u=parse(r||"",o,new Date);if(isValid(u)&&getYear(u)>=1970)return u}let a=new Date(r||"");return isNaN(a.getTime())?n:a},"parseDate"),va=a((r,o)=>{let n=r?zt(r,o):void 0;return n&&o?format(n,o):r},"renderDate"),Ru=a(({value:r,range:o,inline:n=false,minDate:a=new Date(getYear(new Date)-5,0,1),maxDate:u=new Date(getYear(new Date)+5,11,31),format:s="dd.MM.yyyy",onChange:g,...w})=>{let[k,L]=useState(getMonth(Zr(r))),[R,f]=useState(getYear(Zr(r))),z=useMemo(()=>{if(r){if(Array.isArray(r)){let t=zt(r[0],s),I=zt(r[1],s);return [t,I]}return zt(r,s)}},[r]),F=useCallback(t=>{if(o){let I=!!(z&&Array.isArray(z)&&z[0]),x=!!(z&&Array.isArray(z)&&z[1]);!I||I&&x?g?.([t.toString(),""]):I&&!x&&(t<z[0]?g?.([t.toString(),z[0].toString()]):g?.([z[0].toString(),t.toString()]));}else g?.(t.toString());},[o,z,g]);return n?jsx(Vr,{month:k,year:R,minDate:a,maxDate:u,selectedDate:z,onSelectDate:F,onChangeMonth:L,onChangeYear:f}):o?jsx(ya,{range:true,value:r,onChange:g,...w}):jsx(wa,{value:r,onChange:g,minDate:a,maxDate:u,month:k,year:R,selectedDate:z,onChangeMonth:L,onChangeYear:f,onSelectDate:F,formatStr:s,...w})},"DatePicker"),ya=a(({minDate:r,maxDate:o,value:n,onChange:a})=>null,"DatePickerGroupInput"),wa=a(({placeholder:r,value:o,onChange:n,inputProps:a,...u})=>{let[s,g]=useState(false),w=y(),k=useCallback(()=>{g(false);},[]);return jsx(Popover,{positions:["bottom","top","right","left"],align:"start",isOpen:s,onClickOutside:()=>g(false),content:jsx(rb,{children:jsx(Vr,{...u,onClose:k})}),containerStyle:{zIndex:`${w.zIndex.popover}`},children:jsx("div",{onClick:()=>g(true),children:jsx(mb,{...a,placeholder:r,value:va(o,u.formatStr),onChange:L=>n?.(L.target.value)})})})},"DatePickerInput"),Vr=a(({month:r,year:o,selectedDate:n,minDate:a,maxDate:u,onSelectDate:s,onChangeMonth:g,onChangeYear:w,onClose:k})=>{let L=useMemo(()=>new Array(12).fill(null).map((C,M)=>{let D=new Date(0,M);return {value:M+1,inputDisplay:format(D,"MMMM")}}),[]),R=useMemo(()=>{let C=getYear(a),D=getYear(u)-C+1;return new Array(D).fill(null).map((W,Y)=>{let Z=C+Y;return {value:Z,inputDisplay:Z.toString()}})},[a,u]),f=useMemo(()=>new Array(7).fill(null).map((C,M)=>{let D=startOfWeek(new Date,{weekStartsOn:M});return format(D,"EEE")}),[]),z$1=useMemo(()=>{let C=startOfMonth(new Date(o,r)),M=endOfMonth(new Date(o,r)),D=getDay(C)===0?C:previousSunday(C),W=getDay(M)===6?M:nextSaturday(M),Y=differenceInDays(W,D),Z=differenceInDays(C,D);return new Array(Y+1).fill(null).map((oe,me)=>new Date(o,r,me-Z+1))},[r,o]),F=useCallback(()=>{r===0?(w(o-1),g(11)):g(r-1);},[r,o]),t=useCallback(()=>{r===11?(w(o+1),g(0)):g(r+1);},[r,o]),I=useMemo(()=>a?!(o<getYear(a)||o===getYear(a)&&r<=getMonth(a)):true,[r,o,a]),x=useMemo(()=>u?!(o>getYear(u)||o===getYear(u)&&r>=getMonth(u)):true,[r,o,u]),N=useCallback(C=>{C.stopPropagation();},[]);return jsxs("div",{className:"flex flex-col date-picker-calendar",onClick:N,children:[jsxs("div",{className:"flex justify-center items-center gap-2 pb-3",children:[I&&jsx(z,{size:"small",variant:"empty",icon:jsx(G,{}),onClick:F}),jsxs("div",{className:"flex-1 flex justify-center gap-1",children:[jsx(kb,{placeholder:"",hasBorder:false,selected:r+1,options:L,onSelect:C=>g(C-1),maxWidth:150,maxHeight:300}),jsx(kb,{placeholder:"",hasBorder:false,selected:o,options:R,onSelect:C=>w(C),maxWidth:100,maxHeight:300})]}),x&&jsx(z,{size:"small",variant:"empty",icon:jsx(H,{}),onClick:t})]}),jsx("div",{className:"grid grid-cols-7 gap-2",children:f.map(C=>jsx("div",{className:"text-center",children:C},C))}),jsx("div",{className:"grid grid-cols-7 gap-2 mt-2",children:z$1.map(C=>{let M=getMonth(C)===r,D=format(C,"yyyy-MM-dd")===format(new Date,"yyyy-MM-dd"),W=n&&(Array.isArray(n)&&(n[0]&&format(C,"yyyy-MM-dd")===format(n[0],"yyyy-MM-dd")||n[1]&&format(C,"yyyy-MM-dd")===format(n[1],"yyyy-MM-dd"))||!Array.isArray(n)&&format(C,"yyyy-MM-dd")===format(n,"yyyy-MM-dd")),Y=n&&Array.isArray(n)&&n[0]&&n[1]&&C>n[0]&&C<n[1],Z=a&&differenceInDays(C,a)<0||u&&differenceInDays(C,u)>0||!M;return jsx(xa,{date:C,isCurrentMonth:M,isCurrentDay:D,isSelected:!!W,isInRange:!!Y,isDisabled:!!Z,onSelectDate:oe=>{s(oe),k?.();}},C.toISOString())})})]})},"DatePickerCalendar"),xa=a(({date:r,isCurrentMonth:o,isCurrentDay:n,isSelected:a$1,isInRange:u,isDisabled:s,onSelectDate:g})=>jsx("div",{className:`text-center p-2 cursor-pointer rounded ${s?"text-gray-400 dark:text-neutral-600 cursor-not-allowed":a$1?"bg-blue-500 text-white":u?"bg-blue-100 dark:bg-blue-900/30":n?"text-blue-500":o?"text-black dark:text-white":"text-gray-400 dark:text-neutral-600"} ${s?"":a$1?"hover:bg-blue-600":"hover:bg-gray-100 dark:hover:bg-neutral-700"}`,onClick:a(k=>{s||g(r);},"handleClick"),children:format(r,"d")}),"CalendarDay");var Da=a(r=>{switch(r){case "primary":return "bg-blue-100 border-blue-200 dark:bg-blue-950 dark:border-blue-900";case "error":return "bg-red-100 border-red-200 dark:bg-red-950 dark:border-red-900";case "warning":return "bg-yellow-100 border-yellow-200 dark:bg-amber-950 dark:border-amber-900";case "success":return "bg-teal-100 border-teal-200 dark:bg-teal-950 dark:border-teal-900";case "default":default:return "bg-white border border-gray-200 dark:bg-neutral-900 dark:border-neutral-700"}},"getColorStyle"),Ca=a(r=>{switch(r){case "primary":return "text-blue-800 dark:text-blue-500";case "error":return "text-red-800 dark:text-red-500";case "warning":return "text-yellow-800 dark:text-yellow-500";case "success":return "text-teal-800 dark:text-teal-500";case "default":default:return "text-gray-800 dark:text-white"}},"getTextColor"),Ma=a(r=>{switch(r){case "bottom":return "translate-y-4";case "top":default:return "-translate-y-4"}},"getTransitionStarting"),Qr=a(({id:r,color:o="default",message:n,duration:a,transitionDirection:u,cancelable:s=true,onClose:g})=>{let[w,k]=useState(false),[L,R]=useState(false),f=useRef(null),z=useCallback(()=>{k(true),f.current=setTimeout(()=>{g(r);},300);},[r,g]);return useEffect(()=>{if(R(true),a&&a<1/0){let F=setTimeout(()=>{z();},a);return ()=>clearTimeout(F)}},[a,z]),useEffect(()=>()=>{f.current&&clearTimeout(f.current);},[]),jsx("div",{className:`max-w-xs
277
277
  border
278
278
  w-full
279
279
  text-sm
@@ -283,6 +283,6 @@ self.onmessage = async (e) => {
283
283
  duration-300
284
284
  ${w||!L?"opacity-0":"opacity-100"}
285
285
  ${L?"translate-y-0":Ma(u)}
286
- ${Da(o)} ${Ca(o)}`,children:jsxs("div",{className:"flex p-4 items-center",style:{wordBreak:"break-word"},children:[n,s&&jsx("div",{className:"ms-auto self-start flex",children:jsx("button",{type:"button",className:"inline-flex shrink-0 justify-center items-center size-5 rounded-lg opacity-50 hover:opacity-100 focus:outline-hidden focus:opacity-100 cursor-pointer border-none","aria-label":"Close",onClick:z,children:jsxs("svg",{className:"shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M18 6 6 18"}),jsx("path",{d:"m6 6 12 12"})]})})})]})})},"Toast");var Ta=a((r,o)=>{switch(r){case "top-right":return `top-${o} right-${o}`;case "top-left":return `top-${o} left-${o}`;case "bottom-right":return `bottom-${o} right-${o}`;case "bottom-left":return `bottom-${o} left-${o}`;default:return `top-${o} right-${o}`}},"getPosition"),Wu=a(({items:r,onClose:o,position:n="top-right",offset:a=4})=>{let u=useMemo(()=>n.startsWith("top")?"top":"bottom",[n]);return jsx("div",{className:`fixed flex min-w-0 max-w-xs w-full flex-col z-50 gap-2 ${Ta(n,a)}`,children:r.map(s=>jsx(Qr,{transitionDirection:u,...s,onClose:o},s.id))})},"ToastsList");var Ju=a(({onChange:r,disabled:o,multiple:n,dragText:a$1="Drop file to upload",className:u})=>{let[s,g]=useState(false),[w,x]=useState(false),[L,R]=useState(false);return useEffect(()=>{if(o)return;let f=0,z=a(k=>{k.preventDefault(),f++,f===1&&g(true);},"handleDragEnter"),j=a(k=>{k.preventDefault(),f--,f===0&&g(false);},"handleDragLeave"),t=a(k=>{k.preventDefault();},"handleDragOver"),I=a(async k=>{if(k.preventDefault(),f=0,g(false),!w)try{x(!0);let N=await nb(k.dataTransfer.items);r(n?N:N.length>0?[N[0]]:[]);}catch(N){console.error("\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0440\u0438 \u0447\u0438\u0442\u0430\u043D\u043D\u0456 \u0444\u0430\u0439\u043B\u0456\u0432:",N);}finally{x(false);}},"handleDrop");return document.addEventListener("dragenter",z),document.addEventListener("dragleave",j),document.addEventListener("dragover",t),document.addEventListener("drop",I),()=>{document.removeEventListener("dragenter",z),document.removeEventListener("dragleave",j),document.removeEventListener("dragover",t),document.removeEventListener("drop",I);}},[o,w,n,r]),useEffect(()=>{R(true);},[]),L&&s?createPortal(jsx("div",{className:`fixed top-0 bottom-0 left-0 right-0 flex items-center justify-center bg-[rgba(251,250,250,0.9)] dark:bg-[rgba(12,10,18,0.9)] z-9999 ${u}`,children:jsx(_a,{variant:"h3",className:"px-3 py-2 bg-white dark:bg-neutral-800 rounded-md border border-gray-200 dark:border-neutral-700",children:a$1})}),document.body):null},"GlobalDropZone");
286
+ ${Da(o)} ${Ca(o)}`,children:jsxs("div",{className:"flex p-4 items-center",style:{wordBreak:"break-word"},children:[n,s&&jsx("div",{className:"ms-auto self-start flex",children:jsx("button",{type:"button",className:"inline-flex shrink-0 justify-center items-center size-5 rounded-lg opacity-50 hover:opacity-100 focus:outline-hidden focus:opacity-100 cursor-pointer border-none","aria-label":"Close",onClick:z,children:jsxs("svg",{className:"shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M18 6 6 18"}),jsx("path",{d:"m6 6 12 12"})]})})})]})})},"Toast");var Ta=a((r,o)=>{switch(r){case "top-right":return `top-${o} right-${o}`;case "top-left":return `top-${o} left-${o}`;case "bottom-right":return `bottom-${o} right-${o}`;case "bottom-left":return `bottom-${o} left-${o}`;default:return `top-${o} right-${o}`}},"getPosition"),Wu=a(({items:r,onClose:o,position:n="top-right",offset:a=4})=>{let u=useMemo(()=>n.startsWith("top")?"top":"bottom",[n]);return jsx("div",{className:`fixed flex min-w-0 max-w-xs w-full flex-col z-50 gap-2 ${Ta(n,a)}`,children:r.map(s=>jsx(Qr,{transitionDirection:u,...s,onClose:o},s.id))})},"ToastsList");var Ju=a(({onChange:r,disabled:o,multiple:n,dragText:a$1="Drop file to upload",className:u})=>{let[s,g]=useState(false),[w,k]=useState(false),[L,R]=useState(false);return useEffect(()=>{if(o)return;let f=0,z=a(x=>{x.preventDefault(),x.dataTransfer?.types.includes("Files")&&(f++,f===1&&g(true));},"handleDragEnter"),F=a(x=>{x.preventDefault(),x.dataTransfer?.types.includes("Files")&&(f--,f===0&&g(false));},"handleDragLeave"),t=a(x=>{x.preventDefault();},"handleDragOver"),I=a(async x=>{if(x.preventDefault(),f=0,g(false),!!x.dataTransfer?.types.includes("Files")&&!w)try{k(!0);let N=await nb(x.dataTransfer.items);r(n?N:N.length>0?[N[0]]:[]);}catch(N){console.error("\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0440\u0438 \u0447\u0438\u0442\u0430\u043D\u043D\u0456 \u0444\u0430\u0439\u043B\u0456\u0432:",N);}finally{k(false);}},"handleDrop");return document.addEventListener("dragenter",z),document.addEventListener("dragleave",F),document.addEventListener("dragover",t),document.addEventListener("drop",I),()=>{document.removeEventListener("dragenter",z),document.removeEventListener("dragleave",F),document.removeEventListener("dragover",t),document.removeEventListener("drop",I);}},[o,w,n,r]),useEffect(()=>{R(true);},[]),L&&s?createPortal(jsx("div",{className:`fixed top-0 bottom-0 left-0 right-0 flex items-center justify-center bg-[rgba(251,250,250,0.9)] dark:bg-[rgba(12,10,18,0.9)] z-9999 ${u}`,children:jsx(_a,{variant:"h3",className:"px-3 py-2 bg-white dark:bg-neutral-800 rounded-md border border-gray-200 dark:border-neutral-700",children:a$1})}),document.body):null},"GlobalDropZone");
287
287
  export{wc as Container,mu as CopyToClipboard,Ru as DatePicker,Vr as DatePickerCalendar,qd as FileViewer,ol as FullscreenCard,Ju as GlobalDropZone,$o as Graph2D,nc as PageContent,Qs as PageLayout,Mc as SplitterLayout,uo as Styled,no as StyledContainer,so as StyledMain,lc as SubNav,Wu as ToastsList,nu as Typewriter};//# sourceMappingURL=index.mjs.map
288
288
  //# sourceMappingURL=index.mjs.map