@cyber-harbour/ui 2.2.36 → 2.2.37
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/PdfDriver-AC3T6NNU.js +2 -0
- package/dist/PdfDriver-AC3T6NNU.js.map +1 -0
- package/dist/PdfDriver-P33OLIOE.mjs +2 -0
- package/dist/PdfDriver-P33OLIOE.mjs.map +1 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +13 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +13 -13
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/PdfDriver-IE6DT35L.js +0 -2
- package/dist/PdfDriver-IE6DT35L.js.map +0 -1
- package/dist/PdfDriver-RLN2RLDS.mjs +0 -2
- package/dist/PdfDriver-RLN2RLDS.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -38,13 +38,13 @@ import {a,w,x,u,c,l,z,Ra as Ra$1,_a,na as na$1,Na as Na$1,sa as sa$1,tb,nb,y,ob,
|
|
|
38
38
|
width: 100%;
|
|
39
39
|
min-width: 0;
|
|
40
40
|
max-width: ${typeof r=="number"?c(r,e.baseSize):r||"100%"};
|
|
41
|
-
`),{ignoreStyles:["padding-inline"]});var qn=20,Yn="splitter_columns_widths",Ar=a((e,r,o)=>{if(typeof window>"u")return o.length===r?o:Array(r).fill(100/r);let a=localStorage.getItem(e);if(a)try{let s=JSON.parse(a);if(Array.isArray(s)&&s.length===r)return s}catch{}else if(o.length===r)return o;return Array(r).fill(100/r)},"getSavedWidths"),yc=a(({columns:e,initialWidths:r,layoutClassname:o="",splitterClassname:a="",minWidth:s=qn,storageKey:i=Yn})=>{let[l,f]=useState(()=>Ar(i,e.length,r)),b=useRef(null),
|
|
41
|
+
`),{ignoreStyles:["padding-inline"]});var qn=20,Yn="splitter_columns_widths",Ar=a((e,r,o)=>{if(typeof window>"u")return o.length===r?o:Array(r).fill(100/r);let a=localStorage.getItem(e);if(a)try{let s=JSON.parse(a);if(Array.isArray(s)&&s.length===r)return s}catch{}else if(o.length===r)return o;return Array(r).fill(100/r)},"getSavedWidths"),yc=a(({columns:e,initialWidths:r,layoutClassname:o="",splitterClassname:a="",minWidth:s=qn,storageKey:i=Yn})=>{let[l,f]=useState(()=>Ar(i,e.length,r)),b=useRef(null),E=useRef(null),I=useRef(s),p=useRef(l),w=useCallback(v=>{if(E.current===null||!b.current)return;let D=b.current.getBoundingClientRect(),x=D.width,X=v-D.left,K=[...p.current],H=E.current,$=H+1,q=K.slice(0,H).reduce((ke,fe)=>ke+fe,0),oe=X/x*100-q,ce=K[H]+K[$]-oe;oe>=I.current&&ce>=I.current&&(K[H]=oe,K[$]=ce,f(K),p.current=K);},[]),A=useCallback(v=>w(v.clientX),[w]),n=useCallback(v=>{v.preventDefault(),w(v.touches[0].clientX);},[w]),T=useCallback(()=>{E.current=null,localStorage.setItem(i,JSON.stringify(p.current)),document.removeEventListener("mousemove",A),document.removeEventListener("mouseup",T),document.removeEventListener("touchmove",n),document.removeEventListener("touchend",T);},[A,n,i]),C=useCallback(v=>D=>{D.preventDefault(),E.current=v,document.addEventListener("mousemove",A,{passive:false}),document.addEventListener("mouseup",T);},[A,T]),N=useCallback(v=>D=>{D.preventDefault(),E.current=v,document.addEventListener("touchmove",n,{passive:false}),document.addEventListener("touchend",T);},[n,T]);return useEffect(()=>{let v=Ar(i,e.length,r);p.current=v,f(v);},[e.length,r,i]),jsx("div",{ref:b,className:`flex select-none ${o}`,children:e.map(({content:v,className:D},x)=>jsxs(Fragment,{children:[jsx("div",{className:D,style:{flex:`${l[x]} 1 0%`},children:v}),x<e.length-1&&jsx("div",{onMouseDown:C(x),onTouchStart:N(x),className:`hidden lg:flex! lg:sticky lg:top-0 border-s border-gray-200 dark:border-neutral-700 ${a}`,children:jsx("span",{className:"absolute top-1/2 start-1/2 -translate-x-1/2 -translate-y-1/2 block w-5 h-8 flex justify-center items-center bg-white dark:bg-neutral-800 border border-gray-200 dark:border-neutral-700 text-gray-400 dark:text-neutral-500 rounded-md cursor-col-resize hover:bg-gray-100 dark:hover:bg-neutral-700",children:jsxs("svg",{className:"shrink-0 size-5",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("circle",{cx:"9",cy:"12",r:"1"}),jsx("circle",{cx:"9",cy:"5",r:"1"}),jsx("circle",{cx:"9",cy:"19",r:"1"}),jsx("circle",{cx:"15",cy:"12",r:"1"}),jsx("circle",{cx:"15",cy:"5",r:"1"}),jsx("circle",{cx:"15",cy:"19",r:"1"})]})})})]},`${x}`))})},"SplitterLayout");var Kn=Gn.div`
|
|
42
42
|
width: 100%;
|
|
43
43
|
height: 100%;
|
|
44
44
|
display: flex;
|
|
45
45
|
align-items: center;
|
|
46
46
|
justify-content: center;
|
|
47
|
-
`,Qn=a(({width:e=280,height:r=280})=>{let o=useTheme();return jsx(Kn,{children:jsxs(Zn,{foregroundColor:o.contentLoader.foreground,backgroundColor:o.contentLoader.background,width:e,height:r,viewBox:"0 0 280 280",children:[jsx("path",{d:"m55 38-0.97266 0.22852 7.0801 30.092-18.355-20.979-0.75195 0.6582 19.596 22.395 0.43164 1.834 0.97266-0.22852 0.75195-0.6582-0.37695-0.42969 9.625-27.912-0.94531-0.32617-9.4375 27.371-0.10547-0.12109zm8 34-0.78516 0.61914 0.0957 0.12305-12.311 13.258 0.73242 0.67969 12.205-13.145 14.277 18.084 0.78516-0.61914-14.373-18.207 0.10547-0.11328zm15 19-0.48438 0.875 46.992 25.996 8e-3 4e-3 20.506 11.592-28.182 4.5449 0.15998 0.98819 29.418-4.7441 0.25 0.14062-12.555 24.143 0.88672 0.46094 13-25 15 25 26 30v18l-11 18 0.85352 0.52148 9.8008-16.039-4.6543 33.518 0.99023 0.13867 4.7793-34.408 7.2305 16.27 0.91406-0.40625-7.9141-17.807v-17.104l18 12.316 0.56445-0.82617-18.896-12.928-25.855-29.836-14.633-24.387 0.01562-0.02344h23.805v-1h-23.152l13.848-21.234 55.201-28.791-0.45898-0.88476 0.77734 0.62305 11.402-14.25 16.668-11.842-0.58008-0.81641-16.785 11.928-11.486 14.355-55.434 28.912-14.277 21.893-7.7617-27.166-0.96094 0.27344 7.7227 27.031-1.1191 0.17969-21.604-12.211zm140.43-12.912-6.957-17.338-0.92773 0.37305 6.957 17.338zm-6.957-17.338 0.72266 0.69336 16.232-16.896-0.7207-0.69336zm-3.4766 137.25 5 15 0.94922-0.31641-5-15zm-91-63-0.48047-0.87695-31 17 0.48047 0.87695zm-31 17 5 18 0.96289-0.26758-5-18zm0 0-0.70703-0.70703-12.898 12.898-17.881 9.9336 0.48633 0.875 18-10zm5 18-0.64062-0.76758-18 15 0.64062 0.76758z"}),jsx("circle",{cx:"229.92",cy:"63.7318",r:"5",transform:"rotate(173.661 229.92 63.7318)"}),jsx("circle",{cx:"227.711",cy:"43.8541",r:"5",transform:"rotate(173.661 227.711 43.8541)"}),jsx("circle",{cx:"211.478",cy:"60.7499",r:"5",transform:"rotate(173.661 211.478 60.7499)"}),jsx("circle",{cx:"218.434",cy:"78.0877",r:"5",transform:"rotate(173.661 218.434 78.0877)"}),jsx("circle",{cx:"246.705",cy:"51.8054",r:"5",transform:"rotate(173.661 246.705 51.8054)"}),jsx("circle",{cx:"42",cy:"48",r:"5"}),jsx("circle",{cx:"55",cy:"38",r:"5"}),jsx("circle",{cx:"73",cy:"43",r:"5"}),jsx("circle",{cx:"63",cy:"72",r:"5"}),jsx("circle",{cx:"50",cy:"86",r:"5"}),jsx("circle",{cx:"78",cy:"91",r:"5"}),jsx("circle",{cx:"73",cy:"165",r:"5"}),jsx("circle",{cx:"73",cy:"185",r:"5"}),jsx("circle",{cx:"91",cy:"170",r:"5"}),jsx("circle",{cx:"86",cy:"152",r:"5"}),jsx("circle",{cx:"148",cy:"130",r:"5"}),jsx("circle",{cx:"189",cy:"185",r:"5"}),jsx("circle",{cx:"163",cy:"107",r:"5"}),jsx("circle",{cx:"140",cy:"102",r:"5"}),jsx("circle",{cx:"117",cy:"135",r:"5"}),jsx("circle",{cx:"125",cy:"117",r:"5"}),jsx("circle",{cx:"208",cy:"198",r:"5"}),jsx("circle",{cx:"189",cy:"203",r:"5"}),jsx("circle",{cx:"198",cy:"221",r:"5"}),jsx("circle",{cx:"178",cy:"221",r:"5"}),jsx("circle",{cx:"184",cy:"239",r:"5"}),jsx("circle",{cx:"213",cy:"213",r:"5"}),jsx("circle",{cx:"173",cy:"130",r:"5"}),jsx("circle",{cx:"163",cy:"155",r:"5"}),jsx("circle",{cx:"135",cy:"155",r:"5"}),jsx("circle",{cx:"55",cy:"175",r:"5"})]})})},"GraphLoader"),jr=Qn;var At=typeof window<"u"&&window.devicePixelRatio||1;function bo(e){return !e||e.length===0?[]:e.map(r=>{let o=new Image;o.src=r.img;let a=new Image;return a.src=r.hoverImg,{...r,normalImg:o,hoverImg:a}})}a(bo,"prepareButtonImages");var ue={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},vo=forwardRef(({loading:e,width:r,height:o,graphData:a$1,buttons:s=[],onNodeClick:i,onBackgroundClick:l$1,onNodeHover:f,onLinkHover:b,onLinkClick:N},C)=>{let p=useTheme(),[D,A]=useState(true),n=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:r*At,height:o*At,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:L,links:P}=useMemo(()=>ao(a$1),[a$1]),[T,v]=useState([]),S=useRef(null),y=useRef(null),X=useRef(null),K=scaleOrdinal(schemeCategory10),H=useCallback(()=>{if(!S.current)return false;try{let t=S.current.getContext("2d");return t?(X.current=t,!0):(console.error("Failed to get 2D context"),!1)}catch(t){return console.error("Error initializing Canvas 2D context:",t),false}},[]),$=useCallback(()=>y.current?y.current.nodes():null,[]),q=useCallback(()=>{if(!y.current)return null;let t=y.current.force("link");return t?t.links():null},[]),oe=useCallback(t=>{t.save(),t.setTransform(1,0,0,1,0,0);let{width:d,height:u}=n.current,h=ue.gridSpacing,g=ue.dotSize;t.fillStyle=p.graph2D.grid.dotColor;for(let x=h/2;x<=d;x+=h)for(let w=h/2;w<=u;w+=h)t.beginPath(),t.arc(x,w,g,0,2*Math.PI),t.fill();t.restore();},[p.graph2D.grid.dotColor,ue.gridSpacing,ue.dotSize]),ce=useCallback((t,d,u)=>{if(!t)return "";if(u.measureText(t).width<=d)return t;let g=t,x="...";for(;u.measureText(g+x).width>d&&g.length>0;)g=g.slice(0,-1);return g+x},[]),ke=a(t=>{let u=Math.min(t,ue.maxZoom)/ue.maxZoom;return Math.max(ue.fontSize*u,ue.fontSize)},"calculateFontSize"),fe=useCallback(t=>{let d=q(),u=$();!d||d.length===0||!u||u.length===0||(t.lineWidth=.5,t.globalAlpha=1,d.forEach(h=>{let g=typeof h.source=="object"?h.source:u.find(Se=>Se.id===h.source),x=typeof h.target=="object"?h.target:u.find(Se=>Se.id===h.target);if(!g||!x)return;let w={x:g.x||0,y:g.y||0},m={x:x.x||0,y:x.y||0},M=m.x-w.x,R=m.y-w.y,j=Math.sqrt(M*M+R*R),ee=M/j,V=R/j,de=ue.nodeSizeBase/2,ne=ue.nodeSizeBase/2,le=4,E={x:w.x+ee*de,y:w.y+V*de},W={x:m.x-ee*(ne+le),y:m.y-V*(ne+le)},F={x:m.x-ee*(ne+1),y:m.y-V*(ne+1)},pe=n.current.highlightLinks.has(h),k=pe?p.graph2D.link.highlighted:p.graph2D.link.normal,_=pe?1.5:.5,B=w.x+(m.x-w.x)/2,Y=w.y+(m.y-w.y)/2,Z=Math.atan2(R,M);if(h.label){let Se=n.current.transform.k,Me=ke(Se);t.font=`${Me}px Sans-Serif`;let Be=t.measureText(h.label).width,Xe=10;t.beginPath(),t.moveTo(E.x,E.y);let nt=j/2-(Be+Xe)/2,ot={x:w.x+ee*nt,y:w.y+V*nt};t.lineTo(ot.x,ot.y),t.strokeStyle=k,t.lineWidth=_,t.stroke(),t.beginPath();let Qe=j/2+(Be+Xe)/2,pt={x:w.x+ee*Qe,y:w.y+V*Qe};t.moveTo(pt.x,pt.y),t.lineTo(W.x,W.y),t.strokeStyle=k,t.lineWidth=_,t.stroke();}else t.beginPath(),t.moveTo(E.x,E.y),t.lineTo(W.x,W.y),t.strokeStyle=k,t.lineWidth=_,t.stroke();let be=2;if(t.save(),t.translate(F.x,F.y),t.rotate(Z),t.beginPath(),t.moveTo(0,0),t.lineTo(-le,be),t.lineTo(-le,0),t.lineTo(-le,-be),t.closePath(),t.fillStyle=k,t.fill(),t.restore(),h.label){let Se=n.current.transform.k,Me=ke(Se);t.font=`${Me}px Sans-Serif`,t.textAlign="center",t.textBaseline="middle",t.save(),t.translate(B,Y),Math.abs(Z)>Math.PI/2?t.rotate(Z+Math.PI):t.rotate(Z),t.fillStyle=pe?p.graph2D.link.highlightedTextColor:p.graph2D.link.textColor,t.fillText(h.label,0,0),t.restore();}}));},[ue,p.graph2D.link]),se=a((t,d,u,h,g,x,w)=>{try{if(x!=null){let m=g*.8;t.font=`${m}px sans-serif`,t.textBaseline="middle",t.textAlign="left";let M=new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0,compactDisplay:"short"}).format(x),R=t.measureText(M).width,j=g*.3,V=(g+j+R)/2;t.drawImage(d,u-V,h-g/2,g,g),t.fillStyle=w||"#99989C",t.fillText(M,u-V+g+j,h);}else t.drawImage(d,u-g/2,h-g/2,g,g);}catch(m){console.warn("Error rendering icon:",m);}},"drawIconWithOptionalCounter"),z=useCallback((t,d)=>{if(!T||T.length===0||!t||!t.x||!t.y)return;let{x:u,y:h}=t,g=ue.nodeSizeBase*ue.nodeAreaFactor/2;d.save();let x=Math.min(T.length,8),w=Math.min(Math.PI*2/x,Math.PI);for(let m=0;m<x;m++){let M=m*w,R=(m+1)*w,j=n.current.hoveredButtonIndex===m;d.beginPath(),d.arc(u,h,g,M,R,false),d.lineTo(u,h),d.closePath(),d.lineWidth=1,d.strokeStyle=p.graph2D?.button?.stroke||"#FFFFFF",d.stroke(),d.fillStyle=j?p.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":p.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",d.fill();let ee=g*.2,V=(M+R)/2,de=g-ue.nodeSizeBase/2+ee,ne=u+Math.cos(V)*de,le=h+Math.sin(V)*de,E=T[m];if(E.loading){let W=ee/2,F=ee/12;d.save(),d.translate(ne,le),d.rotate(n.current.spinnerAngle);for(let pe=0;pe<12;pe++){let k=Math.PI*2*pe/12,_=pe/12,B=Math.cos(k)*W,Y=Math.sin(k)*W;d.beginPath(),d.fillStyle=l(p.graph2D?.button?.spinnerColor,_),d.arc(B,Y,F,0,Math.PI*2),d.fill();}d.restore(),n.current.spinnerAngle+=.1,n.current.spinnerAngle>Math.PI*2&&(n.current.spinnerAngle-=Math.PI*2),n.current.animation.id!==null&&(cancelAnimationFrame(n.current.animation.id),n.current.animation.id=null,n.current.animation.buttonIndex=null),n.current.animation.id=requestAnimationFrame(I),n.current.animation.buttonIndex=m;}else {n.current.animation.id&&n.current.animation.buttonIndex===m&&(cancelAnimationFrame(n.current.animation.id),n.current.animation.id=null,n.current.animation.buttonIndex=null);let W=j?E.hoverImg:E.normalImg,F=E.getCount?E.getCount(t):null;W.complete?se(d,W,ne,le,ee,F,p.graph2D?.button?.textColor):W.onload=()=>{X.current&&se(d,W,ne,le,ee,F,p.graph2D?.button?.textColor);};}}d.restore();},[T,p.graph2D?.button]),J=useCallback(t=>{let d=$();!d||d.length===0||(t.globalAlpha=1,d.forEach(u=>{let{x:h,y:g,color:x,fontColor:w,label:m}=u,M=n.current.highlightNodes.has(u)||u===n.current.hoveredNode||u===n.current.draggedNode,R=u===n.current.selectedNode,j=ue.nodeSizeBase,ee=ue.nodeSizeBase/2;if(M&&!R){let V=ue.nodeSizeBase*ue.nodeAreaFactor*.75/2;t.beginPath(),t.arc(h,g,V,0,2*Math.PI,false),t.fillStyle=p.graph2D.ring.highlightFill,t.fill();}if(R)if(s&&s.length>0)z(u,t);else {let V=ue.nodeSizeBase*ue.nodeAreaFactor/2;t.beginPath(),t.arc(h,g,V,0,2*Math.PI,false),t.fillStyle=p.graph2D.ring.selectionFill||p.graph2D.ring.highlightFill,t.fill();}if(t.beginPath(),t.arc(h,g,ee,0,2*Math.PI),t.fillStyle=x||K(u.group||"0"),t.fill(),m){t.save(),t.translate(h,g);let V=n.current.transform.k,de=ke(V),ne=j*ue.textPaddingFactor;t.font=`${de}px Sans-Serif`,t.textAlign="center",t.textBaseline="middle",t.fillStyle=w||"#000";let le=ce(m,ne,t);t.fillText(le,0,0),t.restore();}}));},[p.graph2D.ring,s,z]),I=useCallback(()=>{let t=X.current;t&&(t.clearRect(0,0,n.current.width,n.current.height),oe(t),t.save(),t.setTransform(n.current.transform.k,0,0,n.current.transform.k,n.current.transform.x,n.current.transform.y),fe(t),J(t),t.restore());},[fe,J,oe]),ie=useCallback((t,d=[],u)=>{let h=q()||[],g=$()||[];if(!y.current||!t.length)return;let{width:x,height:w}=n.current,m=u?.smoothAppearance??false,M=u?.transitionDuration??1e3,R=new Set(g.map(E=>E.id)),j=t.filter(E=>!R.has(E.id)),ee=new Set(h.map(E=>`${typeof E.source=="object"?E.source.id:E.source}-${typeof E.target=="object"?E.target.id:E.target}`)),V=d.filter(E=>{let W=`${typeof E.source=="object"?E.source.id:E.source}-${typeof E.target=="object"?E.target.id:E.target}`;return !ee.has(W)});if(j.length===0&&V.length===0)return;let de=[...g,...j],ne=[...h,...V];m&&(j.forEach(E=>{let W=V.filter(F=>{let pe=typeof F.source=="object"?F.source.id:F.source,k=typeof F.target=="object"?F.target.id:F.target;return pe===E.id&&R.has(k)||k===E.id&&R.has(pe)});if(W.length>0){let F=W[0],pe=typeof F.source=="object"?F.source.id===E.id?F.target:F.source.id:F.source===E.id?F.target:F.source,k=de.find(_=>_.id===pe);if(k&&k.x!==void 0&&k.y!==void 0){let _=30+Math.random()*20,B=Math.random()*Math.PI*2;E.x=k.x+Math.cos(B)*_,E.y=k.y+Math.sin(B)*_,E.vx=0,E.vy=0;}}else {let F=x/2,pe=w/2,k=Math.min(x,w)/4,_=Math.random()*Math.PI*2;E.x=F+Math.cos(_)*(k*Math.random()),E.y=pe+Math.sin(_)*(k*Math.random()),E.vx=0,E.vy=0;}}),g.forEach(E=>{E.fx=E.x,E.fy=E.y;})),y.current.nodes(de);let le=y.current.force("link");le&&le.links(ne),V.forEach(E=>{let W=typeof E.source=="object"?E.source:de.find(pe=>pe.id===E.source),F=typeof E.target=="object"?E.target:de.find(pe=>pe.id===E.target);!W||!F||(!W.neighbors&&(W.neighbors=[]),!F.neighbors&&(F.neighbors=[]),W.neighbors.push(F),F.neighbors.push(W),!W.links&&(W.links=[]),!F.links&&(F.links=[]),W.links.push(E),F.links.push(E));}),m?(y.current.alphaTarget(.3),y.current.alpha(.3),y.current.velocityDecay(.7),y.current.restart(),setTimeout(()=>{g.forEach(E=>{E.fx=void 0,E.fy=void 0;}),y.current?.alphaTarget(0),y.current?.alpha(.1),y.current?.velocityDecay(.6);},M)):y.current.alpha(.1).restart(),I();},[L,I]),U=useCallback(t=>{let d=$(),u=q();if(!y.current||!t.length||!d||d.length===0||!u||u.length===0)return;let h=new Set(t);if(n.current.selectedNode&&n.current.selectedNode.id!==void 0&&h.has(n.current.selectedNode.id)&&(n.current.selectedNode=null),n.current.hoveredNode&&n.current.hoveredNode.id!==void 0&&h.has(n.current.hoveredNode.id)&&(n.current.hoveredNode=null,n.current.highlightNodes=new Set,n.current.highlightLinks=new Set),n.current.hoveredLink){let m=typeof n.current.hoveredLink.source=="object"?n.current.hoveredLink.source.id:n.current.hoveredLink.source,M=typeof n.current.hoveredLink.target=="object"?n.current.hoveredLink.target.id:n.current.hoveredLink.target;(m!==void 0&&h.has(m)||M!==void 0&&h.has(M))&&(n.current.hoveredLink=null,n.current.highlightNodes=new Set,n.current.highlightLinks=new Set);}n.current.draggedNode&&n.current.draggedNode.id!==void 0&&h.has(n.current.draggedNode.id)&&(n.current.draggedNode=null);let g=d.filter(m=>m.id!==void 0&&!h.has(m.id)),x=u.filter(m=>{let M=typeof m.source=="object"?m.source.id:m.source,R=typeof m.target=="object"?m.target.id:m.target;return M!==void 0&&!h.has(M)&&R!==void 0&&!h.has(R)});g.forEach(m=>{m.neighbors=[],m.links=[];}),x.forEach(m=>{let M=typeof m.source=="object"?m.source:g.find(j=>j.id===m.source),R=typeof m.target=="object"?m.target:g.find(j=>j.id===m.target);!M||!R||(M.neighbors=M.neighbors||[],R.neighbors=R.neighbors||[],M.neighbors.push(R),R.neighbors.push(M),M.links=M.links||[],R.links=R.links||[],M.links.push(m),R.links.push(m));}),y.current.nodes(g);let w=y.current.force("link");w&&w.links(x),I();},[I]),Q=useCallback((t=0,d=20)=>{let u=$();if(!X.current||!S.current||!u||!u.length)return;let g=1/0,x=1/0,w=-1/0,m=-1/0;if(u.forEach(M=>{if(M.x===void 0||M.y===void 0)return;let R=M.x,j=M.y;g=Math.min(g,R),x=Math.min(x,j),w=Math.max(w,R),m=Math.max(m,j);}),isFinite(g)&&isFinite(w)&&isFinite(x)&&isFinite(m)){let{width:M,height:R}=n.current;g-=d,x-=d,w+=d,m+=d;let j=w-g,ee=m-x,V=j>0?M/j:1,de=ee>0?R/ee:1,ne=Math.min(V,de,10),le=g+j/2,E=x+ee/2,W={k:ne,x:M/2-le*ne,y:R/2-E*ne};if(t>0){let F={...n.current.transform},pe=Date.now(),k=a(()=>{let _=Math.min(1,(Date.now()-pe)/t),B=_===1?1:1-Math.pow(1-_,3),Y={k:F.k+(W.k-F.k)*B,x:F.x+(W.x-F.x)*B,y:F.y+(W.y-F.y)*B};n.current.transform=Y,I(),_<1&&requestAnimationFrame(k);},"animateZoom");requestAnimationFrame(k);}else n.current.transform=W,I();}},[]),te=useCallback((t,d)=>{let u=$();if(!u||u.length===0)return null;let h=ue.nodeSizeBase/2,g=typeof window<"u"&&window.devicePixelRatio||1,x=(t*g-n.current.transform.x)/n.current.transform.k,w=(d*g-n.current.transform.y)/n.current.transform.k;return u.find(m=>{let M=(m.x||0)-x,R=(m.y||0)-w;return Math.sqrt(M*M+R*R)<=h})||null},[]),he=useCallback((t,d)=>{let u=q(),h=$();if(!u||u.length===0||!h||h.length===0)return null;let g=typeof window<"u"&&window.devicePixelRatio||1,x=(t*g-n.current.transform.x)/n.current.transform.k,w=(d*g-n.current.transform.y)/n.current.transform.k,m=5;return u.find(M=>{let R=typeof M.source=="object"?M.source:h.find(Me=>Me.id===M.source),j=typeof M.target=="object"?M.target:h.find(Me=>Me.id===M.target);if(!R||!j)return false;let ee=R.x||0,V=R.y||0,de=j.x||0,ne=j.y||0,le=x-ee,E=w-V,W=de-ee,F=ne-V,pe=le*W+E*F,k=W*W+F*F;if(k===0)return false;let _=pe/k;_=Math.max(0,Math.min(1,_));let B=ee+_*W,Y=V+_*F,Z=x-B,be=w-Y;return Math.sqrt(Z*Z+be*be)<=m})||null},[]),re=useCallback((t,d,u,h,g,x,w)=>{let m=t-u,M=d-h,R=Math.sqrt(m*m+M*M),j=Math.atan2(M,m);j<0&&(j+=2*Math.PI);let de=R>=g*.5&&R<=g*1,ne=false;return x===Math.PI&&w===Math.PI*2?ne=j>=Math.PI&&j<=Math.PI*2:x===0&&w===Math.PI?ne=j>=0&&j<=Math.PI:ne=x<=w&&j>=x&&j<=w||x>w&&(j>=x||j<=w),de&&ne},[]),O=useCallback(t=>{if(t===n.current.hoveredNode)return;let d=new Set,u=new Set;t&&(d.add(t),t.neighbors&&t.neighbors.forEach(h=>d.add(h)),t.links&&t.links.forEach(h=>u.add(h))),n.current.hoveredNode=t,f&&f(t),n.current.highlightNodes=d,n.current.highlightLinks=u;},[f]),ge=useCallback(t=>{if(t===n.current.hoveredLink)return;let d=new Set,u=new Set;if(t){u.add(t);let h=$();if(h){let g=typeof t.source=="object"?t.source:h.find(w=>w.id===t.source),x=typeof t.target=="object"?t.target:h.find(w=>w.id===t.target);g&&d.add(g),x&&d.add(x);}}n.current.hoveredLink=t,b&&b(t),n.current.highlightNodes=d,n.current.highlightLinks=u;},[b,$]),Te=useCallback(t=>{N&&N(t);},[N]),Le=useCallback(t=>{n.current.selectedNode=t,i&&i(t);},[i]),Re=useCallback(()=>{n.current.selectedNode=null,l$1&&l$1();},[l$1]),Ae=useCallback(t=>{if(!S.current||!y.current)return;let d=S.current.getBoundingClientRect(),u=t.clientX-d.left,h=t.clientY-d.top;n.current.mouseStartPos={x:u,y:h},n.current.isDragging=false;let g=te(u,h);g?(n.current.draggedNode=g,g.fx=g.x,g.fy=g.y):(n.current.isPanning=true,n.current.lastMousePos={x:u,y:h});},[te]),Ce=useCallback((t,d)=>{let u=null;if(S.current&&n.current&&T.length>0){let h=ue.nodeSizeBase*ue.nodeAreaFactor/2,g=S.current.getBoundingClientRect(),x=S.current.width/g.width,w=S.current.height/g.height,m=t*x,M=d*w,R=(m-n.current.transform.x)/n.current.transform.k,j=(M-n.current.transform.y)/n.current.transform.k,ee=n.current.selectedNode?.x||0,V=n.current.selectedNode?.y||0,de=Math.min(T.length,8),ne=Math.min(Math.PI*2/de,Math.PI);for(let le=0;le<de;le++){let E=le*ne,W=(le+1)*ne;if(re(R,j,ee,V,h,E,W)){u=le;break}}}return u},[T]),me=useCallback(t=>{if(!S.current)return;let d=S.current.getBoundingClientRect(),u=t.clientX-d.left,h=t.clientY-d.top;if(n.current.draggedNode&&n.current.mouseStartPos&&y.current){let w=n.current.mouseStartPos.x,m=n.current.mouseStartPos.y,M=u-w,R=h-m;Math.sqrt(M*M+R*R)>3&&(n.current.isDragging=true,y.current.alphaTarget()===0&&y.current.alphaTarget(0).restart());let V=typeof window<"u"&&window.devicePixelRatio||1,de=(u*V-n.current.transform.x)/n.current.transform.k,ne=(h*V-n.current.transform.y)/n.current.transform.k;n.current.draggedNode.fx=de,n.current.draggedNode.fy=ne;return}if(n.current.isPanning&&n.current.mouseStartPos){let w=u-n.current.lastMousePos.x,m=h-n.current.lastMousePos.y,M=n.current.mouseStartPos.x,R=n.current.mouseStartPos.y;Math.sqrt(Math.pow(u-M,2)+Math.pow(h-R,2))>3&&(n.current.isDragging=true),n.current.transform={...n.current.transform,x:n.current.transform.x+w,y:n.current.transform.y+m},n.current.lastMousePos={x:u,y:h},I();return}let g,x;if(n.current.selectedNode&&S.current&&T.length>0){let w=Ce(u,h);w!==null&&(x=n.current.selectedNode),w!==n.current.hoveredButtonIndex&&(g=true),n.current.hoveredButtonIndex=w;}else n.current.hoveredButtonIndex!==null&&(n.current.hoveredButtonIndex=null);if(!x&&(x=te(u,h),!x)){let w=he(u,h),m=w!==n.current.hoveredLink;if(w&&n.current.hoveredNode&&O(null),ge(w),S.current&&(S.current.style.cursor=w?"pointer":"default"),m){I();return}}x&&n.current.hoveredLink&&ge(null),x!==n.current.hoveredNode&&(g=true),O(x),S.current&&(S.current.style.cursor=x?"pointer":"default"),g&&I();},[T,te,he,O,ge,I,re,Ce]),ve=useCallback(t=>{n.current.mustBeStoppedPropagation&&(t.stopPropagation(),t.preventDefault()),n.current.mustBeStoppedPropagation=false;},[]),ye=useCallback(t=>{let d=n.current.isDragging;if(d&&(n.current.mustBeStoppedPropagation=true),!d&&n.current.mouseStartPos){let u=S.current?.getBoundingClientRect();if(u){let h=t.clientX-u.left,g=t.clientY-u.top;T.length>0&&n.current.hoveredButtonIndex===null&&(n.current.hoveredButtonIndex=Ce(h,g));let x=false;if(n.current.selectedNode&&n.current.hoveredButtonIndex!==null&&s[n.current.hoveredButtonIndex]){let w=s[n.current.hoveredButtonIndex];w&&w.onClick&&(w.onClick(n.current.selectedNode),x=true,n.current.hoveredButtonIndex=null);}if(!x&&n.current.draggedNode)Le(n.current.draggedNode);else if(!x&&!n.current.draggedNode){let w=he(h,g);w?Te(w):Re();}}}if(n.current.draggedNode&&y.current){if(d){y.current.alphaTarget(0);let u=.05,h=.04,g=.6;y.current.alpha(u).alphaDecay(h),y.current.velocityDecay(g);}else y.current.alphaTarget(0);n.current.draggedNode.fx=void 0,n.current.draggedNode.fy=void 0,n.current.draggedNode=null;}n.current.isDragging=false,n.current.mouseStartPos=null,n.current.isPanning&&(n.current.isPanning=false),I();},[s,I,Le,Re,he,Te,Ce,T]),Fe=useCallback(t=>{if(t.stopPropagation(),t.preventDefault(),!S.current)return;let d=S.current.getBoundingClientRect(),u=t.clientX-d.left,h=t.clientY-d.top,x=-t.deltaY>0?1.1:1/1.1,w=n.current.transform,m=w.k*x;if(m<.01||m>10)return;let M=w.k*x,R=u-(u-w.x)*x,j=h-(h-w.y)*x;n.current.transform={k:M,x:R,y:j},I();},[I]),Oe=a((t,d)=>{let u=t.touches[0];if(u){let h={clientX:u.clientX,clientY:u.clientY};d(h);}},"convertTouchToMouseEvent"),bt=useCallback(t=>{Oe(t,Ae);},[Ae]),Ne=useCallback(t=>{n.current.mustBeStoppedPropagation&&(t.preventDefault(),t.stopPropagation()),n.current.mustBeStoppedPropagation=false,Oe(t,ye);},[ye]),Pe=useCallback(t=>{Oe(t,me);},[me]);return useImperativeHandle(C,()=>({zoomToFit:Q,addNodes:ie,removeNodes:U}),[Q,ie,U]),useEffect(()=>{let t=S.current,{width:d,height:u}=n.current;if(!t)return;H(),A(true);let h=d/2,g=u/2,x=ue.nodeSizeBase,w=x/2,m=x*2.5;y.current&&y.current.stop();let M=y.current=forceSimulation(L).force("link",forceLink(P).id(R=>R.id).distance(m).strength(.9)).force("charge",forceManyBody().strength(-x/10*200).theta(.5).distanceMin(x*2)).force("x",forceX().strength(.03)).force("y",forceY().strength(.03)).force("center",forceCenter(h,g).strength(.05)).force("collide",forceCollide().radius(w*2).iterations(2).strength(1)).velocityDecay(.6);return ()=>{M.stop();}},[L,P]),useLayoutEffect(()=>{let t=S.current;t&&(n.current.width=r*At,n.current.height=o*At,t.width=n.current.width,t.height=n.current.height);},[r,o]),useEffect(()=>{if(y.current){let t=y.current;t.on("tick",()=>{I();}),t.on("end",()=>{D&&(Q(0,20),setTimeout(()=>{A(false);},200));});}D||I();},[L,P,D,I,Q]),useEffect(()=>{!L||!P||P.forEach(t=>{let d=typeof t.source=="object"?t.source:L.find(h=>h.id===t.source),u=typeof t.target=="object"?t.target:L.find(h=>h.id===t.target);!d||!u||(!d.neighbors&&(d.neighbors=[]),!u.neighbors&&(u.neighbors=[]),d.neighbors.push(u),u.neighbors.push(d),!d.links&&(d.links=[]),!u.links&&(u.links=[]),d.links.push(t),u.links.push(t));});},[L,P]),useEffect(()=>{s&&s.length>0&&v(bo(s));},[s]),useEffect(()=>{let t=S.current;if(!(!t||typeof window>"u"))return t.addEventListener("wheel",Fe,{passive:false}),t.addEventListener("touchend",Ne,{passive:false}),()=>{t.removeEventListener("wheel",Fe),t.removeEventListener("touchend",Ne);}},[Fe,Ne]),jsxs(wo,{children:[(e||D)&&jsx(jr,{width:r,height:o}),jsx(yo,{ref:S,style:{width:r,height:o,display:e||D?"none":"block"},onMouseDown:Ae,onMouseMove:me,onMouseUp:ye,onMouseLeave:ye,onClick:ve,onTouchStart:bt,onTouchMove:Pe})]})}),wo=styled.div`
|
|
47
|
+
`,Qn=a(({width:e=280,height:r=280})=>{let o=useTheme();return jsx(Kn,{children:jsxs(Zn,{foregroundColor:o.contentLoader.foreground,backgroundColor:o.contentLoader.background,width:e,height:r,viewBox:"0 0 280 280",children:[jsx("path",{d:"m55 38-0.97266 0.22852 7.0801 30.092-18.355-20.979-0.75195 0.6582 19.596 22.395 0.43164 1.834 0.97266-0.22852 0.75195-0.6582-0.37695-0.42969 9.625-27.912-0.94531-0.32617-9.4375 27.371-0.10547-0.12109zm8 34-0.78516 0.61914 0.0957 0.12305-12.311 13.258 0.73242 0.67969 12.205-13.145 14.277 18.084 0.78516-0.61914-14.373-18.207 0.10547-0.11328zm15 19-0.48438 0.875 46.992 25.996 8e-3 4e-3 20.506 11.592-28.182 4.5449 0.15998 0.98819 29.418-4.7441 0.25 0.14062-12.555 24.143 0.88672 0.46094 13-25 15 25 26 30v18l-11 18 0.85352 0.52148 9.8008-16.039-4.6543 33.518 0.99023 0.13867 4.7793-34.408 7.2305 16.27 0.91406-0.40625-7.9141-17.807v-17.104l18 12.316 0.56445-0.82617-18.896-12.928-25.855-29.836-14.633-24.387 0.01562-0.02344h23.805v-1h-23.152l13.848-21.234 55.201-28.791-0.45898-0.88476 0.77734 0.62305 11.402-14.25 16.668-11.842-0.58008-0.81641-16.785 11.928-11.486 14.355-55.434 28.912-14.277 21.893-7.7617-27.166-0.96094 0.27344 7.7227 27.031-1.1191 0.17969-21.604-12.211zm140.43-12.912-6.957-17.338-0.92773 0.37305 6.957 17.338zm-6.957-17.338 0.72266 0.69336 16.232-16.896-0.7207-0.69336zm-3.4766 137.25 5 15 0.94922-0.31641-5-15zm-91-63-0.48047-0.87695-31 17 0.48047 0.87695zm-31 17 5 18 0.96289-0.26758-5-18zm0 0-0.70703-0.70703-12.898 12.898-17.881 9.9336 0.48633 0.875 18-10zm5 18-0.64062-0.76758-18 15 0.64062 0.76758z"}),jsx("circle",{cx:"229.92",cy:"63.7318",r:"5",transform:"rotate(173.661 229.92 63.7318)"}),jsx("circle",{cx:"227.711",cy:"43.8541",r:"5",transform:"rotate(173.661 227.711 43.8541)"}),jsx("circle",{cx:"211.478",cy:"60.7499",r:"5",transform:"rotate(173.661 211.478 60.7499)"}),jsx("circle",{cx:"218.434",cy:"78.0877",r:"5",transform:"rotate(173.661 218.434 78.0877)"}),jsx("circle",{cx:"246.705",cy:"51.8054",r:"5",transform:"rotate(173.661 246.705 51.8054)"}),jsx("circle",{cx:"42",cy:"48",r:"5"}),jsx("circle",{cx:"55",cy:"38",r:"5"}),jsx("circle",{cx:"73",cy:"43",r:"5"}),jsx("circle",{cx:"63",cy:"72",r:"5"}),jsx("circle",{cx:"50",cy:"86",r:"5"}),jsx("circle",{cx:"78",cy:"91",r:"5"}),jsx("circle",{cx:"73",cy:"165",r:"5"}),jsx("circle",{cx:"73",cy:"185",r:"5"}),jsx("circle",{cx:"91",cy:"170",r:"5"}),jsx("circle",{cx:"86",cy:"152",r:"5"}),jsx("circle",{cx:"148",cy:"130",r:"5"}),jsx("circle",{cx:"189",cy:"185",r:"5"}),jsx("circle",{cx:"163",cy:"107",r:"5"}),jsx("circle",{cx:"140",cy:"102",r:"5"}),jsx("circle",{cx:"117",cy:"135",r:"5"}),jsx("circle",{cx:"125",cy:"117",r:"5"}),jsx("circle",{cx:"208",cy:"198",r:"5"}),jsx("circle",{cx:"189",cy:"203",r:"5"}),jsx("circle",{cx:"198",cy:"221",r:"5"}),jsx("circle",{cx:"178",cy:"221",r:"5"}),jsx("circle",{cx:"184",cy:"239",r:"5"}),jsx("circle",{cx:"213",cy:"213",r:"5"}),jsx("circle",{cx:"173",cy:"130",r:"5"}),jsx("circle",{cx:"163",cy:"155",r:"5"}),jsx("circle",{cx:"135",cy:"155",r:"5"}),jsx("circle",{cx:"55",cy:"175",r:"5"})]})})},"GraphLoader"),jr=Qn;var At=typeof window<"u"&&window.devicePixelRatio||1;function bo(e){return !e||e.length===0?[]:e.map(r=>{let o=new Image;o.src=r.img;let a=new Image;return a.src=r.hoverImg,{...r,normalImg:o,hoverImg:a}})}a(bo,"prepareButtonImages");var ue={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},vo=forwardRef(({loading:e,width:r,height:o,graphData:a$1,buttons:s=[],onNodeClick:i,onBackgroundClick:l$1,onNodeHover:f,onLinkHover:b,onLinkClick:E},I)=>{let p=useTheme(),[w,A]=useState(true),n=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:r*At,height:o*At,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:T,links:C}=useMemo(()=>ao(a$1),[a$1]),[N,v]=useState([]),D=useRef(null),x=useRef(null),X=useRef(null),K=scaleOrdinal(schemeCategory10),H=useCallback(()=>{if(!D.current)return false;try{let t=D.current.getContext("2d");return t?(X.current=t,!0):(console.error("Failed to get 2D context"),!1)}catch(t){return console.error("Error initializing Canvas 2D context:",t),false}},[]),$=useCallback(()=>x.current?x.current.nodes():null,[]),q=useCallback(()=>{if(!x.current)return null;let t=x.current.force("link");return t?t.links():null},[]),oe=useCallback(t=>{t.save(),t.setTransform(1,0,0,1,0,0);let{width:d,height:u}=n.current,h=ue.gridSpacing,g=ue.dotSize;t.fillStyle=p.graph2D.grid.dotColor;for(let k=h/2;k<=d;k+=h)for(let y=h/2;y<=u;y+=h)t.beginPath(),t.arc(k,y,g,0,2*Math.PI),t.fill();t.restore();},[p.graph2D.grid.dotColor,ue.gridSpacing,ue.dotSize]),ce=useCallback((t,d,u)=>{if(!t)return "";if(u.measureText(t).width<=d)return t;let g=t,k="...";for(;u.measureText(g+k).width>d&&g.length>0;)g=g.slice(0,-1);return g+k},[]),ke=a(t=>{let u=Math.min(t,ue.maxZoom)/ue.maxZoom;return Math.max(ue.fontSize*u,ue.fontSize)},"calculateFontSize"),fe=useCallback(t=>{let d=q(),u=$();!d||d.length===0||!u||u.length===0||(t.lineWidth=.5,t.globalAlpha=1,d.forEach(h=>{let g=typeof h.source=="object"?h.source:u.find(Se=>Se.id===h.source),k=typeof h.target=="object"?h.target:u.find(Se=>Se.id===h.target);if(!g||!k)return;let y={x:g.x||0,y:g.y||0},m={x:k.x||0,y:k.y||0},P=m.x-y.x,L=m.y-y.y,j=Math.sqrt(P*P+L*L),ee=P/j,V=L/j,de=ue.nodeSizeBase/2,ne=ue.nodeSizeBase/2,le=4,M={x:y.x+ee*de,y:y.y+V*de},W={x:m.x-ee*(ne+le),y:m.y-V*(ne+le)},F={x:m.x-ee*(ne+1),y:m.y-V*(ne+1)},pe=n.current.highlightLinks.has(h),S=pe?p.graph2D.link.highlighted:p.graph2D.link.normal,_=pe?1.5:.5,B=y.x+(m.x-y.x)/2,Y=y.y+(m.y-y.y)/2,Z=Math.atan2(L,P);if(h.label){let Se=n.current.transform.k,Me=ke(Se);t.font=`${Me}px Sans-Serif`;let Be=t.measureText(h.label).width,Xe=10;t.beginPath(),t.moveTo(M.x,M.y);let nt=j/2-(Be+Xe)/2,ot={x:y.x+ee*nt,y:y.y+V*nt};t.lineTo(ot.x,ot.y),t.strokeStyle=S,t.lineWidth=_,t.stroke(),t.beginPath();let Qe=j/2+(Be+Xe)/2,pt={x:y.x+ee*Qe,y:y.y+V*Qe};t.moveTo(pt.x,pt.y),t.lineTo(W.x,W.y),t.strokeStyle=S,t.lineWidth=_,t.stroke();}else t.beginPath(),t.moveTo(M.x,M.y),t.lineTo(W.x,W.y),t.strokeStyle=S,t.lineWidth=_,t.stroke();let be=2;if(t.save(),t.translate(F.x,F.y),t.rotate(Z),t.beginPath(),t.moveTo(0,0),t.lineTo(-le,be),t.lineTo(-le,0),t.lineTo(-le,-be),t.closePath(),t.fillStyle=S,t.fill(),t.restore(),h.label){let Se=n.current.transform.k,Me=ke(Se);t.font=`${Me}px Sans-Serif`,t.textAlign="center",t.textBaseline="middle",t.save(),t.translate(B,Y),Math.abs(Z)>Math.PI/2?t.rotate(Z+Math.PI):t.rotate(Z),t.fillStyle=pe?p.graph2D.link.highlightedTextColor:p.graph2D.link.textColor,t.fillText(h.label,0,0),t.restore();}}));},[ue,p.graph2D.link]),se=a((t,d,u,h,g,k,y)=>{try{if(k!=null){let m=g*.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(k),L=t.measureText(P).width,j=g*.3,V=(g+j+L)/2;t.drawImage(d,u-V,h-g/2,g,g),t.fillStyle=y||"#99989C",t.fillText(P,u-V+g+j,h);}else t.drawImage(d,u-g/2,h-g/2,g,g);}catch(m){console.warn("Error rendering icon:",m);}},"drawIconWithOptionalCounter"),z=useCallback((t,d)=>{if(!N||N.length===0||!t||!t.x||!t.y)return;let{x:u,y:h}=t,g=ue.nodeSizeBase*ue.nodeAreaFactor/2;d.save();let k=Math.min(N.length,8),y=Math.min(Math.PI*2/k,Math.PI);for(let m=0;m<k;m++){let P=m*y,L=(m+1)*y,j=n.current.hoveredButtonIndex===m;d.beginPath(),d.arc(u,h,g,P,L,false),d.lineTo(u,h),d.closePath(),d.lineWidth=1,d.strokeStyle=p.graph2D?.button?.stroke||"#FFFFFF",d.stroke(),d.fillStyle=j?p.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":p.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",d.fill();let ee=g*.2,V=(P+L)/2,de=g-ue.nodeSizeBase/2+ee,ne=u+Math.cos(V)*de,le=h+Math.sin(V)*de,M=N[m];if(M.loading){let W=ee/2,F=ee/12;d.save(),d.translate(ne,le),d.rotate(n.current.spinnerAngle);for(let pe=0;pe<12;pe++){let S=Math.PI*2*pe/12,_=pe/12,B=Math.cos(S)*W,Y=Math.sin(S)*W;d.beginPath(),d.fillStyle=l(p.graph2D?.button?.spinnerColor,_),d.arc(B,Y,F,0,Math.PI*2),d.fill();}d.restore(),n.current.spinnerAngle+=.1,n.current.spinnerAngle>Math.PI*2&&(n.current.spinnerAngle-=Math.PI*2),n.current.animation.id!==null&&(cancelAnimationFrame(n.current.animation.id),n.current.animation.id=null,n.current.animation.buttonIndex=null),n.current.animation.id=requestAnimationFrame(R),n.current.animation.buttonIndex=m;}else {n.current.animation.id&&n.current.animation.buttonIndex===m&&(cancelAnimationFrame(n.current.animation.id),n.current.animation.id=null,n.current.animation.buttonIndex=null);let W=j?M.hoverImg:M.normalImg,F=M.getCount?M.getCount(t):null;W.complete?se(d,W,ne,le,ee,F,p.graph2D?.button?.textColor):W.onload=()=>{X.current&&se(d,W,ne,le,ee,F,p.graph2D?.button?.textColor);};}}d.restore();},[N,p.graph2D?.button]),J=useCallback(t=>{let d=$();!d||d.length===0||(t.globalAlpha=1,d.forEach(u=>{let{x:h,y:g,color:k,fontColor:y,label:m}=u,P=n.current.highlightNodes.has(u)||u===n.current.hoveredNode||u===n.current.draggedNode,L=u===n.current.selectedNode,j=ue.nodeSizeBase,ee=ue.nodeSizeBase/2;if(P&&!L){let V=ue.nodeSizeBase*ue.nodeAreaFactor*.75/2;t.beginPath(),t.arc(h,g,V,0,2*Math.PI,false),t.fillStyle=p.graph2D.ring.highlightFill,t.fill();}if(L)if(s&&s.length>0)z(u,t);else {let V=ue.nodeSizeBase*ue.nodeAreaFactor/2;t.beginPath(),t.arc(h,g,V,0,2*Math.PI,false),t.fillStyle=p.graph2D.ring.selectionFill||p.graph2D.ring.highlightFill,t.fill();}if(t.beginPath(),t.arc(h,g,ee,0,2*Math.PI),t.fillStyle=k||K(u.group||"0"),t.fill(),m){t.save(),t.translate(h,g);let V=n.current.transform.k,de=ke(V),ne=j*ue.textPaddingFactor;t.font=`${de}px Sans-Serif`,t.textAlign="center",t.textBaseline="middle",t.fillStyle=y||"#000";let le=ce(m,ne,t);t.fillText(le,0,0),t.restore();}}));},[p.graph2D.ring,s,z]),R=useCallback(()=>{let t=X.current;t&&(t.clearRect(0,0,n.current.width,n.current.height),oe(t),t.save(),t.setTransform(n.current.transform.k,0,0,n.current.transform.k,n.current.transform.x,n.current.transform.y),fe(t),J(t),t.restore());},[fe,J,oe]),ie=useCallback((t,d=[],u)=>{let h=q()||[],g=$()||[];if(!x.current||!t.length)return;let{width:k,height:y}=n.current,m=u?.smoothAppearance??false,P=u?.transitionDuration??1e3,L=new Set(g.map(M=>M.id)),j=t.filter(M=>!L.has(M.id)),ee=new Set(h.map(M=>`${typeof M.source=="object"?M.source.id:M.source}-${typeof M.target=="object"?M.target.id:M.target}`)),V=d.filter(M=>{let W=`${typeof M.source=="object"?M.source.id:M.source}-${typeof M.target=="object"?M.target.id:M.target}`;return !ee.has(W)});if(j.length===0&&V.length===0)return;let de=[...g,...j],ne=[...h,...V];m&&(j.forEach(M=>{let W=V.filter(F=>{let pe=typeof F.source=="object"?F.source.id:F.source,S=typeof F.target=="object"?F.target.id:F.target;return pe===M.id&&L.has(S)||S===M.id&&L.has(pe)});if(W.length>0){let F=W[0],pe=typeof F.source=="object"?F.source.id===M.id?F.target:F.source.id:F.source===M.id?F.target:F.source,S=de.find(_=>_.id===pe);if(S&&S.x!==void 0&&S.y!==void 0){let _=30+Math.random()*20,B=Math.random()*Math.PI*2;M.x=S.x+Math.cos(B)*_,M.y=S.y+Math.sin(B)*_,M.vx=0,M.vy=0;}}else {let F=k/2,pe=y/2,S=Math.min(k,y)/4,_=Math.random()*Math.PI*2;M.x=F+Math.cos(_)*(S*Math.random()),M.y=pe+Math.sin(_)*(S*Math.random()),M.vx=0,M.vy=0;}}),g.forEach(M=>{M.fx=M.x,M.fy=M.y;})),x.current.nodes(de);let le=x.current.force("link");le&&le.links(ne),V.forEach(M=>{let W=typeof M.source=="object"?M.source:de.find(pe=>pe.id===M.source),F=typeof M.target=="object"?M.target:de.find(pe=>pe.id===M.target);!W||!F||(!W.neighbors&&(W.neighbors=[]),!F.neighbors&&(F.neighbors=[]),W.neighbors.push(F),F.neighbors.push(W),!W.links&&(W.links=[]),!F.links&&(F.links=[]),W.links.push(M),F.links.push(M));}),m?(x.current.alphaTarget(.3),x.current.alpha(.3),x.current.velocityDecay(.7),x.current.restart(),setTimeout(()=>{g.forEach(M=>{M.fx=void 0,M.fy=void 0;}),x.current?.alphaTarget(0),x.current?.alpha(.1),x.current?.velocityDecay(.6);},P)):x.current.alpha(.1).restart(),R();},[T,R]),U=useCallback(t=>{let d=$(),u=q();if(!x.current||!t.length||!d||d.length===0||!u||u.length===0)return;let h=new Set(t);if(n.current.selectedNode&&n.current.selectedNode.id!==void 0&&h.has(n.current.selectedNode.id)&&(n.current.selectedNode=null),n.current.hoveredNode&&n.current.hoveredNode.id!==void 0&&h.has(n.current.hoveredNode.id)&&(n.current.hoveredNode=null,n.current.highlightNodes=new Set,n.current.highlightLinks=new Set),n.current.hoveredLink){let m=typeof n.current.hoveredLink.source=="object"?n.current.hoveredLink.source.id:n.current.hoveredLink.source,P=typeof n.current.hoveredLink.target=="object"?n.current.hoveredLink.target.id:n.current.hoveredLink.target;(m!==void 0&&h.has(m)||P!==void 0&&h.has(P))&&(n.current.hoveredLink=null,n.current.highlightNodes=new Set,n.current.highlightLinks=new Set);}n.current.draggedNode&&n.current.draggedNode.id!==void 0&&h.has(n.current.draggedNode.id)&&(n.current.draggedNode=null);let g=d.filter(m=>m.id!==void 0&&!h.has(m.id)),k=u.filter(m=>{let P=typeof m.source=="object"?m.source.id:m.source,L=typeof m.target=="object"?m.target.id:m.target;return P!==void 0&&!h.has(P)&&L!==void 0&&!h.has(L)});g.forEach(m=>{m.neighbors=[],m.links=[];}),k.forEach(m=>{let P=typeof m.source=="object"?m.source:g.find(j=>j.id===m.source),L=typeof m.target=="object"?m.target:g.find(j=>j.id===m.target);!P||!L||(P.neighbors=P.neighbors||[],L.neighbors=L.neighbors||[],P.neighbors.push(L),L.neighbors.push(P),P.links=P.links||[],L.links=L.links||[],P.links.push(m),L.links.push(m));}),x.current.nodes(g);let y=x.current.force("link");y&&y.links(k),R();},[R]),Q=useCallback((t=0,d=20)=>{let u=$();if(!X.current||!D.current||!u||!u.length)return;let g=1/0,k=1/0,y=-1/0,m=-1/0;if(u.forEach(P=>{if(P.x===void 0||P.y===void 0)return;let L=P.x,j=P.y;g=Math.min(g,L),k=Math.min(k,j),y=Math.max(y,L),m=Math.max(m,j);}),isFinite(g)&&isFinite(y)&&isFinite(k)&&isFinite(m)){let{width:P,height:L}=n.current;g-=d,k-=d,y+=d,m+=d;let j=y-g,ee=m-k,V=j>0?P/j:1,de=ee>0?L/ee:1,ne=Math.min(V,de,10),le=g+j/2,M=k+ee/2,W={k:ne,x:P/2-le*ne,y:L/2-M*ne};if(t>0){let F={...n.current.transform},pe=Date.now(),S=a(()=>{let _=Math.min(1,(Date.now()-pe)/t),B=_===1?1:1-Math.pow(1-_,3),Y={k:F.k+(W.k-F.k)*B,x:F.x+(W.x-F.x)*B,y:F.y+(W.y-F.y)*B};n.current.transform=Y,R(),_<1&&requestAnimationFrame(S);},"animateZoom");requestAnimationFrame(S);}else n.current.transform=W,R();}},[]),te=useCallback((t,d)=>{let u=$();if(!u||u.length===0)return null;let h=ue.nodeSizeBase/2,g=typeof window<"u"&&window.devicePixelRatio||1,k=(t*g-n.current.transform.x)/n.current.transform.k,y=(d*g-n.current.transform.y)/n.current.transform.k;return u.find(m=>{let P=(m.x||0)-k,L=(m.y||0)-y;return Math.sqrt(P*P+L*L)<=h})||null},[]),he=useCallback((t,d)=>{let u=q(),h=$();if(!u||u.length===0||!h||h.length===0)return null;let g=typeof window<"u"&&window.devicePixelRatio||1,k=(t*g-n.current.transform.x)/n.current.transform.k,y=(d*g-n.current.transform.y)/n.current.transform.k,m=5;return u.find(P=>{let L=typeof P.source=="object"?P.source:h.find(Me=>Me.id===P.source),j=typeof P.target=="object"?P.target:h.find(Me=>Me.id===P.target);if(!L||!j)return false;let ee=L.x||0,V=L.y||0,de=j.x||0,ne=j.y||0,le=k-ee,M=y-V,W=de-ee,F=ne-V,pe=le*W+M*F,S=W*W+F*F;if(S===0)return false;let _=pe/S;_=Math.max(0,Math.min(1,_));let B=ee+_*W,Y=V+_*F,Z=k-B,be=y-Y;return Math.sqrt(Z*Z+be*be)<=m})||null},[]),re=useCallback((t,d,u,h,g,k,y)=>{let m=t-u,P=d-h,L=Math.sqrt(m*m+P*P),j=Math.atan2(P,m);j<0&&(j+=2*Math.PI);let de=L>=g*.5&&L<=g*1,ne=false;return k===Math.PI&&y===Math.PI*2?ne=j>=Math.PI&&j<=Math.PI*2:k===0&&y===Math.PI?ne=j>=0&&j<=Math.PI:ne=k<=y&&j>=k&&j<=y||k>y&&(j>=k||j<=y),de&&ne},[]),O=useCallback(t=>{if(t===n.current.hoveredNode)return;let d=new Set,u=new Set;t&&(d.add(t),t.neighbors&&t.neighbors.forEach(h=>d.add(h)),t.links&&t.links.forEach(h=>u.add(h))),n.current.hoveredNode=t,f&&f(t),n.current.highlightNodes=d,n.current.highlightLinks=u;},[f]),ge=useCallback(t=>{if(t===n.current.hoveredLink)return;let d=new Set,u=new Set;if(t){u.add(t);let h=$();if(h){let g=typeof t.source=="object"?t.source:h.find(y=>y.id===t.source),k=typeof t.target=="object"?t.target:h.find(y=>y.id===t.target);g&&d.add(g),k&&d.add(k);}}n.current.hoveredLink=t,b&&b(t),n.current.highlightNodes=d,n.current.highlightLinks=u;},[b,$]),Te=useCallback(t=>{E&&E(t);},[E]),Le=useCallback(t=>{n.current.selectedNode=t,i&&i(t);},[i]),Re=useCallback(()=>{n.current.selectedNode=null,l$1&&l$1();},[l$1]),Ae=useCallback(t=>{if(!D.current||!x.current)return;let d=D.current.getBoundingClientRect(),u=t.clientX-d.left,h=t.clientY-d.top;n.current.mouseStartPos={x:u,y:h},n.current.isDragging=false;let g=te(u,h);g?(n.current.draggedNode=g,g.fx=g.x,g.fy=g.y):(n.current.isPanning=true,n.current.lastMousePos={x:u,y:h});},[te]),Ce=useCallback((t,d)=>{let u=null;if(D.current&&n.current&&N.length>0){let h=ue.nodeSizeBase*ue.nodeAreaFactor/2,g=D.current.getBoundingClientRect(),k=D.current.width/g.width,y=D.current.height/g.height,m=t*k,P=d*y,L=(m-n.current.transform.x)/n.current.transform.k,j=(P-n.current.transform.y)/n.current.transform.k,ee=n.current.selectedNode?.x||0,V=n.current.selectedNode?.y||0,de=Math.min(N.length,8),ne=Math.min(Math.PI*2/de,Math.PI);for(let le=0;le<de;le++){let M=le*ne,W=(le+1)*ne;if(re(L,j,ee,V,h,M,W)){u=le;break}}}return u},[N]),me=useCallback(t=>{if(!D.current)return;let d=D.current.getBoundingClientRect(),u=t.clientX-d.left,h=t.clientY-d.top;if(n.current.draggedNode&&n.current.mouseStartPos&&x.current){let y=n.current.mouseStartPos.x,m=n.current.mouseStartPos.y,P=u-y,L=h-m;Math.sqrt(P*P+L*L)>3&&(n.current.isDragging=true,x.current.alphaTarget()===0&&x.current.alphaTarget(0).restart());let V=typeof window<"u"&&window.devicePixelRatio||1,de=(u*V-n.current.transform.x)/n.current.transform.k,ne=(h*V-n.current.transform.y)/n.current.transform.k;n.current.draggedNode.fx=de,n.current.draggedNode.fy=ne;return}if(n.current.isPanning&&n.current.mouseStartPos){let y=u-n.current.lastMousePos.x,m=h-n.current.lastMousePos.y,P=n.current.mouseStartPos.x,L=n.current.mouseStartPos.y;Math.sqrt(Math.pow(u-P,2)+Math.pow(h-L,2))>3&&(n.current.isDragging=true),n.current.transform={...n.current.transform,x:n.current.transform.x+y,y:n.current.transform.y+m},n.current.lastMousePos={x:u,y:h},R();return}let g,k;if(n.current.selectedNode&&D.current&&N.length>0){let y=Ce(u,h);y!==null&&(k=n.current.selectedNode),y!==n.current.hoveredButtonIndex&&(g=true),n.current.hoveredButtonIndex=y;}else n.current.hoveredButtonIndex!==null&&(n.current.hoveredButtonIndex=null);if(!k&&(k=te(u,h),!k)){let y=he(u,h),m=y!==n.current.hoveredLink;if(y&&n.current.hoveredNode&&O(null),ge(y),D.current&&(D.current.style.cursor=y?"pointer":"default"),m){R();return}}k&&n.current.hoveredLink&&ge(null),k!==n.current.hoveredNode&&(g=true),O(k),D.current&&(D.current.style.cursor=k?"pointer":"default"),g&&R();},[N,te,he,O,ge,R,re,Ce]),ve=useCallback(t=>{n.current.mustBeStoppedPropagation&&(t.stopPropagation(),t.preventDefault()),n.current.mustBeStoppedPropagation=false;},[]),ye=useCallback(t=>{let d=n.current.isDragging;if(d&&(n.current.mustBeStoppedPropagation=true),!d&&n.current.mouseStartPos){let u=D.current?.getBoundingClientRect();if(u){let h=t.clientX-u.left,g=t.clientY-u.top;N.length>0&&n.current.hoveredButtonIndex===null&&(n.current.hoveredButtonIndex=Ce(h,g));let k=false;if(n.current.selectedNode&&n.current.hoveredButtonIndex!==null&&s[n.current.hoveredButtonIndex]){let y=s[n.current.hoveredButtonIndex];y&&y.onClick&&(y.onClick(n.current.selectedNode),k=true,n.current.hoveredButtonIndex=null);}if(!k&&n.current.draggedNode)Le(n.current.draggedNode);else if(!k&&!n.current.draggedNode){let y=he(h,g);y?Te(y):Re();}}}if(n.current.draggedNode&&x.current){if(d){x.current.alphaTarget(0);let u=.05,h=.04,g=.6;x.current.alpha(u).alphaDecay(h),x.current.velocityDecay(g);}else x.current.alphaTarget(0);n.current.draggedNode.fx=void 0,n.current.draggedNode.fy=void 0,n.current.draggedNode=null;}n.current.isDragging=false,n.current.mouseStartPos=null,n.current.isPanning&&(n.current.isPanning=false),R();},[s,R,Le,Re,he,Te,Ce,N]),Fe=useCallback(t=>{if(t.stopPropagation(),t.preventDefault(),!D.current)return;let d=D.current.getBoundingClientRect(),u=t.clientX-d.left,h=t.clientY-d.top,k=-t.deltaY>0?1.1:1/1.1,y=n.current.transform,m=y.k*k;if(m<.01||m>10)return;let P=y.k*k,L=u-(u-y.x)*k,j=h-(h-y.y)*k;n.current.transform={k:P,x:L,y:j},R();},[R]),Oe=a((t,d)=>{let u=t.touches[0];if(u){let h={clientX:u.clientX,clientY:u.clientY};d(h);}},"convertTouchToMouseEvent"),bt=useCallback(t=>{Oe(t,Ae);},[Ae]),Ne=useCallback(t=>{n.current.mustBeStoppedPropagation&&(t.preventDefault(),t.stopPropagation()),n.current.mustBeStoppedPropagation=false,Oe(t,ye);},[ye]),Pe=useCallback(t=>{Oe(t,me);},[me]);return useImperativeHandle(I,()=>({zoomToFit:Q,addNodes:ie,removeNodes:U}),[Q,ie,U]),useEffect(()=>{let t=D.current,{width:d,height:u}=n.current;if(!t)return;H(),A(true);let h=d/2,g=u/2,k=ue.nodeSizeBase,y=k/2,m=k*2.5;x.current&&x.current.stop();let P=x.current=forceSimulation(T).force("link",forceLink(C).id(L=>L.id).distance(m).strength(.9)).force("charge",forceManyBody().strength(-k/10*200).theta(.5).distanceMin(k*2)).force("x",forceX().strength(.03)).force("y",forceY().strength(.03)).force("center",forceCenter(h,g).strength(.05)).force("collide",forceCollide().radius(y*2).iterations(2).strength(1)).velocityDecay(.6);return ()=>{P.stop();}},[T,C]),useLayoutEffect(()=>{let t=D.current;t&&(n.current.width=r*At,n.current.height=o*At,t.width=n.current.width,t.height=n.current.height);},[r,o]),useEffect(()=>{if(x.current){let t=x.current;t.on("tick",()=>{R();}),t.on("end",()=>{w&&(Q(0,20),setTimeout(()=>{A(false);},200));});}w||R();},[T,C,w,R,Q]),useEffect(()=>{!T||!C||C.forEach(t=>{let d=typeof t.source=="object"?t.source:T.find(h=>h.id===t.source),u=typeof t.target=="object"?t.target:T.find(h=>h.id===t.target);!d||!u||(!d.neighbors&&(d.neighbors=[]),!u.neighbors&&(u.neighbors=[]),d.neighbors.push(u),u.neighbors.push(d),!d.links&&(d.links=[]),!u.links&&(u.links=[]),d.links.push(t),u.links.push(t));});},[T,C]),useEffect(()=>{s&&s.length>0&&v(bo(s));},[s]),useEffect(()=>{let t=D.current;if(!(!t||typeof window>"u"))return t.addEventListener("wheel",Fe,{passive:false}),t.addEventListener("touchend",Ne,{passive:false}),()=>{t.removeEventListener("wheel",Fe),t.removeEventListener("touchend",Ne);}},[Fe,Ne]),jsxs(wo,{children:[(e||w)&&jsx(jr,{width:r,height:o}),jsx(yo,{ref:D,style:{width:r,height:o,display:e||w?"none":"block"},onMouseDown:Ae,onMouseMove:me,onMouseUp:ye,onMouseLeave:ye,onClick:ve,onTouchStart:bt,onTouchMove:Pe})]})}),wo=styled.div`
|
|
48
48
|
display: flex;
|
|
49
49
|
align-items: center;
|
|
50
50
|
justify-content: center;
|
|
@@ -63,13 +63,13 @@ ${e?`
|
|
|
63
63
|
`:""}
|
|
64
64
|
|
|
65
65
|
min-width: 0;
|
|
66
|
-
`);var Po=[.1,.25,.5,.75,1,1.5,2,3,4,5],Mo=5,Eo=.1,No=120;function yt(e,r,o,a){return {x:e<o?(o-e)/2:0,y:r<a?(a-r)/2:0}}a(yt,"computePadding");var Hr=a(({url:e,alt:r="image",naturalWidth:o,naturalHeight:a$1,zoomSteps:s=Po,maxZoom:i=Mo,minZoom:l=Eo,showMinimap:f=true,minimapWidth:b=No,className:N,onZoomChange:C})=>{let[p,D]=useState("adaptive"),[A,n]=useState(1),[L,P]=useState(0),[T,v]=useState(false),S=useRef(false),[y,X]=useState(false),[K,H]=useState(false),[$,q]=useState({left:0,top:0}),oe=useRef(0),[ce,ke]=useState({width:0,height:0}),fe=useRef({width:0,height:0}),se=useRef(null),z$1=useRef(null),J=useRef({x:0,y:0,scrollLeft:0,scrollTop:0}),I=useRef(p),ie=useRef(A),U=useRef(L),Q=useRef(C);I.current=p,ie.current=A,U.current=L,Q.current=C;let te=o||fe.current.width,he=a$1||fe.current.height,re=L===90||L===270,O=re?he:te,ge=re?te:he,Te=useMemo(()=>[...s].sort((k,_)=>k-_),[s]),Le=useCallback(()=>ce.width===0||O===0?1:Math.min(ce.width/O,ce.height/ge,1),[ce,O,ge]),Re=useCallback((k,_)=>{if(_==="in"){let Y=Te.find(Z=>Z>k+.001);return Y!==void 0?Math.min(Y,i):k}let B=Te.findLast(Y=>Y<k-.001);return B!==void 0?Math.max(B,l):k},[Te,i,l]),Ae=useCallback(()=>I.current==="adaptive"?Le():ie.current,[Le]),Ce=useCallback(k=>{D("manual"),n(k),Q.current?.(k,"manual");},[]),me=useCallback(()=>{D("adaptive"),Q.current?.(Le(),"adaptive");},[Le]),ve=useCallback(k=>{requestAnimationFrame(()=>{let _=z$1.current;if(!_)return;let B=_.getBoundingClientRect(),Y=O*k,Z=ge*k,be=yt(Y,Z,B.width,B.height);_.scrollLeft=Y/2+be.x-B.width/2,_.scrollTop=Z/2+be.y-B.height/2;});},[O,ge]);useEffect(()=>{D("adaptive"),n(1),P(0),X(false),H(false),fe.current={width:0,height:0};},[e]),useEffect(()=>{let k=z$1.current;if(!k)return;let _=new ResizeObserver(B=>{let Y=B[0];if(!Y)return;let{width:Z,height:be}=Y.contentRect;ke(Se=>Se.width===Z&&Se.height===be?Se:{width:Z,height:be});});return _.observe(k),()=>_.disconnect()},[]),useEffect(()=>{let k=z$1.current;if(!k)return;let _=a(()=>{cancelAnimationFrame(oe.current),oe.current=requestAnimationFrame(()=>{let B=k.scrollLeft,Y=k.scrollTop;q(Z=>Z.left===B&&Z.top===Y?Z:{left:B,top:Y});});},"handleScroll");return k.addEventListener("scroll",_,{passive:true}),()=>{k.removeEventListener("scroll",_),cancelAnimationFrame(oe.current);}},[]),useEffect(()=>{let k=z$1.current;if(!k||!y)return;let _=a(B=>{if(!(B.ctrlKey||B.metaKey))return;B.preventDefault();let Y=Ae(),Z=B.deltaY>0?"out":"in",be=Re(Y,Z),Se=Le();if(Z==="out"&&be<=Se){me();return}let Me=k.getBoundingClientRect(),Be=U.current,Xe=Be===90||Be===270,nt=fe.current.width||1,ot=fe.current.height||1,Qe=Xe?ot:nt,pt=Xe?nt:ot,Kt,Qt;if(I.current==="adaptive"){let et=se.current;if(!et)return;let tt=et.getBoundingClientRect();Kt=(B.clientX-tt.left)/(tt.width/Qe),Qt=(B.clientY-tt.top)/(tt.height/pt);}else {let et=Qe*Y,tt=pt*Y,Sr=yt(et,tt,Me.width,Me.height);Kt=(k.scrollLeft+B.clientX-Me.left-Sr.x)/Y,Qt=(k.scrollTop+B.clientY-Me.top-Sr.y)/Y;}Ce(be),requestAnimationFrame(()=>{let et=k.getBoundingClientRect(),tt=yt(Qe*be,pt*be,et.width,et.height);k.scrollLeft=Kt*be+tt.x-(B.clientX-et.left),k.scrollTop=Qt*be+tt.y-(B.clientY-et.top);});},"handleWheel");return k.addEventListener("wheel",_,{passive:false}),()=>k.removeEventListener("wheel",_)},[y,Ae,Re,Le,Ce,me]),useEffect(()=>{if(p!=="manual")return;let k=z$1.current;if(!k)return;let _=a(Z=>{Z.button===0&&(Z.preventDefault(),S.current=true,v(true),J.current={x:Z.clientX,y:Z.clientY,scrollLeft:k.scrollLeft,scrollTop:k.scrollTop});},"handleMouseDown"),B=a(Z=>{if(!S.current)return;let{x:be,y:Se,scrollLeft:Me,scrollTop:Be}=J.current;k.scrollLeft=Me-(Z.clientX-be),k.scrollTop=Be-(Z.clientY-Se);},"handleMouseMove"),Y=a(()=>{S.current=false,v(false);},"handleMouseUp");return k.addEventListener("mousedown",_),window.addEventListener("mousemove",B),window.addEventListener("mouseup",Y),()=>{k.removeEventListener("mousedown",_),window.removeEventListener("mousemove",B),window.removeEventListener("mouseup",Y);}},[p]);let ye=useCallback(()=>{p==="manual"&&me();},[p,me]),Fe=useCallback(()=>{let k=Ae(),_=Re(k,"in");_!==k&&(Ce(_),ve(_));},[Ae,Re,Ce,ve]),Oe=useCallback(()=>{let k=Ae(),_=Re(k,"out");if(_<=Le()){me();return}Ce(_),ve(_);},[Ae,Re,Le,me,Ce,ve]),bt=useCallback(()=>{Ce(1),ve(1);},[Ce,ve]),Ne=useCallback(()=>{P(k=>{let _=(k+90)%360;if(I.current==="manual"){let B=fe.current.width,Y=fe.current.height,Z=_===90||_===270,be=Z?Y:B,Se=Z?B:Y,Me=ie.current;requestAnimationFrame(()=>{let Be=z$1.current;if(!Be)return;let Xe=Be.getBoundingClientRect(),nt=be*Me,ot=Se*Me,Qe=yt(nt,ot,Xe.width,Xe.height);Be.scrollLeft=nt/2+Qe.x-Xe.width/2,Be.scrollTop=ot/2+Qe.y-Xe.height/2;});}return _});},[]),Pe=useCallback(()=>{let k=se.current;k&&(fe.current={width:k.naturalWidth,height:k.naturalHeight},X(true),H(false));},[]),t=p==="adaptive"?Le():A,d=O*t,u=ge*t,h=ce.width,g=ce.height,x=p==="manual"?yt(d,u,h,g):{x:0,y:0},w=f&&p==="manual"&&(d>h||u>g),m=O>0?b/O:0,M=ge*m,R=h>0?h/A*m:0,j=g>0?g/A*m:0,ee=Math.max(0,$.left-x.x)/A*m,V=Math.max(0,$.top-x.y)/A*m,de=p==="adaptive"?"Fit":`${Math.round(A*100)}%`,ne=Re(t,"in")!==t,le=p==="manual"||t>l,E=p==="adaptive"?{width:O?d:void 0,height:ge?u:void 0,position:"relative",flexShrink:0}:{width:d,height:u,marginLeft:x.x,marginTop:x.y,flexShrink:0,position:"relative"},W={width:te*t,height:he*t,maxWidth:"none",maxHeight:"none",position:"absolute",top:"50%",left:"50%",transform:`translate(-50%, -50%) rotate(${L}deg)`},F={cursor:p==="manual"?T?"grabbing":"grab":"default"},pe={width:te*m,height:he*m,position:"absolute",top:"50%",left:"50%",transform:`translate(-50%, -50%) rotate(${L}deg)`};return jsxs("div",{className:`h-full w-full flex flex-col min-h-0 min-w-0 overflow-hidden ${N??""}`,children:[jsxs("div",{className:"flex w-full items-center px-8.5 py-3 gap-1 shrink-0 flex-wrap",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsx(Ra$1,{style:{width:20,height:20}}),onClick:Oe,disabled:!le,p:7,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]!"}),jsx("button",{type:"button",onClick:p==="manual"?me: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":de,children:jsx(_a,{style:{fontSize:12,fontWeight:500},children:de})}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(na$1,{style:{width:14,height:14}}),onClick:Fe,disabled:!ne,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]!",p:10}),jsx(z,{variant:"outlined","aria-label":"rotate-right",size:"small",color:"default",icon:jsx(Na$1,{style:{width:16,height:16}}),onClick:Ne,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]! ml-auto",p:10}),jsx(z,{variant:"outlined","aria-label":"fit-to-container",size:"small",color:p==="adaptive"?"primary":"default",icon:jsx(sa$1,{style:{width:14,height:14}}),onClick:me,className:`${p==="adaptive"?"bg-blue-50!":"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!"} h-[38px]!`,p:10}),jsx(z,{variant:"outlined","aria-label":"original-size",size:"small",color:p==="manual"&&A===1?"primary":"default",onClick:bt,className:`${p==="manual"&&A===1?"bg-blue-50!":"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!"} h-[38px]!`,py:10,px:11,children:jsx(_a,{style:{fontSize:12,fontWeight:500,lineHeight:1},children:"1:1"})})]}),jsxs("div",{className:"flex-1 min-h-0 min-w-0 relative",children:[jsx("div",{ref:z$1,className:`h-full w-full ${p==="adaptive"?"flex items-center justify-center overflow-hidden":"overflow-auto"}`,style:F,onDoubleClick:ye,children:K?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx(_a,{color:"text.lighter",children:"Failed to load image"})}):jsx("div",{style:E,children:jsx("img",{ref:se,src:e,alt:r,draggable:false,className:"block select-none",style:W,onLoad:Pe,onError:()=>H(true)})})}),w&&jsxs("div",{className:"absolute bottom-3 right-3 rounded-lg overflow-hidden shadow-lg pointer-events-none",style:{width:b,height:M,backdropFilter:"blur(8px)",background:"rgba(255,255,255,0.75)"},children:[jsx("div",{style:pe,children:jsx("img",{src:e,alt:"",draggable:false,className:"block w-full h-full object-fill"})}),jsx("div",{className:"absolute border-2 border-blue-500 rounded-sm",style:{width:Math.min(R,b),height:Math.min(j,M),left:Math.max(0,Math.min(ee,b-R)),top:Math.max(0,Math.min(V,M-j)),background:"rgba(59,130,246,0.1)"}})]})]})]})},"ImageDriver");var Wr=a(({url:e})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full py-5.5 px-8.5",children:jsx("audio",{controls:true,src:e,className:"w-full"})}),"AudioDriver");var tr=a(({url:e})=>{let[r,o]=useState(null),[a$1,s]=useState(false),[i,l]=useState(true),[f,b]=useState(null);return useEffect(()=>{s(true);},[]),useEffect(()=>{if(!a$1)return;a(async()=>{try{let C=await import('./PdfDriver-RLN2RLDS.mjs');o(()=>C.PdfDriver),l(!1);}catch(C){console.error("Failed to load PDF driver:",C),b("Failed to load PDF viewer"),l(false);}},"loadPdfDriver")();},[a$1]),a$1?i?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading PDF viewer..."})}):f||!r?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-red-500 text-center",children:jsx("p",{children:f||"PDF viewer unavailable"})})}):jsx(r,{url:e}):jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading PDF viewer..."})})},"PdfDriverWrapper");var Ur=50,Ro=1e4,qr=a(({url:e,blob:r,labels:o={}})=>{let{loading:a$1="\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F...",scale:s="Scale:"}=o,i=useRef(null),l=useRef(null),[f,b]=useState(null),[N,C]=useState(true),[p,D]=useState(1),A=useRef(false),[n,L]=useState({width:0,height:0}),P=useRef(0),T=a(()=>{A.current=true,D(y=>Math.min(y+.25,4));},"handleZoomIn"),v=a(()=>{A.current=true,D(y=>Math.max(y-.25,.25));},"handleZoomOut");useEffect(()=>{a(async()=>{if(l.current)try{C(!0),b(null);let X=r;if(!X&&e&&(X=await(await fetch(e)).blob()),!X){b({type:"render_error",originalMessage:"No source"}),C(!1);return}if(X.size/(1024*1024)>Ur){b({type:"file_too_large"}),C(!1);return}l.current.innerHTML="";let H=renderAsync(X,l.current,void 0,{debug:!0,experimental:!0,hideWrapperOnPrint:!0,breakPages:!0,ignoreLastRenderedPageBreak:!1}),$=new Promise((oe,ce)=>setTimeout(()=>ce({isTimeout:!0}),Ro));await Promise.race([H,$]),await new Promise(oe=>requestAnimationFrame(oe));let q=l.current.querySelector(".docx-wrapper");if(q&&(P.current=q.offsetWidth,L({width:q.offsetWidth,height:q.offsetHeight})),i.current&&P.current>0){let oe=i.current.clientWidth,ce=Math.min(oe/P.current,1);D(ce);}C(!1);}catch(X){b(X?.isTimeout?{type:"timeout"}:{type:"render_error",originalMessage:X?.message??""}),C(false);}},"renderDocument")();},[e,r]),useEffect(()=>{if(!i.current)return;let y=Lo(K=>{if(!(A.current||P.current===0))for(let H of K){let $=H.contentRect.width,q=Math.min($/P.current,1);D(q);}},150),X=new ResizeObserver(y);return X.observe(i.current),()=>{X.disconnect(),y.cancel();}},[]);let S=(()=>{if(!f)return null;switch(f.type){case "file_too_large":return o.errorFileTooLarge??`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${Ur} \u041C\u0411)`;case "timeout":return o.errorTimeout??"\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";default:return (o.errorRender??f.originalMessage)||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B"}})();return jsxs("div",{className:"h-full w-full flex flex-col px-0.5",children:[!S&&jsxs("div",{className:"flex justify-center items-stretch px-8 py-3 gap-1 border-b border-gray-200 dark:border-neutral-700",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsx(Ra$1,{style:{width:20,height:20}}),onClick:v,disabled:p<=.25,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:7}),jsxs(tb,{py:8,px:8,className:"flex items-center justify-between gap-1.5 min-w-21 rounded-[5px]!",children:[jsx(_a,{color:"text.lighter",style:{fontSize:10},children:s}),jsxs(_a,{children:[Math.round(p*100),"%"]})]}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(na$1,{style:{width:14,height:14}}),onClick:T,disabled:p>=4,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:10})]}),!!S&&!N&&jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(tb,{className:"mx-5",children:jsx(_a,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:S})})}),N&&jsx("div",{className:"flex items-center justify-center p-8",children:a$1}),jsx("div",{ref:i,className:`w-full h-full overflow-auto bg-neutral-400 dark:bg-neutral-800
|
|
66
|
+
`);var Po=[.1,.25,.5,.75,1,1.5,2,3,4,5],Mo=5,Eo=.1,No=120;function yt(e,r,o,a){return {x:e<o?(o-e)/2:0,y:r<a?(a-r)/2:0}}a(yt,"computePadding");var Hr=a(({url:e,alt:r="image",naturalWidth:o,naturalHeight:a$1,zoomSteps:s=Po,maxZoom:i=Mo,minZoom:l=Eo,showMinimap:f=true,minimapWidth:b=No,className:E,onZoomChange:I})=>{let[p,w]=useState("adaptive"),[A,n]=useState(1),[T,C]=useState(0),[N,v]=useState(false),D=useRef(false),[x,X]=useState(false),[K,H]=useState(false),[$,q]=useState({left:0,top:0}),oe=useRef(0),[ce,ke]=useState({width:0,height:0}),fe=useRef({width:0,height:0}),se=useRef(null),z$1=useRef(null),J=useRef({x:0,y:0,scrollLeft:0,scrollTop:0}),R=useRef(p),ie=useRef(A),U=useRef(T),Q=useRef(I);R.current=p,ie.current=A,U.current=T,Q.current=I;let te=o||fe.current.width,he=a$1||fe.current.height,re=T===90||T===270,O=re?he:te,ge=re?te:he,Te=useMemo(()=>[...s].sort((S,_)=>S-_),[s]),Le=useCallback(()=>ce.width===0||O===0?1:Math.min(ce.width/O,ce.height/ge,1),[ce,O,ge]),Re=useCallback((S,_)=>{if(_==="in"){let Y=Te.find(Z=>Z>S+.001);return Y!==void 0?Math.min(Y,i):S}let B=Te.findLast(Y=>Y<S-.001);return B!==void 0?Math.max(B,l):S},[Te,i,l]),Ae=useCallback(()=>R.current==="adaptive"?Le():ie.current,[Le]),Ce=useCallback(S=>{w("manual"),n(S),Q.current?.(S,"manual");},[]),me=useCallback(()=>{w("adaptive"),Q.current?.(Le(),"adaptive");},[Le]),ve=useCallback(S=>{requestAnimationFrame(()=>{let _=z$1.current;if(!_)return;let B=_.getBoundingClientRect(),Y=O*S,Z=ge*S,be=yt(Y,Z,B.width,B.height);_.scrollLeft=Y/2+be.x-B.width/2,_.scrollTop=Z/2+be.y-B.height/2;});},[O,ge]);useEffect(()=>{w("adaptive"),n(1),C(0),X(false),H(false),fe.current={width:0,height:0};},[e]),useEffect(()=>{let S=z$1.current;if(!S)return;let _=new ResizeObserver(B=>{let Y=B[0];if(!Y)return;let{width:Z,height:be}=Y.contentRect;ke(Se=>Se.width===Z&&Se.height===be?Se:{width:Z,height:be});});return _.observe(S),()=>_.disconnect()},[]),useEffect(()=>{let S=z$1.current;if(!S)return;let _=a(()=>{cancelAnimationFrame(oe.current),oe.current=requestAnimationFrame(()=>{let B=S.scrollLeft,Y=S.scrollTop;q(Z=>Z.left===B&&Z.top===Y?Z:{left:B,top:Y});});},"handleScroll");return S.addEventListener("scroll",_,{passive:true}),()=>{S.removeEventListener("scroll",_),cancelAnimationFrame(oe.current);}},[]),useEffect(()=>{let S=z$1.current;if(!S||!x)return;let _=a(B=>{if(!(B.ctrlKey||B.metaKey))return;B.preventDefault();let Y=Ae(),Z=B.deltaY>0?"out":"in",be=Re(Y,Z),Se=Le();if(Z==="out"&&be<=Se){me();return}let Me=S.getBoundingClientRect(),Be=U.current,Xe=Be===90||Be===270,nt=fe.current.width||1,ot=fe.current.height||1,Qe=Xe?ot:nt,pt=Xe?nt:ot,Kt,Qt;if(R.current==="adaptive"){let et=se.current;if(!et)return;let tt=et.getBoundingClientRect();Kt=(B.clientX-tt.left)/(tt.width/Qe),Qt=(B.clientY-tt.top)/(tt.height/pt);}else {let et=Qe*Y,tt=pt*Y,Sr=yt(et,tt,Me.width,Me.height);Kt=(S.scrollLeft+B.clientX-Me.left-Sr.x)/Y,Qt=(S.scrollTop+B.clientY-Me.top-Sr.y)/Y;}Ce(be),requestAnimationFrame(()=>{let et=S.getBoundingClientRect(),tt=yt(Qe*be,pt*be,et.width,et.height);S.scrollLeft=Kt*be+tt.x-(B.clientX-et.left),S.scrollTop=Qt*be+tt.y-(B.clientY-et.top);});},"handleWheel");return S.addEventListener("wheel",_,{passive:false}),()=>S.removeEventListener("wheel",_)},[x,Ae,Re,Le,Ce,me]),useEffect(()=>{if(p!=="manual")return;let S=z$1.current;if(!S)return;let _=a(Z=>{Z.button===0&&(Z.preventDefault(),D.current=true,v(true),J.current={x:Z.clientX,y:Z.clientY,scrollLeft:S.scrollLeft,scrollTop:S.scrollTop});},"handleMouseDown"),B=a(Z=>{if(!D.current)return;let{x:be,y:Se,scrollLeft:Me,scrollTop:Be}=J.current;S.scrollLeft=Me-(Z.clientX-be),S.scrollTop=Be-(Z.clientY-Se);},"handleMouseMove"),Y=a(()=>{D.current=false,v(false);},"handleMouseUp");return S.addEventListener("mousedown",_),window.addEventListener("mousemove",B),window.addEventListener("mouseup",Y),()=>{S.removeEventListener("mousedown",_),window.removeEventListener("mousemove",B),window.removeEventListener("mouseup",Y);}},[p]);let ye=useCallback(()=>{p==="manual"&&me();},[p,me]),Fe=useCallback(()=>{let S=Ae(),_=Re(S,"in");_!==S&&(Ce(_),ve(_));},[Ae,Re,Ce,ve]),Oe=useCallback(()=>{let S=Ae(),_=Re(S,"out");if(_<=Le()){me();return}Ce(_),ve(_);},[Ae,Re,Le,me,Ce,ve]),bt=useCallback(()=>{Ce(1),ve(1);},[Ce,ve]),Ne=useCallback(()=>{C(S=>{let _=(S+90)%360;if(R.current==="manual"){let B=fe.current.width,Y=fe.current.height,Z=_===90||_===270,be=Z?Y:B,Se=Z?B:Y,Me=ie.current;requestAnimationFrame(()=>{let Be=z$1.current;if(!Be)return;let Xe=Be.getBoundingClientRect(),nt=be*Me,ot=Se*Me,Qe=yt(nt,ot,Xe.width,Xe.height);Be.scrollLeft=nt/2+Qe.x-Xe.width/2,Be.scrollTop=ot/2+Qe.y-Xe.height/2;});}return _});},[]),Pe=useCallback(()=>{let S=se.current;S&&(fe.current={width:S.naturalWidth,height:S.naturalHeight},X(true),H(false));},[]),t=p==="adaptive"?Le():A,d=O*t,u=ge*t,h=ce.width,g=ce.height,k=p==="manual"?yt(d,u,h,g):{x:0,y:0},y=f&&p==="manual"&&(d>h||u>g),m=O>0?b/O:0,P=ge*m,L=h>0?h/A*m:0,j=g>0?g/A*m:0,ee=Math.max(0,$.left-k.x)/A*m,V=Math.max(0,$.top-k.y)/A*m,de=p==="adaptive"?"Fit":`${Math.round(A*100)}%`,ne=Re(t,"in")!==t,le=p==="manual"||t>l,M=p==="adaptive"?{width:O?d:void 0,height:ge?u:void 0,position:"relative",flexShrink:0}:{width:d,height:u,marginLeft:k.x,marginTop:k.y,flexShrink:0,position:"relative"},W={width:te*t,height:he*t,maxWidth:"none",maxHeight:"none",position:"absolute",top:"50%",left:"50%",transform:`translate(-50%, -50%) rotate(${T}deg)`},F={cursor:p==="manual"?N?"grabbing":"grab":"default"},pe={width:te*m,height:he*m,position:"absolute",top:"50%",left:"50%",transform:`translate(-50%, -50%) rotate(${T}deg)`};return jsxs("div",{className:`h-full w-full flex flex-col min-h-0 min-w-0 overflow-hidden ${E??""}`,children:[jsxs("div",{className:"flex w-full items-center px-8.5 py-3 gap-1 shrink-0 flex-wrap",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsx(Ra$1,{style:{width:20,height:20}}),onClick:Oe,disabled:!le,p:7,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]!"}),jsx("button",{type:"button",onClick:p==="manual"?me: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":de,children:jsx(_a,{style:{fontSize:12,fontWeight:500},children:de})}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(na$1,{style:{width:14,height:14}}),onClick:Fe,disabled:!ne,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]!",p:10}),jsx(z,{variant:"outlined","aria-label":"rotate-right",size:"small",color:"default",icon:jsx(Na$1,{style:{width:16,height:16}}),onClick:Ne,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]! ml-auto",p:10}),jsx(z,{variant:"outlined","aria-label":"fit-to-container",size:"small",color:p==="adaptive"?"primary":"default",icon:jsx(sa$1,{style:{width:14,height:14}}),onClick:me,className:`${p==="adaptive"?"bg-blue-50!":"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!"} h-[38px]!`,p:10}),jsx(z,{variant:"outlined","aria-label":"original-size",size:"small",color:p==="manual"&&A===1?"primary":"default",onClick:bt,className:`${p==="manual"&&A===1?"bg-blue-50!":"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!"} h-[38px]!`,py:10,px:11,children:jsx(_a,{style:{fontSize:12,fontWeight:500,lineHeight:1},children:"1:1"})})]}),jsxs("div",{className:"flex-1 min-h-0 min-w-0 relative",children:[jsx("div",{ref:z$1,className:`h-full w-full ${p==="adaptive"?"flex items-center justify-center overflow-hidden":"overflow-auto"}`,style:F,onDoubleClick:ye,children:K?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx(_a,{color:"text.lighter",children:"Failed to load image"})}):jsx("div",{style:M,children:jsx("img",{ref:se,src:e,alt:r,draggable:false,className:"block select-none",style:W,onLoad:Pe,onError:()=>H(true)})})}),y&&jsxs("div",{className:"absolute bottom-3 right-3 rounded-lg overflow-hidden shadow-lg pointer-events-none",style:{width:b,height:P,backdropFilter:"blur(8px)",background:"rgba(255,255,255,0.75)"},children:[jsx("div",{style:pe,children:jsx("img",{src:e,alt:"",draggable:false,className:"block w-full h-full object-fill"})}),jsx("div",{className:"absolute border-2 border-blue-500 rounded-sm",style:{width:Math.min(L,b),height:Math.min(j,P),left:Math.max(0,Math.min(ee,b-L)),top:Math.max(0,Math.min(V,P-j)),background:"rgba(59,130,246,0.1)"}})]})]})]})},"ImageDriver");var Wr=a(({url:e})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full py-5.5 px-8.5",children:jsx("audio",{controls:true,src:e,className:"w-full"})}),"AudioDriver");var tr=a(({url:e,initialPage:r})=>{let[o,a$1]=useState(null),[s,i]=useState(false),[l,f]=useState(true),[b,E]=useState(null);return useEffect(()=>{i(true);},[]),useEffect(()=>{if(!s)return;a(async()=>{try{let p=await import('./PdfDriver-P33OLIOE.mjs');a$1(()=>p.PdfDriver),f(!1);}catch(p){console.error("Failed to load PDF driver:",p),E("Failed to load PDF viewer"),f(false);}},"loadPdfDriver")();},[s]),s?l?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading PDF viewer..."})}):b||!o?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-red-500 text-center",children:jsx("p",{children:b||"PDF viewer unavailable"})})}):jsx(o,{url:e,initialPage:r}):jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading PDF viewer..."})})},"PdfDriverWrapper");var Ur=50,Ro=1e4,qr=a(({url:e,blob:r,labels:o={}})=>{let{loading:a$1="\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F...",scale:s="Scale:"}=o,i=useRef(null),l=useRef(null),[f,b]=useState(null),[E,I]=useState(true),[p,w]=useState(1),A=useRef(false),[n,T]=useState({width:0,height:0}),C=useRef(0),N=a(()=>{A.current=true,w(x=>Math.min(x+.25,4));},"handleZoomIn"),v=a(()=>{A.current=true,w(x=>Math.max(x-.25,.25));},"handleZoomOut");useEffect(()=>{a(async()=>{if(l.current)try{I(!0),b(null);let X=r;if(!X&&e&&(X=await(await fetch(e)).blob()),!X){b({type:"render_error",originalMessage:"No source"}),I(!1);return}if(X.size/(1024*1024)>Ur){b({type:"file_too_large"}),I(!1);return}l.current.innerHTML="";let H=renderAsync(X,l.current,void 0,{debug:!0,experimental:!0,hideWrapperOnPrint:!0,breakPages:!0,ignoreLastRenderedPageBreak:!1}),$=new Promise((oe,ce)=>setTimeout(()=>ce({isTimeout:!0}),Ro));await Promise.race([H,$]),await new Promise(oe=>requestAnimationFrame(oe));let q=l.current.querySelector(".docx-wrapper");if(q&&(C.current=q.offsetWidth,T({width:q.offsetWidth,height:q.offsetHeight})),i.current&&C.current>0){let oe=i.current.clientWidth,ce=Math.min(oe/C.current,1);w(ce);}I(!1);}catch(X){b(X?.isTimeout?{type:"timeout"}:{type:"render_error",originalMessage:X?.message??""}),I(false);}},"renderDocument")();},[e,r]),useEffect(()=>{if(!i.current)return;let x=Lo(K=>{if(!(A.current||C.current===0))for(let H of K){let $=H.contentRect.width,q=Math.min($/C.current,1);w(q);}},150),X=new ResizeObserver(x);return X.observe(i.current),()=>{X.disconnect(),x.cancel();}},[]);let D=(()=>{if(!f)return null;switch(f.type){case "file_too_large":return o.errorFileTooLarge??`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${Ur} \u041C\u0411)`;case "timeout":return o.errorTimeout??"\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";default:return (o.errorRender??f.originalMessage)||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B"}})();return jsxs("div",{className:"h-full w-full flex flex-col px-0.5",children:[!D&&jsxs("div",{className:"flex justify-center items-stretch px-8 py-3 gap-1 border-b border-gray-200 dark:border-neutral-700",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsx(Ra$1,{style:{width:20,height:20}}),onClick:v,disabled:p<=.25,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:7}),jsxs(tb,{py:8,px:8,className:"flex items-center justify-between gap-1.5 min-w-21 rounded-[5px]!",children:[jsx(_a,{color:"text.lighter",style:{fontSize:10},children:s}),jsxs(_a,{children:[Math.round(p*100),"%"]})]}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(na$1,{style:{width:14,height:14}}),onClick:N,disabled:p>=4,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:10})]}),!!D&&!E&&jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(tb,{className:"mx-5",children:jsx(_a,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:D})})}),E&&jsx("div",{className:"flex items-center justify-center p-8",children:a$1}),jsx("div",{ref:i,className:`w-full h-full overflow-auto bg-neutral-400 dark:bg-neutral-800
|
|
67
67
|
[&::-webkit-scrollbar]:w-2.5 [&::-webkit-scrollbar]:h-2.5 [&::-webkit-scrollbar-thumb]:rounded-full
|
|
68
68
|
[&::-webkit-scrollbar-thumb]:bg-neutral-500 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500
|
|
69
69
|
[&::-webkit-scrollbar-track]:bg-neutral-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700
|
|
70
70
|
[scrollbar-width:thin]
|
|
71
71
|
[scrollbar-color:var(--color-neutral-500)_var(--color-neutral-300)] dark:[scrollbar-color:var(--color-neutral-500)_var(--color-neutral-700)]
|
|
72
|
-
${
|
|
72
|
+
${D?"hidden":""}`,style:{scrollbarGutter:"stable both-edges"},children:jsx("div",{style:{width:n.width>0?n.width*p:void 0,height:n.height>0?n.height*p:void 0,overflow:"hidden",margin:"0 auto"},children:jsx("div",{ref:l,className:`[&>div.docx-wrapper_table_*]:wrap-break-word!
|
|
73
73
|
[&>div.docx-wrapper_table]:table-fixed!
|
|
74
74
|
[&>div.docx-wrapper_table_td]:w-fit!
|
|
75
75
|
[&>div.docx-wrapper_table_col]:w-fit!
|
|
@@ -87,12 +87,12 @@ ${e?`
|
|
|
87
87
|
[&>div.docx-wrapper]:w-full!
|
|
88
88
|
[&>div.docx-wrapper]:min-h-full
|
|
89
89
|
[&>div.docx-wrapper]:bg-neutral-400!
|
|
90
|
-
dark:[&>div.docx-wrapper]:bg-neutral-800!`,style:{boxSizing:"border-box",wordBreak:"break-word",overflowWrap:"break-word",transform:`scale(${p})`,transformOrigin:"top left"}})})})]})},"DocxDriver");var Uo=a(e=>({js:[javascript({jsx:false})],jsx:[javascript({jsx:true})],ts:[javascript({typescript:true,jsx:false})],tsx:[javascript({typescript:true,jsx:true})],html:[html()],css:[css()],scss:[css()],py:[python()],java:[java()],cpp:[cpp()],c:[cpp()],php:[php()],rs:[rust()],xml:[xml()],yaml:[yaml()],yml:[yaml()],md:[markdown()],sql:[sql()],sh:[markdown()],bash:[markdown()]})[e]||[],"getLanguageExtension");function qo(){let[e,r]=useState(()=>typeof document<"u"?document.documentElement.classList.contains("dark"):false);return useEffect(()=>{let o=new MutationObserver(()=>{r(document.documentElement.classList.contains("dark"));});return o.observe(document.documentElement,{attributes:true,attributeFilter:["class"]}),()=>o.disconnect()},[]),e}a(qo,"useIsDarkMode");var Jr=a(({url:e,extension:r})=>{let[o,a$1]=useState(""),[s,i]=useState(true),[l,f]=useState(null),[b,
|
|
90
|
+
dark:[&>div.docx-wrapper]:bg-neutral-800!`,style:{boxSizing:"border-box",wordBreak:"break-word",overflowWrap:"break-word",transform:`scale(${p})`,transformOrigin:"top left"}})})})]})},"DocxDriver");var Uo=a(e=>({js:[javascript({jsx:false})],jsx:[javascript({jsx:true})],ts:[javascript({typescript:true,jsx:false})],tsx:[javascript({typescript:true,jsx:true})],html:[html()],css:[css()],scss:[css()],py:[python()],java:[java()],cpp:[cpp()],c:[cpp()],php:[php()],rs:[rust()],xml:[xml()],yaml:[yaml()],yml:[yaml()],md:[markdown()],sql:[sql()],sh:[markdown()],bash:[markdown()]})[e]||[],"getLanguageExtension");function qo(){let[e,r]=useState(()=>typeof document<"u"?document.documentElement.classList.contains("dark"):false);return useEffect(()=>{let o=new MutationObserver(()=>{r(document.documentElement.classList.contains("dark"));});return o.observe(document.documentElement,{attributes:true,attributeFilter:["class"]}),()=>o.disconnect()},[]),e}a(qo,"useIsDarkMode");var Jr=a(({url:e,extension:r})=>{let[o,a$1]=useState(""),[s,i]=useState(true),[l,f]=useState(null),[b,E]=useState(0),I=useRef(null),p=qo();if(useEffect(()=>{a(async()=>{try{i(!0),f(null);let T=await fetch(e);if(!T.ok)throw new Error(`Failed to load file: ${T.statusText}`);let C=await T.text();if(r==="json")try{C=JSON.stringify(JSON.parse(C),null,2);}catch{}a$1(C);}catch(T){f(T instanceof Error?T.message:"Failed to load text content");}finally{i(false);}},"loadTextContent")();},[e]),useEffect(()=>{let n=a(()=>{if(I.current){let T=I.current.clientHeight;E(T);}},"updateHeight");return n(),window.addEventListener("resize",n),()=>{window.removeEventListener("resize",n);}},[s]),s)return jsx("div",{className:"flex items-center justify-center p-8.5",children:jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading text content..."})});if(l)return jsx("div",{className:"flex items-center justify-center p-8.5",children:jsxs("div",{className:"text-red-500",children:["Error: ",l]})});if(r==="md")return jsx("div",{ref:I,className:"h-full w-full overflow-auto p-5 prose dark:prose-invert max-w-[100%] select-text prose-table px-8.5",style:{wordBreak:"break-word"},children:jsx(Vo,{remarkPlugins:[Xo],children:o})});let A=Uo(r);return jsx("div",{ref:I,className:"h-full w-full",children:b>0&&jsx(_o,{value:o,theme:p?vscodeDark:vscodeLight,extensions:A,editable:false,height:`${b}px`,basicSetup:{lineNumbers:true,highlightActiveLineGutter:false,highlightActiveLine:false,foldGutter:true,dropCursor:false,indentOnInput:false,syntaxHighlighting:true,bracketMatching:true,closeBrackets:false,autocompletion:false,rectangularSelection:false,crosshairCursor:false,highlightSelectionMatches:false,closeBracketsKeymap:false,searchKeymap:false,foldKeymap:true,completionKeymap:false,lintKeymap:false}})})},"TextDriver");var Qr=a(({url:e})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full px-8.5",children:jsx("video",{controls:true,src:e,className:"w-full max-h-full"})}),"VideoDriver");var ht=class{static{a(this,"LruChunkCache");}cache=new Map;pinned=new Set;maxSize;constructor(r=8){this.maxSize=r;}get(r){let o=this.cache.get(r);return o!==void 0&&(this.cache.delete(r),this.cache.set(r,o)),o}set(r,o){if(this.cache.delete(r),this.cache.size>=this.maxSize){for(let a of this.cache.keys())if(!this.pinned.has(a)){this.cache.delete(a);break}}this.cache.set(r,o);}pin(r){this.pinned.clear();for(let o of r)this.pinned.add(o);this.pinned.size>this.maxSize&&(this.maxSize=this.pinned.size+4);}clear(){this.cache.clear(),this.pinned.clear();}};var st="chunks",or=class{static{a(this,"IndexedDBStore");}db;sessionId;dbName;constructor(r,o,a){this.db=r,this.sessionId=o,this.dbName=a;}async set(r,o){return new Promise((a,s)=>{let i=this.db.transaction(st,"readwrite");i.objectStore(st).put(o,r),i.oncomplete=()=>a(),i.onerror=()=>s(i.error);})}async get(r){return new Promise((o,a)=>{let i=this.db.transaction(st,"readonly").objectStore(st).get(r);i.onsuccess=()=>o(i.result??void 0),i.onerror=()=>a(i.error);})}async clear(){return new Promise((r,o)=>{let a=this.db.transaction(st,"readwrite");a.objectStore(st).clear(),a.oncomplete=()=>r(),a.onerror=()=>o(a.error);})}async destroy(){return this.db.close(),new Promise((r,o)=>{let a=indexedDB.deleteDatabase(this.dbName);a.onsuccess=()=>r(),a.onerror=()=>o(a.error),a.onblocked=()=>r();})}},ar=class{static{a(this,"MemoryStore");}sessionId=null;chunks=new Map;async set(r,o){this.chunks.set(r,o);}async get(r){return this.chunks.get(r)}async clear(){this.chunks.clear();}async destroy(){this.chunks.clear();}};async function $t(){let e=`${Date.now()}_${Math.random().toString(36).slice(2)}`,r=`csv-chunks-${e}`;try{let o=await new Promise((a,s)=>{let i=indexedDB.open(r,1);i.onupgradeneeded=()=>{let l=i.result;l.objectStoreNames.contains(st)||l.createObjectStore(st);},i.onsuccess=()=>a(i.result),i.onerror=()=>s(i.error);});return new or(o,e,r)}catch{return console.warn("IndexedDB unavailable, falling back to in-memory storage"),new ar}}a($t,"createChunkStore");function ta(e){let r=[],o=false,a=0,s=0;for(let i=0;i<e.length;i++){let l=e[i];if(l==='"')o=!o;else if(!o&&(l===`
|
|
91
91
|
`||l==="\r"&&e[i+1]!==`
|
|
92
92
|
`)){let f=e.slice(a,i).replace(/\r$/,"");f&&r.push(f),a=i+1,s=i+1;}}return [r,e.slice(s)]}a(ta,"splitCsvRows");function ra(e,r){let o=false;for(let a=0;a<e.length;a++)if(e[a]==='"')o=!o;else if(!o&&e.startsWith(r,a))return true;return false}a(ra,"hasDelimiter");var na=[",",";"," ","|"];function on(e,r){let o=false,a=1,s=r[0],i=r.length;for(let l=0;l<e.length;l++){let f=e[l];f==='"'?o=!o:!o&&f===s&&e.startsWith(r,l)&&(a++,l+=i-1);}return a}a(on,"countFields");function en(e,r){let o=new Map;for(let i of e){let l=on(i,r);o.set(l,(o.get(l)??0)+1);}let a=0,s=1;for(let[i,l]of o)l>a&&(a=l,s=i);return s===1?0:a/e.length}a(en,"delimiterModeScore");function tn(e,r){if(e.length===0)return null;let o=r,a=en(e,r);for(let s of na){if(s===r)continue;let i=en(e,s);i>a&&(a=i,o=s);}return a>=.75&&o!==r?o:null}a(tn,"detectBodyDelimiter");function rn(e,r,o){let{data:a}=St.parse(e,{delimiter:r});return (a[0]??[""]).map(i=>i.includes(o)||i.includes('"')||i.includes(`
|
|
93
|
-
`)||i.includes("\r")?'"'+i.replace(/"/g,'""')+'"':i).join(o)}a(rn,"reformatHeader");function nn(e,r,o){if(e.length===0)return null;let a=0,s=new Map;for(let f of e){let b=on(f,r);b>o&&(a++,s.set(b,(s.get(b)??0)+1));}if(a/e.length<.55)return null;let i=o,l=0;for(let[f,b]of s)b>l&&(l=b,i=f);return i>o?i:null}a(nn,"detectExtraBodyColumns");var Wt=class{static{a(this,"Utf32Decoder");}isLE;leftover=new Uint8Array(0);constructor(r){this.isLE=r==="le";}decode(r,o){let a=r;if(this.leftover.length>0){let f=new Uint8Array(this.leftover.length+r.length);f.set(this.leftover),f.set(r,this.leftover.length),a=f;}let s=Math.floor(a.length/4),i="";for(let f=0;f<s*4;f+=4){let b=this.isLE?(a[f]|a[f+1]<<8|a[f+2]<<16|a[f+3]<<24)>>>0:(a[f]<<24|a[f+1]<<16|a[f+2]<<8|a[f+3])>>>0;b>1114111||b>=55296&&b<=57343?i+="\uFFFD":i+=String.fromCodePoint(b);}let l=a.length%4;return o?.stream?this.leftover=l>0?a.slice(s*4):new Uint8Array(0):(l>0&&(i+="\uFFFD"),this.leftover=new Uint8Array(0)),i}};function oa(e){if(e==="utf-32le"||e==="utf-32")return new Wt("le");if(e==="utf-32be")return new Wt("be");try{return new TextDecoder(e)}catch{return new TextDecoder("utf-8")}}a(oa,"createDecoder");function aa(e){let r=Math.min(e.length,512);if(r<8)return null;let o=0,a=0;for(let i=0;i<r;i++)e[i]===0&&(i%2===1?o++:a++);let s=r/4;return o>=s&&o>a*2?"utf-16le":a>=s&&a>o*2?"utf-16be":null}a(aa,"detectUtf16NoBom");function ia(e){if(e.length>=3&&e[0]===239&&e[1]===187&&e[2]===191)return {encoding:"utf-8",bomLength:3};if(e.length>=4&&e[0]===0&&e[1]===0&&e[2]===254&&e[3]===255)return {encoding:"utf-32be",bomLength:4};if(e.length>=4&&e[0]===255&&e[1]===254&&e[2]===0&&e[3]===0)return {encoding:"utf-32le",bomLength:4};if(e.length>=2&&e[0]===255&&e[1]===254)return {encoding:"utf-16le",bomLength:2};if(e.length>=2&&e[0]===254&&e[1]===255)return {encoding:"utf-16be",bomLength:2};let r=aa(e.slice(0,512));if(r)return {encoding:r,bomLength:0};let o=(ea.detect(e.slice(0,4096))??"utf-8").toLowerCase();return o==="utf-8-sig"?{encoding:"utf-8",bomLength:3}:{encoding:o,bomLength:0}}a(ia,"detectEncodingFromBom");function sa(e,r){return e.stream?Promise.resolve(e.stream):e.blob?Promise.resolve(e.blob.stream()):e.url?fetch(e.url,{signal:r}).then(o=>{if(!o.ok)throw new Error(`HTTP ${o.status}`);return o.body}):Promise.reject(new Error("No source provided"))}a(sa,"resolveStream");function an(e){let[r,o]=useState("idle"),[a,s]=useState(0),[i,l]=useState([]),[f,b]=useState(null),[
|
|
93
|
+
`)||i.includes("\r")?'"'+i.replace(/"/g,'""')+'"':i).join(o)}a(rn,"reformatHeader");function nn(e,r,o){if(e.length===0)return null;let a=0,s=new Map;for(let f of e){let b=on(f,r);b>o&&(a++,s.set(b,(s.get(b)??0)+1));}if(a/e.length<.55)return null;let i=o,l=0;for(let[f,b]of s)b>l&&(l=b,i=f);return i>o?i:null}a(nn,"detectExtraBodyColumns");var Wt=class{static{a(this,"Utf32Decoder");}isLE;leftover=new Uint8Array(0);constructor(r){this.isLE=r==="le";}decode(r,o){let a=r;if(this.leftover.length>0){let f=new Uint8Array(this.leftover.length+r.length);f.set(this.leftover),f.set(r,this.leftover.length),a=f;}let s=Math.floor(a.length/4),i="";for(let f=0;f<s*4;f+=4){let b=this.isLE?(a[f]|a[f+1]<<8|a[f+2]<<16|a[f+3]<<24)>>>0:(a[f]<<24|a[f+1]<<16|a[f+2]<<8|a[f+3])>>>0;b>1114111||b>=55296&&b<=57343?i+="\uFFFD":i+=String.fromCodePoint(b);}let l=a.length%4;return o?.stream?this.leftover=l>0?a.slice(s*4):new Uint8Array(0):(l>0&&(i+="\uFFFD"),this.leftover=new Uint8Array(0)),i}};function oa(e){if(e==="utf-32le"||e==="utf-32")return new Wt("le");if(e==="utf-32be")return new Wt("be");try{return new TextDecoder(e)}catch{return new TextDecoder("utf-8")}}a(oa,"createDecoder");function aa(e){let r=Math.min(e.length,512);if(r<8)return null;let o=0,a=0;for(let i=0;i<r;i++)e[i]===0&&(i%2===1?o++:a++);let s=r/4;return o>=s&&o>a*2?"utf-16le":a>=s&&a>o*2?"utf-16be":null}a(aa,"detectUtf16NoBom");function ia(e){if(e.length>=3&&e[0]===239&&e[1]===187&&e[2]===191)return {encoding:"utf-8",bomLength:3};if(e.length>=4&&e[0]===0&&e[1]===0&&e[2]===254&&e[3]===255)return {encoding:"utf-32be",bomLength:4};if(e.length>=4&&e[0]===255&&e[1]===254&&e[2]===0&&e[3]===0)return {encoding:"utf-32le",bomLength:4};if(e.length>=2&&e[0]===255&&e[1]===254)return {encoding:"utf-16le",bomLength:2};if(e.length>=2&&e[0]===254&&e[1]===255)return {encoding:"utf-16be",bomLength:2};let r=aa(e.slice(0,512));if(r)return {encoding:r,bomLength:0};let o=(ea.detect(e.slice(0,4096))??"utf-8").toLowerCase();return o==="utf-8-sig"?{encoding:"utf-8",bomLength:3}:{encoding:o,bomLength:0}}a(ia,"detectEncodingFromBom");function sa(e,r){return e.stream?Promise.resolve(e.stream):e.blob?Promise.resolve(e.blob.stream()):e.url?fetch(e.url,{signal:r}).then(o=>{if(!o.ok)throw new Error(`HTTP ${o.status}`);return o.body}):Promise.reject(new Error("No source provided"))}a(sa,"resolveStream");function an(e){let[r,o]=useState("idle"),[a,s]=useState(0),[i,l]=useState([]),[f,b]=useState(null),[E,I]=useState(0),[p,w]=useState(0),A=useRef(e),n=useRef(0),T=useRef(0),C=useRef(""),N=useRef(""),v=useRef(0),D=useRef(new ht(10)),x=useRef(null),X=useRef(null),K=useRef(new Set),H=useRef(null),$=useRef(false),q=useCallback((R,ie)=>{let U=N.current,Q=v.current,te=U&&Q>1?ie.map(O=>ra(O,U)?O:'"'+O.replace(/"/g,'""')+'"'+U.repeat(Q-1)):ie,he=R+`
|
|
94
94
|
`+te.join(`
|
|
95
|
-
`),{data:re}=St.parse(he,{header:false,dynamicTyping:false,skipEmptyLines:true,...U?{delimiter:U}:{}});return re.slice(1)},[]),oe=useCallback(async(
|
|
95
|
+
`),{data:re}=St.parse(he,{header:false,dynamicTyping:false,skipEmptyLines:true,...U?{delimiter:U}:{}});return re.slice(1)},[]),oe=useCallback(async(R,ie)=>{let U=x.current;if(!U)return;let Q=Math.max(0,Math.floor(R/1e3)-2),te=Math.min(n.current-1,Math.floor(ie/1e3)+2),he=false;for(let re=Q;re<=te;re++)if(D.current.get(re)===void 0&&!K.current.has(re)){K.current.add(re);try{let O=await U.get(re);if(O&&C.current){let ge=q(C.current,O);D.current.set(re,ge),he=!0;}}finally{K.current.delete(re);}}he&&w(re=>re+1);},[q]),ce=useCallback(R=>{let ie=Math.floor(R/1e3),U=R%1e3;return D.current.get(ie)?.[U]},[p]),ke=useCallback(async()=>{$.current=true;let R=new AbortController;X.current=R,await x.current?.destroy();let ie=await $t();x.current=ie,n.current=0,T.current=0,C.current="",N.current="",v.current=0,D.current.clear(),l([]),s(0),b(null),I(0),o("loading");let U=A.current,Q=null;try{let te=await sa(U,R.signal);o("streaming"),Q=te.getReader();let he=null,re="",O=[],ge=!0,Te=[],Le=0,Re=0,Ae=U.blob?.size||0,Ce=!1,me=[];for(;;){if(R.signal.aborted)return;let{done:ve,value:ye}=await Q.read();if(ve)break;Le+=ye.byteLength,Ae&&I(Le/Ae);let Fe=ye;if(!he){let{encoding:Ne,bomLength:Pe}=ia(ye);he=oa(Ne),Pe>0&&(Fe=ye.slice(Pe));}re+=he.decode(Fe,{stream:!0});let[Oe,bt]=ta(re);if(Oe.length!==0){for(re=bt;ge&&Oe.length>0;){let Ne=Oe.shift(),{data:Pe,meta:t}=St.parse(Ne,{}),d=Pe[0]?.length??0;if(d>1)C.current=Ne,N.current=t.delimiter,v.current=d,l(Pe[0]),O=[...Te],Te=[],ge=!1;else if(Te.length<50)Te.push(Ne);else {C.current=Te.shift();let{data:u}=St.parse(C.current,{});u[0]&&l(u[0]),v.current=1,O=[...Te,Ne],Te=[],ge=!1;}}for(let Ne of Oe)if(Ne.trim()){if(!Ce){if(me.push(Ne),me.length<20)continue;let Pe=tn(me,N.current);Pe&&(C.current=rn(C.current,N.current,Pe),N.current=Pe);let t=nn(me,N.current,v.current);if(t!==null){let d=t-v.current;v.current=t,l(u=>[...u,...Array(d).fill("")]);}Ce=!0;for(let d of me)O.push(d);me.length=0;continue}if(O.push(Ne),O.length>=1e3){let Pe=n.current;if(await ie.set(Pe,O),Pe<3){let t=q(C.current,O);D.current.set(Pe,t);}n.current+=1,Re+=O.length,O=[],T.current=Re,H.current||(H.current=requestAnimationFrame(()=>{s(T.current),H.current=null;}));}}}}if(!ge&&!Ce){let ve=tn(me,N.current);ve&&(C.current=rn(C.current,N.current,ve),N.current=ve);let ye=nn(me,N.current,v.current);if(ye!==null){let Fe=ye-v.current;v.current=ye,l(Oe=>[...Oe,...Array(Fe).fill("")]);}for(let Fe of me)O.push(Fe);}if(ge){let ve=[...Te];if(re.trim()&&ve.push(re),ve.length>0){C.current=ve[0];let{data:ye}=St.parse(C.current,{});ye[0]&&l(ye[0]),v.current=ye[0]?.length??1,ve.length>1&&(O=[...O,...ve.slice(1)]);}}else re.trim()&&O.push(re);O.length>0&&(await ie.set(n.current,O),n.current+=1,Re+=O.length),H.current&&(cancelAnimationFrame(H.current),H.current=null),s(Re),I(1),o("done");}catch(te){if(R.signal.aborted)return;let he=te instanceof Error?te.message:"Unknown error";b(he),o("partial_error");}finally{Q?.cancel().catch(()=>{}),Q?.releaseLock(),H.current&&(cancelAnimationFrame(H.current),H.current=null),$.current=false;}},[q]),fe=useRef(false);useEffect(()=>(fe.current=true,$.current||ke(),()=>{fe.current=false,queueMicrotask(()=>{fe.current||(X.current?.abort(),x.current?.destroy(),H.current&&cancelAnimationFrame(H.current));});}),[ke]);let se=x.current?.sessionId??null,z=n.current,J=useCallback(R=>{D.current.pin(R);},[]);return {state:r,headers:i,totalRows:a,getRow:ce,error:f,progress:E,prefetchRange:oe,sessionId:se,chunkCount:z,pinChunks:J,delimiter:N.current}}a(an,"useCsvStream");var la=`
|
|
96
96
|
const DB_VERSION = 1;
|
|
97
97
|
const STORE_NAME = 'chunks';
|
|
98
98
|
|
|
@@ -178,7 +178,7 @@ self.onmessage = async (e) => {
|
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
};
|
|
181
|
-
`,Ct=null,Pt=null;function lr(){if(!Ct){let e=new Blob([la],{type:"application/javascript"});Pt=URL.createObjectURL(e),Ct=new Worker(Pt);}return Ct}a(lr,"getSearchWorker");function sn(){Ct?.terminate(),Ct=null,Pt&&(URL.revokeObjectURL(Pt),Pt=null);}a(sn,"terminateSearchWorker");function ln(e,r){let[o,a]=useState(""),[s,i]=useState("idle"),[l,f]=useState(null),[b,
|
|
181
|
+
`,Ct=null,Pt=null;function lr(){if(!Ct){let e=new Blob([la],{type:"application/javascript"});Pt=URL.createObjectURL(e),Ct=new Worker(Pt);}return Ct}a(lr,"getSearchWorker");function sn(){Ct?.terminate(),Ct=null,Pt&&(URL.revokeObjectURL(Pt),Pt=null);}a(sn,"terminateSearchWorker");function ln(e,r){let[o,a]=useState(""),[s,i]=useState("idle"),[l,f]=useState(null),[b,E]=useState({searched:0,total:0,found:0}),I=useRef(null),p=useCallback(n=>{if(!e||r===0)return;if(!n.trim()){f(null),i("idle"),E({searched:0,total:0,found:0});return}i("searching"),E({searched:0,total:r,found:0});let T=lr();T.onmessage=C=>{let{type:N}=C.data;N==="progress"&&E({searched:C.data.searched,total:C.data.total,found:C.data.found}),N==="done"&&(f(C.data.matchedIndices),i("done")),N==="cancelled"&&i("idle"),N==="error"&&(i("idle"),console.error("Search worker error:",C.data.message));},T.postMessage({type:"cancel"}),T.postMessage({type:"search",sessionId:e,query:n,chunkCount:r,chunkSize:1e3});},[e,r]),w=useCallback(n=>{a(n),I.current&&clearTimeout(I.current),I.current=setTimeout(()=>{p(n);},300);},[p]),A=useCallback(()=>{a(""),f(null),i("idle"),E({searched:0,total:0,found:0}),lr().postMessage({type:"cancel"});},[]);return useEffect(()=>()=>{I.current&&clearTimeout(I.current),sn();},[]),{query:o,onQueryChange:w,clearSearch:A,searchState:s,matchedIndices:l,searchProgress:b}}a(ln,"useCsvSearch");var ba={loading:"Loading...",rows:"rows",retry:"Retry",searchPlaceholder:"Search...",searchFound:"found",searching:"Searching..."};function va(e,r,o){let a=1/0,s=-1/0,i=Math.min(o,e.length-1);for(let l=r;l<=i;l++){let f=e[l];f<a&&(a=f),f>s&&(s=f);}return {min:a,max:s}}a(va,"getMinMax");function wa(e,r,o){let a=Math.min(100,o),s=e.map(()=>[]);for(let i=0;i<a;i++){let l=r(i);if(l)for(let f=0;f<e.length;f++){let b=l[f]??"";s[f].push(b.length);}}return e.map((i,l)=>{let f=i.length*9,b=s[l];if(b.length===0)return Math.min(Math.max(150,f+24),800);b.sort((A,n)=>A-n);let E=Math.floor(b.length*.9),p=b[E]*7.5+24,w=Math.max(f+24,p);return Math.min(Math.max(50,w),800)})}a(wa,"estimateColumnWidths");var ur=a(e=>{let{state:r,headers:o,totalRows:a$1,getRow:s,error:i,progress:l,prefetchRange:f,sessionId:b,chunkCount:E,pinChunks:I,delimiter:p}=an(e),w={...ba,...e.labels},{query:A,onQueryChange:n,clearSearch:T,searchState:C,matchedIndices:N}=ln(b,E),v=N!==null,D=v?N.length:a$1,[x,X]=useState([]),K=useRef(null),H=useRef(null),$=useRef(false),q=useRef(false);useEffect(()=>{q.current=false,$.current=false,X([]);},[b]),useEffect(()=>{if(o.length===0||$.current||q.current||a$1===0)return;let z=s(0);!z||z.length===0||(q.current=true,X(wa(o,s,a$1)));},[o,a$1,s]),useEffect(()=>()=>H.current?.(),[]);let oe=useCallback((z,J)=>{z.preventDefault(),$.current=true;let R=z.clientX,ie=x[J]??150;K.current={index:J,startX:R,startWidth:ie};let U=a(te=>{if(!K.current)return;let he=te.clientX-R,re=Math.max(50,ie+he);X(O=>{let ge=[...O];return ge[J]=re,ge});},"onMouseMove"),Q=a(()=>{K.current=null,H.current=null,document.removeEventListener("mousemove",U),document.removeEventListener("mouseup",Q);},"onMouseUp");H.current=Q,document.addEventListener("mousemove",U),document.addEventListener("mouseup",Q);},[x]),ce=x.reduce((z,J)=>z+J,0),ke=useCallback(()=>jsx(ka,{children:o.map((z,J)=>jsxs(Sa,{style:{width:x[J]},children:[z,jsx(Da,{onMouseDown:R=>oe(R,J)})]},J))}),[o,x,oe]),fe=useCallback(z=>{if(v&&N){let J=1/0,R=-1/0,ie=new Set,U=Math.min(z.endIndex,N.length-1);for(let Q=z.startIndex;Q<=U;Q++){let te=N[Q];te<J&&(J=te),te>R&&(R=te),ie.add(Math.floor(te/1e3));}I(Array.from(ie)),J!==1/0&&f(J,R);}else I([]),f(z.startIndex,z.endIndex);},[f,I,v,N]),se=useCallback(z=>{let J=v&&N?N[z]:z,R=s(J);return R?o.map((ie,U)=>{let te=U===o.length-1&&R.length>o.length?R.slice(U).join(p):R[U]??"";return jsx(dn,{style:{width:x[U]},children:te},U)}):o.map((ie,U)=>jsx(dn,{style:{width:x[U]},children:jsx(Ma,{})},U))},[s,o,x,v,N,p]);return useEffect(()=>{if(D>0)if(v&&N){let{min:z,max:J}=va(N,0,50);z!==1/0&&f(z,J);}else f(0,50);},[D,v,N,f]),r==="idle"||r==="loading"||r==="streaming"?jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-3",children:[jsx("div",{className:"h-10 w-10 rounded-full border-2 border-gray-200 dark:border-neutral-700 animate-spin border-s-transparent"}),r==="streaming"&&a$1>0&&jsxs(_a,{variant:"body",color:"text.lighter",style:{fontSize:12},children:[w.loading," ",a$1.toLocaleString()," ",w.rows,l>0?` (${Math.round(l*100)}%)`:""]})]}):jsxs("div",{className:"h-full w-full flex flex-col",children:[jsxs("div",{className:"flex items-center justify-between px-8.5 py-2 gap-2 flex-wrap",children:[jsx(_a,{variant:"body",color:"text.lighter",style:{fontSize:12,whiteSpace:"nowrap"},children:`${D.toLocaleString()} ${v?w.searchFound:w.rows}${v?` / ${a$1.toLocaleString()}`:""}`}),jsxs(Ea,{children:[jsx(Na,{type:"text",value:A,onChange:z=>n(z.target.value),placeholder:w.searchPlaceholder}),C==="searching"?jsx(La,{children:jsx(Ia,{})}):A?jsx(Ta,{onClick:T,type:"button",children:"\u2715"}):null]})]}),r==="partial_error"&&jsxs(tb,{className:"flex items-center justify-between mx-4 mb-2 px-3 py-2 rounded bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-900",children:[jsx(_a,{variant:"body",className:"text-red-600 dark:text-red-400",style:{fontSize:12},children:i}),e.onRetry&&jsx(z,{onClick:()=>e.onRetry(i??""),variant:"outlined",size:"small",children:w.retry})]}),jsx("div",{className:"flex-1 min-h-0",children:o.length>0&&jsx(TableVirtuoso,{totalCount:D,increaseViewportBy:300,fixedHeaderContent:ke,itemContent:se,rangeChanged:fe,style:{height:"100%"},components:{Table:a(({style:z,context:J,...R})=>jsx(ya,{style:{...z,minWidth:"100%",width:ce},...R}),"Table"),TableHead:xa,TableRow:a(({context:z,...J})=>jsx(Ca,{...J}),"TableRow")}},v?"filtered":"all")})]})},"CsvDriver"),ya=styled.table(({theme:e})=>`
|
|
182
182
|
border-collapse: separate;
|
|
183
183
|
border-spacing: 0;
|
|
184
184
|
table-layout: fixed;
|
|
@@ -282,9 +282,9 @@ self.onmessage = async (e) => {
|
|
|
282
282
|
border-top-color: ${e.colors.text?.light};
|
|
283
283
|
border-radius: 50%;
|
|
284
284
|
animation: ${Ra} 0.6s linear infinite;
|
|
285
|
-
`);var fr={...darkStyles,container:darkStyles.container+" bg-neutral-900!",label:darkStyles.label+" text-blue-400! font-medium!",clickableLabel:darkStyles.clickableLabel+" text-blue-400! font-medium!",nullValue:darkStyles.nullValue+" text-orange-400!",undefinedValue:darkStyles.undefinedValue+" text-orange-400!",numberValue:darkStyles.numberValue+" text-green-400!",stringValue:darkStyles.stringValue+" text-red-400!",booleanValue:darkStyles.booleanValue+" text-violet-400!",punctuation:darkStyles.punctuation+" text-neutral-500! font-medium!",quotesForFieldNames:true},hr={...defaultStyles,container:defaultStyles.container+" bg-gray-50!",label:defaultStyles.label+" text-blue-700! font-medium!",clickableLabel:defaultStyles.clickableLabel+" text-blue-700! font-medium!",nullValue:defaultStyles.nullValue+" text-orange-500!",undefinedValue:defaultStyles.undefinedValue+" text-orange-500!",numberValue:defaultStyles.numberValue+" text-green-700!",stringValue:defaultStyles.stringValue+" text-red-800!",booleanValue:defaultStyles.booleanValue+" text-violet-500!",punctuation:defaultStyles.punctuation+" text-gray-500! font-medium!",quotesForFieldNames:true},gn=a(({url:e})=>{let[r,o]=useState(null),[a,s]=useState(true),[i,l]=useState(null),{mode:f}=useTheme();return useEffect(()=>{let b=new AbortController;return s(true),l(null),o(null),fetch(e,{signal:b.signal}).then(
|
|
285
|
+
`);var fr={...darkStyles,container:darkStyles.container+" bg-neutral-900!",label:darkStyles.label+" text-blue-400! font-medium!",clickableLabel:darkStyles.clickableLabel+" text-blue-400! font-medium!",nullValue:darkStyles.nullValue+" text-orange-400!",undefinedValue:darkStyles.undefinedValue+" text-orange-400!",numberValue:darkStyles.numberValue+" text-green-400!",stringValue:darkStyles.stringValue+" text-red-400!",booleanValue:darkStyles.booleanValue+" text-violet-400!",punctuation:darkStyles.punctuation+" text-neutral-500! font-medium!",quotesForFieldNames:true},hr={...defaultStyles,container:defaultStyles.container+" bg-gray-50!",label:defaultStyles.label+" text-blue-700! font-medium!",clickableLabel:defaultStyles.clickableLabel+" text-blue-700! font-medium!",nullValue:defaultStyles.nullValue+" text-orange-500!",undefinedValue:defaultStyles.undefinedValue+" text-orange-500!",numberValue:defaultStyles.numberValue+" text-green-700!",stringValue:defaultStyles.stringValue+" text-red-800!",booleanValue:defaultStyles.booleanValue+" text-violet-500!",punctuation:defaultStyles.punctuation+" text-gray-500! font-medium!",quotesForFieldNames:true},gn=a(({url:e})=>{let[r,o]=useState(null),[a,s]=useState(true),[i,l]=useState(null),{mode:f}=useTheme();return useEffect(()=>{let b=new AbortController;return s(true),l(null),o(null),fetch(e,{signal:b.signal}).then(E=>{if(!E.ok)throw new Error(`HTTP ${E.status}: ${E.statusText}`);return E.text()}).then(E=>{try{o(JSON.parse(E));}catch{l("Invalid JSON");}}).catch(E=>{E instanceof Error&&E.name==="AbortError"||l(E instanceof Error?E.message:"Failed to load");}).finally(()=>{b.signal.aborted||s(false);}),()=>b.abort()},[e]),a?jsx("div",{className:"flex items-center justify-center h-full",children:jsx("div",{className:"h-10 w-10 rounded-full border-2 border-gray-200 dark:border-neutral-700 animate-spin border-s-transparent"})}):i?jsx("div",{className:"flex items-center justify-center h-full",children:jsx("div",{className:"text-sm text-red-500 dark:text-red-400",children:i})}):jsx("div",{className:"h-full w-full overflow-auto select-text",children:jsx(JsonView,{data:r,style:f==="dark"?fr:hr,shouldExpandNode:allExpanded,clickToExpandNode:true})})},"JsonDriver");function Oa(e){let r=[],o=0;for(let a=0;a<e.length;a++){let s=e[a];if(s===`
|
|
286
286
|
`){let i=e.slice(o,a).replace(/\r$/,"");i.trim()&&r.push(i),o=a+1;}else if(s==="\r"&&e[a+1]!==`
|
|
287
|
-
`){let i=e.slice(o,a);i.trim()&&r.push(i),o=a+1;}}return [r,e.slice(o)]}a(Oa,"splitLines");function Ba(e,r){return e.stream?Promise.resolve(e.stream):e.blob?Promise.resolve(e.blob.stream()):e.url?fetch(e.url,{signal:r}).then(o=>{if(!o.ok)throw new Error(`HTTP ${o.status}`);return o.body}):Promise.reject(new Error("No source provided"))}a(Ba,"resolveStream");function mn(e){let[r,o]=useState("idle"),[a,s]=useState(0),[i,l]=useState(null),[f,b]=useState(0),[N,C]=useState(0),p=useRef(e),D=useRef(0),A=useRef(0),n=useRef(new ht(10)),L=useRef(null),P=useRef(null),T=useRef(new Set),v=useRef(null),S=useRef(false),y=useCallback(async($,q)=>{let oe=L.current;if(!oe)return;let ce=Math.max(0,Math.floor($/1e3)-2),ke=Math.min(D.current-1,Math.floor(q/1e3)+2),fe=false;for(let se=ce;se<=ke;se++)if(n.current.get(se)===void 0&&!T.current.has(se)){T.current.add(se);try{let z=await oe.get(se);z&&(n.current.set(se,z),fe=!0);}finally{T.current.delete(se);}}fe&&C(se=>se+1);},[]),X=useCallback($=>{let q=Math.floor($/1e3),oe=$%1e3;return n.current.get(q)?.[oe]},[N]),K=useCallback(async()=>{S.current=true;let $=new AbortController;P.current=$,await L.current?.destroy();let q=await $t();L.current=q,D.current=0,A.current=0,n.current.clear(),s(0),l(null),b(0),o("loading");let oe=p.current;try{let ce=await Ba(oe,$.signal);o("streaming");let ke=ce.getReader(),fe=new TextDecoder("utf-8"),se="",z=[],J=0,I=0,ie=oe.blob?.size||0;for(;;){if($.signal.aborted)return;let{done:U,value:Q}=await ke.read();if(U)break;J+=Q.byteLength,ie&&b(J/ie),se+=fe.decode(Q,{stream:!0});let[te,he]=Oa(se);se=he;for(let re of te)if(z.push(re),z.length>=1e3){let O=D.current;await q.set(O,z),O<3&&n.current.set(O,z),D.current+=1,I+=z.length,z=[],A.current=I,v.current||(v.current=requestAnimationFrame(()=>{s(A.current),v.current=null;}));}}se.trim()&&z.push(se.trim()),z.length>0&&(await q.set(D.current,z),D.current+=1,I+=z.length),v.current&&(cancelAnimationFrame(v.current),v.current=null),s(I),b(1),o("done");}catch(ce){if($.signal.aborted)return;let ke=ce instanceof Error?ce.message:"Unknown error";l(ke),o("partial_error");}finally{S.current=false;}},[]),H=useRef(false);return useEffect(()=>(H.current=true,S.current||K(),()=>{H.current=false,queueMicrotask(()=>{H.current||(P.current?.abort(),L.current?.destroy(),v.current&&cancelAnimationFrame(v.current));});}),[K]),{state:r,totalLines:a,getLine:X,error:i,progress:f,prefetchRange:y}}a(mn,"useNdjsonStream");var br=a(e=>{let{state:r,totalLines:o,getLine:a,error:s,progress:i,prefetchRange:l}=mn(e),{mode:f}=useTheme(),b=useCallback(p=>{l(p.startIndex,p.endIndex);},[l]),N=useCallback(p=>{let D=a(p);if(!D)return jsx("div",{className:"px-4 py-2 border-b border-gray-200 dark:border-neutral-700",children:jsx("div",{className:"h-4 w-48 bg-gray-200 dark:bg-neutral-700 rounded animate-pulse"})});let A,n=false;try{A=JSON.parse(D);}catch{n=true;}return n?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:D}):jsx("div",{className:"select-text",children:jsx(JsonView,{data:A,style:f==="dark"?fr:hr,shouldExpandNode:allExpanded,clickToExpandNode:true})})},[a,f]),C=useRef(false);return useEffect(()=>{o>0&&!C.current&&(C.current=true,l(0,50));},[o,l]),r==="idle"||r==="loading"||r==="streaming"?jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-3",children:[jsx("div",{className:"h-10 w-10 rounded-full border-2 border-gray-200 dark:border-neutral-700 animate-spin border-s-transparent"}),r==="streaming"&&o>0&&jsxs("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:[o.toLocaleString()," records",i>0?` (${Math.round(i*100)}%)`:""]})]}):jsxs("div",{className:"h-full w-full flex flex-col",children:[r==="partial_error"&&jsx("div",{className:"px-8.5 py-2 border-b border-gray-200 dark:border-neutral-700 flex items-center justify-between",children:jsx("span",{className:"text-xs text-red-500 dark:text-red-400",children:s})}),jsx("div",{className:"flex-1 min-h-0",children:jsx(Virtuoso,{totalCount:o,itemContent:N,rangeChanged:b,increaseViewportBy:300,defaultItemHeight:40,style:{height:"100%"}})})]})},"NdjsonDriver");var vn=memo(a(function({extension:r,blob:o,path:a,buffer:s,stream:i,csvLabels:l,onCsvRetry:f,docxLabels:b,not_supported_message:N="Sorry, this file type isn\u2019t supported yet."}){let C=r.toLocaleLowerCase().trim(),p;if(a?p=a:o&&(p=URL.createObjectURL(o)),["csv","tsv","psv","dsv"].includes(C))return jsx(ur,{url:p,blob:o,stream:i,labels:l,onRetry:f});if(["ndjson","jsonl"].includes(C))return jsx(br,{url:p,blob:o,stream:i});if(p){if(["jpeg","jpg","png","gif","bmp","ico","svg","tiff","webp"].includes(C))return jsx(Hr,{url:p});if(["aac","ac3","aiff","amr","dts","flac","m4a","mp3","ogg","opus","wav","wma"].includes(C))return jsx(Wr,{url:p});if(["3gp","avi","dv","flv","m2ts","m4v","mkv","mov","mp4","mpeg","mpg","mts","ogv","vob","webm"].includes(C))return jsx(Qr,{url:p});if(r==="pdf")return jsx(tr,{url:p});if(C==="json")return jsx(gn,{url:p});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(C))return jsx(Jr,{url:p,extension:C})}return C==="docx"?jsx(qr,{url:p,blob:o,labels:b}):jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(tb,{className:"mx-5",children:jsx(_a,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:N})})})},"Driver"));var hp=a(e=>jsx("div",{className:"h-full w-full",children:jsx(vn,{...e})}),"FileViewer");var xn=250,Pp=a(({text:e,speed:r=50,onDone:o,markdown:a$1=false,markdownComponents:s={},className:i,...l})=>{let[f,b]=useState(""),N=useRef(null),C=useRef(null);return useEffect(()=>{let p=false;if(r>0){b(""),N.current=performance.now();let D=a(A=>{if(p||!N.current)return;let n=A-N.current,L=n/r>xn?r/2:r,P=n/r>xn?1.5:1,T=Math.floor(n/L*P);if(T>=e.length){b(e),p=true,o?.();return}b(e.slice(0,T)),C.current=requestAnimationFrame(D);},"tick");C.current=requestAnimationFrame(D);}else b(e),o?.();return ()=>{C.current&&cancelAnimationFrame(C.current);}},[e,r,o]),a$1?jsx("div",{className:i,children:jsx(Vo,{remarkPlugins:[Xo],components:s,...l,children:f})}):jsx(_a,{className:i,...l,children:f})},"Typewriter");var ni={timeout:2e3,message:"Copied!"},Fp=a(({text:e,children:r,format:o="text/plain",tooltip:a$1,positions:s=["top"],className:i})=>{let[l,f]=useState(false),b=useRef(null),N={...ni,...a$1},C=Array.isArray(s)?s[0]:s,p=a(async()=>{"clipboard"in navigator?await navigator.clipboard.writeText(e):Ka(e,{format:o}),f(true),b.current&&clearTimeout(b.current),b.current=setTimeout(()=>f(false),N.timeout);},"handleCopy");return useEffect(()=>()=>{b.current&&clearTimeout(b.current);},[]),jsx(Popover,{padding:6,positions:s,isOpen:l,align:"center",onClickOutside:()=>f(false),content:!!a$1?.message&&jsx(nb,{className:i,$position:C,$offset:6,children:a$1.message}),containerStyle:{zIndex:"9999"},children:jsx("div",{className:"inline-block",onMouseLeave:()=>f(false),children:r({copy:p})})})},"CopyToClipboard");var Sn=a(e=>new Date(e?Array.isArray(e)?e[1]||e[0]||new Date:e:new Date),"getInitValue"),Jt=a((e,r)=>{let o;if(r){let s=parse(e||"",r,new Date);if(isValid(s)&&getYear(s)>=1970)return s}let a=new Date(e||"");return isNaN(a.getTime())?o:a},"parseDate"),pi=a((e,r)=>{let o=e?Jt(e,r):void 0;return o&&r?format(o,r):e},"renderDate"),Jp=a(({value:e,range:r,inline:o=false,minDate:a=new Date(getYear(new Date)-5,0,1),maxDate:s=new Date(getYear(new Date)+5,11,31),format:i="dd.MM.yyyy",onChange:l,...f})=>{let[b,N]=useState(getMonth(Sn(e))),[C,p]=useState(getYear(Sn(e))),D=useMemo(()=>{if(e){if(Array.isArray(e)){let n=Jt(e[0],i),L=Jt(e[1],i);return [n,L]}return Jt(e,i)}},[e]),A=useCallback(n=>{if(r){let L=!!(D&&Array.isArray(D)&&D[0]),P=!!(D&&Array.isArray(D)&&D[1]);!L||L&&P?l?.([n.toString(),""]):L&&!P&&(n<D[0]?l?.([n.toString(),D[0].toString()]):l?.([D[0].toString(),n.toString()]));}else l?.(n.toString());},[r,D,l]);return o?jsx(Dn,{month:b,year:C,minDate:a,maxDate:s,selectedDate:D,onSelectDate:A,onChangeMonth:N,onChangeYear:p}):r?jsx(fi,{range:true,value:e,onChange:l,...f}):jsx(hi,{value:e,onChange:l,minDate:a,maxDate:s,month:b,year:C,selectedDate:D,onChangeMonth:N,onChangeYear:p,onSelectDate:A,formatStr:i,...f})},"DatePicker"),fi=a(({minDate:e,maxDate:r,value:o,onChange:a})=>null,"DatePickerGroupInput"),hi=a(({placeholder:e,value:r,onChange:o,inputProps:a,...s})=>{let[i,l]=useState(false),f=y(),b=useCallback(()=>{l(false);},[]);return jsx(Popover,{positions:["bottom","top","right","left"],align:"start",isOpen:i,onClickOutside:()=>l(false),content:jsx(tb,{children:jsx(Dn,{...s,onClose:b})}),containerStyle:{zIndex:`${f.zIndex.popover}`},children:jsx("div",{onClick:()=>l(true),children:jsx(ob,{...a,placeholder:e,value:pi(r,s.formatStr),onChange:N=>o?.(N.target.value)})})})},"DatePickerInput"),Dn=a(({month:e,year:r,selectedDate:o,minDate:a,maxDate:s,onSelectDate:i,onChangeMonth:l,onChangeYear:f,onClose:b})=>{let N=useMemo(()=>new Array(12).fill(null).map((v,S)=>{let y=new Date(0,S);return {value:S+1,inputDisplay:format(y,"MMMM")}}),[]),C=useMemo(()=>{let v=getYear(a),y=getYear(s)-v+1;return new Array(y).fill(null).map((X,K)=>{let H=v+K;return {value:H,inputDisplay:H.toString()}})},[a,s]),p=useMemo(()=>new Array(7).fill(null).map((v,S)=>{let y=startOfWeek(new Date,{weekStartsOn:S});return format(y,"EEE")}),[]),D=useMemo(()=>{let v=startOfMonth(new Date(r,e)),S=endOfMonth(new Date(r,e)),y=getDay(v)===0?v:previousSunday(v),X=getDay(S)===6?S:nextSaturday(S),K=differenceInDays(X,y),H=differenceInDays(v,y);return new Array(K+1).fill(null).map(($,q)=>new Date(r,e,q-H+1))},[e,r]),A=useCallback(()=>{e===0?(f(r-1),l(11)):l(e-1);},[e,r]),n=useCallback(()=>{e===11?(f(r+1),l(0)):l(e+1);},[e,r]),L=useMemo(()=>a?!(r<getYear(a)||r===getYear(a)&&e<=getMonth(a)):true,[e,r,a]),P=useMemo(()=>s?!(r>getYear(s)||r===getYear(s)&&e>=getMonth(s)):true,[e,r,s]),T=useCallback(v=>{v.stopPropagation();},[]);return jsxs("div",{className:"flex flex-col date-picker-calendar",onClick:T,children:[jsxs("div",{className:"flex justify-center items-center gap-2 pb-3",children:[L&&jsx(z,{size:"small",variant:"empty",icon:jsx(G,{}),onClick:A}),jsxs("div",{className:"flex-1 flex justify-center gap-1",children:[jsx(kb,{placeholder:"",hasBorder:false,selected:e+1,options:N,onSelect:v=>l(v-1),maxWidth:150,maxHeight:300}),jsx(kb,{placeholder:"",hasBorder:false,selected:r,options:C,onSelect:v=>f(v),maxWidth:100,maxHeight:300})]}),P&&jsx(z,{size:"small",variant:"empty",icon:jsx(H,{}),onClick:n})]}),jsx("div",{className:"grid grid-cols-7 gap-2",children:p.map(v=>jsx("div",{className:"text-center",children:v},v))}),jsx("div",{className:"grid grid-cols-7 gap-2 mt-2",children:D.map(v=>{let S=getMonth(v)===e,y=format(v,"yyyy-MM-dd")===format(new Date,"yyyy-MM-dd"),X=o&&(Array.isArray(o)&&(o[0]&&format(v,"yyyy-MM-dd")===format(o[0],"yyyy-MM-dd")||o[1]&&format(v,"yyyy-MM-dd")===format(o[1],"yyyy-MM-dd"))||!Array.isArray(o)&&format(v,"yyyy-MM-dd")===format(o,"yyyy-MM-dd")),K=o&&Array.isArray(o)&&o[0]&&o[1]&&v>o[0]&&v<o[1],H=a&&differenceInDays(v,a)<0||s&&differenceInDays(v,s)>0||!S;return jsx(gi,{date:v,isCurrentMonth:S,isCurrentDay:y,isSelected:!!X,isInRange:!!K,isDisabled:!!H,onSelectDate:$=>{i($),b?.();}},v.toISOString())})})]})},"DatePickerCalendar"),gi=a(({date:e,isCurrentMonth:r,isCurrentDay:o,isSelected:a$1,isInRange:s,isDisabled:i,onSelectDate:l})=>jsx("div",{className:`text-center p-2 cursor-pointer rounded ${i?"text-gray-400 dark:text-neutral-600 cursor-not-allowed":a$1?"bg-blue-500 text-white":s?"bg-blue-100 dark:bg-blue-900/30":o?"text-blue-500":r?"text-black dark:text-white":"text-gray-400 dark:text-neutral-600"} ${i?"":a$1?"hover:bg-blue-600":"hover:bg-gray-100 dark:hover:bg-neutral-700"}`,onClick:a(b=>{i||l(e);},"handleClick"),children:format(e,"d")}),"CalendarDay");var vi=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"),wi=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"),yi=a(e=>{switch(e){case "bottom":return "translate-y-4";case "top":default:return "-translate-y-4"}},"getTransitionStarting"),En=a(({id:e,color:r="default",message:o,duration:a,transitionDirection:s,cancelable:i=true,onClose:l})=>{let[f,b]=useState(false),[N,C]=useState(false),p=useRef(null),D=useCallback(()=>{b(true),p.current=setTimeout(()=>{l(e);},300);},[e,l]);return useEffect(()=>{if(C(true),a&&a<1/0){let A=setTimeout(()=>{D();},a);return ()=>clearTimeout(A)}},[a,D]),useEffect(()=>()=>{p.current&&clearTimeout(p.current);},[]),jsx("div",{className:`max-w-xs
|
|
287
|
+
`){let i=e.slice(o,a);i.trim()&&r.push(i),o=a+1;}}return [r,e.slice(o)]}a(Oa,"splitLines");function Ba(e,r){return e.stream?Promise.resolve(e.stream):e.blob?Promise.resolve(e.blob.stream()):e.url?fetch(e.url,{signal:r}).then(o=>{if(!o.ok)throw new Error(`HTTP ${o.status}`);return o.body}):Promise.reject(new Error("No source provided"))}a(Ba,"resolveStream");function mn(e){let[r,o]=useState("idle"),[a,s]=useState(0),[i,l]=useState(null),[f,b]=useState(0),[E,I]=useState(0),p=useRef(e),w=useRef(0),A=useRef(0),n=useRef(new ht(10)),T=useRef(null),C=useRef(null),N=useRef(new Set),v=useRef(null),D=useRef(false),x=useCallback(async($,q)=>{let oe=T.current;if(!oe)return;let ce=Math.max(0,Math.floor($/1e3)-2),ke=Math.min(w.current-1,Math.floor(q/1e3)+2),fe=false;for(let se=ce;se<=ke;se++)if(n.current.get(se)===void 0&&!N.current.has(se)){N.current.add(se);try{let z=await oe.get(se);z&&(n.current.set(se,z),fe=!0);}finally{N.current.delete(se);}}fe&&I(se=>se+1);},[]),X=useCallback($=>{let q=Math.floor($/1e3),oe=$%1e3;return n.current.get(q)?.[oe]},[E]),K=useCallback(async()=>{D.current=true;let $=new AbortController;C.current=$,await T.current?.destroy();let q=await $t();T.current=q,w.current=0,A.current=0,n.current.clear(),s(0),l(null),b(0),o("loading");let oe=p.current;try{let ce=await Ba(oe,$.signal);o("streaming");let ke=ce.getReader(),fe=new TextDecoder("utf-8"),se="",z=[],J=0,R=0,ie=oe.blob?.size||0;for(;;){if($.signal.aborted)return;let{done:U,value:Q}=await ke.read();if(U)break;J+=Q.byteLength,ie&&b(J/ie),se+=fe.decode(Q,{stream:!0});let[te,he]=Oa(se);se=he;for(let re of te)if(z.push(re),z.length>=1e3){let O=w.current;await q.set(O,z),O<3&&n.current.set(O,z),w.current+=1,R+=z.length,z=[],A.current=R,v.current||(v.current=requestAnimationFrame(()=>{s(A.current),v.current=null;}));}}se.trim()&&z.push(se.trim()),z.length>0&&(await q.set(w.current,z),w.current+=1,R+=z.length),v.current&&(cancelAnimationFrame(v.current),v.current=null),s(R),b(1),o("done");}catch(ce){if($.signal.aborted)return;let ke=ce instanceof Error?ce.message:"Unknown error";l(ke),o("partial_error");}finally{D.current=false;}},[]),H=useRef(false);return useEffect(()=>(H.current=true,D.current||K(),()=>{H.current=false,queueMicrotask(()=>{H.current||(C.current?.abort(),T.current?.destroy(),v.current&&cancelAnimationFrame(v.current));});}),[K]),{state:r,totalLines:a,getLine:X,error:i,progress:f,prefetchRange:x}}a(mn,"useNdjsonStream");var br=a(e=>{let{state:r,totalLines:o,getLine:a,error:s,progress:i,prefetchRange:l}=mn(e),{mode:f}=useTheme(),b=useCallback(p=>{l(p.startIndex,p.endIndex);},[l]),E=useCallback(p=>{let w=a(p);if(!w)return jsx("div",{className:"px-4 py-2 border-b border-gray-200 dark:border-neutral-700",children:jsx("div",{className:"h-4 w-48 bg-gray-200 dark:bg-neutral-700 rounded animate-pulse"})});let A,n=false;try{A=JSON.parse(w);}catch{n=true;}return n?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:w}):jsx("div",{className:"select-text",children:jsx(JsonView,{data:A,style:f==="dark"?fr:hr,shouldExpandNode:allExpanded,clickToExpandNode:true})})},[a,f]),I=useRef(false);return useEffect(()=>{o>0&&!I.current&&(I.current=true,l(0,50));},[o,l]),r==="idle"||r==="loading"||r==="streaming"?jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-3",children:[jsx("div",{className:"h-10 w-10 rounded-full border-2 border-gray-200 dark:border-neutral-700 animate-spin border-s-transparent"}),r==="streaming"&&o>0&&jsxs("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:[o.toLocaleString()," records",i>0?` (${Math.round(i*100)}%)`:""]})]}):jsxs("div",{className:"h-full w-full flex flex-col",children:[r==="partial_error"&&jsx("div",{className:"px-8.5 py-2 border-b border-gray-200 dark:border-neutral-700 flex items-center justify-between",children:jsx("span",{className:"text-xs text-red-500 dark:text-red-400",children:s})}),jsx("div",{className:"flex-1 min-h-0",children:jsx(Virtuoso,{totalCount:o,itemContent:E,rangeChanged:b,increaseViewportBy:300,defaultItemHeight:40,style:{height:"100%"}})})]})},"NdjsonDriver");var vn=memo(a(function({extension:r,blob:o,path:a,buffer:s,stream:i,csvLabels:l,onCsvRetry:f,docxLabels:b,initialPage:E,not_supported_message:I="Sorry, this file type isn\u2019t supported yet."}){let p=r.toLocaleLowerCase().trim(),w;if(a?w=a:o&&(w=URL.createObjectURL(o)),["csv","tsv","psv","dsv"].includes(p))return jsx(ur,{url:w,blob:o,stream:i,labels:l,onRetry:f});if(["ndjson","jsonl"].includes(p))return jsx(br,{url:w,blob:o,stream:i});if(w){if(["jpeg","jpg","png","gif","bmp","ico","svg","tiff","webp"].includes(p))return jsx(Hr,{url:w});if(["aac","ac3","aiff","amr","dts","flac","m4a","mp3","ogg","opus","wav","wma"].includes(p))return jsx(Wr,{url:w});if(["3gp","avi","dv","flv","m2ts","m4v","mkv","mov","mp4","mpeg","mpg","mts","ogv","vob","webm"].includes(p))return jsx(Qr,{url:w});if(r==="pdf")return jsx(tr,{url:w,initialPage:E});if(p==="json")return jsx(gn,{url:w});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(p))return jsx(Jr,{url:w,extension:p})}return p==="docx"?jsx(qr,{url:w,blob:o,labels:b}):jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(tb,{className:"mx-5",children:jsx(_a,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:I})})})},"Driver"));var hp=a(e=>jsx("div",{className:"h-full w-full",children:jsx(vn,{...e})}),"FileViewer");var xn=250,Pp=a(({text:e,speed:r=50,onDone:o,markdown:a$1=false,markdownComponents:s={},className:i,...l})=>{let[f,b]=useState(""),E=useRef(null),I=useRef(null);return useEffect(()=>{let p=false;if(r>0){b(""),E.current=performance.now();let w=a(A=>{if(p||!E.current)return;let n=A-E.current,T=n/r>xn?r/2:r,C=n/r>xn?1.5:1,N=Math.floor(n/T*C);if(N>=e.length){b(e),p=true,o?.();return}b(e.slice(0,N)),I.current=requestAnimationFrame(w);},"tick");I.current=requestAnimationFrame(w);}else b(e),o?.();return ()=>{I.current&&cancelAnimationFrame(I.current);}},[e,r,o]),a$1?jsx("div",{className:i,children:jsx(Vo,{remarkPlugins:[Xo],components:s,...l,children:f})}):jsx(_a,{className:i,...l,children:f})},"Typewriter");var ni={timeout:2e3,message:"Copied!"},Fp=a(({text:e,children:r,format:o="text/plain",tooltip:a$1,positions:s=["top"],className:i})=>{let[l,f]=useState(false),b=useRef(null),E={...ni,...a$1},I=Array.isArray(s)?s[0]:s,p=a(async()=>{"clipboard"in navigator?await navigator.clipboard.writeText(e):Ka(e,{format:o}),f(true),b.current&&clearTimeout(b.current),b.current=setTimeout(()=>f(false),E.timeout);},"handleCopy");return useEffect(()=>()=>{b.current&&clearTimeout(b.current);},[]),jsx(Popover,{padding:6,positions:s,isOpen:l,align:"center",onClickOutside:()=>f(false),content:!!a$1?.message&&jsx(nb,{className:i,$position:I,$offset:6,children:a$1.message}),containerStyle:{zIndex:"9999"},children:jsx("div",{className:"inline-block",onMouseLeave:()=>f(false),children:r({copy:p})})})},"CopyToClipboard");var Sn=a(e=>new Date(e?Array.isArray(e)?e[1]||e[0]||new Date:e:new Date),"getInitValue"),Jt=a((e,r)=>{let o;if(r){let s=parse(e||"",r,new Date);if(isValid(s)&&getYear(s)>=1970)return s}let a=new Date(e||"");return isNaN(a.getTime())?o:a},"parseDate"),pi=a((e,r)=>{let o=e?Jt(e,r):void 0;return o&&r?format(o,r):e},"renderDate"),Jp=a(({value:e,range:r,inline:o=false,minDate:a=new Date(getYear(new Date)-5,0,1),maxDate:s=new Date(getYear(new Date)+5,11,31),format:i="dd.MM.yyyy",onChange:l,...f})=>{let[b,E]=useState(getMonth(Sn(e))),[I,p]=useState(getYear(Sn(e))),w=useMemo(()=>{if(e){if(Array.isArray(e)){let n=Jt(e[0],i),T=Jt(e[1],i);return [n,T]}return Jt(e,i)}},[e]),A=useCallback(n=>{if(r){let T=!!(w&&Array.isArray(w)&&w[0]),C=!!(w&&Array.isArray(w)&&w[1]);!T||T&&C?l?.([n.toString(),""]):T&&!C&&(n<w[0]?l?.([n.toString(),w[0].toString()]):l?.([w[0].toString(),n.toString()]));}else l?.(n.toString());},[r,w,l]);return o?jsx(Dn,{month:b,year:I,minDate:a,maxDate:s,selectedDate:w,onSelectDate:A,onChangeMonth:E,onChangeYear:p}):r?jsx(fi,{range:true,value:e,onChange:l,...f}):jsx(hi,{value:e,onChange:l,minDate:a,maxDate:s,month:b,year:I,selectedDate:w,onChangeMonth:E,onChangeYear:p,onSelectDate:A,formatStr:i,...f})},"DatePicker"),fi=a(({minDate:e,maxDate:r,value:o,onChange:a})=>null,"DatePickerGroupInput"),hi=a(({placeholder:e,value:r,onChange:o,inputProps:a,...s})=>{let[i,l]=useState(false),f=y(),b=useCallback(()=>{l(false);},[]);return jsx(Popover,{positions:["bottom","top","right","left"],align:"start",isOpen:i,onClickOutside:()=>l(false),content:jsx(tb,{children:jsx(Dn,{...s,onClose:b})}),containerStyle:{zIndex:`${f.zIndex.popover}`},children:jsx("div",{onClick:()=>l(true),children:jsx(ob,{...a,placeholder:e,value:pi(r,s.formatStr),onChange:E=>o?.(E.target.value)})})})},"DatePickerInput"),Dn=a(({month:e,year:r,selectedDate:o,minDate:a,maxDate:s,onSelectDate:i,onChangeMonth:l,onChangeYear:f,onClose:b})=>{let E=useMemo(()=>new Array(12).fill(null).map((v,D)=>{let x=new Date(0,D);return {value:D+1,inputDisplay:format(x,"MMMM")}}),[]),I=useMemo(()=>{let v=getYear(a),x=getYear(s)-v+1;return new Array(x).fill(null).map((X,K)=>{let H=v+K;return {value:H,inputDisplay:H.toString()}})},[a,s]),p=useMemo(()=>new Array(7).fill(null).map((v,D)=>{let x=startOfWeek(new Date,{weekStartsOn:D});return format(x,"EEE")}),[]),w=useMemo(()=>{let v=startOfMonth(new Date(r,e)),D=endOfMonth(new Date(r,e)),x=getDay(v)===0?v:previousSunday(v),X=getDay(D)===6?D:nextSaturday(D),K=differenceInDays(X,x),H=differenceInDays(v,x);return new Array(K+1).fill(null).map(($,q)=>new Date(r,e,q-H+1))},[e,r]),A=useCallback(()=>{e===0?(f(r-1),l(11)):l(e-1);},[e,r]),n=useCallback(()=>{e===11?(f(r+1),l(0)):l(e+1);},[e,r]),T=useMemo(()=>a?!(r<getYear(a)||r===getYear(a)&&e<=getMonth(a)):true,[e,r,a]),C=useMemo(()=>s?!(r>getYear(s)||r===getYear(s)&&e>=getMonth(s)):true,[e,r,s]),N=useCallback(v=>{v.stopPropagation();},[]);return jsxs("div",{className:"flex flex-col date-picker-calendar",onClick:N,children:[jsxs("div",{className:"flex justify-center items-center gap-2 pb-3",children:[T&&jsx(z,{size:"small",variant:"empty",icon:jsx(G,{}),onClick:A}),jsxs("div",{className:"flex-1 flex justify-center gap-1",children:[jsx(kb,{placeholder:"",hasBorder:false,selected:e+1,options:E,onSelect:v=>l(v-1),maxWidth:150,maxHeight:300}),jsx(kb,{placeholder:"",hasBorder:false,selected:r,options:I,onSelect:v=>f(v),maxWidth:100,maxHeight:300})]}),C&&jsx(z,{size:"small",variant:"empty",icon:jsx(H,{}),onClick:n})]}),jsx("div",{className:"grid grid-cols-7 gap-2",children:p.map(v=>jsx("div",{className:"text-center",children:v},v))}),jsx("div",{className:"grid grid-cols-7 gap-2 mt-2",children:w.map(v=>{let D=getMonth(v)===e,x=format(v,"yyyy-MM-dd")===format(new Date,"yyyy-MM-dd"),X=o&&(Array.isArray(o)&&(o[0]&&format(v,"yyyy-MM-dd")===format(o[0],"yyyy-MM-dd")||o[1]&&format(v,"yyyy-MM-dd")===format(o[1],"yyyy-MM-dd"))||!Array.isArray(o)&&format(v,"yyyy-MM-dd")===format(o,"yyyy-MM-dd")),K=o&&Array.isArray(o)&&o[0]&&o[1]&&v>o[0]&&v<o[1],H=a&&differenceInDays(v,a)<0||s&&differenceInDays(v,s)>0||!D;return jsx(gi,{date:v,isCurrentMonth:D,isCurrentDay:x,isSelected:!!X,isInRange:!!K,isDisabled:!!H,onSelectDate:$=>{i($),b?.();}},v.toISOString())})})]})},"DatePickerCalendar"),gi=a(({date:e,isCurrentMonth:r,isCurrentDay:o,isSelected:a$1,isInRange:s,isDisabled:i,onSelectDate:l})=>jsx("div",{className:`text-center p-2 cursor-pointer rounded ${i?"text-gray-400 dark:text-neutral-600 cursor-not-allowed":a$1?"bg-blue-500 text-white":s?"bg-blue-100 dark:bg-blue-900/30":o?"text-blue-500":r?"text-black dark:text-white":"text-gray-400 dark:text-neutral-600"} ${i?"":a$1?"hover:bg-blue-600":"hover:bg-gray-100 dark:hover:bg-neutral-700"}`,onClick:a(b=>{i||l(e);},"handleClick"),children:format(e,"d")}),"CalendarDay");var vi=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"),wi=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"),yi=a(e=>{switch(e){case "bottom":return "translate-y-4";case "top":default:return "-translate-y-4"}},"getTransitionStarting"),En=a(({id:e,color:r="default",message:o,duration:a,transitionDirection:s,cancelable:i=true,onClose:l})=>{let[f,b]=useState(false),[E,I]=useState(false),p=useRef(null),w=useCallback(()=>{b(true),p.current=setTimeout(()=>{l(e);},300);},[e,l]);return useEffect(()=>{if(I(true),a&&a<1/0){let A=setTimeout(()=>{w();},a);return ()=>clearTimeout(A)}},[a,w]),useEffect(()=>()=>{p.current&&clearTimeout(p.current);},[]),jsx("div",{className:`max-w-xs
|
|
288
288
|
border
|
|
289
289
|
w-full
|
|
290
290
|
text-sm
|
|
@@ -292,8 +292,8 @@ self.onmessage = async (e) => {
|
|
|
292
292
|
transition-all
|
|
293
293
|
ease-in-out
|
|
294
294
|
duration-300
|
|
295
|
-
${f||!
|
|
296
|
-
${
|
|
297
|
-
${vi(r)} ${wi(r)}`,children:jsxs("div",{className:"flex p-4 items-center",style:{wordBreak:"break-word"},children:[o,i&&jsx("div",{className:"ms-auto self-start flex",children:jsx("button",{type:"button",className:"inline-flex shrink-0 justify-center items-center size-5 rounded-lg opacity-50 hover:opacity-100 focus:outline-hidden focus:opacity-100 cursor-pointer border-none","aria-label":"Close",onClick:
|
|
295
|
+
${f||!E?"opacity-0":"opacity-100"}
|
|
296
|
+
${E?"translate-y-0":yi(s)}
|
|
297
|
+
${vi(r)} ${wi(r)}`,children:jsxs("div",{className:"flex p-4 items-center",style:{wordBreak:"break-word"},children:[o,i&&jsx("div",{className:"ms-auto self-start flex",children:jsx("button",{type:"button",className:"inline-flex shrink-0 justify-center items-center size-5 rounded-lg opacity-50 hover:opacity-100 focus:outline-hidden focus:opacity-100 cursor-pointer border-none","aria-label":"Close",onClick:w,children:jsxs("svg",{className:"shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("path",{d:"M18 6 6 18"}),jsx("path",{d:"m6 6 12 12"})]})})})]})})},"Toast");var ki=a((e,r)=>{switch(e){case "top-right":return `top-${r} right-${r}`;case "top-left":return `top-${r} left-${r}`;case "bottom-right":return `bottom-${r} right-${r}`;case "bottom-left":return `bottom-${r} left-${r}`;default:return `top-${r} right-${r}`}},"getPosition"),uf=a(({items:e,onClose:r,position:o="top-right",offset:a=4})=>{let s=useMemo(()=>o.startsWith("top")?"top":"bottom",[o]);return jsx("div",{className:`fixed flex min-w-0 max-w-xs w-full flex-col z-50 gap-2 ${ki(o,a)}`,children:e.map(i=>jsx(En,{transitionDirection:s,...i,onClose:r},i.id))})},"ToastsList");var xf=a(({onChange:e,disabled:r,multiple:o,dragText:a$1="Drop file to upload",className:s})=>{let[i,l]=useState(false),[f,b]=useState(false),[E,I]=useState(false);return useEffect(()=>{if(r)return;let p=0,w=a(C=>{C.preventDefault(),C.dataTransfer?.types.includes("Files")&&(p++,p===1&&l(true));},"handleDragEnter"),A=a(C=>{C.preventDefault(),C.dataTransfer?.types.includes("Files")&&(p--,p===0&&l(false));},"handleDragLeave"),n=a(C=>{C.preventDefault();},"handleDragOver"),T=a(async C=>{if(C.preventDefault(),p=0,l(false),!!C.dataTransfer?.types.includes("Files")&&!f)try{b(!0);let N=await pb(C.dataTransfer.items);e(o?N:N.length>0?[N[0]]:[]);}catch(N){console.error("\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0440\u0438 \u0447\u0438\u0442\u0430\u043D\u043D\u0456 \u0444\u0430\u0439\u043B\u0456\u0432:",N);}finally{b(false);}},"handleDrop");return document.addEventListener("dragenter",w),document.addEventListener("dragleave",A),document.addEventListener("dragover",n),document.addEventListener("drop",T),()=>{document.removeEventListener("dragenter",w),document.removeEventListener("dragleave",A),document.removeEventListener("dragover",n),document.removeEventListener("drop",T);}},[r,f,o,e]),useEffect(()=>{I(true);},[]),E&&i?createPortal(jsx("div",{className:`fixed top-0 bottom-0 left-0 right-0 flex items-center justify-center bg-[rgba(251,250,250,0.9)] dark:bg-[rgba(12,10,18,0.9)] z-9999 ${s}`,children:jsx(_a,{variant:"h3",className:"px-3 py-2 bg-white dark:bg-neutral-800 rounded-md border border-gray-200 dark:border-neutral-700",children:a$1})}),document.body):null},"GlobalDropZone");
|
|
298
298
|
export{hc as Container,Fp as CopyToClipboard,Jp as DatePicker,Dn as DatePickerCalendar,hp as FileViewer,Jc as FullscreenCard,xf as GlobalDropZone,vo as Graph2D,Kl as PageContent,ql as PageLayout,yc as SplitterLayout,On as Styled,In as StyledContainer,zn as StyledMain,nc as SubNav,uf as ToastsList,Pp as Typewriter};//# sourceMappingURL=index.mjs.map
|
|
299
299
|
//# sourceMappingURL=index.mjs.map
|