@cyber-harbour/ui 2.2.27 → 2.2.29
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-QVSVI5RP.js → PdfDriver-L6HYH2YP.js} +2 -2
- package/dist/{PdfDriver-QVSVI5RP.js.map → PdfDriver-L6HYH2YP.js.map} +1 -1
- package/dist/{PdfDriver-MGKDGHEQ.mjs → PdfDriver-MG73PERZ.mjs} +2 -2
- package/dist/{PdfDriver-MGKDGHEQ.mjs.map → PdfDriver-MG73PERZ.mjs.map} +1 -1
- package/dist/chunk-IODEFYN2.js +1385 -0
- package/dist/chunk-IODEFYN2.js.map +1 -0
- package/dist/{chunk-DTPQDD44.mjs → chunk-PHEL4OFP.mjs} +114 -114
- package/dist/chunk-PHEL4OFP.mjs.map +1 -0
- package/dist/index.js +41 -41
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +40 -40
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-CHKXYQZ5.js +0 -1385
- package/dist/chunk-CHKXYQZ5.js.map +0 -1
- package/dist/chunk-DTPQDD44.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {a,w,x,u,c,l,z,Ra,_a,na,Na
|
|
1
|
+
import {a,w,x,u,c,l,z,Ra as Ra$1,_a,na,Na,sa,rb,Eb,y,mb,G,kb,H,nb}from'./chunk-PHEL4OFP.mjs';export{vb as Alert,A as AlertIcon,Ba as AndroidIcon,B as ApiIcon,C as ArrowCircleTopRightIcon,D as ArrowRightIcon,ja as BallsMenu,rb as Box,q as BreakpointProvider,E as BugReportIcon,Pa as BurgerMenuIcon,ta as BusIcon,z as Button,F as CalendarIcon,ua as CarIcon,Mb as ChatField,ka as CheckIcon,xb as Checkbox,la as ChevronDownIcon,G as ChevronLeftIcon,H as ChevronRightIcon,ma as ChevronUpIcon,Qa as ClockIcon,I as CloseCircleIcon,J as ClosedLockIcon,Fb as ContentLoader,hb as ContextMenu,ib as ContextMenuDelimiter,ra as CrossIcon,K as DataSetsIcon,L as DeepSearchIcon,M as DisabledVisibleIcon,N as DocsIcon,O as DownloadIcon,Ab as Drawer,Cb as DrawerBody,Bb as DrawerHeader,P as EditUserIcon,tb as EmptyData,Q as EnableVisibleIcon,R as EnterArrowLeftIcon,Ta as FaceSearchIcon,za as File2Icon,ob as FileField,ya as FileIcon,S as FiltersIcon,Ka as FlashIcon,pb as FlexContainer,qb as FlexItem,Da as FolderAlertIcon,T as FolderIcon,La as FolderInfoIcon,cb as Header,db as HeaderDelimeter,eb as HeaderSection,U as HomepageIcon,Sa as ImageIcon,pa as InfoCircleFilledIcon,V as InfoCircleIcon,mb as Input,Aa as IosIcon,wb as Label,sb as Line,yb as LinerProgress,$a as ListMenu,ab as ListMenuItem,bb as ListMenuSection,W as MapRadarIcon,sa as MaximizeIcon,Ua as MessageAsteriskIcon,Ca as MicrosoftIcon,Ra as MinusIcon,Hb as Modal,Jb as ModalBody,Kb as ModalFooter,Ib as ModalHeader,X as MoonIcon,Y as OpenLockIcon,Z as OrganizationIcon,Gb as Overlay,gb as Pagination,Ga as PassportIcon,_ as PasswordFinderIcon,Ia as PencilIcon,$ as PhonebookIcon,wa as PlaneIcon,na as PlusIcon,Ha as PointIcon,aa as PrintIcon,ba as Profiler2Icon,ca as ProfilerIcon,Nb as ProgressLoader,Ea as RelationIcon,Fa as RelationPointsIcon,Ma as RotateLeftIcon,Na as RotateRightIcon,lb as RowActionsMenu,da as SandBoxIcon,ea as SearchIcon,kb as Select,xa as ShipIcon,Wa as Sidebar,Va as SidebarContext,Ya as SidebarDelimeter,Xa as SidebarItem,Za as SidebarSection,fa as StatisticIcon,Eb as StyledTooltipContent,ga as SunIcon,zb as Switch,fb as Table,ub as Tag,Lb as TailwindExample,s as ThemeProvider,Db as Tooltip,_a as Typography,qa as UnfoldIcon,ha as UpRightArrowCircleIcon,Oa as UploadImageIcon,Ja as UserInCircleIcon,oa as UsersIcon,ia as VectorIcon,va as WayIcon,f as convertPaletteToRem,w as createComponent,x as createStyledComponent,p as darkTheme,o as darkThemePx,t as destructSpaceProps,u as generatePropertySpaceStyle,k as getBreakpoint,h as getButtonSizeStyles,g as getButtonStyles,i as getInputStyles,v as getResponsiveProps,j as getTypographyStyles,l as hexToRgba,n as lightTheme,m as lightThemePx,e as propToRem,c as pxToRem,d as remToPx,b as resolveThemeColor,r as useBreakpoint,jb as useContextMenuControl,y as useTheme}from'./chunk-PHEL4OFP.mjs';import Xn,{styled,useTheme,keyframes,css as css$1}from'styled-components';export{ServerStyleSheet,StyleSheetManager}from'styled-components';import {jsx,jsxs}from'react/jsx-runtime';import {useState,useRef,useCallback,useEffect,Fragment,forwardRef,useMemo,useImperativeHandle,useLayoutEffect,memo}from'react';import eo from'lodash.clonedeep';import {scaleOrdinal,schemeCategory10,forceSimulation,forceLink,forceManyBody,forceX,forceY,forceCenter,forceCollide}from'd3';import Vn from'react-content-loader';import {renderAsync}from'docx-preview';import Po from'lodash.throttle';import To from'@uiw/react-codemirror';import {vscodeDark,vscodeLight}from'@uiw/codemirror-theme-vscode';import {javascript}from'@codemirror/lang-javascript';import {html}from'@codemirror/lang-html';import {css}from'@codemirror/lang-css';import {python}from'@codemirror/lang-python';import {java}from'@codemirror/lang-java';import {cpp}from'@codemirror/lang-cpp';import {php}from'@codemirror/lang-php';import {rust}from'@codemirror/lang-rust';import {xml}from'@codemirror/lang-xml';import {yaml}from'@codemirror/lang-yaml';import {markdown}from'@codemirror/lang-markdown';import {sql}from'@codemirror/lang-sql';import Bo from'react-markdown';import Oo from'remark-gfm';import {TableVirtuoso,Virtuoso}from'react-virtuoso';import Wt from'papaparse';import Uo from'chardet';import {darkStyles,defaultStyles,JsonView,allExpanded}from'react-json-view-lite';import'react-json-view-lite/dist/index.css';import $a from'copy-to-clipboard';import {Popover}from'react-tiny-popover';import {parse,isValid,getYear,format,getMonth,startOfWeek,startOfMonth,endOfMonth,getDay,previousSunday,nextSaturday,differenceInDays}from'date-fns';import {createPortal}from'react-dom';var Fl=a(({children:e,className:n})=>jsx(Nn,{className:n,children:e}),"PageLayout"),Nn=styled.div`
|
|
2
2
|
display: grid;
|
|
3
3
|
min-height: 100dvh;
|
|
4
4
|
position: relative;
|
|
@@ -9,11 +9,11 @@ import {a,w,x,u,c,l,z,Ra,_a,na,Na as Na$1,sa as sa$1,rb,Eb,y,mb,G,kb,H,nb}from'.
|
|
|
9
9
|
& > header {
|
|
10
10
|
grid-area: header;
|
|
11
11
|
}
|
|
12
|
-
`;var
|
|
12
|
+
`;var $l=a(({children:e,className:n})=>jsx(Rn,{className:n,children:e}),"PageContent"),Rn=styled.main`
|
|
13
13
|
grid-area: content;
|
|
14
14
|
min-width: 0;
|
|
15
15
|
background: ${({theme:e})=>e.colors.backgroundBase};
|
|
16
|
-
`;var
|
|
16
|
+
`;var Yl=a(({children:e,className:n,top:o=0})=>jsx(zn,{className:n,$top:o,onClick:a=>a.stopPropagation(),children:e}),"SubNav"),zn=styled.div(({theme:e,$top:n})=>`
|
|
17
17
|
display: flex;
|
|
18
18
|
flex-direction: column;
|
|
19
19
|
justify-content: space-between;
|
|
@@ -33,37 +33,37 @@ import {a,w,x,u,c,l,z,Ra,_a,na,Na as Na$1,sa as sa$1,rb,Eb,y,mb,G,kb,H,nb}from'.
|
|
|
33
33
|
position: sticky;
|
|
34
34
|
border-right: 1px solid ${e.colors.stroke.light};
|
|
35
35
|
}
|
|
36
|
-
`);var
|
|
36
|
+
`);var ac=w(({maxWidth:e,...n})=>jsx(jn,{...n,$maxWidth:e})),jn=x(styled.div(({theme:e,$maxWidth:n,px:o=20})=>`
|
|
37
37
|
${u(e,"padding-inline",o)}
|
|
38
38
|
width: 100%;
|
|
39
39
|
min-width: 0;
|
|
40
40
|
max-width: ${typeof n=="number"?c(n,e.baseSize):n||"100%"};
|
|
41
|
-
`),{ignoreStyles:["padding-inline"]});var
|
|
41
|
+
`),{ignoreStyles:["padding-inline"]});var Wn=20,$n="splitter_columns_widths",Ar=a((e,n,o)=>{let a=localStorage.getItem(e);if(a)try{let s=JSON.parse(a);if(Array.isArray(s)&&s.length===n)return s}catch{}else if(o.length===n)return o;return Array(n).fill(100/n)},"getSavedWidths"),uc=a(({columns:e,initialWidths:n,layoutClassname:o="",splitterClassname:a="",minWidth:s=Wn,storageKey:i=$n})=>{let[c,f]=useState(()=>Ar(i,e.length,n)),v=useRef(null),k=useRef(null),P=useRef(s),h=useRef(c),T=useCallback(S=>{if(k.current===null||!v.current)return;let C=v.current.getBoundingClientRect(),D=C.width,K=S-C.left,U=[...h.current],W=k.current,V=W+1,ae=U.slice(0,W).reduce((xe,ce)=>xe+ce,0),pe=K/D*100-ae,fe=U[W]+U[V]-pe;pe>=P.current&&fe>=P.current&&(U[W]=pe,U[V]=fe,f(U),h.current=U);},[]),z=useCallback(S=>T(S.clientX),[T]),r=useCallback(S=>{S.preventDefault(),T(S.touches[0].clientX);},[T]),R=useCallback(()=>{k.current=null,localStorage.setItem(i,JSON.stringify(h.current)),document.removeEventListener("mousemove",z),document.removeEventListener("mouseup",R),document.removeEventListener("touchmove",r),document.removeEventListener("touchend",R);},[z,r,i]),x=useCallback(S=>C=>{C.preventDefault(),k.current=S,document.addEventListener("mousemove",z,{passive:false}),document.addEventListener("mouseup",R);},[z,R]),E=useCallback(S=>C=>{C.preventDefault(),k.current=S,document.addEventListener("touchmove",r,{passive:false}),document.addEventListener("touchend",R);},[r,R]);return useEffect(()=>{let S=Ar(i,e.length,n);h.current=S,f(S);},[e.length,n,i]),jsx("div",{ref:v,className:`flex select-none ${o}`,children:e.map(({content:S,className:C},D)=>jsxs(Fragment,{children:[jsx("div",{className:C,style:{flex:`${c[D]} 1 0%`},children:S}),D<e.length-1&&jsx("div",{onMouseDown:x(D),onTouchStart:E(D),className:`hidden lg:flex! lg:sticky lg:top-0 border-s border-gray-200 dark:border-neutral-700 ${a}`,children:jsx("span",{className:"absolute top-1/2 start-1/2 -translate-x-1/2 -translate-y-1/2 block w-5 h-8 flex justify-center items-center bg-white dark:bg-neutral-800 border border-gray-200 dark:border-neutral-700 text-gray-400 dark:text-neutral-500 rounded-md cursor-col-resize hover:bg-gray-100 dark:hover:bg-neutral-700",children:jsxs("svg",{className:"shrink-0 size-5",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("circle",{cx:"9",cy:"12",r:"1"}),jsx("circle",{cx:"9",cy:"5",r:"1"}),jsx("circle",{cx:"9",cy:"19",r:"1"}),jsx("circle",{cx:"15",cy:"12",r:"1"}),jsx("circle",{cx:"15",cy:"5",r:"1"}),jsx("circle",{cx:"15",cy:"19",r:"1"})]})})})]},`${D}`))})},"SplitterLayout");var qn=Xn.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:n=280})=>{let o=useTheme();return jsx(Un,{children:jsxs($n,{foregroundColor:o.contentLoader.foreground,backgroundColor:o.contentLoader.background,width:e,height:n,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"),_r=qn;var zt=typeof window<"u"&&window.devicePixelRatio||1;function uo(e){return !e||e.length===0?[]:e.map(n=>{let o=new Image;o.src=n.img;let a=new Image;return a.src=n.hoverImg,{...n,normalImg:o,hoverImg:a}})}a(uo,"prepareButtonImages");var se={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},po=forwardRef(({loading:e,width:n,height:o,graphData:a$1,buttons:l$1=[],onNodeClick:i,onBackgroundClick:d,onNodeHover:b,onLinkHover:w,onLinkClick:k},P)=>{let h=useTheme(),[T,z]=useState(true),r=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:n*zt,height:o*zt,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:R,links:x}=useMemo(()=>Qn(a$1),[a$1]),[E,S]=useState([]),C=useRef(null),D=useRef(null),K=useRef(null),U=scaleOrdinal(schemeCategory10),W=useCallback(()=>{if(!C.current)return false;try{let t=C.current.getContext("2d");return t?(K.current=t,!0):(console.error("Failed to get 2D context"),!1)}catch(t){return console.error("Error initializing Canvas 2D context:",t),false}},[]),V=useCallback(()=>D.current?D.current.nodes():null,[]),ae=useCallback(()=>{if(!D.current)return null;let t=D.current.force("link");return t?t.links():null},[]),pe=useCallback(t=>{t.save(),t.setTransform(1,0,0,1,0,0);let{width:u,height:c}=r.current,p=se.gridSpacing,f=se.dotSize;t.fillStyle=h.graph2D.grid.dotColor;for(let v=p/2;v<=u;v+=p)for(let g=p/2;g<=c;g+=p)t.beginPath(),t.arc(v,g,f,0,2*Math.PI),t.fill();t.restore();},[h.graph2D.grid.dotColor,se.gridSpacing,se.dotSize]),he=useCallback((t,u,c)=>{if(!t)return "";if(c.measureText(t).width<=u)return t;let f=t,v="...";for(;c.measureText(f+v).width>u&&f.length>0;)f=f.slice(0,-1);return f+v},[]),xe=a(t=>{let c=Math.min(t,se.maxZoom)/se.maxZoom;return Math.max(se.fontSize*c,se.fontSize)},"calculateFontSize"),ce=useCallback(t=>{let u=ae(),c=V();!u||u.length===0||!c||c.length===0||(t.lineWidth=.5,t.globalAlpha=1,u.forEach(p=>{let f=typeof p.source=="object"?p.source:c.find(ke=>ke.id===p.source),v=typeof p.target=="object"?p.target:c.find(ke=>ke.id===p.target);if(!f||!v)return;let g={x:f.x||0,y:f.y||0},m={x:v.x||0,y:v.y||0},M=m.x-g.x,L=m.y-g.y,_=Math.sqrt(M*M+L*L),J=M/_,X=L/_,ie=se.nodeSizeBase/2,ee=se.nodeSizeBase/2,oe=4,N={x:g.x+J*ie,y:g.y+X*ie},$={x:m.x-J*(ee+oe),y:m.y-X*(ee+oe)},B={x:m.x-J*(ee+1),y:m.y-X*(ee+1)},le=r.current.highlightLinks.has(p),y=le?h.graph2D.link.highlighted:h.graph2D.link.normal,I=le?1.5:.5,H=g.x+(m.x-g.x)/2,q=g.y+(m.y-g.y)/2,Y=Math.atan2(L,M);if(p.label){let ke=r.current.transform.k,Se=xe(ke);t.font=`${Se}px Sans-Serif`;let _e=t.measureText(p.label).width,We=10;t.beginPath(),t.moveTo(N.x,N.y);let tt=_/2-(_e+We)/2,rt={x:g.x+J*tt,y:g.y+X*tt};t.lineTo(rt.x,rt.y),t.strokeStyle=y,t.lineWidth=I,t.stroke(),t.beginPath();let Ke=_/2+(_e+We)/2,ht={x:g.x+J*Ke,y:g.y+X*Ke};t.moveTo(ht.x,ht.y),t.lineTo($.x,$.y),t.strokeStyle=y,t.lineWidth=I,t.stroke();}else t.beginPath(),t.moveTo(N.x,N.y),t.lineTo($.x,$.y),t.strokeStyle=y,t.lineWidth=I,t.stroke();let me=2;if(t.save(),t.translate(B.x,B.y),t.rotate(Y),t.beginPath(),t.moveTo(0,0),t.lineTo(-oe,me),t.lineTo(-oe,0),t.lineTo(-oe,-me),t.closePath(),t.fillStyle=y,t.fill(),t.restore(),p.label){let ke=r.current.transform.k,Se=xe(ke);t.font=`${Se}px Sans-Serif`,t.textAlign="center",t.textBaseline="middle",t.save(),t.translate(H,q),Math.abs(Y)>Math.PI/2?t.rotate(Y+Math.PI):t.rotate(Y),t.fillStyle=le?h.graph2D.link.highlightedTextColor:h.graph2D.link.textColor,t.fillText(p.label,0,0),t.restore();}}));},[se,h.graph2D.link]),A=a((t,u,c,p,f,v,g)=>{try{if(v!=null){let m=f*.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(v),L=t.measureText(M).width,_=f*.3,X=(f+_+L)/2;t.drawImage(u,c-X,p-f/2,f,f),t.fillStyle=g||"#99989C",t.fillText(M,c-X+f+_,p);}else t.drawImage(u,c-f/2,p-f/2,f,f);}catch(m){console.warn("Error rendering icon:",m);}},"drawIconWithOptionalCounter"),F=useCallback((t,u)=>{if(!E||E.length===0||!t||!t.x||!t.y)return;let{x:c,y:p}=t,f=se.nodeSizeBase*se.nodeAreaFactor/2;u.save();let v=Math.min(E.length,8),g=Math.min(Math.PI*2/v,Math.PI);for(let m=0;m<v;m++){let M=m*g,L=(m+1)*g,_=r.current.hoveredButtonIndex===m;u.beginPath(),u.arc(c,p,f,M,L,false),u.lineTo(c,p),u.closePath(),u.lineWidth=1,u.strokeStyle=h.graph2D?.button?.stroke||"#FFFFFF",u.stroke(),u.fillStyle=_?h.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":h.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",u.fill();let J=f*.2,X=(M+L)/2,ie=f-se.nodeSizeBase/2+J,ee=c+Math.cos(X)*ie,oe=p+Math.sin(X)*ie,N=E[m];if(N.loading){let $=J/2,B=J/12;u.save(),u.translate(ee,oe),u.rotate(r.current.spinnerAngle);for(let le=0;le<12;le++){let y=Math.PI*2*le/12,I=le/12,H=Math.cos(y)*$,q=Math.sin(y)*$;u.beginPath(),u.fillStyle=l(h.graph2D?.button?.spinnerColor,I),u.arc(H,q,B,0,Math.PI*2),u.fill();}u.restore(),r.current.spinnerAngle+=.1,r.current.spinnerAngle>Math.PI*2&&(r.current.spinnerAngle-=Math.PI*2),r.current.animation.id!==null&&(cancelAnimationFrame(r.current.animation.id),r.current.animation.id=null,r.current.animation.buttonIndex=null),r.current.animation.id=requestAnimationFrame(j),r.current.animation.buttonIndex=m;}else {r.current.animation.id&&r.current.animation.buttonIndex===m&&(cancelAnimationFrame(r.current.animation.id),r.current.animation.id=null,r.current.animation.buttonIndex=null);let $=_?N.hoverImg:N.normalImg,B=N.getCount?N.getCount(t):null;$.complete?A(u,$,ee,oe,J,B,h.graph2D?.button?.textColor):$.onload=()=>{K.current&&A(u,$,ee,oe,J,B,h.graph2D?.button?.textColor);};}}u.restore();},[E,h.graph2D?.button]),de=useCallback(t=>{let u=V();!u||u.length===0||(t.globalAlpha=1,u.forEach(c=>{let{x:p,y:f,color:v,fontColor:g,label:m}=c,M=r.current.highlightNodes.has(c)||c===r.current.hoveredNode||c===r.current.draggedNode,L=c===r.current.selectedNode,_=se.nodeSizeBase,J=se.nodeSizeBase/2;if(M&&!L){let X=se.nodeSizeBase*se.nodeAreaFactor*.75/2;t.beginPath(),t.arc(p,f,X,0,2*Math.PI,false),t.fillStyle=h.graph2D.ring.highlightFill,t.fill();}if(L)if(l$1&&l$1.length>0)F(c,t);else {let X=se.nodeSizeBase*se.nodeAreaFactor/2;t.beginPath(),t.arc(p,f,X,0,2*Math.PI,false),t.fillStyle=h.graph2D.ring.selectionFill||h.graph2D.ring.highlightFill,t.fill();}if(t.beginPath(),t.arc(p,f,J,0,2*Math.PI),t.fillStyle=v||U(c.group||"0"),t.fill(),m){t.save(),t.translate(p,f);let X=r.current.transform.k,ie=xe(X),ee=_*se.textPaddingFactor;t.font=`${ie}px Sans-Serif`,t.textAlign="center",t.textBaseline="middle",t.fillStyle=g||"#000";let oe=he(m,ee,t);t.fillText(oe,0,0),t.restore();}}));},[h.graph2D.ring,l$1,F]),j=useCallback(()=>{let t=K.current;t&&(t.clearRect(0,0,r.current.width,r.current.height),pe(t),t.save(),t.setTransform(r.current.transform.k,0,0,r.current.transform.k,r.current.transform.x,r.current.transform.y),ce(t),de(t),t.restore());},[ce,de,pe]),G=useCallback((t,u=[],c)=>{let p=ae()||[],f=V()||[];if(!D.current||!t.length)return;let{width:v,height:g}=r.current,m=c?.smoothAppearance??false,M=c?.transitionDuration??1e3,L=new Set(f.map(N=>N.id)),_=t.filter(N=>!L.has(N.id)),J=new Set(p.map(N=>`${typeof N.source=="object"?N.source.id:N.source}-${typeof N.target=="object"?N.target.id:N.target}`)),X=u.filter(N=>{let $=`${typeof N.source=="object"?N.source.id:N.source}-${typeof N.target=="object"?N.target.id:N.target}`;return !J.has($)});if(_.length===0&&X.length===0)return;let ie=[...f,..._],ee=[...p,...X];m&&(_.forEach(N=>{let $=X.filter(B=>{let le=typeof B.source=="object"?B.source.id:B.source,y=typeof B.target=="object"?B.target.id:B.target;return le===N.id&&L.has(y)||y===N.id&&L.has(le)});if($.length>0){let B=$[0],le=typeof B.source=="object"?B.source.id===N.id?B.target:B.source.id:B.source===N.id?B.target:B.source,y=ie.find(I=>I.id===le);if(y&&y.x!==void 0&&y.y!==void 0){let I=30+Math.random()*20,H=Math.random()*Math.PI*2;N.x=y.x+Math.cos(H)*I,N.y=y.y+Math.sin(H)*I,N.vx=0,N.vy=0;}}else {let B=v/2,le=g/2,y=Math.min(v,g)/4,I=Math.random()*Math.PI*2;N.x=B+Math.cos(I)*(y*Math.random()),N.y=le+Math.sin(I)*(y*Math.random()),N.vx=0,N.vy=0;}}),f.forEach(N=>{N.fx=N.x,N.fy=N.y;})),D.current.nodes(ie);let oe=D.current.force("link");oe&&oe.links(ee),X.forEach(N=>{let $=typeof N.source=="object"?N.source:ie.find(le=>le.id===N.source),B=typeof N.target=="object"?N.target:ie.find(le=>le.id===N.target);!$||!B||(!$.neighbors&&($.neighbors=[]),!B.neighbors&&(B.neighbors=[]),$.neighbors.push(B),B.neighbors.push($),!$.links&&($.links=[]),!B.links&&(B.links=[]),$.links.push(N),B.links.push(N));}),m?(D.current.alphaTarget(.3),D.current.alpha(.3),D.current.velocityDecay(.7),D.current.restart(),setTimeout(()=>{f.forEach(N=>{N.fx=void 0,N.fy=void 0;}),D.current?.alphaTarget(0),D.current?.alpha(.1),D.current?.velocityDecay(.6);},M)):D.current.alpha(.1).restart(),j();},[R,j]),te=useCallback(t=>{let u=V(),c=ae();if(!D.current||!t.length||!u||u.length===0||!c||c.length===0)return;let p=new Set(t);if(r.current.selectedNode&&r.current.selectedNode.id!==void 0&&p.has(r.current.selectedNode.id)&&(r.current.selectedNode=null),r.current.hoveredNode&&r.current.hoveredNode.id!==void 0&&p.has(r.current.hoveredNode.id)&&(r.current.hoveredNode=null,r.current.highlightNodes=new Set,r.current.highlightLinks=new Set),r.current.hoveredLink){let m=typeof r.current.hoveredLink.source=="object"?r.current.hoveredLink.source.id:r.current.hoveredLink.source,M=typeof r.current.hoveredLink.target=="object"?r.current.hoveredLink.target.id:r.current.hoveredLink.target;(m!==void 0&&p.has(m)||M!==void 0&&p.has(M))&&(r.current.hoveredLink=null,r.current.highlightNodes=new Set,r.current.highlightLinks=new Set);}r.current.draggedNode&&r.current.draggedNode.id!==void 0&&p.has(r.current.draggedNode.id)&&(r.current.draggedNode=null);let f=u.filter(m=>m.id!==void 0&&!p.has(m.id)),v=c.filter(m=>{let M=typeof m.source=="object"?m.source.id:m.source,L=typeof m.target=="object"?m.target.id:m.target;return M!==void 0&&!p.has(M)&&L!==void 0&&!p.has(L)});f.forEach(m=>{m.neighbors=[],m.links=[];}),v.forEach(m=>{let M=typeof m.source=="object"?m.source:f.find(_=>_.id===m.source),L=typeof m.target=="object"?m.target:f.find(_=>_.id===m.target);!M||!L||(M.neighbors=M.neighbors||[],L.neighbors=L.neighbors||[],M.neighbors.push(L),L.neighbors.push(M),M.links=M.links||[],L.links=L.links||[],M.links.push(m),L.links.push(m));}),D.current.nodes(f);let g=D.current.force("link");g&&g.links(v),j();},[j]),re=useCallback((t=0,u=20)=>{let c=V();if(!K.current||!C.current||!c||!c.length)return;let f=1/0,v=1/0,g=-1/0,m=-1/0;if(c.forEach(M=>{if(M.x===void 0||M.y===void 0)return;let L=M.x,_=M.y;f=Math.min(f,L),v=Math.min(v,_),g=Math.max(g,L),m=Math.max(m,_);}),isFinite(f)&&isFinite(g)&&isFinite(v)&&isFinite(m)){let{width:M,height:L}=r.current;f-=u,v-=u,g+=u,m+=u;let _=g-f,J=m-v,X=_>0?M/_:1,ie=J>0?L/J:1,ee=Math.min(X,ie,10),oe=f+_/2,N=v+J/2,$={k:ee,x:M/2-oe*ee,y:L/2-N*ee};if(t>0){let B={...r.current.transform},le=Date.now(),y=a(()=>{let I=Math.min(1,(Date.now()-le)/t),H=I===1?1:1-Math.pow(1-I,3),q={k:B.k+($.k-B.k)*H,x:B.x+($.x-B.x)*H,y:B.y+($.y-B.y)*H};r.current.transform=q,j(),I<1&&requestAnimationFrame(y);},"animateZoom");requestAnimationFrame(y);}else r.current.transform=$,j();}},[]),fe=useCallback((t,u)=>{let c=V();if(!c||c.length===0)return null;let p=se.nodeSizeBase/2,f=typeof window<"u"&&window.devicePixelRatio||1,v=(t*f-r.current.transform.x)/r.current.transform.k,g=(u*f-r.current.transform.y)/r.current.transform.k;return c.find(m=>{let M=(m.x||0)-v,L=(m.y||0)-g;return Math.sqrt(M*M+L*L)<=p})||null},[]),ue=useCallback((t,u)=>{let c=ae(),p=V();if(!c||c.length===0||!p||p.length===0)return null;let f=typeof window<"u"&&window.devicePixelRatio||1,v=(t*f-r.current.transform.x)/r.current.transform.k,g=(u*f-r.current.transform.y)/r.current.transform.k,m=5;return c.find(M=>{let L=typeof M.source=="object"?M.source:p.find(Se=>Se.id===M.source),_=typeof M.target=="object"?M.target:p.find(Se=>Se.id===M.target);if(!L||!_)return false;let J=L.x||0,X=L.y||0,ie=_.x||0,ee=_.y||0,oe=v-J,N=g-X,$=ie-J,B=ee-X,le=oe*$+N*B,y=$*$+B*B;if(y===0)return false;let I=le/y;I=Math.max(0,Math.min(1,I));let H=J+I*$,q=X+I*B,Y=v-H,me=g-q;return Math.sqrt(Y*Y+me*me)<=m})||null},[]),Q=useCallback((t,u,c,p,f,v,g)=>{let m=t-c,M=u-p,L=Math.sqrt(m*m+M*M),_=Math.atan2(M,m);_<0&&(_+=2*Math.PI);let ie=L>=f*.5&&L<=f*1,ee=false;return v===Math.PI&&g===Math.PI*2?ee=_>=Math.PI&&_<=Math.PI*2:v===0&&g===Math.PI?ee=_>=0&&_<=Math.PI:ee=v<=g&&_>=v&&_<=g||v>g&&(_>=v||_<=g),ie&&ee},[]),O=useCallback(t=>{if(t===r.current.hoveredNode)return;let u=new Set,c=new Set;t&&(u.add(t),t.neighbors&&t.neighbors.forEach(p=>u.add(p)),t.links&&t.links.forEach(p=>c.add(p))),r.current.hoveredNode=t,b&&b(t),r.current.highlightNodes=u,r.current.highlightLinks=c;},[b]),ye=useCallback(t=>{if(t===r.current.hoveredLink)return;let u=new Set,c=new Set;if(t){c.add(t);let p=V();if(p){let f=typeof t.source=="object"?t.source:p.find(g=>g.id===t.source),v=typeof t.target=="object"?t.target:p.find(g=>g.id===t.target);f&&u.add(f),v&&u.add(v);}}r.current.hoveredLink=t,w&&w(t),r.current.highlightNodes=u,r.current.highlightLinks=c;},[w,V]),Pe=useCallback(t=>{k&&k(t);},[k]),Me=useCallback(t=>{r.current.selectedNode=t,i&&i(t);},[i]),Ne=useCallback(()=>{r.current.selectedNode=null,d&&d();},[d]),Le=useCallback(t=>{if(!C.current||!D.current)return;let u=C.current.getBoundingClientRect(),c=t.clientX-u.left,p=t.clientY-u.top;r.current.mouseStartPos={x:c,y:p},r.current.isDragging=false;let f=fe(c,p);f?(r.current.draggedNode=f,f.fx=f.x,f.fy=f.y):(r.current.isPanning=true,r.current.lastMousePos={x:c,y:p});},[fe]),ge=useCallback((t,u)=>{let c=null;if(C.current&&r.current&&E.length>0){let p=se.nodeSizeBase*se.nodeAreaFactor/2,f=C.current.getBoundingClientRect(),v=C.current.width/f.width,g=C.current.height/f.height,m=t*v,M=u*g,L=(m-r.current.transform.x)/r.current.transform.k,_=(M-r.current.transform.y)/r.current.transform.k,J=r.current.selectedNode?.x||0,X=r.current.selectedNode?.y||0,ie=Math.min(E.length,8),ee=Math.min(Math.PI*2/ie,Math.PI);for(let oe=0;oe<ie;oe++){let N=oe*ee,$=(oe+1)*ee;if(Q(L,_,J,X,p,N,$)){c=oe;break}}}return c},[E]),be=useCallback(t=>{if(!C.current)return;let u=C.current.getBoundingClientRect(),c=t.clientX-u.left,p=t.clientY-u.top;if(r.current.draggedNode&&r.current.mouseStartPos&&D.current){let g=r.current.mouseStartPos.x,m=r.current.mouseStartPos.y,M=c-g,L=p-m;Math.sqrt(M*M+L*L)>3&&(r.current.isDragging=true,D.current.alphaTarget()===0&&D.current.alphaTarget(0).restart());let X=typeof window<"u"&&window.devicePixelRatio||1,ie=(c*X-r.current.transform.x)/r.current.transform.k,ee=(p*X-r.current.transform.y)/r.current.transform.k;r.current.draggedNode.fx=ie,r.current.draggedNode.fy=ee;return}if(r.current.isPanning&&r.current.mouseStartPos){let g=c-r.current.lastMousePos.x,m=p-r.current.lastMousePos.y,M=r.current.mouseStartPos.x,L=r.current.mouseStartPos.y;Math.sqrt(Math.pow(c-M,2)+Math.pow(p-L,2))>3&&(r.current.isDragging=true),r.current.transform={...r.current.transform,x:r.current.transform.x+g,y:r.current.transform.y+m},r.current.lastMousePos={x:c,y:p},j();return}let f,v;if(r.current.selectedNode&&C.current&&E.length>0){let g=ge(c,p);g!==null&&(v=r.current.selectedNode),g!==r.current.hoveredButtonIndex&&(f=true),r.current.hoveredButtonIndex=g;}else r.current.hoveredButtonIndex!==null&&(r.current.hoveredButtonIndex=null);if(!v&&(v=fe(c,p),!v)){let g=ue(c,p),m=g!==r.current.hoveredLink;if(g&&r.current.hoveredNode&&O(null),ye(g),C.current&&(C.current.style.cursor=g?"pointer":"default"),m){j();return}}v&&r.current.hoveredLink&&ye(null),v!==r.current.hoveredNode&&(f=true),O(v),C.current&&(C.current.style.cursor=v?"pointer":"default"),f&&j();},[E,fe,ue,O,ye,j,Q,ge]),Oe=useCallback(t=>{r.current.mustBeStoppedPropagation&&(t.stopPropagation(),t.preventDefault()),r.current.mustBeStoppedPropagation=false;},[]),He=useCallback(t=>{let u=r.current.isDragging;if(u&&(r.current.mustBeStoppedPropagation=true),!u&&r.current.mouseStartPos){let c=C.current?.getBoundingClientRect();if(c){let p=t.clientX-c.left,f=t.clientY-c.top;E.length>0&&r.current.hoveredButtonIndex===null&&(r.current.hoveredButtonIndex=ge(p,f));let v=false;if(r.current.selectedNode&&r.current.hoveredButtonIndex!==null&&l$1[r.current.hoveredButtonIndex]){let g=l$1[r.current.hoveredButtonIndex];g&&g.onClick&&(g.onClick(r.current.selectedNode),v=true,r.current.hoveredButtonIndex=null);}if(!v&&r.current.draggedNode)Me(r.current.draggedNode);else if(!v&&!r.current.draggedNode){let g=ue(p,f);g?Pe(g):Ne();}}}if(r.current.draggedNode&&D.current){if(u){D.current.alphaTarget(0);let c=.05,p=.04,f=.6;D.current.alpha(c).alphaDecay(p),D.current.velocityDecay(f);}else D.current.alphaTarget(0);r.current.draggedNode.fx=void 0,r.current.draggedNode.fy=void 0,r.current.draggedNode=null;}r.current.isDragging=false,r.current.mouseStartPos=null,r.current.isPanning&&(r.current.isPanning=false),j();},[l$1,j,Me,Ne,ue,Pe,ge,E]),st=useCallback(t=>{if(t.stopPropagation(),t.preventDefault(),!C.current)return;let u=C.current.getBoundingClientRect(),c=t.clientX-u.left,p=t.clientY-u.top,v=-t.deltaY>0?1.1:1/1.1,g=r.current.transform,m=g.k*v;if(m<.01||m>10)return;let M=g.k*v,L=c-(c-g.x)*v,_=p-(p-g.y)*v;r.current.transform={k:M,x:L,y:_},j();},[j]),Te=a((t,u)=>{let c=t.touches[0];if(c){let p={clientX:c.clientX,clientY:c.clientY};u(p);}},"convertTouchToMouseEvent"),Ie=useCallback(t=>{Te(t,Le);},[Le]),Je=useCallback(t=>{r.current.mustBeStoppedPropagation&&(t.preventDefault(),t.stopPropagation()),r.current.mustBeStoppedPropagation=false,Te(t,He);},[He]),pt=useCallback(t=>{Te(t,be);},[be]);return useImperativeHandle(P,()=>({zoomToFit:re,addNodes:G,removeNodes:te}),[re,G,te]),useEffect(()=>{let t=C.current,{width:u,height:c}=r.current;if(!t)return;W(),z(true);let p=u/2,f=c/2,v=se.nodeSizeBase,g=v/2,m=v*2.5;D.current&&D.current.stop();let M=D.current=forceSimulation(R).force("link",forceLink(x).id(L=>L.id).distance(m).strength(.9)).force("charge",forceManyBody().strength(-v/10*200).theta(.5).distanceMin(v*2)).force("x",forceX().strength(.03)).force("y",forceY().strength(.03)).force("center",forceCenter(p,f).strength(.05)).force("collide",forceCollide().radius(g*2).iterations(2).strength(1)).velocityDecay(.6);return ()=>{M.stop();}},[R,x]),useLayoutEffect(()=>{let t=C.current;t&&(r.current.width=n*zt,r.current.height=o*zt,t.width=r.current.width,t.height=r.current.height);},[n,o]),useEffect(()=>{if(D.current){let t=D.current;t.on("tick",()=>{j();}),t.on("end",()=>{T&&(re(0,20),setTimeout(()=>{z(false);},200));});}T||j();},[R,x,T,j,re]),useEffect(()=>{!R||!x||x.forEach(t=>{let u=typeof t.source=="object"?t.source:R.find(p=>p.id===t.source),c=typeof t.target=="object"?t.target:R.find(p=>p.id===t.target);!u||!c||(!u.neighbors&&(u.neighbors=[]),!c.neighbors&&(c.neighbors=[]),u.neighbors.push(c),c.neighbors.push(u),!u.links&&(u.links=[]),!c.links&&(c.links=[]),u.links.push(t),c.links.push(t));});},[R,x]),useEffect(()=>{l$1&&l$1.length>0&&S(uo(l$1));},[l$1]),useEffect(()=>{let t=C.current;if(!(!t||typeof window>"u"))return t.addEventListener("wheel",st,{passive:false}),t.addEventListener("touchend",Je,{passive:false}),()=>{t.removeEventListener("wheel",st),t.removeEventListener("touchend",Je);}},[st,Je]),jsxs(ho,{children:[(e||T)&&jsx(_r,{width:n,height:o}),jsx(fo,{ref:C,style:{width:n,height:o,display:e||T?"none":"block"},onMouseDown:Le,onMouseMove:be,onMouseUp:He,onMouseLeave:He,onClick:Oe,onTouchStart:Ie,onTouchMove:pt})]})}),ho=styled.div`
|
|
47
|
+
`,Yn=a(({width:e=280,height:n=280})=>{let o=useTheme();return jsx(qn,{children:jsxs(Vn,{foregroundColor:o.contentLoader.foreground,backgroundColor:o.contentLoader.background,width:e,height:n,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=Yn;var zt=typeof window<"u"&&window.devicePixelRatio||1;function po(e){return !e||e.length===0?[]:e.map(n=>{let o=new Image;o.src=n.img;let a=new Image;return a.src=n.hoverImg,{...n,normalImg:o,hoverImg:a}})}a(po,"prepareButtonImages");var se={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},fo=forwardRef(({loading:e,width:n,height:o,graphData:a$1,buttons:s=[],onNodeClick:i,onBackgroundClick:c,onNodeHover:f,onLinkHover:v,onLinkClick:k},P)=>{let h=useTheme(),[T,z]=useState(true),r=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:n*zt,height:o*zt,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:R,links:x}=useMemo(()=>eo(a$1),[a$1]),[E,S]=useState([]),C=useRef(null),D=useRef(null),K=useRef(null),U=scaleOrdinal(schemeCategory10),W=useCallback(()=>{if(!C.current)return false;try{let t=C.current.getContext("2d");return t?(K.current=t,!0):(console.error("Failed to get 2D context"),!1)}catch(t){return console.error("Error initializing Canvas 2D context:",t),false}},[]),V=useCallback(()=>D.current?D.current.nodes():null,[]),ae=useCallback(()=>{if(!D.current)return null;let t=D.current.force("link");return t?t.links():null},[]),pe=useCallback(t=>{t.save(),t.setTransform(1,0,0,1,0,0);let{width:u,height:d}=r.current,p=se.gridSpacing,m=se.dotSize;t.fillStyle=h.graph2D.grid.dotColor;for(let w=p/2;w<=u;w+=p)for(let b=p/2;b<=d;b+=p)t.beginPath(),t.arc(w,b,m,0,2*Math.PI),t.fill();t.restore();},[h.graph2D.grid.dotColor,se.gridSpacing,se.dotSize]),fe=useCallback((t,u,d)=>{if(!t)return "";if(d.measureText(t).width<=u)return t;let m=t,w="...";for(;d.measureText(m+w).width>u&&m.length>0;)m=m.slice(0,-1);return m+w},[]),xe=a(t=>{let d=Math.min(t,se.maxZoom)/se.maxZoom;return Math.max(se.fontSize*d,se.fontSize)},"calculateFontSize"),ce=useCallback(t=>{let u=ae(),d=V();!u||u.length===0||!d||d.length===0||(t.lineWidth=.5,t.globalAlpha=1,u.forEach(p=>{let m=typeof p.source=="object"?p.source:d.find(ke=>ke.id===p.source),w=typeof p.target=="object"?p.target:d.find(ke=>ke.id===p.target);if(!m||!w)return;let b={x:m.x||0,y:m.y||0},g={x:w.x||0,y:w.y||0},M=g.x-b.x,L=g.y-b.y,_=Math.sqrt(M*M+L*L),J=M/_,X=L/_,ie=se.nodeSizeBase/2,ee=se.nodeSizeBase/2,oe=4,N={x:b.x+J*ie,y:b.y+X*ie},$={x:g.x-J*(ee+oe),y:g.y-X*(ee+oe)},B={x:g.x-J*(ee+1),y:g.y-X*(ee+1)},le=r.current.highlightLinks.has(p),y=le?h.graph2D.link.highlighted:h.graph2D.link.normal,I=le?1.5:.5,H=b.x+(g.x-b.x)/2,q=b.y+(g.y-b.y)/2,Y=Math.atan2(L,M);if(p.label){let ke=r.current.transform.k,Se=xe(ke);t.font=`${Se}px Sans-Serif`;let _e=t.measureText(p.label).width,We=10;t.beginPath(),t.moveTo(N.x,N.y);let tt=_/2-(_e+We)/2,rt={x:b.x+J*tt,y:b.y+X*tt};t.lineTo(rt.x,rt.y),t.strokeStyle=y,t.lineWidth=I,t.stroke(),t.beginPath();let Ke=_/2+(_e+We)/2,ft={x:b.x+J*Ke,y:b.y+X*Ke};t.moveTo(ft.x,ft.y),t.lineTo($.x,$.y),t.strokeStyle=y,t.lineWidth=I,t.stroke();}else t.beginPath(),t.moveTo(N.x,N.y),t.lineTo($.x,$.y),t.strokeStyle=y,t.lineWidth=I,t.stroke();let me=2;if(t.save(),t.translate(B.x,B.y),t.rotate(Y),t.beginPath(),t.moveTo(0,0),t.lineTo(-oe,me),t.lineTo(-oe,0),t.lineTo(-oe,-me),t.closePath(),t.fillStyle=y,t.fill(),t.restore(),p.label){let ke=r.current.transform.k,Se=xe(ke);t.font=`${Se}px Sans-Serif`,t.textAlign="center",t.textBaseline="middle",t.save(),t.translate(H,q),Math.abs(Y)>Math.PI/2?t.rotate(Y+Math.PI):t.rotate(Y),t.fillStyle=le?h.graph2D.link.highlightedTextColor:h.graph2D.link.textColor,t.fillText(p.label,0,0),t.restore();}}));},[se,h.graph2D.link]),A=a((t,u,d,p,m,w,b)=>{try{if(w!=null){let g=m*.8;t.font=`${g}px sans-serif`,t.textBaseline="middle",t.textAlign="left";let M=new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0,compactDisplay:"short"}).format(w),L=t.measureText(M).width,_=m*.3,X=(m+_+L)/2;t.drawImage(u,d-X,p-m/2,m,m),t.fillStyle=b||"#99989C",t.fillText(M,d-X+m+_,p);}else t.drawImage(u,d-m/2,p-m/2,m,m);}catch(g){console.warn("Error rendering icon:",g);}},"drawIconWithOptionalCounter"),F=useCallback((t,u)=>{if(!E||E.length===0||!t||!t.x||!t.y)return;let{x:d,y:p}=t,m=se.nodeSizeBase*se.nodeAreaFactor/2;u.save();let w=Math.min(E.length,8),b=Math.min(Math.PI*2/w,Math.PI);for(let g=0;g<w;g++){let M=g*b,L=(g+1)*b,_=r.current.hoveredButtonIndex===g;u.beginPath(),u.arc(d,p,m,M,L,false),u.lineTo(d,p),u.closePath(),u.lineWidth=1,u.strokeStyle=h.graph2D?.button?.stroke||"#FFFFFF",u.stroke(),u.fillStyle=_?h.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":h.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",u.fill();let J=m*.2,X=(M+L)/2,ie=m-se.nodeSizeBase/2+J,ee=d+Math.cos(X)*ie,oe=p+Math.sin(X)*ie,N=E[g];if(N.loading){let $=J/2,B=J/12;u.save(),u.translate(ee,oe),u.rotate(r.current.spinnerAngle);for(let le=0;le<12;le++){let y=Math.PI*2*le/12,I=le/12,H=Math.cos(y)*$,q=Math.sin(y)*$;u.beginPath(),u.fillStyle=l(h.graph2D?.button?.spinnerColor,I),u.arc(H,q,B,0,Math.PI*2),u.fill();}u.restore(),r.current.spinnerAngle+=.1,r.current.spinnerAngle>Math.PI*2&&(r.current.spinnerAngle-=Math.PI*2),r.current.animation.id!==null&&(cancelAnimationFrame(r.current.animation.id),r.current.animation.id=null,r.current.animation.buttonIndex=null),r.current.animation.id=requestAnimationFrame(j),r.current.animation.buttonIndex=g;}else {r.current.animation.id&&r.current.animation.buttonIndex===g&&(cancelAnimationFrame(r.current.animation.id),r.current.animation.id=null,r.current.animation.buttonIndex=null);let $=_?N.hoverImg:N.normalImg,B=N.getCount?N.getCount(t):null;$.complete?A(u,$,ee,oe,J,B,h.graph2D?.button?.textColor):$.onload=()=>{K.current&&A(u,$,ee,oe,J,B,h.graph2D?.button?.textColor);};}}u.restore();},[E,h.graph2D?.button]),de=useCallback(t=>{let u=V();!u||u.length===0||(t.globalAlpha=1,u.forEach(d=>{let{x:p,y:m,color:w,fontColor:b,label:g}=d,M=r.current.highlightNodes.has(d)||d===r.current.hoveredNode||d===r.current.draggedNode,L=d===r.current.selectedNode,_=se.nodeSizeBase,J=se.nodeSizeBase/2;if(M&&!L){let X=se.nodeSizeBase*se.nodeAreaFactor*.75/2;t.beginPath(),t.arc(p,m,X,0,2*Math.PI,false),t.fillStyle=h.graph2D.ring.highlightFill,t.fill();}if(L)if(s&&s.length>0)F(d,t);else {let X=se.nodeSizeBase*se.nodeAreaFactor/2;t.beginPath(),t.arc(p,m,X,0,2*Math.PI,false),t.fillStyle=h.graph2D.ring.selectionFill||h.graph2D.ring.highlightFill,t.fill();}if(t.beginPath(),t.arc(p,m,J,0,2*Math.PI),t.fillStyle=w||U(d.group||"0"),t.fill(),g){t.save(),t.translate(p,m);let X=r.current.transform.k,ie=xe(X),ee=_*se.textPaddingFactor;t.font=`${ie}px Sans-Serif`,t.textAlign="center",t.textBaseline="middle",t.fillStyle=b||"#000";let oe=fe(g,ee,t);t.fillText(oe,0,0),t.restore();}}));},[h.graph2D.ring,s,F]),j=useCallback(()=>{let t=K.current;t&&(t.clearRect(0,0,r.current.width,r.current.height),pe(t),t.save(),t.setTransform(r.current.transform.k,0,0,r.current.transform.k,r.current.transform.x,r.current.transform.y),ce(t),de(t),t.restore());},[ce,de,pe]),G=useCallback((t,u=[],d)=>{let p=ae()||[],m=V()||[];if(!D.current||!t.length)return;let{width:w,height:b}=r.current,g=d?.smoothAppearance??false,M=d?.transitionDuration??1e3,L=new Set(m.map(N=>N.id)),_=t.filter(N=>!L.has(N.id)),J=new Set(p.map(N=>`${typeof N.source=="object"?N.source.id:N.source}-${typeof N.target=="object"?N.target.id:N.target}`)),X=u.filter(N=>{let $=`${typeof N.source=="object"?N.source.id:N.source}-${typeof N.target=="object"?N.target.id:N.target}`;return !J.has($)});if(_.length===0&&X.length===0)return;let ie=[...m,..._],ee=[...p,...X];g&&(_.forEach(N=>{let $=X.filter(B=>{let le=typeof B.source=="object"?B.source.id:B.source,y=typeof B.target=="object"?B.target.id:B.target;return le===N.id&&L.has(y)||y===N.id&&L.has(le)});if($.length>0){let B=$[0],le=typeof B.source=="object"?B.source.id===N.id?B.target:B.source.id:B.source===N.id?B.target:B.source,y=ie.find(I=>I.id===le);if(y&&y.x!==void 0&&y.y!==void 0){let I=30+Math.random()*20,H=Math.random()*Math.PI*2;N.x=y.x+Math.cos(H)*I,N.y=y.y+Math.sin(H)*I,N.vx=0,N.vy=0;}}else {let B=w/2,le=b/2,y=Math.min(w,b)/4,I=Math.random()*Math.PI*2;N.x=B+Math.cos(I)*(y*Math.random()),N.y=le+Math.sin(I)*(y*Math.random()),N.vx=0,N.vy=0;}}),m.forEach(N=>{N.fx=N.x,N.fy=N.y;})),D.current.nodes(ie);let oe=D.current.force("link");oe&&oe.links(ee),X.forEach(N=>{let $=typeof N.source=="object"?N.source:ie.find(le=>le.id===N.source),B=typeof N.target=="object"?N.target:ie.find(le=>le.id===N.target);!$||!B||(!$.neighbors&&($.neighbors=[]),!B.neighbors&&(B.neighbors=[]),$.neighbors.push(B),B.neighbors.push($),!$.links&&($.links=[]),!B.links&&(B.links=[]),$.links.push(N),B.links.push(N));}),g?(D.current.alphaTarget(.3),D.current.alpha(.3),D.current.velocityDecay(.7),D.current.restart(),setTimeout(()=>{m.forEach(N=>{N.fx=void 0,N.fy=void 0;}),D.current?.alphaTarget(0),D.current?.alpha(.1),D.current?.velocityDecay(.6);},M)):D.current.alpha(.1).restart(),j();},[R,j]),te=useCallback(t=>{let u=V(),d=ae();if(!D.current||!t.length||!u||u.length===0||!d||d.length===0)return;let p=new Set(t);if(r.current.selectedNode&&r.current.selectedNode.id!==void 0&&p.has(r.current.selectedNode.id)&&(r.current.selectedNode=null),r.current.hoveredNode&&r.current.hoveredNode.id!==void 0&&p.has(r.current.hoveredNode.id)&&(r.current.hoveredNode=null,r.current.highlightNodes=new Set,r.current.highlightLinks=new Set),r.current.hoveredLink){let g=typeof r.current.hoveredLink.source=="object"?r.current.hoveredLink.source.id:r.current.hoveredLink.source,M=typeof r.current.hoveredLink.target=="object"?r.current.hoveredLink.target.id:r.current.hoveredLink.target;(g!==void 0&&p.has(g)||M!==void 0&&p.has(M))&&(r.current.hoveredLink=null,r.current.highlightNodes=new Set,r.current.highlightLinks=new Set);}r.current.draggedNode&&r.current.draggedNode.id!==void 0&&p.has(r.current.draggedNode.id)&&(r.current.draggedNode=null);let m=u.filter(g=>g.id!==void 0&&!p.has(g.id)),w=d.filter(g=>{let M=typeof g.source=="object"?g.source.id:g.source,L=typeof g.target=="object"?g.target.id:g.target;return M!==void 0&&!p.has(M)&&L!==void 0&&!p.has(L)});m.forEach(g=>{g.neighbors=[],g.links=[];}),w.forEach(g=>{let M=typeof g.source=="object"?g.source:m.find(_=>_.id===g.source),L=typeof g.target=="object"?g.target:m.find(_=>_.id===g.target);!M||!L||(M.neighbors=M.neighbors||[],L.neighbors=L.neighbors||[],M.neighbors.push(L),L.neighbors.push(M),M.links=M.links||[],L.links=L.links||[],M.links.push(g),L.links.push(g));}),D.current.nodes(m);let b=D.current.force("link");b&&b.links(w),j();},[j]),re=useCallback((t=0,u=20)=>{let d=V();if(!K.current||!C.current||!d||!d.length)return;let m=1/0,w=1/0,b=-1/0,g=-1/0;if(d.forEach(M=>{if(M.x===void 0||M.y===void 0)return;let L=M.x,_=M.y;m=Math.min(m,L),w=Math.min(w,_),b=Math.max(b,L),g=Math.max(g,_);}),isFinite(m)&&isFinite(b)&&isFinite(w)&&isFinite(g)){let{width:M,height:L}=r.current;m-=u,w-=u,b+=u,g+=u;let _=b-m,J=g-w,X=_>0?M/_:1,ie=J>0?L/J:1,ee=Math.min(X,ie,10),oe=m+_/2,N=w+J/2,$={k:ee,x:M/2-oe*ee,y:L/2-N*ee};if(t>0){let B={...r.current.transform},le=Date.now(),y=a(()=>{let I=Math.min(1,(Date.now()-le)/t),H=I===1?1:1-Math.pow(1-I,3),q={k:B.k+($.k-B.k)*H,x:B.x+($.x-B.x)*H,y:B.y+($.y-B.y)*H};r.current.transform=q,j(),I<1&&requestAnimationFrame(y);},"animateZoom");requestAnimationFrame(y);}else r.current.transform=$,j();}},[]),he=useCallback((t,u)=>{let d=V();if(!d||d.length===0)return null;let p=se.nodeSizeBase/2,m=typeof window<"u"&&window.devicePixelRatio||1,w=(t*m-r.current.transform.x)/r.current.transform.k,b=(u*m-r.current.transform.y)/r.current.transform.k;return d.find(g=>{let M=(g.x||0)-w,L=(g.y||0)-b;return Math.sqrt(M*M+L*L)<=p})||null},[]),ue=useCallback((t,u)=>{let d=ae(),p=V();if(!d||d.length===0||!p||p.length===0)return null;let m=typeof window<"u"&&window.devicePixelRatio||1,w=(t*m-r.current.transform.x)/r.current.transform.k,b=(u*m-r.current.transform.y)/r.current.transform.k,g=5;return d.find(M=>{let L=typeof M.source=="object"?M.source:p.find(Se=>Se.id===M.source),_=typeof M.target=="object"?M.target:p.find(Se=>Se.id===M.target);if(!L||!_)return false;let J=L.x||0,X=L.y||0,ie=_.x||0,ee=_.y||0,oe=w-J,N=b-X,$=ie-J,B=ee-X,le=oe*$+N*B,y=$*$+B*B;if(y===0)return false;let I=le/y;I=Math.max(0,Math.min(1,I));let H=J+I*$,q=X+I*B,Y=w-H,me=b-q;return Math.sqrt(Y*Y+me*me)<=g})||null},[]),Q=useCallback((t,u,d,p,m,w,b)=>{let g=t-d,M=u-p,L=Math.sqrt(g*g+M*M),_=Math.atan2(M,g);_<0&&(_+=2*Math.PI);let ie=L>=m*.5&&L<=m*1,ee=false;return w===Math.PI&&b===Math.PI*2?ee=_>=Math.PI&&_<=Math.PI*2:w===0&&b===Math.PI?ee=_>=0&&_<=Math.PI:ee=w<=b&&_>=w&&_<=b||w>b&&(_>=w||_<=b),ie&&ee},[]),O=useCallback(t=>{if(t===r.current.hoveredNode)return;let u=new Set,d=new Set;t&&(u.add(t),t.neighbors&&t.neighbors.forEach(p=>u.add(p)),t.links&&t.links.forEach(p=>d.add(p))),r.current.hoveredNode=t,f&&f(t),r.current.highlightNodes=u,r.current.highlightLinks=d;},[f]),we=useCallback(t=>{if(t===r.current.hoveredLink)return;let u=new Set,d=new Set;if(t){d.add(t);let p=V();if(p){let m=typeof t.source=="object"?t.source:p.find(b=>b.id===t.source),w=typeof t.target=="object"?t.target:p.find(b=>b.id===t.target);m&&u.add(m),w&&u.add(w);}}r.current.hoveredLink=t,v&&v(t),r.current.highlightNodes=u,r.current.highlightLinks=d;},[v,V]),Pe=useCallback(t=>{k&&k(t);},[k]),Me=useCallback(t=>{r.current.selectedNode=t,i&&i(t);},[i]),Ne=useCallback(()=>{r.current.selectedNode=null,c&&c();},[c]),Le=useCallback(t=>{if(!C.current||!D.current)return;let u=C.current.getBoundingClientRect(),d=t.clientX-u.left,p=t.clientY-u.top;r.current.mouseStartPos={x:d,y:p},r.current.isDragging=false;let m=he(d,p);m?(r.current.draggedNode=m,m.fx=m.x,m.fy=m.y):(r.current.isPanning=true,r.current.lastMousePos={x:d,y:p});},[he]),ge=useCallback((t,u)=>{let d=null;if(C.current&&r.current&&E.length>0){let p=se.nodeSizeBase*se.nodeAreaFactor/2,m=C.current.getBoundingClientRect(),w=C.current.width/m.width,b=C.current.height/m.height,g=t*w,M=u*b,L=(g-r.current.transform.x)/r.current.transform.k,_=(M-r.current.transform.y)/r.current.transform.k,J=r.current.selectedNode?.x||0,X=r.current.selectedNode?.y||0,ie=Math.min(E.length,8),ee=Math.min(Math.PI*2/ie,Math.PI);for(let oe=0;oe<ie;oe++){let N=oe*ee,$=(oe+1)*ee;if(Q(L,_,J,X,p,N,$)){d=oe;break}}}return d},[E]),be=useCallback(t=>{if(!C.current)return;let u=C.current.getBoundingClientRect(),d=t.clientX-u.left,p=t.clientY-u.top;if(r.current.draggedNode&&r.current.mouseStartPos&&D.current){let b=r.current.mouseStartPos.x,g=r.current.mouseStartPos.y,M=d-b,L=p-g;Math.sqrt(M*M+L*L)>3&&(r.current.isDragging=true,D.current.alphaTarget()===0&&D.current.alphaTarget(0).restart());let X=typeof window<"u"&&window.devicePixelRatio||1,ie=(d*X-r.current.transform.x)/r.current.transform.k,ee=(p*X-r.current.transform.y)/r.current.transform.k;r.current.draggedNode.fx=ie,r.current.draggedNode.fy=ee;return}if(r.current.isPanning&&r.current.mouseStartPos){let b=d-r.current.lastMousePos.x,g=p-r.current.lastMousePos.y,M=r.current.mouseStartPos.x,L=r.current.mouseStartPos.y;Math.sqrt(Math.pow(d-M,2)+Math.pow(p-L,2))>3&&(r.current.isDragging=true),r.current.transform={...r.current.transform,x:r.current.transform.x+b,y:r.current.transform.y+g},r.current.lastMousePos={x:d,y:p},j();return}let m,w;if(r.current.selectedNode&&C.current&&E.length>0){let b=ge(d,p);b!==null&&(w=r.current.selectedNode),b!==r.current.hoveredButtonIndex&&(m=true),r.current.hoveredButtonIndex=b;}else r.current.hoveredButtonIndex!==null&&(r.current.hoveredButtonIndex=null);if(!w&&(w=he(d,p),!w)){let b=ue(d,p),g=b!==r.current.hoveredLink;if(b&&r.current.hoveredNode&&O(null),we(b),C.current&&(C.current.style.cursor=b?"pointer":"default"),g){j();return}}w&&r.current.hoveredLink&&we(null),w!==r.current.hoveredNode&&(m=true),O(w),C.current&&(C.current.style.cursor=w?"pointer":"default"),m&&j();},[E,he,ue,O,we,j,Q,ge]),Oe=useCallback(t=>{r.current.mustBeStoppedPropagation&&(t.stopPropagation(),t.preventDefault()),r.current.mustBeStoppedPropagation=false;},[]),He=useCallback(t=>{let u=r.current.isDragging;if(u&&(r.current.mustBeStoppedPropagation=true),!u&&r.current.mouseStartPos){let d=C.current?.getBoundingClientRect();if(d){let p=t.clientX-d.left,m=t.clientY-d.top;E.length>0&&r.current.hoveredButtonIndex===null&&(r.current.hoveredButtonIndex=ge(p,m));let w=false;if(r.current.selectedNode&&r.current.hoveredButtonIndex!==null&&s[r.current.hoveredButtonIndex]){let b=s[r.current.hoveredButtonIndex];b&&b.onClick&&(b.onClick(r.current.selectedNode),w=true,r.current.hoveredButtonIndex=null);}if(!w&&r.current.draggedNode)Me(r.current.draggedNode);else if(!w&&!r.current.draggedNode){let b=ue(p,m);b?Pe(b):Ne();}}}if(r.current.draggedNode&&D.current){if(u){D.current.alphaTarget(0);let d=.05,p=.04,m=.6;D.current.alpha(d).alphaDecay(p),D.current.velocityDecay(m);}else D.current.alphaTarget(0);r.current.draggedNode.fx=void 0,r.current.draggedNode.fy=void 0,r.current.draggedNode=null;}r.current.isDragging=false,r.current.mouseStartPos=null,r.current.isPanning&&(r.current.isPanning=false),j();},[s,j,Me,Ne,ue,Pe,ge,E]),st=useCallback(t=>{if(t.stopPropagation(),t.preventDefault(),!C.current)return;let u=C.current.getBoundingClientRect(),d=t.clientX-u.left,p=t.clientY-u.top,w=-t.deltaY>0?1.1:1/1.1,b=r.current.transform,g=b.k*w;if(g<.01||g>10)return;let M=b.k*w,L=d-(d-b.x)*w,_=p-(p-b.y)*w;r.current.transform={k:M,x:L,y:_},j();},[j]),Te=a((t,u)=>{let d=t.touches[0];if(d){let p={clientX:d.clientX,clientY:d.clientY};u(p);}},"convertTouchToMouseEvent"),Ie=useCallback(t=>{Te(t,Le);},[Le]),Je=useCallback(t=>{r.current.mustBeStoppedPropagation&&(t.preventDefault(),t.stopPropagation()),r.current.mustBeStoppedPropagation=false,Te(t,He);},[He]),pt=useCallback(t=>{Te(t,be);},[be]);return useImperativeHandle(P,()=>({zoomToFit:re,addNodes:G,removeNodes:te}),[re,G,te]),useEffect(()=>{let t=C.current,{width:u,height:d}=r.current;if(!t)return;W(),z(true);let p=u/2,m=d/2,w=se.nodeSizeBase,b=w/2,g=w*2.5;D.current&&D.current.stop();let M=D.current=forceSimulation(R).force("link",forceLink(x).id(L=>L.id).distance(g).strength(.9)).force("charge",forceManyBody().strength(-w/10*200).theta(.5).distanceMin(w*2)).force("x",forceX().strength(.03)).force("y",forceY().strength(.03)).force("center",forceCenter(p,m).strength(.05)).force("collide",forceCollide().radius(b*2).iterations(2).strength(1)).velocityDecay(.6);return ()=>{M.stop();}},[R,x]),useLayoutEffect(()=>{let t=C.current;t&&(r.current.width=n*zt,r.current.height=o*zt,t.width=r.current.width,t.height=r.current.height);},[n,o]),useEffect(()=>{if(D.current){let t=D.current;t.on("tick",()=>{j();}),t.on("end",()=>{T&&(re(0,20),setTimeout(()=>{z(false);},200));});}T||j();},[R,x,T,j,re]),useEffect(()=>{!R||!x||x.forEach(t=>{let u=typeof t.source=="object"?t.source:R.find(p=>p.id===t.source),d=typeof t.target=="object"?t.target:R.find(p=>p.id===t.target);!u||!d||(!u.neighbors&&(u.neighbors=[]),!d.neighbors&&(d.neighbors=[]),u.neighbors.push(d),d.neighbors.push(u),!u.links&&(u.links=[]),!d.links&&(d.links=[]),u.links.push(t),d.links.push(t));});},[R,x]),useEffect(()=>{s&&s.length>0&&S(po(s));},[s]),useEffect(()=>{let t=C.current;if(!(!t||typeof window>"u"))return t.addEventListener("wheel",st,{passive:false}),t.addEventListener("touchend",Je,{passive:false}),()=>{t.removeEventListener("wheel",st),t.removeEventListener("touchend",Je);}},[st,Je]),jsxs(ho,{children:[(e||T)&&jsx(jr,{width:n,height:o}),jsx(mo,{ref:C,style:{width:n,height:o,display:e||T?"none":"block"},onMouseDown:Le,onMouseMove:be,onMouseUp:He,onMouseLeave:He,onClick:Oe,onTouchStart:Ie,onTouchMove:pt})]})}),ho=styled.div`
|
|
48
48
|
display: flex;
|
|
49
49
|
align-items: center;
|
|
50
50
|
justify-content: center;
|
|
51
51
|
width: 100%;
|
|
52
52
|
min-width: 0;
|
|
53
53
|
position: relative;
|
|
54
|
-
`,
|
|
54
|
+
`,mo=styled.canvas``;fo.displayName="Graph2D";var Wc=w(({isActive:e,position:n,top:o=0,left:a=0,right:s,bottom:i,...c})=>jsx(vo,{$isActive:e,$position:n,$top:o,$left:a,$right:s,$bottom:i,...c})),vo=Xn.div(({$isActive:e,$top:n,$left:o,$right:a,$bottom:s,$position:i,theme:c$1})=>`
|
|
55
55
|
${e?`
|
|
56
56
|
position: ${i};
|
|
57
57
|
z-index: 1000;
|
|
58
|
-
${typeof n=="number"?`top: ${c(n,
|
|
59
|
-
${typeof o=="number"?`left: ${c(o,
|
|
60
|
-
${typeof a=="number"?`right: ${c(a,
|
|
61
|
-
${typeof
|
|
58
|
+
${typeof n=="number"?`top: ${c(n,c$1.baseSize)};`:""}
|
|
59
|
+
${typeof o=="number"?`left: ${c(o,c$1.baseSize)};`:""}
|
|
60
|
+
${typeof a=="number"?`right: ${c(a,c$1.baseSize)};`:""}
|
|
61
|
+
${typeof s=="number"?`bottom: ${c(s,c$1.baseSize)};`:""}
|
|
62
62
|
|
|
63
63
|
`:""}
|
|
64
64
|
|
|
65
65
|
min-width: 0;
|
|
66
|
-
`);var wo=[.1,.25,.5,.75,1,1.5,2,3,4,5],xo=5,ko=.1,So=120;function wt(e,n,o,a){return {x:e<o?(o-e)/2:0,y:n<a?(a-n)/2:0}}a(wt,"computePadding");var Or=a(({url:e,alt:n="image",naturalWidth:o,naturalHeight:a$1,zoomSteps:l=wo,maxZoom:i=xo,minZoom:d=ko,showMinimap:b=true,minimapWidth:w=So,className:k,onZoomChange:P})=>{let[h,T]=useState("adaptive"),[z$1,r]=useState(1),[R,x]=useState(0),[E,S]=useState(false),C=useRef(false),[D,K]=useState(false),[U,W]=useState(false),[V,ae]=useState({left:0,top:0}),pe=useRef(0),[he,xe]=useState({width:0,height:0}),ce=useRef({width:0,height:0}),A=useRef(null),F=useRef(null),de=useRef({x:0,y:0,scrollLeft:0,scrollTop:0}),j=useRef(h),G=useRef(z$1),te=useRef(R),re=useRef(P);j.current=h,G.current=z$1,te.current=R,re.current=P;let fe=o||ce.current.width,ue=a$1||ce.current.height,Q=R===90||R===270,O=Q?ue:fe,ye=Q?fe:ue,Pe=useMemo(()=>[...l].sort((y,I)=>y-I),[l]),Me=useCallback(()=>he.width===0||O===0?1:Math.min(he.width/O,he.height/ye,1),[he,O,ye]),Ne=useCallback((y,I)=>{if(I==="in"){let q=Pe.find(Y=>Y>y+.001);return q!==void 0?Math.min(q,i):y}let H=Pe.findLast(q=>q<y-.001);return H!==void 0?Math.max(H,d):y},[Pe,i,d]),Le=useCallback(()=>j.current==="adaptive"?Me():G.current,[Me]),ge=useCallback(y=>{T("manual"),r(y),re.current?.(y,"manual");},[]),be=useCallback(()=>{T("adaptive"),re.current?.(Me(),"adaptive");},[Me]),Oe=useCallback(y=>{requestAnimationFrame(()=>{let I=F.current;if(!I)return;let H=I.getBoundingClientRect(),q=O*y,Y=ye*y,me=wt(q,Y,H.width,H.height);I.scrollLeft=q/2+me.x-H.width/2,I.scrollTop=Y/2+me.y-H.height/2;});},[O,ye]);useEffect(()=>{T("adaptive"),r(1),x(0),K(false),W(false),ce.current={width:0,height:0};},[e]),useEffect(()=>{let y=F.current;if(!y)return;let I=new ResizeObserver(H=>{let q=H[0];if(!q)return;let{width:Y,height:me}=q.contentRect;xe(ke=>ke.width===Y&&ke.height===me?ke:{width:Y,height:me});});return I.observe(y),()=>I.disconnect()},[]),useEffect(()=>{let y=F.current;if(!y)return;let I=a(()=>{cancelAnimationFrame(pe.current),pe.current=requestAnimationFrame(()=>{let H=y.scrollLeft,q=y.scrollTop;ae(Y=>Y.left===H&&Y.top===q?Y:{left:H,top:q});});},"handleScroll");return y.addEventListener("scroll",I,{passive:true}),()=>{y.removeEventListener("scroll",I),cancelAnimationFrame(pe.current);}},[]),useEffect(()=>{let y=F.current;if(!y||!D)return;let I=a(H=>{if(!(H.ctrlKey||H.metaKey))return;H.preventDefault();let q=Le(),Y=H.deltaY>0?"out":"in",me=Ne(q,Y),ke=Me();if(Y==="out"&&me<=ke){be();return}let Se=y.getBoundingClientRect(),_e=te.current,We=_e===90||_e===270,tt=ce.current.width||1,rt=ce.current.height||1,Ke=We?rt:tt,ht=We?tt:rt,Jt,Kt;if(j.current==="adaptive"){let Qe=A.current;if(!Qe)return;let et=Qe.getBoundingClientRect();Jt=(H.clientX-et.left)/(et.width/Ke),Kt=(H.clientY-et.top)/(et.height/ht);}else {let Qe=Ke*q,et=ht*q,kr=wt(Qe,et,Se.width,Se.height);Jt=(y.scrollLeft+H.clientX-Se.left-kr.x)/q,Kt=(y.scrollTop+H.clientY-Se.top-kr.y)/q;}ge(me),requestAnimationFrame(()=>{let Qe=y.getBoundingClientRect(),et=wt(Ke*me,ht*me,Qe.width,Qe.height);y.scrollLeft=Jt*me+et.x-(H.clientX-Qe.left),y.scrollTop=Kt*me+et.y-(H.clientY-Qe.top);});},"handleWheel");return y.addEventListener("wheel",I,{passive:false}),()=>y.removeEventListener("wheel",I)},[D,Le,Ne,Me,ge,be]),useEffect(()=>{if(h!=="manual")return;let y=F.current;if(!y)return;let I=a(Y=>{Y.button===0&&(Y.preventDefault(),C.current=true,S(true),de.current={x:Y.clientX,y:Y.clientY,scrollLeft:y.scrollLeft,scrollTop:y.scrollTop});},"handleMouseDown"),H=a(Y=>{if(!C.current)return;let{x:me,y:ke,scrollLeft:Se,scrollTop:_e}=de.current;y.scrollLeft=Se-(Y.clientX-me),y.scrollTop=_e-(Y.clientY-ke);},"handleMouseMove"),q=a(()=>{C.current=false,S(false);},"handleMouseUp");return y.addEventListener("mousedown",I),window.addEventListener("mousemove",H),window.addEventListener("mouseup",q),()=>{y.removeEventListener("mousedown",I),window.removeEventListener("mousemove",H),window.removeEventListener("mouseup",q);}},[h]);let He=useCallback(()=>{h==="manual"&&be();},[h,be]),st=useCallback(()=>{let y=Le(),I=Ne(y,"in");I!==y&&(ge(I),Oe(I));},[Le,Ne,ge,Oe]),Te=useCallback(()=>{let y=Le(),I=Ne(y,"out");if(I<=Me()){be();return}ge(I),Oe(I);},[Le,Ne,Me,be,ge,Oe]),Ie=useCallback(()=>{ge(1),Oe(1);},[ge,Oe]),Je=useCallback(()=>{x(y=>{let I=(y+90)%360;if(j.current==="manual"){let H=ce.current.width,q=ce.current.height,Y=I===90||I===270,me=Y?q:H,ke=Y?H:q,Se=G.current;requestAnimationFrame(()=>{let _e=F.current;if(!_e)return;let We=_e.getBoundingClientRect(),tt=me*Se,rt=ke*Se,Ke=wt(tt,rt,We.width,We.height);_e.scrollLeft=tt/2+Ke.x-We.width/2,_e.scrollTop=rt/2+Ke.y-We.height/2;});}return I});},[]),pt=useCallback(()=>{let y=A.current;y&&(ce.current={width:y.naturalWidth,height:y.naturalHeight},K(true),W(false));},[]),t=h==="adaptive"?Me():z$1,u=O*t,c=ye*t,p=he.width,f=he.height,v=h==="manual"?wt(u,c,p,f):{x:0,y:0},g=b&&h==="manual"&&(u>p||c>f),m=O>0?w/O:0,M=ye*m,L=p>0?p/z$1*m:0,_=f>0?f/z$1*m:0,J=Math.max(0,V.left-v.x)/z$1*m,X=Math.max(0,V.top-v.y)/z$1*m,ie=h==="adaptive"?"Fit":`${Math.round(z$1*100)}%`,ee=Ne(t,"in")!==t,oe=h==="manual"||t>d,N=h==="adaptive"?{width:O?u:void 0,height:ye?c:void 0,position:"relative",flexShrink:0}:{width:u,height:c,marginLeft:v.x,marginTop:v.y,flexShrink:0,position:"relative"},$={width:fe*t,height:ue*t,maxWidth:"none",maxHeight:"none",position:"absolute",top:"50%",left:"50%",transform:`translate(-50%, -50%) rotate(${R}deg)`},B={cursor:h==="manual"?E?"grabbing":"grab":"default"},le={width:fe*m,height:ue*m,position:"absolute",top:"50%",left:"50%",transform:`translate(-50%, -50%) rotate(${R}deg)`};return jsxs("div",{className:`h-full w-full flex flex-col min-h-0 min-w-0 overflow-hidden ${k??""}`,children:[jsxs("div",{className:"flex w-full items-center px-8.5 py-3 gap-1 shrink-0 flex-wrap",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsx(Ra,{style:{width:20,height:20}}),onClick:Te,disabled:!oe,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:h==="manual"?be: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":ie,children:jsx(_a,{style:{fontSize:12,fontWeight:500},children:ie})}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(na,{style:{width:14,height:14}}),onClick:st,disabled:!ee,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:Je,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:h==="adaptive"?"primary":"default",icon:jsx(sa$1,{style:{width:14,height:14}}),onClick:be,className:`${h==="adaptive"?"bg-blue-50!":"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!"} h-[38px]!`,p:10}),jsx(z,{variant:"outlined","aria-label":"original-size",size:"small",color:h==="manual"&&z$1===1?"primary":"default",onClick:Ie,className:`${h==="manual"&&z$1===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:F,className:`h-full w-full ${h==="adaptive"?"flex items-center justify-center overflow-hidden":"overflow-auto"}`,style:B,onDoubleClick:He,children:U?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:N,children:jsx("img",{ref:A,src:e,alt:n,draggable:false,className:"block select-none",style:$,onLoad:pt,onError:()=>W(true)})})}),g&&jsxs("div",{className:"absolute bottom-3 right-3 rounded-lg overflow-hidden shadow-lg pointer-events-none",style:{width:w,height:M,backdropFilter:"blur(8px)",background:"rgba(255,255,255,0.75)"},children:[jsx("div",{style:le,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,w),height:Math.min(_,M),left:Math.max(0,Math.min(J,w-L)),top:Math.max(0,Math.min(X,M-_)),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 er=a(({url:e})=>{let[n,o]=useState(null),[a$1,l]=useState(false),[i,d]=useState(true),[b,w]=useState(null);return useEffect(()=>{l(true);},[]),useEffect(()=>{if(!a$1)return;a(async()=>{try{let P=await import('./PdfDriver-MGKDGHEQ.mjs');o(()=>P.PdfDriver),d(!1);}catch(P){console.error("Failed to load PDF driver:",P),w("Failed to load PDF viewer"),d(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..."})}):b||!n?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(n,{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 Xr=50,Po=1e4,Ur=a(({url:e,blob:n})=>{let o=useRef(null),a$1=useRef(null),[l,i]=useState(null),[d,b]=useState(true),[w,k]=useState(1),P=useRef(false),[h,T]=useState({width:0,height:0}),z$1=useRef(0),r=a(()=>{P.current=true,k(x=>Math.min(x+.25,4));},"handleZoomIn"),R=a(()=>{P.current=true,k(x=>Math.max(x-.25,.25));},"handleZoomOut");return useEffect(()=>{a(async()=>{if(a$1.current)try{b(!0),i(null);let E=n;if(!E&&e&&(E=await(await fetch(e)).blob()),!E){i("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(E.size/(1024*1024)>Xr){i(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${Xr} \u041C\u0411)`);return}a$1.current.innerHTML="";let C=renderAsync(E,a$1.current,void 0,{debug:!0,experimental:!0,hideWrapperOnPrint:!0,breakPages:!0,ignoreLastRenderedPageBreak:!1}),D=new Promise((U,W)=>setTimeout(()=>W(new Error("\u0420\u0435\u043D\u0434\u0435\u0440\u0438\u043D\u0433 DOCX \u0437\u0430\u0439\u043D\u044F\u0432 \u043D\u0430\u0434\u0442\u043E \u0431\u0430\u0433\u0430\u0442\u043E \u0447\u0430\u0441\u0443")),Po));await Promise.race([C,D]),await new Promise(U=>requestAnimationFrame(U));let K=a$1.current.querySelector(".docx-wrapper");if(K&&(z$1.current=K.offsetWidth,T({width:K.offsetWidth,height:K.offsetHeight})),o.current&&z$1.current>0){let U=o.current.clientWidth,W=Math.min(U/z$1.current,1);k(W);}b(!1);}catch(E){i(E?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B"),b(false);}},"renderDocument")();},[e,n]),useEffect(()=>{if(!o.current)return;let x=Do(S=>{if(!(P.current||z$1.current===0))for(let C of S){let D=C.contentRect.width,K=Math.min(D/z$1.current,1);k(K);}},150),E=new ResizeObserver(x);return E.observe(o.current),()=>{E.disconnect(),x.cancel();}},[]),jsxs("div",{className:"h-full w-full flex flex-col px-0.5",children:[jsxs("div",{className:"flex justify-center items-stretch px-8 py-3 gap-1 border-b border-gray-200 dark:border-neutral-700",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsx(Ra,{style:{width:20,height:20}}),onClick:R,disabled:w<=.25,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:7}),jsxs(rb,{py:8,px:8,className:"flex items-center justify-between gap-1.5 min-w-21 rounded-[5px]!",children:[jsx(_a,{color:"text.lighter",style:{fontSize:10},children:"Scale:"}),jsxs(_a,{children:[Math.round(w*100),"%"]})]}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(na,{style:{width:14,height:14}}),onClick:r,disabled:w>=4,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:10})]}),!!l&&!d&&jsx("div",{className:"text-red-500 p-8",children:l}),d&&jsx("div",{className:"flex items-center justify-center p-8",children:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F..."}),jsx("div",{ref:o,className:"w-full h-full overflow-auto bg-gray-400 dark:bg-neutral-700 [&::-webkit-scrollbar-thumb]:bg-gray-100 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-600 [&::-webkit-scrollbar-track]:bg-gray-400 dark:[&::-webkit-scrollbar-track]:bg-neutral-700",style:{scrollbarGutter:"stable both-edges"},children:jsx("div",{style:{width:h.width>0?h.width*w:void 0,height:h.height>0?h.height*w:void 0,overflow:"hidden",margin:"0 auto"},children:jsx("div",{ref:a$1,className:`[&>div.docx-wrapper_table_*]:wrap-break-word!
|
|
66
|
+
`);var xo=[.1,.25,.5,.75,1,1.5,2,3,4,5],ko=5,So=.1,Co=120;function yt(e,n,o,a){return {x:e<o?(o-e)/2:0,y:n<a?(a-n)/2:0}}a(yt,"computePadding");var Hr=a(({url:e,alt:n="image",naturalWidth:o,naturalHeight:a$1,zoomSteps:s=xo,maxZoom:i=ko,minZoom:c=So,showMinimap:f=true,minimapWidth:v=Co,className:k,onZoomChange:P})=>{let[h,T]=useState("adaptive"),[z$1,r]=useState(1),[R,x]=useState(0),[E,S]=useState(false),C=useRef(false),[D,K]=useState(false),[U,W]=useState(false),[V,ae]=useState({left:0,top:0}),pe=useRef(0),[fe,xe]=useState({width:0,height:0}),ce=useRef({width:0,height:0}),A=useRef(null),F=useRef(null),de=useRef({x:0,y:0,scrollLeft:0,scrollTop:0}),j=useRef(h),G=useRef(z$1),te=useRef(R),re=useRef(P);j.current=h,G.current=z$1,te.current=R,re.current=P;let he=o||ce.current.width,ue=a$1||ce.current.height,Q=R===90||R===270,O=Q?ue:he,we=Q?he:ue,Pe=useMemo(()=>[...s].sort((y,I)=>y-I),[s]),Me=useCallback(()=>fe.width===0||O===0?1:Math.min(fe.width/O,fe.height/we,1),[fe,O,we]),Ne=useCallback((y,I)=>{if(I==="in"){let q=Pe.find(Y=>Y>y+.001);return q!==void 0?Math.min(q,i):y}let H=Pe.findLast(q=>q<y-.001);return H!==void 0?Math.max(H,c):y},[Pe,i,c]),Le=useCallback(()=>j.current==="adaptive"?Me():G.current,[Me]),ge=useCallback(y=>{T("manual"),r(y),re.current?.(y,"manual");},[]),be=useCallback(()=>{T("adaptive"),re.current?.(Me(),"adaptive");},[Me]),Oe=useCallback(y=>{requestAnimationFrame(()=>{let I=F.current;if(!I)return;let H=I.getBoundingClientRect(),q=O*y,Y=we*y,me=yt(q,Y,H.width,H.height);I.scrollLeft=q/2+me.x-H.width/2,I.scrollTop=Y/2+me.y-H.height/2;});},[O,we]);useEffect(()=>{T("adaptive"),r(1),x(0),K(false),W(false),ce.current={width:0,height:0};},[e]),useEffect(()=>{let y=F.current;if(!y)return;let I=new ResizeObserver(H=>{let q=H[0];if(!q)return;let{width:Y,height:me}=q.contentRect;xe(ke=>ke.width===Y&&ke.height===me?ke:{width:Y,height:me});});return I.observe(y),()=>I.disconnect()},[]),useEffect(()=>{let y=F.current;if(!y)return;let I=a(()=>{cancelAnimationFrame(pe.current),pe.current=requestAnimationFrame(()=>{let H=y.scrollLeft,q=y.scrollTop;ae(Y=>Y.left===H&&Y.top===q?Y:{left:H,top:q});});},"handleScroll");return y.addEventListener("scroll",I,{passive:true}),()=>{y.removeEventListener("scroll",I),cancelAnimationFrame(pe.current);}},[]),useEffect(()=>{let y=F.current;if(!y||!D)return;let I=a(H=>{if(!(H.ctrlKey||H.metaKey))return;H.preventDefault();let q=Le(),Y=H.deltaY>0?"out":"in",me=Ne(q,Y),ke=Me();if(Y==="out"&&me<=ke){be();return}let Se=y.getBoundingClientRect(),_e=te.current,We=_e===90||_e===270,tt=ce.current.width||1,rt=ce.current.height||1,Ke=We?rt:tt,ft=We?tt:rt,Kt,Qt;if(j.current==="adaptive"){let Qe=A.current;if(!Qe)return;let et=Qe.getBoundingClientRect();Kt=(H.clientX-et.left)/(et.width/Ke),Qt=(H.clientY-et.top)/(et.height/ft);}else {let Qe=Ke*q,et=ft*q,Sr=yt(Qe,et,Se.width,Se.height);Kt=(y.scrollLeft+H.clientX-Se.left-Sr.x)/q,Qt=(y.scrollTop+H.clientY-Se.top-Sr.y)/q;}ge(me),requestAnimationFrame(()=>{let Qe=y.getBoundingClientRect(),et=yt(Ke*me,ft*me,Qe.width,Qe.height);y.scrollLeft=Kt*me+et.x-(H.clientX-Qe.left),y.scrollTop=Qt*me+et.y-(H.clientY-Qe.top);});},"handleWheel");return y.addEventListener("wheel",I,{passive:false}),()=>y.removeEventListener("wheel",I)},[D,Le,Ne,Me,ge,be]),useEffect(()=>{if(h!=="manual")return;let y=F.current;if(!y)return;let I=a(Y=>{Y.button===0&&(Y.preventDefault(),C.current=true,S(true),de.current={x:Y.clientX,y:Y.clientY,scrollLeft:y.scrollLeft,scrollTop:y.scrollTop});},"handleMouseDown"),H=a(Y=>{if(!C.current)return;let{x:me,y:ke,scrollLeft:Se,scrollTop:_e}=de.current;y.scrollLeft=Se-(Y.clientX-me),y.scrollTop=_e-(Y.clientY-ke);},"handleMouseMove"),q=a(()=>{C.current=false,S(false);},"handleMouseUp");return y.addEventListener("mousedown",I),window.addEventListener("mousemove",H),window.addEventListener("mouseup",q),()=>{y.removeEventListener("mousedown",I),window.removeEventListener("mousemove",H),window.removeEventListener("mouseup",q);}},[h]);let He=useCallback(()=>{h==="manual"&&be();},[h,be]),st=useCallback(()=>{let y=Le(),I=Ne(y,"in");I!==y&&(ge(I),Oe(I));},[Le,Ne,ge,Oe]),Te=useCallback(()=>{let y=Le(),I=Ne(y,"out");if(I<=Me()){be();return}ge(I),Oe(I);},[Le,Ne,Me,be,ge,Oe]),Ie=useCallback(()=>{ge(1),Oe(1);},[ge,Oe]),Je=useCallback(()=>{x(y=>{let I=(y+90)%360;if(j.current==="manual"){let H=ce.current.width,q=ce.current.height,Y=I===90||I===270,me=Y?q:H,ke=Y?H:q,Se=G.current;requestAnimationFrame(()=>{let _e=F.current;if(!_e)return;let We=_e.getBoundingClientRect(),tt=me*Se,rt=ke*Se,Ke=yt(tt,rt,We.width,We.height);_e.scrollLeft=tt/2+Ke.x-We.width/2,_e.scrollTop=rt/2+Ke.y-We.height/2;});}return I});},[]),pt=useCallback(()=>{let y=A.current;y&&(ce.current={width:y.naturalWidth,height:y.naturalHeight},K(true),W(false));},[]),t=h==="adaptive"?Me():z$1,u=O*t,d=we*t,p=fe.width,m=fe.height,w=h==="manual"?yt(u,d,p,m):{x:0,y:0},b=f&&h==="manual"&&(u>p||d>m),g=O>0?v/O:0,M=we*g,L=p>0?p/z$1*g:0,_=m>0?m/z$1*g:0,J=Math.max(0,V.left-w.x)/z$1*g,X=Math.max(0,V.top-w.y)/z$1*g,ie=h==="adaptive"?"Fit":`${Math.round(z$1*100)}%`,ee=Ne(t,"in")!==t,oe=h==="manual"||t>c,N=h==="adaptive"?{width:O?u:void 0,height:we?d:void 0,position:"relative",flexShrink:0}:{width:u,height:d,marginLeft:w.x,marginTop:w.y,flexShrink:0,position:"relative"},$={width:he*t,height:ue*t,maxWidth:"none",maxHeight:"none",position:"absolute",top:"50%",left:"50%",transform:`translate(-50%, -50%) rotate(${R}deg)`},B={cursor:h==="manual"?E?"grabbing":"grab":"default"},le={width:he*g,height:ue*g,position:"absolute",top:"50%",left:"50%",transform:`translate(-50%, -50%) rotate(${R}deg)`};return jsxs("div",{className:`h-full w-full flex flex-col min-h-0 min-w-0 overflow-hidden ${k??""}`,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:Te,disabled:!oe,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:h==="manual"?be: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":ie,children:jsx(_a,{style:{fontSize:12,fontWeight:500},children:ie})}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(na,{style:{width:14,height:14}}),onClick:st,disabled:!ee,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700! h-[38px]!",p:10}),jsx(z,{variant:"outlined","aria-label":"rotate-right",size:"small",color:"default",icon:jsx(Na,{style:{width:16,height:16}}),onClick:Je,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:h==="adaptive"?"primary":"default",icon:jsx(sa,{style:{width:14,height:14}}),onClick:be,className:`${h==="adaptive"?"bg-blue-50!":"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!"} h-[38px]!`,p:10}),jsx(z,{variant:"outlined","aria-label":"original-size",size:"small",color:h==="manual"&&z$1===1?"primary":"default",onClick:Ie,className:`${h==="manual"&&z$1===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:F,className:`h-full w-full ${h==="adaptive"?"flex items-center justify-center overflow-hidden":"overflow-auto"}`,style:B,onDoubleClick:He,children:U?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:N,children:jsx("img",{ref:A,src:e,alt:n,draggable:false,className:"block select-none",style:$,onLoad:pt,onError:()=>W(true)})})}),b&&jsxs("div",{className:"absolute bottom-3 right-3 rounded-lg overflow-hidden shadow-lg pointer-events-none",style:{width:v,height:M,backdropFilter:"blur(8px)",background:"rgba(255,255,255,0.75)"},children:[jsx("div",{style:le,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,v),height:Math.min(_,M),left:Math.max(0,Math.min(J,v-L)),top:Math.max(0,Math.min(X,M-_)),background:"rgba(59,130,246,0.1)"}})]})]})]})},"ImageDriver");var $r=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[n,o]=useState(null),[a$1,s]=useState(false),[i,c]=useState(true),[f,v]=useState(null);return useEffect(()=>{s(true);},[]),useEffect(()=>{if(!a$1)return;a(async()=>{try{let P=await import('./PdfDriver-MG73PERZ.mjs');o(()=>P.PdfDriver),c(!1);}catch(P){console.error("Failed to load PDF driver:",P),v("Failed to load PDF viewer"),c(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||!n?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(n,{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,Mo=1e4,qr=a(({url:e,blob:n})=>{let o=useRef(null),a$1=useRef(null),[s,i]=useState(null),[c,f]=useState(true),[v,k]=useState(1),P=useRef(false),[h,T]=useState({width:0,height:0}),z$1=useRef(0),r=a(()=>{P.current=true,k(x=>Math.min(x+.25,4));},"handleZoomIn"),R=a(()=>{P.current=true,k(x=>Math.max(x-.25,.25));},"handleZoomOut");return useEffect(()=>{a(async()=>{if(a$1.current)try{f(!0),i(null);let E=n;if(!E&&e&&(E=await(await fetch(e)).blob()),!E){i("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(E.size/(1024*1024)>Ur){i(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${Ur} \u041C\u0411)`);return}a$1.current.innerHTML="";let C=renderAsync(E,a$1.current,void 0,{debug:!0,experimental:!0,hideWrapperOnPrint:!0,breakPages:!0,ignoreLastRenderedPageBreak:!1}),D=new Promise((U,W)=>setTimeout(()=>W(new Error("\u0420\u0435\u043D\u0434\u0435\u0440\u0438\u043D\u0433 DOCX \u0437\u0430\u0439\u043D\u044F\u0432 \u043D\u0430\u0434\u0442\u043E \u0431\u0430\u0433\u0430\u0442\u043E \u0447\u0430\u0441\u0443")),Mo));await Promise.race([C,D]),await new Promise(U=>requestAnimationFrame(U));let K=a$1.current.querySelector(".docx-wrapper");if(K&&(z$1.current=K.offsetWidth,T({width:K.offsetWidth,height:K.offsetHeight})),o.current&&z$1.current>0){let U=o.current.clientWidth,W=Math.min(U/z$1.current,1);k(W);}f(!1);}catch(E){i(E?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B"),f(false);}},"renderDocument")();},[e,n]),useEffect(()=>{if(!o.current)return;let x=Po(S=>{if(!(P.current||z$1.current===0))for(let C of S){let D=C.contentRect.width,K=Math.min(D/z$1.current,1);k(K);}},150),E=new ResizeObserver(x);return E.observe(o.current),()=>{E.disconnect(),x.cancel();}},[]),jsxs("div",{className:"h-full w-full flex flex-col px-0.5",children:[jsxs("div",{className:"flex justify-center items-stretch px-8 py-3 gap-1 border-b border-gray-200 dark:border-neutral-700",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsx(Ra$1,{style:{width:20,height:20}}),onClick:R,disabled:v<=.25,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:7}),jsxs(rb,{py:8,px:8,className:"flex items-center justify-between gap-1.5 min-w-21 rounded-[5px]!",children:[jsx(_a,{color:"text.lighter",style:{fontSize:10},children:"Scale:"}),jsxs(_a,{children:[Math.round(v*100),"%"]})]}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(na,{style:{width:14,height:14}}),onClick:r,disabled:v>=4,className:"bg-white! dark:bg-neutral-800! hover:bg-blue-50! dark:hover:bg-neutral-700!",p:10})]}),!!s&&!c&&jsx("div",{className:"text-red-500 p-8",children:s}),c&&jsx("div",{className:"flex items-center justify-center p-8",children:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F..."}),jsx("div",{ref:o,className:"w-full h-full overflow-auto bg-gray-400 dark:bg-neutral-700 [&::-webkit-scrollbar-thumb]:bg-gray-100 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-600 [&::-webkit-scrollbar-track]:bg-gray-400 dark:[&::-webkit-scrollbar-track]:bg-neutral-700",style:{scrollbarGutter:"stable both-edges"},children:jsx("div",{style:{width:h.width>0?h.width*v:void 0,height:h.height>0?h.height*v:void 0,overflow:"hidden",margin:"0 auto"},children:jsx("div",{ref:a$1,className:`[&>div.docx-wrapper_table_*]:wrap-break-word!
|
|
67
67
|
[&>div.docx-wrapper_table]:table-fixed!
|
|
68
68
|
[&>div.docx-wrapper_table_td]:w-fit!
|
|
69
69
|
[&>div.docx-wrapper_table_col]:w-fit!
|
|
@@ -79,11 +79,11 @@ ${e?`
|
|
|
79
79
|
[&>div.docx-wrapper]:box-border
|
|
80
80
|
[&>div.docx-wrapper]:min-w-fit!
|
|
81
81
|
[&>div.docx-wrapper]:w-full!
|
|
82
|
-
[&>div.docx-wrapper]:min-h-full`,style:{boxSizing:"border-box",wordBreak:"break-word",overflowWrap:"break-word",transform:`scale(${
|
|
83
|
-
`||
|
|
84
|
-
`)){let
|
|
85
|
-
`+
|
|
86
|
-
`),{data:Q}=Wt.parse(ue,{header:false,dynamicTyping:false,skipEmptyLines:true,...te?{delimiter:te}:{}});return Q.slice(1)},[]),pe=useCallback(async(j,G)=>{let te=D.current;if(!te)return;let re=Math.max(0,Math.floor(j/1e3)-2),
|
|
82
|
+
[&>div.docx-wrapper]:min-h-full`,style:{boxSizing:"border-box",wordBreak:"break-word",overflowWrap:"break-word",transform:`scale(${v})`,transformOrigin:"top left"}})})})]})},"DocxDriver");var Ho=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 Wo(){let[e,n]=useState(()=>typeof document<"u"?document.documentElement.classList.contains("dark"):false);return useEffect(()=>{let o=new MutationObserver(()=>{n(document.documentElement.classList.contains("dark"));});return o.observe(document.documentElement,{attributes:true,attributeFilter:["class"]}),()=>o.disconnect()},[]),e}a(Wo,"useIsDarkMode");var Jr=a(({url:e,extension:n})=>{let[o,a$1]=useState(""),[s,i]=useState(true),[c,f]=useState(null),[v,k]=useState(0),P=useRef(null),h=Wo();if(useEffect(()=>{a(async()=>{try{i(!0),f(null);let R=await fetch(e);if(!R.ok)throw new Error(`Failed to load file: ${R.statusText}`);let x=await R.text();if(n==="json")try{x=JSON.stringify(JSON.parse(x),null,2);}catch{}a$1(x);}catch(R){f(R instanceof Error?R.message:"Failed to load text content");}finally{i(false);}},"loadTextContent")();},[e]),useEffect(()=>{let r=a(()=>{if(P.current){let R=P.current.clientHeight;k(R);}},"updateHeight");return r(),window.addEventListener("resize",r),()=>{window.removeEventListener("resize",r);}},[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(c)return jsx("div",{className:"flex items-center justify-center p-8.5",children:jsxs("div",{className:"text-red-500",children:["Error: ",c]})});if(n==="md")return jsx("div",{ref:P,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(Bo,{remarkPlugins:[Oo],children:o})});let z=Ho(n);return jsx("div",{ref:P,className:"h-full w-full",children:v>0&&jsx(To,{value:o,theme:h?vscodeDark:vscodeLight,extensions:z,editable:false,height:`${v}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 mt=class{static{a(this,"LruChunkCache");}cache=new Map;pinned=new Set;maxSize;constructor(n=8){this.maxSize=n;}get(n){let o=this.cache.get(n);return o!==void 0&&(this.cache.delete(n),this.cache.set(n,o)),o}set(n,o){if(this.cache.delete(n),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(n,o);}pin(n){this.pinned.clear();for(let o of n)this.pinned.add(o);this.pinned.size>this.maxSize&&(this.maxSize=this.pinned.size+4);}clear(){this.cache.clear(),this.pinned.clear();}};var it="chunks",or=class{static{a(this,"IndexedDBStore");}db;sessionId;dbName;constructor(n,o,a){this.db=n,this.sessionId=o,this.dbName=a;}async set(n,o){return new Promise((a,s)=>{let i=this.db.transaction(it,"readwrite");i.objectStore(it).put(o,n),i.oncomplete=()=>a(),i.onerror=()=>s(i.error);})}async get(n){return new Promise((o,a)=>{let i=this.db.transaction(it,"readonly").objectStore(it).get(n);i.onsuccess=()=>o(i.result??void 0),i.onerror=()=>a(i.error);})}async clear(){return new Promise((n,o)=>{let a=this.db.transaction(it,"readwrite");a.objectStore(it).clear(),a.oncomplete=()=>n(),a.onerror=()=>o(a.error);})}async destroy(){return this.db.close(),new Promise((n,o)=>{let a=indexedDB.deleteDatabase(this.dbName);a.onsuccess=()=>n(),a.onerror=()=>o(a.error),a.onblocked=()=>n();})}},ar=class{static{a(this,"MemoryStore");}sessionId=null;chunks=new Map;async set(n,o){this.chunks.set(n,o);}async get(n){return this.chunks.get(n)}async clear(){this.chunks.clear();}async destroy(){this.chunks.clear();}};async function Ht(){let e=`${Date.now()}_${Math.random().toString(36).slice(2)}`,n=`csv-chunks-${e}`;try{let o=await new Promise((a,s)=>{let i=indexedDB.open(n,1);i.onupgradeneeded=()=>{let c=i.result;c.objectStoreNames.contains(it)||c.createObjectStore(it);},i.onsuccess=()=>a(i.result),i.onerror=()=>s(i.error);});return new or(o,e,n)}catch{return console.warn("IndexedDB unavailable, falling back to in-memory storage"),new ar}}a(Ht,"createChunkStore");function qo(e){let n=[],o=false,a=0,s=0;for(let i=0;i<e.length;i++){let c=e[i];if(c==='"')o=!o;else if(!o&&(c===`
|
|
83
|
+
`||c==="\r"&&e[i+1]!==`
|
|
84
|
+
`)){let f=e.slice(a,i).replace(/\r$/,"");f&&n.push(f),a=i+1,s=i+1;}}return [n,e.slice(s)]}a(qo,"splitCsvRows");function Yo(e,n){let o=false;for(let a=0;a<e.length;a++)if(e[a]==='"')o=!o;else if(!o&&e.startsWith(n,a))return true;return false}a(Yo,"hasDelimiter");var $t=class{static{a(this,"Utf32Decoder");}isLE;leftover=new Uint8Array(0);constructor(n){this.isLE=n==="le";}decode(n,o){let a=n;if(this.leftover.length>0){let f=new Uint8Array(this.leftover.length+n.length);f.set(this.leftover),f.set(n,this.leftover.length),a=f;}let s=Math.floor(a.length/4),i="";for(let f=0;f<s*4;f+=4){let v=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;v>1114111||v>=55296&&v<=57343?i+="\uFFFD":i+=String.fromCodePoint(v);}let c=a.length%4;return o?.stream?this.leftover=c>0?a.slice(s*4):new Uint8Array(0):(c>0&&(i+="\uFFFD"),this.leftover=new Uint8Array(0)),i}};function Zo(e){if(e==="utf-32le"||e==="utf-32")return new $t("le");if(e==="utf-32be")return new $t("be");try{return new TextDecoder(e)}catch{return new TextDecoder("utf-8")}}a(Zo,"createDecoder");function Go(e){let n=Math.min(e.length,512);if(n<8)return null;let o=0,a=0;for(let i=0;i<n;i++)e[i]===0&&(i%2===1?o++:a++);let s=n/4;return o>=s&&o>a*2?"utf-16le":a>=s&&a>o*2?"utf-16be":null}a(Go,"detectUtf16NoBom");function Jo(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 n=Go(e.slice(0,512));if(n)return {encoding:n,bomLength:0};let o=(Uo.detect(e.slice(0,4096))??"utf-8").toLowerCase();return o==="utf-8-sig"?{encoding:"utf-8",bomLength:3}:{encoding:o,bomLength:0}}a(Jo,"detectEncodingFromBom");function Ko(e,n){return e.stream?Promise.resolve(e.stream):e.blob?Promise.resolve(e.blob.stream()):e.url?fetch(e.url,{signal:n}).then(o=>{if(!o.ok)throw new Error(`HTTP ${o.status}`);return o.body}):Promise.reject(new Error("No source provided"))}a(Ko,"resolveStream");function en(e){let[n,o]=useState("idle"),[a,s]=useState(0),[i,c]=useState([]),[f,v]=useState(null),[k,P]=useState(0),[h,T]=useState(0),z=useRef(e),r=useRef(0),R=useRef(0),x=useRef(""),E=useRef(""),S=useRef(0),C=useRef(new mt(10)),D=useRef(null),K=useRef(null),U=useRef(new Set),W=useRef(null),V=useRef(false),ae=useCallback((j,G)=>{let te=E.current,re=S.current,he=te&&re>1?G.map(O=>Yo(O,te)?O:'"'+O.replace(/"/g,'""')+'"'+te.repeat(re-1)):G,ue=j+`
|
|
85
|
+
`+he.join(`
|
|
86
|
+
`),{data:Q}=Wt.parse(ue,{header:false,dynamicTyping:false,skipEmptyLines:true,...te?{delimiter:te}:{}});return Q.slice(1)},[]),pe=useCallback(async(j,G)=>{let te=D.current;if(!te)return;let re=Math.max(0,Math.floor(j/1e3)-2),he=Math.min(r.current-1,Math.floor(G/1e3)+2),ue=false;for(let Q=re;Q<=he;Q++)if(C.current.get(Q)===void 0&&!U.current.has(Q)){U.current.add(Q);try{let O=await te.get(Q);if(O&&x.current){let we=ae(x.current,O);C.current.set(Q,we),ue=!0;}}finally{U.current.delete(Q);}}ue&&T(Q=>Q+1);},[ae]),fe=useCallback(j=>{let G=Math.floor(j/1e3),te=j%1e3;return C.current.get(G)?.[te]},[h]),xe=useCallback(async()=>{V.current=true;let j=new AbortController;K.current=j,await D.current?.destroy();let G=await Ht();D.current=G,r.current=0,R.current=0,x.current="",E.current="",S.current=0,C.current.clear(),c([]),s(0),v(null),P(0),o("loading");let te=z.current,re=null;try{let he=await Ko(te,j.signal);o("streaming"),re=he.getReader();let ue=null,Q="",O=[],we=!0,Pe=[],Me=0,Ne=0,Le=te.blob?.size||0;for(;;){if(j.signal.aborted)return;let{done:ge,value:be}=await re.read();if(ge)break;Me+=be.byteLength,Le&&P(Me/Le);let Oe=be;if(!ue){let{encoding:Te,bomLength:Ie}=Jo(be);ue=Zo(Te),Ie>0&&(Oe=be.slice(Ie));}Q+=ue.decode(Oe,{stream:!0});let[He,st]=qo(Q);if(He.length!==0){for(Q=st;we&&He.length>0;){let Te=He.shift(),{data:Ie,meta:Je}=Wt.parse(Te,{}),pt=Ie[0]?.length??0;if(pt>1)x.current=Te,E.current=Je.delimiter,S.current=pt,c(Ie[0]),O=[...Pe],Pe=[],we=!1;else if(Pe.length<50)Pe.push(Te);else {x.current=Pe.shift();let{data:t}=Wt.parse(x.current,{});t[0]&&c(t[0]),S.current=1,O=[...Pe,Te],Pe=[],we=!1;}}for(let Te of He)if(Te.trim()&&(O.push(Te),O.length>=1e3)){let Ie=r.current;if(await G.set(Ie,O),Ie<3){let Je=ae(x.current,O);C.current.set(Ie,Je);}r.current+=1,Ne+=O.length,O=[],R.current=Ne,W.current||(W.current=requestAnimationFrame(()=>{s(R.current),W.current=null;}));}}}if(we){let ge=[...Pe];if(Q.trim()&&ge.push(Q),ge.length>0){x.current=ge[0];let{data:be}=Wt.parse(x.current,{});be[0]&&c(be[0]),S.current=be[0]?.length??1,ge.length>1&&(O=[...O,...ge.slice(1)]);}}else Q.trim()&&O.push(Q);O.length>0&&(await G.set(r.current,O),r.current+=1,Ne+=O.length),W.current&&(cancelAnimationFrame(W.current),W.current=null),s(Ne),P(1),o("done");}catch(he){if(j.signal.aborted)return;let ue=he instanceof Error?he.message:"Unknown error";v(ue),o("partial_error");}finally{re?.cancel().catch(()=>{}),W.current&&(cancelAnimationFrame(W.current),W.current=null),V.current=false;}},[ae]),ce=useRef(false);useEffect(()=>(ce.current=true,V.current||xe(),()=>{ce.current=false,queueMicrotask(()=>{ce.current||(K.current?.abort(),D.current?.destroy(),W.current&&cancelAnimationFrame(W.current));});}),[xe]);let A=D.current?.sessionId??null,F=r.current,de=useCallback(j=>{C.current.pin(j);},[]);return {state:n,headers:i,totalRows:a,getRow:fe,error:f,progress:k,prefetchRange:pe,sessionId:A,chunkCount:F,pinChunks:de}}a(en,"useCsvStream");var Qo=`
|
|
87
87
|
const DB_VERSION = 1;
|
|
88
88
|
const STORE_NAME = 'chunks';
|
|
89
89
|
|
|
@@ -169,16 +169,16 @@ self.onmessage = async (e) => {
|
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
};
|
|
172
|
-
`,Ct=null,Dt=null;function
|
|
172
|
+
`,Ct=null,Dt=null;function lr(){if(!Ct){let e=new Blob([Qo],{type:"application/javascript"});Dt=URL.createObjectURL(e),Ct=new Worker(Dt);}return Ct}a(lr,"getSearchWorker");function tn(){Ct?.terminate(),Ct=null,Dt&&(URL.revokeObjectURL(Dt),Dt=null);}a(tn,"terminateSearchWorker");function rn(e,n){let[o,a]=useState(""),[s,i]=useState("idle"),[c,f]=useState(null),[v,k]=useState({searched:0,total:0,found:0}),P=useRef(null),h=useCallback(r=>{if(!e||n===0)return;if(!r.trim()){f(null),i("idle"),k({searched:0,total:0,found:0});return}i("searching"),k({searched:0,total:n,found:0});let R=lr();R.onmessage=x=>{let{type:E}=x.data;E==="progress"&&k({searched:x.data.searched,total:x.data.total,found:x.data.found}),E==="done"&&(f(x.data.matchedIndices),i("done")),E==="cancelled"&&i("idle"),E==="error"&&(i("idle"),console.error("Search worker error:",x.data.message));},R.postMessage({type:"cancel"}),R.postMessage({type:"search",sessionId:e,query:r,chunkCount:n,chunkSize:1e3});},[e,n]),T=useCallback(r=>{a(r),P.current&&clearTimeout(P.current),P.current=setTimeout(()=>{h(r);},300);},[h]),z=useCallback(()=>{a(""),f(null),i("idle"),k({searched:0,total:0,found:0}),lr().postMessage({type:"cancel"});},[]);return useEffect(()=>()=>{P.current&&clearTimeout(P.current),tn();},[]),{query:o,onQueryChange:T,clearSearch:z,searchState:s,matchedIndices:c,searchProgress:v}}a(rn,"useCsvSearch");var la={loading:"Loading...",rows:"rows",retry:"Retry",searchPlaceholder:"Search...",searchFound:"found",searching:"Searching..."};function ca(e,n,o){let a=1/0,s=-1/0,i=Math.min(o,e.length-1);for(let c=n;c<=i;c++){let f=e[c];f<a&&(a=f),f>s&&(s=f);}return {min:a,max:s}}a(ca,"getMinMax");function da(e,n,o){let a=Math.min(100,o),s=e.map(()=>[]);for(let i=0;i<a;i++){let c=n(i);if(c)for(let f=0;f<e.length;f++){let v=c[f]??"";s[f].push(v.length);}}return e.map((i,c)=>{let f=i.length*9,v=s[c];if(v.length===0)return Math.min(Math.max(150,f+24),800);v.sort((z,r)=>z-r);let k=Math.floor(v.length*.9),h=v[k]*7.5+24,T=Math.max(f+24,h);return Math.min(Math.max(50,T),800)})}a(da,"estimateColumnWidths");var ur=a(e=>{let{state:n,headers:o,totalRows:a$1,getRow:s,error:i,progress:c,prefetchRange:f,sessionId:v,chunkCount:k,pinChunks:P}=en(e),h={...la,...e.labels},{query:T,onQueryChange:z$1,clearSearch:r,searchState:R,matchedIndices:x}=rn(v,k),E=x!==null,S=E?x.length:a$1,[C,D]=useState([]),K=useRef(null),U=useRef(null),W=useRef(false),V=useRef(false);useEffect(()=>{V.current=false,W.current=false,D([]);},[v]),useEffect(()=>{if(o.length===0||W.current||V.current||a$1===0)return;let A=s(0);!A||A.length===0||(V.current=true,D(da(o,s,a$1)));},[o,a$1,s]),useEffect(()=>()=>U.current?.(),[]);let ae=useCallback((A,F)=>{A.preventDefault(),W.current=true;let de=A.clientX,j=C[F]??150;K.current={index:F,startX:de,startWidth:j};let G=a(re=>{if(!K.current)return;let he=re.clientX-de,ue=Math.max(50,j+he);D(Q=>{let O=[...Q];return O[F]=ue,O});},"onMouseMove"),te=a(()=>{K.current=null,U.current=null,document.removeEventListener("mousemove",G),document.removeEventListener("mouseup",te);},"onMouseUp");U.current=te,document.addEventListener("mousemove",G),document.addEventListener("mouseup",te);},[C]),pe=C.reduce((A,F)=>A+F,0),fe=useCallback(()=>jsx(fa,{children:o.map((A,F)=>jsxs(ha,{style:{width:C[F]},children:[A,jsx(ma,{onMouseDown:de=>ae(de,F)})]},F))}),[o,C,ae]),xe=useCallback(A=>{if(E&&x){let F=1/0,de=-1/0,j=new Set,G=Math.min(A.endIndex,x.length-1);for(let te=A.startIndex;te<=G;te++){let re=x[te];re<F&&(F=re),re>de&&(de=re),j.add(Math.floor(re/1e3));}P(Array.from(j)),F!==1/0&&f(F,de);}else P([]),f(A.startIndex,A.endIndex);},[f,P,E,x]),ce=useCallback(A=>{let F=E&&x?x[A]:A,de=s(F);return de?o.map((j,G)=>jsx(on,{style:{width:C[G]},children:de[G]??""},G)):o.map((j,G)=>jsx(on,{style:{width:C[G]},children:jsx(va,{})},G))},[s,o,C,E,x]);return useEffect(()=>{if(S>0)if(E&&x){let{min:A,max:F}=ca(x,0,50);A!==1/0&&f(A,F);}else f(0,50);},[S,E,x,f]),n==="idle"||n==="loading"||n==="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"}),n==="streaming"&&a$1>0&&jsxs(_a,{variant:"body",color:"text.lighter",style:{fontSize:12},children:[h.loading," ",a$1.toLocaleString()," ",h.rows,c>0?` (${Math.round(c*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:`${S.toLocaleString()} ${E?h.searchFound:h.rows}${E?` / ${a$1.toLocaleString()}`:""}`}),jsxs(wa,{children:[jsx(ya,{type:"text",value:T,onChange:A=>z$1(A.target.value),placeholder:h.searchPlaceholder}),R==="searching"?jsx(ka,{children:jsx(Ca,{})}):T?jsx(xa,{onClick:r,type:"button",children:"\u2715"}):null]})]}),n==="partial_error"&&jsxs(rb,{className:"flex items-center justify-between mx-4 mb-2 px-3 py-2 rounded bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-900",children:[jsx(_a,{variant:"body",className:"text-red-600 dark:text-red-400",style:{fontSize:12},children:i}),e.onRetry&&jsx(z,{onClick:()=>e.onRetry(i??""),variant:"outlined",size:"small",children:h.retry})]}),jsx("div",{className:"flex-1 min-h-0",children:o.length>0&&jsx(TableVirtuoso,{totalCount:S,increaseViewportBy:300,fixedHeaderContent:fe,itemContent:ce,rangeChanged:xe,style:{height:"100%"},components:{Table:a(({style:A,context:F,...de})=>jsx(ua,{style:{...A,minWidth:"100%",width:pe},...de}),"Table"),TableHead:pa,TableRow:a(({context:A,...F})=>jsx(ga,{...F}),"TableRow")}},E?"filtered":"all")})]})},"CsvDriver"),ua=styled.table(({theme:e})=>`
|
|
173
173
|
border-collapse: separate;
|
|
174
174
|
border-spacing: 0;
|
|
175
175
|
table-layout: fixed;
|
|
176
176
|
font-size: 13px;
|
|
177
177
|
background-color: ${e.colors.background};
|
|
178
|
-
`),
|
|
178
|
+
`),pa=styled.thead(({theme:e})=>`
|
|
179
179
|
background-color: ${e.colors.background};
|
|
180
180
|
z-index: 1;
|
|
181
|
-
`),
|
|
181
|
+
`),fa=styled.tr``,ha=styled.th(({theme:e})=>`
|
|
182
182
|
position: relative;
|
|
183
183
|
text-align: left;
|
|
184
184
|
padding: 8px 12px;
|
|
@@ -193,7 +193,7 @@ self.onmessage = async (e) => {
|
|
|
193
193
|
&:last-child {
|
|
194
194
|
border-right: none;
|
|
195
195
|
}
|
|
196
|
-
`),
|
|
196
|
+
`),ma=styled.div(({theme:e})=>`
|
|
197
197
|
position: absolute;
|
|
198
198
|
right: 0;
|
|
199
199
|
top: 0;
|
|
@@ -205,11 +205,11 @@ self.onmessage = async (e) => {
|
|
|
205
205
|
background-color: ${e.colors.primary?.light};
|
|
206
206
|
opacity: 0.4;
|
|
207
207
|
}
|
|
208
|
-
`),
|
|
208
|
+
`),ga=styled.tr(({theme:e})=>`
|
|
209
209
|
&:hover {
|
|
210
210
|
background-color: ${e.colors.backgroundBase};
|
|
211
211
|
}
|
|
212
|
-
`),
|
|
212
|
+
`),on=styled.td(({theme:e})=>`
|
|
213
213
|
padding: 6px 12px;
|
|
214
214
|
word-wrap: break-word;
|
|
215
215
|
overflow-wrap: break-word;
|
|
@@ -219,20 +219,20 @@ self.onmessage = async (e) => {
|
|
|
219
219
|
&:last-child {
|
|
220
220
|
border-right: none;
|
|
221
221
|
}
|
|
222
|
-
`),
|
|
222
|
+
`),ba=keyframes`
|
|
223
223
|
0%, 100% { opacity: 0.4; }
|
|
224
224
|
50% { opacity: 1; }
|
|
225
|
-
`,
|
|
225
|
+
`,va=styled.div(({theme:e})=>css$1`
|
|
226
226
|
height: 12px;
|
|
227
227
|
width: 60%;
|
|
228
228
|
background: ${e.colors.stroke.light};
|
|
229
229
|
border-radius: 4px;
|
|
230
|
-
animation: ${
|
|
231
|
-
`),
|
|
230
|
+
animation: ${ba} 1.5s ease-in-out infinite;
|
|
231
|
+
`),wa=styled.div`
|
|
232
232
|
position: relative;
|
|
233
233
|
width: 200px;
|
|
234
234
|
flex-shrink: 0;
|
|
235
|
-
`,
|
|
235
|
+
`,ya=styled.input(({theme:e})=>`
|
|
236
236
|
padding: 4px 24px 4px 8px;
|
|
237
237
|
font-size: 12px;
|
|
238
238
|
border: 1px solid ${e.colors.stroke.light};
|
|
@@ -242,7 +242,7 @@ self.onmessage = async (e) => {
|
|
|
242
242
|
&:focus {
|
|
243
243
|
border-color: ${e.colors.primary?.main};
|
|
244
244
|
}
|
|
245
|
-
`),
|
|
245
|
+
`),xa=styled.button(({theme:e})=>`
|
|
246
246
|
position: absolute;
|
|
247
247
|
right: 6px;
|
|
248
248
|
top: 50%;
|
|
@@ -257,25 +257,25 @@ self.onmessage = async (e) => {
|
|
|
257
257
|
&:hover {
|
|
258
258
|
color: ${e.colors.text?.main};
|
|
259
259
|
}
|
|
260
|
-
`),
|
|
260
|
+
`),ka=styled.div`
|
|
261
261
|
position: absolute;
|
|
262
262
|
right: 6px;
|
|
263
263
|
top: 50%;
|
|
264
264
|
transform: translateY(-50%);
|
|
265
265
|
display: flex;
|
|
266
266
|
align-items: center;
|
|
267
|
-
`,
|
|
267
|
+
`,Sa=keyframes`
|
|
268
268
|
to { transform: rotate(360deg); }
|
|
269
|
-
`,
|
|
269
|
+
`,Ca=styled.div(({theme:e})=>css$1`
|
|
270
270
|
width: 14px;
|
|
271
271
|
height: 14px;
|
|
272
272
|
border: 2px solid ${e.colors.stroke.light};
|
|
273
273
|
border-top-color: ${e.colors.text?.light};
|
|
274
274
|
border-radius: 50%;
|
|
275
|
-
animation: ${
|
|
276
|
-
`);var
|
|
277
|
-
`){let i=e.slice(o,a).replace(/\r$/,"");i.trim()&&n.push(i),o=a+1;}else if(
|
|
278
|
-
`){let i=e.slice(o,a);i.trim()&&n.push(i),o=a+1;}}return [n,e.slice(o)]}a(Na,"splitLines");function Ta(e,n){return e.stream?Promise.resolve(e.stream):e.blob?Promise.resolve(e.blob.stream()):e.url?fetch(e.url,{signal:n}).then(o=>{if(!o.ok)throw new Error(`HTTP ${o.status}`);return o.body}):Promise.reject(new Error("No source provided"))}a(Ta,"resolveStream");function dn(e){let[n,o]=useState("idle"),[a,l]=useState(0),[i,d]=useState(null),[b,w]=useState(0),[k,P]=useState(0),h=useRef(e),T=useRef(0),z=useRef(0),r=useRef(new mt(10)),R=useRef(null),x=useRef(null),E=useRef(new Set),S=useRef(null),C=useRef(false),D=useCallback(async(V,ae)=>{let pe=R.current;if(!pe)return;let he=Math.max(0,Math.floor(V/1e3)-2),xe=Math.min(T.current-1,Math.floor(ae/1e3)+2),ce=false;for(let A=he;A<=xe;A++)if(r.current.get(A)===void 0&&!E.current.has(A)){E.current.add(A);try{let F=await pe.get(A);F&&(r.current.set(A,F),ce=!0);}finally{E.current.delete(A);}}ce&&P(A=>A+1);},[]),K=useCallback(V=>{let ae=Math.floor(V/1e3),pe=V%1e3;return r.current.get(ae)?.[pe]},[k]),U=useCallback(async()=>{C.current=true;let V=new AbortController;x.current=V,await R.current?.destroy();let ae=await Ht();R.current=ae,T.current=0,z.current=0,r.current.clear(),l(0),d(null),w(0),o("loading");let pe=h.current;try{let he=await Ta(pe,V.signal);o("streaming");let xe=he.getReader(),ce=new TextDecoder("utf-8"),A="",F=[],de=0,j=0,G=pe.blob?.size||0;for(;;){if(V.signal.aborted)return;let{done:te,value:re}=await xe.read();if(te)break;de+=re.byteLength,G&&w(de/G),A+=ce.decode(re,{stream:!0});let[fe,ue]=Na(A);A=ue;for(let Q of fe)if(F.push(Q),F.length>=1e3){let O=T.current;await ae.set(O,F),O<3&&r.current.set(O,F),T.current+=1,j+=F.length,F=[],z.current=j,S.current||(S.current=requestAnimationFrame(()=>{l(z.current),S.current=null;}));}}A.trim()&&F.push(A.trim()),F.length>0&&(await ae.set(T.current,F),T.current+=1,j+=F.length),S.current&&(cancelAnimationFrame(S.current),S.current=null),l(j),w(1),o("done");}catch(he){if(V.signal.aborted)return;let xe=he instanceof Error?he.message:"Unknown error";d(xe),o("partial_error");}finally{C.current=false;}},[]),W=useRef(false);return useEffect(()=>(W.current=true,C.current||U(),()=>{W.current=false,queueMicrotask(()=>{W.current||(x.current?.abort(),R.current?.destroy(),S.current&&cancelAnimationFrame(S.current));});}),[U]),{state:n,totalLines:a,getLine:K,error:i,progress:b,prefetchRange:D}}a(dn,"useNdjsonStream");var gr=a(e=>{let{state:n,totalLines:o,getLine:a,error:l,progress:i,prefetchRange:d}=dn(e),{mode:b}=useTheme(),w=useCallback(h=>{d(h.startIndex,h.endIndex);},[d]),k=useCallback(h=>{let T=a(h);if(!T)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 z,r=false;try{z=JSON.parse(T);}catch{r=true;}return r?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:T}):jsx("div",{className:"select-text",children:jsx(JsonView,{data:z,style:b==="dark"?pr:hr,shouldExpandNode:allExpanded,clickToExpandNode:true})})},[a,b]),P=useRef(false);return useEffect(()=>{o>0&&!P.current&&(P.current=true,d(0,50));},[o,d]),n==="idle"||n==="loading"||n==="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"}),n==="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:[n==="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:l})}),jsx("div",{className:"flex-1 min-h-0",children:jsx(Virtuoso,{totalCount:o,itemContent:k,rangeChanged:w,increaseViewportBy:300,defaultItemHeight:40,style:{height:"100%"}})})]})},"NdjsonDriver");var pn=memo(a(function({extension:n,blob:o,path:a,buffer:l,stream:i,csvLabels:d,onCsvRetry:b,not_supported_message:w=" Sorry, this file type isn\u2019t supported yet."}){let k=n.toLocaleLowerCase().trim(),P;if(a?P=a:o&&(P=URL.createObjectURL(o)),["csv","tsv","psv","dsv"].includes(k))return jsx(dr,{url:P,blob:o,stream:i,labels:d,onRetry:b});if(["ndjson","jsonl"].includes(k))return jsx(gr,{url:P,blob:o,stream:i});if(P){if(["jpeg","jpg","png","gif","bmp","ico","svg","tiff","webp"].includes(k))return jsx(Or,{url:P});if(["aac","ac3","aiff","amr","dts","flac","m4a","mp3","ogg","opus","wav","wma"].includes(k))return jsx(Wr,{url:P});if(["3gp","avi","dv","flv","m2ts","m4v","mkv","mov","mp4","mpeg","mpg","mts","ogv","vob","webm"].includes(k))return jsx(Kr,{url:P});if(n==="pdf")return jsx(er,{url:P});if(k==="json")return jsx(cn,{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(k))return jsx(Gr,{url:P,extension:k})}return k==="docx"?jsx(Ur,{url:P,blob:o}):jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(rb,{className:"mx-5",children:jsx(_a,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:w})})})},"Driver"));var np=a(e=>jsx("div",{className:"h-full w-full",children:jsx(pn,{...e})}),"FileViewer");var mn=250,mp=a(({text:e,speed:n=50,onDone:o,markdown:a$1=false,markdownComponents:l={},className:i,...d})=>{let[b,w]=useState(""),k=useRef(null),P=useRef(null);return useEffect(()=>{let h=false;if(n>0){w(""),k.current=performance.now();let T=a(z=>{if(h||!k.current)return;let r=z-k.current,R=r/n>mn?n/2:n,x=r/n>mn?1.5:1,E=Math.floor(r/R*x);if(E>=e.length){w(e),h=true,o?.();return}w(e.slice(0,E)),P.current=requestAnimationFrame(T);},"tick");P.current=requestAnimationFrame(T);}else w(e),o?.();return ()=>{P.current&&cancelAnimationFrame(P.current);}},[e,n,o]),a$1?jsx("div",{className:i,children:jsx(Fo,{remarkPlugins:[Bo],components:l,...d,children:b})}):jsx(_a,{className:i,...d,children:b})},"Typewriter");var Ua={timeout:2e3,message:"Copied!"},Mp=a(({text:e,children:n,format:o="text/plain",tooltip:a$1,positions:l=["top"],className:i})=>{let[d,b]=useState(false),w=useRef(null),k={...Ua,...a$1},P=Array.isArray(l)?l[0]:l,h=a(async()=>{"clipboard"in navigator?await navigator.clipboard.writeText(e):Ha(e,{format:o}),b(true),w.current&&clearTimeout(w.current),w.current=setTimeout(()=>b(false),k.timeout);},"handleCopy");return useEffect(()=>()=>{w.current&&clearTimeout(w.current);},[]),jsx(Popover,{padding:6,positions:l,isOpen:d,align:"center",onClickOutside:()=>b(false),content:!!a$1?.message&&jsx(Eb,{className:i,$position:P,$offset:6,children:a$1.message}),containerStyle:{zIndex:"9999"},children:jsx("div",{className:"inline-block",onMouseLeave:()=>b(false),children:n({copy:h})})})},"CopyToClipboard");var bn=a(e=>new Date(e?Array.isArray(e)?e[1]||e[0]||new Date:e:new Date),"getInitValue"),Gt=a((e,n)=>{let o;if(n){let l=parse(e||"",n,new Date);if(isValid(l)&&getYear(l)>=1970)return l}let a=new Date(e||"");return isNaN(a.getTime())?o:a},"parseDate"),ti=a((e,n)=>{let o=e?Gt(e,n):void 0;return o&&n?format(o,n):e},"renderDate"),Op=a(({value:e,range:n,inline:o=false,minDate:a=new Date(getYear(new Date)-5,0,1),maxDate:l=new Date(getYear(new Date)+5,11,31),format:i="dd.MM.yyyy",onChange:d,...b})=>{let[w,k]=useState(getMonth(bn(e))),[P,h]=useState(getYear(bn(e))),T=useMemo(()=>{if(e){if(Array.isArray(e)){let r=Gt(e[0],i),R=Gt(e[1],i);return [r,R]}return Gt(e,i)}},[e]),z=useCallback(r=>{if(n){let R=!!(T&&Array.isArray(T)&&T[0]),x=!!(T&&Array.isArray(T)&&T[1]);!R||R&&x?d?.([r.toString(),""]):R&&!x&&(r<T[0]?d?.([r.toString(),T[0].toString()]):d?.([T[0].toString(),r.toString()]));}else d?.(r.toString());},[n,T,d]);return o?jsx(vn,{month:w,year:P,minDate:a,maxDate:l,selectedDate:T,onSelectDate:z,onChangeMonth:k,onChangeYear:h}):n?jsx(ri,{range:true,value:e,onChange:d,...b}):jsx(ni,{value:e,onChange:d,minDate:a,maxDate:l,month:w,year:P,selectedDate:T,onChangeMonth:k,onChangeYear:h,onSelectDate:z,formatStr:i,...b})},"DatePicker"),ri=a(({minDate:e,maxDate:n,value:o,onChange:a})=>null,"DatePickerGroupInput"),ni=a(({placeholder:e,value:n,onChange:o,inputProps:a,...l})=>{let[i,d]=useState(false),b=y(),w=useCallback(()=>{d(false);},[]);return jsx(Popover,{positions:["bottom","top","right","left"],align:"start",isOpen:i,onClickOutside:()=>d(false),content:jsx(rb,{children:jsx(vn,{...l,onClose:w})}),containerStyle:{zIndex:`${b.zIndex.popover}`},children:jsx("div",{onClick:()=>d(true),children:jsx(mb,{...a,placeholder:e,value:ti(n,l.formatStr),onChange:k=>o?.(k.target.value)})})})},"DatePickerInput"),vn=a(({month:e,year:n,selectedDate:o,minDate:a,maxDate:l,onSelectDate:i,onChangeMonth:d,onChangeYear:b,onClose:w})=>{let k=useMemo(()=>new Array(12).fill(null).map((S,C)=>{let D=new Date(0,C);return {value:C+1,inputDisplay:format(D,"MMMM")}}),[]),P=useMemo(()=>{let S=getYear(a),D=getYear(l)-S+1;return new Array(D).fill(null).map((K,U)=>{let W=S+U;return {value:W,inputDisplay:W.toString()}})},[a,l]),h=useMemo(()=>new Array(7).fill(null).map((S,C)=>{let D=startOfWeek(new Date,{weekStartsOn:C});return format(D,"EEE")}),[]),T=useMemo(()=>{let S=startOfMonth(new Date(n,e)),C=endOfMonth(new Date(n,e)),D=getDay(S)===0?S:previousSunday(S),K=getDay(C)===6?C:nextSaturday(C),U=differenceInDays(K,D),W=differenceInDays(S,D);return new Array(U+1).fill(null).map((V,ae)=>new Date(n,e,ae-W+1))},[e,n]),z$1=useCallback(()=>{e===0?(b(n-1),d(11)):d(e-1);},[e,n]),r=useCallback(()=>{e===11?(b(n+1),d(0)):d(e+1);},[e,n]),R=useMemo(()=>a?!(n<getYear(a)||n===getYear(a)&&e<=getMonth(a)):true,[e,n,a]),x=useMemo(()=>l?!(n>getYear(l)||n===getYear(l)&&e>=getMonth(l)):true,[e,n,l]),E=useCallback(S=>{S.stopPropagation();},[]);return jsxs("div",{className:"flex flex-col date-picker-calendar",onClick:E,children:[jsxs("div",{className:"flex justify-center items-center gap-2 pb-3",children:[R&&jsx(z,{size:"small",variant:"empty",icon:jsx(G,{}),onClick:z$1}),jsxs("div",{className:"flex-1 flex justify-center gap-1",children:[jsx(kb,{placeholder:"",hasBorder:false,selected:e+1,options:k,onSelect:S=>d(S-1),maxWidth:150,maxHeight:300}),jsx(kb,{placeholder:"",hasBorder:false,selected:n,options:P,onSelect:S=>b(S),maxWidth:100,maxHeight:300})]}),x&&jsx(z,{size:"small",variant:"empty",icon:jsx(H,{}),onClick:r})]}),jsx("div",{className:"grid grid-cols-7 gap-2",children:h.map(S=>jsx("div",{className:"text-center",children:S},S))}),jsx("div",{className:"grid grid-cols-7 gap-2 mt-2",children:T.map(S=>{let C=getMonth(S)===e,D=format(S,"yyyy-MM-dd")===format(new Date,"yyyy-MM-dd"),K=o&&(Array.isArray(o)&&(o[0]&&format(S,"yyyy-MM-dd")===format(o[0],"yyyy-MM-dd")||o[1]&&format(S,"yyyy-MM-dd")===format(o[1],"yyyy-MM-dd"))||!Array.isArray(o)&&format(S,"yyyy-MM-dd")===format(o,"yyyy-MM-dd")),U=o&&Array.isArray(o)&&o[0]&&o[1]&&S>o[0]&&S<o[1],W=a&&differenceInDays(S,a)<0||l&&differenceInDays(S,l)>0||!C;return jsx(oi,{date:S,isCurrentMonth:C,isCurrentDay:D,isSelected:!!K,isInRange:!!U,isDisabled:!!W,onSelectDate:V=>{i(V),w?.();}},S.toISOString())})})]})},"DatePickerCalendar"),oi=a(({date:e,isCurrentMonth:n,isCurrentDay:o,isSelected:a$1,isInRange:l,isDisabled:i,onSelectDate:d})=>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":l?"bg-blue-100 dark:bg-blue-900/30":o?"text-blue-500":n?"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(w=>{i||d(e);},"handleClick"),children:format(e,"d")}),"CalendarDay");var si=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"),li=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"),ci=a(e=>{switch(e){case "bottom":return "translate-y-4";case "top":default:return "-translate-y-4"}},"getTransitionStarting"),kn=a(({id:e,color:n="default",message:o,duration:a,transitionDirection:l,cancelable:i=true,onClose:d})=>{let[b,w]=useState(false),[k,P]=useState(false),h=useRef(null),T=useCallback(()=>{w(true),h.current=setTimeout(()=>{d(e);},300);},[e,d]);return useEffect(()=>{if(P(true),a&&a<1/0){let z=setTimeout(()=>{T();},a);return ()=>clearTimeout(z)}},[a,T]),useEffect(()=>()=>{h.current&&clearTimeout(h.current);},[]),jsx("div",{className:`max-w-xs
|
|
275
|
+
animation: ${Sa} 0.6s linear infinite;
|
|
276
|
+
`);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},dn=a(({url:e})=>{let[n,o]=useState(null),[a,s]=useState(true),[i,c]=useState(null),{mode:f}=useTheme();return useEffect(()=>{let v=new AbortController;return s(true),c(null),o(null),fetch(e,{signal:v.signal}).then(k=>{if(!k.ok)throw new Error(`HTTP ${k.status}: ${k.statusText}`);return k.text()}).then(k=>{try{o(JSON.parse(k));}catch{c("Invalid JSON");}}).catch(k=>{k instanceof Error&&k.name==="AbortError"||c(k instanceof Error?k.message:"Failed to load");}).finally(()=>{v.signal.aborted||s(false);}),()=>v.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:n,style:f==="dark"?fr:hr,shouldExpandNode:allExpanded,clickToExpandNode:true})})},"JsonDriver");function Ea(e){let n=[],o=0;for(let a=0;a<e.length;a++){let s=e[a];if(s===`
|
|
277
|
+
`){let i=e.slice(o,a).replace(/\r$/,"");i.trim()&&n.push(i),o=a+1;}else if(s==="\r"&&e[a+1]!==`
|
|
278
|
+
`){let i=e.slice(o,a);i.trim()&&n.push(i),o=a+1;}}return [n,e.slice(o)]}a(Ea,"splitLines");function Ra(e,n){return e.stream?Promise.resolve(e.stream):e.blob?Promise.resolve(e.blob.stream()):e.url?fetch(e.url,{signal:n}).then(o=>{if(!o.ok)throw new Error(`HTTP ${o.status}`);return o.body}):Promise.reject(new Error("No source provided"))}a(Ra,"resolveStream");function un(e){let[n,o]=useState("idle"),[a,s]=useState(0),[i,c]=useState(null),[f,v]=useState(0),[k,P]=useState(0),h=useRef(e),T=useRef(0),z=useRef(0),r=useRef(new mt(10)),R=useRef(null),x=useRef(null),E=useRef(new Set),S=useRef(null),C=useRef(false),D=useCallback(async(V,ae)=>{let pe=R.current;if(!pe)return;let fe=Math.max(0,Math.floor(V/1e3)-2),xe=Math.min(T.current-1,Math.floor(ae/1e3)+2),ce=false;for(let A=fe;A<=xe;A++)if(r.current.get(A)===void 0&&!E.current.has(A)){E.current.add(A);try{let F=await pe.get(A);F&&(r.current.set(A,F),ce=!0);}finally{E.current.delete(A);}}ce&&P(A=>A+1);},[]),K=useCallback(V=>{let ae=Math.floor(V/1e3),pe=V%1e3;return r.current.get(ae)?.[pe]},[k]),U=useCallback(async()=>{C.current=true;let V=new AbortController;x.current=V,await R.current?.destroy();let ae=await Ht();R.current=ae,T.current=0,z.current=0,r.current.clear(),s(0),c(null),v(0),o("loading");let pe=h.current;try{let fe=await Ra(pe,V.signal);o("streaming");let xe=fe.getReader(),ce=new TextDecoder("utf-8"),A="",F=[],de=0,j=0,G=pe.blob?.size||0;for(;;){if(V.signal.aborted)return;let{done:te,value:re}=await xe.read();if(te)break;de+=re.byteLength,G&&v(de/G),A+=ce.decode(re,{stream:!0});let[he,ue]=Ea(A);A=ue;for(let Q of he)if(F.push(Q),F.length>=1e3){let O=T.current;await ae.set(O,F),O<3&&r.current.set(O,F),T.current+=1,j+=F.length,F=[],z.current=j,S.current||(S.current=requestAnimationFrame(()=>{s(z.current),S.current=null;}));}}A.trim()&&F.push(A.trim()),F.length>0&&(await ae.set(T.current,F),T.current+=1,j+=F.length),S.current&&(cancelAnimationFrame(S.current),S.current=null),s(j),v(1),o("done");}catch(fe){if(V.signal.aborted)return;let xe=fe instanceof Error?fe.message:"Unknown error";c(xe),o("partial_error");}finally{C.current=false;}},[]),W=useRef(false);return useEffect(()=>(W.current=true,C.current||U(),()=>{W.current=false,queueMicrotask(()=>{W.current||(x.current?.abort(),R.current?.destroy(),S.current&&cancelAnimationFrame(S.current));});}),[U]),{state:n,totalLines:a,getLine:K,error:i,progress:f,prefetchRange:D}}a(un,"useNdjsonStream");var br=a(e=>{let{state:n,totalLines:o,getLine:a,error:s,progress:i,prefetchRange:c}=un(e),{mode:f}=useTheme(),v=useCallback(h=>{c(h.startIndex,h.endIndex);},[c]),k=useCallback(h=>{let T=a(h);if(!T)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 z,r=false;try{z=JSON.parse(T);}catch{r=true;}return r?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:T}):jsx("div",{className:"select-text",children:jsx(JsonView,{data:z,style:f==="dark"?fr:hr,shouldExpandNode:allExpanded,clickToExpandNode:true})})},[a,f]),P=useRef(false);return useEffect(()=>{o>0&&!P.current&&(P.current=true,c(0,50));},[o,c]),n==="idle"||n==="loading"||n==="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"}),n==="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:[n==="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:k,rangeChanged:v,increaseViewportBy:300,defaultItemHeight:40,style:{height:"100%"}})})]})},"NdjsonDriver");var fn=memo(a(function({extension:n,blob:o,path:a,buffer:s,stream:i,csvLabels:c,onCsvRetry:f,not_supported_message:v=" Sorry, this file type isn\u2019t supported yet."}){let k=n.toLocaleLowerCase().trim(),P;if(a?P=a:o&&(P=URL.createObjectURL(o)),["csv","tsv","psv","dsv"].includes(k))return jsx(ur,{url:P,blob:o,stream:i,labels:c,onRetry:f});if(["ndjson","jsonl"].includes(k))return jsx(br,{url:P,blob:o,stream:i});if(P){if(["jpeg","jpg","png","gif","bmp","ico","svg","tiff","webp"].includes(k))return jsx(Hr,{url:P});if(["aac","ac3","aiff","amr","dts","flac","m4a","mp3","ogg","opus","wav","wma"].includes(k))return jsx($r,{url:P});if(["3gp","avi","dv","flv","m2ts","m4v","mkv","mov","mp4","mpeg","mpg","mts","ogv","vob","webm"].includes(k))return jsx(Qr,{url:P});if(n==="pdf")return jsx(tr,{url:P});if(k==="json")return jsx(dn,{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(k))return jsx(Jr,{url:P,extension:k})}return k==="docx"?jsx(qr,{url:P,blob:o}):jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(rb,{className:"mx-5",children:jsx(_a,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:v})})})},"Driver"));var ap=a(e=>jsx("div",{className:"h-full w-full",children:jsx(fn,{...e})}),"FileViewer");var gn=250,bp=a(({text:e,speed:n=50,onDone:o,markdown:a$1=false,markdownComponents:s={},className:i,...c})=>{let[f,v]=useState(""),k=useRef(null),P=useRef(null);return useEffect(()=>{let h=false;if(n>0){v(""),k.current=performance.now();let T=a(z=>{if(h||!k.current)return;let r=z-k.current,R=r/n>gn?n/2:n,x=r/n>gn?1.5:1,E=Math.floor(r/R*x);if(E>=e.length){v(e),h=true,o?.();return}v(e.slice(0,E)),P.current=requestAnimationFrame(T);},"tick");P.current=requestAnimationFrame(T);}else v(e),o?.();return ()=>{P.current&&cancelAnimationFrame(P.current);}},[e,n,o]),a$1?jsx("div",{className:i,children:jsx(Bo,{remarkPlugins:[Oo],components:s,...c,children:f})}):jsx(_a,{className:i,...c,children:f})},"Typewriter");var Ya={timeout:2e3,message:"Copied!"},Tp=a(({text:e,children:n,format:o="text/plain",tooltip:a$1,positions:s=["top"],className:i})=>{let[c,f]=useState(false),v=useRef(null),k={...Ya,...a$1},P=Array.isArray(s)?s[0]:s,h=a(async()=>{"clipboard"in navigator?await navigator.clipboard.writeText(e):$a(e,{format:o}),f(true),v.current&&clearTimeout(v.current),v.current=setTimeout(()=>f(false),k.timeout);},"handleCopy");return useEffect(()=>()=>{v.current&&clearTimeout(v.current);},[]),jsx(Popover,{padding:6,positions:s,isOpen:c,align:"center",onClickOutside:()=>f(false),content:!!a$1?.message&&jsx(Eb,{className:i,$position:P,$offset:6,children:a$1.message}),containerStyle:{zIndex:"9999"},children:jsx("div",{className:"inline-block",onMouseLeave:()=>f(false),children:n({copy:h})})})},"CopyToClipboard");var vn=a(e=>new Date(e?Array.isArray(e)?e[1]||e[0]||new Date:e:new Date),"getInitValue"),Jt=a((e,n)=>{let o;if(n){let s=parse(e||"",n,new Date);if(isValid(s)&&getYear(s)>=1970)return s}let a=new Date(e||"");return isNaN(a.getTime())?o:a},"parseDate"),ni=a((e,n)=>{let o=e?Jt(e,n):void 0;return o&&n?format(o,n):e},"renderDate"),Wp=a(({value:e,range:n,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:c,...f})=>{let[v,k]=useState(getMonth(vn(e))),[P,h]=useState(getYear(vn(e))),T=useMemo(()=>{if(e){if(Array.isArray(e)){let r=Jt(e[0],i),R=Jt(e[1],i);return [r,R]}return Jt(e,i)}},[e]),z=useCallback(r=>{if(n){let R=!!(T&&Array.isArray(T)&&T[0]),x=!!(T&&Array.isArray(T)&&T[1]);!R||R&&x?c?.([r.toString(),""]):R&&!x&&(r<T[0]?c?.([r.toString(),T[0].toString()]):c?.([T[0].toString(),r.toString()]));}else c?.(r.toString());},[n,T,c]);return o?jsx(wn,{month:v,year:P,minDate:a,maxDate:s,selectedDate:T,onSelectDate:z,onChangeMonth:k,onChangeYear:h}):n?jsx(oi,{range:true,value:e,onChange:c,...f}):jsx(ai,{value:e,onChange:c,minDate:a,maxDate:s,month:v,year:P,selectedDate:T,onChangeMonth:k,onChangeYear:h,onSelectDate:z,formatStr:i,...f})},"DatePicker"),oi=a(({minDate:e,maxDate:n,value:o,onChange:a})=>null,"DatePickerGroupInput"),ai=a(({placeholder:e,value:n,onChange:o,inputProps:a,...s})=>{let[i,c]=useState(false),f=y(),v=useCallback(()=>{c(false);},[]);return jsx(Popover,{positions:["bottom","top","right","left"],align:"start",isOpen:i,onClickOutside:()=>c(false),content:jsx(rb,{children:jsx(wn,{...s,onClose:v})}),containerStyle:{zIndex:`${f.zIndex.popover}`},children:jsx("div",{onClick:()=>c(true),children:jsx(mb,{...a,placeholder:e,value:ni(n,s.formatStr),onChange:k=>o?.(k.target.value)})})})},"DatePickerInput"),wn=a(({month:e,year:n,selectedDate:o,minDate:a,maxDate:s,onSelectDate:i,onChangeMonth:c,onChangeYear:f,onClose:v})=>{let k=useMemo(()=>new Array(12).fill(null).map((S,C)=>{let D=new Date(0,C);return {value:C+1,inputDisplay:format(D,"MMMM")}}),[]),P=useMemo(()=>{let S=getYear(a),D=getYear(s)-S+1;return new Array(D).fill(null).map((K,U)=>{let W=S+U;return {value:W,inputDisplay:W.toString()}})},[a,s]),h=useMemo(()=>new Array(7).fill(null).map((S,C)=>{let D=startOfWeek(new Date,{weekStartsOn:C});return format(D,"EEE")}),[]),T=useMemo(()=>{let S=startOfMonth(new Date(n,e)),C=endOfMonth(new Date(n,e)),D=getDay(S)===0?S:previousSunday(S),K=getDay(C)===6?C:nextSaturday(C),U=differenceInDays(K,D),W=differenceInDays(S,D);return new Array(U+1).fill(null).map((V,ae)=>new Date(n,e,ae-W+1))},[e,n]),z$1=useCallback(()=>{e===0?(f(n-1),c(11)):c(e-1);},[e,n]),r=useCallback(()=>{e===11?(f(n+1),c(0)):c(e+1);},[e,n]),R=useMemo(()=>a?!(n<getYear(a)||n===getYear(a)&&e<=getMonth(a)):true,[e,n,a]),x=useMemo(()=>s?!(n>getYear(s)||n===getYear(s)&&e>=getMonth(s)):true,[e,n,s]),E=useCallback(S=>{S.stopPropagation();},[]);return jsxs("div",{className:"flex flex-col date-picker-calendar",onClick:E,children:[jsxs("div",{className:"flex justify-center items-center gap-2 pb-3",children:[R&&jsx(z,{size:"small",variant:"empty",icon:jsx(G,{}),onClick:z$1}),jsxs("div",{className:"flex-1 flex justify-center gap-1",children:[jsx(kb,{placeholder:"",hasBorder:false,selected:e+1,options:k,onSelect:S=>c(S-1),maxWidth:150,maxHeight:300}),jsx(kb,{placeholder:"",hasBorder:false,selected:n,options:P,onSelect:S=>f(S),maxWidth:100,maxHeight:300})]}),x&&jsx(z,{size:"small",variant:"empty",icon:jsx(H,{}),onClick:r})]}),jsx("div",{className:"grid grid-cols-7 gap-2",children:h.map(S=>jsx("div",{className:"text-center",children:S},S))}),jsx("div",{className:"grid grid-cols-7 gap-2 mt-2",children:T.map(S=>{let C=getMonth(S)===e,D=format(S,"yyyy-MM-dd")===format(new Date,"yyyy-MM-dd"),K=o&&(Array.isArray(o)&&(o[0]&&format(S,"yyyy-MM-dd")===format(o[0],"yyyy-MM-dd")||o[1]&&format(S,"yyyy-MM-dd")===format(o[1],"yyyy-MM-dd"))||!Array.isArray(o)&&format(S,"yyyy-MM-dd")===format(o,"yyyy-MM-dd")),U=o&&Array.isArray(o)&&o[0]&&o[1]&&S>o[0]&&S<o[1],W=a&&differenceInDays(S,a)<0||s&&differenceInDays(S,s)>0||!C;return jsx(ii,{date:S,isCurrentMonth:C,isCurrentDay:D,isSelected:!!K,isInRange:!!U,isDisabled:!!W,onSelectDate:V=>{i(V),v?.();}},S.toISOString())})})]})},"DatePickerCalendar"),ii=a(({date:e,isCurrentMonth:n,isCurrentDay:o,isSelected:a$1,isInRange:s,isDisabled:i,onSelectDate:c})=>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":n?"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(v=>{i||c(e);},"handleClick"),children:format(e,"d")}),"CalendarDay");var ci=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"),di=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"),ui=a(e=>{switch(e){case "bottom":return "translate-y-4";case "top":default:return "-translate-y-4"}},"getTransitionStarting"),Sn=a(({id:e,color:n="default",message:o,duration:a,transitionDirection:s,cancelable:i=true,onClose:c})=>{let[f,v]=useState(false),[k,P]=useState(false),h=useRef(null),T=useCallback(()=>{v(true),h.current=setTimeout(()=>{c(e);},300);},[e,c]);return useEffect(()=>{if(P(true),a&&a<1/0){let z=setTimeout(()=>{T();},a);return ()=>clearTimeout(z)}},[a,T]),useEffect(()=>()=>{h.current&&clearTimeout(h.current);},[]),jsx("div",{className:`max-w-xs
|
|
279
279
|
border
|
|
280
280
|
w-full
|
|
281
281
|
text-sm
|
|
@@ -283,8 +283,8 @@ self.onmessage = async (e) => {
|
|
|
283
283
|
transition-all
|
|
284
284
|
ease-in-out
|
|
285
285
|
duration-300
|
|
286
|
-
${
|
|
287
|
-
${k?"translate-y-0":
|
|
288
|
-
${
|
|
289
|
-
export{
|
|
286
|
+
${f||!k?"opacity-0":"opacity-100"}
|
|
287
|
+
${k?"translate-y-0":ui(s)}
|
|
288
|
+
${ci(n)} ${di(n)}`,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:T,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 fi=a((e,n)=>{switch(e){case "top-right":return `top-${n} right-${n}`;case "top-left":return `top-${n} left-${n}`;case "bottom-right":return `bottom-${n} right-${n}`;case "bottom-left":return `bottom-${n} left-${n}`;default:return `top-${n} right-${n}`}},"getPosition"),tf=a(({items:e,onClose:n,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 ${fi(o,a)}`,children:e.map(i=>jsx(Sn,{transitionDirection:s,...i,onClose:n},i.id))})},"ToastsList");var pf=a(({onChange:e,disabled:n,multiple:o,dragText:a$1="Drop file to upload",className:s})=>{let[i,c]=useState(false),[f,v]=useState(false),[k,P]=useState(false);return useEffect(()=>{if(n)return;let h=0,T=a(x=>{x.preventDefault(),x.dataTransfer?.types.includes("Files")&&(h++,h===1&&c(true));},"handleDragEnter"),z=a(x=>{x.preventDefault(),x.dataTransfer?.types.includes("Files")&&(h--,h===0&&c(false));},"handleDragLeave"),r=a(x=>{x.preventDefault();},"handleDragOver"),R=a(async x=>{if(x.preventDefault(),h=0,c(false),!!x.dataTransfer?.types.includes("Files")&&!f)try{v(!0);let E=await nb(x.dataTransfer.items);e(o?E:E.length>0?[E[0]]:[]);}catch(E){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:",E);}finally{v(false);}},"handleDrop");return document.addEventListener("dragenter",T),document.addEventListener("dragleave",z),document.addEventListener("dragover",r),document.addEventListener("drop",R),()=>{document.removeEventListener("dragenter",T),document.removeEventListener("dragleave",z),document.removeEventListener("dragover",r),document.removeEventListener("drop",R);}},[n,f,o,e]),useEffect(()=>{P(true);},[]),k&&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");
|
|
289
|
+
export{ac as Container,Tp as CopyToClipboard,Wp as DatePicker,wn as DatePickerCalendar,ap as FileViewer,Wc as FullscreenCard,pf as GlobalDropZone,fo as Graph2D,$l as PageContent,Fl as PageLayout,uc as SplitterLayout,zn as Styled,Nn as StyledContainer,Rn as StyledMain,Yl as SubNav,tf as ToastsList,bp as Typewriter};//# sourceMappingURL=index.mjs.map
|
|
290
290
|
//# sourceMappingURL=index.mjs.map
|