@cyber-harbour/ui 2.2.23 → 2.2.24
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.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/index.mjs.map +1 -1
- package/dist/styles/tailwind.css +1 -1
- package/dist/styles/tailwind.css.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -44,14 +44,14 @@
|
|
|
44
44
|
display: flex;
|
|
45
45
|
align-items: center;
|
|
46
46
|
justify-content: center;
|
|
47
|
-
`,Uo=chunkCHKXYQZ5_js.a(({width:e=280,height:o=280})=>{let n=Xo.useTheme();return jsxRuntime.jsx(Yo,{children:jsxRuntime.jsxs(Vo__default.default,{foregroundColor:n.contentLoader.foreground,backgroundColor:n.contentLoader.background,width:e,height:o,viewBox:"0 0 280 280",children:[jsxRuntime.jsx("path",{d:"m55 38-0.97266 0.22852 7.0801 30.092-18.355-20.979-0.75195 0.6582 19.596 22.395 0.43164 1.834 0.97266-0.22852 0.75195-0.6582-0.37695-0.42969 9.625-27.912-0.94531-0.32617-9.4375 27.371-0.10547-0.12109zm8 34-0.78516 0.61914 0.0957 0.12305-12.311 13.258 0.73242 0.67969 12.205-13.145 14.277 18.084 0.78516-0.61914-14.373-18.207 0.10547-0.11328zm15 19-0.48438 0.875 46.992 25.996 8e-3 4e-3 20.506 11.592-28.182 4.5449 0.15998 0.98819 29.418-4.7441 0.25 0.14062-12.555 24.143 0.88672 0.46094 13-25 15 25 26 30v18l-11 18 0.85352 0.52148 9.8008-16.039-4.6543 33.518 0.99023 0.13867 4.7793-34.408 7.2305 16.27 0.91406-0.40625-7.9141-17.807v-17.104l18 12.316 0.56445-0.82617-18.896-12.928-25.855-29.836-14.633-24.387 0.01562-0.02344h23.805v-1h-23.152l13.848-21.234 55.201-28.791-0.45898-0.88476 0.77734 0.62305 11.402-14.25 16.668-11.842-0.58008-0.81641-16.785 11.928-11.486 14.355-55.434 28.912-14.277 21.893-7.7617-27.166-0.96094 0.27344 7.7227 27.031-1.1191 0.17969-21.604-12.211zm140.43-12.912-6.957-17.338-0.92773 0.37305 6.957 17.338zm-6.957-17.338 0.72266 0.69336 16.232-16.896-0.7207-0.69336zm-3.4766 137.25 5 15 0.94922-0.31641-5-15zm-91-63-0.48047-0.87695-31 17 0.48047 0.87695zm-31 17 5 18 0.96289-0.26758-5-18zm0 0-0.70703-0.70703-12.898 12.898-17.881 9.9336 0.48633 0.875 18-10zm5 18-0.64062-0.76758-18 15 0.64062 0.76758z"}),jsxRuntime.jsx("circle",{cx:"229.92",cy:"63.7318",r:"5",transform:"rotate(173.661 229.92 63.7318)"}),jsxRuntime.jsx("circle",{cx:"227.711",cy:"43.8541",r:"5",transform:"rotate(173.661 227.711 43.8541)"}),jsxRuntime.jsx("circle",{cx:"211.478",cy:"60.7499",r:"5",transform:"rotate(173.661 211.478 60.7499)"}),jsxRuntime.jsx("circle",{cx:"218.434",cy:"78.0877",r:"5",transform:"rotate(173.661 218.434 78.0877)"}),jsxRuntime.jsx("circle",{cx:"246.705",cy:"51.8054",r:"5",transform:"rotate(173.661 246.705 51.8054)"}),jsxRuntime.jsx("circle",{cx:"42",cy:"48",r:"5"}),jsxRuntime.jsx("circle",{cx:"55",cy:"38",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"43",r:"5"}),jsxRuntime.jsx("circle",{cx:"63",cy:"72",r:"5"}),jsxRuntime.jsx("circle",{cx:"50",cy:"86",r:"5"}),jsxRuntime.jsx("circle",{cx:"78",cy:"91",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"165",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"185",r:"5"}),jsxRuntime.jsx("circle",{cx:"91",cy:"170",r:"5"}),jsxRuntime.jsx("circle",{cx:"86",cy:"152",r:"5"}),jsxRuntime.jsx("circle",{cx:"148",cy:"130",r:"5"}),jsxRuntime.jsx("circle",{cx:"189",cy:"185",r:"5"}),jsxRuntime.jsx("circle",{cx:"163",cy:"107",r:"5"}),jsxRuntime.jsx("circle",{cx:"140",cy:"102",r:"5"}),jsxRuntime.jsx("circle",{cx:"117",cy:"135",r:"5"}),jsxRuntime.jsx("circle",{cx:"125",cy:"117",r:"5"}),jsxRuntime.jsx("circle",{cx:"208",cy:"198",r:"5"}),jsxRuntime.jsx("circle",{cx:"189",cy:"203",r:"5"}),jsxRuntime.jsx("circle",{cx:"198",cy:"221",r:"5"}),jsxRuntime.jsx("circle",{cx:"178",cy:"221",r:"5"}),jsxRuntime.jsx("circle",{cx:"184",cy:"239",r:"5"}),jsxRuntime.jsx("circle",{cx:"213",cy:"213",r:"5"}),jsxRuntime.jsx("circle",{cx:"173",cy:"130",r:"5"}),jsxRuntime.jsx("circle",{cx:"163",cy:"155",r:"5"}),jsxRuntime.jsx("circle",{cx:"135",cy:"155",r:"5"}),jsxRuntime.jsx("circle",{cx:"55",cy:"175",r:"5"})]})})},"GraphLoader"),_r=Uo;var It=typeof window<"u"&&window.devicePixelRatio||1;function pn(e){return !e||e.length===0?[]:e.map(o=>{let n=new Image;n.src=o.img;let a=new Image;return a.src=o.hoverImg,{...o,normalImg:n,hoverImg:a}})}chunkCHKXYQZ5_js.a(pn,"prepareButtonImages");var ie={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},hn=react.forwardRef(({loading:e,width:o,height:n,graphData:a,buttons:l=[],onNodeClick:i,onBackgroundClick:d,onNodeHover:b,onLinkHover:v,onLinkClick:x},C)=>{let h=Xo.useTheme(),[R,j]=react.useState(true),r=react.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*It,height:n*It,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:L,links:k}=react.useMemo(()=>en__default.default(a),[a]),[T,S]=react.useState([]),D=react.useRef(null),N=react.useRef(null),$=react.useRef(null),X=d3.scaleOrdinal(d3.schemeCategory10),q=react.useCallback(()=>{if(!D.current)return false;try{let t=D.current.getContext("2d");return t?($.current=t,!0):(console.error("Failed to get 2D context"),!1)}catch(t){return console.error("Error initializing Canvas 2D context:",t),false}},[]),Y=react.useCallback(()=>N.current?N.current.nodes():null,[]),de=react.useCallback(()=>{if(!N.current)return null;let t=N.current.force("link");return t?t.links():null},[]),ue=react.useCallback(t=>{t.save(),t.setTransform(1,0,0,1,0,0);let{width:u,height:c}=r.current,p=ie.gridSpacing,m=ie.dotSize;t.fillStyle=h.graph2D.grid.dotColor;for(let y=p/2;y<=u;y+=p)for(let g=p/2;g<=c;g+=p)t.beginPath(),t.arc(y,g,m,0,2*Math.PI),t.fill();t.restore();},[h.graph2D.grid.dotColor,ie.gridSpacing,ie.dotSize]),le=react.useCallback((t,u,c)=>{if(!t)return "";if(c.measureText(t).width<=u)return t;let m=t,y="...";for(;c.measureText(m+y).width>u&&m.length>0;)m=m.slice(0,-1);return m+y},[]),we=chunkCHKXYQZ5_js.a(t=>{let c=Math.min(t,ie.maxZoom)/ie.maxZoom;return Math.max(ie.fontSize*c,ie.fontSize)},"calculateFontSize"),he=react.useCallback(t=>{let u=de(),c=Y();!u||u.length===0||!c||c.length===0||(t.lineWidth=.5,t.globalAlpha=1,u.forEach(p=>{let m=typeof p.source=="object"?p.source:c.find(ye=>ye.id===p.source),y=typeof p.target=="object"?p.target:c.find(ye=>ye.id===p.target);if(!m||!y)return;let g={x:m.x||0,y:m.y||0},f={x:y.x||0,y:y.y||0},P=f.x-g.x,I=f.y-g.y,_=Math.sqrt(P*P+I*I),Q=P/_,V=I/_,ae=ie.nodeSizeBase/2,te=ie.nodeSizeBase/2,ne=4,M={x:g.x+Q*ae,y:g.y+V*ae},W={x:f.x-Q*(te+ne),y:f.y-V*(te+ne)},B={x:f.x-Q*(te+1),y:f.y-V*(te+1)},se=r.current.highlightLinks.has(p),w=se?h.graph2D.link.highlighted:h.graph2D.link.normal,z=se?1.5:.5,H=g.x+(f.x-g.x)/2,U=g.y+(f.y-g.y)/2,Z=Math.atan2(I,P);if(p.label){let ye=r.current.transform.k,ke=we(ye);t.font=`${ke}px Sans-Serif`;let ze=t.measureText(p.label).width,Fe=10;t.beginPath(),t.moveTo(M.x,M.y);let Qe=_/2-(ze+Fe)/2,et={x:g.x+Q*Qe,y:g.y+V*Qe};t.lineTo(et.x,et.y),t.strokeStyle=w,t.lineWidth=z,t.stroke(),t.beginPath();let Ze=_/2+(ze+Fe)/2,ct={x:g.x+Q*Ze,y:g.y+V*Ze};t.moveTo(ct.x,ct.y),t.lineTo(W.x,W.y),t.strokeStyle=w,t.lineWidth=z,t.stroke();}else t.beginPath(),t.moveTo(M.x,M.y),t.lineTo(W.x,W.y),t.strokeStyle=w,t.lineWidth=z,t.stroke();let me=2;if(t.save(),t.translate(B.x,B.y),t.rotate(Z),t.beginPath(),t.moveTo(0,0),t.lineTo(-ne,me),t.lineTo(-ne,0),t.lineTo(-ne,-me),t.closePath(),t.fillStyle=w,t.fill(),t.restore(),p.label){let ye=r.current.transform.k,ke=we(ye);t.font=`${ke}px Sans-Serif`,t.textAlign="center",t.textBaseline="middle",t.save(),t.translate(H,U),Math.abs(Z)>Math.PI/2?t.rotate(Z+Math.PI):t.rotate(Z),t.fillStyle=se?h.graph2D.link.highlightedTextColor:h.graph2D.link.textColor,t.fillText(p.label,0,0),t.restore();}}));},[ie,h.graph2D.link]),A=chunkCHKXYQZ5_js.a((t,u,c,p,m,y,g)=>{try{if(y!=null){let f=m*.8;t.font=`${f}px sans-serif`,t.textBaseline="middle",t.textAlign="left";let P=new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0,compactDisplay:"short"}).format(y),I=t.measureText(P).width,_=m*.3,V=(m+_+I)/2;t.drawImage(u,c-V,p-m/2,m,m),t.fillStyle=g||"#99989C",t.fillText(P,c-V+m+_,p);}else t.drawImage(u,c-m/2,p-m/2,m,m);}catch(f){console.warn("Error rendering icon:",f);}},"drawIconWithOptionalCounter"),E=react.useCallback((t,u)=>{if(!T||T.length===0||!t||!t.x||!t.y)return;let{x:c,y:p}=t,m=ie.nodeSizeBase*ie.nodeAreaFactor/2;u.save();let y=Math.min(T.length,8),g=Math.min(Math.PI*2/y,Math.PI);for(let f=0;f<y;f++){let P=f*g,I=(f+1)*g,_=r.current.hoveredButtonIndex===f;u.beginPath(),u.arc(c,p,m,P,I,false),u.lineTo(c,p),u.closePath(),u.lineWidth=1,u.strokeStyle=h.graph2D?.button?.stroke||"#FFFFFF",u.stroke(),u.fillStyle=_?h.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":h.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",u.fill();let Q=m*.2,V=(P+I)/2,ae=m-ie.nodeSizeBase/2+Q,te=c+Math.cos(V)*ae,ne=p+Math.sin(V)*ae,M=T[f];if(M.loading){let W=Q/2,B=Q/12;u.save(),u.translate(te,ne),u.rotate(r.current.spinnerAngle);for(let se=0;se<12;se++){let w=Math.PI*2*se/12,z=se/12,H=Math.cos(w)*W,U=Math.sin(w)*W;u.beginPath(),u.fillStyle=chunkCHKXYQZ5_js.l(h.graph2D?.button?.spinnerColor,z),u.arc(H,U,B,0,Math.PI*2),u.fill();}u.restore(),r.current.spinnerAngle+=.1,r.current.spinnerAngle>Math.PI*2&&(r.current.spinnerAngle-=Math.PI*2),r.current.animation.id!==null&&(cancelAnimationFrame(r.current.animation.id),r.current.animation.id=null,r.current.animation.buttonIndex=null),r.current.animation.id=requestAnimationFrame(F),r.current.animation.buttonIndex=f;}else {r.current.animation.id&&r.current.animation.buttonIndex===f&&(cancelAnimationFrame(r.current.animation.id),r.current.animation.id=null,r.current.animation.buttonIndex=null);let W=_?M.hoverImg:M.normalImg,B=M.getCount?M.getCount(t):null;W.complete?A(u,W,te,ne,Q,B,h.graph2D?.button?.textColor):W.onload=()=>{$.current&&A(u,W,te,ne,Q,B,h.graph2D?.button?.textColor);};}}u.restore();},[T,h.graph2D?.button]),J=react.useCallback(t=>{let u=Y();!u||u.length===0||(t.globalAlpha=1,u.forEach(c=>{let{x:p,y:m,color:y,fontColor:g,label:f}=c,P=r.current.highlightNodes.has(c)||c===r.current.hoveredNode||c===r.current.draggedNode,I=c===r.current.selectedNode,_=ie.nodeSizeBase,Q=ie.nodeSizeBase/2;if(P&&!I){let V=ie.nodeSizeBase*ie.nodeAreaFactor*.75/2;t.beginPath(),t.arc(p,m,V,0,2*Math.PI,false),t.fillStyle=h.graph2D.ring.highlightFill,t.fill();}if(I)if(l&&l.length>0)E(c,t);else {let V=ie.nodeSizeBase*ie.nodeAreaFactor/2;t.beginPath(),t.arc(p,m,V,0,2*Math.PI,false),t.fillStyle=h.graph2D.ring.selectionFill||h.graph2D.ring.highlightFill,t.fill();}if(t.beginPath(),t.arc(p,m,Q,0,2*Math.PI),t.fillStyle=y||X(c.group||"0"),t.fill(),f){t.save(),t.translate(p,m);let V=r.current.transform.k,ae=we(V),te=_*ie.textPaddingFactor;t.font=`${ae}px Sans-Serif`,t.textAlign="center",t.textBaseline="middle",t.fillStyle=g||"#000";let ne=le(f,te,t);t.fillText(ne,0,0),t.restore();}}));},[h.graph2D.ring,l,E]),F=react.useCallback(()=>{let t=$.current;t&&(t.clearRect(0,0,r.current.width,r.current.height),ue(t),t.save(),t.setTransform(r.current.transform.k,0,0,r.current.transform.k,r.current.transform.x,r.current.transform.y),he(t),J(t),t.restore());},[he,J,ue]),ee=react.useCallback((t,u=[],c)=>{let p=de()||[],m=Y()||[];if(!N.current||!t.length)return;let{width:y,height:g}=r.current,f=c?.smoothAppearance??false,P=c?.transitionDuration??1e3,I=new Set(m.map(M=>M.id)),_=t.filter(M=>!I.has(M.id)),Q=new Set(p.map(M=>`${typeof M.source=="object"?M.source.id:M.source}-${typeof M.target=="object"?M.target.id:M.target}`)),V=u.filter(M=>{let W=`${typeof M.source=="object"?M.source.id:M.source}-${typeof M.target=="object"?M.target.id:M.target}`;return !Q.has(W)});if(_.length===0&&V.length===0)return;let ae=[...m,..._],te=[...p,...V];f&&(_.forEach(M=>{let W=V.filter(B=>{let se=typeof B.source=="object"?B.source.id:B.source,w=typeof B.target=="object"?B.target.id:B.target;return se===M.id&&I.has(w)||w===M.id&&I.has(se)});if(W.length>0){let B=W[0],se=typeof B.source=="object"?B.source.id===M.id?B.target:B.source.id:B.source===M.id?B.target:B.source,w=ae.find(z=>z.id===se);if(w&&w.x!==void 0&&w.y!==void 0){let z=30+Math.random()*20,H=Math.random()*Math.PI*2;M.x=w.x+Math.cos(H)*z,M.y=w.y+Math.sin(H)*z,M.vx=0,M.vy=0;}}else {let B=y/2,se=g/2,w=Math.min(y,g)/4,z=Math.random()*Math.PI*2;M.x=B+Math.cos(z)*(w*Math.random()),M.y=se+Math.sin(z)*(w*Math.random()),M.vx=0,M.vy=0;}}),m.forEach(M=>{M.fx=M.x,M.fy=M.y;})),N.current.nodes(ae);let ne=N.current.force("link");ne&&ne.links(te),V.forEach(M=>{let W=typeof M.source=="object"?M.source:ae.find(se=>se.id===M.source),B=typeof M.target=="object"?M.target:ae.find(se=>se.id===M.target);!W||!B||(!W.neighbors&&(W.neighbors=[]),!B.neighbors&&(B.neighbors=[]),W.neighbors.push(B),B.neighbors.push(W),!W.links&&(W.links=[]),!B.links&&(B.links=[]),W.links.push(M),B.links.push(M));}),f?(N.current.alphaTarget(.3),N.current.alpha(.3),N.current.velocityDecay(.7),N.current.restart(),setTimeout(()=>{m.forEach(M=>{M.fx=void 0,M.fy=void 0;}),N.current?.alphaTarget(0),N.current?.alpha(.1),N.current?.velocityDecay(.6);},P)):N.current.alpha(.1).restart(),F();},[L,F]),fe=react.useCallback(t=>{let u=Y(),c=de();if(!N.current||!t.length||!u||u.length===0||!c||c.length===0)return;let p=new Set(t);if(r.current.selectedNode&&r.current.selectedNode.id!==void 0&&p.has(r.current.selectedNode.id)&&(r.current.selectedNode=null),r.current.hoveredNode&&r.current.hoveredNode.id!==void 0&&p.has(r.current.hoveredNode.id)&&(r.current.hoveredNode=null,r.current.highlightNodes=new Set,r.current.highlightLinks=new Set),r.current.hoveredLink){let f=typeof r.current.hoveredLink.source=="object"?r.current.hoveredLink.source.id:r.current.hoveredLink.source,P=typeof r.current.hoveredLink.target=="object"?r.current.hoveredLink.target.id:r.current.hoveredLink.target;(f!==void 0&&p.has(f)||P!==void 0&&p.has(P))&&(r.current.hoveredLink=null,r.current.highlightNodes=new Set,r.current.highlightLinks=new Set);}r.current.draggedNode&&r.current.draggedNode.id!==void 0&&p.has(r.current.draggedNode.id)&&(r.current.draggedNode=null);let m=u.filter(f=>f.id!==void 0&&!p.has(f.id)),y=c.filter(f=>{let P=typeof f.source=="object"?f.source.id:f.source,I=typeof f.target=="object"?f.target.id:f.target;return P!==void 0&&!p.has(P)&&I!==void 0&&!p.has(I)});m.forEach(f=>{f.neighbors=[],f.links=[];}),y.forEach(f=>{let P=typeof f.source=="object"?f.source:m.find(_=>_.id===f.source),I=typeof f.target=="object"?f.target:m.find(_=>_.id===f.target);!P||!I||(P.neighbors=P.neighbors||[],I.neighbors=I.neighbors||[],P.neighbors.push(I),I.neighbors.push(P),P.links=P.links||[],I.links=I.links||[],P.links.push(f),I.links.push(f));}),N.current.nodes(m);let g=N.current.force("link");g&&g.links(y),F();},[F]),ce=react.useCallback((t=0,u=20)=>{let c=Y();if(!$.current||!D.current||!c||!c.length)return;let m=1/0,y=1/0,g=-1/0,f=-1/0;if(c.forEach(P=>{if(P.x===void 0||P.y===void 0)return;let I=P.x,_=P.y;m=Math.min(m,I),y=Math.min(y,_),g=Math.max(g,I),f=Math.max(f,_);}),isFinite(m)&&isFinite(g)&&isFinite(y)&&isFinite(f)){let{width:P,height:I}=r.current;m-=u,y-=u,g+=u,f+=u;let _=g-m,Q=f-y,V=_>0?P/_:1,ae=Q>0?I/Q:1,te=Math.min(V,ae,10),ne=m+_/2,M=y+Q/2,W={k:te,x:P/2-ne*te,y:I/2-M*te};if(t>0){let B={...r.current.transform},se=Date.now(),w=chunkCHKXYQZ5_js.a(()=>{let z=Math.min(1,(Date.now()-se)/t),H=z===1?1:1-Math.pow(1-z,3),U={k:B.k+(W.k-B.k)*H,x:B.x+(W.x-B.x)*H,y:B.y+(W.y-B.y)*H};r.current.transform=U,F(),z<1&&requestAnimationFrame(w);},"animateZoom");requestAnimationFrame(w);}else r.current.transform=W,F();}},[]),K=react.useCallback((t,u)=>{let c=Y();if(!c||c.length===0)return null;let p=ie.nodeSizeBase/2,m=typeof window<"u"&&window.devicePixelRatio||1,y=(t*m-r.current.transform.x)/r.current.transform.k,g=(u*m-r.current.transform.y)/r.current.transform.k;return c.find(f=>{let P=(f.x||0)-y,I=(f.y||0)-g;return Math.sqrt(P*P+I*I)<=p})||null},[]),oe=react.useCallback((t,u)=>{let c=de(),p=Y();if(!c||c.length===0||!p||p.length===0)return null;let m=typeof window<"u"&&window.devicePixelRatio||1,y=(t*m-r.current.transform.x)/r.current.transform.k,g=(u*m-r.current.transform.y)/r.current.transform.k,f=5;return c.find(P=>{let I=typeof P.source=="object"?P.source:p.find(ke=>ke.id===P.source),_=typeof P.target=="object"?P.target:p.find(ke=>ke.id===P.target);if(!I||!_)return false;let Q=I.x||0,V=I.y||0,ae=_.x||0,te=_.y||0,ne=y-Q,M=g-V,W=ae-Q,B=te-V,se=ne*W+M*B,w=W*W+B*B;if(w===0)return false;let z=se/w;z=Math.max(0,Math.min(1,z));let H=Q+z*W,U=V+z*B,Z=y-H,me=g-U;return Math.sqrt(Z*Z+me*me)<=f})||null},[]),Ne=react.useCallback((t,u,c,p,m,y,g)=>{let f=t-c,P=u-p,I=Math.sqrt(f*f+P*P),_=Math.atan2(P,f);_<0&&(_+=2*Math.PI);let ae=I>=m*.5&&I<=m*1,te=false;return y===Math.PI&&g===Math.PI*2?te=_>=Math.PI&&_<=Math.PI*2:y===0&&g===Math.PI?te=_>=0&&_<=Math.PI:te=y<=g&&_>=y&&_<=g||y>g&&(_>=y||_<=g),ae&&te},[]),pe=react.useCallback(t=>{if(t===r.current.hoveredNode)return;let u=new Set,c=new Set;t&&(u.add(t),t.neighbors&&t.neighbors.forEach(p=>u.add(p)),t.links&&t.links.forEach(p=>c.add(p))),r.current.hoveredNode=t,b&&b(t),r.current.highlightNodes=u,r.current.highlightLinks=c;},[b]),De=react.useCallback(t=>{if(t===r.current.hoveredLink)return;let u=new Set,c=new Set;if(t){c.add(t);let p=Y();if(p){let m=typeof t.source=="object"?t.source:p.find(g=>g.id===t.source),y=typeof t.target=="object"?t.target:p.find(g=>g.id===t.target);m&&u.add(m),y&&u.add(y);}}r.current.hoveredLink=t,v&&v(t),r.current.highlightNodes=u,r.current.highlightLinks=c;},[v,Y]),Ue=react.useCallback(t=>{x&&x(t);},[x]),xe=react.useCallback(t=>{r.current.selectedNode=t,i&&i(t);},[i]),Ee=react.useCallback(()=>{r.current.selectedNode=null,d&&d();},[d]),Pe=react.useCallback(t=>{if(!D.current||!N.current)return;let u=D.current.getBoundingClientRect(),c=t.clientX-u.left,p=t.clientY-u.top;r.current.mouseStartPos={x:c,y:p},r.current.isDragging=false;let m=K(c,p);m?(r.current.draggedNode=m,m.fx=m.x,m.fy=m.y):(r.current.isPanning=true,r.current.lastMousePos={x:c,y:p});},[K]),Me=react.useCallback((t,u)=>{let c=null;if(D.current&&r.current&&T.length>0){let p=ie.nodeSizeBase*ie.nodeAreaFactor/2,m=D.current.getBoundingClientRect(),y=D.current.width/m.width,g=D.current.height/m.height,f=t*y,P=u*g,I=(f-r.current.transform.x)/r.current.transform.k,_=(P-r.current.transform.y)/r.current.transform.k,Q=r.current.selectedNode?.x||0,V=r.current.selectedNode?.y||0,ae=Math.min(T.length,8),te=Math.min(Math.PI*2/ae,Math.PI);for(let ne=0;ne<ae;ne++){let M=ne*te,W=(ne+1)*te;if(Ne(I,_,Q,V,p,M,W)){c=ne;break}}}return c},[T]),ve=react.useCallback(t=>{if(!D.current)return;let u=D.current.getBoundingClientRect(),c=t.clientX-u.left,p=t.clientY-u.top;if(r.current.draggedNode&&r.current.mouseStartPos&&N.current){let g=r.current.mouseStartPos.x,f=r.current.mouseStartPos.y,P=c-g,I=p-f;Math.sqrt(P*P+I*I)>3&&(r.current.isDragging=true,N.current.alphaTarget()===0&&N.current.alphaTarget(0).restart());let V=typeof window<"u"&&window.devicePixelRatio||1,ae=(c*V-r.current.transform.x)/r.current.transform.k,te=(p*V-r.current.transform.y)/r.current.transform.k;r.current.draggedNode.fx=ae,r.current.draggedNode.fy=te;return}if(r.current.isPanning&&r.current.mouseStartPos){let g=c-r.current.lastMousePos.x,f=p-r.current.lastMousePos.y,P=r.current.mouseStartPos.x,I=r.current.mouseStartPos.y;Math.sqrt(Math.pow(c-P,2)+Math.pow(p-I,2))>3&&(r.current.isDragging=true),r.current.transform={...r.current.transform,x:r.current.transform.x+g,y:r.current.transform.y+f},r.current.lastMousePos={x:c,y:p},F();return}let m,y;if(r.current.selectedNode&&D.current&&T.length>0){let g=Me(c,p);g!==null&&(y=r.current.selectedNode),g!==r.current.hoveredButtonIndex&&(m=true),r.current.hoveredButtonIndex=g;}else r.current.hoveredButtonIndex!==null&&(r.current.hoveredButtonIndex=null);if(!y&&(y=K(c,p),!y)){let g=oe(c,p),f=g!==r.current.hoveredLink;if(g&&r.current.hoveredNode&&pe(null),De(g),D.current&&(D.current.style.cursor=g?"pointer":"default"),f){F();return}}y&&r.current.hoveredLink&&De(null),y!==r.current.hoveredNode&&(m=true),pe(y),D.current&&(D.current.style.cursor=y?"pointer":"default"),m&&F();},[T,K,oe,pe,De,F,Ne,Me]),Ie=react.useCallback(t=>{r.current.mustBeStoppedPropagation&&(t.stopPropagation(),t.preventDefault()),r.current.mustBeStoppedPropagation=false;},[]),Ke=react.useCallback(t=>{let u=r.current.isDragging;if(u&&(r.current.mustBeStoppedPropagation=true),!u&&r.current.mouseStartPos){let c=D.current?.getBoundingClientRect();if(c){let p=t.clientX-c.left,m=t.clientY-c.top;T.length>0&&r.current.hoveredButtonIndex===null&&(r.current.hoveredButtonIndex=Me(p,m));let y=false;if(r.current.selectedNode&&r.current.hoveredButtonIndex!==null&&l[r.current.hoveredButtonIndex]){let g=l[r.current.hoveredButtonIndex];g&&g.onClick&&(g.onClick(r.current.selectedNode),y=true,r.current.hoveredButtonIndex=null);}if(!y&&r.current.draggedNode)xe(r.current.draggedNode);else if(!y&&!r.current.draggedNode){let g=oe(p,m);g?Ue(g):Ee();}}}if(r.current.draggedNode&&N.current){if(u){N.current.alphaTarget(0);let c=.05,p=.04,m=.6;N.current.alpha(c).alphaDecay(p),N.current.velocityDecay(m);}else N.current.alphaTarget(0);r.current.draggedNode.fx=void 0,r.current.draggedNode.fy=void 0,r.current.draggedNode=null;}r.current.isDragging=false,r.current.mouseStartPos=null,r.current.isPanning&&(r.current.isPanning=false),F();},[l,F,xe,Ee,oe,Ue,Me,T]),mt=react.useCallback(t=>{if(t.stopPropagation(),t.preventDefault(),!D.current)return;let u=D.current.getBoundingClientRect(),c=t.clientX-u.left,p=t.clientY-u.top,y=-t.deltaY>0?1.1:1/1.1,g=r.current.transform,f=g.k*y;if(f<.01||f>10)return;let P=g.k*y,I=c-(c-g.x)*y,_=p-(p-g.y)*y;r.current.transform={k:P,x:I,y:_},F();},[F]),ft=chunkCHKXYQZ5_js.a((t,u)=>{let c=t.touches[0];if(c){let p={clientX:c.clientX,clientY:c.clientY};u(p);}},"convertTouchToMouseEvent"),Zt=react.useCallback(t=>{ft(t,Pe);},[Pe]),gt=react.useCallback(t=>{r.current.mustBeStoppedPropagation&&(t.preventDefault(),t.stopPropagation()),r.current.mustBeStoppedPropagation=false,ft(t,Ke);},[Ke]),Gt=react.useCallback(t=>{ft(t,ve);},[ve]);return react.useImperativeHandle(C,()=>({zoomToFit:ce,addNodes:ee,removeNodes:fe}),[ce,ee,fe]),react.useEffect(()=>{let t=D.current,{width:u,height:c}=r.current;if(!t)return;q(),j(true);let p=u/2,m=c/2,y=ie.nodeSizeBase,g=y/2,f=y*2.5;N.current&&N.current.stop();let P=N.current=d3.forceSimulation(L).force("link",d3.forceLink(k).id(I=>I.id).distance(f).strength(.9)).force("charge",d3.forceManyBody().strength(-y/10*200).theta(.5).distanceMin(y*2)).force("x",d3.forceX().strength(.03)).force("y",d3.forceY().strength(.03)).force("center",d3.forceCenter(p,m).strength(.05)).force("collide",d3.forceCollide().radius(g*2).iterations(2).strength(1)).velocityDecay(.6);return ()=>{P.stop();}},[L,k]),react.useLayoutEffect(()=>{let t=D.current;t&&(r.current.width=o*It,r.current.height=n*It,t.width=r.current.width,t.height=r.current.height);},[o,n]),react.useEffect(()=>{if(N.current){let t=N.current;t.on("tick",()=>{F();}),t.on("end",()=>{R&&(ce(0,20),setTimeout(()=>{j(false);},200));});}R||F();},[L,k,R,F,ce]),react.useEffect(()=>{!L||!k||k.forEach(t=>{let u=typeof t.source=="object"?t.source:L.find(p=>p.id===t.source),c=typeof t.target=="object"?t.target:L.find(p=>p.id===t.target);!u||!c||(!u.neighbors&&(u.neighbors=[]),!c.neighbors&&(c.neighbors=[]),u.neighbors.push(c),c.neighbors.push(u),!u.links&&(u.links=[]),!c.links&&(c.links=[]),u.links.push(t),c.links.push(t));});},[L,k]),react.useEffect(()=>{l&&l.length>0&&S(pn(l));},[l]),react.useEffect(()=>{let t=D.current;if(!(!t||typeof window>"u"))return t.addEventListener("wheel",mt,{passive:false}),t.addEventListener("touchend",gt,{passive:false}),()=>{t.removeEventListener("wheel",mt),t.removeEventListener("touchend",gt);}},[mt,gt]),jsxRuntime.jsxs(mn,{children:[(e||R)&&jsxRuntime.jsx(_r,{width:o,height:n}),jsxRuntime.jsx(fn,{ref:D,style:{width:o,height:n,display:e||R?"none":"block"},onMouseDown:Pe,onMouseMove:ve,onMouseUp:Ke,onMouseLeave:Ke,onClick:Ie,onTouchStart:Zt,onTouchMove:Gt})]})}),mn=Xo.styled.div`
|
|
47
|
+
`,Uo=chunkCHKXYQZ5_js.a(({width:e=280,height:o=280})=>{let n=Xo.useTheme();return jsxRuntime.jsx(Yo,{children:jsxRuntime.jsxs(Vo__default.default,{foregroundColor:n.contentLoader.foreground,backgroundColor:n.contentLoader.background,width:e,height:o,viewBox:"0 0 280 280",children:[jsxRuntime.jsx("path",{d:"m55 38-0.97266 0.22852 7.0801 30.092-18.355-20.979-0.75195 0.6582 19.596 22.395 0.43164 1.834 0.97266-0.22852 0.75195-0.6582-0.37695-0.42969 9.625-27.912-0.94531-0.32617-9.4375 27.371-0.10547-0.12109zm8 34-0.78516 0.61914 0.0957 0.12305-12.311 13.258 0.73242 0.67969 12.205-13.145 14.277 18.084 0.78516-0.61914-14.373-18.207 0.10547-0.11328zm15 19-0.48438 0.875 46.992 25.996 8e-3 4e-3 20.506 11.592-28.182 4.5449 0.15998 0.98819 29.418-4.7441 0.25 0.14062-12.555 24.143 0.88672 0.46094 13-25 15 25 26 30v18l-11 18 0.85352 0.52148 9.8008-16.039-4.6543 33.518 0.99023 0.13867 4.7793-34.408 7.2305 16.27 0.91406-0.40625-7.9141-17.807v-17.104l18 12.316 0.56445-0.82617-18.896-12.928-25.855-29.836-14.633-24.387 0.01562-0.02344h23.805v-1h-23.152l13.848-21.234 55.201-28.791-0.45898-0.88476 0.77734 0.62305 11.402-14.25 16.668-11.842-0.58008-0.81641-16.785 11.928-11.486 14.355-55.434 28.912-14.277 21.893-7.7617-27.166-0.96094 0.27344 7.7227 27.031-1.1191 0.17969-21.604-12.211zm140.43-12.912-6.957-17.338-0.92773 0.37305 6.957 17.338zm-6.957-17.338 0.72266 0.69336 16.232-16.896-0.7207-0.69336zm-3.4766 137.25 5 15 0.94922-0.31641-5-15zm-91-63-0.48047-0.87695-31 17 0.48047 0.87695zm-31 17 5 18 0.96289-0.26758-5-18zm0 0-0.70703-0.70703-12.898 12.898-17.881 9.9336 0.48633 0.875 18-10zm5 18-0.64062-0.76758-18 15 0.64062 0.76758z"}),jsxRuntime.jsx("circle",{cx:"229.92",cy:"63.7318",r:"5",transform:"rotate(173.661 229.92 63.7318)"}),jsxRuntime.jsx("circle",{cx:"227.711",cy:"43.8541",r:"5",transform:"rotate(173.661 227.711 43.8541)"}),jsxRuntime.jsx("circle",{cx:"211.478",cy:"60.7499",r:"5",transform:"rotate(173.661 211.478 60.7499)"}),jsxRuntime.jsx("circle",{cx:"218.434",cy:"78.0877",r:"5",transform:"rotate(173.661 218.434 78.0877)"}),jsxRuntime.jsx("circle",{cx:"246.705",cy:"51.8054",r:"5",transform:"rotate(173.661 246.705 51.8054)"}),jsxRuntime.jsx("circle",{cx:"42",cy:"48",r:"5"}),jsxRuntime.jsx("circle",{cx:"55",cy:"38",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"43",r:"5"}),jsxRuntime.jsx("circle",{cx:"63",cy:"72",r:"5"}),jsxRuntime.jsx("circle",{cx:"50",cy:"86",r:"5"}),jsxRuntime.jsx("circle",{cx:"78",cy:"91",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"165",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"185",r:"5"}),jsxRuntime.jsx("circle",{cx:"91",cy:"170",r:"5"}),jsxRuntime.jsx("circle",{cx:"86",cy:"152",r:"5"}),jsxRuntime.jsx("circle",{cx:"148",cy:"130",r:"5"}),jsxRuntime.jsx("circle",{cx:"189",cy:"185",r:"5"}),jsxRuntime.jsx("circle",{cx:"163",cy:"107",r:"5"}),jsxRuntime.jsx("circle",{cx:"140",cy:"102",r:"5"}),jsxRuntime.jsx("circle",{cx:"117",cy:"135",r:"5"}),jsxRuntime.jsx("circle",{cx:"125",cy:"117",r:"5"}),jsxRuntime.jsx("circle",{cx:"208",cy:"198",r:"5"}),jsxRuntime.jsx("circle",{cx:"189",cy:"203",r:"5"}),jsxRuntime.jsx("circle",{cx:"198",cy:"221",r:"5"}),jsxRuntime.jsx("circle",{cx:"178",cy:"221",r:"5"}),jsxRuntime.jsx("circle",{cx:"184",cy:"239",r:"5"}),jsxRuntime.jsx("circle",{cx:"213",cy:"213",r:"5"}),jsxRuntime.jsx("circle",{cx:"173",cy:"130",r:"5"}),jsxRuntime.jsx("circle",{cx:"163",cy:"155",r:"5"}),jsxRuntime.jsx("circle",{cx:"135",cy:"155",r:"5"}),jsxRuntime.jsx("circle",{cx:"55",cy:"175",r:"5"})]})})},"GraphLoader"),_r=Uo;var It=typeof window<"u"&&window.devicePixelRatio||1;function pn(e){return !e||e.length===0?[]:e.map(o=>{let n=new Image;n.src=o.img;let a=new Image;return a.src=o.hoverImg,{...o,normalImg:n,hoverImg:a}})}chunkCHKXYQZ5_js.a(pn,"prepareButtonImages");var ie={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},hn=react.forwardRef(({loading:e,width:o,height:n,graphData:a,buttons:l=[],onNodeClick:i,onBackgroundClick:d,onNodeHover:b,onLinkHover:v,onLinkClick:x},C)=>{let h=Xo.useTheme(),[R,j]=react.useState(true),r=react.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*It,height:n*It,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:L,links:k}=react.useMemo(()=>en__default.default(a),[a]),[T,S]=react.useState([]),D=react.useRef(null),N=react.useRef(null),$=react.useRef(null),X=d3.scaleOrdinal(d3.schemeCategory10),q=react.useCallback(()=>{if(!D.current)return false;try{let t=D.current.getContext("2d");return t?($.current=t,!0):(console.error("Failed to get 2D context"),!1)}catch(t){return console.error("Error initializing Canvas 2D context:",t),false}},[]),Y=react.useCallback(()=>N.current?N.current.nodes():null,[]),de=react.useCallback(()=>{if(!N.current)return null;let t=N.current.force("link");return t?t.links():null},[]),ue=react.useCallback(t=>{t.save(),t.setTransform(1,0,0,1,0,0);let{width:u,height:c}=r.current,p=ie.gridSpacing,f=ie.dotSize;t.fillStyle=h.graph2D.grid.dotColor;for(let y=p/2;y<=u;y+=p)for(let g=p/2;g<=c;g+=p)t.beginPath(),t.arc(y,g,f,0,2*Math.PI),t.fill();t.restore();},[h.graph2D.grid.dotColor,ie.gridSpacing,ie.dotSize]),le=react.useCallback((t,u,c)=>{if(!t)return "";if(c.measureText(t).width<=u)return t;let f=t,y="...";for(;c.measureText(f+y).width>u&&f.length>0;)f=f.slice(0,-1);return f+y},[]),we=chunkCHKXYQZ5_js.a(t=>{let c=Math.min(t,ie.maxZoom)/ie.maxZoom;return Math.max(ie.fontSize*c,ie.fontSize)},"calculateFontSize"),he=react.useCallback(t=>{let u=de(),c=Y();!u||u.length===0||!c||c.length===0||(t.lineWidth=.5,t.globalAlpha=1,u.forEach(p=>{let f=typeof p.source=="object"?p.source:c.find(ye=>ye.id===p.source),y=typeof p.target=="object"?p.target:c.find(ye=>ye.id===p.target);if(!f||!y)return;let g={x:f.x||0,y:f.y||0},m={x:y.x||0,y:y.y||0},P=m.x-g.x,I=m.y-g.y,_=Math.sqrt(P*P+I*I),Q=P/_,V=I/_,ae=ie.nodeSizeBase/2,te=ie.nodeSizeBase/2,ne=4,M={x:g.x+Q*ae,y:g.y+V*ae},W={x:m.x-Q*(te+ne),y:m.y-V*(te+ne)},B={x:m.x-Q*(te+1),y:m.y-V*(te+1)},se=r.current.highlightLinks.has(p),w=se?h.graph2D.link.highlighted:h.graph2D.link.normal,z=se?1.5:.5,H=g.x+(m.x-g.x)/2,U=g.y+(m.y-g.y)/2,Z=Math.atan2(I,P);if(p.label){let ye=r.current.transform.k,ke=we(ye);t.font=`${ke}px Sans-Serif`;let ze=t.measureText(p.label).width,Fe=10;t.beginPath(),t.moveTo(M.x,M.y);let Qe=_/2-(ze+Fe)/2,et={x:g.x+Q*Qe,y:g.y+V*Qe};t.lineTo(et.x,et.y),t.strokeStyle=w,t.lineWidth=z,t.stroke(),t.beginPath();let Ze=_/2+(ze+Fe)/2,ct={x:g.x+Q*Ze,y:g.y+V*Ze};t.moveTo(ct.x,ct.y),t.lineTo(W.x,W.y),t.strokeStyle=w,t.lineWidth=z,t.stroke();}else t.beginPath(),t.moveTo(M.x,M.y),t.lineTo(W.x,W.y),t.strokeStyle=w,t.lineWidth=z,t.stroke();let fe=2;if(t.save(),t.translate(B.x,B.y),t.rotate(Z),t.beginPath(),t.moveTo(0,0),t.lineTo(-ne,fe),t.lineTo(-ne,0),t.lineTo(-ne,-fe),t.closePath(),t.fillStyle=w,t.fill(),t.restore(),p.label){let ye=r.current.transform.k,ke=we(ye);t.font=`${ke}px Sans-Serif`,t.textAlign="center",t.textBaseline="middle",t.save(),t.translate(H,U),Math.abs(Z)>Math.PI/2?t.rotate(Z+Math.PI):t.rotate(Z),t.fillStyle=se?h.graph2D.link.highlightedTextColor:h.graph2D.link.textColor,t.fillText(p.label,0,0),t.restore();}}));},[ie,h.graph2D.link]),A=chunkCHKXYQZ5_js.a((t,u,c,p,f,y,g)=>{try{if(y!=null){let m=f*.8;t.font=`${m}px sans-serif`,t.textBaseline="middle",t.textAlign="left";let P=new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0,compactDisplay:"short"}).format(y),I=t.measureText(P).width,_=f*.3,V=(f+_+I)/2;t.drawImage(u,c-V,p-f/2,f,f),t.fillStyle=g||"#99989C",t.fillText(P,c-V+f+_,p);}else t.drawImage(u,c-f/2,p-f/2,f,f);}catch(m){console.warn("Error rendering icon:",m);}},"drawIconWithOptionalCounter"),E=react.useCallback((t,u)=>{if(!T||T.length===0||!t||!t.x||!t.y)return;let{x:c,y:p}=t,f=ie.nodeSizeBase*ie.nodeAreaFactor/2;u.save();let y=Math.min(T.length,8),g=Math.min(Math.PI*2/y,Math.PI);for(let m=0;m<y;m++){let P=m*g,I=(m+1)*g,_=r.current.hoveredButtonIndex===m;u.beginPath(),u.arc(c,p,f,P,I,false),u.lineTo(c,p),u.closePath(),u.lineWidth=1,u.strokeStyle=h.graph2D?.button?.stroke||"#FFFFFF",u.stroke(),u.fillStyle=_?h.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":h.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",u.fill();let Q=f*.2,V=(P+I)/2,ae=f-ie.nodeSizeBase/2+Q,te=c+Math.cos(V)*ae,ne=p+Math.sin(V)*ae,M=T[m];if(M.loading){let W=Q/2,B=Q/12;u.save(),u.translate(te,ne),u.rotate(r.current.spinnerAngle);for(let se=0;se<12;se++){let w=Math.PI*2*se/12,z=se/12,H=Math.cos(w)*W,U=Math.sin(w)*W;u.beginPath(),u.fillStyle=chunkCHKXYQZ5_js.l(h.graph2D?.button?.spinnerColor,z),u.arc(H,U,B,0,Math.PI*2),u.fill();}u.restore(),r.current.spinnerAngle+=.1,r.current.spinnerAngle>Math.PI*2&&(r.current.spinnerAngle-=Math.PI*2),r.current.animation.id!==null&&(cancelAnimationFrame(r.current.animation.id),r.current.animation.id=null,r.current.animation.buttonIndex=null),r.current.animation.id=requestAnimationFrame(F),r.current.animation.buttonIndex=m;}else {r.current.animation.id&&r.current.animation.buttonIndex===m&&(cancelAnimationFrame(r.current.animation.id),r.current.animation.id=null,r.current.animation.buttonIndex=null);let W=_?M.hoverImg:M.normalImg,B=M.getCount?M.getCount(t):null;W.complete?A(u,W,te,ne,Q,B,h.graph2D?.button?.textColor):W.onload=()=>{$.current&&A(u,W,te,ne,Q,B,h.graph2D?.button?.textColor);};}}u.restore();},[T,h.graph2D?.button]),J=react.useCallback(t=>{let u=Y();!u||u.length===0||(t.globalAlpha=1,u.forEach(c=>{let{x:p,y:f,color:y,fontColor:g,label:m}=c,P=r.current.highlightNodes.has(c)||c===r.current.hoveredNode||c===r.current.draggedNode,I=c===r.current.selectedNode,_=ie.nodeSizeBase,Q=ie.nodeSizeBase/2;if(P&&!I){let V=ie.nodeSizeBase*ie.nodeAreaFactor*.75/2;t.beginPath(),t.arc(p,f,V,0,2*Math.PI,false),t.fillStyle=h.graph2D.ring.highlightFill,t.fill();}if(I)if(l&&l.length>0)E(c,t);else {let V=ie.nodeSizeBase*ie.nodeAreaFactor/2;t.beginPath(),t.arc(p,f,V,0,2*Math.PI,false),t.fillStyle=h.graph2D.ring.selectionFill||h.graph2D.ring.highlightFill,t.fill();}if(t.beginPath(),t.arc(p,f,Q,0,2*Math.PI),t.fillStyle=y||X(c.group||"0"),t.fill(),m){t.save(),t.translate(p,f);let V=r.current.transform.k,ae=we(V),te=_*ie.textPaddingFactor;t.font=`${ae}px Sans-Serif`,t.textAlign="center",t.textBaseline="middle",t.fillStyle=g||"#000";let ne=le(m,te,t);t.fillText(ne,0,0),t.restore();}}));},[h.graph2D.ring,l,E]),F=react.useCallback(()=>{let t=$.current;t&&(t.clearRect(0,0,r.current.width,r.current.height),ue(t),t.save(),t.setTransform(r.current.transform.k,0,0,r.current.transform.k,r.current.transform.x,r.current.transform.y),he(t),J(t),t.restore());},[he,J,ue]),ee=react.useCallback((t,u=[],c)=>{let p=de()||[],f=Y()||[];if(!N.current||!t.length)return;let{width:y,height:g}=r.current,m=c?.smoothAppearance??false,P=c?.transitionDuration??1e3,I=new Set(f.map(M=>M.id)),_=t.filter(M=>!I.has(M.id)),Q=new Set(p.map(M=>`${typeof M.source=="object"?M.source.id:M.source}-${typeof M.target=="object"?M.target.id:M.target}`)),V=u.filter(M=>{let W=`${typeof M.source=="object"?M.source.id:M.source}-${typeof M.target=="object"?M.target.id:M.target}`;return !Q.has(W)});if(_.length===0&&V.length===0)return;let ae=[...f,..._],te=[...p,...V];m&&(_.forEach(M=>{let W=V.filter(B=>{let se=typeof B.source=="object"?B.source.id:B.source,w=typeof B.target=="object"?B.target.id:B.target;return se===M.id&&I.has(w)||w===M.id&&I.has(se)});if(W.length>0){let B=W[0],se=typeof B.source=="object"?B.source.id===M.id?B.target:B.source.id:B.source===M.id?B.target:B.source,w=ae.find(z=>z.id===se);if(w&&w.x!==void 0&&w.y!==void 0){let z=30+Math.random()*20,H=Math.random()*Math.PI*2;M.x=w.x+Math.cos(H)*z,M.y=w.y+Math.sin(H)*z,M.vx=0,M.vy=0;}}else {let B=y/2,se=g/2,w=Math.min(y,g)/4,z=Math.random()*Math.PI*2;M.x=B+Math.cos(z)*(w*Math.random()),M.y=se+Math.sin(z)*(w*Math.random()),M.vx=0,M.vy=0;}}),f.forEach(M=>{M.fx=M.x,M.fy=M.y;})),N.current.nodes(ae);let ne=N.current.force("link");ne&&ne.links(te),V.forEach(M=>{let W=typeof M.source=="object"?M.source:ae.find(se=>se.id===M.source),B=typeof M.target=="object"?M.target:ae.find(se=>se.id===M.target);!W||!B||(!W.neighbors&&(W.neighbors=[]),!B.neighbors&&(B.neighbors=[]),W.neighbors.push(B),B.neighbors.push(W),!W.links&&(W.links=[]),!B.links&&(B.links=[]),W.links.push(M),B.links.push(M));}),m?(N.current.alphaTarget(.3),N.current.alpha(.3),N.current.velocityDecay(.7),N.current.restart(),setTimeout(()=>{f.forEach(M=>{M.fx=void 0,M.fy=void 0;}),N.current?.alphaTarget(0),N.current?.alpha(.1),N.current?.velocityDecay(.6);},P)):N.current.alpha(.1).restart(),F();},[L,F]),me=react.useCallback(t=>{let u=Y(),c=de();if(!N.current||!t.length||!u||u.length===0||!c||c.length===0)return;let p=new Set(t);if(r.current.selectedNode&&r.current.selectedNode.id!==void 0&&p.has(r.current.selectedNode.id)&&(r.current.selectedNode=null),r.current.hoveredNode&&r.current.hoveredNode.id!==void 0&&p.has(r.current.hoveredNode.id)&&(r.current.hoveredNode=null,r.current.highlightNodes=new Set,r.current.highlightLinks=new Set),r.current.hoveredLink){let m=typeof r.current.hoveredLink.source=="object"?r.current.hoveredLink.source.id:r.current.hoveredLink.source,P=typeof r.current.hoveredLink.target=="object"?r.current.hoveredLink.target.id:r.current.hoveredLink.target;(m!==void 0&&p.has(m)||P!==void 0&&p.has(P))&&(r.current.hoveredLink=null,r.current.highlightNodes=new Set,r.current.highlightLinks=new Set);}r.current.draggedNode&&r.current.draggedNode.id!==void 0&&p.has(r.current.draggedNode.id)&&(r.current.draggedNode=null);let f=u.filter(m=>m.id!==void 0&&!p.has(m.id)),y=c.filter(m=>{let P=typeof m.source=="object"?m.source.id:m.source,I=typeof m.target=="object"?m.target.id:m.target;return P!==void 0&&!p.has(P)&&I!==void 0&&!p.has(I)});f.forEach(m=>{m.neighbors=[],m.links=[];}),y.forEach(m=>{let P=typeof m.source=="object"?m.source:f.find(_=>_.id===m.source),I=typeof m.target=="object"?m.target:f.find(_=>_.id===m.target);!P||!I||(P.neighbors=P.neighbors||[],I.neighbors=I.neighbors||[],P.neighbors.push(I),I.neighbors.push(P),P.links=P.links||[],I.links=I.links||[],P.links.push(m),I.links.push(m));}),N.current.nodes(f);let g=N.current.force("link");g&&g.links(y),F();},[F]),ce=react.useCallback((t=0,u=20)=>{let c=Y();if(!$.current||!D.current||!c||!c.length)return;let f=1/0,y=1/0,g=-1/0,m=-1/0;if(c.forEach(P=>{if(P.x===void 0||P.y===void 0)return;let I=P.x,_=P.y;f=Math.min(f,I),y=Math.min(y,_),g=Math.max(g,I),m=Math.max(m,_);}),isFinite(f)&&isFinite(g)&&isFinite(y)&&isFinite(m)){let{width:P,height:I}=r.current;f-=u,y-=u,g+=u,m+=u;let _=g-f,Q=m-y,V=_>0?P/_:1,ae=Q>0?I/Q:1,te=Math.min(V,ae,10),ne=f+_/2,M=y+Q/2,W={k:te,x:P/2-ne*te,y:I/2-M*te};if(t>0){let B={...r.current.transform},se=Date.now(),w=chunkCHKXYQZ5_js.a(()=>{let z=Math.min(1,(Date.now()-se)/t),H=z===1?1:1-Math.pow(1-z,3),U={k:B.k+(W.k-B.k)*H,x:B.x+(W.x-B.x)*H,y:B.y+(W.y-B.y)*H};r.current.transform=U,F(),z<1&&requestAnimationFrame(w);},"animateZoom");requestAnimationFrame(w);}else r.current.transform=W,F();}},[]),K=react.useCallback((t,u)=>{let c=Y();if(!c||c.length===0)return null;let p=ie.nodeSizeBase/2,f=typeof window<"u"&&window.devicePixelRatio||1,y=(t*f-r.current.transform.x)/r.current.transform.k,g=(u*f-r.current.transform.y)/r.current.transform.k;return c.find(m=>{let P=(m.x||0)-y,I=(m.y||0)-g;return Math.sqrt(P*P+I*I)<=p})||null},[]),oe=react.useCallback((t,u)=>{let c=de(),p=Y();if(!c||c.length===0||!p||p.length===0)return null;let f=typeof window<"u"&&window.devicePixelRatio||1,y=(t*f-r.current.transform.x)/r.current.transform.k,g=(u*f-r.current.transform.y)/r.current.transform.k,m=5;return c.find(P=>{let I=typeof P.source=="object"?P.source:p.find(ke=>ke.id===P.source),_=typeof P.target=="object"?P.target:p.find(ke=>ke.id===P.target);if(!I||!_)return false;let Q=I.x||0,V=I.y||0,ae=_.x||0,te=_.y||0,ne=y-Q,M=g-V,W=ae-Q,B=te-V,se=ne*W+M*B,w=W*W+B*B;if(w===0)return false;let z=se/w;z=Math.max(0,Math.min(1,z));let H=Q+z*W,U=V+z*B,Z=y-H,fe=g-U;return Math.sqrt(Z*Z+fe*fe)<=m})||null},[]),Ne=react.useCallback((t,u,c,p,f,y,g)=>{let m=t-c,P=u-p,I=Math.sqrt(m*m+P*P),_=Math.atan2(P,m);_<0&&(_+=2*Math.PI);let ae=I>=f*.5&&I<=f*1,te=false;return y===Math.PI&&g===Math.PI*2?te=_>=Math.PI&&_<=Math.PI*2:y===0&&g===Math.PI?te=_>=0&&_<=Math.PI:te=y<=g&&_>=y&&_<=g||y>g&&(_>=y||_<=g),ae&&te},[]),pe=react.useCallback(t=>{if(t===r.current.hoveredNode)return;let u=new Set,c=new Set;t&&(u.add(t),t.neighbors&&t.neighbors.forEach(p=>u.add(p)),t.links&&t.links.forEach(p=>c.add(p))),r.current.hoveredNode=t,b&&b(t),r.current.highlightNodes=u,r.current.highlightLinks=c;},[b]),De=react.useCallback(t=>{if(t===r.current.hoveredLink)return;let u=new Set,c=new Set;if(t){c.add(t);let p=Y();if(p){let f=typeof t.source=="object"?t.source:p.find(g=>g.id===t.source),y=typeof t.target=="object"?t.target:p.find(g=>g.id===t.target);f&&u.add(f),y&&u.add(y);}}r.current.hoveredLink=t,v&&v(t),r.current.highlightNodes=u,r.current.highlightLinks=c;},[v,Y]),Ue=react.useCallback(t=>{x&&x(t);},[x]),xe=react.useCallback(t=>{r.current.selectedNode=t,i&&i(t);},[i]),Ee=react.useCallback(()=>{r.current.selectedNode=null,d&&d();},[d]),Pe=react.useCallback(t=>{if(!D.current||!N.current)return;let u=D.current.getBoundingClientRect(),c=t.clientX-u.left,p=t.clientY-u.top;r.current.mouseStartPos={x:c,y:p},r.current.isDragging=false;let f=K(c,p);f?(r.current.draggedNode=f,f.fx=f.x,f.fy=f.y):(r.current.isPanning=true,r.current.lastMousePos={x:c,y:p});},[K]),Me=react.useCallback((t,u)=>{let c=null;if(D.current&&r.current&&T.length>0){let p=ie.nodeSizeBase*ie.nodeAreaFactor/2,f=D.current.getBoundingClientRect(),y=D.current.width/f.width,g=D.current.height/f.height,m=t*y,P=u*g,I=(m-r.current.transform.x)/r.current.transform.k,_=(P-r.current.transform.y)/r.current.transform.k,Q=r.current.selectedNode?.x||0,V=r.current.selectedNode?.y||0,ae=Math.min(T.length,8),te=Math.min(Math.PI*2/ae,Math.PI);for(let ne=0;ne<ae;ne++){let M=ne*te,W=(ne+1)*te;if(Ne(I,_,Q,V,p,M,W)){c=ne;break}}}return c},[T]),ve=react.useCallback(t=>{if(!D.current)return;let u=D.current.getBoundingClientRect(),c=t.clientX-u.left,p=t.clientY-u.top;if(r.current.draggedNode&&r.current.mouseStartPos&&N.current){let g=r.current.mouseStartPos.x,m=r.current.mouseStartPos.y,P=c-g,I=p-m;Math.sqrt(P*P+I*I)>3&&(r.current.isDragging=true,N.current.alphaTarget()===0&&N.current.alphaTarget(0).restart());let V=typeof window<"u"&&window.devicePixelRatio||1,ae=(c*V-r.current.transform.x)/r.current.transform.k,te=(p*V-r.current.transform.y)/r.current.transform.k;r.current.draggedNode.fx=ae,r.current.draggedNode.fy=te;return}if(r.current.isPanning&&r.current.mouseStartPos){let g=c-r.current.lastMousePos.x,m=p-r.current.lastMousePos.y,P=r.current.mouseStartPos.x,I=r.current.mouseStartPos.y;Math.sqrt(Math.pow(c-P,2)+Math.pow(p-I,2))>3&&(r.current.isDragging=true),r.current.transform={...r.current.transform,x:r.current.transform.x+g,y:r.current.transform.y+m},r.current.lastMousePos={x:c,y:p},F();return}let f,y;if(r.current.selectedNode&&D.current&&T.length>0){let g=Me(c,p);g!==null&&(y=r.current.selectedNode),g!==r.current.hoveredButtonIndex&&(f=true),r.current.hoveredButtonIndex=g;}else r.current.hoveredButtonIndex!==null&&(r.current.hoveredButtonIndex=null);if(!y&&(y=K(c,p),!y)){let g=oe(c,p),m=g!==r.current.hoveredLink;if(g&&r.current.hoveredNode&&pe(null),De(g),D.current&&(D.current.style.cursor=g?"pointer":"default"),m){F();return}}y&&r.current.hoveredLink&&De(null),y!==r.current.hoveredNode&&(f=true),pe(y),D.current&&(D.current.style.cursor=y?"pointer":"default"),f&&F();},[T,K,oe,pe,De,F,Ne,Me]),Ie=react.useCallback(t=>{r.current.mustBeStoppedPropagation&&(t.stopPropagation(),t.preventDefault()),r.current.mustBeStoppedPropagation=false;},[]),Ke=react.useCallback(t=>{let u=r.current.isDragging;if(u&&(r.current.mustBeStoppedPropagation=true),!u&&r.current.mouseStartPos){let c=D.current?.getBoundingClientRect();if(c){let p=t.clientX-c.left,f=t.clientY-c.top;T.length>0&&r.current.hoveredButtonIndex===null&&(r.current.hoveredButtonIndex=Me(p,f));let y=false;if(r.current.selectedNode&&r.current.hoveredButtonIndex!==null&&l[r.current.hoveredButtonIndex]){let g=l[r.current.hoveredButtonIndex];g&&g.onClick&&(g.onClick(r.current.selectedNode),y=true,r.current.hoveredButtonIndex=null);}if(!y&&r.current.draggedNode)xe(r.current.draggedNode);else if(!y&&!r.current.draggedNode){let g=oe(p,f);g?Ue(g):Ee();}}}if(r.current.draggedNode&&N.current){if(u){N.current.alphaTarget(0);let c=.05,p=.04,f=.6;N.current.alpha(c).alphaDecay(p),N.current.velocityDecay(f);}else N.current.alphaTarget(0);r.current.draggedNode.fx=void 0,r.current.draggedNode.fy=void 0,r.current.draggedNode=null;}r.current.isDragging=false,r.current.mouseStartPos=null,r.current.isPanning&&(r.current.isPanning=false),F();},[l,F,xe,Ee,oe,Ue,Me,T]),ft=react.useCallback(t=>{if(t.stopPropagation(),t.preventDefault(),!D.current)return;let u=D.current.getBoundingClientRect(),c=t.clientX-u.left,p=t.clientY-u.top,y=-t.deltaY>0?1.1:1/1.1,g=r.current.transform,m=g.k*y;if(m<.01||m>10)return;let P=g.k*y,I=c-(c-g.x)*y,_=p-(p-g.y)*y;r.current.transform={k:P,x:I,y:_},F();},[F]),mt=chunkCHKXYQZ5_js.a((t,u)=>{let c=t.touches[0];if(c){let p={clientX:c.clientX,clientY:c.clientY};u(p);}},"convertTouchToMouseEvent"),Zt=react.useCallback(t=>{mt(t,Pe);},[Pe]),gt=react.useCallback(t=>{r.current.mustBeStoppedPropagation&&(t.preventDefault(),t.stopPropagation()),r.current.mustBeStoppedPropagation=false,mt(t,Ke);},[Ke]),Gt=react.useCallback(t=>{mt(t,ve);},[ve]);return react.useImperativeHandle(C,()=>({zoomToFit:ce,addNodes:ee,removeNodes:me}),[ce,ee,me]),react.useEffect(()=>{let t=D.current,{width:u,height:c}=r.current;if(!t)return;q(),j(true);let p=u/2,f=c/2,y=ie.nodeSizeBase,g=y/2,m=y*2.5;N.current&&N.current.stop();let P=N.current=d3.forceSimulation(L).force("link",d3.forceLink(k).id(I=>I.id).distance(m).strength(.9)).force("charge",d3.forceManyBody().strength(-y/10*200).theta(.5).distanceMin(y*2)).force("x",d3.forceX().strength(.03)).force("y",d3.forceY().strength(.03)).force("center",d3.forceCenter(p,f).strength(.05)).force("collide",d3.forceCollide().radius(g*2).iterations(2).strength(1)).velocityDecay(.6);return ()=>{P.stop();}},[L,k]),react.useLayoutEffect(()=>{let t=D.current;t&&(r.current.width=o*It,r.current.height=n*It,t.width=r.current.width,t.height=r.current.height);},[o,n]),react.useEffect(()=>{if(N.current){let t=N.current;t.on("tick",()=>{F();}),t.on("end",()=>{R&&(ce(0,20),setTimeout(()=>{j(false);},200));});}R||F();},[L,k,R,F,ce]),react.useEffect(()=>{!L||!k||k.forEach(t=>{let u=typeof t.source=="object"?t.source:L.find(p=>p.id===t.source),c=typeof t.target=="object"?t.target:L.find(p=>p.id===t.target);!u||!c||(!u.neighbors&&(u.neighbors=[]),!c.neighbors&&(c.neighbors=[]),u.neighbors.push(c),c.neighbors.push(u),!u.links&&(u.links=[]),!c.links&&(c.links=[]),u.links.push(t),c.links.push(t));});},[L,k]),react.useEffect(()=>{l&&l.length>0&&S(pn(l));},[l]),react.useEffect(()=>{let t=D.current;if(!(!t||typeof window>"u"))return t.addEventListener("wheel",ft,{passive:false}),t.addEventListener("touchend",gt,{passive:false}),()=>{t.removeEventListener("wheel",ft),t.removeEventListener("touchend",gt);}},[ft,gt]),jsxRuntime.jsxs(fn,{children:[(e||R)&&jsxRuntime.jsx(_r,{width:o,height:n}),jsxRuntime.jsx(mn,{ref:D,style:{width:o,height:n,display:e||R?"none":"block"},onMouseDown:Pe,onMouseMove:ve,onMouseUp:Ke,onMouseLeave:Ke,onClick:Ie,onTouchStart:Zt,onTouchMove:Gt})]})}),fn=Xo.styled.div`
|
|
48
48
|
display: flex;
|
|
49
49
|
align-items: center;
|
|
50
50
|
justify-content: center;
|
|
51
51
|
width: 100%;
|
|
52
52
|
min-width: 0;
|
|
53
53
|
position: relative;
|
|
54
|
-
`,
|
|
54
|
+
`,mn=Xo.styled.canvas``;hn.displayName="Graph2D";var Zc=chunkCHKXYQZ5_js.w(({isActive:e,position:o,top:n=0,left:a=0,right:l,bottom:i,...d})=>jsxRuntime.jsx(vn,{$isActive:e,$position:o,$top:n,$left:a,$right:l,$bottom:i,...d})),vn=Xo__default.default.div(({$isActive:e,$top:o,$left:n,$right:a,$bottom:l,$position:i,theme:d})=>`
|
|
55
55
|
${e?`
|
|
56
56
|
position: ${i};
|
|
57
57
|
z-index: 1000;
|
|
@@ -63,7 +63,7 @@ ${e?`
|
|
|
63
63
|
`:""}
|
|
64
64
|
|
|
65
65
|
min-width: 0;
|
|
66
|
-
`);var xn=[.1,.25,.5,.75,1,1.5,2,3,4,5],kn=5,Sn=.1,Cn=120;function yt(e,o,n,a){return {x:e<n?(n-e)/2:0,y:o<a?(a-o)/2:0}}chunkCHKXYQZ5_js.a(yt,"computePadding");var Hr=chunkCHKXYQZ5_js.a(({url:e,alt:o="image",naturalWidth:n,naturalHeight:a,zoomSteps:l=xn,maxZoom:i=kn,minZoom:d=Sn,showMinimap:b=true,minimapWidth:v=Cn,className:x,onZoomChange:C})=>{let[h,R]=react.useState("adaptive"),[j,r]=react.useState(1),[L,k]=react.useState(0),[T,S]=react.useState(false),D=react.useRef(false),[N,$]=react.useState(false),[X,q]=react.useState(false),[Y,de]=react.useState({left:0,top:0}),ue=react.useRef(0),[le,we]=react.useState({width:0,height:0}),he=react.useRef({width:0,height:0}),A=react.useRef(null),E=react.useRef(null),J=react.useRef({x:0,y:0,scrollLeft:0,scrollTop:0}),F=react.useRef(h),ee=react.useRef(j),fe=react.useRef(L),ce=react.useRef(C);F.current=h,ee.current=j,fe.current=L,ce.current=C;let K=n||he.current.width,oe=a||he.current.height,Ne=L===90||L===270,pe=Ne?oe:K,De=Ne?K:oe,Ue=react.useMemo(()=>[...l].sort((w,z)=>w-z),[l]),xe=react.useCallback(()=>le.width===0||pe===0?1:Math.min(le.width/pe,le.height/De,1),[le,pe,De]),Ee=react.useCallback((w,z)=>{if(z==="in"){let U=Ue.find(Z=>Z>w+.001);return U!==void 0?Math.min(U,i):w}let H=Ue.findLast(U=>U<w-.001);return H!==void 0?Math.max(H,d):w},[Ue,i,d]),Pe=react.useCallback(()=>F.current==="adaptive"?xe():ee.current,[xe]),Me=react.useCallback(w=>{R("manual"),r(w),ce.current?.(w,"manual");},[]),ve=react.useCallback(()=>{R("adaptive"),ce.current?.(xe(),"adaptive");},[xe]),Ie=react.useCallback(w=>{requestAnimationFrame(()=>{let z=E.current;if(!z)return;let H=z.getBoundingClientRect(),U=pe*w,Z=De*w,me=yt(U,Z,H.width,H.height);z.scrollLeft=U/2+me.x-H.width/2,z.scrollTop=Z/2+me.y-H.height/2;});},[pe,De]);react.useEffect(()=>{R("adaptive"),r(1),k(0),$(false),q(false),he.current={width:0,height:0};},[e]),react.useEffect(()=>{let w=E.current;if(!w)return;let z=new ResizeObserver(H=>{let U=H[0];if(!U)return;let{width:Z,height:me}=U.contentRect;we(ye=>ye.width===Z&&ye.height===me?ye:{width:Z,height:me});});return z.observe(w),()=>z.disconnect()},[]),react.useEffect(()=>{let w=E.current;if(!w)return;let z=chunkCHKXYQZ5_js.a(()=>{cancelAnimationFrame(ue.current),ue.current=requestAnimationFrame(()=>{let H=w.scrollLeft,U=w.scrollTop;de(Z=>Z.left===H&&Z.top===U?Z:{left:H,top:U});});},"handleScroll");return w.addEventListener("scroll",z,{passive:true}),()=>{w.removeEventListener("scroll",z),cancelAnimationFrame(ue.current);}},[]),react.useEffect(()=>{let w=E.current;if(!w||!N)return;let z=chunkCHKXYQZ5_js.a(H=>{if(!(H.ctrlKey||H.metaKey))return;H.preventDefault();let U=Pe(),Z=H.deltaY>0?"out":"in",me=Ee(U,Z),ye=xe();if(Z==="out"&&me<=ye){ve();return}let ke=w.getBoundingClientRect(),ze=fe.current,Fe=ze===90||ze===270,Qe=he.current.width||1,et=he.current.height||1,Ze=Fe?et:Qe,ct=Fe?Qe:et,Jt,Kt;if(F.current==="adaptive"){let Ge=A.current;if(!Ge)return;let Je=Ge.getBoundingClientRect();Jt=(H.clientX-Je.left)/(Je.width/Ze),Kt=(H.clientY-Je.top)/(Je.height/ct);}else {let Ge=Ze*U,Je=ct*U,Sr=yt(Ge,Je,ke.width,ke.height);Jt=(w.scrollLeft+H.clientX-ke.left-Sr.x)/U,Kt=(w.scrollTop+H.clientY-ke.top-Sr.y)/U;}Me(me),requestAnimationFrame(()=>{let Ge=w.getBoundingClientRect(),Je=yt(Ze*me,ct*me,Ge.width,Ge.height);w.scrollLeft=Jt*me+Je.x-(H.clientX-Ge.left),w.scrollTop=Kt*me+Je.y-(H.clientY-Ge.top);});},"handleWheel");return w.addEventListener("wheel",z,{passive:false}),()=>w.removeEventListener("wheel",z)},[N,Pe,Ee,xe,Me,ve]),react.useEffect(()=>{if(h!=="manual")return;let w=E.current;if(!w)return;let z=chunkCHKXYQZ5_js.a(Z=>{Z.button===0&&(Z.preventDefault(),D.current=true,S(true),J.current={x:Z.clientX,y:Z.clientY,scrollLeft:w.scrollLeft,scrollTop:w.scrollTop});},"handleMouseDown"),H=chunkCHKXYQZ5_js.a(Z=>{if(!D.current)return;let{x:me,y:ye,scrollLeft:ke,scrollTop:ze}=J.current;w.scrollLeft=ke-(Z.clientX-me),w.scrollTop=ze-(Z.clientY-ye);},"handleMouseMove"),U=chunkCHKXYQZ5_js.a(()=>{D.current=false,S(false);},"handleMouseUp");return w.addEventListener("mousedown",z),window.addEventListener("mousemove",H),window.addEventListener("mouseup",U),()=>{w.removeEventListener("mousedown",z),window.removeEventListener("mousemove",H),window.removeEventListener("mouseup",U);}},[h]);let Ke=react.useCallback(()=>{h==="manual"&&ve();},[h,ve]),mt=react.useCallback(()=>{let w=Pe(),z=Ee(w,"in");z!==w&&(Me(z),Ie(z));},[Pe,Ee,Me,Ie]),ft=react.useCallback(()=>{let w=Pe(),z=Ee(w,"out");if(z<=xe()){ve();return}Me(z),Ie(z);},[Pe,Ee,xe,ve,Me,Ie]),Zt=react.useCallback(()=>{Me(1),Ie(1);},[Me,Ie]),gt=react.useCallback(()=>{k(w=>{let z=(w+90)%360;if(F.current==="manual"){let H=he.current.width,U=he.current.height,Z=z===90||z===270,me=Z?U:H,ye=Z?H:U,ke=ee.current;requestAnimationFrame(()=>{let ze=E.current;if(!ze)return;let Fe=ze.getBoundingClientRect(),Qe=me*ke,et=ye*ke,Ze=yt(Qe,et,Fe.width,Fe.height);ze.scrollLeft=Qe/2+Ze.x-Fe.width/2,ze.scrollTop=et/2+Ze.y-Fe.height/2;});}return z});},[]),Gt=react.useCallback(()=>{let w=A.current;w&&(he.current={width:w.naturalWidth,height:w.naturalHeight},$(true),q(false));},[]),t=h==="adaptive"?xe():j,u=pe*t,c=De*t,p=le.width,m=le.height,y=h==="manual"?yt(u,c,p,m):{x:0,y:0},g=b&&h==="manual"&&(u>p||c>m),f=pe>0?v/pe:0,P=De*f,I=p>0?p/j*f:0,_=m>0?m/j*f:0,Q=Math.max(0,Y.left-y.x)/j*f,V=Math.max(0,Y.top-y.y)/j*f,ae=h==="adaptive"?"Fit":`${Math.round(j*100)}%`,te=Ee(t,"in")!==t,ne=h==="manual"||t>d,M=h==="adaptive"?{width:pe?u:void 0,height:De?c:void 0,position:"relative",flexShrink:0}:{width:u,height:c,marginLeft:y.x,marginTop:y.y,flexShrink:0,position:"relative"},W={width:K*t,height:oe*t,maxWidth:"none",maxHeight:"none",position:"absolute",top:"50%",left:"50%",transform:`translate(-50%, -50%) rotate(${L}deg)`},B={cursor:h==="manual"?T?"grabbing":"grab":"default"},se={width:K*f,height:oe*f,position:"absolute",top:"50%",left:"50%",transform:`translate(-50%, -50%) rotate(${L}deg)`};return jsxRuntime.jsxs("div",{className:`h-full w-full flex flex-col min-h-0 min-w-0 overflow-hidden ${x??""}`,children:[jsxRuntime.jsxs("div",{className:"flex w-full items-center px-8.5 py-3 gap-1 shrink-0 flex-wrap",children:[jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.Ra,{style:{width:20,height:20}}),onClick:ft,disabled:!ne,p:7,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]!"}),jsxRuntime.jsx("button",{type:"button",onClick:h==="manual"?ve: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":ae,children:jsxRuntime.jsx(chunkCHKXYQZ5_js._a,{style:{fontSize:12,fontWeight:500},children:ae})}),jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.na,{style:{width:14,height:14}}),onClick:mt,disabled:!te,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]!",p:10}),jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{variant:"outlined","aria-label":"rotate-right",size:"small",color:"default",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.Na,{style:{width:16,height:16}}),onClick:gt,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]! ml-auto",p:10}),jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{variant:"outlined","aria-label":"fit-to-container",size:"small",color:h==="adaptive"?"primary":"default",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.sa,{style:{width:14,height:14}}),onClick:ve,className:`${h==="adaptive"?"bg-blue-50!":"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!"} h-[38px]!`,p:10}),jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{variant:"outlined","aria-label":"original-size",size:"small",color:h==="manual"&&j===1?"primary":"default",onClick:Zt,className:`${h==="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:jsxRuntime.jsx(chunkCHKXYQZ5_js._a,{style:{fontSize:12,fontWeight:500,lineHeight:1},children:"1:1"})})]}),jsxRuntime.jsxs("div",{className:"flex-1 min-h-0 min-w-0 relative",children:[jsxRuntime.jsx("div",{ref:E,className:`h-full w-full ${h==="adaptive"?"flex items-center justify-center overflow-hidden":"overflow-auto"}`,style:B,onDoubleClick:Ke,children:X?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx(chunkCHKXYQZ5_js._a,{color:"text.lighter",children:"Failed to load image"})}):jsxRuntime.jsx("div",{style:M,children:jsxRuntime.jsx("img",{ref:A,src:e,alt:o,draggable:false,className:"block select-none",style:W,onLoad:Gt,onError:()=>q(true)})})}),g&&jsxRuntime.jsxs("div",{className:"absolute bottom-3 right-3 rounded-lg overflow-hidden shadow-lg pointer-events-none",style:{width:v,height:P,backdropFilter:"blur(8px)",background:"rgba(255,255,255,0.75)"},children:[jsxRuntime.jsx("div",{style:se,children:jsxRuntime.jsx("img",{src:e,alt:"",draggable:false,className:"block w-full h-full object-fill"})}),jsxRuntime.jsx("div",{className:"absolute border-2 border-blue-500 rounded-sm",style:{width:Math.min(I,v),height:Math.min(_,P),left:Math.max(0,Math.min(Q,v-I)),top:Math.max(0,Math.min(V,P-_)),background:"rgba(59,130,246,0.1)"}})]})]})]})},"ImageDriver");var $r=chunkCHKXYQZ5_js.a(({url:e})=>jsxRuntime.jsx("div",{className:"flex flex-col justify-center items-center w-full h-full py-5.5 px-8.5",children:jsxRuntime.jsx("audio",{controls:true,src:e,className:"w-full"})}),"AudioDriver");var er=chunkCHKXYQZ5_js.a(({url:e})=>{let[o,n]=react.useState(null),[a,l]=react.useState(false),[i,d]=react.useState(true),[b,v]=react.useState(null);return react.useEffect(()=>{l(true);},[]),react.useEffect(()=>{if(!a)return;chunkCHKXYQZ5_js.a(async()=>{try{let C=await import('./PdfDriver-QVSVI5RP.js');n(()=>C.PdfDriver),d(!1);}catch(C){console.error("Failed to load PDF driver:",C),v("Failed to load PDF viewer"),d(false);}},"loadPdfDriver")();},[a]),a?i?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading PDF viewer..."})}):b||!o?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-red-500 text-center",children:jsxRuntime.jsx("p",{children:b||"PDF viewer unavailable"})})}):jsxRuntime.jsx(o,{url:e}):jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading PDF viewer..."})})},"PdfDriverWrapper");var qr=50,Pn=1e4,Yr=chunkCHKXYQZ5_js.a(({url:e,blob:o})=>{let n=react.useRef(null),a=react.useRef(null),[l,i]=react.useState(null),[d,b]=react.useState(true),[v,x]=react.useState(1),C=react.useRef(false),[h,R]=react.useState({width:0,height:0}),j=react.useRef(0),r=chunkCHKXYQZ5_js.a(()=>{C.current=true,x(k=>Math.min(k+.25,4));},"handleZoomIn"),L=chunkCHKXYQZ5_js.a(()=>{C.current=true,x(k=>Math.max(k-.25,.25));},"handleZoomOut");return react.useEffect(()=>{chunkCHKXYQZ5_js.a(async()=>{if(a.current)try{b(!0),i(null);let T=o;if(!T&&e&&(T=await(await fetch(e)).blob()),!T){i("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(T.size/(1024*1024)>qr){i(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${qr} \u041C\u0411)`);return}a.current.innerHTML="";let D=docxPreview.renderAsync(T,a.current,void 0,{debug:!0,experimental:!0,hideWrapperOnPrint:!0,breakPages:!0,ignoreLastRenderedPageBreak:!1}),N=new Promise((X,q)=>setTimeout(()=>q(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")),Pn));await Promise.race([D,N]),await new Promise(X=>requestAnimationFrame(X));let $=a.current.querySelector(".docx-wrapper");if($&&(j.current=$.offsetWidth,R({width:$.offsetWidth,height:$.offsetHeight})),n.current&&j.current>0){let X=n.current.clientWidth,q=Math.min(X/j.current,1);x(q);}b(!1);}catch(T){i(T?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B"),b(false);}},"renderDocument")();},[e,o]),react.useEffect(()=>{if(!n.current)return;let k=Nn__default.default(S=>{if(!(C.current||j.current===0))for(let D of S){let N=D.contentRect.width,$=Math.min(N/j.current,1);x($);}},150),T=new ResizeObserver(k);return T.observe(n.current),()=>{T.disconnect(),k.cancel();}},[]),jsxRuntime.jsxs("div",{className:"h-full w-full flex flex-col px-0.5",children:[jsxRuntime.jsxs("div",{className:"flex justify-center items-stretch px-8 py-3 gap-1 border-b border-gray-200 dark:border-neutral-700",children:[jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.Ra,{style:{width:20,height:20}}),onClick:L,disabled:v<=.25,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:7}),jsxRuntime.jsxs(chunkCHKXYQZ5_js.rb,{py:8,px:8,className:"flex items-center justify-between gap-1.5 min-w-21 rounded-[5px]!",children:[jsxRuntime.jsx(chunkCHKXYQZ5_js._a,{color:"text.lighter",style:{fontSize:10},children:"Scale:"}),jsxRuntime.jsxs(chunkCHKXYQZ5_js._a,{children:[Math.round(v*100),"%"]})]}),jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.na,{style:{width:14,height:14}}),onClick:r,disabled:v>=4,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:10})]}),!!l&&!d&&jsxRuntime.jsx("div",{className:"text-red-500 p-8",children:l}),d&&jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F..."}),jsxRuntime.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:jsxRuntime.jsx("div",{style:{width:h.width>0?h.width*v:void 0,height:h.height>0?h.height*v:void 0,overflow:"hidden",margin:"0 auto"},children:jsxRuntime.jsx("div",{ref:a,className:`[&>div.docx-wrapper_table_*]:wrap-break-word!
|
|
66
|
+
`);var xn=[.1,.25,.5,.75,1,1.5,2,3,4,5],kn=5,Sn=.1,Cn=120;function yt(e,o,n,a){return {x:e<n?(n-e)/2:0,y:o<a?(a-o)/2:0}}chunkCHKXYQZ5_js.a(yt,"computePadding");var Hr=chunkCHKXYQZ5_js.a(({url:e,alt:o="image",naturalWidth:n,naturalHeight:a,zoomSteps:l=xn,maxZoom:i=kn,minZoom:d=Sn,showMinimap:b=true,minimapWidth:v=Cn,className:x,onZoomChange:C})=>{let[h,R]=react.useState("adaptive"),[j,r]=react.useState(1),[L,k]=react.useState(0),[T,S]=react.useState(false),D=react.useRef(false),[N,$]=react.useState(false),[X,q]=react.useState(false),[Y,de]=react.useState({left:0,top:0}),ue=react.useRef(0),[le,we]=react.useState({width:0,height:0}),he=react.useRef({width:0,height:0}),A=react.useRef(null),E=react.useRef(null),J=react.useRef({x:0,y:0,scrollLeft:0,scrollTop:0}),F=react.useRef(h),ee=react.useRef(j),me=react.useRef(L),ce=react.useRef(C);F.current=h,ee.current=j,me.current=L,ce.current=C;let K=n||he.current.width,oe=a||he.current.height,Ne=L===90||L===270,pe=Ne?oe:K,De=Ne?K:oe,Ue=react.useMemo(()=>[...l].sort((w,z)=>w-z),[l]),xe=react.useCallback(()=>le.width===0||pe===0?1:Math.min(le.width/pe,le.height/De,1),[le,pe,De]),Ee=react.useCallback((w,z)=>{if(z==="in"){let U=Ue.find(Z=>Z>w+.001);return U!==void 0?Math.min(U,i):w}let H=Ue.findLast(U=>U<w-.001);return H!==void 0?Math.max(H,d):w},[Ue,i,d]),Pe=react.useCallback(()=>F.current==="adaptive"?xe():ee.current,[xe]),Me=react.useCallback(w=>{R("manual"),r(w),ce.current?.(w,"manual");},[]),ve=react.useCallback(()=>{R("adaptive"),ce.current?.(xe(),"adaptive");},[xe]),Ie=react.useCallback(w=>{requestAnimationFrame(()=>{let z=E.current;if(!z)return;let H=z.getBoundingClientRect(),U=pe*w,Z=De*w,fe=yt(U,Z,H.width,H.height);z.scrollLeft=U/2+fe.x-H.width/2,z.scrollTop=Z/2+fe.y-H.height/2;});},[pe,De]);react.useEffect(()=>{R("adaptive"),r(1),k(0),$(false),q(false),he.current={width:0,height:0};},[e]),react.useEffect(()=>{let w=E.current;if(!w)return;let z=new ResizeObserver(H=>{let U=H[0];if(!U)return;let{width:Z,height:fe}=U.contentRect;we(ye=>ye.width===Z&&ye.height===fe?ye:{width:Z,height:fe});});return z.observe(w),()=>z.disconnect()},[]),react.useEffect(()=>{let w=E.current;if(!w)return;let z=chunkCHKXYQZ5_js.a(()=>{cancelAnimationFrame(ue.current),ue.current=requestAnimationFrame(()=>{let H=w.scrollLeft,U=w.scrollTop;de(Z=>Z.left===H&&Z.top===U?Z:{left:H,top:U});});},"handleScroll");return w.addEventListener("scroll",z,{passive:true}),()=>{w.removeEventListener("scroll",z),cancelAnimationFrame(ue.current);}},[]),react.useEffect(()=>{let w=E.current;if(!w||!N)return;let z=chunkCHKXYQZ5_js.a(H=>{if(!(H.ctrlKey||H.metaKey))return;H.preventDefault();let U=Pe(),Z=H.deltaY>0?"out":"in",fe=Ee(U,Z),ye=xe();if(Z==="out"&&fe<=ye){ve();return}let ke=w.getBoundingClientRect(),ze=me.current,Fe=ze===90||ze===270,Qe=he.current.width||1,et=he.current.height||1,Ze=Fe?et:Qe,ct=Fe?Qe:et,Jt,Kt;if(F.current==="adaptive"){let Ge=A.current;if(!Ge)return;let Je=Ge.getBoundingClientRect();Jt=(H.clientX-Je.left)/(Je.width/Ze),Kt=(H.clientY-Je.top)/(Je.height/ct);}else {let Ge=Ze*U,Je=ct*U,Sr=yt(Ge,Je,ke.width,ke.height);Jt=(w.scrollLeft+H.clientX-ke.left-Sr.x)/U,Kt=(w.scrollTop+H.clientY-ke.top-Sr.y)/U;}Me(fe),requestAnimationFrame(()=>{let Ge=w.getBoundingClientRect(),Je=yt(Ze*fe,ct*fe,Ge.width,Ge.height);w.scrollLeft=Jt*fe+Je.x-(H.clientX-Ge.left),w.scrollTop=Kt*fe+Je.y-(H.clientY-Ge.top);});},"handleWheel");return w.addEventListener("wheel",z,{passive:false}),()=>w.removeEventListener("wheel",z)},[N,Pe,Ee,xe,Me,ve]),react.useEffect(()=>{if(h!=="manual")return;let w=E.current;if(!w)return;let z=chunkCHKXYQZ5_js.a(Z=>{Z.button===0&&(Z.preventDefault(),D.current=true,S(true),J.current={x:Z.clientX,y:Z.clientY,scrollLeft:w.scrollLeft,scrollTop:w.scrollTop});},"handleMouseDown"),H=chunkCHKXYQZ5_js.a(Z=>{if(!D.current)return;let{x:fe,y:ye,scrollLeft:ke,scrollTop:ze}=J.current;w.scrollLeft=ke-(Z.clientX-fe),w.scrollTop=ze-(Z.clientY-ye);},"handleMouseMove"),U=chunkCHKXYQZ5_js.a(()=>{D.current=false,S(false);},"handleMouseUp");return w.addEventListener("mousedown",z),window.addEventListener("mousemove",H),window.addEventListener("mouseup",U),()=>{w.removeEventListener("mousedown",z),window.removeEventListener("mousemove",H),window.removeEventListener("mouseup",U);}},[h]);let Ke=react.useCallback(()=>{h==="manual"&&ve();},[h,ve]),ft=react.useCallback(()=>{let w=Pe(),z=Ee(w,"in");z!==w&&(Me(z),Ie(z));},[Pe,Ee,Me,Ie]),mt=react.useCallback(()=>{let w=Pe(),z=Ee(w,"out");if(z<=xe()){ve();return}Me(z),Ie(z);},[Pe,Ee,xe,ve,Me,Ie]),Zt=react.useCallback(()=>{Me(1),Ie(1);},[Me,Ie]),gt=react.useCallback(()=>{k(w=>{let z=(w+90)%360;if(F.current==="manual"){let H=he.current.width,U=he.current.height,Z=z===90||z===270,fe=Z?U:H,ye=Z?H:U,ke=ee.current;requestAnimationFrame(()=>{let ze=E.current;if(!ze)return;let Fe=ze.getBoundingClientRect(),Qe=fe*ke,et=ye*ke,Ze=yt(Qe,et,Fe.width,Fe.height);ze.scrollLeft=Qe/2+Ze.x-Fe.width/2,ze.scrollTop=et/2+Ze.y-Fe.height/2;});}return z});},[]),Gt=react.useCallback(()=>{let w=A.current;w&&(he.current={width:w.naturalWidth,height:w.naturalHeight},$(true),q(false));},[]),t=h==="adaptive"?xe():j,u=pe*t,c=De*t,p=le.width,f=le.height,y=h==="manual"?yt(u,c,p,f):{x:0,y:0},g=b&&h==="manual"&&(u>p||c>f),m=pe>0?v/pe:0,P=De*m,I=p>0?p/j*m:0,_=f>0?f/j*m:0,Q=Math.max(0,Y.left-y.x)/j*m,V=Math.max(0,Y.top-y.y)/j*m,ae=h==="adaptive"?"Fit":`${Math.round(j*100)}%`,te=Ee(t,"in")!==t,ne=h==="manual"||t>d,M=h==="adaptive"?{width:pe?u:void 0,height:De?c:void 0,position:"relative",flexShrink:0}:{width:u,height:c,marginLeft:y.x,marginTop:y.y,flexShrink:0,position:"relative"},W={width:K*t,height:oe*t,maxWidth:"none",maxHeight:"none",position:"absolute",top:"50%",left:"50%",transform:`translate(-50%, -50%) rotate(${L}deg)`},B={cursor:h==="manual"?T?"grabbing":"grab":"default"},se={width:K*m,height:oe*m,position:"absolute",top:"50%",left:"50%",transform:`translate(-50%, -50%) rotate(${L}deg)`};return jsxRuntime.jsxs("div",{className:`h-full w-full flex flex-col min-h-0 min-w-0 overflow-hidden ${x??""}`,children:[jsxRuntime.jsxs("div",{className:"flex w-full items-center px-8.5 py-3 gap-1 shrink-0 flex-wrap",children:[jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.Ra,{style:{width:20,height:20}}),onClick:mt,disabled:!ne,p:7,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]!"}),jsxRuntime.jsx("button",{type:"button",onClick:h==="manual"?ve: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":ae,children:jsxRuntime.jsx(chunkCHKXYQZ5_js._a,{style:{fontSize:12,fontWeight:500},children:ae})}),jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.na,{style:{width:14,height:14}}),onClick:ft,disabled:!te,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]!",p:10}),jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{variant:"outlined","aria-label":"rotate-right",size:"small",color:"default",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.Na,{style:{width:16,height:16}}),onClick:gt,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]! ml-auto",p:10}),jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{variant:"outlined","aria-label":"fit-to-container",size:"small",color:h==="adaptive"?"primary":"default",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.sa,{style:{width:14,height:14}}),onClick:ve,className:`${h==="adaptive"?"bg-blue-50!":"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!"} h-[38px]!`,p:10}),jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{variant:"outlined","aria-label":"original-size",size:"small",color:h==="manual"&&j===1?"primary":"default",onClick:Zt,className:`${h==="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:jsxRuntime.jsx(chunkCHKXYQZ5_js._a,{style:{fontSize:12,fontWeight:500,lineHeight:1},children:"1:1"})})]}),jsxRuntime.jsxs("div",{className:"flex-1 min-h-0 min-w-0 relative",children:[jsxRuntime.jsx("div",{ref:E,className:`h-full w-full ${h==="adaptive"?"flex items-center justify-center overflow-hidden":"overflow-auto"}`,style:B,onDoubleClick:Ke,children:X?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx(chunkCHKXYQZ5_js._a,{color:"text.lighter",children:"Failed to load image"})}):jsxRuntime.jsx("div",{style:M,children:jsxRuntime.jsx("img",{ref:A,src:e,alt:o,draggable:false,className:"block select-none",style:W,onLoad:Gt,onError:()=>q(true)})})}),g&&jsxRuntime.jsxs("div",{className:"absolute bottom-3 right-3 rounded-lg overflow-hidden shadow-lg pointer-events-none",style:{width:v,height:P,backdropFilter:"blur(8px)",background:"rgba(255,255,255,0.75)"},children:[jsxRuntime.jsx("div",{style:se,children:jsxRuntime.jsx("img",{src:e,alt:"",draggable:false,className:"block w-full h-full object-fill"})}),jsxRuntime.jsx("div",{className:"absolute border-2 border-blue-500 rounded-sm",style:{width:Math.min(I,v),height:Math.min(_,P),left:Math.max(0,Math.min(Q,v-I)),top:Math.max(0,Math.min(V,P-_)),background:"rgba(59,130,246,0.1)"}})]})]})]})},"ImageDriver");var $r=chunkCHKXYQZ5_js.a(({url:e})=>jsxRuntime.jsx("div",{className:"flex flex-col justify-center items-center w-full h-full py-5.5 px-8.5",children:jsxRuntime.jsx("audio",{controls:true,src:e,className:"w-full"})}),"AudioDriver");var er=chunkCHKXYQZ5_js.a(({url:e})=>{let[o,n]=react.useState(null),[a,l]=react.useState(false),[i,d]=react.useState(true),[b,v]=react.useState(null);return react.useEffect(()=>{l(true);},[]),react.useEffect(()=>{if(!a)return;chunkCHKXYQZ5_js.a(async()=>{try{let C=await import('./PdfDriver-QVSVI5RP.js');n(()=>C.PdfDriver),d(!1);}catch(C){console.error("Failed to load PDF driver:",C),v("Failed to load PDF viewer"),d(false);}},"loadPdfDriver")();},[a]),a?i?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading PDF viewer..."})}):b||!o?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-red-500 text-center",children:jsxRuntime.jsx("p",{children:b||"PDF viewer unavailable"})})}):jsxRuntime.jsx(o,{url:e}):jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading PDF viewer..."})})},"PdfDriverWrapper");var qr=50,Pn=1e4,Yr=chunkCHKXYQZ5_js.a(({url:e,blob:o})=>{let n=react.useRef(null),a=react.useRef(null),[l,i]=react.useState(null),[d,b]=react.useState(true),[v,x]=react.useState(1),C=react.useRef(false),[h,R]=react.useState({width:0,height:0}),j=react.useRef(0),r=chunkCHKXYQZ5_js.a(()=>{C.current=true,x(k=>Math.min(k+.25,4));},"handleZoomIn"),L=chunkCHKXYQZ5_js.a(()=>{C.current=true,x(k=>Math.max(k-.25,.25));},"handleZoomOut");return react.useEffect(()=>{chunkCHKXYQZ5_js.a(async()=>{if(a.current)try{b(!0),i(null);let T=o;if(!T&&e&&(T=await(await fetch(e)).blob()),!T){i("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(T.size/(1024*1024)>qr){i(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${qr} \u041C\u0411)`);return}a.current.innerHTML="";let D=docxPreview.renderAsync(T,a.current,void 0,{debug:!0,experimental:!0,hideWrapperOnPrint:!0,breakPages:!0,ignoreLastRenderedPageBreak:!1}),N=new Promise((X,q)=>setTimeout(()=>q(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")),Pn));await Promise.race([D,N]),await new Promise(X=>requestAnimationFrame(X));let $=a.current.querySelector(".docx-wrapper");if($&&(j.current=$.offsetWidth,R({width:$.offsetWidth,height:$.offsetHeight})),n.current&&j.current>0){let X=n.current.clientWidth,q=Math.min(X/j.current,1);x(q);}b(!1);}catch(T){i(T?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B"),b(false);}},"renderDocument")();},[e,o]),react.useEffect(()=>{if(!n.current)return;let k=Nn__default.default(S=>{if(!(C.current||j.current===0))for(let D of S){let N=D.contentRect.width,$=Math.min(N/j.current,1);x($);}},150),T=new ResizeObserver(k);return T.observe(n.current),()=>{T.disconnect(),k.cancel();}},[]),jsxRuntime.jsxs("div",{className:"h-full w-full flex flex-col px-0.5",children:[jsxRuntime.jsxs("div",{className:"flex justify-center items-stretch px-8 py-3 gap-1 border-b border-gray-200 dark:border-neutral-700",children:[jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.Ra,{style:{width:20,height:20}}),onClick:L,disabled:v<=.25,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:7}),jsxRuntime.jsxs(chunkCHKXYQZ5_js.rb,{py:8,px:8,className:"flex items-center justify-between gap-1.5 min-w-21 rounded-[5px]!",children:[jsxRuntime.jsx(chunkCHKXYQZ5_js._a,{color:"text.lighter",style:{fontSize:10},children:"Scale:"}),jsxRuntime.jsxs(chunkCHKXYQZ5_js._a,{children:[Math.round(v*100),"%"]})]}),jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.na,{style:{width:14,height:14}}),onClick:r,disabled:v>=4,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:10})]}),!!l&&!d&&jsxRuntime.jsx("div",{className:"text-red-500 p-8",children:l}),d&&jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F..."}),jsxRuntime.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:jsxRuntime.jsx("div",{style:{width:h.width>0?h.width*v:void 0,height:h.height>0?h.height*v:void 0,overflow:"hidden",margin:"0 auto"},children:jsxRuntime.jsx("div",{ref:a,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!
|
|
@@ -83,7 +83,7 @@ ${e?`
|
|
|
83
83
|
`||d==="\r"&&e[i+1]!==`
|
|
84
84
|
`)){let b=i,v=e.slice(a,b).replace(/\r$/,"");v&&o.push(v),a=i+1,l=i+1;}}return [o,e.slice(l)]}chunkCHKXYQZ5_js.a(Xn,"splitCsvRows");function qn(e,o){return e.stream?Promise.resolve(e.stream):e.blob?Promise.resolve(e.blob.stream()):e.url?fetch(e.url,{signal:o}).then(n=>{if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.body}):Promise.reject(new Error("No source provided"))}chunkCHKXYQZ5_js.a(qn,"resolveStream");function eo(e){let[o,n]=react.useState("idle"),[a,l]=react.useState(0),[i,d]=react.useState([]),[b,v]=react.useState(null),[x,C]=react.useState(0),[h,R]=react.useState(0),j=react.useRef(e),r=react.useRef(0),L=react.useRef(0),k=react.useRef(""),T=react.useRef(new ut(10)),S=react.useRef(null),D=react.useRef(null),N=react.useRef(new Set),$=react.useRef(null),X=react.useRef(false),q=react.useCallback((E,J)=>{let F=E+`
|
|
85
85
|
`+J.join(`
|
|
86
|
-
`),{data:ee}=ar__default.default.parse(F,{header:true,dynamicTyping:false,skipEmptyLines:true});return ee},[]),Y=react.useCallback(async(E,J)=>{let F=S.current;if(!F)return;let ee=Math.max(0,Math.floor(E/1e3)-2),
|
|
86
|
+
`),{data:ee}=ar__default.default.parse(F,{header:true,dynamicTyping:false,skipEmptyLines:true});return ee},[]),Y=react.useCallback(async(E,J)=>{let F=S.current;if(!F)return;let ee=Math.max(0,Math.floor(E/1e3)-2),me=Math.min(r.current-1,Math.floor(J/1e3)+2),ce=false;for(let K=ee;K<=me;K++)if(T.current.get(K)===void 0&&!N.current.has(K)){N.current.add(K);try{let oe=await F.get(K);if(oe&&k.current){let Ne=q(k.current,oe);T.current.set(K,Ne),ce=!0;}}finally{N.current.delete(K);}}ce&&R(K=>K+1);},[q]),de=react.useCallback(E=>{let J=Math.floor(E/1e3),F=E%1e3;return T.current.get(J)?.[F]},[h]),ue=react.useCallback(async()=>{X.current=true;let E=new AbortController;D.current=E,await S.current?.destroy();let J=await Bt();S.current=J,r.current=0,L.current=0,k.current="",T.current.clear(),d([]),l(0),v(null),C(0),n("loading");let F=j.current;try{let ee=await qn(F,E.signal);n("streaming");let me=ee.getReader(),ce=new TextDecoder("utf-8"),K="",oe=[],Ne=!0,pe=0,De=0,Ue=F.blob?.size||0;for(;;){if(E.signal.aborted)return;let{done:xe,value:Ee}=await me.read();if(xe)break;pe+=Ee.byteLength,Ue&&C(pe/Ue),K+=ce.decode(Ee,{stream:!0});let[Pe,Me]=Xn(K);if(Pe.length!==0){if(K=Me,Ne&&Pe.length>0){k.current=Pe.shift().replace(/^\uFEFF/,"");let{data:ve}=ar__default.default.parse(k.current,{});ve[0]&&d(ve[0]),Ne=!1;}for(let ve of Pe)if(ve.trim()&&(oe.push(ve),oe.length>=1e3)){let Ie=r.current;if(await J.set(Ie,oe),Ie<3){let Ke=q(k.current,oe);T.current.set(Ie,Ke);}r.current+=1,De+=oe.length,oe=[],L.current=De,$.current||($.current=requestAnimationFrame(()=>{l(L.current),$.current=null;}));}}}if(K.trim())if(Ne){k.current=K;let{data:xe}=ar__default.default.parse(k.current,{});xe[0]&&d(xe[0]);}else oe.push(K);oe.length>0&&(await J.set(r.current,oe),r.current+=1,De+=oe.length),$.current&&(cancelAnimationFrame($.current),$.current=null),l(De),C(1),n("done");}catch(ee){if(E.signal.aborted)return;let me=ee instanceof Error?ee.message:"Unknown error";v(me),n("partial_error");}finally{X.current=false;}},[q]),le=react.useRef(false);react.useEffect(()=>(le.current=true,X.current||ue(),()=>{le.current=false,queueMicrotask(()=>{le.current||(D.current?.abort(),S.current?.destroy(),$.current&&cancelAnimationFrame($.current));});}),[ue]);let we=S.current?.sessionId??null,he=r.current,A=react.useCallback(E=>{T.current.pin(E);},[]);return {state:o,headers:i,totalRows:a,getRow:de,error:b,progress:x,prefetchRange:Y,sessionId:we,chunkCount:he,pinChunks:A}}chunkCHKXYQZ5_js.a(eo,"useCsvStream");var Yn=`
|
|
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
|
-
`,St=null,Ct=null;function lr(){if(!St){let e=new Blob([Yn],{type:"application/javascript"});Ct=URL.createObjectURL(e),St=new Worker(Ct);}return St}chunkCHKXYQZ5_js.a(lr,"getSearchWorker");function to(){St?.terminate(),St=null,Ct&&(URL.revokeObjectURL(Ct),Ct=null);}chunkCHKXYQZ5_js.a(to,"terminateSearchWorker");function ro(e,o){let[n,a]=react.useState(""),[l,i]=react.useState("idle"),[d,b]=react.useState(null),[v,x]=react.useState({searched:0,total:0,found:0}),C=react.useRef(null),h=react.useCallback(r=>{if(!e||o===0)return;if(!r.trim()){b(null),i("idle"),x({searched:0,total:0,found:0});return}i("searching"),x({searched:0,total:o,found:0});let L=lr();L.onmessage=k=>{let{type:T}=k.data;T==="progress"&&x({searched:k.data.searched,total:k.data.total,found:k.data.found}),T==="done"&&(b(k.data.matchedIndices),i("done")),T==="cancelled"&&i("idle"),T==="error"&&(i("idle"),console.error("Search worker error:",k.data.message));},L.postMessage({type:"cancel"}),L.postMessage({type:"search",sessionId:e,query:r,chunkCount:o,chunkSize:1e3});},[e,o]),R=react.useCallback(r=>{a(r),C.current&&clearTimeout(C.current),C.current=setTimeout(()=>{h(r);},300);},[h]),j=react.useCallback(()=>{a(""),b(null),i("idle"),x({searched:0,total:0,found:0}),lr().postMessage({type:"cancel"});},[]);return react.useEffect(()=>()=>{C.current&&clearTimeout(C.current),to();},[]),{query:n,onQueryChange:R,clearSearch:j,searchState:l,matchedIndices:d,searchProgress:v}}chunkCHKXYQZ5_js.a(ro,"useCsvSearch");var ra={loading:"Loading...",rows:"rows",retry:"Retry",searchPlaceholder:"Search...",searchFound:"found",searching:"Searching..."};function oa(e,o,n){let a=1/0,l=-1/0,i=Math.min(n,e.length-1);for(let d=o;d<=i;d++){let b=e[d];b<a&&(a=b),b>l&&(l=b);}return {min:a,max:l}}chunkCHKXYQZ5_js.a(oa,"getMinMax");function na(e,o,n){let a=Math.min(100,n),l=e.map(()=>[]);for(let i=0;i<a;i++){let d=o(i);if(d)for(let b=0;b<e.length;b++){let v=d[e[b]]??"";l[b].push(v.length);}}return e.map((i,d)=>{let b=i.length*9,v=l[d];if(v.length===0)return Math.min(Math.max(150,b+24),800);v.sort((j,r)=>j-r);let x=Math.floor(v.length*.9),h=v[x]*7.5+24,R=Math.max(b+24,h);return Math.min(Math.max(50,R),800)})}chunkCHKXYQZ5_js.a(na,"estimateColumnWidths");var ur=chunkCHKXYQZ5_js.a(e=>{let{state:o,headers:n,totalRows:a,getRow:l,error:i,progress:d,prefetchRange:b,sessionId:v,chunkCount:x,pinChunks:C}=eo(e),h={...ra,...e.labels},{query:R,onQueryChange:j,clearSearch:r,searchState:L,matchedIndices:k}=ro(v,x),T=k!==null,S=T?k.length:a,[D,N]=react.useState([]),$=react.useRef(null),X=react.useRef(null),q=react.useRef(false),Y=react.useRef(false);react.useEffect(()=>{Y.current=false,q.current=false,N([]);},[v]),react.useEffect(()=>{if(n.length===0||q.current||Y.current||a===0)return;let A=l(0);!A||!n.some(E=>A[E]!==void 0)||(Y.current=true,N(na(n,l,a)));},[n,a,l]),react.useEffect(()=>()=>X.current?.(),[]);let de=react.useCallback((A,E)=>{A.preventDefault(),q.current=true;let J=A.clientX,F=D[E]??150;$.current={index:E,startX:J,startWidth:F};let ee=chunkCHKXYQZ5_js.a(ce=>{if(!$.current)return;let K=ce.clientX-J,oe=Math.max(50,F+K);N(Ne=>{let pe=[...Ne];return pe[E]=oe,pe});},"onMouseMove"),
|
|
172
|
+
`,St=null,Ct=null;function lr(){if(!St){let e=new Blob([Yn],{type:"application/javascript"});Ct=URL.createObjectURL(e),St=new Worker(Ct);}return St}chunkCHKXYQZ5_js.a(lr,"getSearchWorker");function to(){St?.terminate(),St=null,Ct&&(URL.revokeObjectURL(Ct),Ct=null);}chunkCHKXYQZ5_js.a(to,"terminateSearchWorker");function ro(e,o){let[n,a]=react.useState(""),[l,i]=react.useState("idle"),[d,b]=react.useState(null),[v,x]=react.useState({searched:0,total:0,found:0}),C=react.useRef(null),h=react.useCallback(r=>{if(!e||o===0)return;if(!r.trim()){b(null),i("idle"),x({searched:0,total:0,found:0});return}i("searching"),x({searched:0,total:o,found:0});let L=lr();L.onmessage=k=>{let{type:T}=k.data;T==="progress"&&x({searched:k.data.searched,total:k.data.total,found:k.data.found}),T==="done"&&(b(k.data.matchedIndices),i("done")),T==="cancelled"&&i("idle"),T==="error"&&(i("idle"),console.error("Search worker error:",k.data.message));},L.postMessage({type:"cancel"}),L.postMessage({type:"search",sessionId:e,query:r,chunkCount:o,chunkSize:1e3});},[e,o]),R=react.useCallback(r=>{a(r),C.current&&clearTimeout(C.current),C.current=setTimeout(()=>{h(r);},300);},[h]),j=react.useCallback(()=>{a(""),b(null),i("idle"),x({searched:0,total:0,found:0}),lr().postMessage({type:"cancel"});},[]);return react.useEffect(()=>()=>{C.current&&clearTimeout(C.current),to();},[]),{query:n,onQueryChange:R,clearSearch:j,searchState:l,matchedIndices:d,searchProgress:v}}chunkCHKXYQZ5_js.a(ro,"useCsvSearch");var ra={loading:"Loading...",rows:"rows",retry:"Retry",searchPlaceholder:"Search...",searchFound:"found",searching:"Searching..."};function oa(e,o,n){let a=1/0,l=-1/0,i=Math.min(n,e.length-1);for(let d=o;d<=i;d++){let b=e[d];b<a&&(a=b),b>l&&(l=b);}return {min:a,max:l}}chunkCHKXYQZ5_js.a(oa,"getMinMax");function na(e,o,n){let a=Math.min(100,n),l=e.map(()=>[]);for(let i=0;i<a;i++){let d=o(i);if(d)for(let b=0;b<e.length;b++){let v=d[e[b]]??"";l[b].push(v.length);}}return e.map((i,d)=>{let b=i.length*9,v=l[d];if(v.length===0)return Math.min(Math.max(150,b+24),800);v.sort((j,r)=>j-r);let x=Math.floor(v.length*.9),h=v[x]*7.5+24,R=Math.max(b+24,h);return Math.min(Math.max(50,R),800)})}chunkCHKXYQZ5_js.a(na,"estimateColumnWidths");var ur=chunkCHKXYQZ5_js.a(e=>{let{state:o,headers:n,totalRows:a,getRow:l,error:i,progress:d,prefetchRange:b,sessionId:v,chunkCount:x,pinChunks:C}=eo(e),h={...ra,...e.labels},{query:R,onQueryChange:j,clearSearch:r,searchState:L,matchedIndices:k}=ro(v,x),T=k!==null,S=T?k.length:a,[D,N]=react.useState([]),$=react.useRef(null),X=react.useRef(null),q=react.useRef(false),Y=react.useRef(false);react.useEffect(()=>{Y.current=false,q.current=false,N([]);},[v]),react.useEffect(()=>{if(n.length===0||q.current||Y.current||a===0)return;let A=l(0);!A||!n.some(E=>A[E]!==void 0)||(Y.current=true,N(na(n,l,a)));},[n,a,l]),react.useEffect(()=>()=>X.current?.(),[]);let de=react.useCallback((A,E)=>{A.preventDefault(),q.current=true;let J=A.clientX,F=D[E]??150;$.current={index:E,startX:J,startWidth:F};let ee=chunkCHKXYQZ5_js.a(ce=>{if(!$.current)return;let K=ce.clientX-J,oe=Math.max(50,F+K);N(Ne=>{let pe=[...Ne];return pe[E]=oe,pe});},"onMouseMove"),me=chunkCHKXYQZ5_js.a(()=>{$.current=null,X.current=null,document.removeEventListener("mousemove",ee),document.removeEventListener("mouseup",me);},"onMouseUp");X.current=me,document.addEventListener("mousemove",ee),document.addEventListener("mouseup",me);},[D]),ue=D.reduce((A,E)=>A+E,0),le=react.useCallback(()=>jsxRuntime.jsx(sa,{children:n.map((A,E)=>jsxRuntime.jsxs(la,{style:{width:D[E]},children:[A,jsxRuntime.jsx(ca,{onMouseDown:J=>de(J,E)})]},E))}),[n,D,de]),we=react.useCallback(A=>{if(T&&k){let E=1/0,J=-1/0,F=new Set,ee=Math.min(A.endIndex,k.length-1);for(let me=A.startIndex;me<=ee;me++){let ce=k[me];ce<E&&(E=ce),ce>J&&(J=ce),F.add(Math.floor(ce/1e3));}C(Array.from(F)),E!==1/0&&b(E,J);}else C([]),b(A.startIndex,A.endIndex);},[b,C,T,k]),he=react.useCallback(A=>{let E=T&&k?k[A]:A,J=l(E);return J?n.map((F,ee)=>jsxRuntime.jsx(no,{style:{width:D[ee]},children:J[F]??""},ee)):n.map((F,ee)=>jsxRuntime.jsx(no,{style:{width:D[ee]},children:jsxRuntime.jsx(pa,{})},ee))},[l,n,D,T,k]);return react.useEffect(()=>{if(S>0)if(T&&k){let{min:A,max:E}=oa(k,0,50);A!==1/0&&b(A,E);}else b(0,50);},[S,T,k,b]),o==="idle"||o==="loading"||o==="streaming"?jsxRuntime.jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-3",children:[jsxRuntime.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>0&&jsxRuntime.jsxs(chunkCHKXYQZ5_js._a,{variant:"body",color:"text.lighter",style:{fontSize:12},children:[h.loading," ",a.toLocaleString()," ",h.rows,d>0?` (${Math.round(d*100)}%)`:""]})]}):jsxRuntime.jsxs("div",{className:"h-full w-full flex flex-col",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between px-8.5 py-2 gap-2 flex-wrap",children:[jsxRuntime.jsx(chunkCHKXYQZ5_js._a,{variant:"body",color:"text.lighter",style:{fontSize:12,whiteSpace:"nowrap"},children:`${S.toLocaleString()} ${T?h.searchFound:h.rows}${T?` / ${a.toLocaleString()}`:""}`}),jsxRuntime.jsxs(ha,{children:[jsxRuntime.jsx(fa,{type:"text",value:R,onChange:A=>j(A.target.value),placeholder:h.searchPlaceholder}),L==="searching"?jsxRuntime.jsx(ga,{children:jsxRuntime.jsx(va,{})}):R?jsxRuntime.jsx(ma,{onClick:r,type:"button",children:"\u2715"}):null]})]}),o==="partial_error"&&jsxRuntime.jsxs(chunkCHKXYQZ5_js.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:[jsxRuntime.jsx(chunkCHKXYQZ5_js._a,{variant:"body",className:"text-red-600 dark:text-red-400",style:{fontSize:12},children:i}),e.onRetry&&jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{onClick:()=>e.onRetry(i??""),variant:"outlined",size:"small",children:h.retry})]}),jsxRuntime.jsx("div",{className:"flex-1 min-h-0",children:n.length>0&&jsxRuntime.jsx(reactVirtuoso.TableVirtuoso,{totalCount:S,increaseViewportBy:300,fixedHeaderContent:le,itemContent:he,rangeChanged:we,style:{height:"100%"},components:{Table:chunkCHKXYQZ5_js.a(({style:A,context:E,...J})=>jsxRuntime.jsx(aa,{style:{...A,minWidth:"100%",width:ue},...J}),"Table"),TableHead:ia,TableRow:chunkCHKXYQZ5_js.a(({context:A,...E})=>jsxRuntime.jsx(da,{...E}),"TableRow")}},T?"filtered":"all")})]})},"CsvDriver"),aa=Xo.styled.table(({theme:e})=>`
|
|
173
173
|
border-collapse: separate;
|
|
174
174
|
border-spacing: 0;
|
|
175
175
|
table-layout: fixed;
|
|
@@ -232,7 +232,7 @@ self.onmessage = async (e) => {
|
|
|
232
232
|
position: relative;
|
|
233
233
|
width: 200px;
|
|
234
234
|
flex-shrink: 0;
|
|
235
|
-
`,
|
|
235
|
+
`,fa=Xo.styled.input(({theme:e})=>`
|
|
236
236
|
padding: 4px 24px 4px 8px;
|
|
237
237
|
font-size: 12px;
|
|
238
238
|
border: 1px solid ${e.colors.stroke.light};
|
|
@@ -242,7 +242,7 @@ self.onmessage = async (e) => {
|
|
|
242
242
|
&:focus {
|
|
243
243
|
border-color: ${e.colors.primary?.main};
|
|
244
244
|
}
|
|
245
|
-
`),
|
|
245
|
+
`),ma=Xo.styled.button(({theme:e})=>`
|
|
246
246
|
position: absolute;
|
|
247
247
|
right: 6px;
|
|
248
248
|
top: 50%;
|
|
@@ -273,9 +273,9 @@ self.onmessage = async (e) => {
|
|
|
273
273
|
border-top-color: ${e.colors.text?.light};
|
|
274
274
|
border-radius: 50%;
|
|
275
275
|
animation: ${ba} 0.6s linear infinite;
|
|
276
|
-
`);var hr={...reactJsonViewLite.darkStyles,container:reactJsonViewLite.darkStyles.container+" bg-neutral-900!",label:reactJsonViewLite.darkStyles.label+" text-blue-400! font-medium!",clickableLabel:reactJsonViewLite.darkStyles.clickableLabel+" text-blue-400! font-medium!",nullValue:reactJsonViewLite.darkStyles.nullValue+" text-orange-400!",undefinedValue:reactJsonViewLite.darkStyles.undefinedValue+" text-orange-400!",numberValue:reactJsonViewLite.darkStyles.numberValue+" text-green-400!",stringValue:reactJsonViewLite.darkStyles.stringValue+" text-red-400!",booleanValue:reactJsonViewLite.darkStyles.booleanValue+" text-violet-400!",punctuation:reactJsonViewLite.darkStyles.punctuation+" text-neutral-500! font-medium!",quotesForFieldNames:true},
|
|
276
|
+
`);var hr={...reactJsonViewLite.darkStyles,container:reactJsonViewLite.darkStyles.container+" bg-neutral-900!",label:reactJsonViewLite.darkStyles.label+" text-blue-400! font-medium!",clickableLabel:reactJsonViewLite.darkStyles.clickableLabel+" text-blue-400! font-medium!",nullValue:reactJsonViewLite.darkStyles.nullValue+" text-orange-400!",undefinedValue:reactJsonViewLite.darkStyles.undefinedValue+" text-orange-400!",numberValue:reactJsonViewLite.darkStyles.numberValue+" text-green-400!",stringValue:reactJsonViewLite.darkStyles.stringValue+" text-red-400!",booleanValue:reactJsonViewLite.darkStyles.booleanValue+" text-violet-400!",punctuation:reactJsonViewLite.darkStyles.punctuation+" text-neutral-500! font-medium!",quotesForFieldNames:true},fr={...reactJsonViewLite.defaultStyles,container:reactJsonViewLite.defaultStyles.container+" bg-gray-50!",label:reactJsonViewLite.defaultStyles.label+" text-blue-700! font-medium!",clickableLabel:reactJsonViewLite.defaultStyles.clickableLabel+" text-blue-700! font-medium!",nullValue:reactJsonViewLite.defaultStyles.nullValue+" text-orange-500!",undefinedValue:reactJsonViewLite.defaultStyles.undefinedValue+" text-orange-500!",numberValue:reactJsonViewLite.defaultStyles.numberValue+" text-green-700!",stringValue:reactJsonViewLite.defaultStyles.stringValue+" text-red-800!",booleanValue:reactJsonViewLite.defaultStyles.booleanValue+" text-violet-500!",punctuation:reactJsonViewLite.defaultStyles.punctuation+" text-gray-500! font-medium!",quotesForFieldNames:true},co=chunkCHKXYQZ5_js.a(({url:e})=>{let[o,n]=react.useState(null),[a,l]=react.useState(true),[i,d]=react.useState(null),{mode:b}=Xo.useTheme();return react.useEffect(()=>{let v=new AbortController;return l(true),d(null),n(null),fetch(e,{signal:v.signal}).then(x=>{if(!x.ok)throw new Error(`HTTP ${x.status}: ${x.statusText}`);return x.text()}).then(x=>{try{n(JSON.parse(x));}catch{d("Invalid JSON");}}).catch(x=>{x instanceof Error&&x.name==="AbortError"||d(x instanceof Error?x.message:"Failed to load");}).finally(()=>{v.signal.aborted||l(false);}),()=>v.abort()},[e]),a?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full",children:jsxRuntime.jsx("div",{className:"h-10 w-10 rounded-full border-2 border-gray-200 dark:border-neutral-700 animate-spin border-s-transparent"})}):i?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full",children:jsxRuntime.jsx("div",{className:"text-sm text-red-500 dark:text-red-400",children:i})}):jsxRuntime.jsx("div",{className:"h-full w-full overflow-auto select-text",children:jsxRuntime.jsx(reactJsonViewLite.JsonView,{data:o,style:b==="dark"?hr:fr,shouldExpandNode:reactJsonViewLite.allExpanded,clickToExpandNode:true})})},"JsonDriver");function Ca(e){let o=[],n=0;for(let a=0;a<e.length;a++){let l=e[a];if(l===`
|
|
277
277
|
`){let i=e.slice(n,a).replace(/\r$/,"");i.trim()&&o.push(i),n=a+1;}else if(l==="\r"&&e[a+1]!==`
|
|
278
|
-
`){let i=e.slice(n,a);i.trim()&&o.push(i),n=a+1;}}return [o,e.slice(n)]}chunkCHKXYQZ5_js.a(Ca,"splitLines");function Da(e,o){return e.stream?Promise.resolve(e.stream):e.blob?Promise.resolve(e.blob.stream()):e.url?fetch(e.url,{signal:o}).then(n=>{if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.body}):Promise.reject(new Error("No source provided"))}chunkCHKXYQZ5_js.a(Da,"resolveStream");function uo(e){let[o,n]=react.useState("idle"),[a,l]=react.useState(0),[i,d]=react.useState(null),[b,v]=react.useState(0),[x,C]=react.useState(0),h=react.useRef(e),R=react.useRef(0),j=react.useRef(0),r=react.useRef(new ut(10)),L=react.useRef(null),k=react.useRef(null),T=react.useRef(new Set),S=react.useRef(null),D=react.useRef(false),N=react.useCallback(async(Y,de)=>{let ue=L.current;if(!ue)return;let le=Math.max(0,Math.floor(Y/1e3)-2),we=Math.min(R.current-1,Math.floor(de/1e3)+2),he=false;for(let A=le;A<=we;A++)if(r.current.get(A)===void 0&&!T.current.has(A)){T.current.add(A);try{let E=await ue.get(A);E&&(r.current.set(A,E),he=!0);}finally{T.current.delete(A);}}he&&C(A=>A+1);},[]),$=react.useCallback(Y=>{let de=Math.floor(Y/1e3),ue=Y%1e3;return r.current.get(de)?.[ue]},[x]),X=react.useCallback(async()=>{D.current=true;let Y=new AbortController;k.current=Y,await L.current?.destroy();let de=await Bt();L.current=de,R.current=0,j.current=0,r.current.clear(),l(0),d(null),v(0),n("loading");let ue=h.current;try{let le=await Da(ue,Y.signal);n("streaming");let we=le.getReader(),he=new TextDecoder("utf-8"),A="",E=[],J=0,F=0,ee=ue.blob?.size||0;for(;;){if(Y.signal.aborted)return;let{done:fe,value:ce}=await we.read();if(fe)break;J+=ce.byteLength,ee&&v(J/ee),A+=he.decode(ce,{stream:!0});let[K,oe]=Ca(A);A=oe;for(let Ne of K)if(E.push(Ne),E.length>=1e3){let pe=R.current;await de.set(pe,E),pe<3&&r.current.set(pe,E),R.current+=1,F+=E.length,E=[],j.current=F,S.current||(S.current=requestAnimationFrame(()=>{l(j.current),S.current=null;}));}}A.trim()&&E.push(A.trim()),E.length>0&&(await de.set(R.current,E),R.current+=1,F+=E.length),S.current&&(cancelAnimationFrame(S.current),S.current=null),l(F),v(1),n("done");}catch(le){if(Y.signal.aborted)return;let we=le instanceof Error?le.message:"Unknown error";d(we),n("partial_error");}finally{D.current=false;}},[]),q=react.useRef(false);return react.useEffect(()=>(q.current=true,D.current||X(),()=>{q.current=false,queueMicrotask(()=>{q.current||(k.current?.abort(),L.current?.destroy(),S.current&&cancelAnimationFrame(S.current));});}),[X]),{state:o,totalLines:a,getLine:$,error:i,progress:b,prefetchRange:N}}chunkCHKXYQZ5_js.a(uo,"useNdjsonStream");var br=chunkCHKXYQZ5_js.a(e=>{let{state:o,totalLines:n,getLine:a,error:l,progress:i,prefetchRange:d}=uo(e),{mode:b}=Xo.useTheme(),v=react.useCallback(h=>{d(h.startIndex,h.endIndex);},[d]),x=react.useCallback(h=>{let R=a(h);if(!R)return jsxRuntime.jsx("div",{className:"px-4 py-2 border-b border-gray-200 dark:border-neutral-700",children:jsxRuntime.jsx("div",{className:"h-4 w-48 bg-gray-200 dark:bg-neutral-700 rounded animate-pulse"})});let j,r=false;try{j=JSON.parse(R);}catch{r=true;}return r?jsxRuntime.jsx("div",{className:"py-2 px-4 max-w-full font-mono text-xs text-zinc-900 dark:text-gray-300 break-all text-wrap whitespace-pre-wrap select-text",children:R}):jsxRuntime.jsx("div",{className:"select-text",children:jsxRuntime.jsx(reactJsonViewLite.JsonView,{data:j,style:b==="dark"?hr:mr,shouldExpandNode:reactJsonViewLite.collapseAllNested,clickToExpandNode:true})})},[a,b]),C=react.useRef(false);return react.useEffect(()=>{n>0&&!C.current&&(C.current=true,d(0,50));},[n,d]),o==="idle"||o==="loading"||o==="streaming"?jsxRuntime.jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-3",children:[jsxRuntime.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"&&n>0&&jsxRuntime.jsxs("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:[n.toLocaleString()," records",i>0?` (${Math.round(i*100)}%)`:""]})]}):jsxRuntime.jsxs("div",{className:"h-full w-full flex flex-col",children:[o==="partial_error"&&jsxRuntime.jsx("div",{className:"px-8.5 py-2 border-b border-gray-200 dark:border-neutral-700 flex items-center justify-between",children:jsxRuntime.jsx("span",{className:"text-xs text-red-500 dark:text-red-400",children:l})}),jsxRuntime.jsx("div",{className:"flex-1 min-h-0",children:jsxRuntime.jsx(reactVirtuoso.Virtuoso,{totalCount:n,itemContent:x,rangeChanged:v,increaseViewportBy:300,defaultItemHeight:40,style:{height:"100%"}})})]})},"NdjsonDriver");var ho=react.memo(chunkCHKXYQZ5_js.a(function({extension:o,blob:n,path:a,buffer:l,stream:i,csvLabels:d,onCsvRetry:b,not_supported_message:v=" Sorry, this file type isn\u2019t supported yet."}){let x=o.toLocaleLowerCase().trim(),C;if(a?C=a:n&&(C=URL.createObjectURL(n)),["csv","tsv"].includes(x))return jsxRuntime.jsx(ur,{url:C,blob:n,stream:i,labels:d,onRetry:b});if(["ndjson","jsonl"].includes(x))return jsxRuntime.jsx(br,{url:C,blob:n,stream:i});if(C){if(["jpeg","jpg","png","gif","bmp","ico","svg","tiff","webp"].includes(x))return jsxRuntime.jsx(Hr,{url:C});if(["aac","ac3","aiff","amr","dts","flac","m4a","mp3","ogg","opus","wav","wma"].includes(x))return jsxRuntime.jsx($r,{url:C});if(["3gp","avi","dv","flv","m2ts","m4v","mkv","mov","mp4","mpeg","mpg","mts","ogv","vob","webm"].includes(x))return jsxRuntime.jsx(Qr,{url:C});if(o==="pdf")return jsxRuntime.jsx(er,{url:C});if(x==="json")return jsxRuntime.jsx(co,{url:C});if(["txt","js","jsx","ts","tsx","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","properties","rst","toml"].includes(x))return jsxRuntime.jsx(Jr,{url:C,extension:x})}return x==="docx"?jsxRuntime.jsx(Yr,{url:C,blob:n}):jsxRuntime.jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsxRuntime.jsx(chunkCHKXYQZ5_js.rb,{className:"mx-5",children:jsxRuntime.jsx(chunkCHKXYQZ5_js._a,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:v})})})},"Driver"));var Ip=chunkCHKXYQZ5_js.a(e=>jsxRuntime.jsx("div",{className:"h-full w-full",children:jsxRuntime.jsx(ho,{...e})}),"FileViewer");var go=250,Yp=chunkCHKXYQZ5_js.a(({text:e,speed:o=50,onDone:n,markdown:a=false,markdownComponents:l={},className:i,...d})=>{let[b,v]=react.useState(""),x=react.useRef(null),C=react.useRef(null);return react.useEffect(()=>{let h=false;if(o>0){v(""),x.current=performance.now();let R=chunkCHKXYQZ5_js.a(j=>{if(h||!x.current)return;let r=j-x.current,L=r/o>go?o/2:o,k=r/o>go?1.5:1,T=Math.floor(r/L*k);if(T>=e.length){v(e),h=true,n?.();return}v(e.slice(0,T)),C.current=requestAnimationFrame(R);},"tick");C.current=requestAnimationFrame(R);}else v(e),n?.();return ()=>{C.current&&cancelAnimationFrame(C.current);}},[e,o,n]),a?jsxRuntime.jsx("div",{className:i,children:jsxRuntime.jsx(Fn__default.default,{remarkPlugins:[Bn__default.default],components:l,...d,children:b})}):jsxRuntime.jsx(chunkCHKXYQZ5_js._a,{className:i,...d,children:b})},"Typewriter");var Wa={timeout:2e3,message:"Copied!"},sh=chunkCHKXYQZ5_js.a(({text:e,children:o,format:n="text/plain",tooltip:a,positions:l=["top"],className:i})=>{let[d,b]=react.useState(false),v=react.useRef(null),x={...Wa,...a},C=Array.isArray(l)?l[0]:l,h=chunkCHKXYQZ5_js.a(async()=>{"clipboard"in navigator?await navigator.clipboard.writeText(e):_a__default.default(e,{format:n}),b(true),v.current&&clearTimeout(v.current),v.current=setTimeout(()=>b(false),x.timeout);},"handleCopy");return react.useEffect(()=>()=>{v.current&&clearTimeout(v.current);},[]),jsxRuntime.jsx(reactTinyPopover.Popover,{padding:6,positions:l,isOpen:d,align:"center",onClickOutside:()=>b(false),content:!!a?.message&&jsxRuntime.jsx(chunkCHKXYQZ5_js.Eb,{className:i,$position:C,$offset:6,children:a.message}),containerStyle:{zIndex:"9999"},children:jsxRuntime.jsx("div",{className:"inline-block",onMouseLeave:()=>b(false),children:o({copy:h})})})},"CopyToClipboard");var vo=chunkCHKXYQZ5_js.a(e=>new Date(e?Array.isArray(e)?e[1]||e[0]||new Date:e:new Date),"getInitValue"),Ut=chunkCHKXYQZ5_js.a((e,o)=>{let n;if(o){let l=dateFns.parse(e||"",o,new Date);if(dateFns.isValid(l)&&dateFns.getYear(l)>=1970)return l}let a=new Date(e||"");return isNaN(a.getTime())?n:a},"parseDate"),Ja=chunkCHKXYQZ5_js.a((e,o)=>{let n=e?Ut(e,o):void 0;return n&&o?dateFns.format(n,o):e},"renderDate"),kh=chunkCHKXYQZ5_js.a(({value:e,range:o,inline:n=false,minDate:a=new Date(dateFns.getYear(new Date)-5,0,1),maxDate:l=new Date(dateFns.getYear(new Date)+5,11,31),format:i="dd.MM.yyyy",onChange:d,...b})=>{let[v,x]=react.useState(dateFns.getMonth(vo(e))),[C,h]=react.useState(dateFns.getYear(vo(e))),R=react.useMemo(()=>{if(e){if(Array.isArray(e)){let r=Ut(e[0],i),L=Ut(e[1],i);return [r,L]}return Ut(e,i)}},[e]),j=react.useCallback(r=>{if(o){let L=!!(R&&Array.isArray(R)&&R[0]),k=!!(R&&Array.isArray(R)&&R[1]);!L||L&&k?d?.([r.toString(),""]):L&&!k&&(r<R[0]?d?.([r.toString(),R[0].toString()]):d?.([R[0].toString(),r.toString()]));}else d?.(r.toString());},[o,R,d]);return n?jsxRuntime.jsx(yo,{month:v,year:C,minDate:a,maxDate:l,selectedDate:R,onSelectDate:j,onChangeMonth:x,onChangeYear:h}):o?jsxRuntime.jsx(Ka,{range:true,value:e,onChange:d,...b}):jsxRuntime.jsx(Qa,{value:e,onChange:d,minDate:a,maxDate:l,month:v,year:C,selectedDate:R,onChangeMonth:x,onChangeYear:h,onSelectDate:j,formatStr:i,...b})},"DatePicker"),Ka=chunkCHKXYQZ5_js.a(({minDate:e,maxDate:o,value:n,onChange:a})=>null,"DatePickerGroupInput"),Qa=chunkCHKXYQZ5_js.a(({placeholder:e,value:o,onChange:n,inputProps:a,...l})=>{let[i,d]=react.useState(false),b=chunkCHKXYQZ5_js.y(),v=react.useCallback(()=>{d(false);},[]);return jsxRuntime.jsx(reactTinyPopover.Popover,{positions:["bottom","top","right","left"],align:"start",isOpen:i,onClickOutside:()=>d(false),content:jsxRuntime.jsx(chunkCHKXYQZ5_js.rb,{children:jsxRuntime.jsx(yo,{...l,onClose:v})}),containerStyle:{zIndex:`${b.zIndex.popover}`},children:jsxRuntime.jsx("div",{onClick:()=>d(true),children:jsxRuntime.jsx(chunkCHKXYQZ5_js.mb,{...a,placeholder:e,value:Ja(o,l.formatStr),onChange:x=>n?.(x.target.value)})})})},"DatePickerInput"),yo=chunkCHKXYQZ5_js.a(({month:e,year:o,selectedDate:n,minDate:a,maxDate:l,onSelectDate:i,onChangeMonth:d,onChangeYear:b,onClose:v})=>{let x=react.useMemo(()=>new Array(12).fill(null).map((S,D)=>{let N=new Date(0,D);return {value:D+1,inputDisplay:dateFns.format(N,"MMMM")}}),[]),C=react.useMemo(()=>{let S=dateFns.getYear(a),N=dateFns.getYear(l)-S+1;return new Array(N).fill(null).map(($,X)=>{let q=S+X;return {value:q,inputDisplay:q.toString()}})},[a,l]),h=react.useMemo(()=>new Array(7).fill(null).map((S,D)=>{let N=dateFns.startOfWeek(new Date,{weekStartsOn:D});return dateFns.format(N,"EEE")}),[]),R=react.useMemo(()=>{let S=dateFns.startOfMonth(new Date(o,e)),D=dateFns.endOfMonth(new Date(o,e)),N=dateFns.getDay(S)===0?S:dateFns.previousSunday(S),$=dateFns.getDay(D)===6?D:dateFns.nextSaturday(D),X=dateFns.differenceInDays($,N),q=dateFns.differenceInDays(S,N);return new Array(X+1).fill(null).map((Y,de)=>new Date(o,e,de-q+1))},[e,o]),j=react.useCallback(()=>{e===0?(b(o-1),d(11)):d(e-1);},[e,o]),r=react.useCallback(()=>{e===11?(b(o+1),d(0)):d(e+1);},[e,o]),L=react.useMemo(()=>a?!(o<dateFns.getYear(a)||o===dateFns.getYear(a)&&e<=dateFns.getMonth(a)):true,[e,o,a]),k=react.useMemo(()=>l?!(o>dateFns.getYear(l)||o===dateFns.getYear(l)&&e>=dateFns.getMonth(l)):true,[e,o,l]),T=react.useCallback(S=>{S.stopPropagation();},[]);return jsxRuntime.jsxs("div",{className:"flex flex-col date-picker-calendar",onClick:T,children:[jsxRuntime.jsxs("div",{className:"flex justify-center items-center gap-2 pb-3",children:[L&&jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{size:"small",variant:"empty",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.G,{}),onClick:j}),jsxRuntime.jsxs("div",{className:"flex-1 flex justify-center gap-1",children:[jsxRuntime.jsx(chunkCHKXYQZ5_js.kb,{placeholder:"",hasBorder:false,selected:e+1,options:x,onSelect:S=>d(S-1),maxWidth:150,maxHeight:300}),jsxRuntime.jsx(chunkCHKXYQZ5_js.kb,{placeholder:"",hasBorder:false,selected:o,options:C,onSelect:S=>b(S),maxWidth:100,maxHeight:300})]}),k&&jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{size:"small",variant:"empty",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.H,{}),onClick:r})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-7 gap-2",children:h.map(S=>jsxRuntime.jsx("div",{className:"text-center",children:S},S))}),jsxRuntime.jsx("div",{className:"grid grid-cols-7 gap-2 mt-2",children:R.map(S=>{let D=dateFns.getMonth(S)===e,N=dateFns.format(S,"yyyy-MM-dd")===dateFns.format(new Date,"yyyy-MM-dd"),$=n&&(Array.isArray(n)&&(n[0]&&dateFns.format(S,"yyyy-MM-dd")===dateFns.format(n[0],"yyyy-MM-dd")||n[1]&&dateFns.format(S,"yyyy-MM-dd")===dateFns.format(n[1],"yyyy-MM-dd"))||!Array.isArray(n)&&dateFns.format(S,"yyyy-MM-dd")===dateFns.format(n,"yyyy-MM-dd")),X=n&&Array.isArray(n)&&n[0]&&n[1]&&S>n[0]&&S<n[1],q=a&&dateFns.differenceInDays(S,a)<0||l&&dateFns.differenceInDays(S,l)>0||!D;return jsxRuntime.jsx(ei,{date:S,isCurrentMonth:D,isCurrentDay:N,isSelected:!!$,isInRange:!!X,isDisabled:!!q,onSelectDate:Y=>{i(Y),v?.();}},S.toISOString())})})]})},"DatePickerCalendar"),ei=chunkCHKXYQZ5_js.a(({date:e,isCurrentMonth:o,isCurrentDay:n,isSelected:a,isInRange:l,isDisabled:i,onSelectDate:d})=>jsxRuntime.jsx("div",{className:`text-center p-2 cursor-pointer rounded ${i?"text-gray-400 dark:text-neutral-600 cursor-not-allowed":a?"bg-blue-500 text-white":l?"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"} ${i?"":a?"hover:bg-blue-600":"hover:bg-gray-100 dark:hover:bg-neutral-700"}`,onClick:chunkCHKXYQZ5_js.a(v=>{i||d(e);},"handleClick"),children:dateFns.format(e,"d")}),"CalendarDay");var oi=chunkCHKXYQZ5_js.a(e=>{switch(e){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"),ni=chunkCHKXYQZ5_js.a(e=>{switch(e){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"),ai=chunkCHKXYQZ5_js.a(e=>{switch(e){case "bottom":return "translate-y-4";case "top":default:return "-translate-y-4"}},"getTransitionStarting"),So=chunkCHKXYQZ5_js.a(({id:e,color:o="default",message:n,duration:a,transitionDirection:l,cancelable:i=true,onClose:d})=>{let[b,v]=react.useState(false),[x,C]=react.useState(false),h=react.useRef(null),R=react.useCallback(()=>{v(true),h.current=setTimeout(()=>{d(e);},300);},[e,d]);return react.useEffect(()=>{if(C(true),a&&a<1/0){let j=setTimeout(()=>{R();},a);return ()=>clearTimeout(j)}},[a,R]),react.useEffect(()=>()=>{h.current&&clearTimeout(h.current);},[]),jsxRuntime.jsx("div",{className:`max-w-xs
|
|
278
|
+
`){let i=e.slice(n,a);i.trim()&&o.push(i),n=a+1;}}return [o,e.slice(n)]}chunkCHKXYQZ5_js.a(Ca,"splitLines");function Da(e,o){return e.stream?Promise.resolve(e.stream):e.blob?Promise.resolve(e.blob.stream()):e.url?fetch(e.url,{signal:o}).then(n=>{if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.body}):Promise.reject(new Error("No source provided"))}chunkCHKXYQZ5_js.a(Da,"resolveStream");function uo(e){let[o,n]=react.useState("idle"),[a,l]=react.useState(0),[i,d]=react.useState(null),[b,v]=react.useState(0),[x,C]=react.useState(0),h=react.useRef(e),R=react.useRef(0),j=react.useRef(0),r=react.useRef(new ut(10)),L=react.useRef(null),k=react.useRef(null),T=react.useRef(new Set),S=react.useRef(null),D=react.useRef(false),N=react.useCallback(async(Y,de)=>{let ue=L.current;if(!ue)return;let le=Math.max(0,Math.floor(Y/1e3)-2),we=Math.min(R.current-1,Math.floor(de/1e3)+2),he=false;for(let A=le;A<=we;A++)if(r.current.get(A)===void 0&&!T.current.has(A)){T.current.add(A);try{let E=await ue.get(A);E&&(r.current.set(A,E),he=!0);}finally{T.current.delete(A);}}he&&C(A=>A+1);},[]),$=react.useCallback(Y=>{let de=Math.floor(Y/1e3),ue=Y%1e3;return r.current.get(de)?.[ue]},[x]),X=react.useCallback(async()=>{D.current=true;let Y=new AbortController;k.current=Y,await L.current?.destroy();let de=await Bt();L.current=de,R.current=0,j.current=0,r.current.clear(),l(0),d(null),v(0),n("loading");let ue=h.current;try{let le=await Da(ue,Y.signal);n("streaming");let we=le.getReader(),he=new TextDecoder("utf-8"),A="",E=[],J=0,F=0,ee=ue.blob?.size||0;for(;;){if(Y.signal.aborted)return;let{done:me,value:ce}=await we.read();if(me)break;J+=ce.byteLength,ee&&v(J/ee),A+=he.decode(ce,{stream:!0});let[K,oe]=Ca(A);A=oe;for(let Ne of K)if(E.push(Ne),E.length>=1e3){let pe=R.current;await de.set(pe,E),pe<3&&r.current.set(pe,E),R.current+=1,F+=E.length,E=[],j.current=F,S.current||(S.current=requestAnimationFrame(()=>{l(j.current),S.current=null;}));}}A.trim()&&E.push(A.trim()),E.length>0&&(await de.set(R.current,E),R.current+=1,F+=E.length),S.current&&(cancelAnimationFrame(S.current),S.current=null),l(F),v(1),n("done");}catch(le){if(Y.signal.aborted)return;let we=le instanceof Error?le.message:"Unknown error";d(we),n("partial_error");}finally{D.current=false;}},[]),q=react.useRef(false);return react.useEffect(()=>(q.current=true,D.current||X(),()=>{q.current=false,queueMicrotask(()=>{q.current||(k.current?.abort(),L.current?.destroy(),S.current&&cancelAnimationFrame(S.current));});}),[X]),{state:o,totalLines:a,getLine:$,error:i,progress:b,prefetchRange:N}}chunkCHKXYQZ5_js.a(uo,"useNdjsonStream");var br=chunkCHKXYQZ5_js.a(e=>{let{state:o,totalLines:n,getLine:a,error:l,progress:i,prefetchRange:d}=uo(e),{mode:b}=Xo.useTheme(),v=react.useCallback(h=>{d(h.startIndex,h.endIndex);},[d]),x=react.useCallback(h=>{let R=a(h);if(!R)return jsxRuntime.jsx("div",{className:"px-4 py-2 border-b border-gray-200 dark:border-neutral-700",children:jsxRuntime.jsx("div",{className:"h-4 w-48 bg-gray-200 dark:bg-neutral-700 rounded animate-pulse"})});let j,r=false;try{j=JSON.parse(R);}catch{r=true;}return r?jsxRuntime.jsx("div",{className:"py-2 px-4 max-w-full font-sans text-base text-zinc-900 dark:text-gray-300 break-all text-wrap whitespace-pre-wrap select-text",children:R}):jsxRuntime.jsx("div",{className:"select-text",children:jsxRuntime.jsx(reactJsonViewLite.JsonView,{data:j,style:b==="dark"?hr:fr,shouldExpandNode:reactJsonViewLite.allExpanded,clickToExpandNode:true})})},[a,b]),C=react.useRef(false);return react.useEffect(()=>{n>0&&!C.current&&(C.current=true,d(0,50));},[n,d]),o==="idle"||o==="loading"||o==="streaming"?jsxRuntime.jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-3",children:[jsxRuntime.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"&&n>0&&jsxRuntime.jsxs("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:[n.toLocaleString()," records",i>0?` (${Math.round(i*100)}%)`:""]})]}):jsxRuntime.jsxs("div",{className:"h-full w-full flex flex-col",children:[o==="partial_error"&&jsxRuntime.jsx("div",{className:"px-8.5 py-2 border-b border-gray-200 dark:border-neutral-700 flex items-center justify-between",children:jsxRuntime.jsx("span",{className:"text-xs text-red-500 dark:text-red-400",children:l})}),jsxRuntime.jsx("div",{className:"flex-1 min-h-0",children:jsxRuntime.jsx(reactVirtuoso.Virtuoso,{totalCount:n,itemContent:x,rangeChanged:v,increaseViewportBy:300,defaultItemHeight:40,style:{height:"100%"}})})]})},"NdjsonDriver");var ho=react.memo(chunkCHKXYQZ5_js.a(function({extension:o,blob:n,path:a,buffer:l,stream:i,csvLabels:d,onCsvRetry:b,not_supported_message:v=" Sorry, this file type isn\u2019t supported yet."}){let x=o.toLocaleLowerCase().trim(),C;if(a?C=a:n&&(C=URL.createObjectURL(n)),["csv","tsv"].includes(x))return jsxRuntime.jsx(ur,{url:C,blob:n,stream:i,labels:d,onRetry:b});if(["ndjson","jsonl"].includes(x))return jsxRuntime.jsx(br,{url:C,blob:n,stream:i});if(C){if(["jpeg","jpg","png","gif","bmp","ico","svg","tiff","webp"].includes(x))return jsxRuntime.jsx(Hr,{url:C});if(["aac","ac3","aiff","amr","dts","flac","m4a","mp3","ogg","opus","wav","wma"].includes(x))return jsxRuntime.jsx($r,{url:C});if(["3gp","avi","dv","flv","m2ts","m4v","mkv","mov","mp4","mpeg","mpg","mts","ogv","vob","webm"].includes(x))return jsxRuntime.jsx(Qr,{url:C});if(o==="pdf")return jsxRuntime.jsx(er,{url:C});if(x==="json")return jsxRuntime.jsx(co,{url:C});if(["txt","js","jsx","ts","tsx","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","properties","rst","toml"].includes(x))return jsxRuntime.jsx(Jr,{url:C,extension:x})}return x==="docx"?jsxRuntime.jsx(Yr,{url:C,blob:n}):jsxRuntime.jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsxRuntime.jsx(chunkCHKXYQZ5_js.rb,{className:"mx-5",children:jsxRuntime.jsx(chunkCHKXYQZ5_js._a,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:v})})})},"Driver"));var Ip=chunkCHKXYQZ5_js.a(e=>jsxRuntime.jsx("div",{className:"h-full w-full",children:jsxRuntime.jsx(ho,{...e})}),"FileViewer");var go=250,Yp=chunkCHKXYQZ5_js.a(({text:e,speed:o=50,onDone:n,markdown:a=false,markdownComponents:l={},className:i,...d})=>{let[b,v]=react.useState(""),x=react.useRef(null),C=react.useRef(null);return react.useEffect(()=>{let h=false;if(o>0){v(""),x.current=performance.now();let R=chunkCHKXYQZ5_js.a(j=>{if(h||!x.current)return;let r=j-x.current,L=r/o>go?o/2:o,k=r/o>go?1.5:1,T=Math.floor(r/L*k);if(T>=e.length){v(e),h=true,n?.();return}v(e.slice(0,T)),C.current=requestAnimationFrame(R);},"tick");C.current=requestAnimationFrame(R);}else v(e),n?.();return ()=>{C.current&&cancelAnimationFrame(C.current);}},[e,o,n]),a?jsxRuntime.jsx("div",{className:i,children:jsxRuntime.jsx(Fn__default.default,{remarkPlugins:[Bn__default.default],components:l,...d,children:b})}):jsxRuntime.jsx(chunkCHKXYQZ5_js._a,{className:i,...d,children:b})},"Typewriter");var Wa={timeout:2e3,message:"Copied!"},sh=chunkCHKXYQZ5_js.a(({text:e,children:o,format:n="text/plain",tooltip:a,positions:l=["top"],className:i})=>{let[d,b]=react.useState(false),v=react.useRef(null),x={...Wa,...a},C=Array.isArray(l)?l[0]:l,h=chunkCHKXYQZ5_js.a(async()=>{"clipboard"in navigator?await navigator.clipboard.writeText(e):_a__default.default(e,{format:n}),b(true),v.current&&clearTimeout(v.current),v.current=setTimeout(()=>b(false),x.timeout);},"handleCopy");return react.useEffect(()=>()=>{v.current&&clearTimeout(v.current);},[]),jsxRuntime.jsx(reactTinyPopover.Popover,{padding:6,positions:l,isOpen:d,align:"center",onClickOutside:()=>b(false),content:!!a?.message&&jsxRuntime.jsx(chunkCHKXYQZ5_js.Eb,{className:i,$position:C,$offset:6,children:a.message}),containerStyle:{zIndex:"9999"},children:jsxRuntime.jsx("div",{className:"inline-block",onMouseLeave:()=>b(false),children:o({copy:h})})})},"CopyToClipboard");var vo=chunkCHKXYQZ5_js.a(e=>new Date(e?Array.isArray(e)?e[1]||e[0]||new Date:e:new Date),"getInitValue"),Ut=chunkCHKXYQZ5_js.a((e,o)=>{let n;if(o){let l=dateFns.parse(e||"",o,new Date);if(dateFns.isValid(l)&&dateFns.getYear(l)>=1970)return l}let a=new Date(e||"");return isNaN(a.getTime())?n:a},"parseDate"),Ja=chunkCHKXYQZ5_js.a((e,o)=>{let n=e?Ut(e,o):void 0;return n&&o?dateFns.format(n,o):e},"renderDate"),kh=chunkCHKXYQZ5_js.a(({value:e,range:o,inline:n=false,minDate:a=new Date(dateFns.getYear(new Date)-5,0,1),maxDate:l=new Date(dateFns.getYear(new Date)+5,11,31),format:i="dd.MM.yyyy",onChange:d,...b})=>{let[v,x]=react.useState(dateFns.getMonth(vo(e))),[C,h]=react.useState(dateFns.getYear(vo(e))),R=react.useMemo(()=>{if(e){if(Array.isArray(e)){let r=Ut(e[0],i),L=Ut(e[1],i);return [r,L]}return Ut(e,i)}},[e]),j=react.useCallback(r=>{if(o){let L=!!(R&&Array.isArray(R)&&R[0]),k=!!(R&&Array.isArray(R)&&R[1]);!L||L&&k?d?.([r.toString(),""]):L&&!k&&(r<R[0]?d?.([r.toString(),R[0].toString()]):d?.([R[0].toString(),r.toString()]));}else d?.(r.toString());},[o,R,d]);return n?jsxRuntime.jsx(yo,{month:v,year:C,minDate:a,maxDate:l,selectedDate:R,onSelectDate:j,onChangeMonth:x,onChangeYear:h}):o?jsxRuntime.jsx(Ka,{range:true,value:e,onChange:d,...b}):jsxRuntime.jsx(Qa,{value:e,onChange:d,minDate:a,maxDate:l,month:v,year:C,selectedDate:R,onChangeMonth:x,onChangeYear:h,onSelectDate:j,formatStr:i,...b})},"DatePicker"),Ka=chunkCHKXYQZ5_js.a(({minDate:e,maxDate:o,value:n,onChange:a})=>null,"DatePickerGroupInput"),Qa=chunkCHKXYQZ5_js.a(({placeholder:e,value:o,onChange:n,inputProps:a,...l})=>{let[i,d]=react.useState(false),b=chunkCHKXYQZ5_js.y(),v=react.useCallback(()=>{d(false);},[]);return jsxRuntime.jsx(reactTinyPopover.Popover,{positions:["bottom","top","right","left"],align:"start",isOpen:i,onClickOutside:()=>d(false),content:jsxRuntime.jsx(chunkCHKXYQZ5_js.rb,{children:jsxRuntime.jsx(yo,{...l,onClose:v})}),containerStyle:{zIndex:`${b.zIndex.popover}`},children:jsxRuntime.jsx("div",{onClick:()=>d(true),children:jsxRuntime.jsx(chunkCHKXYQZ5_js.mb,{...a,placeholder:e,value:Ja(o,l.formatStr),onChange:x=>n?.(x.target.value)})})})},"DatePickerInput"),yo=chunkCHKXYQZ5_js.a(({month:e,year:o,selectedDate:n,minDate:a,maxDate:l,onSelectDate:i,onChangeMonth:d,onChangeYear:b,onClose:v})=>{let x=react.useMemo(()=>new Array(12).fill(null).map((S,D)=>{let N=new Date(0,D);return {value:D+1,inputDisplay:dateFns.format(N,"MMMM")}}),[]),C=react.useMemo(()=>{let S=dateFns.getYear(a),N=dateFns.getYear(l)-S+1;return new Array(N).fill(null).map(($,X)=>{let q=S+X;return {value:q,inputDisplay:q.toString()}})},[a,l]),h=react.useMemo(()=>new Array(7).fill(null).map((S,D)=>{let N=dateFns.startOfWeek(new Date,{weekStartsOn:D});return dateFns.format(N,"EEE")}),[]),R=react.useMemo(()=>{let S=dateFns.startOfMonth(new Date(o,e)),D=dateFns.endOfMonth(new Date(o,e)),N=dateFns.getDay(S)===0?S:dateFns.previousSunday(S),$=dateFns.getDay(D)===6?D:dateFns.nextSaturday(D),X=dateFns.differenceInDays($,N),q=dateFns.differenceInDays(S,N);return new Array(X+1).fill(null).map((Y,de)=>new Date(o,e,de-q+1))},[e,o]),j=react.useCallback(()=>{e===0?(b(o-1),d(11)):d(e-1);},[e,o]),r=react.useCallback(()=>{e===11?(b(o+1),d(0)):d(e+1);},[e,o]),L=react.useMemo(()=>a?!(o<dateFns.getYear(a)||o===dateFns.getYear(a)&&e<=dateFns.getMonth(a)):true,[e,o,a]),k=react.useMemo(()=>l?!(o>dateFns.getYear(l)||o===dateFns.getYear(l)&&e>=dateFns.getMonth(l)):true,[e,o,l]),T=react.useCallback(S=>{S.stopPropagation();},[]);return jsxRuntime.jsxs("div",{className:"flex flex-col date-picker-calendar",onClick:T,children:[jsxRuntime.jsxs("div",{className:"flex justify-center items-center gap-2 pb-3",children:[L&&jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{size:"small",variant:"empty",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.G,{}),onClick:j}),jsxRuntime.jsxs("div",{className:"flex-1 flex justify-center gap-1",children:[jsxRuntime.jsx(chunkCHKXYQZ5_js.kb,{placeholder:"",hasBorder:false,selected:e+1,options:x,onSelect:S=>d(S-1),maxWidth:150,maxHeight:300}),jsxRuntime.jsx(chunkCHKXYQZ5_js.kb,{placeholder:"",hasBorder:false,selected:o,options:C,onSelect:S=>b(S),maxWidth:100,maxHeight:300})]}),k&&jsxRuntime.jsx(chunkCHKXYQZ5_js.z,{size:"small",variant:"empty",icon:jsxRuntime.jsx(chunkCHKXYQZ5_js.H,{}),onClick:r})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-7 gap-2",children:h.map(S=>jsxRuntime.jsx("div",{className:"text-center",children:S},S))}),jsxRuntime.jsx("div",{className:"grid grid-cols-7 gap-2 mt-2",children:R.map(S=>{let D=dateFns.getMonth(S)===e,N=dateFns.format(S,"yyyy-MM-dd")===dateFns.format(new Date,"yyyy-MM-dd"),$=n&&(Array.isArray(n)&&(n[0]&&dateFns.format(S,"yyyy-MM-dd")===dateFns.format(n[0],"yyyy-MM-dd")||n[1]&&dateFns.format(S,"yyyy-MM-dd")===dateFns.format(n[1],"yyyy-MM-dd"))||!Array.isArray(n)&&dateFns.format(S,"yyyy-MM-dd")===dateFns.format(n,"yyyy-MM-dd")),X=n&&Array.isArray(n)&&n[0]&&n[1]&&S>n[0]&&S<n[1],q=a&&dateFns.differenceInDays(S,a)<0||l&&dateFns.differenceInDays(S,l)>0||!D;return jsxRuntime.jsx(ei,{date:S,isCurrentMonth:D,isCurrentDay:N,isSelected:!!$,isInRange:!!X,isDisabled:!!q,onSelectDate:Y=>{i(Y),v?.();}},S.toISOString())})})]})},"DatePickerCalendar"),ei=chunkCHKXYQZ5_js.a(({date:e,isCurrentMonth:o,isCurrentDay:n,isSelected:a,isInRange:l,isDisabled:i,onSelectDate:d})=>jsxRuntime.jsx("div",{className:`text-center p-2 cursor-pointer rounded ${i?"text-gray-400 dark:text-neutral-600 cursor-not-allowed":a?"bg-blue-500 text-white":l?"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"} ${i?"":a?"hover:bg-blue-600":"hover:bg-gray-100 dark:hover:bg-neutral-700"}`,onClick:chunkCHKXYQZ5_js.a(v=>{i||d(e);},"handleClick"),children:dateFns.format(e,"d")}),"CalendarDay");var oi=chunkCHKXYQZ5_js.a(e=>{switch(e){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"),ni=chunkCHKXYQZ5_js.a(e=>{switch(e){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"),ai=chunkCHKXYQZ5_js.a(e=>{switch(e){case "bottom":return "translate-y-4";case "top":default:return "-translate-y-4"}},"getTransitionStarting"),So=chunkCHKXYQZ5_js.a(({id:e,color:o="default",message:n,duration:a,transitionDirection:l,cancelable:i=true,onClose:d})=>{let[b,v]=react.useState(false),[x,C]=react.useState(false),h=react.useRef(null),R=react.useCallback(()=>{v(true),h.current=setTimeout(()=>{d(e);},300);},[e,d]);return react.useEffect(()=>{if(C(true),a&&a<1/0){let j=setTimeout(()=>{R();},a);return ()=>clearTimeout(j)}},[a,R]),react.useEffect(()=>()=>{h.current&&clearTimeout(h.current);},[]),jsxRuntime.jsx("div",{className:`max-w-xs
|
|
279
279
|
border
|
|
280
280
|
w-full
|
|
281
281
|
text-sm
|