@cyber-harbour/ui 2.1.26-beta.5 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import {a,w,x,u,c,l,z,Pa,pb,Ya,ma,Cb,y,kb,G,ib,H,lb}from'./chunk-5F7EBG5K.mjs';export{tb as Alert,A as AlertIcon,za as AndroidIcon,B as ApiIcon,C as ArrowCircleTopRightIcon,D as ArrowRightIcon,ia as BallsMenu,pb as Box,q as BreakpointProvider,E as BugReportIcon,Na as BurgerMenuIcon,sa as BusIcon,z as Button,F as CalendarIcon,ta as CarIcon,Kb as ChatField,ja as CheckIcon,vb as Checkbox,ka as ChevronDownIcon,G as ChevronLeftIcon,H as ChevronRightIcon,la as ChevronUpIcon,Oa as ClockIcon,I as CloseCircleIcon,J as ClosedLockIcon,Db as ContentLoader,fb as ContextMenu,gb as ContextMenuDelimiter,qa as CrossIcon,K as DataSetsIcon,L as DeepSearchIcon,M as DisabledVisibleIcon,N as DocsIcon,O as DownloadIcon,yb as Drawer,Ab as DrawerBody,zb as DrawerHeader,P as EditUserIcon,rb as EmptyData,Q as EnableVisibleIcon,R as EnterArrowLeftIcon,Ra as FaceSearchIcon,mb as FileField,xa as FileIcon,S as FiltersIcon,Ia as FlashIcon,nb as FlexContainer,ob as FlexItem,Ba as FolderAlertIcon,Ja as FolderInfoIcon,ab as Header,bb as HeaderDelimeter,cb as HeaderSection,T as HomepageIcon,Qa as ImageIcon,oa as InfoCircleFilledIcon,U as InfoCircleIcon,kb as Input,ya as IosIcon,ub as Label,qb as Line,wb as LinerProgress,Za as ListMenu,_a as ListMenuItem,$a as ListMenuSection,V as MapRadarIcon,ra as MaximizeIcon,Sa as MessageAsteriskIcon,Aa as MicrosoftIcon,Pa as MinusIcon,Fb as Modal,Hb as ModalBody,Ib as ModalFooter,Gb as ModalHeader,W as MoonIcon,X as OpenLockIcon,Y as OrganizationIcon,Eb as Overlay,eb as Pagination,Ea as PassportIcon,Z as PasswordFinderIcon,Ga as PencilIcon,_ as PhonebookIcon,va as PlaneIcon,ma as PlusIcon,Fa as PointIcon,$ as PrintIcon,aa as Profiler2Icon,ba as ProfilerIcon,Lb as ProgressLoader,Ca as RelationIcon,Da as RelationPointsIcon,Ka as RotateLeftIcon,La as RotateRightIcon,jb as RowActionsMenu,ca as SandBoxIcon,da as SearchIcon,ib as Select,wa as ShipIcon,Ua as Sidebar,Ta as SidebarContext,Wa as SidebarDelimeter,Va as SidebarItem,Xa as SidebarSection,ea as StatisticIcon,Cb as StyledTooltipContent,fa as SunIcon,xb as Switch,db as Table,sb as Tag,Jb as TailwindExample,s as ThemeProvider,Bb as Tooltip,Ya as Typography,pa as UnfoldIcon,ga as UpRightArrowCircleIcon,Ma as UploadImageIcon,Ha as UserInCircleIcon,na as UsersIcon,ha as VectorIcon,ua as WayIcon,f as convertPaletteToRem,w as createComponent,x as createStyledComponent,p as darkTheme,o as darkThemePx,t as destructSpaceProps,u as generatePropertySpaceStyle,k as getBreakpoint,h as getButtonSizeStyles,g as getButtonStyles,i as getInputStyles,v as getResponsiveProps,j as getTypographyStyles,l as hexToRgba,n as lightTheme,m as lightThemePx,e as propToRem,c as pxToRem,d as remToPx,b as resolveThemeColor,r as useBreakpoint,hb as useContextMenuControl,y as useTheme}from'./chunk-5F7EBG5K.mjs';import mo,{styled,useTheme}from'styled-components';export{ServerStyleSheet,StyleSheetManager}from'styled-components';import {jsx,jsxs}from'react/jsx-runtime';import dr,{useState,useRef,useCallback,useEffect,Fragment,forwardRef,useMemo,useImperativeHandle,useLayoutEffect,memo}from'react';import Co from'lodash.clonedeep';import {scaleOrdinal,schemeCategory10,forceSimulation,forceLink,forceManyBody,forceX,forceY,forceCenter,forceCollide}from'd3';import go from'react-content-loader';import {renderAsync}from'docx-preview';import Uo from'lodash.throttle';import Vo from'@uiw/react-codemirror';import {vscodeLight}from'@uiw/codemirror-theme-vscode';import {javascript}from'@codemirror/lang-javascript';import {json}from'@codemirror/lang-json';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 nn from'react-markdown';import an from'remark-gfm';import {TableVirtuoso}from'react-virtuoso';import Lt from'papaparse';import On 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 zs=a(({children:r,className:o})=>jsx(Qr,{className:o,children:r}),"PageLayout"),Qr=styled.div`
1
+ import {a,w,x,u,c,l,z,Pa,pb,Ya,ma,Cb,y,kb,G,ib,H,lb}from'./chunk-5F7EBG5K.mjs';export{tb as Alert,A as AlertIcon,za as AndroidIcon,B as ApiIcon,C as ArrowCircleTopRightIcon,D as ArrowRightIcon,ia as BallsMenu,pb as Box,q as BreakpointProvider,E as BugReportIcon,Na as BurgerMenuIcon,sa as BusIcon,z as Button,F as CalendarIcon,ta as CarIcon,Kb as ChatField,ja as CheckIcon,vb as Checkbox,ka as ChevronDownIcon,G as ChevronLeftIcon,H as ChevronRightIcon,la as ChevronUpIcon,Oa as ClockIcon,I as CloseCircleIcon,J as ClosedLockIcon,Db as ContentLoader,fb as ContextMenu,gb as ContextMenuDelimiter,qa as CrossIcon,K as DataSetsIcon,L as DeepSearchIcon,M as DisabledVisibleIcon,N as DocsIcon,O as DownloadIcon,yb as Drawer,Ab as DrawerBody,zb as DrawerHeader,P as EditUserIcon,rb as EmptyData,Q as EnableVisibleIcon,R as EnterArrowLeftIcon,Ra as FaceSearchIcon,mb as FileField,xa as FileIcon,S as FiltersIcon,Ia as FlashIcon,nb as FlexContainer,ob as FlexItem,Ba as FolderAlertIcon,Ja as FolderInfoIcon,ab as Header,bb as HeaderDelimeter,cb as HeaderSection,T as HomepageIcon,Qa as ImageIcon,oa as InfoCircleFilledIcon,U as InfoCircleIcon,kb as Input,ya as IosIcon,ub as Label,qb as Line,wb as LinerProgress,Za as ListMenu,_a as ListMenuItem,$a as ListMenuSection,V as MapRadarIcon,ra as MaximizeIcon,Sa as MessageAsteriskIcon,Aa as MicrosoftIcon,Pa as MinusIcon,Fb as Modal,Hb as ModalBody,Ib as ModalFooter,Gb as ModalHeader,W as MoonIcon,X as OpenLockIcon,Y as OrganizationIcon,Eb as Overlay,eb as Pagination,Ea as PassportIcon,Z as PasswordFinderIcon,Ga as PencilIcon,_ as PhonebookIcon,va as PlaneIcon,ma as PlusIcon,Fa as PointIcon,$ as PrintIcon,aa as Profiler2Icon,ba as ProfilerIcon,Lb as ProgressLoader,Ca as RelationIcon,Da as RelationPointsIcon,Ka as RotateLeftIcon,La as RotateRightIcon,jb as RowActionsMenu,ca as SandBoxIcon,da as SearchIcon,ib as Select,wa as ShipIcon,Ua as Sidebar,Ta as SidebarContext,Wa as SidebarDelimeter,Va as SidebarItem,Xa as SidebarSection,ea as StatisticIcon,Cb as StyledTooltipContent,fa as SunIcon,xb as Switch,db as Table,sb as Tag,Jb as TailwindExample,s as ThemeProvider,Bb as Tooltip,Ya as Typography,pa as UnfoldIcon,ga as UpRightArrowCircleIcon,Ma as UploadImageIcon,Ha as UserInCircleIcon,na as UsersIcon,ha as VectorIcon,ua as WayIcon,f as convertPaletteToRem,w as createComponent,x as createStyledComponent,p as darkTheme,o as darkThemePx,t as destructSpaceProps,u as generatePropertySpaceStyle,k as getBreakpoint,h as getButtonSizeStyles,g as getButtonStyles,i as getInputStyles,v as getResponsiveProps,j as getTypographyStyles,l as hexToRgba,n as lightTheme,m as lightThemePx,e as propToRem,c as pxToRem,d as remToPx,b as resolveThemeColor,r as useBreakpoint,hb as useContextMenuControl,y as useTheme}from'./chunk-5F7EBG5K.mjs';import mo,{styled,useTheme}from'styled-components';export{ServerStyleSheet,StyleSheetManager}from'styled-components';import {jsx,jsxs}from'react/jsx-runtime';import lr,{useState,useRef,useCallback,useEffect,Fragment,forwardRef,useMemo,useImperativeHandle,useLayoutEffect,memo}from'react';import Co from'lodash.clonedeep';import {scaleOrdinal,schemeCategory10,forceSimulation,forceLink,forceManyBody,forceX,forceY,forceCenter,forceCollide}from'd3';import go from'react-content-loader';import {renderAsync}from'docx-preview';import qo from'lodash.throttle';import Vo from'@uiw/react-codemirror';import {vscodeLight}from'@uiw/codemirror-theme-vscode';import {javascript}from'@codemirror/lang-javascript';import {json}from'@codemirror/lang-json';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 nn from'react-markdown';import an from'remark-gfm';import {TableVirtuoso}from'react-virtuoso';import Et from'papaparse';import On 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 zs=a(({children:r,className:o})=>jsx(Qr,{className:o,children:r}),"PageLayout"),Qr=styled.div`
2
2
  display: grid;
3
3
  min-height: 100dvh;
4
4
  position: relative;
@@ -38,32 +38,32 @@ import {a,w,x,u,c,l,z,Pa,pb,Ya,ma,Cb,y,kb,G,ib,H,lb}from'./chunk-5F7EBG5K.mjs';e
38
38
  width: 100%;
39
39
  min-width: 0;
40
40
  max-width: ${typeof o=="number"?c(o,r.baseSize):o||"100%"};
41
- `),{ignoreStyles:["padding-inline"]});var ho=20,fo="splitter_columns_widths",nr=a((r,o,n)=>{let a=localStorage.getItem(r);if(a)try{let u=JSON.parse(a);if(Array.isArray(u)&&u.length===o)return u}catch{}else if(n.length===o)return n;return Array(o).fill(100/o)},"getSavedWidths"),sc=a(({columns:r,initialWidths:o,layoutClassname:n="",splitterClassname:a="",minWidth:u=ho,storageKey:p=fo})=>{let[m,D]=useState(()=>nr(p,r.length,o)),k=useRef(null),C=useRef(null),S=useRef(u),x=useRef(m),T=useCallback(R=>{if(C.current===null||!k.current)return;let P=k.current.getBoundingClientRect(),v=P.width,X=R-P.left,A=[...x.current],te=C.current,re=te+1,me=A.slice(0,te).reduce((Se,B)=>Se+B,0),de=X/v*100-me,Me=A[te]+A[re]-de;de>=S.current&&Me>=S.current&&(A[te]=de,A[re]=Me,D(A),x.current=A);},[]),z=useCallback(R=>T(R.clientX),[T]),t=useCallback(R=>{R.preventDefault(),T(R.touches[0].clientX);},[T]),L=useCallback(()=>{C.current=null,localStorage.setItem(p,JSON.stringify(x.current)),document.removeEventListener("mousemove",z),document.removeEventListener("mouseup",L),document.removeEventListener("touchmove",t),document.removeEventListener("touchend",L);},[z,t,p]),N=useCallback(R=>P=>{P.preventDefault(),C.current=R,document.addEventListener("mousemove",z,{passive:false}),document.addEventListener("mouseup",L);},[z,L]),l=useCallback(R=>P=>{P.preventDefault(),C.current=R,document.addEventListener("touchmove",t,{passive:false}),document.addEventListener("touchend",L);},[t,L]);return useEffect(()=>{let R=nr(p,r.length,o);x.current=R,D(R);},[r.length,o,p]),jsx("div",{ref:k,className:`flex select-none ${n}`,children:r.map(({content:R,className:P},v)=>jsxs(Fragment,{children:[jsx("div",{className:P,style:{flex:`${m[v]} 1 0%`},children:R}),v<r.length-1&&jsx("div",{onMouseDown:N(v),onTouchStart:l(v),className:`hidden lg:flex! lg:sticky lg:top-0 border-s border-gray-200 ${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 border border-gray-200 text-gray-400 rounded-md cursor-col-resize hover:bg-gray-100",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"})]})})})]},`${v}`))})},"SplitterLayout");var yo=mo.div`
41
+ `),{ignoreStyles:["padding-inline"]});var ho=20,fo="splitter_columns_widths",or=a((r,o,n)=>{let a=localStorage.getItem(r);if(a)try{let p=JSON.parse(a);if(Array.isArray(p)&&p.length===o)return p}catch{}else if(n.length===o)return n;return Array(o).fill(100/o)},"getSavedWidths"),sc=a(({columns:r,initialWidths:o,layoutClassname:n="",splitterClassname:a="",minWidth:p=ho,storageKey:u=fo})=>{let[m,k]=useState(()=>or(u,r.length,o)),T=useRef(null),C=useRef(null),D=useRef(p),y=useRef(m),R=useCallback(E=>{if(C.current===null||!T.current)return;let S=T.current.getBoundingClientRect(),P=S.width,F=E-S.left,$=[...y.current],J=C.current,oe=J+1,ye=$.slice(0,J).reduce((A,U)=>A+U,0),fe=F/P*100-ye,ve=$[J]+$[oe]-fe;fe>=D.current&&ve>=D.current&&($[J]=fe,$[oe]=ve,k($),y.current=$);},[]),j=useCallback(E=>R(E.clientX),[R]),t=useCallback(E=>{E.preventDefault(),R(E.touches[0].clientX);},[R]),L=useCallback(()=>{C.current=null,localStorage.setItem(u,JSON.stringify(y.current)),document.removeEventListener("mousemove",j),document.removeEventListener("mouseup",L),document.removeEventListener("touchmove",t),document.removeEventListener("touchend",L);},[j,t,u]),w=useCallback(E=>S=>{S.preventDefault(),C.current=E,document.addEventListener("mousemove",j,{passive:false}),document.addEventListener("mouseup",L);},[j,L]),d=useCallback(E=>S=>{S.preventDefault(),C.current=E,document.addEventListener("touchmove",t,{passive:false}),document.addEventListener("touchend",L);},[t,L]);return useEffect(()=>{let E=or(u,r.length,o);y.current=E,k(E);},[r.length,o,u]),jsx("div",{ref:T,className:`flex select-none ${n}`,children:r.map(({content:E,className:S},P)=>jsxs(Fragment,{children:[jsx("div",{className:S,style:{flex:`${m[P]} 1 0%`},children:E}),P<r.length-1&&jsx("div",{onMouseDown:w(P),onTouchStart:d(P),className:`hidden lg:flex! lg:sticky lg:top-0 border-s border-gray-200 ${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 border border-gray-200 text-gray-400 rounded-md cursor-col-resize hover:bg-gray-100",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"})]})})})]},`${P}`))})},"SplitterLayout");var yo=mo.div`
42
42
  width: 100%;
43
43
  height: 100%;
44
44
  display: flex;
45
45
  align-items: center;
46
46
  justify-content: center;
47
- `,vo=a(({width:r=280,height:o=280})=>{let n=useTheme();return jsx(yo,{children:jsxs(go,{foregroundColor:n.contentLoader.foreground,backgroundColor:n.contentLoader.background,width:r,height:o,viewBox:"0 0 280 280",children:[jsx("path",{d:"m55 38-0.97266 0.22852 7.0801 30.092-18.355-20.979-0.75195 0.6582 19.596 22.395 0.43164 1.834 0.97266-0.22852 0.75195-0.6582-0.37695-0.42969 9.625-27.912-0.94531-0.32617-9.4375 27.371-0.10547-0.12109zm8 34-0.78516 0.61914 0.0957 0.12305-12.311 13.258 0.73242 0.67969 12.205-13.145 14.277 18.084 0.78516-0.61914-14.373-18.207 0.10547-0.11328zm15 19-0.48438 0.875 46.992 25.996 8e-3 4e-3 20.506 11.592-28.182 4.5449 0.15998 0.98819 29.418-4.7441 0.25 0.14062-12.555 24.143 0.88672 0.46094 13-25 15 25 26 30v18l-11 18 0.85352 0.52148 9.8008-16.039-4.6543 33.518 0.99023 0.13867 4.7793-34.408 7.2305 16.27 0.91406-0.40625-7.9141-17.807v-17.104l18 12.316 0.56445-0.82617-18.896-12.928-25.855-29.836-14.633-24.387 0.01562-0.02344h23.805v-1h-23.152l13.848-21.234 55.201-28.791-0.45898-0.88476 0.77734 0.62305 11.402-14.25 16.668-11.842-0.58008-0.81641-16.785 11.928-11.486 14.355-55.434 28.912-14.277 21.893-7.7617-27.166-0.96094 0.27344 7.7227 27.031-1.1191 0.17969-21.604-12.211zm140.43-12.912-6.957-17.338-0.92773 0.37305 6.957 17.338zm-6.957-17.338 0.72266 0.69336 16.232-16.896-0.7207-0.69336zm-3.4766 137.25 5 15 0.94922-0.31641-5-15zm-91-63-0.48047-0.87695-31 17 0.48047 0.87695zm-31 17 5 18 0.96289-0.26758-5-18zm0 0-0.70703-0.70703-12.898 12.898-17.881 9.9336 0.48633 0.875 18-10zm5 18-0.64062-0.76758-18 15 0.64062 0.76758z"}),jsx("circle",{cx:"229.92",cy:"63.7318",r:"5",transform:"rotate(173.661 229.92 63.7318)"}),jsx("circle",{cx:"227.711",cy:"43.8541",r:"5",transform:"rotate(173.661 227.711 43.8541)"}),jsx("circle",{cx:"211.478",cy:"60.7499",r:"5",transform:"rotate(173.661 211.478 60.7499)"}),jsx("circle",{cx:"218.434",cy:"78.0877",r:"5",transform:"rotate(173.661 218.434 78.0877)"}),jsx("circle",{cx:"246.705",cy:"51.8054",r:"5",transform:"rotate(173.661 246.705 51.8054)"}),jsx("circle",{cx:"42",cy:"48",r:"5"}),jsx("circle",{cx:"55",cy:"38",r:"5"}),jsx("circle",{cx:"73",cy:"43",r:"5"}),jsx("circle",{cx:"63",cy:"72",r:"5"}),jsx("circle",{cx:"50",cy:"86",r:"5"}),jsx("circle",{cx:"78",cy:"91",r:"5"}),jsx("circle",{cx:"73",cy:"165",r:"5"}),jsx("circle",{cx:"73",cy:"185",r:"5"}),jsx("circle",{cx:"91",cy:"170",r:"5"}),jsx("circle",{cx:"86",cy:"152",r:"5"}),jsx("circle",{cx:"148",cy:"130",r:"5"}),jsx("circle",{cx:"189",cy:"185",r:"5"}),jsx("circle",{cx:"163",cy:"107",r:"5"}),jsx("circle",{cx:"140",cy:"102",r:"5"}),jsx("circle",{cx:"117",cy:"135",r:"5"}),jsx("circle",{cx:"125",cy:"117",r:"5"}),jsx("circle",{cx:"208",cy:"198",r:"5"}),jsx("circle",{cx:"189",cy:"203",r:"5"}),jsx("circle",{cx:"198",cy:"221",r:"5"}),jsx("circle",{cx:"178",cy:"221",r:"5"}),jsx("circle",{cx:"184",cy:"239",r:"5"}),jsx("circle",{cx:"213",cy:"213",r:"5"}),jsx("circle",{cx:"173",cy:"130",r:"5"}),jsx("circle",{cx:"163",cy:"155",r:"5"}),jsx("circle",{cx:"135",cy:"155",r:"5"}),jsx("circle",{cx:"55",cy:"175",r:"5"})]})})},"GraphLoader"),ir=vo;var st=typeof window<"u"&&window.devicePixelRatio||1;function Ao(r){return !r||r.length===0?[]:r.map(o=>{let n=new Image;n.src=o.img;let a=new Image;return a.src=o.hoverImg,{...o,normalImg:n,hoverImg:a}})}a(Ao,"prepareButtonImages");var q={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},Bo=forwardRef(({loading:r,width:o,height:n,graphData:a$1,buttons:u=[],onNodeClick:p,onBackgroundClick:m,onNodeHover:D,onLinkHover:k,onLinkClick:C},S)=>{let x=useTheme(),[T,z]=useState(true),t=useRef({transform:{x:0,y:0,k:1},isPanning:false,hoveredNode:null,hoveredLink:null,draggedNode:null,selectedNode:null,hoveredButtonIndex:null,highlightNodes:new Set,highlightLinks:new Set,lastMousePos:{x:0,y:0},mustBeStoppedPropagation:false,mouseStartPos:null,isDragging:false,width:o*st,height:n*st,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:L,links:N}=useMemo(()=>Co(a$1),[a$1]),[l$1,R]=useState([]),P=useRef(null),v=useRef(null),X=useRef(null),A=scaleOrdinal(schemeCategory10),te=useCallback(()=>{if(!P.current)return false;try{let e=P.current.getContext("2d");return e?(X.current=e,!0):(console.error("Failed to get 2D context"),!1)}catch(e){return console.error("Error initializing Canvas 2D context:",e),false}},[]),re=useCallback(()=>v.current?v.current.nodes():null,[]),me=useCallback(()=>{if(!v.current)return null;let e=v.current.force("link");return e?e.links():null},[]),de=useCallback(e=>{e.save(),e.setTransform(1,0,0,1,0,0);let{width:c,height:i}=t.current,d=q.gridSpacing,h=q.dotSize;e.fillStyle=x.graph2D.grid.dotColor;for(let b=d/2;b<=c;b+=d)for(let f=d/2;f<=i;f+=d)e.beginPath(),e.arc(b,f,h,0,2*Math.PI),e.fill();e.restore();},[x.graph2D.grid.dotColor,q.gridSpacing,q.dotSize]),Me=useCallback((e,c,i)=>{if(!e)return "";if(i.measureText(e).width<=c)return e;let h=e,b="...";for(;i.measureText(h+b).width>c&&h.length>0;)h=h.slice(0,-1);return h+b},[]),Se=a(e=>{let i=Math.min(e,q.maxZoom)/q.maxZoom;return Math.max(q.fontSize*i,q.fontSize)},"calculateFontSize"),B=useCallback(e=>{let c=me(),i=re();!c||c.length===0||!i||i.length===0||(e.lineWidth=.5,e.globalAlpha=1,c.forEach(d=>{let h=typeof d.source=="object"?d.source:i.find(Re=>Re.id===d.source),b=typeof d.target=="object"?d.target:i.find(Re=>Re.id===d.target);if(!h||!b)return;let f={x:h.x||0,y:h.y||0},g={x:b.x||0,y:b.y||0},w=g.x-f.x,M=g.y-f.y,I=Math.sqrt(w*w+M*M),$=w/I,O=M/I,Q=q.nodeSizeBase/2,W=q.nodeSizeBase/2,V=4,y={x:f.x+$*Q,y:f.y+O*Q},j={x:g.x-$*(W+V),y:g.y-O*(W+V)},E={x:g.x-$*(W+1),y:g.y-O*(W+1)},J=t.current.highlightLinks.has(d),G=J?x.graph2D.link.highlighted:x.graph2D.link.normal,ee=J?1.5:.5,pe=f.x+(g.x-f.x)/2,_e=f.y+(g.y-f.y)/2,Oe=Math.atan2(M,w);if(d.label){let Re=t.current.transform.k,Fe=Se(Re);e.font=`${Fe}px Sans-Serif`;let Wt=e.measureText(d.label).width,Xt=10;e.beginPath(),e.moveTo(y.x,y.y);let Ut=I/2-(Wt+Xt)/2,qt={x:f.x+$*Ut,y:f.y+O*Ut};e.lineTo(qt.x,qt.y),e.strokeStyle=G,e.lineWidth=ee,e.stroke(),e.beginPath();let Yt=I/2+(Wt+Xt)/2,Vt={x:f.x+$*Yt,y:f.y+O*Yt};e.moveTo(Vt.x,Vt.y),e.lineTo(j.x,j.y),e.strokeStyle=G,e.lineWidth=ee,e.stroke();}else e.beginPath(),e.moveTo(y.x,y.y),e.lineTo(j.x,j.y),e.strokeStyle=G,e.lineWidth=ee,e.stroke();let Ke=2;if(e.save(),e.translate(E.x,E.y),e.rotate(Oe),e.beginPath(),e.moveTo(0,0),e.lineTo(-4,Ke),e.lineTo(-4,0),e.lineTo(-4,-2),e.closePath(),e.fillStyle=G,e.fill(),e.restore(),d.label){let Re=t.current.transform.k,Fe=Se(Re);e.font=`${Fe}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.save(),e.translate(pe,_e),Math.abs(Oe)>Math.PI/2?e.rotate(Oe+Math.PI):e.rotate(Oe),e.fillStyle=J?x.graph2D.link.highlightedTextColor:x.graph2D.link.textColor,e.fillText(d.label,0,0),e.restore();}}));},[q,x.graph2D.link]),Z=a((e,c,i,d,h,b,f)=>{try{if(b!=null){let g=h*.8;e.font=`${g}px sans-serif`,e.textBaseline="middle",e.textAlign="left";let w=new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0,compactDisplay:"short"}).format(b),M=e.measureText(w).width,I=h*.3,O=(h+I+M)/2;e.drawImage(c,i-O,d-h/2,h,h),e.fillStyle=f||"#99989C",e.fillText(w,i-O+h+I,d);}else e.drawImage(c,i-h/2,d-h/2,h,h);}catch(g){console.warn("Error rendering icon:",g);}},"drawIconWithOptionalCounter"),Y=useCallback((e,c)=>{if(!l$1||l$1.length===0||!e||!e.x||!e.y)return;let{x:i,y:d}=e,h=q.nodeSizeBase*q.nodeAreaFactor/2;c.save();let b=Math.min(l$1.length,8),f=Math.min(Math.PI*2/b,Math.PI);for(let g=0;g<b;g++){let w=g*f,M=(g+1)*f,I=t.current.hoveredButtonIndex===g;c.beginPath(),c.arc(i,d,h,w,M,false),c.lineTo(i,d),c.closePath(),c.lineWidth=1,c.strokeStyle=x.graph2D?.button?.stroke||"#FFFFFF",c.stroke(),c.fillStyle=I?x.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":x.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",c.fill();let $=h*.2,O=(w+M)/2,Q=h-q.nodeSizeBase/2+$,W=i+Math.cos(O)*Q,V=d+Math.sin(O)*Q,y=l$1[g];if(y.loading){let j=$/2,E=$/12;c.save(),c.translate(W,V),c.rotate(t.current.spinnerAngle);for(let J=0;J<12;J++){let G=Math.PI*2*J/12,ee=J/12,pe=Math.cos(G)*j,_e=Math.sin(G)*j;c.beginPath(),c.fillStyle=l(x.graph2D?.button?.spinnerColor,ee),c.arc(pe,_e,E,0,Math.PI*2),c.fill();}c.restore(),t.current.spinnerAngle+=.1,t.current.spinnerAngle>Math.PI*2&&(t.current.spinnerAngle-=Math.PI*2),t.current.animation.id!==null&&(cancelAnimationFrame(t.current.animation.id),t.current.animation.id=null,t.current.animation.buttonIndex=null),t.current.animation.id=requestAnimationFrame(_),t.current.animation.buttonIndex=g;}else {t.current.animation.id&&t.current.animation.buttonIndex===g&&(cancelAnimationFrame(t.current.animation.id),t.current.animation.id=null,t.current.animation.buttonIndex=null);let j=I?y.hoverImg:y.normalImg,E=y.getCount?y.getCount(e):null;j.complete?Z(c,j,W,V,$,E,x.graph2D?.button?.textColor):j.onload=()=>{X.current&&Z(c,j,W,V,$,E,x.graph2D?.button?.textColor);};}}c.restore();},[l$1,x.graph2D?.button]),U=useCallback(e=>{let c=re();!c||c.length===0||(e.globalAlpha=1,c.forEach(i=>{let{x:d,y:h,color:b,fontColor:f,label:g}=i,w=t.current.highlightNodes.has(i)||i===t.current.hoveredNode||i===t.current.draggedNode,M=i===t.current.selectedNode,I=q.nodeSizeBase,$=q.nodeSizeBase/2;if(w&&!M){let O=q.nodeSizeBase*q.nodeAreaFactor*.75/2;e.beginPath(),e.arc(d,h,O,0,2*Math.PI,false),e.fillStyle=x.graph2D.ring.highlightFill,e.fill();}if(M)if(u&&u.length>0)Y(i,e);else {let O=q.nodeSizeBase*q.nodeAreaFactor/2;e.beginPath(),e.arc(d,h,O,0,2*Math.PI,false),e.fillStyle=x.graph2D.ring.selectionFill||x.graph2D.ring.highlightFill,e.fill();}if(e.beginPath(),e.arc(d,h,$,0,2*Math.PI),e.fillStyle=b||A(i.group||"0"),e.fill(),g){e.save(),e.translate(d,h);let O=t.current.transform.k,Q=Se(O),W=I*q.textPaddingFactor;e.font=`${Q}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle=f||"#000";let V=Me(g,W,e);e.fillText(V,0,0),e.restore();}}));},[x.graph2D.ring,u,Y]),_=useCallback(()=>{let e=X.current;e&&(e.clearRect(0,0,t.current.width,t.current.height),de(e),e.save(),e.setTransform(t.current.transform.k,0,0,t.current.transform.k,t.current.transform.x,t.current.transform.y),B(e),U(e),e.restore());},[B,U,de]),oe=useCallback((e,c=[],i)=>{let d=me()||[],h=re()||[];if(!v.current||!e.length)return;let{width:b,height:f}=t.current,g=i?.smoothAppearance??false,w=i?.transitionDuration??1e3,M=new Set(h.map(y=>y.id)),I=e.filter(y=>!M.has(y.id)),$=new Set(d.map(y=>`${typeof y.source=="object"?y.source.id:y.source}-${typeof y.target=="object"?y.target.id:y.target}`)),O=c.filter(y=>{let j=`${typeof y.source=="object"?y.source.id:y.source}-${typeof y.target=="object"?y.target.id:y.target}`;return !$.has(j)});if(I.length===0&&O.length===0)return;let Q=[...h,...I],W=[...d,...O];g&&(I.forEach(y=>{let j=O.filter(E=>{let J=typeof E.source=="object"?E.source.id:E.source,G=typeof E.target=="object"?E.target.id:E.target;return J===y.id&&M.has(G)||G===y.id&&M.has(J)});if(j.length>0){let E=j[0],J=typeof E.source=="object"?E.source.id===y.id?E.target:E.source.id:E.source===y.id?E.target:E.source,G=Q.find(ee=>ee.id===J);if(G&&G.x!==void 0&&G.y!==void 0){let ee=30+Math.random()*20,pe=Math.random()*Math.PI*2;y.x=G.x+Math.cos(pe)*ee,y.y=G.y+Math.sin(pe)*ee,y.vx=0,y.vy=0;}}else {let E=b/2,J=f/2,G=Math.min(b,f)/4,ee=Math.random()*Math.PI*2;y.x=E+Math.cos(ee)*(G*Math.random()),y.y=J+Math.sin(ee)*(G*Math.random()),y.vx=0,y.vy=0;}}),h.forEach(y=>{y.fx=y.x,y.fy=y.y;})),v.current.nodes(Q);let V=v.current.force("link");V&&V.links(W),O.forEach(y=>{let j=typeof y.source=="object"?y.source:Q.find(J=>J.id===y.source),E=typeof y.target=="object"?y.target:Q.find(J=>J.id===y.target);!j||!E||(!j.neighbors&&(j.neighbors=[]),!E.neighbors&&(E.neighbors=[]),j.neighbors.push(E),E.neighbors.push(j),!j.links&&(j.links=[]),!E.links&&(E.links=[]),j.links.push(y),E.links.push(y));}),g?(v.current.alphaTarget(.3),v.current.alpha(.3),v.current.velocityDecay(.7),v.current.restart(),setTimeout(()=>{h.forEach(y=>{y.fx=void 0,y.fy=void 0;}),v.current?.alphaTarget(0),v.current?.alpha(.1),v.current?.velocityDecay(.6);},w)):v.current.alpha(.1).restart(),_();},[L,_]),De=useCallback(e=>{let c=re(),i=me();if(!v.current||!e.length||!c||c.length===0||!i||i.length===0)return;let d=new Set(e);if(t.current.selectedNode&&t.current.selectedNode.id!==void 0&&d.has(t.current.selectedNode.id)&&(t.current.selectedNode=null),t.current.hoveredNode&&t.current.hoveredNode.id!==void 0&&d.has(t.current.hoveredNode.id)&&(t.current.hoveredNode=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set),t.current.hoveredLink){let g=typeof t.current.hoveredLink.source=="object"?t.current.hoveredLink.source.id:t.current.hoveredLink.source,w=typeof t.current.hoveredLink.target=="object"?t.current.hoveredLink.target.id:t.current.hoveredLink.target;(g!==void 0&&d.has(g)||w!==void 0&&d.has(w))&&(t.current.hoveredLink=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set);}t.current.draggedNode&&t.current.draggedNode.id!==void 0&&d.has(t.current.draggedNode.id)&&(t.current.draggedNode=null);let h=c.filter(g=>g.id!==void 0&&!d.has(g.id)),b=i.filter(g=>{let w=typeof g.source=="object"?g.source.id:g.source,M=typeof g.target=="object"?g.target.id:g.target;return w!==void 0&&!d.has(w)&&M!==void 0&&!d.has(M)});h.forEach(g=>{g.neighbors=[],g.links=[];}),b.forEach(g=>{let w=typeof g.source=="object"?g.source:h.find(I=>I.id===g.source),M=typeof g.target=="object"?g.target:h.find(I=>I.id===g.target);!w||!M||(w.neighbors=w.neighbors||[],M.neighbors=M.neighbors||[],w.neighbors.push(M),M.neighbors.push(w),w.links=w.links||[],M.links=M.links||[],w.links.push(g),M.links.push(g));}),v.current.nodes(h);let f=v.current.force("link");f&&f.links(b),_();},[_]),ce=useCallback((e=0,c=20)=>{let i=re();if(!X.current||!P.current||!i||!i.length)return;let h=1/0,b=1/0,f=-1/0,g=-1/0;if(i.forEach(w=>{if(w.x===void 0||w.y===void 0)return;let M=w.x,I=w.y;h=Math.min(h,M),b=Math.min(b,I),f=Math.max(f,M),g=Math.max(g,I);}),isFinite(h)&&isFinite(f)&&isFinite(b)&&isFinite(g)){let{width:w,height:M}=t.current;h-=c,b-=c,f+=c,g+=c;let I=f-h,$=g-b,O=I>0?w/I:1,Q=$>0?M/$:1,W=Math.min(O,Q,10),V=h+I/2,y=b+$/2,j={k:W,x:w/2-V*W,y:M/2-y*W};if(e>0){let E={...t.current.transform},J=Date.now(),G=a(()=>{let ee=Math.min(1,(Date.now()-J)/e),pe=ee===1?1:1-Math.pow(1-ee,3),_e={k:E.k+(j.k-E.k)*pe,x:E.x+(j.x-E.x)*pe,y:E.y+(j.y-E.y)*pe};t.current.transform=_e,_(),ee<1&&requestAnimationFrame(G);},"animateZoom");requestAnimationFrame(G);}else t.current.transform=j,_();}},[]),K=useCallback((e,c)=>{let i=re();if(!i||i.length===0)return null;let d=q.nodeSizeBase/2,h=typeof window<"u"&&window.devicePixelRatio||1,b=(e*h-t.current.transform.x)/t.current.transform.k,f=(c*h-t.current.transform.y)/t.current.transform.k;return i.find(g=>{let w=(g.x||0)-b,M=(g.y||0)-f;return Math.sqrt(w*w+M*M)<=d})||null},[]),fe=useCallback((e,c)=>{let i=me(),d=re();if(!i||i.length===0||!d||d.length===0)return null;let h=typeof window<"u"&&window.devicePixelRatio||1,b=(e*h-t.current.transform.x)/t.current.transform.k,f=(c*h-t.current.transform.y)/t.current.transform.k,g=5;return i.find(w=>{let M=typeof w.source=="object"?w.source:d.find(Fe=>Fe.id===w.source),I=typeof w.target=="object"?w.target:d.find(Fe=>Fe.id===w.target);if(!M||!I)return false;let $=M.x||0,O=M.y||0,Q=I.x||0,W=I.y||0,V=b-$,y=f-O,j=Q-$,E=W-O,J=V*j+y*E,G=j*j+E*E;if(G===0)return false;let ee=J/G;ee=Math.max(0,Math.min(1,ee));let pe=$+ee*j,_e=O+ee*E,Oe=b-pe,Ke=f-_e;return Math.sqrt(Oe*Oe+Ke*Ke)<=g})||null},[]),ie=useCallback((e,c,i,d,h,b,f)=>{let g=e-i,w=c-d,M=Math.sqrt(g*g+w*w),I=Math.atan2(w,g);I<0&&(I+=2*Math.PI);let Q=M>=h*.5&&M<=h*1,W=false;return b===Math.PI&&f===Math.PI*2?W=I>=Math.PI&&I<=Math.PI*2:b===0&&f===Math.PI?W=I>=0&&I<=Math.PI:W=b<=f&&I>=b&&I<=f||b>f&&(I>=b||I<=f),Q&&W},[]),le=useCallback(e=>{if(e===t.current.hoveredNode)return;let c=new Set,i=new Set;e&&(c.add(e),e.neighbors&&e.neighbors.forEach(d=>c.add(d)),e.links&&e.links.forEach(d=>i.add(d))),t.current.hoveredNode=e,D&&D(e),t.current.highlightNodes=c,t.current.highlightLinks=i;},[D]),Le=useCallback(e=>{if(e===t.current.hoveredLink)return;let c=new Set,i=new Set;if(e){i.add(e);let d=re();if(d){let h=typeof e.source=="object"?e.source:d.find(f=>f.id===e.source),b=typeof e.target=="object"?e.target:d.find(f=>f.id===e.target);h&&c.add(h),b&&c.add(b);}}t.current.hoveredLink=e,k&&k(e),t.current.highlightNodes=c,t.current.highlightLinks=i;},[k,re]),Ge=useCallback(e=>{C&&C(e);},[C]),ze=useCallback(e=>{t.current.selectedNode=e,p&&p(e);},[p]),Ze=useCallback(()=>{t.current.selectedNode=null,m&&m();},[m]),Te=useCallback(e=>{if(!P.current||!v.current)return;let c=P.current.getBoundingClientRect(),i=e.clientX-c.left,d=e.clientY-c.top;t.current.mouseStartPos={x:i,y:d},t.current.isDragging=false;let h=K(i,d);h?(t.current.draggedNode=h,h.fx=h.x,h.fy=h.y):(t.current.isPanning=true,t.current.lastMousePos={x:i,y:d});},[K]),je=useCallback((e,c)=>{let i=null;if(P.current&&t.current&&l$1.length>0){let d=q.nodeSizeBase*q.nodeAreaFactor/2,h=P.current.getBoundingClientRect(),b=P.current.width/h.width,f=P.current.height/h.height,g=e*b,w=c*f,M=(g-t.current.transform.x)/t.current.transform.k,I=(w-t.current.transform.y)/t.current.transform.k,$=t.current.selectedNode?.x||0,O=t.current.selectedNode?.y||0,Q=Math.min(l$1.length,8),W=Math.min(Math.PI*2/Q,Math.PI);for(let V=0;V<Q;V++){let y=V*W,j=(V+1)*W;if(ie(M,I,$,O,d,y,j)){i=V;break}}}return i},[l$1]),Ae=useCallback(e=>{if(!P.current)return;let c=P.current.getBoundingClientRect(),i=e.clientX-c.left,d=e.clientY-c.top;if(t.current.draggedNode&&t.current.mouseStartPos&&v.current){let f=t.current.mouseStartPos.x,g=t.current.mouseStartPos.y,w=i-f,M=d-g;Math.sqrt(w*w+M*M)>3&&(t.current.isDragging=true,v.current.alphaTarget()===0&&v.current.alphaTarget(0).restart());let O=typeof window<"u"&&window.devicePixelRatio||1,Q=(i*O-t.current.transform.x)/t.current.transform.k,W=(d*O-t.current.transform.y)/t.current.transform.k;t.current.draggedNode.fx=Q,t.current.draggedNode.fy=W;return}if(t.current.isPanning&&t.current.mouseStartPos){let f=i-t.current.lastMousePos.x,g=d-t.current.lastMousePos.y,w=t.current.mouseStartPos.x,M=t.current.mouseStartPos.y;Math.sqrt(Math.pow(i-w,2)+Math.pow(d-M,2))>3&&(t.current.isDragging=true),t.current.transform={...t.current.transform,x:t.current.transform.x+f,y:t.current.transform.y+g},t.current.lastMousePos={x:i,y:d},_();return}let h,b;if(t.current.selectedNode&&P.current&&l$1.length>0){let f=je(i,d);f!==null&&(b=t.current.selectedNode),f!==t.current.hoveredButtonIndex&&(h=true),t.current.hoveredButtonIndex=f;}else t.current.hoveredButtonIndex!==null&&(t.current.hoveredButtonIndex=null);if(!b&&(b=K(i,d),!b)){let f=fe(i,d),g=f!==t.current.hoveredLink;if(f&&t.current.hoveredNode&&le(null),Le(f),P.current&&(P.current.style.cursor=f?"pointer":"default"),g){_();return}}b&&t.current.hoveredLink&&Le(null),b!==t.current.hoveredNode&&(h=true),le(b),P.current&&(P.current.style.cursor=b?"pointer":"default"),h&&_();},[l$1,K,fe,le,Le,_,ie,je]),kt=useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.stopPropagation(),e.preventDefault()),t.current.mustBeStoppedPropagation=false;},[]),Ne=useCallback(e=>{let c=t.current.isDragging;if(c&&(t.current.mustBeStoppedPropagation=true),!c&&t.current.mouseStartPos){let i=P.current?.getBoundingClientRect();if(i){let d=e.clientX-i.left,h=e.clientY-i.top;l$1.length>0&&t.current.hoveredButtonIndex===null&&(t.current.hoveredButtonIndex=je(d,h));let b=false;if(t.current.selectedNode&&t.current.hoveredButtonIndex!==null&&u[t.current.hoveredButtonIndex]){let f=u[t.current.hoveredButtonIndex];f&&f.onClick&&(f.onClick(t.current.selectedNode),b=true,t.current.hoveredButtonIndex=null);}if(!b&&t.current.draggedNode)ze(t.current.draggedNode);else if(!b&&!t.current.draggedNode){let f=fe(d,h);f?Ge(f):Ze();}}}if(t.current.draggedNode&&v.current){if(c){v.current.alphaTarget(0);let i=.05,d=.04,h=.6;v.current.alpha(i).alphaDecay(d),v.current.velocityDecay(h);}else v.current.alphaTarget(0);t.current.draggedNode.fx=void 0,t.current.draggedNode.fy=void 0,t.current.draggedNode=null;}t.current.isDragging=false,t.current.mouseStartPos=null,t.current.isPanning&&(t.current.isPanning=false),_();},[u,_,ze,Ze,fe,Ge,je,l$1]),Ce=useCallback(e=>{if(e.stopPropagation(),e.preventDefault(),!P.current)return;let c=P.current.getBoundingClientRect(),i=e.clientX-c.left,d=e.clientY-c.top,b=-e.deltaY>0?1.1:1/1.1,f=t.current.transform,g=f.k*b;if(g<.01||g>10)return;let w=f.k*b,M=i-(i-f.x)*b,I=d-(d-f.y)*b;t.current.transform={k:w,x:M,y:I},_();},[_]),Be=a((e,c)=>{let i=e.touches[0];if(i){let d={clientX:i.clientX,clientY:i.clientY};c(d);}},"convertTouchToMouseEvent"),St=useCallback(e=>{Be(e,Te);},[Te]),Dt=useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.preventDefault(),e.stopPropagation()),t.current.mustBeStoppedPropagation=false,Be(e,Ne);},[Ne]),Zr=useCallback(e=>{Be(e,Ae);},[Ae]);return useImperativeHandle(S,()=>({zoomToFit:ce,addNodes:oe,removeNodes:De}),[ce,oe,De]),useEffect(()=>{let e=P.current,{width:c,height:i}=t.current;if(!e)return;te(),z(true);let d=c/2,h=i/2,b=q.nodeSizeBase,f=b/2,g=b*2.5;v.current&&v.current.stop();let w=v.current=forceSimulation(L).force("link",forceLink(N).id(M=>M.id).distance(g).strength(.9)).force("charge",forceManyBody().strength(-b/10*200).theta(.5).distanceMin(b*2)).force("x",forceX().strength(.03)).force("y",forceY().strength(.03)).force("center",forceCenter(d,h).strength(.05)).force("collide",forceCollide().radius(f*2).iterations(2).strength(1)).velocityDecay(.6);return ()=>{w.stop();}},[L,N]),useLayoutEffect(()=>{let e=P.current;e&&(t.current.width=o*st,t.current.height=n*st,e.width=t.current.width,e.height=t.current.height);},[o,n]),useEffect(()=>{if(v.current){let e=v.current;e.on("tick",()=>{_();}),e.on("end",()=>{T&&(ce(0,20),setTimeout(()=>{z(false);},200));});}T||_();},[L,N,T,_,ce]),useEffect(()=>{!L||!N||N.forEach(e=>{let c=typeof e.source=="object"?e.source:L.find(d=>d.id===e.source),i=typeof e.target=="object"?e.target:L.find(d=>d.id===e.target);!c||!i||(!c.neighbors&&(c.neighbors=[]),!i.neighbors&&(i.neighbors=[]),c.neighbors.push(i),i.neighbors.push(c),!c.links&&(c.links=[]),!i.links&&(i.links=[]),c.links.push(e),i.links.push(e));});},[L,N]),useEffect(()=>{u&&u.length>0&&R(Ao(u));},[u]),useEffect(()=>{let e=P.current;if(!(!e||typeof window>"u"))return e.addEventListener("wheel",Ce,{passive:false}),e.addEventListener("touchend",Dt,{passive:false}),()=>{e.removeEventListener("wheel",Ce),e.removeEventListener("touchend",Dt);}},[Ce,Dt]),jsxs(_o,{children:[(r||T)&&jsx(ir,{width:o,height:n}),jsx(Oo,{ref:P,style:{width:o,height:n,display:r||T?"none":"block"},onMouseDown:Te,onMouseMove:Ae,onMouseUp:Ne,onMouseLeave:Ne,onClick:kt,onTouchStart:St,onTouchMove:Zr})]})}),_o=styled.div`
47
+ `,vo=a(({width:r=280,height:o=280})=>{let n=useTheme();return jsx(yo,{children:jsxs(go,{foregroundColor:n.contentLoader.foreground,backgroundColor:n.contentLoader.background,width:r,height:o,viewBox:"0 0 280 280",children:[jsx("path",{d:"m55 38-0.97266 0.22852 7.0801 30.092-18.355-20.979-0.75195 0.6582 19.596 22.395 0.43164 1.834 0.97266-0.22852 0.75195-0.6582-0.37695-0.42969 9.625-27.912-0.94531-0.32617-9.4375 27.371-0.10547-0.12109zm8 34-0.78516 0.61914 0.0957 0.12305-12.311 13.258 0.73242 0.67969 12.205-13.145 14.277 18.084 0.78516-0.61914-14.373-18.207 0.10547-0.11328zm15 19-0.48438 0.875 46.992 25.996 8e-3 4e-3 20.506 11.592-28.182 4.5449 0.15998 0.98819 29.418-4.7441 0.25 0.14062-12.555 24.143 0.88672 0.46094 13-25 15 25 26 30v18l-11 18 0.85352 0.52148 9.8008-16.039-4.6543 33.518 0.99023 0.13867 4.7793-34.408 7.2305 16.27 0.91406-0.40625-7.9141-17.807v-17.104l18 12.316 0.56445-0.82617-18.896-12.928-25.855-29.836-14.633-24.387 0.01562-0.02344h23.805v-1h-23.152l13.848-21.234 55.201-28.791-0.45898-0.88476 0.77734 0.62305 11.402-14.25 16.668-11.842-0.58008-0.81641-16.785 11.928-11.486 14.355-55.434 28.912-14.277 21.893-7.7617-27.166-0.96094 0.27344 7.7227 27.031-1.1191 0.17969-21.604-12.211zm140.43-12.912-6.957-17.338-0.92773 0.37305 6.957 17.338zm-6.957-17.338 0.72266 0.69336 16.232-16.896-0.7207-0.69336zm-3.4766 137.25 5 15 0.94922-0.31641-5-15zm-91-63-0.48047-0.87695-31 17 0.48047 0.87695zm-31 17 5 18 0.96289-0.26758-5-18zm0 0-0.70703-0.70703-12.898 12.898-17.881 9.9336 0.48633 0.875 18-10zm5 18-0.64062-0.76758-18 15 0.64062 0.76758z"}),jsx("circle",{cx:"229.92",cy:"63.7318",r:"5",transform:"rotate(173.661 229.92 63.7318)"}),jsx("circle",{cx:"227.711",cy:"43.8541",r:"5",transform:"rotate(173.661 227.711 43.8541)"}),jsx("circle",{cx:"211.478",cy:"60.7499",r:"5",transform:"rotate(173.661 211.478 60.7499)"}),jsx("circle",{cx:"218.434",cy:"78.0877",r:"5",transform:"rotate(173.661 218.434 78.0877)"}),jsx("circle",{cx:"246.705",cy:"51.8054",r:"5",transform:"rotate(173.661 246.705 51.8054)"}),jsx("circle",{cx:"42",cy:"48",r:"5"}),jsx("circle",{cx:"55",cy:"38",r:"5"}),jsx("circle",{cx:"73",cy:"43",r:"5"}),jsx("circle",{cx:"63",cy:"72",r:"5"}),jsx("circle",{cx:"50",cy:"86",r:"5"}),jsx("circle",{cx:"78",cy:"91",r:"5"}),jsx("circle",{cx:"73",cy:"165",r:"5"}),jsx("circle",{cx:"73",cy:"185",r:"5"}),jsx("circle",{cx:"91",cy:"170",r:"5"}),jsx("circle",{cx:"86",cy:"152",r:"5"}),jsx("circle",{cx:"148",cy:"130",r:"5"}),jsx("circle",{cx:"189",cy:"185",r:"5"}),jsx("circle",{cx:"163",cy:"107",r:"5"}),jsx("circle",{cx:"140",cy:"102",r:"5"}),jsx("circle",{cx:"117",cy:"135",r:"5"}),jsx("circle",{cx:"125",cy:"117",r:"5"}),jsx("circle",{cx:"208",cy:"198",r:"5"}),jsx("circle",{cx:"189",cy:"203",r:"5"}),jsx("circle",{cx:"198",cy:"221",r:"5"}),jsx("circle",{cx:"178",cy:"221",r:"5"}),jsx("circle",{cx:"184",cy:"239",r:"5"}),jsx("circle",{cx:"213",cy:"213",r:"5"}),jsx("circle",{cx:"173",cy:"130",r:"5"}),jsx("circle",{cx:"163",cy:"155",r:"5"}),jsx("circle",{cx:"135",cy:"155",r:"5"}),jsx("circle",{cx:"55",cy:"175",r:"5"})]})})},"GraphLoader"),ar=vo;var ct=typeof window<"u"&&window.devicePixelRatio||1;function Bo(r){return !r||r.length===0?[]:r.map(o=>{let n=new Image;n.src=o.img;let a=new Image;return a.src=o.hoverImg,{...o,normalImg:n,hoverImg:a}})}a(Bo,"prepareButtonImages");var Y={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},Ao=forwardRef(({loading:r,width:o,height:n,graphData:a$1,buttons:p=[],onNodeClick:u,onBackgroundClick:m,onNodeHover:k,onLinkHover:T,onLinkClick:C},D)=>{let y=useTheme(),[R,j]=useState(true),t=useRef({transform:{x:0,y:0,k:1},isPanning:false,hoveredNode:null,hoveredLink:null,draggedNode:null,selectedNode:null,hoveredButtonIndex:null,highlightNodes:new Set,highlightLinks:new Set,lastMousePos:{x:0,y:0},mustBeStoppedPropagation:false,mouseStartPos:null,isDragging:false,width:o*ct,height:n*ct,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:L,links:w}=useMemo(()=>Co(a$1),[a$1]),[d,E]=useState([]),S=useRef(null),P=useRef(null),F=useRef(null),$=scaleOrdinal(schemeCategory10),J=useCallback(()=>{if(!S.current)return false;try{let e=S.current.getContext("2d");return e?(F.current=e,!0):(console.error("Failed to get 2D context"),!1)}catch(e){return console.error("Error initializing Canvas 2D context:",e),false}},[]),oe=useCallback(()=>P.current?P.current.nodes():null,[]),ye=useCallback(()=>{if(!P.current)return null;let e=P.current.force("link");return e?e.links():null},[]),fe=useCallback(e=>{e.save(),e.setTransform(1,0,0,1,0,0);let{width:c,height:i}=t.current,l=Y.gridSpacing,h=Y.dotSize;e.fillStyle=y.graph2D.grid.dotColor;for(let b=l/2;b<=c;b+=l)for(let f=l/2;f<=i;f+=l)e.beginPath(),e.arc(b,f,h,0,2*Math.PI),e.fill();e.restore();},[y.graph2D.grid.dotColor,Y.gridSpacing,Y.dotSize]),ve=useCallback((e,c,i)=>{if(!e)return "";if(i.measureText(e).width<=c)return e;let h=e,b="...";for(;i.measureText(h+b).width>c&&h.length>0;)h=h.slice(0,-1);return h+b},[]),A=a(e=>{let i=Math.min(e,Y.maxZoom)/Y.maxZoom;return Math.max(Y.fontSize*i,Y.fontSize)},"calculateFontSize"),U=useCallback(e=>{let c=ye(),i=oe();!c||c.length===0||!i||i.length===0||(e.lineWidth=.5,e.globalAlpha=1,c.forEach(l=>{let h=typeof l.source=="object"?l.source:i.find(Te=>Te.id===l.source),b=typeof l.target=="object"?l.target:i.find(Te=>Te.id===l.target);if(!h||!b)return;let f={x:h.x||0,y:h.y||0},g={x:b.x||0,y:b.y||0},x=g.x-f.x,M=g.y-f.y,N=Math.sqrt(x*x+M*M),W=x/N,_=M/N,Z=Y.nodeSizeBase/2,q=Y.nodeSizeBase/2,V=4,v={x:f.x+W*Z,y:f.y+_*Z},z={x:g.x-W*(q+V),y:g.y-_*(q+V)},I={x:g.x-W*(q+1),y:g.y-_*(q+1)},K=t.current.highlightLinks.has(l),G=K?y.graph2D.link.highlighted:y.graph2D.link.normal,Q=K?1.5:.5,pe=f.x+(g.x-f.x)/2,je=f.y+(g.y-f.y)/2,Be=Math.atan2(M,x);if(l.label){let Te=t.current.transform.k,Ae=A(Te);e.font=`${Ae}px Sans-Serif`;let Ht=e.measureText(l.label).width,Wt=10;e.beginPath(),e.moveTo(v.x,v.y);let Xt=N/2-(Ht+Wt)/2,qt={x:f.x+W*Xt,y:f.y+_*Xt};e.lineTo(qt.x,qt.y),e.strokeStyle=G,e.lineWidth=Q,e.stroke(),e.beginPath();let Yt=N/2+(Ht+Wt)/2,Ut={x:f.x+W*Yt,y:f.y+_*Yt};e.moveTo(Ut.x,Ut.y),e.lineTo(z.x,z.y),e.strokeStyle=G,e.lineWidth=Q,e.stroke();}else e.beginPath(),e.moveTo(v.x,v.y),e.lineTo(z.x,z.y),e.strokeStyle=G,e.lineWidth=Q,e.stroke();let Ke=2;if(e.save(),e.translate(I.x,I.y),e.rotate(Be),e.beginPath(),e.moveTo(0,0),e.lineTo(-4,Ke),e.lineTo(-4,0),e.lineTo(-4,-2),e.closePath(),e.fillStyle=G,e.fill(),e.restore(),l.label){let Te=t.current.transform.k,Ae=A(Te);e.font=`${Ae}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.save(),e.translate(pe,je),Math.abs(Be)>Math.PI/2?e.rotate(Be+Math.PI):e.rotate(Be),e.fillStyle=K?y.graph2D.link.highlightedTextColor:y.graph2D.link.textColor,e.fillText(l.label,0,0),e.restore();}}));},[Y,y.graph2D.link]),ie=a((e,c,i,l,h,b,f)=>{try{if(b!=null){let g=h*.8;e.font=`${g}px sans-serif`,e.textBaseline="middle",e.textAlign="left";let x=new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0,compactDisplay:"short"}).format(b),M=e.measureText(x).width,N=h*.3,_=(h+N+M)/2;e.drawImage(c,i-_,l-h/2,h,h),e.fillStyle=f||"#99989C",e.fillText(x,i-_+h+N,l);}else e.drawImage(c,i-h/2,l-h/2,h,h);}catch(g){console.warn("Error rendering icon:",g);}},"drawIconWithOptionalCounter"),H=useCallback((e,c)=>{if(!d||d.length===0||!e||!e.x||!e.y)return;let{x:i,y:l$1}=e,h=Y.nodeSizeBase*Y.nodeAreaFactor/2;c.save();let b=Math.min(d.length,8),f=Math.min(Math.PI*2/b,Math.PI);for(let g=0;g<b;g++){let x=g*f,M=(g+1)*f,N=t.current.hoveredButtonIndex===g;c.beginPath(),c.arc(i,l$1,h,x,M,false),c.lineTo(i,l$1),c.closePath(),c.lineWidth=1,c.strokeStyle=y.graph2D?.button?.stroke||"#FFFFFF",c.stroke(),c.fillStyle=N?y.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":y.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",c.fill();let W=h*.2,_=(x+M)/2,Z=h-Y.nodeSizeBase/2+W,q=i+Math.cos(_)*Z,V=l$1+Math.sin(_)*Z,v=d[g];if(v.loading){let z=W/2,I=W/12;c.save(),c.translate(q,V),c.rotate(t.current.spinnerAngle);for(let K=0;K<12;K++){let G=Math.PI*2*K/12,Q=K/12,pe=Math.cos(G)*z,je=Math.sin(G)*z;c.beginPath(),c.fillStyle=l(y.graph2D?.button?.spinnerColor,Q),c.arc(pe,je,I,0,Math.PI*2),c.fill();}c.restore(),t.current.spinnerAngle+=.1,t.current.spinnerAngle>Math.PI*2&&(t.current.spinnerAngle-=Math.PI*2),t.current.animation.id!==null&&(cancelAnimationFrame(t.current.animation.id),t.current.animation.id=null,t.current.animation.buttonIndex=null),t.current.animation.id=requestAnimationFrame(B),t.current.animation.buttonIndex=g;}else {t.current.animation.id&&t.current.animation.buttonIndex===g&&(cancelAnimationFrame(t.current.animation.id),t.current.animation.id=null,t.current.animation.buttonIndex=null);let z=N?v.hoverImg:v.normalImg,I=v.getCount?v.getCount(e):null;z.complete?ie(c,z,q,V,W,I,y.graph2D?.button?.textColor):z.onload=()=>{F.current&&ie(c,z,q,V,W,I,y.graph2D?.button?.textColor);};}}c.restore();},[d,y.graph2D?.button]),ne=useCallback(e=>{let c=oe();!c||c.length===0||(e.globalAlpha=1,c.forEach(i=>{let{x:l,y:h,color:b,fontColor:f,label:g}=i,x=t.current.highlightNodes.has(i)||i===t.current.hoveredNode||i===t.current.draggedNode,M=i===t.current.selectedNode,N=Y.nodeSizeBase,W=Y.nodeSizeBase/2;if(x&&!M){let _=Y.nodeSizeBase*Y.nodeAreaFactor*.75/2;e.beginPath(),e.arc(l,h,_,0,2*Math.PI,false),e.fillStyle=y.graph2D.ring.highlightFill,e.fill();}if(M)if(p&&p.length>0)H(i,e);else {let _=Y.nodeSizeBase*Y.nodeAreaFactor/2;e.beginPath(),e.arc(l,h,_,0,2*Math.PI,false),e.fillStyle=y.graph2D.ring.selectionFill||y.graph2D.ring.highlightFill,e.fill();}if(e.beginPath(),e.arc(l,h,W,0,2*Math.PI),e.fillStyle=b||$(i.group||"0"),e.fill(),g){e.save(),e.translate(l,h);let _=t.current.transform.k,Z=A(_),q=N*Y.textPaddingFactor;e.font=`${Z}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle=f||"#000";let V=ve(g,q,e);e.fillText(V,0,0),e.restore();}}));},[y.graph2D.ring,p,H]),B=useCallback(()=>{let e=F.current;e&&(e.clearRect(0,0,t.current.width,t.current.height),fe(e),e.save(),e.setTransform(t.current.transform.k,0,0,t.current.transform.k,t.current.transform.x,t.current.transform.y),U(e),ne(e),e.restore());},[U,ne,fe]),ue=useCallback((e,c=[],i)=>{let l=ye()||[],h=oe()||[];if(!P.current||!e.length)return;let{width:b,height:f}=t.current,g=i?.smoothAppearance??false,x=i?.transitionDuration??1e3,M=new Set(h.map(v=>v.id)),N=e.filter(v=>!M.has(v.id)),W=new Set(l.map(v=>`${typeof v.source=="object"?v.source.id:v.source}-${typeof v.target=="object"?v.target.id:v.target}`)),_=c.filter(v=>{let z=`${typeof v.source=="object"?v.source.id:v.source}-${typeof v.target=="object"?v.target.id:v.target}`;return !W.has(z)});if(N.length===0&&_.length===0)return;let Z=[...h,...N],q=[...l,..._];g&&(N.forEach(v=>{let z=_.filter(I=>{let K=typeof I.source=="object"?I.source.id:I.source,G=typeof I.target=="object"?I.target.id:I.target;return K===v.id&&M.has(G)||G===v.id&&M.has(K)});if(z.length>0){let I=z[0],K=typeof I.source=="object"?I.source.id===v.id?I.target:I.source.id:I.source===v.id?I.target:I.source,G=Z.find(Q=>Q.id===K);if(G&&G.x!==void 0&&G.y!==void 0){let Q=30+Math.random()*20,pe=Math.random()*Math.PI*2;v.x=G.x+Math.cos(pe)*Q,v.y=G.y+Math.sin(pe)*Q,v.vx=0,v.vy=0;}}else {let I=b/2,K=f/2,G=Math.min(b,f)/4,Q=Math.random()*Math.PI*2;v.x=I+Math.cos(Q)*(G*Math.random()),v.y=K+Math.sin(Q)*(G*Math.random()),v.vx=0,v.vy=0;}}),h.forEach(v=>{v.fx=v.x,v.fy=v.y;})),P.current.nodes(Z);let V=P.current.force("link");V&&V.links(q),_.forEach(v=>{let z=typeof v.source=="object"?v.source:Z.find(K=>K.id===v.source),I=typeof v.target=="object"?v.target:Z.find(K=>K.id===v.target);!z||!I||(!z.neighbors&&(z.neighbors=[]),!I.neighbors&&(I.neighbors=[]),z.neighbors.push(I),I.neighbors.push(z),!z.links&&(z.links=[]),!I.links&&(I.links=[]),z.links.push(v),I.links.push(v));}),g?(P.current.alphaTarget(.3),P.current.alpha(.3),P.current.velocityDecay(.7),P.current.restart(),setTimeout(()=>{h.forEach(v=>{v.fx=void 0,v.fy=void 0;}),P.current?.alphaTarget(0),P.current?.alpha(.1),P.current?.velocityDecay(.6);},x)):P.current.alpha(.1).restart(),B();},[L,B]),ge=useCallback(e=>{let c=oe(),i=ye();if(!P.current||!e.length||!c||c.length===0||!i||i.length===0)return;let l=new Set(e);if(t.current.selectedNode&&t.current.selectedNode.id!==void 0&&l.has(t.current.selectedNode.id)&&(t.current.selectedNode=null),t.current.hoveredNode&&t.current.hoveredNode.id!==void 0&&l.has(t.current.hoveredNode.id)&&(t.current.hoveredNode=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set),t.current.hoveredLink){let g=typeof t.current.hoveredLink.source=="object"?t.current.hoveredLink.source.id:t.current.hoveredLink.source,x=typeof t.current.hoveredLink.target=="object"?t.current.hoveredLink.target.id:t.current.hoveredLink.target;(g!==void 0&&l.has(g)||x!==void 0&&l.has(x))&&(t.current.hoveredLink=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set);}t.current.draggedNode&&t.current.draggedNode.id!==void 0&&l.has(t.current.draggedNode.id)&&(t.current.draggedNode=null);let h=c.filter(g=>g.id!==void 0&&!l.has(g.id)),b=i.filter(g=>{let x=typeof g.source=="object"?g.source.id:g.source,M=typeof g.target=="object"?g.target.id:g.target;return x!==void 0&&!l.has(x)&&M!==void 0&&!l.has(M)});h.forEach(g=>{g.neighbors=[],g.links=[];}),b.forEach(g=>{let x=typeof g.source=="object"?g.source:h.find(N=>N.id===g.source),M=typeof g.target=="object"?g.target:h.find(N=>N.id===g.target);!x||!M||(x.neighbors=x.neighbors||[],M.neighbors=M.neighbors||[],x.neighbors.push(M),M.neighbors.push(x),x.links=x.links||[],M.links=M.links||[],x.links.push(g),M.links.push(g));}),P.current.nodes(h);let f=P.current.force("link");f&&f.links(b),B();},[B]),le=useCallback((e=0,c=20)=>{let i=oe();if(!F.current||!S.current||!i||!i.length)return;let h=1/0,b=1/0,f=-1/0,g=-1/0;if(i.forEach(x=>{if(x.x===void 0||x.y===void 0)return;let M=x.x,N=x.y;h=Math.min(h,M),b=Math.min(b,N),f=Math.max(f,M),g=Math.max(g,N);}),isFinite(h)&&isFinite(f)&&isFinite(b)&&isFinite(g)){let{width:x,height:M}=t.current;h-=c,b-=c,f+=c,g+=c;let N=f-h,W=g-b,_=N>0?x/N:1,Z=W>0?M/W:1,q=Math.min(_,Z,10),V=h+N/2,v=b+W/2,z={k:q,x:x/2-V*q,y:M/2-v*q};if(e>0){let I={...t.current.transform},K=Date.now(),G=a(()=>{let Q=Math.min(1,(Date.now()-K)/e),pe=Q===1?1:1-Math.pow(1-Q,3),je={k:I.k+(z.k-I.k)*pe,x:I.x+(z.x-I.x)*pe,y:I.y+(z.y-I.y)*pe};t.current.transform=je,B(),Q<1&&requestAnimationFrame(G);},"animateZoom");requestAnimationFrame(G);}else t.current.transform=z,B();}},[]),ee=useCallback((e,c)=>{let i=oe();if(!i||i.length===0)return null;let l=Y.nodeSizeBase/2,h=typeof window<"u"&&window.devicePixelRatio||1,b=(e*h-t.current.transform.x)/t.current.transform.k,f=(c*h-t.current.transform.y)/t.current.transform.k;return i.find(g=>{let x=(g.x||0)-b,M=(g.y||0)-f;return Math.sqrt(x*x+M*M)<=l})||null},[]),te=useCallback((e,c)=>{let i=ye(),l=oe();if(!i||i.length===0||!l||l.length===0)return null;let h=typeof window<"u"&&window.devicePixelRatio||1,b=(e*h-t.current.transform.x)/t.current.transform.k,f=(c*h-t.current.transform.y)/t.current.transform.k,g=5;return i.find(x=>{let M=typeof x.source=="object"?x.source:l.find(Ae=>Ae.id===x.source),N=typeof x.target=="object"?x.target:l.find(Ae=>Ae.id===x.target);if(!M||!N)return false;let W=M.x||0,_=M.y||0,Z=N.x||0,q=N.y||0,V=b-W,v=f-_,z=Z-W,I=q-_,K=V*z+v*I,G=z*z+I*I;if(G===0)return false;let Q=K/G;Q=Math.max(0,Math.min(1,Q));let pe=W+Q*z,je=_+Q*I,Be=b-pe,Ke=f-je;return Math.sqrt(Be*Be+Ke*Ke)<=g})||null},[]),ce=useCallback((e,c,i,l,h,b,f)=>{let g=e-i,x=c-l,M=Math.sqrt(g*g+x*x),N=Math.atan2(x,g);N<0&&(N+=2*Math.PI);let Z=M>=h*.5&&M<=h*1,q=false;return b===Math.PI&&f===Math.PI*2?q=N>=Math.PI&&N<=Math.PI*2:b===0&&f===Math.PI?q=N>=0&&N<=Math.PI:q=b<=f&&N>=b&&N<=f||b>f&&(N>=b||N<=f),Z&&q},[]),Ie=useCallback(e=>{if(e===t.current.hoveredNode)return;let c=new Set,i=new Set;e&&(c.add(e),e.neighbors&&e.neighbors.forEach(l=>c.add(l)),e.links&&e.links.forEach(l=>i.add(l))),t.current.hoveredNode=e,k&&k(e),t.current.highlightNodes=c,t.current.highlightLinks=i;},[k]),We=useCallback(e=>{if(e===t.current.hoveredLink)return;let c=new Set,i=new Set;if(e){i.add(e);let l=oe();if(l){let h=typeof e.source=="object"?e.source:l.find(f=>f.id===e.source),b=typeof e.target=="object"?e.target:l.find(f=>f.id===e.target);h&&c.add(h),b&&c.add(b);}}t.current.hoveredLink=e,T&&T(e),t.current.highlightNodes=c,t.current.highlightLinks=i;},[T,oe]),Ee=useCallback(e=>{C&&C(e);},[C]),Ue=useCallback(e=>{t.current.selectedNode=e,u&&u(e);},[u]),Le=useCallback(()=>{t.current.selectedNode=null,m&&m();},[m]),Xe=useCallback(e=>{if(!S.current||!P.current)return;let c=S.current.getBoundingClientRect(),i=e.clientX-c.left,l=e.clientY-c.top;t.current.mouseStartPos={x:i,y:l},t.current.isDragging=false;let h=ee(i,l);h?(t.current.draggedNode=h,h.fx=h.x,h.fy=h.y):(t.current.isPanning=true,t.current.lastMousePos={x:i,y:l});},[ee]),Me=useCallback((e,c)=>{let i=null;if(S.current&&t.current&&d.length>0){let l=Y.nodeSizeBase*Y.nodeAreaFactor/2,h=S.current.getBoundingClientRect(),b=S.current.width/h.width,f=S.current.height/h.height,g=e*b,x=c*f,M=(g-t.current.transform.x)/t.current.transform.k,N=(x-t.current.transform.y)/t.current.transform.k,W=t.current.selectedNode?.x||0,_=t.current.selectedNode?.y||0,Z=Math.min(d.length,8),q=Math.min(Math.PI*2/Z,Math.PI);for(let V=0;V<Z;V++){let v=V*q,z=(V+1)*q;if(ce(M,N,W,_,l,v,z)){i=V;break}}}return i},[d]),Ve=useCallback(e=>{if(!S.current)return;let c=S.current.getBoundingClientRect(),i=e.clientX-c.left,l=e.clientY-c.top;if(t.current.draggedNode&&t.current.mouseStartPos&&P.current){let f=t.current.mouseStartPos.x,g=t.current.mouseStartPos.y,x=i-f,M=l-g;Math.sqrt(x*x+M*M)>3&&(t.current.isDragging=true,P.current.alphaTarget()===0&&P.current.alphaTarget(0).restart());let _=typeof window<"u"&&window.devicePixelRatio||1,Z=(i*_-t.current.transform.x)/t.current.transform.k,q=(l*_-t.current.transform.y)/t.current.transform.k;t.current.draggedNode.fx=Z,t.current.draggedNode.fy=q;return}if(t.current.isPanning&&t.current.mouseStartPos){let f=i-t.current.lastMousePos.x,g=l-t.current.lastMousePos.y,x=t.current.mouseStartPos.x,M=t.current.mouseStartPos.y;Math.sqrt(Math.pow(i-x,2)+Math.pow(l-M,2))>3&&(t.current.isDragging=true),t.current.transform={...t.current.transform,x:t.current.transform.x+f,y:t.current.transform.y+g},t.current.lastMousePos={x:i,y:l},B();return}let h,b;if(t.current.selectedNode&&S.current&&d.length>0){let f=Me(i,l);f!==null&&(b=t.current.selectedNode),f!==t.current.hoveredButtonIndex&&(h=true),t.current.hoveredButtonIndex=f;}else t.current.hoveredButtonIndex!==null&&(t.current.hoveredButtonIndex=null);if(!b&&(b=ee(i,l),!b)){let f=te(i,l),g=f!==t.current.hoveredLink;if(f&&t.current.hoveredNode&&Ie(null),We(f),S.current&&(S.current.style.cursor=f?"pointer":"default"),g){B();return}}b&&t.current.hoveredLink&&We(null),b!==t.current.hoveredNode&&(h=true),Ie(b),S.current&&(S.current.style.cursor=b?"pointer":"default"),h&&B();},[d,ee,te,Ie,We,B,ce,Me]),Ge=useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.stopPropagation(),e.preventDefault()),t.current.mustBeStoppedPropagation=false;},[]),we=useCallback(e=>{let c=t.current.isDragging;if(c&&(t.current.mustBeStoppedPropagation=true),!c&&t.current.mouseStartPos){let i=S.current?.getBoundingClientRect();if(i){let l=e.clientX-i.left,h=e.clientY-i.top;d.length>0&&t.current.hoveredButtonIndex===null&&(t.current.hoveredButtonIndex=Me(l,h));let b=false;if(t.current.selectedNode&&t.current.hoveredButtonIndex!==null&&p[t.current.hoveredButtonIndex]){let f=p[t.current.hoveredButtonIndex];f&&f.onClick&&(f.onClick(t.current.selectedNode),b=true,t.current.hoveredButtonIndex=null);}if(!b&&t.current.draggedNode)Ue(t.current.draggedNode);else if(!b&&!t.current.draggedNode){let f=te(l,h);f?Ee(f):Le();}}}if(t.current.draggedNode&&P.current){if(c){P.current.alphaTarget(0);let i=.05,l=.04,h=.6;P.current.alpha(i).alphaDecay(l),P.current.velocityDecay(h);}else P.current.alphaTarget(0);t.current.draggedNode.fx=void 0,t.current.draggedNode.fy=void 0,t.current.draggedNode=null;}t.current.isDragging=false,t.current.mouseStartPos=null,t.current.isPanning&&(t.current.isPanning=false),B();},[p,B,Ue,Le,te,Ee,Me,d]),ze=useCallback(e=>{if(e.stopPropagation(),e.preventDefault(),!S.current)return;let c=S.current.getBoundingClientRect(),i=e.clientX-c.left,l=e.clientY-c.top,b=-e.deltaY>0?1.1:1/1.1,f=t.current.transform,g=f.k*b;if(g<.01||g>10)return;let x=f.k*b,M=i-(i-f.x)*b,N=l-(l-f.y)*b;t.current.transform={k:x,x:M,y:N},B();},[B]),Ze=a((e,c)=>{let i=e.touches[0];if(i){let l={clientX:i.clientX,clientY:i.clientY};c(l);}},"convertTouchToMouseEvent"),Gr=useCallback(e=>{Ze(e,Xe);},[Xe]),St=useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.preventDefault(),e.stopPropagation()),t.current.mustBeStoppedPropagation=false,Ze(e,we);},[we]),Zr=useCallback(e=>{Ze(e,Ve);},[Ve]);return useImperativeHandle(D,()=>({zoomToFit:le,addNodes:ue,removeNodes:ge}),[le,ue,ge]),useEffect(()=>{let e=S.current,{width:c,height:i}=t.current;if(!e)return;J(),j(true);let l=c/2,h=i/2,b=Y.nodeSizeBase,f=b/2,g=b*2.5;P.current&&P.current.stop();let x=P.current=forceSimulation(L).force("link",forceLink(w).id(M=>M.id).distance(g).strength(.9)).force("charge",forceManyBody().strength(-b/10*200).theta(.5).distanceMin(b*2)).force("x",forceX().strength(.03)).force("y",forceY().strength(.03)).force("center",forceCenter(l,h).strength(.05)).force("collide",forceCollide().radius(f*2).iterations(2).strength(1)).velocityDecay(.6);return ()=>{x.stop();}},[L,w]),useLayoutEffect(()=>{let e=S.current;e&&(t.current.width=o*ct,t.current.height=n*ct,e.width=t.current.width,e.height=t.current.height);},[o,n]),useEffect(()=>{if(P.current){let e=P.current;e.on("tick",()=>{B();}),e.on("end",()=>{R&&(le(0,20),setTimeout(()=>{j(false);},200));});}R||B();},[L,w,R,B,le]),useEffect(()=>{!L||!w||w.forEach(e=>{let c=typeof e.source=="object"?e.source:L.find(l=>l.id===e.source),i=typeof e.target=="object"?e.target:L.find(l=>l.id===e.target);!c||!i||(!c.neighbors&&(c.neighbors=[]),!i.neighbors&&(i.neighbors=[]),c.neighbors.push(i),i.neighbors.push(c),!c.links&&(c.links=[]),!i.links&&(i.links=[]),c.links.push(e),i.links.push(e));});},[L,w]),useEffect(()=>{p&&p.length>0&&E(Bo(p));},[p]),useEffect(()=>{let e=S.current;if(!(!e||typeof window>"u"))return e.addEventListener("wheel",ze,{passive:false}),e.addEventListener("touchend",St,{passive:false}),()=>{e.removeEventListener("wheel",ze),e.removeEventListener("touchend",St);}},[ze,St]),jsxs(_o,{children:[(r||R)&&jsx(ar,{width:o,height:n}),jsx(Oo,{ref:S,style:{width:o,height:n,display:r||R?"none":"block"},onMouseDown:Xe,onMouseMove:Ve,onMouseUp:we,onMouseLeave:we,onClick:Ge,onTouchStart:Gr,onTouchMove:Zr})]})}),_o=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
- `,Oo=styled.canvas``;Bo.displayName="Graph2D";var _c=w(({isActive:r,position:o,top:n=0,left:a=0,right:u,bottom:p,...m})=>jsx(Ho,{$isActive:r,$position:o,$top:n,$left:a,$right:u,$bottom:p,...m})),Ho=mo.div(({$isActive:r,$top:o,$left:n,$right:a,$bottom:u,$position:p,theme:m})=>`
54
+ `,Oo=styled.canvas``;Ao.displayName="Graph2D";var _c=w(({isActive:r,position:o,top:n=0,left:a=0,right:p,bottom:u,...m})=>jsx(Ho,{$isActive:r,$position:o,$top:n,$left:a,$right:p,$bottom:u,...m})),Ho=mo.div(({$isActive:r,$top:o,$left:n,$right:a,$bottom:p,$position:u,theme:m})=>`
55
55
  ${r?`
56
- position: ${p};
56
+ position: ${u};
57
57
  z-index: 1000;
58
58
  ${typeof o=="number"?`top: ${c(o,m.baseSize)};`:""}
59
59
  ${typeof n=="number"?`left: ${c(n,m.baseSize)};`:""}
60
60
  ${typeof a=="number"?`right: ${c(a,m.baseSize)};`:""}
61
- ${typeof u=="number"?`bottom: ${c(u,m.baseSize)};`:""}
61
+ ${typeof p=="number"?`bottom: ${c(p,m.baseSize)};`:""}
62
62
 
63
63
  `:""}
64
64
 
65
65
  min-width: 0;
66
- `);var pr=a(({url:r})=>{let[o,n]=useState(1),[a$1,u]=useState(),p=dr.useRef(null),m=dr.useRef(null),D=a(()=>{n(C=>Math.min(C+.25,4));},"handleZoomIn");return jsxs("div",{ref:m,className:"h-full w-full flex flex-col px-6",children:[jsxs("div",{className:"flex justify-center items-stretch py-3 gap-1 border-b border-gray-200 relative mx-2.5",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsx(Pa,{style:{width:20,height:20}}),onClick:a(()=>{n(C=>Math.max(C-.25,.25));},"handleZoomOut"),disabled:o<=.25,className:"bg-white! hover:bg-blue-50!",p:7}),jsxs(pb,{py:8,px:8,className:"flex items-center justify-between gap-1.5 min-w-21 rounded-[5px]!",children:[jsx(Ya,{color:"text.lighter",style:{fontSize:10},children:"Scale:"}),jsxs(Ya,{children:[o*100,"%"]})]}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(ma,{style:{width:14,height:14}}),onClick:D,disabled:o>=4,className:"bg-white! hover:bg-blue-50!",p:10})]}),jsx("div",{className:"h-full w-full overflow-auto",children:jsx("img",{src:r,ref:p,alt:"image",className:"block w-auto max-w-none object-contain",style:{transition:"all 0.2s ease-in-out",marginInline:"auto",marginBlock:10,flexShrink:0,...a$1==="width"&&{width:`calc(${o*100}% - 20px)`},...a$1==="height"&&{height:`calc(${o*100}% - 20px)`}},onLoad:()=>{if(p.current&&m.current){let C=p.current.width,S=p.current.height,x=C<S?"height":"width";u(x);}}})})]})},"ImageDriver");var fr=a(({url:r})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full py-5.5 px-8.5",children:jsx("audio",{controls:true,src:r,className:"w-full"})}),"AudioDriver");var Pt=a(({url:r})=>{let[o,n]=useState(null),[a$1,u]=useState(false),[p,m]=useState(true),[D,k]=useState(null);return useEffect(()=>{u(true);},[]),useEffect(()=>{if(!a$1)return;a(async()=>{try{let S=await import('./PdfDriver-JBTZ7E5F.mjs');n(()=>S.PdfDriver),m(!1);}catch(S){console.error("Failed to load PDF driver:",S),k("Failed to load PDF viewer"),m(false);}},"loadPdfDriver")();},[a$1]),a$1?p?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})}):D||!o?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-red-500 text-center",children:jsx("p",{children:D||"PDF viewer unavailable"})})}):jsx(o,{url:r}):jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})})},"PdfDriverWrapper");var br=50,qo=1e4,yr=a(({url:r,blob:o})=>{let n=useRef(null),a$1=useRef(null),[u,p]=useState(null),[m,D]=useState(true),[k,C]=useState(1),S=useRef(false),[x,T]=useState({width:0,height:0}),z$1=useRef(0),t=a(()=>{S.current=true,C(N=>Math.min(N+.25,4));},"handleZoomIn"),L=a(()=>{S.current=true,C(N=>Math.max(N-.25,.25));},"handleZoomOut");return useEffect(()=>{a(async()=>{if(a$1.current)try{D(!0),p(null);let l=o;if(!l&&r&&(l=await(await fetch(r)).blob()),!l){p("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(l.size/(1024*1024)>br){p(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${br} \u041C\u0411)`);return}a$1.current.innerHTML="";let P=renderAsync(l,a$1.current,void 0,{debug:!0,experimental:!0,hideWrapperOnPrint:!0,breakPages:!0,ignoreLastRenderedPageBreak:!1}),v=new Promise((A,te)=>setTimeout(()=>te(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")),qo));await Promise.race([P,v]),await new Promise(A=>requestAnimationFrame(A));let X=a$1.current.querySelector(".docx-wrapper");if(X&&(z$1.current=X.offsetWidth,T({width:X.offsetWidth,height:X.offsetHeight})),n.current&&z$1.current>0){let A=n.current.clientWidth,te=Math.min(A/z$1.current,1);C(te);}D(!1);}catch(l){p(l?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B"),D(false);}},"renderDocument")();},[r,o]),useEffect(()=>{if(!n.current)return;let N=Uo(R=>{if(!(S.current||z$1.current===0))for(let P of R){let v=P.contentRect.width,X=Math.min(v/z$1.current,1);C(X);}},150),l=new ResizeObserver(N);return l.observe(n.current),()=>{l.disconnect(),N.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",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsx(Pa,{style:{width:20,height:20}}),onClick:L,disabled:k<=.25,className:"bg-white! hover:bg-blue-50!",p:7}),jsxs(pb,{py:8,px:8,className:"flex items-center justify-between gap-1.5 min-w-21 rounded-[5px]!",children:[jsx(Ya,{color:"text.lighter",style:{fontSize:10},children:"Scale:"}),jsxs(Ya,{children:[Math.round(k*100),"%"]})]}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(ma,{style:{width:14,height:14}}),onClick:t,disabled:k>=4,className:"bg-white! hover:bg-blue-50!",p:10})]}),!!u&&!m&&jsx("div",{className:"text-red-500 p-8",children:u}),m&&jsx("div",{className:"flex items-center justify-center p-8",children:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F..."}),jsx("div",{ref:n,className:"w-full h-full overflow-auto [&::-webkit-scrollbar-thumb]:bg-gray-100 [&::-webkit-scrollbar-track]:bg-[gray]",style:{backgroundColor:"gray",scrollbarGutter:"stable both-edges",scrollbarColor:"#f1f1f1 gray"},children:jsx("div",{style:{width:x.width>0?x.width*k:void 0,height:x.height>0?x.height*k:void 0,overflow:"hidden",margin:"0 auto"},children:jsx("div",{ref:a$1,className:`[&>div.docx-wrapper_table_*]:wrap-break-word!
66
+ `);var ur=a(({url:r})=>{let[o,n]=useState(1),[a$1,p]=useState(),u=lr.useRef(null),m=lr.useRef(null),k=a(()=>{n(C=>Math.min(C+.25,4));},"handleZoomIn");return jsxs("div",{ref:m,className:"h-full w-full flex flex-col px-6",children:[jsxs("div",{className:"flex justify-center items-stretch py-3 gap-1 border-b border-gray-200 relative mx-2.5",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsx(Pa,{style:{width:20,height:20}}),onClick:a(()=>{n(C=>Math.max(C-.25,.25));},"handleZoomOut"),disabled:o<=.25,className:"bg-white! hover:bg-blue-50!",p:7}),jsxs(pb,{py:8,px:8,className:"flex items-center justify-between gap-1.5 min-w-21 rounded-[5px]!",children:[jsx(Ya,{color:"text.lighter",style:{fontSize:10},children:"Scale:"}),jsxs(Ya,{children:[o*100,"%"]})]}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(ma,{style:{width:14,height:14}}),onClick:k,disabled:o>=4,className:"bg-white! hover:bg-blue-50!",p:10})]}),jsx("div",{className:"h-full w-full overflow-auto",children:jsx("img",{src:r,ref:u,alt:"image",className:"block w-auto max-w-none object-contain",style:{transition:"all 0.2s ease-in-out",marginInline:"auto",marginBlock:10,flexShrink:0,...a$1==="width"&&{width:`calc(${o*100}% - 20px)`},...a$1==="height"&&{height:`calc(${o*100}% - 20px)`}},onLoad:()=>{if(u.current&&m.current){let C=u.current.width,D=u.current.height,y=C<D?"height":"width";p(y);}}})})]})},"ImageDriver");var hr=a(({url:r})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full py-5.5 px-8.5",children:jsx("audio",{controls:true,src:r,className:"w-full"})}),"AudioDriver");var Ct=a(({url:r})=>{let[o,n]=useState(null),[a$1,p]=useState(false),[u,m]=useState(true),[k,T]=useState(null);return useEffect(()=>{p(true);},[]),useEffect(()=>{if(!a$1)return;a(async()=>{try{let D=await import('./PdfDriver-JBTZ7E5F.mjs');n(()=>D.PdfDriver),m(!1);}catch(D){console.error("Failed to load PDF driver:",D),T("Failed to load PDF viewer"),m(false);}},"loadPdfDriver")();},[a$1]),a$1?u?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})}):k||!o?jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-red-500 text-center",children:jsx("p",{children:k||"PDF viewer unavailable"})})}):jsx(o,{url:r}):jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})})},"PdfDriverWrapper");var mr=50,Yo=1e4,br=a(({url:r,blob:o})=>{let n=useRef(null),a$1=useRef(null),[p,u]=useState(null),[m,k]=useState(true),[T,C]=useState(1),D=useRef(false),[y,R]=useState({width:0,height:0}),j=useRef(0),t=a(()=>{D.current=true,C(w=>Math.min(w+.25,4));},"handleZoomIn"),L=a(()=>{D.current=true,C(w=>Math.max(w-.25,.25));},"handleZoomOut");return useEffect(()=>{a(async()=>{if(a$1.current)try{k(!0),u(null);let d=o;if(!d&&r&&(d=await(await fetch(r)).blob()),!d){u("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(d.size/(1024*1024)>mr){u(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${mr} \u041C\u0411)`);return}a$1.current.innerHTML="";let S=renderAsync(d,a$1.current,void 0,{debug:!0,experimental:!0,hideWrapperOnPrint:!0,breakPages:!0,ignoreLastRenderedPageBreak:!1}),P=new Promise(($,J)=>setTimeout(()=>J(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")),Yo));await Promise.race([S,P]),await new Promise($=>requestAnimationFrame($));let F=a$1.current.querySelector(".docx-wrapper");if(F&&(j.current=F.offsetWidth,R({width:F.offsetWidth,height:F.offsetHeight})),n.current&&j.current>0){let $=n.current.clientWidth,J=Math.min($/j.current,1);C(J);}k(!1);}catch(d){u(d?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B"),k(false);}},"renderDocument")();},[r,o]),useEffect(()=>{if(!n.current)return;let w=qo(E=>{if(!(D.current||j.current===0))for(let S of E){let P=S.contentRect.width,F=Math.min(P/j.current,1);C(F);}},150),d=new ResizeObserver(w);return d.observe(n.current),()=>{d.disconnect(),w.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",children:[jsx(z,{variant:"outlined","aria-label":"zoom-out",color:"default",size:"small",icon:jsx(Pa,{style:{width:20,height:20}}),onClick:L,disabled:T<=.25,className:"bg-white! hover:bg-blue-50!",p:7}),jsxs(pb,{py:8,px:8,className:"flex items-center justify-between gap-1.5 min-w-21 rounded-[5px]!",children:[jsx(Ya,{color:"text.lighter",style:{fontSize:10},children:"Scale:"}),jsxs(Ya,{children:[Math.round(T*100),"%"]})]}),jsx(z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"default",icon:jsx(ma,{style:{width:14,height:14}}),onClick:t,disabled:T>=4,className:"bg-white! hover:bg-blue-50!",p:10})]}),!!p&&!m&&jsx("div",{className:"text-red-500 p-8",children:p}),m&&jsx("div",{className:"flex items-center justify-center p-8",children:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F..."}),jsx("div",{ref:n,className:"w-full h-full overflow-auto [&::-webkit-scrollbar-thumb]:bg-gray-100 [&::-webkit-scrollbar-track]:bg-[gray]",style:{backgroundColor:"gray",scrollbarGutter:"stable both-edges",scrollbarColor:"#f1f1f1 gray"},children:jsx("div",{style:{width:y.width>0?y.width*T:void 0,height:y.height>0?y.height*T:void 0,overflow:"hidden",margin:"0 auto"},children:jsx("div",{ref:a$1,className:`[&>div.docx-wrapper_table_*]:wrap-break-word!
67
67
  [&>div.docx-wrapper_table]:table-fixed!
68
68
  [&>div.docx-wrapper_table_td]:w-fit!
69
69
  [&>div.docx-wrapper_table_col]:w-fit!
@@ -79,11 +79,11 @@ ${r?`
79
79
  [&>div.docx-wrapper]:box-border
80
80
  [&>div.docx-wrapper]:min-w-fit!
81
81
  [&>div.docx-wrapper]:w-full!
82
- [&>div.docx-wrapper]:min-h-full`,style:{boxSizing:"border-box",wordBreak:"break-word",overflowWrap:"break-word",transform:`scale(${k})`,transformOrigin:"top left"}})})})]})},"DocxDriver");var sn=a(r=>({js:[javascript({jsx:false})],jsx:[javascript({jsx:true})],ts:[javascript({typescript:true,jsx:false})],tsx:[javascript({typescript:true,jsx:true})],json:[json()],html:[html()],css:[css()],scss:[css()],py:[python()],java:[java()],cpp:[cpp()],c:[cpp()],php:[php()],rs:[rust()],xml:[xml()],yaml:[yaml()],yml:[yaml()],md:[markdown()],sql:[sql()],sh:[markdown()],bash:[markdown()]})[r]||[],"getLanguageExtension"),Sr=a(({url:r,extension:o})=>{let[n,a$1]=useState(""),[u,p]=useState(true),[m,D]=useState(null),[k,C]=useState(0),S=useRef(null);if(useEffect(()=>{a(async()=>{try{p(!0),D(null);let t=await fetch(r);if(!t.ok)throw new Error(`Failed to load file: ${t.statusText}`);let L=await t.text();a$1(L);}catch(t){D(t instanceof Error?t.message:"Failed to load text content");}finally{p(false);}},"loadTextContent")();},[r]),useEffect(()=>{let z=a(()=>{if(S.current){let t=S.current.clientHeight;C(t);}},"updateHeight");return z(),window.addEventListener("resize",z),()=>{window.removeEventListener("resize",z);}},[u]),u)return jsx("div",{className:"flex items-center justify-center p-8.5",children:jsx("div",{className:"text-gray-500",children:"Loading text content..."})});if(m)return jsx("div",{className:"flex items-center justify-center p-8.5",children:jsxs("div",{className:"text-red-500",children:["Error: ",m]})});if(o==="md")return jsx("div",{ref:S,className:"h-full w-full overflow-auto p-5 prose max-w-[100%] select-text prose-table px-8.5",style:{wordBreak:"break-word"},children:jsx(nn,{remarkPlugins:[an],children:n})});let T=sn(o);return jsx("div",{ref:S,className:"h-full w-full",children:k>0&&jsx(Vo,{value:n,theme:vscodeLight,extensions:T,editable:false,height:`${k}px`,basicSetup:{lineNumbers:true,highlightActiveLineGutter:false,highlightActiveLine:false,foldGutter:true,dropCursor:false,indentOnInput:false,syntaxHighlighting:true,bracketMatching:true,closeBrackets:false,autocompletion:false,rectangularSelection:false,crosshairCursor:false,highlightSelectionMatches:false,closeBracketsKeymap:false,searchKeymap:false,foldKeymap:true,completionKeymap:false,lintKeymap:false}})})},"TextDriver");var Cr=a(({url:r})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full px-8.5",children:jsx("video",{controls:true,src:r,className:"w-full max-h-full"})}),"VideoDriver");var Tt=class Tt{constructor(o=8){this.cache=new Map;this.pinned=new Set;this.maxSize=o;}get(o){let n=this.cache.get(o);return n!==void 0&&(this.cache.delete(o),this.cache.set(o,n)),n}set(o,n){if(this.cache.delete(o),this.cache.size>=this.maxSize){for(let a of this.cache.keys())if(!this.pinned.has(a)){this.cache.delete(a);break}}this.cache.set(o,n);}pin(o){this.pinned.clear();for(let n of o)this.pinned.add(n);this.pinned.size>this.maxSize&&(this.maxSize=this.pinned.size+4);}clear(){this.cache.clear(),this.pinned.clear();}};a(Tt,"LruChunkCache");var gt=Tt;var Ee="chunks",It=class It{constructor(o,n,a){this.db=o,this.sessionId=n,this.dbName=a;}async set(o,n){return new Promise((a,u)=>{let p=this.db.transaction(Ee,"readwrite");p.objectStore(Ee).put(n,o),p.oncomplete=()=>a(),p.onerror=()=>u(p.error);})}async get(o){return new Promise((n,a)=>{let p=this.db.transaction(Ee,"readonly").objectStore(Ee).get(o);p.onsuccess=()=>n(p.result??void 0),p.onerror=()=>a(p.error);})}async clear(){return new Promise((o,n)=>{let a=this.db.transaction(Ee,"readwrite");a.objectStore(Ee).clear(),a.oncomplete=()=>o(),a.onerror=()=>n(a.error);})}async destroy(){return this.db.close(),new Promise((o,n)=>{let a=indexedDB.deleteDatabase(this.dbName);a.onsuccess=()=>o(),a.onerror=()=>n(a.error),a.onblocked=()=>o();})}};a(It,"IndexedDBStore");var Nt=It,Et=class Et{constructor(){this.sessionId=null;this.chunks=new Map;}async set(o,n){this.chunks.set(o,n);}async get(o){return this.chunks.get(o)}async clear(){this.chunks.clear();}async destroy(){this.chunks.clear();}};a(Et,"MemoryStore");var Rt=Et;async function Pr(){let r=`${Date.now()}_${Math.random().toString(36).slice(2)}`,o=`csv-chunks-${r}`;try{let n=await new Promise((a,u)=>{let p=indexedDB.open(o,1);p.onupgradeneeded=()=>{let m=p.result;m.objectStoreNames.contains(Ee)||m.createObjectStore(Ee);},p.onsuccess=()=>a(p.result),p.onerror=()=>u(p.error);});return new Nt(n,r,o)}catch{return console.warn("IndexedDB unavailable, falling back to in-memory storage"),new Rt}}a(Pr,"createChunkStore");function pn(r,o,n=false){return n&&r.onRetry?Promise.resolve(r.onRetry()):r.stream?Promise.resolve(r.stream):r.blob?Promise.resolve(r.blob.stream()):r.url?fetch(r.url,{signal:o}).then(a=>{if(!a.ok)throw new Error(`HTTP ${a.status}`);return a.body}):Promise.reject(new Error("No source provided: url, blob, or stream required"))}a(pn,"resolveStream");function Tr(r){let[o,n]=useState("idle"),[a,u]=useState(0),[p,m]=useState([]),[D,k]=useState(null),[C,S]=useState(0),[x,T]=useState(0),z=useRef(r),t=useRef(0),L=useRef(0),N=useRef(""),l=useRef(new gt(10)),R=useRef(null),P=useRef(null),v=useRef(null),X=useRef(new Set),A=useRef(null),te=useCallback((Y,U)=>{let _=Y+`
83
- `+U.join(`
84
- `),{data:oe}=Lt.parse(_,{header:true,dynamicTyping:false,skipEmptyLines:true,delimiter:z.current.delimiter||void 0});return oe},[]),re=useCallback(async(Y,U)=>{let _=R.current;if(!_)return;let oe=Math.max(0,Math.floor(Y/1e3)-2),De=Math.min(t.current-1,Math.floor(U/1e3)+2),ce=false;for(let K=oe;K<=De;K++)if(l.current.get(K)===void 0&&!X.current.has(K)){X.current.add(K);try{let fe=await _.get(K);if(fe&&N.current){let ie=te(N.current,fe);l.current.set(K,ie),ce=!0;}}finally{X.current.delete(K);}}ce&&T(K=>K+1);},[te]),me=useCallback(Y=>{let U=Math.floor(Y/1e3),_=Y%1e3;return l.current.get(U)?.[_]},[x]),de=useCallback(async(Y=false)=>{let U=new AbortController;v.current=U,await R.current?.destroy();let _=await Pr();R.current=_,t.current=0,L.current=0,N.current="",l.current.clear(),m([]),u(0),k(null),S(0),n("loading");let oe=z.current,De=oe.delimiter||void 0;try{let ce=await pn(oe,U.signal,Y);n("streaming");let K=ce.getReader();P.current=K;let fe=new TextDecoder("utf-8"),ie="",le=[],Le=!0,Ge=0,ze=0,Ze=oe.blob?.size||0;for(;;){if(U.signal.aborted)return;let{done:Te,value:je}=await K.read();if(Te)break;Ge+=je.byteLength,Ze&&S(Ge/Ze),ie+=fe.decode(je,{stream:!0});let Ae=ie.lastIndexOf(`
85
- `);if(Ae===-1)continue;let kt=ie.slice(0,Ae);ie=ie.slice(Ae+1);let Ne=kt.split(`
86
- `);if(Le&&Ne.length>0){N.current=Ne.shift();let{data:Ce}=Lt.parse(N.current,{delimiter:De});Ce[0]&&m(Ce[0]),Le=!1;}for(let Ce of Ne)if(Ce.trim()&&(le.push(Ce),le.length>=1e3)){let Be=t.current;if(await _.set(Be,le),Be<3){let St=te(N.current,le);l.current.set(Be,St);}t.current+=1,ze+=le.length,le=[],L.current=ze,A.current||(A.current=requestAnimationFrame(()=>{u(L.current),A.current=null;}));}}if(ie.trim())if(Le){N.current=ie;let{data:Te}=Lt.parse(N.current,{delimiter:De});Te[0]&&m(Te[0]);}else le.push(ie);le.length>0&&(await _.set(t.current,le),t.current+=1,ze+=le.length),A.current&&(cancelAnimationFrame(A.current),A.current=null),u(ze),S(1),n("done");}catch(ce){if(U.signal.aborted){console.log("[CsvStream] aborted");return}let K=ce instanceof Error?ce.message:"Unknown error";console.error("[CsvStream] error:",K),k(K),n("partial_error");}},[te]),Me=useCallback(()=>{de(true);},[de]);useEffect(()=>(de(),()=>{v.current?.abort(),P.current?.releaseLock(),P.current=null,R.current?.destroy(),A.current&&cancelAnimationFrame(A.current);}),[de]);let Se=R.current?.sessionId??null,B=t.current,Z=useCallback(Y=>{l.current.pin(Y);},[]);return {state:o,headers:p,totalRows:a,getRow:me,error:D,retry:Me,progress:C,prefetchRange:re,sessionId:Se,chunkCount:B,pinChunks:Z}}a(Tr,"useCsvStream");var hn=`
82
+ [&>div.docx-wrapper]:min-h-full`,style:{boxSizing:"border-box",wordBreak:"break-word",overflowWrap:"break-word",transform:`scale(${T})`,transformOrigin:"top left"}})})})]})},"DocxDriver");var sn=a(r=>({js:[javascript({jsx:false})],jsx:[javascript({jsx:true})],ts:[javascript({typescript:true,jsx:false})],tsx:[javascript({typescript:true,jsx:true})],json:[json()],html:[html()],css:[css()],scss:[css()],py:[python()],java:[java()],cpp:[cpp()],c:[cpp()],php:[php()],rs:[rust()],xml:[xml()],yaml:[yaml()],yml:[yaml()],md:[markdown()],sql:[sql()],sh:[markdown()],bash:[markdown()]})[r]||[],"getLanguageExtension"),kr=a(({url:r,extension:o})=>{let[n,a$1]=useState(""),[p,u]=useState(true),[m,k]=useState(null),[T,C]=useState(0),D=useRef(null);if(useEffect(()=>{a(async()=>{try{u(!0),k(null);let t=await fetch(r);if(!t.ok)throw new Error(`Failed to load file: ${t.statusText}`);let L=await t.text();a$1(L);}catch(t){k(t instanceof Error?t.message:"Failed to load text content");}finally{u(false);}},"loadTextContent")();},[r]),useEffect(()=>{let j=a(()=>{if(D.current){let t=D.current.clientHeight;C(t);}},"updateHeight");return j(),window.addEventListener("resize",j),()=>{window.removeEventListener("resize",j);}},[p]),p)return jsx("div",{className:"flex items-center justify-center p-8.5",children:jsx("div",{className:"text-gray-500",children:"Loading text content..."})});if(m)return jsx("div",{className:"flex items-center justify-center p-8.5",children:jsxs("div",{className:"text-red-500",children:["Error: ",m]})});if(o==="md")return jsx("div",{ref:D,className:"h-full w-full overflow-auto p-5 prose max-w-[100%] select-text prose-table px-8.5",style:{wordBreak:"break-word"},children:jsx(nn,{remarkPlugins:[an],children:n})});let R=sn(o);return jsx("div",{ref:D,className:"h-full w-full",children:T>0&&jsx(Vo,{value:n,theme:vscodeLight,extensions:R,editable:false,height:`${T}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 Dr=a(({url:r})=>jsx("div",{className:"flex flex-col justify-center items-center w-full h-full px-8.5",children:jsx("video",{controls:true,src:r,className:"w-full max-h-full"})}),"VideoDriver");var Mt=class Mt{constructor(o=8){this.cache=new Map;this.pinned=new Set;this.maxSize=o;}get(o){let n=this.cache.get(o);return n!==void 0&&(this.cache.delete(o),this.cache.set(o,n)),n}set(o,n){if(this.cache.delete(o),this.cache.size>=this.maxSize){for(let a of this.cache.keys())if(!this.pinned.has(a)){this.cache.delete(a);break}}this.cache.set(o,n);}pin(o){this.pinned.clear();for(let n of o)this.pinned.add(n);this.pinned.size>this.maxSize&&(this.maxSize=this.pinned.size+4);}clear(){this.cache.clear(),this.pinned.clear();}};a(Mt,"LruChunkCache");var mt=Mt;var Re="chunks",Rt=class Rt{constructor(o,n,a){this.db=o,this.sessionId=n,this.dbName=a;}async set(o,n){return new Promise((a,p)=>{let u=this.db.transaction(Re,"readwrite");u.objectStore(Re).put(n,o),u.oncomplete=()=>a(),u.onerror=()=>p(u.error);})}async get(o){return new Promise((n,a)=>{let u=this.db.transaction(Re,"readonly").objectStore(Re).get(o);u.onsuccess=()=>n(u.result??void 0),u.onerror=()=>a(u.error);})}async clear(){return new Promise((o,n)=>{let a=this.db.transaction(Re,"readwrite");a.objectStore(Re).clear(),a.oncomplete=()=>o(),a.onerror=()=>n(a.error);})}async destroy(){return this.db.close(),new Promise((o,n)=>{let a=indexedDB.deleteDatabase(this.dbName);a.onsuccess=()=>o(),a.onerror=()=>n(a.error),a.onblocked=()=>o();})}};a(Rt,"IndexedDBStore");var Tt=Rt,It=class It{constructor(){this.sessionId=null;this.chunks=new Map;}async set(o,n){this.chunks.set(o,n);}async get(o){return this.chunks.get(o)}async clear(){this.chunks.clear();}async destroy(){this.chunks.clear();}};a(It,"MemoryStore");var Nt=It;async function Cr(){let r=`${Date.now()}_${Math.random().toString(36).slice(2)}`,o=`csv-chunks-${r}`;try{let n=await new Promise((a,p)=>{let u=indexedDB.open(o,1);u.onupgradeneeded=()=>{let m=u.result;m.objectStoreNames.contains(Re)||m.createObjectStore(Re);},u.onsuccess=()=>a(u.result),u.onerror=()=>p(u.error);});return new Tt(n,r,o)}catch{return console.warn("IndexedDB unavailable, falling back to in-memory storage"),new Nt}}a(Cr,"createChunkStore");function pn(r,o){return r.stream?Promise.resolve(r.stream):r.blob?Promise.resolve(r.blob.stream()):r.url?fetch(r.url,{signal:o}).then(n=>{if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.body}):Promise.reject(new Error("No source provided"))}a(pn,"resolveStream");function Mr(r){let[o,n]=useState("idle"),[a,p]=useState(0),[u,m]=useState([]),[k,T]=useState(null),[C,D]=useState(0),[y,R]=useState(0),j=useRef(r),t=useRef(0),L=useRef(0),w=useRef(""),d=useRef(new mt(10)),E=useRef(null),S=useRef(null),P=useRef(new Set),F=useRef(null),$=useRef(false),J=useCallback((H,ne)=>{let B=H+`
83
+ `+ne.join(`
84
+ `),{data:ue}=Et.parse(B,{header:true,dynamicTyping:false,skipEmptyLines:true,delimiter:j.current.delimiter||void 0});return ue},[]),oe=useCallback(async(H,ne)=>{let B=E.current;if(!B)return;let ue=Math.max(0,Math.floor(H/1e3)-2),ge=Math.min(t.current-1,Math.floor(ne/1e3)+2),le=false;for(let ee=ue;ee<=ge;ee++)if(d.current.get(ee)===void 0&&!P.current.has(ee)){P.current.add(ee);try{let te=await B.get(ee);if(te&&w.current){let ce=J(w.current,te);d.current.set(ee,ce),le=!0;}}finally{P.current.delete(ee);}}le&&R(ee=>ee+1);},[J]),ye=useCallback(H=>{let ne=Math.floor(H/1e3),B=H%1e3;return d.current.get(ne)?.[B]},[y]),fe=useCallback(async()=>{$.current=true;let H=new AbortController;S.current=H,await E.current?.destroy();let ne=await Cr();E.current=ne,t.current=0,L.current=0,w.current="",d.current.clear(),m([]),p(0),T(null),D(0),n("loading");let B=j.current,ue=B.delimiter||void 0;try{let ge=await pn(B,H.signal);n("streaming");let le=ge.getReader(),ee=new TextDecoder("utf-8"),te="",ce=[],Ie=!0,We=0,Ee=0,Ue=B.blob?.size||0;for(;;){if(H.signal.aborted)return;let{done:Le,value:Xe}=await le.read();if(Le)break;We+=Xe.byteLength,Ue&&D(We/Ue),te+=ee.decode(Xe,{stream:!0});let Me=te.lastIndexOf(`
85
+ `);if(Me===-1)continue;let Ve=te.slice(0,Me);te=te.slice(Me+1);let Ge=Ve.split(`
86
+ `);if(Ie&&Ge.length>0){w.current=Ge.shift();let{data:we}=Et.parse(w.current,{delimiter:ue});we[0]&&m(we[0]),Ie=!1;}for(let we of Ge)if(we.trim()&&(ce.push(we),ce.length>=1e3)){let ze=t.current;if(await ne.set(ze,ce),ze<3){let Ze=J(w.current,ce);d.current.set(ze,Ze);}t.current+=1,Ee+=ce.length,ce=[],L.current=Ee,F.current||(F.current=requestAnimationFrame(()=>{p(L.current),F.current=null;}));}}if(te.trim())if(Ie){w.current=te;let{data:Le}=Et.parse(w.current,{delimiter:ue});Le[0]&&m(Le[0]);}else ce.push(te);ce.length>0&&(await ne.set(t.current,ce),t.current+=1,Ee+=ce.length),F.current&&(cancelAnimationFrame(F.current),F.current=null),p(Ee),D(1),n("done");}catch(ge){if(H.signal.aborted)return;let le=ge instanceof Error?ge.message:"Unknown error";T(le),n("partial_error");}finally{$.current=false;}},[J]),ve=useRef(false);useEffect(()=>(ve.current=true,$.current||fe(),()=>{ve.current=false,queueMicrotask(()=>{ve.current||(S.current?.abort(),E.current?.destroy(),F.current&&cancelAnimationFrame(F.current));});}),[fe]);let A=E.current?.sessionId??null,U=t.current,ie=useCallback(H=>{d.current.pin(H);},[]);return {state:o,headers:u,totalRows:a,getRow:ye,error:k,progress:C,prefetchRange:oe,sessionId:A,chunkCount:U,pinChunks:ie}}a(Mr,"useCsvStream");var hn=`
87
87
  const DB_VERSION = 1;
88
88
  const STORE_NAME = 'chunks';
89
89
 
@@ -169,12 +169,13 @@ self.onmessage = async (e) => {
169
169
  }
170
170
  }
171
171
  };
172
- `,Je=null,et=null;function zt(){if(!Je){let r=new Blob([hn],{type:"application/javascript"});et=URL.createObjectURL(r),Je=new Worker(et);}return Je}a(zt,"getSearchWorker");function Nr(){Je?.terminate(),Je=null,et&&(URL.revokeObjectURL(et),et=null);}a(Nr,"terminateSearchWorker");function Rr(r,o){let[n,a]=useState(""),[u,p]=useState("idle"),[m,D]=useState(null),[k,C]=useState({searched:0,total:0,found:0}),S=useRef(null),x=useCallback(t=>{if(!r||o===0)return;if(!t.trim()){D(null),p("idle"),C({searched:0,total:0,found:0});return}p("searching"),C({searched:0,total:o,found:0});let L=zt();L.onmessage=N=>{let{type:l}=N.data;l==="progress"&&C({searched:N.data.searched,total:N.data.total,found:N.data.found}),l==="done"&&(D(N.data.matchedIndices),p("done")),l==="cancelled"&&p("idle"),l==="error"&&(p("idle"),console.error("Search worker error:",N.data.message));},L.postMessage({type:"cancel"}),L.postMessage({type:"search",sessionId:r,query:t,chunkCount:o,chunkSize:1e3});},[r,o]),T=useCallback(t=>{a(t),S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{x(t);},300);},[x]),z=useCallback(()=>{a(""),D(null),p("idle"),C({searched:0,total:0,found:0}),zt().postMessage({type:"cancel"});},[]);return useEffect(()=>()=>{S.current&&clearTimeout(S.current),Nr();},[]),{query:n,onQueryChange:T,clearSearch:z,searchState:u,matchedIndices:m,searchProgress:k}}a(Rr,"useCsvSearch");var xn={loading:"Loading...",rows:"rows",rowsIncomplete:"rows (incomplete)",retry:"Retry",searchPlaceholder:"Search...",searchFound:"found",searching:"Searching..."};function zr(r,o,n){let a=1/0,u=-1/0,p=Math.min(n,r.length-1);for(let m=o;m<=p;m++){let D=r[m];D<a&&(a=D),D>u&&(u=D);}return {min:a,max:u}}a(zr,"getMinMax");var Bt=a(r=>{let{state:o,headers:n,totalRows:a$1,getRow:u,error:p,retry:m,progress:D,prefetchRange:k,sessionId:C,chunkCount:S,pinChunks:x}=Tr(r),T={...xn,...r.labels},{query:z$1,onQueryChange:t,clearSearch:L,searchState:N,matchedIndices:l}=Rr(C,S),R=l!==null,P=R?l.length:a$1,[v,X]=useState([]),A=useRef(null),te=useRef(null);useEffect(()=>{n.length>0&&v.length!==n.length&&X(n.map(B=>Math.min(Math.max(150,B.length*9),500)));},[n,v.length]),useEffect(()=>()=>te.current?.(),[]);let re=useCallback((B,Z)=>{B.preventDefault();let Y=B.clientX,U=v[Z]??150;A.current={index:Z,startX:Y,startWidth:U};let _=a(De=>{if(!A.current)return;let ce=De.clientX-Y,K=Math.max(50,U+ce);X(fe=>{let ie=[...fe];return ie[Z]=K,ie});},"onMouseMove"),oe=a(()=>{A.current=null,te.current=null,document.removeEventListener("mousemove",_),document.removeEventListener("mouseup",oe);},"onMouseUp");te.current=oe,document.addEventListener("mousemove",_),document.addEventListener("mouseup",oe);},[v]),me=v.reduce((B,Z)=>B+Z,0),de=useCallback(()=>jsx(Dn,{children:n.map((B,Z)=>jsxs(Cn,{style:{width:v[Z]},children:[B,jsx(Pn,{onMouseDown:Y=>re(Y,Z)})]},B))}),[n,v,re]),Me=useCallback(B=>{if(R&&l){let{min:Z,max:Y}=zr(l,B.startIndex,B.endIndex),U=new Set,_=Math.min(B.endIndex,l.length-1);for(let oe=B.startIndex;oe<=_;oe++)U.add(Math.floor(l[oe]/1e3));x(Array.from(U)),Z!==1/0&&k(Z,Y);}else x([]),k(B.startIndex,B.endIndex);},[k,x,R,l]),Se=useCallback(B=>{let Z=R&&l?l[B]:B,Y=u(Z);return Y?n.map(U=>jsx(jr,{style:{width:v[n.indexOf(U)]},children:Y[U]??""},U)):n.map(U=>jsx(jr,{style:{width:v[n.indexOf(U)]},children:jsx(Tn,{})},U))},[u,n,v,R,l]);return useEffect(()=>{if(P>0)if(R&&l){let{min:B,max:Z}=zr(l,0,50);B!==1/0&&k(B,Z);}else k(0,50);},[P,R,l,k]),o==="idle"||o==="loading"||o==="streaming"?jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-3",children:[jsx("div",{className:"h-10 w-10 rounded-full border-2 border-gray-200 animate-spin border-s-transparent"}),o==="streaming"&&a$1>0&&jsxs(Ya,{variant:"body",color:"text.lighter",style:{fontSize:12},children:[T.loading," ",a$1.toLocaleString()," ",T.rows,D>0?` (${Math.round(D*100)}%)`:""]})]}):jsxs("div",{className:"h-full w-full flex flex-col",children:[jsxs("div",{className:"flex items-center justify-between px-4 py-2 gap-3",children:[jsx(Ya,{variant:"body",color:"text.lighter",style:{fontSize:12,whiteSpace:"nowrap"},children:`${P.toLocaleString()} ${R?T.searchFound:T.rows}${R?` / ${a$1.toLocaleString()}`:""}`}),jsxs(Nn,{children:[jsx(Rn,{type:"text",value:z$1,onChange:B=>t(B.target.value),placeholder:T.searchPlaceholder}),N==="searching"?jsx(En,{children:jsx(Ln,{})}):z$1?jsx(In,{onClick:L,type:"button",children:"\u2715"}):null]})]}),o==="partial_error"&&jsxs(pb,{className:"flex items-center justify-between mx-4 mb-2 px-3 py-2 rounded bg-red-50 border border-red-200",children:[jsx(Ya,{variant:"body",style:{fontSize:12,color:"#dc2626"},children:p}),jsx(z,{onClick:m,variant:"outlined",size:"small",children:T.retry})]}),jsx("div",{className:"flex-1 min-h-0",children:n.length>0&&jsx(TableVirtuoso,{totalCount:P,increaseViewportBy:300,fixedHeaderContent:de,itemContent:Se,rangeChanged:Me,style:{height:"100%"},components:{Table:a(({style:B,context:Z,...Y})=>jsx(kn,{style:{...B,width:me},...Y}),"Table"),TableHead:Sn,TableRow:a(({context:B,...Z})=>jsx(Mn,{...Z}),"TableRow")}},R?"filtered":"all")})]})},"CsvDriver"),kn=styled.table`
172
+ `,et=null,tt=null;function Lt(){if(!et){let r=new Blob([hn],{type:"application/javascript"});tt=URL.createObjectURL(r),et=new Worker(tt);}return et}a(Lt,"getSearchWorker");function Tr(){et?.terminate(),et=null,tt&&(URL.revokeObjectURL(tt),tt=null);}a(Tr,"terminateSearchWorker");function Nr(r,o){let[n,a]=useState(""),[p,u]=useState("idle"),[m,k]=useState(null),[T,C]=useState({searched:0,total:0,found:0}),D=useRef(null),y=useCallback(t=>{if(!r||o===0)return;if(!t.trim()){k(null),u("idle"),C({searched:0,total:0,found:0});return}u("searching"),C({searched:0,total:o,found:0});let L=Lt();L.onmessage=w=>{let{type:d}=w.data;d==="progress"&&C({searched:w.data.searched,total:w.data.total,found:w.data.found}),d==="done"&&(k(w.data.matchedIndices),u("done")),d==="cancelled"&&u("idle"),d==="error"&&(u("idle"),console.error("Search worker error:",w.data.message));},L.postMessage({type:"cancel"}),L.postMessage({type:"search",sessionId:r,query:t,chunkCount:o,chunkSize:1e3});},[r,o]),R=useCallback(t=>{a(t),D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{y(t);},300);},[y]),j=useCallback(()=>{a(""),k(null),u("idle"),C({searched:0,total:0,found:0}),Lt().postMessage({type:"cancel"});},[]);return useEffect(()=>()=>{D.current&&clearTimeout(D.current),Tr();},[]),{query:n,onQueryChange:R,clearSearch:j,searchState:p,matchedIndices:m,searchProgress:T}}a(Nr,"useCsvSearch");var xn={loading:"Loading...",rows:"rows",rowsIncomplete:"rows (incomplete)",retry:"Retry",searchPlaceholder:"Search...",searchFound:"found",searching:"Searching..."};function Lr(r,o,n){let a=1/0,p=-1/0,u=Math.min(n,r.length-1);for(let m=o;m<=u;m++){let k=r[m];k<a&&(a=k),k>p&&(p=k);}return {min:a,max:p}}a(Lr,"getMinMax");var Bt=a(r=>{let{state:o,headers:n,totalRows:a$1,getRow:p,error:u,progress:m,prefetchRange:k,sessionId:T,chunkCount:C,pinChunks:D}=Mr(r),y={...xn,...r.labels},{query:R,onQueryChange:j,clearSearch:t,searchState:L,matchedIndices:w}=Nr(T,C),d=w!==null,E=d?w.length:a$1,[S,P]=useState([]),F=useRef(null),$=useRef(null);useEffect(()=>{n.length>0&&S.length!==n.length&&P(n.map(A=>Math.min(Math.max(150,A.length*9),500)));},[n,S.length]),useEffect(()=>()=>$.current?.(),[]);let J=useCallback((A,U)=>{A.preventDefault();let ie=A.clientX,H=S[U]??150;F.current={index:U,startX:ie,startWidth:H};let ne=a(ue=>{if(!F.current)return;let ge=ue.clientX-ie,le=Math.max(50,H+ge);P(ee=>{let te=[...ee];return te[U]=le,te});},"onMouseMove"),B=a(()=>{F.current=null,$.current=null,document.removeEventListener("mousemove",ne),document.removeEventListener("mouseup",B);},"onMouseUp");$.current=B,document.addEventListener("mousemove",ne),document.addEventListener("mouseup",B);},[S]),oe=S.reduce((A,U)=>A+U,0),ye=useCallback(()=>jsx(Dn,{children:n.map((A,U)=>jsxs(Cn,{style:{width:S[U]},children:[A,jsx(Pn,{onMouseDown:ie=>J(ie,U)})]},A))}),[n,S,J]),fe=useCallback(A=>{if(d&&w){let{min:U,max:ie}=Lr(w,A.startIndex,A.endIndex),H=new Set,ne=Math.min(A.endIndex,w.length-1);for(let B=A.startIndex;B<=ne;B++)H.add(Math.floor(w[B]/1e3));D(Array.from(H)),U!==1/0&&k(U,ie);}else D([]),k(A.startIndex,A.endIndex);},[k,D,d,w]),ve=useCallback(A=>{let U=d&&w?w[A]:A,ie=p(U);return ie?n.map(H=>jsx(zr,{style:{width:S[n.indexOf(H)]},children:ie[H]??""},H)):n.map(H=>jsx(zr,{style:{width:S[n.indexOf(H)]},children:jsx(Tn,{})},H))},[p,n,S,d,w]);return useEffect(()=>{if(E>0)if(d&&w){let{min:A,max:U}=Lr(w,0,50);A!==1/0&&k(A,U);}else k(0,50);},[E,d,w,k]),o==="idle"||o==="loading"||o==="streaming"?jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-3",children:[jsx("div",{className:"h-10 w-10 rounded-full border-2 border-gray-200 animate-spin border-s-transparent"}),o==="streaming"&&a$1>0&&jsxs(Ya,{variant:"body",color:"text.lighter",style:{fontSize:12},children:[y.loading," ",a$1.toLocaleString()," ",y.rows,m>0?` (${Math.round(m*100)}%)`:""]})]}):jsxs("div",{className:"h-full w-full flex flex-col",children:[jsxs("div",{className:"flex items-center justify-between px-4 py-2 gap-3",children:[jsx(Ya,{variant:"body",color:"text.lighter",style:{fontSize:12,whiteSpace:"nowrap"},children:`${E.toLocaleString()} ${d?y.searchFound:y.rows}${d?` / ${a$1.toLocaleString()}`:""}`}),jsxs(Nn,{children:[jsx(Rn,{type:"text",value:R,onChange:A=>j(A.target.value),placeholder:y.searchPlaceholder}),L==="searching"?jsx(En,{children:jsx(Ln,{})}):R?jsx(In,{onClick:t,type:"button",children:"\u2715"}):null]})]}),o==="partial_error"&&jsxs(pb,{className:"flex items-center justify-between mx-4 mb-2 px-3 py-2 rounded bg-red-50 border border-red-200",children:[jsx(Ya,{variant:"body",style:{fontSize:12,color:"#dc2626"},children:u}),r.onRetry&&jsx(z,{onClick:()=>r.onRetry?.(u??""),variant:"outlined",size:"small",children:y.retry})]}),jsx("div",{className:"flex-1 min-h-0",children:n.length>0&&jsx(TableVirtuoso,{totalCount:E,increaseViewportBy:300,fixedHeaderContent:ye,itemContent:ve,rangeChanged:fe,style:{height:"100%"},components:{Table:a(({style:A,context:U,...ie})=>jsx(kn,{style:{...A,minWidth:"100%",width:oe},...ie}),"Table"),TableHead:Sn,TableRow:a(({context:A,...U})=>jsx(Mn,{...U}),"TableRow")}},d?"filtered":"all")})]})},"CsvDriver"),kn=styled.table(({theme:r})=>`
173
173
  border-collapse: separate;
174
174
  border-spacing: 0;
175
175
  table-layout: fixed;
176
176
  font-size: 13px;
177
- `,Sn=styled.thead(({theme:r})=>`
177
+ background-color: ${r.colors.background};
178
+ `),Sn=styled.thead(({theme:r})=>`
178
179
  background-color: ${r.colors.background};
179
180
  z-index: 1;
180
181
  `),Dn=styled.tr``,Cn=styled.th(({theme:r})=>`
@@ -208,7 +209,7 @@ self.onmessage = async (e) => {
208
209
  &:hover {
209
210
  background-color: ${r.colors.background};
210
211
  }
211
- `),jr=styled.td(({theme:r})=>`
212
+ `),zr=styled.td(({theme:r})=>`
212
213
  padding: 6px 12px;
213
214
  word-wrap: break-word;
214
215
  overflow-wrap: break-word;
@@ -274,7 +275,7 @@ self.onmessage = async (e) => {
274
275
  @keyframes spin {
275
276
  to { transform: rotate(360deg); }
276
277
  }
277
- `);var Ar=memo(a(function({extension:o,blob:n,path:a,buffer:u,stream:p,csvLabels:m,onCsvRetry:D,not_supported_message:k=" Sorry, this file type isn\u2019t supported yet."}){console.log("Driver props:",{extension:o,blob:n,path:a,buffer:u});let C=o.toLocaleLowerCase().trim(),S;if(a?S=a:n&&(S=URL.createObjectURL(n)),["csv","tsv"].includes(C))return jsx(Bt,{url:S,blob:n,stream:p,delimiter:C==="tsv"?" ":",",labels:m,onRetry:D});if(S){if(["jpeg","jpg","png","gif","bmp","webp"].includes(C))return jsx(pr,{url:S});if(["mp3","wav","ogg","flac"].includes(C))return jsx(fr,{url:S});if(["mp4","webm"].includes(C))return jsx(Cr,{url:S});if(o==="pdf")return jsx(Pt,{url:S});if(["txt","js","jsx","ts","tsx","json","html","css","scss","py","java","cpp","c","cs","php","rb","go","rs","swift","kt","xml","yaml","yml","md","sql","sh","bash"].includes(C))return jsx(Sr,{url:S,extension:C})}return C==="docx"?jsx(yr,{url:S,blob:n}):jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(pb,{className:"mx-5",children:jsx(Ya,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:k})})})},"Driver"));var Pd=a(r=>jsx("div",{className:"h-full w-full",children:jsx(Ar,{...r})}),"FileViewer");var Or=250,_d=a(({text:r,speed:o=50,onDone:n,markdown:a$1=false,markdownComponents:u={},className:p,...m})=>{let[D,k]=useState(""),C=useRef(null),S=useRef(null);return useEffect(()=>{let x=false;if(o>0){k(""),C.current=performance.now();let T=a(z=>{if(x||!C.current)return;let t=z-C.current,L=t/o>Or?o/2:o,N=t/o>Or?1.5:1,l=Math.floor(t/L*N);if(l>=r.length){k(r),x=true,n?.();return}k(r.slice(0,l)),S.current=requestAnimationFrame(T);},"tick");S.current=requestAnimationFrame(T);}else k(r),n?.();return ()=>{S.current&&cancelAnimationFrame(S.current);}},[r,o,n]),a$1?jsx("div",{className:p,children:jsx(nn,{remarkPlugins:[an],components:u,...m,children:D})}):jsx(Ya,{className:p,...m,children:D})},"Typewriter");var Xn={timeout:2e3,message:"Copied!"},Zd=a(({text:r,children:o,format:n="text/plain",tooltip:a$1,positions:u=["top"],className:p})=>{let[m,D]=useState(false),k=useRef(null),C={...Xn,...a$1},S=Array.isArray(u)?u[0]:u,x=a(async()=>{"clipboard"in navigator?await navigator.clipboard.writeText(r):On(r,{format:n}),D(true),k.current&&clearTimeout(k.current),k.current=setTimeout(()=>D(false),C.timeout);},"handleCopy");return useEffect(()=>()=>{k.current&&clearTimeout(k.current);},[]),jsx(Popover,{padding:6,positions:u,isOpen:m,align:"center",onClickOutside:()=>D(false),content:!!a$1?.message&&jsx(Cb,{className:p,$position:S,$offset:6,children:a$1.message}),containerStyle:{zIndex:"9999"},children:jsx("div",{className:"inline-block",onMouseLeave:()=>D(false),children:o({copy:x})})})},"CopyToClipboard");var $r=a(r=>new Date(r?Array.isArray(r)?r[1]||r[0]||new Date:r:new Date),"getInitValue"),xt=a((r,o)=>{let n;if(o){let u=parse(r||"",o,new Date);if(isValid(u)&&getYear(u)>=1970)return u}let a=new Date(r||"");return isNaN(a.getTime())?n:a},"parseDate"),Jn=a((r,o)=>{let n=r?xt(r,o):void 0;return n&&o?format(n,o):r},"renderDate"),lu=a(({value:r,range:o,inline:n=false,minDate:a=new Date(getYear(new Date)-5,0,1),maxDate:u=new Date(getYear(new Date)+5,11,31),format:p="dd.MM.yyyy",onChange:m,...D})=>{let[k,C]=useState(getMonth($r(r))),[S,x]=useState(getYear($r(r))),T=useMemo(()=>{if(r){if(Array.isArray(r)){let t=xt(r[0],p),L=xt(r[1],p);return [t,L]}return xt(r,p)}},[r]),z=useCallback(t=>{if(o){let L=!!(T&&Array.isArray(T)&&T[0]),N=!!(T&&Array.isArray(T)&&T[1]);!L||L&&N?m?.([t.toString(),""]):L&&!N&&(t<T[0]?m?.([t.toString(),T[0].toString()]):m?.([T[0].toString(),t.toString()]));}else m?.(t.toString());},[o,T,m]);return n?jsx(Hr,{month:k,year:S,minDate:a,maxDate:u,selectedDate:T,onSelectDate:z,onChangeMonth:C,onChangeYear:x}):o?jsx(ea,{range:true,value:r,onChange:m,...D}):jsx(ta,{value:r,onChange:m,minDate:a,maxDate:u,month:k,year:S,selectedDate:T,onChangeMonth:C,onChangeYear:x,onSelectDate:z,formatStr:p,...D})},"DatePicker"),ea=a(({minDate:r,maxDate:o,value:n,onChange:a})=>null,"DatePickerGroupInput"),ta=a(({placeholder:r,value:o,onChange:n,inputProps:a,...u})=>{let[p,m]=useState(false),D=y();return jsx(Popover,{positions:["bottom","top","right","left"],align:"start",isOpen:p,onClickOutside:()=>m(false),content:jsx(pb,{children:jsx(Hr,{...u})}),containerStyle:{zIndex:`${D.zIndex.popover}`},children:jsx("div",{onClick:()=>m(true),children:jsx(kb,{...a,placeholder:r,value:Jn(o,u.formatStr),onChange:k=>n?.(k.target.value)})})})},"DatePickerInput"),Hr=a(({month:r,year:o,selectedDate:n,minDate:a,maxDate:u,onSelectDate:p,onChangeMonth:m,onChangeYear:D})=>{let k=useMemo(()=>new Array(12).fill(null).map((l,R)=>{let P=new Date(0,R);return {value:R+1,inputDisplay:format(P,"MMMM")}}),[]),C=useMemo(()=>{let l=getYear(a),P=getYear(u)-l+1;return new Array(P).fill(null).map((v,X)=>{let A=l+X;return {value:A,inputDisplay:A.toString()}})},[a,u]),S=useMemo(()=>new Array(7).fill(null).map((l,R)=>{let P=startOfWeek(new Date,{weekStartsOn:R});return format(P,"EEE")}),[]),x=useMemo(()=>{let l=startOfMonth(new Date(o,r)),R=endOfMonth(new Date(o,r)),P=getDay(l)===0?l:previousSunday(l),v=getDay(R)===6?R:nextSaturday(R),X=differenceInDays(v,P),A=differenceInDays(l,P);return new Array(X+1).fill(null).map((te,re)=>new Date(o,r,re-A+1))},[r,o]),T=useCallback(()=>{r===0?(D(o-1),m(11)):m(r-1);},[r,o]),z$1=useCallback(()=>{r===11?(D(o+1),m(0)):m(r+1);},[r,o]),t=useMemo(()=>a?!(o<getYear(a)||o===getYear(a)&&r<=getMonth(a)):true,[r,o,a]),L=useMemo(()=>u?!(o>getYear(u)||o===getYear(u)&&r>=getMonth(u)):true,[r,o,u]),N=useCallback(l=>{l.stopPropagation();},[]);return jsxs("div",{className:"flex flex-col date-picker-calendar",onClick:N,children:[jsxs("div",{className:"flex justify-center items-center gap-2 pb-3",children:[t&&jsx(z,{size:"small",variant:"empty",icon:jsx(G,{}),onClick:T}),jsxs("div",{className:"flex-1 flex justify-center gap-1",children:[jsx(ib,{placeholder:"",hasBorder:false,selected:r+1,options:k,onSelect:l=>m(l-1),maxWidth:150,maxHeight:300}),jsx(ib,{placeholder:"",hasBorder:false,selected:o,options:C,onSelect:l=>D(l),maxWidth:100,maxHeight:300})]}),L&&jsx(z,{size:"small",variant:"empty",icon:jsx(H,{}),onClick:z$1})]}),jsx("div",{className:"grid grid-cols-7 gap-2",children:S.map(l=>jsx("div",{className:"text-center",children:l},l))}),jsx("div",{className:"grid grid-cols-7 gap-2 mt-2",children:x.map(l=>{let R=getMonth(l)===r,P=format(l,"yyyy-MM-dd")===format(new Date,"yyyy-MM-dd"),v=n&&(Array.isArray(n)&&(n[0]&&format(l,"yyyy-MM-dd")===format(n[0],"yyyy-MM-dd")||n[1]&&format(l,"yyyy-MM-dd")===format(n[1],"yyyy-MM-dd"))||!Array.isArray(n)&&format(l,"yyyy-MM-dd")===format(n,"yyyy-MM-dd")),X=n&&Array.isArray(n)&&n[0]&&n[1]&&l>n[0]&&l<n[1],A=a&&differenceInDays(l,a)<0||u&&differenceInDays(l,u)>0||!R;return jsx(ra,{date:l,isCurrentMonth:R,isCurrentDay:P,isSelected:!!v,isInRange:!!X,isDisabled:!!A,onSelectDate:p},l.toISOString())})})]})},"DatePickerCalendar"),ra=a(({date:r,isCurrentMonth:o,isCurrentDay:n,isSelected:a$1,isInRange:u,isDisabled:p,onSelectDate:m})=>jsx("div",{className:`text-center p-2 cursor-pointer rounded ${p?"text-gray-400 cursor-not-allowed":a$1?"bg-blue-500 text-white":u?"bg-blue-100":n?"text-blue-500":o?"text-black":"text-gray-400"} ${p?"":a$1?"hover:bg-blue-600":"hover:bg-gray-100"}`,onClick:a(k=>{p||m(r);},"handleClick"),children:format(r,"d")}),"CalendarDay");var aa=a(r=>{switch(r){case "primary":return "bg-blue-100 border-blue-200 dark:bg-blue-800/10 dark:border-blue-900";case "error":return "bg-red-100 border-red-200 dark:bg-red-800/10 dark:border-red-900";case "warning":return "bg-yellow-100 border-yellow-200 dark:bg-yellow-800/10 dark:border-yellow-900";case "success":return "bg-teal-100 border-teal-200 dark:bg-teal-800/10 dark:border-teal-900";case "default":default:return "bg-white border border-gray-200 dark:bg-neutral-800 dark:border-neutral-700"}},"getColorStyle"),ia=a(r=>{switch(r){case "primary":return "text-blue-800 dark:text-blue-500";case "error":return "text-red-800 dark:text-red-500";case "warning":return "text-yellow-800 dark:text-yellow-500";case "success":return "text-teal-800 dark:text-teal-500";case "default":default:return "text-gray-800 dark:text-white"}},"getTextColor"),sa=a(r=>{switch(r){case "bottom":return "translate-y-4";case "top":default:return "-translate-y-4"}},"getTransitionStarting"),qr=a(({id:r,color:o="default",message:n,duration:a,transitionDirection:u,cancelable:p=true,onClose:m})=>{let[D,k]=useState(false),[C,S]=useState(false),x=useRef(null),T=useCallback(()=>{k(true),x.current=setTimeout(()=>{m(r);},300);},[r,m]);return useEffect(()=>{if(S(true),a&&a<1/0){let z=setTimeout(()=>{T();},a);return ()=>clearTimeout(z)}},[a,T]),useEffect(()=>()=>{x.current&&clearTimeout(x.current);},[]),jsx("div",{className:`max-w-xs
278
+ `);var jr=memo(a(function({extension:o,blob:n,path:a,buffer:p,stream:u,csvLabels:m,onCsvRetry:k,not_supported_message:T=" Sorry, this file type isn\u2019t supported yet."}){let C=o.toLocaleLowerCase().trim(),D;if(a?D=a:n&&(D=URL.createObjectURL(n)),["csv","tsv"].includes(C))return jsx(Bt,{url:D,blob:n,stream:u,delimiter:C==="tsv"?" ":",",labels:m,onRetry:k});if(D){if(["jpeg","jpg","png","gif","bmp","webp"].includes(C))return jsx(ur,{url:D});if(["mp3","wav","ogg","flac"].includes(C))return jsx(hr,{url:D});if(["mp4","webm"].includes(C))return jsx(Dr,{url:D});if(o==="pdf")return jsx(Ct,{url:D});if(["txt","js","jsx","ts","tsx","json","html","css","scss","py","java","cpp","c","cs","php","rb","go","rs","swift","kt","xml","yaml","yml","md","sql","sh","bash"].includes(C))return jsx(kr,{url:D,extension:C})}return C==="docx"?jsx(br,{url:D,blob:n}):jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsx(pb,{className:"mx-5",children:jsx(Ya,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:T})})})},"Driver"));var Pd=a(r=>jsx("div",{className:"h-full w-full",children:jsx(jr,{...r})}),"FileViewer");var _r=250,_d=a(({text:r,speed:o=50,onDone:n,markdown:a$1=false,markdownComponents:p={},className:u,...m})=>{let[k,T]=useState(""),C=useRef(null),D=useRef(null);return useEffect(()=>{let y=false;if(o>0){T(""),C.current=performance.now();let R=a(j=>{if(y||!C.current)return;let t=j-C.current,L=t/o>_r?o/2:o,w=t/o>_r?1.5:1,d=Math.floor(t/L*w);if(d>=r.length){T(r),y=true,n?.();return}T(r.slice(0,d)),D.current=requestAnimationFrame(R);},"tick");D.current=requestAnimationFrame(R);}else T(r),n?.();return ()=>{D.current&&cancelAnimationFrame(D.current);}},[r,o,n]),a$1?jsx("div",{className:u,children:jsx(nn,{remarkPlugins:[an],components:p,...m,children:k})}):jsx(Ya,{className:u,...m,children:k})},"Typewriter");var Xn={timeout:2e3,message:"Copied!"},Zd=a(({text:r,children:o,format:n="text/plain",tooltip:a$1,positions:p=["top"],className:u})=>{let[m,k]=useState(false),T=useRef(null),C={...Xn,...a$1},D=Array.isArray(p)?p[0]:p,y=a(async()=>{"clipboard"in navigator?await navigator.clipboard.writeText(r):On(r,{format:n}),k(true),T.current&&clearTimeout(T.current),T.current=setTimeout(()=>k(false),C.timeout);},"handleCopy");return useEffect(()=>()=>{T.current&&clearTimeout(T.current);},[]),jsx(Popover,{padding:6,positions:p,isOpen:m,align:"center",onClickOutside:()=>k(false),content:!!a$1?.message&&jsx(Cb,{className:u,$position:D,$offset:6,children:a$1.message}),containerStyle:{zIndex:"9999"},children:jsx("div",{className:"inline-block",onMouseLeave:()=>k(false),children:o({copy:y})})})},"CopyToClipboard");var Fr=a(r=>new Date(r?Array.isArray(r)?r[1]||r[0]||new Date:r:new Date),"getInitValue"),kt=a((r,o)=>{let n;if(o){let p=parse(r||"",o,new Date);if(isValid(p)&&getYear(p)>=1970)return p}let a=new Date(r||"");return isNaN(a.getTime())?n:a},"parseDate"),Jn=a((r,o)=>{let n=r?kt(r,o):void 0;return n&&o?format(n,o):r},"renderDate"),lu=a(({value:r,range:o,inline:n=false,minDate:a=new Date(getYear(new Date)-5,0,1),maxDate:p=new Date(getYear(new Date)+5,11,31),format:u="dd.MM.yyyy",onChange:m,...k})=>{let[T,C]=useState(getMonth(Fr(r))),[D,y]=useState(getYear(Fr(r))),R=useMemo(()=>{if(r){if(Array.isArray(r)){let t=kt(r[0],u),L=kt(r[1],u);return [t,L]}return kt(r,u)}},[r]),j=useCallback(t=>{if(o){let L=!!(R&&Array.isArray(R)&&R[0]),w=!!(R&&Array.isArray(R)&&R[1]);!L||L&&w?m?.([t.toString(),""]):L&&!w&&(t<R[0]?m?.([t.toString(),R[0].toString()]):m?.([R[0].toString(),t.toString()]));}else m?.(t.toString());},[o,R,m]);return n?jsx($r,{month:T,year:D,minDate:a,maxDate:p,selectedDate:R,onSelectDate:j,onChangeMonth:C,onChangeYear:y}):o?jsx(ea,{range:true,value:r,onChange:m,...k}):jsx(ta,{value:r,onChange:m,minDate:a,maxDate:p,month:T,year:D,selectedDate:R,onChangeMonth:C,onChangeYear:y,onSelectDate:j,formatStr:u,...k})},"DatePicker"),ea=a(({minDate:r,maxDate:o,value:n,onChange:a})=>null,"DatePickerGroupInput"),ta=a(({placeholder:r,value:o,onChange:n,inputProps:a,...p})=>{let[u,m]=useState(false),k=y();return jsx(Popover,{positions:["bottom","top","right","left"],align:"start",isOpen:u,onClickOutside:()=>m(false),content:jsx(pb,{children:jsx($r,{...p})}),containerStyle:{zIndex:`${k.zIndex.popover}`},children:jsx("div",{onClick:()=>m(true),children:jsx(kb,{...a,placeholder:r,value:Jn(o,p.formatStr),onChange:T=>n?.(T.target.value)})})})},"DatePickerInput"),$r=a(({month:r,year:o,selectedDate:n,minDate:a,maxDate:p,onSelectDate:u,onChangeMonth:m,onChangeYear:k})=>{let T=useMemo(()=>new Array(12).fill(null).map((d,E)=>{let S=new Date(0,E);return {value:E+1,inputDisplay:format(S,"MMMM")}}),[]),C=useMemo(()=>{let d=getYear(a),S=getYear(p)-d+1;return new Array(S).fill(null).map((P,F)=>{let $=d+F;return {value:$,inputDisplay:$.toString()}})},[a,p]),D=useMemo(()=>new Array(7).fill(null).map((d,E)=>{let S=startOfWeek(new Date,{weekStartsOn:E});return format(S,"EEE")}),[]),y=useMemo(()=>{let d=startOfMonth(new Date(o,r)),E=endOfMonth(new Date(o,r)),S=getDay(d)===0?d:previousSunday(d),P=getDay(E)===6?E:nextSaturday(E),F=differenceInDays(P,S),$=differenceInDays(d,S);return new Array(F+1).fill(null).map((J,oe)=>new Date(o,r,oe-$+1))},[r,o]),R=useCallback(()=>{r===0?(k(o-1),m(11)):m(r-1);},[r,o]),j=useCallback(()=>{r===11?(k(o+1),m(0)):m(r+1);},[r,o]),t=useMemo(()=>a?!(o<getYear(a)||o===getYear(a)&&r<=getMonth(a)):true,[r,o,a]),L=useMemo(()=>p?!(o>getYear(p)||o===getYear(p)&&r>=getMonth(p)):true,[r,o,p]),w=useCallback(d=>{d.stopPropagation();},[]);return jsxs("div",{className:"flex flex-col date-picker-calendar",onClick:w,children:[jsxs("div",{className:"flex justify-center items-center gap-2 pb-3",children:[t&&jsx(z,{size:"small",variant:"empty",icon:jsx(G,{}),onClick:R}),jsxs("div",{className:"flex-1 flex justify-center gap-1",children:[jsx(ib,{placeholder:"",hasBorder:false,selected:r+1,options:T,onSelect:d=>m(d-1),maxWidth:150,maxHeight:300}),jsx(ib,{placeholder:"",hasBorder:false,selected:o,options:C,onSelect:d=>k(d),maxWidth:100,maxHeight:300})]}),L&&jsx(z,{size:"small",variant:"empty",icon:jsx(H,{}),onClick:j})]}),jsx("div",{className:"grid grid-cols-7 gap-2",children:D.map(d=>jsx("div",{className:"text-center",children:d},d))}),jsx("div",{className:"grid grid-cols-7 gap-2 mt-2",children:y.map(d=>{let E=getMonth(d)===r,S=format(d,"yyyy-MM-dd")===format(new Date,"yyyy-MM-dd"),P=n&&(Array.isArray(n)&&(n[0]&&format(d,"yyyy-MM-dd")===format(n[0],"yyyy-MM-dd")||n[1]&&format(d,"yyyy-MM-dd")===format(n[1],"yyyy-MM-dd"))||!Array.isArray(n)&&format(d,"yyyy-MM-dd")===format(n,"yyyy-MM-dd")),F=n&&Array.isArray(n)&&n[0]&&n[1]&&d>n[0]&&d<n[1],$=a&&differenceInDays(d,a)<0||p&&differenceInDays(d,p)>0||!E;return jsx(ra,{date:d,isCurrentMonth:E,isCurrentDay:S,isSelected:!!P,isInRange:!!F,isDisabled:!!$,onSelectDate:u},d.toISOString())})})]})},"DatePickerCalendar"),ra=a(({date:r,isCurrentMonth:o,isCurrentDay:n,isSelected:a$1,isInRange:p,isDisabled:u,onSelectDate:m})=>jsx("div",{className:`text-center p-2 cursor-pointer rounded ${u?"text-gray-400 cursor-not-allowed":a$1?"bg-blue-500 text-white":p?"bg-blue-100":n?"text-blue-500":o?"text-black":"text-gray-400"} ${u?"":a$1?"hover:bg-blue-600":"hover:bg-gray-100"}`,onClick:a(T=>{u||m(r);},"handleClick"),children:format(r,"d")}),"CalendarDay");var aa=a(r=>{switch(r){case "primary":return "bg-blue-100 border-blue-200 dark:bg-blue-800/10 dark:border-blue-900";case "error":return "bg-red-100 border-red-200 dark:bg-red-800/10 dark:border-red-900";case "warning":return "bg-yellow-100 border-yellow-200 dark:bg-yellow-800/10 dark:border-yellow-900";case "success":return "bg-teal-100 border-teal-200 dark:bg-teal-800/10 dark:border-teal-900";case "default":default:return "bg-white border border-gray-200 dark:bg-neutral-800 dark:border-neutral-700"}},"getColorStyle"),ia=a(r=>{switch(r){case "primary":return "text-blue-800 dark:text-blue-500";case "error":return "text-red-800 dark:text-red-500";case "warning":return "text-yellow-800 dark:text-yellow-500";case "success":return "text-teal-800 dark:text-teal-500";case "default":default:return "text-gray-800 dark:text-white"}},"getTextColor"),sa=a(r=>{switch(r){case "bottom":return "translate-y-4";case "top":default:return "-translate-y-4"}},"getTransitionStarting"),qr=a(({id:r,color:o="default",message:n,duration:a,transitionDirection:p,cancelable:u=true,onClose:m})=>{let[k,T]=useState(false),[C,D]=useState(false),y=useRef(null),R=useCallback(()=>{T(true),y.current=setTimeout(()=>{m(r);},300);},[r,m]);return useEffect(()=>{if(D(true),a&&a<1/0){let j=setTimeout(()=>{R();},a);return ()=>clearTimeout(j)}},[a,R]),useEffect(()=>()=>{y.current&&clearTimeout(y.current);},[]),jsx("div",{className:`max-w-xs
278
279
  border
279
280
  w-full
280
281
  text-sm
@@ -282,8 +283,8 @@ self.onmessage = async (e) => {
282
283
  transition-all
283
284
  ease-in-out
284
285
  duration-300
285
- ${D||!C?"opacity-0":"opacity-100"}
286
- ${C?"translate-y-0":sa(u)}
287
- ${aa(o)} ${ia(o)}`,children:jsxs("div",{className:"flex p-4",style:{wordBreak:"break-word"},children:[n,p&&jsx("div",{className:"ms-auto",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","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 la=a((r,o)=>{switch(r){case "top-right":return `top-${o} right-${o}`;case "top-left":return `top-${o} left-${o}`;case "bottom-right":return `bottom-${o} right-${o}`;case "bottom-left":return `bottom-${o} left-${o}`;default:return `top-${o} right-${o}`}},"getPosition"),ku=a(({items:r,onClose:o,position:n="top-right",offset:a=4})=>{let u=useMemo(()=>n.startsWith("top")?"top":"bottom",[n]);return jsx("div",{className:`fixed flex min-w-0 max-w-xs w-full flex-col z-50 gap-2 ${la(n,a)}`,children:r.map(p=>jsx(qr,{transitionDirection:u,...p,onClose:o},p.id))})},"ToastsList");var Eu=a(({onChange:r,disabled:o,multiple:n,dragText:a$1="Drop file to upload",className:u})=>{let[p,m]=useState(false),[D,k]=useState(false),[C,S]=useState(false);return useEffect(()=>{if(o)return;let x=0,T=a(N=>{N.preventDefault(),x++,x===1&&m(true);},"handleDragEnter"),z=a(N=>{N.preventDefault(),x--,x===0&&m(false);},"handleDragLeave"),t=a(N=>{N.preventDefault();},"handleDragOver"),L=a(async N=>{if(N.preventDefault(),x=0,m(false),!D)try{k(!0);let l=await lb(N.dataTransfer.items);r(n?l:l.length>0?[l[0]]:[]);}catch(l){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:",l);}finally{k(false);}},"handleDrop");return document.addEventListener("dragenter",T),document.addEventListener("dragleave",z),document.addEventListener("dragover",t),document.addEventListener("drop",L),()=>{document.removeEventListener("dragenter",T),document.removeEventListener("dragleave",z),document.removeEventListener("dragover",t),document.removeEventListener("drop",L);}},[o,D,n,r]),useEffect(()=>{S(true);},[]),C&&p?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)] z-9999 ${u}`,children:jsx(Ya,{variant:"h3",className:"px-3 py-2 bg-white rounded-md border border-gray-200",children:a$1})}),document.body):null},"GlobalDropZone");
288
- export{tc as Container,Zd as CopyToClipboard,lu as DatePicker,Hr as DatePickerCalendar,Pd as FileViewer,_c as FullscreenCard,Eu as GlobalDropZone,Bo as Graph2D,Os as PageContent,zs as PageLayout,sc as SplitterLayout,no as Styled,Qr as StyledContainer,to as StyledMain,Xs as SubNav,ku as ToastsList,_d as Typewriter};//# sourceMappingURL=index.mjs.map
286
+ ${k||!C?"opacity-0":"opacity-100"}
287
+ ${C?"translate-y-0":sa(p)}
288
+ ${aa(o)} ${ia(o)}`,children:jsxs("div",{className:"flex p-4",style:{wordBreak:"break-word"},children:[n,u&&jsx("div",{className:"ms-auto",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","aria-label":"Close",onClick:R,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 la=a((r,o)=>{switch(r){case "top-right":return `top-${o} right-${o}`;case "top-left":return `top-${o} left-${o}`;case "bottom-right":return `bottom-${o} right-${o}`;case "bottom-left":return `bottom-${o} left-${o}`;default:return `top-${o} right-${o}`}},"getPosition"),ku=a(({items:r,onClose:o,position:n="top-right",offset:a=4})=>{let p=useMemo(()=>n.startsWith("top")?"top":"bottom",[n]);return jsx("div",{className:`fixed flex min-w-0 max-w-xs w-full flex-col z-50 gap-2 ${la(n,a)}`,children:r.map(u=>jsx(qr,{transitionDirection:p,...u,onClose:o},u.id))})},"ToastsList");var Eu=a(({onChange:r,disabled:o,multiple:n,dragText:a$1="Drop file to upload",className:p})=>{let[u,m]=useState(false),[k,T]=useState(false),[C,D]=useState(false);return useEffect(()=>{if(o)return;let y=0,R=a(w=>{w.preventDefault(),y++,y===1&&m(true);},"handleDragEnter"),j=a(w=>{w.preventDefault(),y--,y===0&&m(false);},"handleDragLeave"),t=a(w=>{w.preventDefault();},"handleDragOver"),L=a(async w=>{if(w.preventDefault(),y=0,m(false),!k)try{T(!0);let d=await lb(w.dataTransfer.items);r(n?d:d.length>0?[d[0]]:[]);}catch(d){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:",d);}finally{T(false);}},"handleDrop");return document.addEventListener("dragenter",R),document.addEventListener("dragleave",j),document.addEventListener("dragover",t),document.addEventListener("drop",L),()=>{document.removeEventListener("dragenter",R),document.removeEventListener("dragleave",j),document.removeEventListener("dragover",t),document.removeEventListener("drop",L);}},[o,k,n,r]),useEffect(()=>{D(true);},[]),C&&u?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)] z-9999 ${p}`,children:jsx(Ya,{variant:"h3",className:"px-3 py-2 bg-white rounded-md border border-gray-200",children:a$1})}),document.body):null},"GlobalDropZone");
289
+ export{tc as Container,Zd as CopyToClipboard,lu as DatePicker,$r as DatePickerCalendar,Pd as FileViewer,_c as FullscreenCard,Eu as GlobalDropZone,Ao as Graph2D,Os as PageContent,zs as PageLayout,sc as SplitterLayout,no as Styled,Qr as StyledContainer,to as StyledMain,Xs as SubNav,ku as ToastsList,_d as Typewriter};//# sourceMappingURL=index.mjs.map
289
290
  //# sourceMappingURL=index.mjs.map