@cyber-harbour/ui 2.0.22 → 2.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/bin/copy-pdfjs.js +151 -0
- package/dist/PdfDriver-QWA7JRSC.js +3 -0
- package/dist/PdfDriver-QWA7JRSC.js.map +1 -0
- package/dist/PdfDriver-W76VTBJI.mjs +3 -0
- package/dist/PdfDriver-W76VTBJI.mjs.map +1 -0
- package/dist/index.js +19 -19
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +21 -21
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
- package/bin/copy-pdf-worker.js +0 -92
- package/dist/PdfDriver-3OY5MHRK.mjs +0 -3
- package/dist/PdfDriver-3OY5MHRK.mjs.map +0 -1
- package/dist/PdfDriver-QWYK2IMO.js +0 -3
- package/dist/PdfDriver-QWYK2IMO.js.map +0 -1
package/README.md
CHANGED
|
@@ -267,13 +267,13 @@ import '@cyber-harbour/ui/styles';
|
|
|
267
267
|
### Автоматичне копіювання
|
|
268
268
|
|
|
269
269
|
```bash
|
|
270
|
-
npx @cyber-harbour/ui copy-
|
|
270
|
+
npx @cyber-harbour/ui copy-pdfjs
|
|
271
271
|
```
|
|
272
272
|
|
|
273
273
|
### Кастомна папка для worker'ів
|
|
274
274
|
|
|
275
275
|
```bash
|
|
276
|
-
UI_LIBRARY_WORKERS_DIR=public/assets npx @cyber-harbour/ui copy-
|
|
276
|
+
UI_LIBRARY_WORKERS_DIR=public/assets npx @cyber-harbour/ui copy-pdfjs
|
|
277
277
|
```
|
|
278
278
|
|
|
279
279
|
### Вирішення проблем
|
|
@@ -290,7 +290,7 @@ UI_LIBRARY_WORKERS_DIR=public/assets npx @cyber-harbour/ui copy-pdf-worker
|
|
|
290
290
|
|
|
291
291
|
```bash
|
|
292
292
|
npm install --save-peer pdfjs-dist
|
|
293
|
-
npx @cyber-harbour/ui copy-
|
|
293
|
+
npx @cyber-harbour/ui copy-pdfjs
|
|
294
294
|
```
|
|
295
295
|
|
|
296
296
|
3. **Перевірте структуру проекту**: скрипт шукає worker у наступних місцях:
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
|
|
5
|
+
// Find the current working directory (the project using the UI library)
|
|
6
|
+
const projectRoot = process.cwd();
|
|
7
|
+
|
|
8
|
+
// Allow custom target directory via command line argument
|
|
9
|
+
const targetDirName = process.env.UI_LIBRARY_PDFJS_DIR || 'public/pdfjs';
|
|
10
|
+
|
|
11
|
+
// Source paths
|
|
12
|
+
const pdfjsDistPath = path.resolve(projectRoot, 'node_modules/@cyber-harbour/ui/node_modules/pdfjs-dist');
|
|
13
|
+
const sourcePath = path.join(pdfjsDistPath, 'build/pdf.worker.min.mjs');
|
|
14
|
+
|
|
15
|
+
// Target directory (customizable)
|
|
16
|
+
const targetDir = path.resolve(projectRoot, targetDirName);
|
|
17
|
+
const targetPath = path.join(targetDir, 'pdf.worker.min.js');
|
|
18
|
+
|
|
19
|
+
// Helper function to copy directory recursively
|
|
20
|
+
function copyDirectorySync(source, target) {
|
|
21
|
+
if (!fs.existsSync(source)) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (!fs.existsSync(target)) {
|
|
26
|
+
fs.mkdirSync(target, { recursive: true });
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const files = fs.readdirSync(source);
|
|
30
|
+
for (const file of files) {
|
|
31
|
+
const sourcePath = path.join(source, file);
|
|
32
|
+
const targetPath = path.join(target, file);
|
|
33
|
+
|
|
34
|
+
if (fs.lstatSync(sourcePath).isDirectory()) {
|
|
35
|
+
copyDirectorySync(sourcePath, targetPath);
|
|
36
|
+
} else {
|
|
37
|
+
fs.copyFileSync(sourcePath, targetPath);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Additional folders to copy
|
|
44
|
+
const foldersToSync = [
|
|
45
|
+
{ source: 'cmaps', target: 'cmaps' },
|
|
46
|
+
{ source: 'standard_fonts', target: 'standard_fonts' },
|
|
47
|
+
{ source: 'wasm', target: 'wasm' },
|
|
48
|
+
{ source: 'iccs', target: 'iccs' },
|
|
49
|
+
];
|
|
50
|
+
|
|
51
|
+
// Create target directory if it doesn't exist
|
|
52
|
+
if (!fs.existsSync(targetDir)) {
|
|
53
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
54
|
+
console.log(`📁 Created ${targetDirName} directory`);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Copy the worker file
|
|
58
|
+
try {
|
|
59
|
+
if (!fs.existsSync(sourcePath)) {
|
|
60
|
+
console.error('❌ Failed to copy PDF worker: PDF worker not found at:');
|
|
61
|
+
console.error(` ${sourcePath}`);
|
|
62
|
+
throw new Error('Make sure pdfjs-dist is installed in @cyber-harbour/ui dependency.');
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
console.log(`📄 Found PDF worker at: ${sourcePath}`);
|
|
66
|
+
fs.copyFileSync(sourcePath, targetPath);
|
|
67
|
+
console.log(`✅ PDF worker copied successfully to ${targetDirName}/pdf.worker.min.js`);
|
|
68
|
+
|
|
69
|
+
// Copy additional folders
|
|
70
|
+
let copiedFolders = [];
|
|
71
|
+
for (const folder of foldersToSync) {
|
|
72
|
+
const sourceFolderPath = path.join(pdfjsDistPath, folder.source);
|
|
73
|
+
const targetFolderPath = path.join(targetDir, folder.target);
|
|
74
|
+
|
|
75
|
+
if (copyDirectorySync(sourceFolderPath, targetFolderPath)) {
|
|
76
|
+
if (!copiedFolders.includes(folder.target)) {
|
|
77
|
+
copiedFolders.push(folder.target);
|
|
78
|
+
console.log(`✅ ${folder.target} folder copied successfully`);
|
|
79
|
+
}
|
|
80
|
+
} else if (!folder.fallback) {
|
|
81
|
+
console.warn(`⚠️ ${folder.source} folder not found at: ${sourceFolderPath}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Copy wasm files if they exist
|
|
86
|
+
const wasmSourcePath = path.join(pdfjsDistPath, 'build');
|
|
87
|
+
const wasmTargetPath = path.join(targetDir, 'wasm');
|
|
88
|
+
|
|
89
|
+
if (fs.existsSync(wasmSourcePath)) {
|
|
90
|
+
if (!fs.existsSync(wasmTargetPath)) {
|
|
91
|
+
fs.mkdirSync(wasmTargetPath, { recursive: true });
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Look for wasm files in the build directory
|
|
95
|
+
const buildFiles = fs.readdirSync(wasmSourcePath);
|
|
96
|
+
const wasmFiles = buildFiles.filter((file) => file.endsWith('.wasm'));
|
|
97
|
+
|
|
98
|
+
if (wasmFiles.length > 0) {
|
|
99
|
+
wasmFiles.forEach((wasmFile) => {
|
|
100
|
+
const sourceWasmPath = path.join(wasmSourcePath, wasmFile);
|
|
101
|
+
const targetWasmPath = path.join(wasmTargetPath, wasmFile);
|
|
102
|
+
fs.copyFileSync(sourceWasmPath, targetWasmPath);
|
|
103
|
+
});
|
|
104
|
+
console.log(`✅ WASM files copied successfully (${wasmFiles.length} files)`);
|
|
105
|
+
copiedFolders.push('wasm');
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Copy ICC profiles if they exist
|
|
110
|
+
const iccPossiblePaths = [path.join(pdfjsDistPath, 'icc'), path.join(pdfjsDistPath, 'web/icc')];
|
|
111
|
+
|
|
112
|
+
for (const iccSourcePath of iccPossiblePaths) {
|
|
113
|
+
if (fs.existsSync(iccSourcePath)) {
|
|
114
|
+
const iccTargetPath = path.join(targetDir, 'icc');
|
|
115
|
+
if (copyDirectorySync(iccSourcePath, iccTargetPath)) {
|
|
116
|
+
console.log(`✅ ICC profiles copied successfully`);
|
|
117
|
+
copiedFolders.push('icc');
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
console.log(
|
|
123
|
+
`💡 Make sure to configure your app to load the worker from /${targetDirName.replace(
|
|
124
|
+
/^public\//,
|
|
125
|
+
''
|
|
126
|
+
)}/pdf.worker.min.js`
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
// Additional info for different frameworks
|
|
130
|
+
console.log('\n📋 Integration examples:');
|
|
131
|
+
console.log('React/Next.js: Configure worker URL in your PDF component');
|
|
132
|
+
console.log('Vite: Worker will be available at /pdfjs/pdf.worker.min.js');
|
|
133
|
+
console.log('Custom: Use the path specified above');
|
|
134
|
+
|
|
135
|
+
console.log('\n📁 Available resources:');
|
|
136
|
+
console.log('- pdf.worker.min.js (PDF worker)');
|
|
137
|
+
if (copiedFolders.includes('cmaps')) console.log('- cmaps/ (character maps)');
|
|
138
|
+
if (copiedFolders.includes('standard_fonts')) console.log('- standard_fonts/ (standard fonts)');
|
|
139
|
+
if (copiedFolders.includes('wasm')) console.log('- wasm/ (WebAssembly files)');
|
|
140
|
+
if (copiedFolders.includes('icc')) console.log('- icc/ (ICC color profiles)');
|
|
141
|
+
} catch (error) {
|
|
142
|
+
console.error('❌ Failed to copy PDF resources:', error.message);
|
|
143
|
+
console.error('\n🔧 Troubleshooting:');
|
|
144
|
+
console.error('1. Make sure @cyber-harbour/ui has pdfjs-dist as dependency');
|
|
145
|
+
console.error('2. Run this command from your project root directory');
|
|
146
|
+
console.error('3. Check that you have write permissions in the target directory');
|
|
147
|
+
console.error('\n📍 Checked location:');
|
|
148
|
+
const exists = fs.existsSync(sourcePath);
|
|
149
|
+
console.error(` ${exists ? '✅' : '❌'} ${sourcePath}`);
|
|
150
|
+
process.exit(1);
|
|
151
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use strict';var chunkVMUGTG7N_js=require('./chunk-VMUGTG7N.js'),react=require('react'),reactPdf=require('react-pdf');require('react-pdf/dist/Page/AnnotationLayer.css'),require('react-pdf/dist/Page/TextLayer.css');var jsxRuntime=require('react/jsx-runtime');var a="/pdfjs";typeof window<"u"&&typeof document<"u"&&(reactPdf.pdfjs.GlobalWorkerOptions.workerSrc=`${a}/pdf.worker.min.js`);var U=chunkVMUGTG7N_js.a(({url:p})=>{let[t,v]=react.useState(0),[s,c]=react.useState(1),[g,u]=react.useState(true),[m,x]=react.useState(null),w=react.useMemo(()=>({cMapPacked:true,cMapUrl:`${a}/cmaps/`,standardFontDataUrl:`${a}/standard_fonts/`,wasmUrl:`${a}/wasm/`,iccUrl:`${a}/icc/`}),[]);function b({numPages:o}){v(o),u(false);}chunkVMUGTG7N_js.a(b,"onDocumentLoadSuccess");function P(o){x(`Failed to load PDF: ${o.message}`),u(false);}chunkVMUGTG7N_js.a(P,"onDocumentLoadError");function f(o){c(n=>n+o);}chunkVMUGTG7N_js.a(f,"changePage");function y(){f(-1);}chunkVMUGTG7N_js.a(y,"previousPage");function k(){f(1);}return chunkVMUGTG7N_js.a(k,"nextPage"),m?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-red-500 text-center",children:jsxRuntime.jsx("p",{children:m})})}):jsxRuntime.jsxs("div",{className:"h-full w-full flex flex-col",children:[g&&jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full",children:jsxRuntime.jsx("div",{className:"text-gray-500",children:"Loading PDF..."})}),t>0&&jsxRuntime.jsxs("div",{className:"flex items-center justify-center gap-4 p-4",children:[jsxRuntime.jsx(chunkVMUGTG7N_js.z,{variant:"outlined","aria-label":"previous page",color:"secondary",size:"small",type:"button",disabled:s<=1,onClick:y,icon:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"m15 18-6-6 6-6"})})}),jsxRuntime.jsxs("span",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("input",{type:"number",min:1,max:t,value:s,onChange:o=>{let n=parseInt(o.target.value,10);n>=1&&n<=t&&c(n);},className:"w-16 px-2 py-1 border rounded text-center"}),"/ ",t]}),jsxRuntime.jsx(chunkVMUGTG7N_js.z,{variant:"outlined","aria-label":"next page",color:"secondary",size:"small",type:"button",disabled:s>=t,onClick:k,icon:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"m9 18 6-6-6-6"})})})]}),jsxRuntime.jsx("div",{className:"flex-1 flex justify-center overflow-auto",children:jsxRuntime.jsx(reactPdf.Document,{options:w,file:p,onLoadSuccess:b,onLoadError:P,loading:"",children:jsxRuntime.jsx(reactPdf.Page,{pageNumber:s,renderTextLayer:true,renderAnnotationLayer:true,className:"max-w-full max-h-full"})})})]})},"PdfDriver");
|
|
2
|
+
exports.PdfDriver=U;//# sourceMappingURL=PdfDriver-QWA7JRSC.js.map
|
|
3
|
+
//# sourceMappingURL=PdfDriver-QWA7JRSC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/FileViewer/drivers/PdfDriver/PdfDriver.tsx"],"names":["BASE_DIR","pdfjs","PdfDriver","__name","url","numPages","setNumPages","useState","pageNumber","setPageNumber","loading","setLoading","error","setError","options","useMemo","onDocumentLoadSuccess","onDocumentLoadError","changePage","offset","prevPageNumber","previousPage","nextPage","jsx","jsxs","Button","e","page","Document","Page"],"mappings":"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","file":"PdfDriver-QWA7JRSC.js","sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { Document, Page, pdfjs } from 'react-pdf';\nimport 'react-pdf/dist/Page/AnnotationLayer.css';\nimport 'react-pdf/dist/Page/TextLayer.css';\nimport { Button } from '../../../Core';\n\nconst BASE_DIR = '/pdfjs';\n\n// Set up the worker - self-hosted configuration (client-side only)\nif (typeof window !== 'undefined' && typeof document !== 'undefined') {\n pdfjs.GlobalWorkerOptions.workerSrc = `${BASE_DIR}/pdf.worker.min.js`;\n}\n\ninterface PdfDriverProps {\n url: string;\n}\n\nexport const PdfDriver: React.FC<PdfDriverProps> = ({ url }) => {\n const [numPages, setNumPages] = useState<number>(0);\n const [pageNumber, setPageNumber] = useState<number>(1);\n const [loading, setLoading] = useState<boolean>(true);\n const [error, setError] = useState<string | null>(null);\n\n const options = useMemo(\n () => ({\n cMapPacked: true,\n cMapUrl: `${BASE_DIR}/cmaps/`,\n standardFontDataUrl: `${BASE_DIR}/standard_fonts/`,\n wasmUrl: `${BASE_DIR}/wasm/`,\n iccUrl: `${BASE_DIR}/icc/`,\n }),\n []\n );\n\n //TODO: add fix 100px problem;\n\n function onDocumentLoadSuccess({ numPages }: { numPages: number }): void {\n setNumPages(numPages);\n setLoading(false);\n }\n\n function onDocumentLoadError(error: Error): void {\n setError(`Failed to load PDF: ${error.message}`);\n setLoading(false);\n }\n\n function changePage(offset: number): void {\n setPageNumber((prevPageNumber) => prevPageNumber + offset);\n }\n\n function previousPage(): void {\n changePage(-1);\n }\n\n function nextPage(): void {\n changePage(1);\n }\n\n if (error) {\n return (\n <div className=\"flex items-center justify-center h-full w-full\">\n <div className=\"text-red-500 text-center\">\n <p>{error}</p>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"h-full w-full flex flex-col\">\n {loading && (\n <div className=\"flex items-center justify-center h-full\">\n <div className=\"text-gray-500\">Loading PDF...</div>\n </div>\n )}\n {numPages > 0 && (\n <div className=\"flex items-center justify-center gap-4 p-4\">\n <Button\n variant=\"outlined\"\n aria-label=\"previous page\"\n color=\"secondary\"\n size=\"small\"\n type=\"button\"\n disabled={pageNumber <= 1}\n onClick={previousPage}\n icon={\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n }\n />\n\n <span className=\"flex items-center gap-2\">\n <input\n type=\"number\"\n min={1}\n max={numPages}\n value={pageNumber}\n onChange={(e) => {\n const page = parseInt(e.target.value, 10);\n if (page >= 1 && page <= numPages) {\n setPageNumber(page);\n }\n }}\n className=\"w-16 px-2 py-1 border rounded text-center\"\n />\n / {numPages}\n </span>\n <Button\n variant=\"outlined\"\n aria-label=\"next page\"\n color=\"secondary\"\n size=\"small\"\n type=\"button\"\n disabled={pageNumber >= numPages}\n onClick={nextPage}\n icon={\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n }\n />\n </div>\n )}\n <div className=\"flex-1 flex justify-center overflow-auto\">\n <Document\n options={options}\n file={url}\n onLoadSuccess={onDocumentLoadSuccess}\n onLoadError={onDocumentLoadError}\n loading=\"\"\n >\n <Page\n pageNumber={pageNumber}\n renderTextLayer={true}\n renderAnnotationLayer={true}\n className=\"max-w-full max-h-full\"\n />\n </Document>\n </div>\n </div>\n );\n};\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {a as a$1,z}from'./chunk-GLKANQJX.mjs';import {useState,useMemo}from'react';import {pdfjs,Document,Page}from'react-pdf';import'react-pdf/dist/Page/AnnotationLayer.css';import'react-pdf/dist/Page/TextLayer.css';import {jsx,jsxs}from'react/jsx-runtime';var a="/pdfjs";typeof window<"u"&&typeof document<"u"&&(pdfjs.GlobalWorkerOptions.workerSrc=`${a}/pdf.worker.min.js`);var B=a$1(({url:p})=>{let[t,v]=useState(0),[s,c]=useState(1),[g,u]=useState(true),[m,x]=useState(null),w=useMemo(()=>({cMapPacked:true,cMapUrl:`${a}/cmaps/`,standardFontDataUrl:`${a}/standard_fonts/`,wasmUrl:`${a}/wasm/`,iccUrl:`${a}/icc/`}),[]);function b({numPages:o}){v(o),u(false);}a$1(b,"onDocumentLoadSuccess");function P(o){x(`Failed to load PDF: ${o.message}`),u(false);}a$1(P,"onDocumentLoadError");function f(o){c(n=>n+o);}a$1(f,"changePage");function y(){f(-1);}a$1(y,"previousPage");function k(){f(1);}return a$1(k,"nextPage"),m?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:m})})}):jsxs("div",{className:"h-full w-full flex flex-col",children:[g&&jsx("div",{className:"flex items-center justify-center h-full",children:jsx("div",{className:"text-gray-500",children:"Loading PDF..."})}),t>0&&jsxs("div",{className:"flex items-center justify-center gap-4 p-4",children:[jsx(z,{variant:"outlined","aria-label":"previous page",color:"secondary",size:"small",type:"button",disabled:s<=1,onClick:y,icon:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"m15 18-6-6 6-6"})})}),jsxs("span",{className:"flex items-center gap-2",children:[jsx("input",{type:"number",min:1,max:t,value:s,onChange:o=>{let n=parseInt(o.target.value,10);n>=1&&n<=t&&c(n);},className:"w-16 px-2 py-1 border rounded text-center"}),"/ ",t]}),jsx(z,{variant:"outlined","aria-label":"next page",color:"secondary",size:"small",type:"button",disabled:s>=t,onClick:k,icon:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"m9 18 6-6-6-6"})})})]}),jsx("div",{className:"flex-1 flex justify-center overflow-auto",children:jsx(Document,{options:w,file:p,onLoadSuccess:b,onLoadError:P,loading:"",children:jsx(Page,{pageNumber:s,renderTextLayer:true,renderAnnotationLayer:true,className:"max-w-full max-h-full"})})})]})},"PdfDriver");
|
|
2
|
+
export{B as PdfDriver};//# sourceMappingURL=PdfDriver-W76VTBJI.mjs.map
|
|
3
|
+
//# sourceMappingURL=PdfDriver-W76VTBJI.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/FileViewer/drivers/PdfDriver/PdfDriver.tsx"],"names":["BASE_DIR","pdfjs","PdfDriver","__name","url","numPages","setNumPages","useState","pageNumber","setPageNumber","loading","setLoading","error","setError","options","useMemo","onDocumentLoadSuccess","onDocumentLoadError","changePage","offset","prevPageNumber","previousPage","nextPage","jsx","jsxs","Button","e","page","Document","Page"],"mappings":"kQAMA,IAAMA,CAAAA,CAAW,SAGb,OAAO,MAAA,CAAW,KAAe,OAAO,QAAA,CAAa,MACvDC,KAAM,CAAA,mBAAA,CAAoB,UAAY,CAAGD,EAAAA,CAAQ,sBAOtCE,IAAAA,CAAAA,CAAsCC,IAAA,CAAC,CAAE,IAAAC,CAAI,CAAA,GAAM,CAC9D,GAAM,CAACC,CAAUC,CAAAA,CAAW,EAAIC,QAAiB,CAAA,CAAC,EAC5C,CAACC,CAAAA,CAAYC,CAAa,CAAIF,CAAAA,QAAAA,CAAiB,CAAC,CAChD,CAAA,CAACG,EAASC,CAAU,CAAA,CAAIJ,SAAkB,IAAI,CAAA,CAC9C,CAACK,CAAOC,CAAAA,CAAQ,EAAIN,QAAwB,CAAA,IAAI,EAEhDO,CAAUC,CAAAA,OAAAA,CACd,KAAO,CACL,UAAA,CAAY,KACZ,OAAS,CAAA,CAAA,EAAGf,CAAQ,CACpB,OAAA,CAAA,CAAA,mBAAA,CAAqB,GAAGA,CAAQ,CAAA,gBAAA,CAAA,CAChC,QAAS,CAAGA,EAAAA,CAAQ,CACpB,MAAA,CAAA,CAAA,MAAA,CAAQ,GAAGA,CAAQ,CAAA,KAAA,CACrB,GACA,EACF,EAIA,SAASgB,CAAAA,CAAsB,CAAE,QAAAX,CAAAA,CAAS,EAA+B,CACvEC,CAAAA,CAAYD,CAAQ,CACpBM,CAAAA,CAAAA,CAAW,KAAK,EAClB,CAHSR,IAAAa,CAAA,CAAA,uBAAA,CAAA,CAKT,SAASC,CAAoBL,CAAAA,CAAAA,CAAoB,CAC/CC,CAAS,CAAA,CAAA,oBAAA,EAAuBD,EAAM,OAAO,CAAA,CAAE,EAC/CD,CAAW,CAAA,KAAK,EAClB,CAHSR,GAAAA,CAAAc,EAAA,qBAKT,CAAA,CAAA,SAASC,EAAWC,CAAsB,CAAA,CACxCV,CAAeW,CAAAA,CAAAA,EAAmBA,EAAiBD,CAAM,EAC3D,CAFShB,GAAAe,CAAAA,CAAAA,CAAA,cAIT,SAASG,CAAAA,EAAqB,CAC5BH,CAAW,CAAA,EAAE,EACf,CAFSf,GAAAA,CAAAkB,EAAA,cAIT,CAAA,CAAA,SAASC,GAAiB,CACxBJ,CAAAA,CAAW,CAAC,EACd,CAEA,OAJSf,GAAAmB,CAAAA,CAAAA,CAAA,YAILV,CAEAW,CAAAA,GAAAA,CAAC,OAAI,SAAU,CAAA,gDAAA,CACb,SAAAA,GAAC,CAAA,KAAA,CAAA,CAAI,UAAU,0BACb,CAAA,QAAA,CAAAA,IAAC,GAAG,CAAA,CAAA,QAAA,CAAAX,EAAM,CACZ,CAAA,CAAA,CACF,CAKFY,CAAAA,IAAAA,CAAC,OAAI,SAAU,CAAA,6BAAA,CACZ,UAAAd,CACCa,EAAAA,GAAAA,CAAC,OAAI,SAAU,CAAA,yCAAA,CACb,SAAAA,GAAC,CAAA,KAAA,CAAA,CAAI,UAAU,eAAgB,CAAA,QAAA,CAAA,gBAAA,CAAc,EAC/C,CAEDlB,CAAAA,CAAAA,CAAW,GACVmB,IAAC,CAAA,KAAA,CAAA,CAAI,UAAU,4CACb,CAAA,QAAA,CAAA,CAAAD,IAACE,CAAA,CAAA,CACC,QAAQ,UACR,CAAA,YAAA,CAAW,gBACX,KAAM,CAAA,WAAA,CACN,KAAK,OACL,CAAA,IAAA,CAAK,SACL,QAAUjB,CAAAA,CAAAA,EAAc,EACxB,OAASa,CAAAA,CAAAA,CACT,KACEE,GAAC,CAAA,KAAA,CAAA,CACC,KAAM,CAAA,4BAAA,CACN,QAAQ,WACR,CAAA,IAAA,CAAK,OACL,MAAO,CAAA,cAAA,CACP,YAAY,GACZ,CAAA,aAAA,CAAc,QACd,cAAe,CAAA,OAAA,CAEf,SAAAA,GAAC,CAAA,MAAA,CAAA,CAAK,EAAE,gBAAiB,CAAA,CAAA,CAC3B,EAEJ,CAEAC,CAAAA,IAAAA,CAAC,QAAK,SAAU,CAAA,yBAAA,CACd,UAAAD,GAAC,CAAA,OAAA,CAAA,CACC,KAAK,QACL,CAAA,GAAA,CAAK,EACL,GAAKlB,CAAAA,CAAAA,CACL,MAAOG,CACP,CAAA,QAAA,CAAWkB,GAAM,CACf,IAAMC,EAAO,QAASD,CAAAA,CAAAA,CAAE,OAAO,KAAO,CAAA,EAAE,CACpCC,CAAAA,CAAAA,EAAQ,GAAKA,CAAQtB,EAAAA,CAAAA,EACvBI,EAAckB,CAAI,EAEtB,EACA,SAAU,CAAA,2CAAA,CACZ,EAAE,IACCtB,CAAAA,CAAAA,CAAAA,CACL,EACAkB,GAACE,CAAAA,CAAAA,CAAA,CACC,OAAQ,CAAA,UAAA,CACR,aAAW,WACX,CAAA,KAAA,CAAM,YACN,IAAK,CAAA,OAAA,CACL,KAAK,QACL,CAAA,QAAA,CAAUjB,GAAcH,CACxB,CAAA,OAAA,CAASiB,EACT,IACEC,CAAAA,GAAAA,CAAC,OACC,KAAM,CAAA,4BAAA,CACN,QAAQ,WACR,CAAA,IAAA,CAAK,OACL,MAAO,CAAA,cAAA,CACP,YAAY,GACZ,CAAA,aAAA,CAAc,QACd,cAAe,CAAA,OAAA,CAEf,SAAAA,GAAC,CAAA,MAAA,CAAA,CAAK,EAAE,eAAgB,CAAA,CAAA,CAC1B,EAEJ,CACF,CAAA,CAAA,CAAA,CAEFA,IAAC,KAAI,CAAA,CAAA,SAAA,CAAU,2CACb,QAAAA,CAAAA,GAAAA,CAACK,SAAA,CACC,OAAA,CAASd,EACT,IAAMV,CAAAA,CAAAA,CACN,cAAeY,CACf,CAAA,WAAA,CAAaC,EACb,OAAQ,CAAA,EAAA,CAER,SAAAM,GAACM,CAAAA,IAAAA,CAAA,CACC,UAAYrB,CAAAA,CAAAA,CACZ,gBAAiB,IACjB,CAAA,qBAAA,CAAuB,KACvB,SAAU,CAAA,uBAAA,CACZ,EACF,CACF,CAAA,CAAA,CAAA,CACF,CAEJ,CA7ImD,CAAA,WAAA","file":"PdfDriver-W76VTBJI.mjs","sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { Document, Page, pdfjs } from 'react-pdf';\nimport 'react-pdf/dist/Page/AnnotationLayer.css';\nimport 'react-pdf/dist/Page/TextLayer.css';\nimport { Button } from '../../../Core';\n\nconst BASE_DIR = '/pdfjs';\n\n// Set up the worker - self-hosted configuration (client-side only)\nif (typeof window !== 'undefined' && typeof document !== 'undefined') {\n pdfjs.GlobalWorkerOptions.workerSrc = `${BASE_DIR}/pdf.worker.min.js`;\n}\n\ninterface PdfDriverProps {\n url: string;\n}\n\nexport const PdfDriver: React.FC<PdfDriverProps> = ({ url }) => {\n const [numPages, setNumPages] = useState<number>(0);\n const [pageNumber, setPageNumber] = useState<number>(1);\n const [loading, setLoading] = useState<boolean>(true);\n const [error, setError] = useState<string | null>(null);\n\n const options = useMemo(\n () => ({\n cMapPacked: true,\n cMapUrl: `${BASE_DIR}/cmaps/`,\n standardFontDataUrl: `${BASE_DIR}/standard_fonts/`,\n wasmUrl: `${BASE_DIR}/wasm/`,\n iccUrl: `${BASE_DIR}/icc/`,\n }),\n []\n );\n\n //TODO: add fix 100px problem;\n\n function onDocumentLoadSuccess({ numPages }: { numPages: number }): void {\n setNumPages(numPages);\n setLoading(false);\n }\n\n function onDocumentLoadError(error: Error): void {\n setError(`Failed to load PDF: ${error.message}`);\n setLoading(false);\n }\n\n function changePage(offset: number): void {\n setPageNumber((prevPageNumber) => prevPageNumber + offset);\n }\n\n function previousPage(): void {\n changePage(-1);\n }\n\n function nextPage(): void {\n changePage(1);\n }\n\n if (error) {\n return (\n <div className=\"flex items-center justify-center h-full w-full\">\n <div className=\"text-red-500 text-center\">\n <p>{error}</p>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"h-full w-full flex flex-col\">\n {loading && (\n <div className=\"flex items-center justify-center h-full\">\n <div className=\"text-gray-500\">Loading PDF...</div>\n </div>\n )}\n {numPages > 0 && (\n <div className=\"flex items-center justify-center gap-4 p-4\">\n <Button\n variant=\"outlined\"\n aria-label=\"previous page\"\n color=\"secondary\"\n size=\"small\"\n type=\"button\"\n disabled={pageNumber <= 1}\n onClick={previousPage}\n icon={\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n }\n />\n\n <span className=\"flex items-center gap-2\">\n <input\n type=\"number\"\n min={1}\n max={numPages}\n value={pageNumber}\n onChange={(e) => {\n const page = parseInt(e.target.value, 10);\n if (page >= 1 && page <= numPages) {\n setPageNumber(page);\n }\n }}\n className=\"w-16 px-2 py-1 border rounded text-center\"\n />\n / {numPages}\n </span>\n <Button\n variant=\"outlined\"\n aria-label=\"next page\"\n color=\"secondary\"\n size=\"small\"\n type=\"button\"\n disabled={pageNumber >= numPages}\n onClick={nextPage}\n icon={\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n }\n />\n </div>\n )}\n <div className=\"flex-1 flex justify-center overflow-auto\">\n <Document\n options={options}\n file={url}\n onLoadSuccess={onDocumentLoadSuccess}\n onLoadError={onDocumentLoadError}\n loading=\"\"\n >\n <Page\n pageNumber={pageNumber}\n renderTextLayer={true}\n renderAnnotationLayer={true}\n className=\"max-w-full max-h-full\"\n />\n </Document>\n </div>\n </div>\n );\n};\n"]}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var chunkVMUGTG7N_js=require('./chunk-VMUGTG7N.js'),Xt=require('styled-components'),jsxRuntime=require('react/jsx-runtime'),
|
|
1
|
+
'use strict';var chunkVMUGTG7N_js=require('./chunk-VMUGTG7N.js'),Xt=require('styled-components'),jsxRuntime=require('react/jsx-runtime'),at=require('react'),Kt=require('lodash.clonedeep'),d3=require('d3'),Ht=require('react-content-loader'),docxPreview=require('docx-preview'),reactSyntaxHighlighter=require('react-syntax-highlighter'),prism=require('react-syntax-highlighter/dist/esm/styles/prism'),Lr=require('react-markdown'),jr=require('remark-gfm');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Xt__default=/*#__PURE__*/_interopDefault(Xt);var at__default=/*#__PURE__*/_interopDefault(at);var Kt__default=/*#__PURE__*/_interopDefault(Kt);var Ht__default=/*#__PURE__*/_interopDefault(Ht);var Lr__default=/*#__PURE__*/_interopDefault(Lr);var jr__default=/*#__PURE__*/_interopDefault(jr);var ai=chunkVMUGTG7N_js.a(({children:h,className:u})=>jsxRuntime.jsx(Lt,{className:u,children:h}),"PageLayout"),Lt=Xt.styled.div`
|
|
2
2
|
display: grid;
|
|
3
3
|
min-height: 100dvh;
|
|
4
4
|
position: relative;
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
& > header {
|
|
10
10
|
grid-area: header;
|
|
11
11
|
}
|
|
12
|
-
`;var
|
|
12
|
+
`;var hi=chunkVMUGTG7N_js.a(({children:h,className:u})=>jsxRuntime.jsx(Rt,{className:u,children:h}),"PageContent"),Rt=Xt.styled.main`
|
|
13
13
|
grid-area: content;
|
|
14
14
|
min-width: 0;
|
|
15
|
-
background: ${({theme:
|
|
16
|
-
`;var
|
|
15
|
+
background: ${({theme:h})=>h.colors.backgroundBase};
|
|
16
|
+
`;var bi=chunkVMUGTG7N_js.a(({children:h,className:u,top:m=0})=>jsxRuntime.jsx(Ft,{className:u,$top:m,onClick:P=>P.stopPropagation(),children:h}),"SubNav"),Ft=Xt.styled.div(({theme:h,$top:u})=>`
|
|
17
17
|
display: flex;
|
|
18
18
|
flex-direction: column;
|
|
19
19
|
justify-content: space-between;
|
|
@@ -23,45 +23,45 @@
|
|
|
23
23
|
left: 0;
|
|
24
24
|
grid-area: sub-nav;
|
|
25
25
|
min-width: 0;
|
|
26
|
-
background: ${
|
|
27
|
-
max-height: calc(100dvh - ${
|
|
26
|
+
background: ${h.colors.background};
|
|
27
|
+
max-height: calc(100dvh - ${u}px);
|
|
28
28
|
height: 100%;
|
|
29
29
|
z-index: 1001;
|
|
30
|
-
top: ${
|
|
30
|
+
top: ${u}px;
|
|
31
31
|
overflow: auto;
|
|
32
|
-
@media (min-width: ${
|
|
32
|
+
@media (min-width: ${h.breakpoints.xl}px){
|
|
33
33
|
position: sticky;
|
|
34
|
-
border-right: 1px solid ${
|
|
34
|
+
border-right: 1px solid ${h.colors.stroke.light};
|
|
35
35
|
}
|
|
36
|
-
`);var
|
|
37
|
-
${chunkVMUGTG7N_js.u(
|
|
36
|
+
`);var ji=chunkVMUGTG7N_js.w(({maxWidth:h,...u})=>jsxRuntime.jsx(At,{...u,$maxWidth:h})),At=chunkVMUGTG7N_js.x(Xt.styled.div(({theme:h,$maxWidth:u,px:m=20})=>`
|
|
37
|
+
${chunkVMUGTG7N_js.u(h,"padding-inline",m)}
|
|
38
38
|
width: 100%;
|
|
39
39
|
min-width: 0;
|
|
40
|
-
max-width: ${typeof
|
|
40
|
+
max-width: ${typeof u=="number"?chunkVMUGTG7N_js.c(u,h.baseSize):u||"100%"};
|
|
41
41
|
`),{ignoreStyles:["padding-inline"]});var Yt=Xt__default.default.div`
|
|
42
42
|
width: 100%;
|
|
43
43
|
height: 100%;
|
|
44
44
|
display: flex;
|
|
45
45
|
align-items: center;
|
|
46
46
|
justify-content: center;
|
|
47
|
-
`,Gt=chunkVMUGTG7N_js.a(({width:u=280,height:h=280})=>{let y=Xt.useTheme();return jsxRuntime.jsx(Yt,{children:jsxRuntime.jsxs(Ht__default.default,{foregroundColor:y.contentLoader.foreground,backgroundColor:y.contentLoader.background,width:u,height:h,viewBox:"0 0 280 280",children:[jsxRuntime.jsx("path",{d:"m55 38-0.97266 0.22852 7.0801 30.092-18.355-20.979-0.75195 0.6582 19.596 22.395 0.43164 1.834 0.97266-0.22852 0.75195-0.6582-0.37695-0.42969 9.625-27.912-0.94531-0.32617-9.4375 27.371-0.10547-0.12109zm8 34-0.78516 0.61914 0.0957 0.12305-12.311 13.258 0.73242 0.67969 12.205-13.145 14.277 18.084 0.78516-0.61914-14.373-18.207 0.10547-0.11328zm15 19-0.48438 0.875 46.992 25.996 8e-3 4e-3 20.506 11.592-28.182 4.5449 0.15998 0.98819 29.418-4.7441 0.25 0.14062-12.555 24.143 0.88672 0.46094 13-25 15 25 26 30v18l-11 18 0.85352 0.52148 9.8008-16.039-4.6543 33.518 0.99023 0.13867 4.7793-34.408 7.2305 16.27 0.91406-0.40625-7.9141-17.807v-17.104l18 12.316 0.56445-0.82617-18.896-12.928-25.855-29.836-14.633-24.387 0.01562-0.02344h23.805v-1h-23.152l13.848-21.234 55.201-28.791-0.45898-0.88476 0.77734 0.62305 11.402-14.25 16.668-11.842-0.58008-0.81641-16.785 11.928-11.486 14.355-55.434 28.912-14.277 21.893-7.7617-27.166-0.96094 0.27344 7.7227 27.031-1.1191 0.17969-21.604-12.211zm140.43-12.912-6.957-17.338-0.92773 0.37305 6.957 17.338zm-6.957-17.338 0.72266 0.69336 16.232-16.896-0.7207-0.69336zm-3.4766 137.25 5 15 0.94922-0.31641-5-15zm-91-63-0.48047-0.87695-31 17 0.48047 0.87695zm-31 17 5 18 0.96289-0.26758-5-18zm0 0-0.70703-0.70703-12.898 12.898-17.881 9.9336 0.48633 0.875 18-10zm5 18-0.64062-0.76758-18 15 0.64062 0.76758z"}),jsxRuntime.jsx("circle",{cx:"229.92",cy:"63.7318",r:"5",transform:"rotate(173.661 229.92 63.7318)"}),jsxRuntime.jsx("circle",{cx:"227.711",cy:"43.8541",r:"5",transform:"rotate(173.661 227.711 43.8541)"}),jsxRuntime.jsx("circle",{cx:"211.478",cy:"60.7499",r:"5",transform:"rotate(173.661 211.478 60.7499)"}),jsxRuntime.jsx("circle",{cx:"218.434",cy:"78.0877",r:"5",transform:"rotate(173.661 218.434 78.0877)"}),jsxRuntime.jsx("circle",{cx:"246.705",cy:"51.8054",r:"5",transform:"rotate(173.661 246.705 51.8054)"}),jsxRuntime.jsx("circle",{cx:"42",cy:"48",r:"5"}),jsxRuntime.jsx("circle",{cx:"55",cy:"38",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"43",r:"5"}),jsxRuntime.jsx("circle",{cx:"63",cy:"72",r:"5"}),jsxRuntime.jsx("circle",{cx:"50",cy:"86",r:"5"}),jsxRuntime.jsx("circle",{cx:"78",cy:"91",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"165",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"185",r:"5"}),jsxRuntime.jsx("circle",{cx:"91",cy:"170",r:"5"}),jsxRuntime.jsx("circle",{cx:"86",cy:"152",r:"5"}),jsxRuntime.jsx("circle",{cx:"148",cy:"130",r:"5"}),jsxRuntime.jsx("circle",{cx:"189",cy:"185",r:"5"}),jsxRuntime.jsx("circle",{cx:"163",cy:"107",r:"5"}),jsxRuntime.jsx("circle",{cx:"140",cy:"102",r:"5"}),jsxRuntime.jsx("circle",{cx:"117",cy:"135",r:"5"}),jsxRuntime.jsx("circle",{cx:"125",cy:"117",r:"5"}),jsxRuntime.jsx("circle",{cx:"208",cy:"198",r:"5"}),jsxRuntime.jsx("circle",{cx:"189",cy:"203",r:"5"}),jsxRuntime.jsx("circle",{cx:"198",cy:"221",r:"5"}),jsxRuntime.jsx("circle",{cx:"178",cy:"221",r:"5"}),jsxRuntime.jsx("circle",{cx:"184",cy:"239",r:"5"}),jsxRuntime.jsx("circle",{cx:"213",cy:"213",r:"5"}),jsxRuntime.jsx("circle",{cx:"173",cy:"130",r:"5"}),jsxRuntime.jsx("circle",{cx:"163",cy:"155",r:"5"}),jsxRuntime.jsx("circle",{cx:"135",cy:"155",r:"5"}),jsxRuntime.jsx("circle",{cx:"55",cy:"175",r:"5"})]})})},"GraphLoader"),tt=Gt;var be=typeof window<"u"&&window.devicePixelRatio||1;function cr(u){return !u||u.length===0?[]:u.map(h=>{let y=new Image;y.src=h.img;let P=new Image;return P.src=h.hoverImg,{...h,normalImg:y,hoverImg:P}})}chunkVMUGTG7N_js.a(cr,"prepareButtonImages");var I={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},lr=it.forwardRef(({loading:u,width:h,height:y,graphData:P,buttons:D=[],onNodeClick:x,onBackgroundClick:v,onNodeHover:B,onLinkHover:H,onLinkClick:$},X)=>{let S=Xt.useTheme(),[G,ae]=it.useState(true),t=it.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:h*be,height:y*be,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:V,links:te}=it.useMemo(()=>Kt__default.default(P),[P]),[W,kt]=it.useState([]),E=it.useRef(null),N=it.useRef(null),se=it.useRef(null),Nt=d3.scaleOrdinal(d3.schemeCategory10),St=it.useCallback(()=>{if(!E.current)return false;try{let e=E.current.getContext("2d");return e?(se.current=e,!0):(console.error("Failed to get 2D context"),!1)}catch(e){return console.error("Error initializing Canvas 2D context:",e),false}},[]),U=it.useCallback(()=>N.current?N.current.nodes():null,[]),ce=it.useCallback(()=>{if(!N.current)return null;let e=N.current.force("link");return e?e.links():null},[]),Re=it.useCallback(e=>{e.save(),e.setTransform(1,0,0,1,0,0);let{width:n,height:r}=t.current,o=I.gridSpacing,i=I.dotSize;e.fillStyle=S.graph2D.grid.dotColor;for(let c=o/2;c<=n;c+=o)for(let a=o/2;a<=r;a+=o)e.beginPath(),e.arc(c,a,i,0,2*Math.PI),e.fill();e.restore();},[S.graph2D.grid.dotColor,I.gridSpacing,I.dotSize]),Pt=it.useCallback((e,n,r)=>{if(!e)return "";if(r.measureText(e).width<=n)return e;let i=e,c="...";for(;r.measureText(i+c).width>n&&i.length>0;)i=i.slice(0,-1);return i+c},[]),we=chunkVMUGTG7N_js.a(e=>{let r=Math.min(e,I.maxZoom)/I.maxZoom;return Math.max(I.fontSize*r,I.fontSize)},"calculateFontSize"),Ee=it.useCallback(e=>{let n=ce(),r=U();!n||n.length===0||!r||r.length===0||(e.lineWidth=.5,e.globalAlpha=1,n.forEach(o=>{let i=typeof o.source=="object"?o.source:r.find(Z=>Z.id===o.source),c=typeof o.target=="object"?o.target:r.find(Z=>Z.id===o.target);if(!i||!c)return;let a={x:i.x||0,y:i.y||0},s={x:c.x||0,y:c.y||0},d=s.x-a.x,f=s.y-a.y,p=Math.sqrt(d*d+f*f),M=d/p,w=f/p,z=I.nodeSizeBase/2,T=I.nodeSizeBase/2,j=4,l={x:a.x+M*z,y:a.y+w*z},b={x:s.x-M*(T+j),y:s.y-w*(T+j)},g={x:s.x-M*(T+1),y:s.y-w*(T+1)},F=t.current.highlightLinks.has(o),R=F?S.graph2D.link.highlighted:S.graph2D.link.normal,O=F?1.5:.5,Y=a.x+(s.x-a.x)/2,K=a.y+(s.y-a.y)/2,J=Math.atan2(f,d);if(o.label){let Z=t.current.transform.k,Q=we(Z);e.font=`${Q}px Sans-Serif`;let Ye=e.measureText(o.label).width,Ge=10;e.beginPath(),e.moveTo(l.x,l.y);let qe=p/2-(Ye+Ge)/2,Ue={x:a.x+M*qe,y:a.y+w*qe};e.lineTo(Ue.x,Ue.y),e.strokeStyle=R,e.lineWidth=O,e.stroke(),e.beginPath();let Ve=p/2+(Ye+Ge)/2,Ze={x:a.x+M*Ve,y:a.y+w*Ve};e.moveTo(Ze.x,Ze.y),e.lineTo(b.x,b.y),e.strokeStyle=R,e.lineWidth=O,e.stroke();}else e.beginPath(),e.moveTo(l.x,l.y),e.lineTo(b.x,b.y),e.strokeStyle=R,e.lineWidth=O,e.stroke();let oe=2;if(e.save(),e.translate(g.x,g.y),e.rotate(J),e.beginPath(),e.moveTo(0,0),e.lineTo(-4,oe),e.lineTo(-4,0),e.lineTo(-4,-2),e.closePath(),e.fillStyle=R,e.fill(),e.restore(),o.label){let Z=t.current.transform.k,Q=we(Z);e.font=`${Q}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.save(),e.translate(Y,K),Math.abs(J)>Math.PI/2?e.rotate(J+Math.PI):e.rotate(J),e.fillStyle=F?S.graph2D.link.highlightedTextColor:S.graph2D.link.textColor,e.fillText(o.label,0,0),e.restore();}}));},[I,S.graph2D.link]),ze=chunkVMUGTG7N_js.a((e,n,r,o,i,c,a)=>{try{if(c!=null){let s=i*.8;e.font=`${s}px sans-serif`,e.textBaseline="middle",e.textAlign="left";let d=new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0,compactDisplay:"short"}).format(c),f=e.measureText(d).width,p=i*.3,w=(i+p+f)/2;e.drawImage(n,r-w,o-i/2,i,i),e.fillStyle=a||"#99989C",e.fillText(d,r-w+i+p,o);}else e.drawImage(n,r-i/2,o-i/2,i,i);}catch(s){console.warn("Error rendering icon:",s);}},"drawIconWithOptionalCounter"),Fe=it.useCallback((e,n)=>{if(!W||W.length===0||!e||!e.x||!e.y)return;let{x:r,y:o}=e,i=I.nodeSizeBase*I.nodeAreaFactor/2;n.save();let c=Math.min(W.length,8),a=Math.min(Math.PI*2/c,Math.PI);for(let s=0;s<c;s++){let d=s*a,f=(s+1)*a,p=t.current.hoveredButtonIndex===s;n.beginPath(),n.arc(r,o,i,d,f,false),n.lineTo(r,o),n.closePath(),n.lineWidth=1,n.strokeStyle=S.graph2D?.button?.stroke||"#FFFFFF",n.stroke(),n.fillStyle=p?S.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":S.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",n.fill();let M=i*.2,w=(d+f)/2,z=i-I.nodeSizeBase/2+M,T=r+Math.cos(w)*z,j=o+Math.sin(w)*z,l=W[s];if(l.loading){let b=M/2,g=M/12;n.save(),n.translate(T,j),n.rotate(t.current.spinnerAngle);for(let F=0;F<12;F++){let R=Math.PI*2*F/12,O=F/12,Y=Math.cos(R)*b,K=Math.sin(R)*b;n.beginPath(),n.fillStyle=chunkVMUGTG7N_js.l(S.graph2D?.button?.spinnerColor,O),n.arc(Y,K,g,0,Math.PI*2),n.fill();}n.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(A),t.current.animation.buttonIndex=s;}else {t.current.animation.id&&t.current.animation.buttonIndex===s&&(cancelAnimationFrame(t.current.animation.id),t.current.animation.id=null,t.current.animation.buttonIndex=null);let b=p?l.hoverImg:l.normalImg,g=l.getCount?l.getCount(e):null;b.complete?ze(n,b,T,j,M,g,S.graph2D?.button?.textColor):b.onload=()=>{se.current&&ze(n,b,T,j,M,g,S.graph2D?.button?.textColor);};}}n.restore();},[W,S.graph2D?.button]),Be=it.useCallback(e=>{let n=U();!n||n.length===0||(e.globalAlpha=1,n.forEach(r=>{let{x:o,y:i,color:c,fontColor:a,label:s}=r,d=t.current.highlightNodes.has(r)||r===t.current.hoveredNode||r===t.current.draggedNode,f=r===t.current.selectedNode,p=I.nodeSizeBase,M=I.nodeSizeBase/2;if(d&&!f){let w=I.nodeSizeBase*I.nodeAreaFactor*.75/2;e.beginPath(),e.arc(o,i,w,0,2*Math.PI,false),e.fillStyle=S.graph2D.ring.highlightFill,e.fill();}if(f)if(D&&D.length>0)Fe(r,e);else {let w=I.nodeSizeBase*I.nodeAreaFactor/2;e.beginPath(),e.arc(o,i,w,0,2*Math.PI,false),e.fillStyle=S.graph2D.ring.selectionFill||S.graph2D.ring.highlightFill,e.fill();}if(e.beginPath(),e.arc(o,i,M,0,2*Math.PI),e.fillStyle=c||Nt(r.group||"0"),e.fill(),s){e.save(),e.translate(o,i);let w=t.current.transform.k,z=we(w),T=p*I.textPaddingFactor;e.font=`${z}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle=a||"#000";let j=Pt(s,T,e);e.fillText(j,0,0),e.restore();}}));},[S.graph2D.ring,D,Fe]),A=it.useCallback(()=>{let e=se.current;e&&(e.clearRect(0,0,t.current.width,t.current.height),Re(e),e.save(),e.setTransform(t.current.transform.k,0,0,t.current.transform.k,t.current.transform.x,t.current.transform.y),Ee(e),Be(e),e.restore());},[Ee,Be,Re]),Oe=it.useCallback((e,n=[],r)=>{let o=ce()||[],i=U()||[];if(!N.current||!e.length)return;let{width:c,height:a}=t.current,s=r?.smoothAppearance??false,d=r?.transitionDuration??1e3,f=new Set(i.map(l=>l.id)),p=e.filter(l=>!f.has(l.id)),M=new Set(o.map(l=>`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`)),w=n.filter(l=>{let b=`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`;return !M.has(b)});if(p.length===0&&w.length===0)return;let z=[...i,...p],T=[...o,...w];s&&(p.forEach(l=>{let b=w.filter(g=>{let F=typeof g.source=="object"?g.source.id:g.source,R=typeof g.target=="object"?g.target.id:g.target;return F===l.id&&f.has(R)||R===l.id&&f.has(F)});if(b.length>0){let g=b[0],F=typeof g.source=="object"?g.source.id===l.id?g.target:g.source.id:g.source===l.id?g.target:g.source,R=z.find(O=>O.id===F);if(R&&R.x!==void 0&&R.y!==void 0){let O=30+Math.random()*20,Y=Math.random()*Math.PI*2;l.x=R.x+Math.cos(Y)*O,l.y=R.y+Math.sin(Y)*O,l.vx=0,l.vy=0;}}else {let g=c/2,F=a/2,R=Math.min(c,a)/4,O=Math.random()*Math.PI*2;l.x=g+Math.cos(O)*(R*Math.random()),l.y=F+Math.sin(O)*(R*Math.random()),l.vx=0,l.vy=0;}}),i.forEach(l=>{l.fx=l.x,l.fy=l.y;})),N.current.nodes(z);let j=N.current.force("link");j&&j.links(T),w.forEach(l=>{let b=typeof l.source=="object"?l.source:z.find(F=>F.id===l.source),g=typeof l.target=="object"?l.target:z.find(F=>F.id===l.target);!b||!g||(!b.neighbors&&(b.neighbors=[]),!g.neighbors&&(g.neighbors=[]),b.neighbors.push(g),g.neighbors.push(b),!b.links&&(b.links=[]),!g.links&&(g.links=[]),b.links.push(l),g.links.push(l));}),s?(N.current.alphaTarget(.3),N.current.alpha(.3),N.current.velocityDecay(.7),N.current.restart(),setTimeout(()=>{i.forEach(l=>{l.fx=void 0,l.fy=void 0;}),N.current?.alphaTarget(0),N.current?.alpha(.1),N.current?.velocityDecay(.6);},d)):N.current.alpha(.1).restart(),A();},[V,A]),Ae=it.useCallback(e=>{let n=U(),r=ce();if(!N.current||!e.length||!n||n.length===0||!r||r.length===0)return;let o=new Set(e);if(t.current.selectedNode&&t.current.selectedNode.id!==void 0&&o.has(t.current.selectedNode.id)&&(t.current.selectedNode=null),t.current.hoveredNode&&t.current.hoveredNode.id!==void 0&&o.has(t.current.hoveredNode.id)&&(t.current.hoveredNode=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set),t.current.hoveredLink){let s=typeof t.current.hoveredLink.source=="object"?t.current.hoveredLink.source.id:t.current.hoveredLink.source,d=typeof t.current.hoveredLink.target=="object"?t.current.hoveredLink.target.id:t.current.hoveredLink.target;(s!==void 0&&o.has(s)||d!==void 0&&o.has(d))&&(t.current.hoveredLink=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set);}t.current.draggedNode&&t.current.draggedNode.id!==void 0&&o.has(t.current.draggedNode.id)&&(t.current.draggedNode=null);let i=n.filter(s=>s.id!==void 0&&!o.has(s.id)),c=r.filter(s=>{let d=typeof s.source=="object"?s.source.id:s.source,f=typeof s.target=="object"?s.target.id:s.target;return d!==void 0&&!o.has(d)&&f!==void 0&&!o.has(f)});i.forEach(s=>{s.neighbors=[],s.links=[];}),c.forEach(s=>{let d=typeof s.source=="object"?s.source:i.find(p=>p.id===s.source),f=typeof s.target=="object"?s.target:i.find(p=>p.id===s.target);!d||!f||(d.neighbors=d.neighbors||[],f.neighbors=f.neighbors||[],d.neighbors.push(f),f.neighbors.push(d),d.links=d.links||[],f.links=f.links||[],d.links.push(s),f.links.push(s));}),N.current.nodes(i);let a=N.current.force("link");a&&a.links(c),A();},[A]),le=it.useCallback((e=0,n=20)=>{let r=U();if(!se.current||!E.current||!r||!r.length)return;let i=1/0,c=1/0,a=-1/0,s=-1/0;if(r.forEach(d=>{if(d.x===void 0||d.y===void 0)return;let f=d.x,p=d.y;i=Math.min(i,f),c=Math.min(c,p),a=Math.max(a,f),s=Math.max(s,p);}),isFinite(i)&&isFinite(a)&&isFinite(c)&&isFinite(s)){let{width:d,height:f}=t.current;i-=n,c-=n,a+=n,s+=n;let p=a-i,M=s-c,w=p>0?d/p:1,z=M>0?f/M:1,T=Math.min(w,z,10),j=i+p/2,l=c+M/2,b={k:T,x:d/2-j*T,y:f/2-l*T};if(e>0){let g={...t.current.transform},F=Date.now(),R=chunkVMUGTG7N_js.a(()=>{let O=Math.min(1,(Date.now()-F)/e),Y=O===1?1:1-Math.pow(1-O,3),K={k:g.k+(b.k-g.k)*Y,x:g.x+(b.x-g.x)*Y,y:g.y+(b.y-g.y)*Y};t.current.transform=K,A(),O<1&&requestAnimationFrame(R);},"animateZoom");requestAnimationFrame(R);}else t.current.transform=b,A();}},[]),de=it.useCallback((e,n)=>{let r=U();if(!r||r.length===0)return null;let o=I.nodeSizeBase/2,i=typeof window<"u"&&window.devicePixelRatio||1,c=(e*i-t.current.transform.x)/t.current.transform.k,a=(n*i-t.current.transform.y)/t.current.transform.k;return r.find(s=>{let d=(s.x||0)-c,f=(s.y||0)-a;return Math.sqrt(d*d+f*f)<=o})||null},[]),ue=it.useCallback((e,n)=>{let r=ce(),o=U();if(!r||r.length===0||!o||o.length===0)return null;let i=typeof window<"u"&&window.devicePixelRatio||1,c=(e*i-t.current.transform.x)/t.current.transform.k,a=(n*i-t.current.transform.y)/t.current.transform.k,s=5;return r.find(d=>{let f=typeof d.source=="object"?d.source:o.find(Q=>Q.id===d.source),p=typeof d.target=="object"?d.target:o.find(Q=>Q.id===d.target);if(!f||!p)return false;let M=f.x||0,w=f.y||0,z=p.x||0,T=p.y||0,j=c-M,l=a-w,b=z-M,g=T-w,F=j*b+l*g,R=b*b+g*g;if(R===0)return false;let O=F/R;O=Math.max(0,Math.min(1,O));let Y=M+O*b,K=w+O*g,J=c-Y,oe=a-K;return Math.sqrt(J*J+oe*oe)<=s})||null},[]),$e=it.useCallback((e,n,r,o,i,c,a)=>{let s=e-r,d=n-o,f=Math.sqrt(s*s+d*d),p=Math.atan2(d,s);p<0&&(p+=2*Math.PI);let z=f>=i*.5&&f<=i*1,T=false;return c===Math.PI&&a===Math.PI*2?T=p>=Math.PI&&p<=Math.PI*2:c===0&&a===Math.PI?T=p>=0&&p<=Math.PI:T=c<=a&&p>=c&&p<=a||c>a&&(p>=c||p<=a),z&&T},[]),xe=it.useCallback(e=>{if(e===t.current.hoveredNode)return;let n=new Set,r=new Set;e&&(n.add(e),e.neighbors&&e.neighbors.forEach(o=>n.add(o)),e.links&&e.links.forEach(o=>r.add(o))),t.current.hoveredNode=e,B&&B(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[B]),ke=it.useCallback(e=>{if(e===t.current.hoveredLink)return;let n=new Set,r=new Set;if(e){r.add(e);let o=U();if(o){let i=typeof e.source=="object"?e.source:o.find(a=>a.id===e.source),c=typeof e.target=="object"?e.target:o.find(a=>a.id===e.target);i&&n.add(i),c&&n.add(c);}}t.current.hoveredLink=e,H&&H(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[H,U]),He=it.useCallback(e=>{$&&$(e);},[$]),Xe=it.useCallback(e=>{t.current.selectedNode=e,x&&x(e);},[x]),We=it.useCallback(()=>{t.current.selectedNode=null,v&&v();},[v]),Ne=it.useCallback(e=>{if(!E.current||!N.current)return;let n=E.current.getBoundingClientRect(),r=e.clientX-n.left,o=e.clientY-n.top;t.current.mouseStartPos={x:r,y:o},t.current.isDragging=false;let i=de(r,o);i?(t.current.draggedNode=i,i.fx=i.x,i.fy=i.y):(t.current.isPanning=true,t.current.lastMousePos={x:r,y:o});},[de]),he=it.useCallback((e,n)=>{let r=null;if(E.current&&t.current&&W.length>0){let o=I.nodeSizeBase*I.nodeAreaFactor/2,i=E.current.getBoundingClientRect(),c=E.current.width/i.width,a=E.current.height/i.height,s=e*c,d=n*a,f=(s-t.current.transform.x)/t.current.transform.k,p=(d-t.current.transform.y)/t.current.transform.k,M=t.current.selectedNode?.x||0,w=t.current.selectedNode?.y||0,z=Math.min(W.length,8),T=Math.min(Math.PI*2/z,Math.PI);for(let j=0;j<z;j++){let l=j*T,b=(j+1)*T;if($e(f,p,M,w,o,l,b)){r=j;break}}}return r},[W]),Se=it.useCallback(e=>{if(!E.current)return;let n=E.current.getBoundingClientRect(),r=e.clientX-n.left,o=e.clientY-n.top;if(t.current.draggedNode&&t.current.mouseStartPos&&N.current){let a=t.current.mouseStartPos.x,s=t.current.mouseStartPos.y,d=r-a,f=o-s;Math.sqrt(d*d+f*f)>3&&(t.current.isDragging=true,N.current.alphaTarget()===0&&N.current.alphaTarget(0).restart());let w=typeof window<"u"&&window.devicePixelRatio||1,z=(r*w-t.current.transform.x)/t.current.transform.k,T=(o*w-t.current.transform.y)/t.current.transform.k;t.current.draggedNode.fx=z,t.current.draggedNode.fy=T;return}if(t.current.isPanning&&t.current.mouseStartPos){let a=r-t.current.lastMousePos.x,s=o-t.current.lastMousePos.y,d=t.current.mouseStartPos.x,f=t.current.mouseStartPos.y;Math.sqrt(Math.pow(r-d,2)+Math.pow(o-f,2))>3&&(t.current.isDragging=true),t.current.transform={...t.current.transform,x:t.current.transform.x+a,y:t.current.transform.y+s},t.current.lastMousePos={x:r,y:o},A();return}let i,c;if(t.current.selectedNode&&E.current&&W.length>0){let a=he(r,o);a!==null&&(c=t.current.selectedNode),a!==t.current.hoveredButtonIndex&&(i=true),t.current.hoveredButtonIndex=a;}else t.current.hoveredButtonIndex!==null&&(t.current.hoveredButtonIndex=null);if(!c&&(c=de(r,o),!c)){let a=ue(r,o),s=a!==t.current.hoveredLink;if(a&&t.current.hoveredNode&&xe(null),ke(a),E.current&&(E.current.style.cursor=a?"pointer":"default"),s){A();return}}c&&t.current.hoveredLink&&ke(null),c!==t.current.hoveredNode&&(i=true),xe(c),E.current&&(E.current.style.cursor=c?"pointer":"default"),i&&A();},[W,de,ue,xe,ke,A,$e,he]),Dt=it.useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.stopPropagation(),e.preventDefault()),t.current.mustBeStoppedPropagation=false;},[]),fe=it.useCallback(e=>{let n=t.current.isDragging;if(n&&(t.current.mustBeStoppedPropagation=true),!n&&t.current.mouseStartPos){let r=E.current?.getBoundingClientRect();if(r){let o=e.clientX-r.left,i=e.clientY-r.top;W.length>0&&t.current.hoveredButtonIndex===null&&(t.current.hoveredButtonIndex=he(o,i));let c=false;if(t.current.selectedNode&&t.current.hoveredButtonIndex!==null&&D[t.current.hoveredButtonIndex]){let a=D[t.current.hoveredButtonIndex];a&&a.onClick&&(a.onClick(t.current.selectedNode),c=true,t.current.hoveredButtonIndex=null);}if(!c&&t.current.draggedNode)Xe(t.current.draggedNode);else if(!c&&!t.current.draggedNode){let a=ue(o,i);a?He(a):We();}}}if(t.current.draggedNode&&N.current){if(n){N.current.alphaTarget(0);let r=.05,o=.04,i=.6;N.current.alpha(r).alphaDecay(o),N.current.velocityDecay(i);}else N.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),A();},[D,A,Xe,We,ue,He,he,W]),Pe=it.useCallback(e=>{if(e.stopPropagation(),e.preventDefault(),!E.current)return;let n=E.current.getBoundingClientRect(),r=e.clientX-n.left,o=e.clientY-n.top,c=-e.deltaY>0?1.1:1/1.1,a=t.current.transform,s=a.k*c;if(s<.01||s>10)return;let d=a.k*c,f=r-(r-a.x)*c,p=o-(o-a.y)*c;t.current.transform={k:d,x:f,y:p},A();},[A]),De=chunkVMUGTG7N_js.a((e,n)=>{let r=e.touches[0];if(r){let o={clientX:r.clientX,clientY:r.clientY};n(o);}},"convertTouchToMouseEvent"),Mt=it.useCallback(e=>{De(e,Ne);},[Ne]),Me=it.useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.preventDefault(),e.stopPropagation()),t.current.mustBeStoppedPropagation=false,De(e,fe);},[fe]),Ct=it.useCallback(e=>{De(e,Se);},[Se]);return it.useImperativeHandle(X,()=>({zoomToFit:le,addNodes:Oe,removeNodes:Ae}),[le,Oe,Ae]),it.useEffect(()=>{let e=E.current,{width:n,height:r}=t.current;if(!e)return;St(),ae(true);let o=n/2,i=r/2,c=I.nodeSizeBase,a=c/2,s=c*2.5;N.current&&N.current.stop();let d=N.current=d3.forceSimulation(V).force("link",d3.forceLink(te).id(f=>f.id).distance(s).strength(.9)).force("charge",d3.forceManyBody().strength(-c/10*200).theta(.5).distanceMin(c*2)).force("x",d3.forceX().strength(.03)).force("y",d3.forceY().strength(.03)).force("center",d3.forceCenter(o,i).strength(.05)).force("collide",d3.forceCollide().radius(a*2).iterations(2).strength(1)).velocityDecay(.6);return ()=>{d.stop();}},[V,te]),it.useLayoutEffect(()=>{let e=E.current;e&&(t.current.width=h*be,t.current.height=y*be,e.width=t.current.width,e.height=t.current.height);},[h,y]),it.useEffect(()=>{if(N.current){let e=N.current;e.on("tick",()=>{A();}),e.on("end",()=>{G&&(le(0,20),setTimeout(()=>{ae(false);},200));});}G||A();},[V,te,G,A,le]),it.useEffect(()=>{!V||!te||te.forEach(e=>{let n=typeof e.source=="object"?e.source:V.find(o=>o.id===e.source),r=typeof e.target=="object"?e.target:V.find(o=>o.id===e.target);!n||!r||(!n.neighbors&&(n.neighbors=[]),!r.neighbors&&(r.neighbors=[]),n.neighbors.push(r),r.neighbors.push(n),!n.links&&(n.links=[]),!r.links&&(r.links=[]),n.links.push(e),r.links.push(e));});},[V,te]),it.useEffect(()=>{D&&D.length>0&&kt(cr(D));},[D]),it.useEffect(()=>{let e=E.current;if(!(!e||typeof window>"u"))return e.addEventListener("wheel",Pe,{passive:false}),e.addEventListener("touchend",Me,{passive:false}),()=>{e.removeEventListener("wheel",Pe),e.removeEventListener("touchend",Me);}},[Pe,Me]),jsxRuntime.jsxs(dr,{children:[(u||G)&&jsxRuntime.jsx(tt,{width:h,height:y}),jsxRuntime.jsx(ur,{ref:E,style:{width:h,height:y,display:u||G?"none":"block"},onMouseDown:Ne,onMouseMove:Se,onMouseUp:fe,onMouseLeave:fe,onClick:Dt,onTouchStart:Mt,onTouchMove:Ct})]})}),dr=Xt.styled.div`
|
|
47
|
+
`,Gt=chunkVMUGTG7N_js.a(({width:h=280,height:u=280})=>{let m=Xt.useTheme();return jsxRuntime.jsx(Yt,{children:jsxRuntime.jsxs(Ht__default.default,{foregroundColor:m.contentLoader.foreground,backgroundColor:m.contentLoader.background,width:h,height:u,viewBox:"0 0 280 280",children:[jsxRuntime.jsx("path",{d:"m55 38-0.97266 0.22852 7.0801 30.092-18.355-20.979-0.75195 0.6582 19.596 22.395 0.43164 1.834 0.97266-0.22852 0.75195-0.6582-0.37695-0.42969 9.625-27.912-0.94531-0.32617-9.4375 27.371-0.10547-0.12109zm8 34-0.78516 0.61914 0.0957 0.12305-12.311 13.258 0.73242 0.67969 12.205-13.145 14.277 18.084 0.78516-0.61914-14.373-18.207 0.10547-0.11328zm15 19-0.48438 0.875 46.992 25.996 8e-3 4e-3 20.506 11.592-28.182 4.5449 0.15998 0.98819 29.418-4.7441 0.25 0.14062-12.555 24.143 0.88672 0.46094 13-25 15 25 26 30v18l-11 18 0.85352 0.52148 9.8008-16.039-4.6543 33.518 0.99023 0.13867 4.7793-34.408 7.2305 16.27 0.91406-0.40625-7.9141-17.807v-17.104l18 12.316 0.56445-0.82617-18.896-12.928-25.855-29.836-14.633-24.387 0.01562-0.02344h23.805v-1h-23.152l13.848-21.234 55.201-28.791-0.45898-0.88476 0.77734 0.62305 11.402-14.25 16.668-11.842-0.58008-0.81641-16.785 11.928-11.486 14.355-55.434 28.912-14.277 21.893-7.7617-27.166-0.96094 0.27344 7.7227 27.031-1.1191 0.17969-21.604-12.211zm140.43-12.912-6.957-17.338-0.92773 0.37305 6.957 17.338zm-6.957-17.338 0.72266 0.69336 16.232-16.896-0.7207-0.69336zm-3.4766 137.25 5 15 0.94922-0.31641-5-15zm-91-63-0.48047-0.87695-31 17 0.48047 0.87695zm-31 17 5 18 0.96289-0.26758-5-18zm0 0-0.70703-0.70703-12.898 12.898-17.881 9.9336 0.48633 0.875 18-10zm5 18-0.64062-0.76758-18 15 0.64062 0.76758z"}),jsxRuntime.jsx("circle",{cx:"229.92",cy:"63.7318",r:"5",transform:"rotate(173.661 229.92 63.7318)"}),jsxRuntime.jsx("circle",{cx:"227.711",cy:"43.8541",r:"5",transform:"rotate(173.661 227.711 43.8541)"}),jsxRuntime.jsx("circle",{cx:"211.478",cy:"60.7499",r:"5",transform:"rotate(173.661 211.478 60.7499)"}),jsxRuntime.jsx("circle",{cx:"218.434",cy:"78.0877",r:"5",transform:"rotate(173.661 218.434 78.0877)"}),jsxRuntime.jsx("circle",{cx:"246.705",cy:"51.8054",r:"5",transform:"rotate(173.661 246.705 51.8054)"}),jsxRuntime.jsx("circle",{cx:"42",cy:"48",r:"5"}),jsxRuntime.jsx("circle",{cx:"55",cy:"38",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"43",r:"5"}),jsxRuntime.jsx("circle",{cx:"63",cy:"72",r:"5"}),jsxRuntime.jsx("circle",{cx:"50",cy:"86",r:"5"}),jsxRuntime.jsx("circle",{cx:"78",cy:"91",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"165",r:"5"}),jsxRuntime.jsx("circle",{cx:"73",cy:"185",r:"5"}),jsxRuntime.jsx("circle",{cx:"91",cy:"170",r:"5"}),jsxRuntime.jsx("circle",{cx:"86",cy:"152",r:"5"}),jsxRuntime.jsx("circle",{cx:"148",cy:"130",r:"5"}),jsxRuntime.jsx("circle",{cx:"189",cy:"185",r:"5"}),jsxRuntime.jsx("circle",{cx:"163",cy:"107",r:"5"}),jsxRuntime.jsx("circle",{cx:"140",cy:"102",r:"5"}),jsxRuntime.jsx("circle",{cx:"117",cy:"135",r:"5"}),jsxRuntime.jsx("circle",{cx:"125",cy:"117",r:"5"}),jsxRuntime.jsx("circle",{cx:"208",cy:"198",r:"5"}),jsxRuntime.jsx("circle",{cx:"189",cy:"203",r:"5"}),jsxRuntime.jsx("circle",{cx:"198",cy:"221",r:"5"}),jsxRuntime.jsx("circle",{cx:"178",cy:"221",r:"5"}),jsxRuntime.jsx("circle",{cx:"184",cy:"239",r:"5"}),jsxRuntime.jsx("circle",{cx:"213",cy:"213",r:"5"}),jsxRuntime.jsx("circle",{cx:"173",cy:"130",r:"5"}),jsxRuntime.jsx("circle",{cx:"163",cy:"155",r:"5"}),jsxRuntime.jsx("circle",{cx:"135",cy:"155",r:"5"}),jsxRuntime.jsx("circle",{cx:"55",cy:"175",r:"5"})]})})},"GraphLoader"),rt=Gt;var ye=typeof window<"u"&&window.devicePixelRatio||1;function cr(h){return !h||h.length===0?[]:h.map(u=>{let m=new Image;m.src=u.img;let P=new Image;return P.src=u.hoverImg,{...u,normalImg:m,hoverImg:P}})}chunkVMUGTG7N_js.a(cr,"prepareButtonImages");var j={fontSize:3,nodeSizeBase:30,nodeAreaFactor:2,textPaddingFactor:.9,gridSpacing:20,dotSize:1,maxZoom:4},lr=at.forwardRef(({loading:h,width:u,height:m,graphData:P,buttons:D=[],onNodeClick:k,onBackgroundClick:v,onNodeHover:$,onLinkHover:H,onLinkClick:A},X)=>{let S=Xt.useTheme(),[G,Re]=at.useState(true),t=at.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:u*ye,height:m*ye,animation:{id:null,buttonIndex:null},spinnerAngle:0}),{nodes:V,links:te}=at.useMemo(()=>Kt__default.default(P),[P]),[W,kt]=at.useState([]),E=at.useRef(null),N=at.useRef(null),ae=at.useRef(null),Nt=d3.scaleOrdinal(d3.schemeCategory10),St=at.useCallback(()=>{if(!E.current)return false;try{let e=E.current.getContext("2d");return e?(ae.current=e,!0):(console.error("Failed to get 2D context"),!1)}catch(e){return console.error("Error initializing Canvas 2D context:",e),false}},[]),U=at.useCallback(()=>N.current?N.current.nodes():null,[]),se=at.useCallback(()=>{if(!N.current)return null;let e=N.current.force("link");return e?e.links():null},[]),Ee=at.useCallback(e=>{e.save(),e.setTransform(1,0,0,1,0,0);let{width:n,height:r}=t.current,o=j.gridSpacing,i=j.dotSize;e.fillStyle=S.graph2D.grid.dotColor;for(let c=o/2;c<=n;c+=o)for(let a=o/2;a<=r;a+=o)e.beginPath(),e.arc(c,a,i,0,2*Math.PI),e.fill();e.restore();},[S.graph2D.grid.dotColor,j.gridSpacing,j.dotSize]),Pt=at.useCallback((e,n,r)=>{if(!e)return "";if(r.measureText(e).width<=n)return e;let i=e,c="...";for(;r.measureText(i+c).width>n&&i.length>0;)i=i.slice(0,-1);return i+c},[]),ve=chunkVMUGTG7N_js.a(e=>{let r=Math.min(e,j.maxZoom)/j.maxZoom;return Math.max(j.fontSize*r,j.fontSize)},"calculateFontSize"),ze=at.useCallback(e=>{let n=se(),r=U();!n||n.length===0||!r||r.length===0||(e.lineWidth=.5,e.globalAlpha=1,n.forEach(o=>{let i=typeof o.source=="object"?o.source:r.find(Z=>Z.id===o.source),c=typeof o.target=="object"?o.target:r.find(Z=>Z.id===o.target);if(!i||!c)return;let a={x:i.x||0,y:i.y||0},s={x:c.x||0,y:c.y||0},d=s.x-a.x,p=s.y-a.y,f=Math.sqrt(d*d+p*p),M=d/f,w=p/f,z=j.nodeSizeBase/2,T=j.nodeSizeBase/2,I=4,l={x:a.x+M*z,y:a.y+w*z},b={x:s.x-M*(T+I),y:s.y-w*(T+I)},g={x:s.x-M*(T+1),y:s.y-w*(T+1)},F=t.current.highlightLinks.has(o),R=F?S.graph2D.link.highlighted:S.graph2D.link.normal,B=F?1.5:.5,Y=a.x+(s.x-a.x)/2,K=a.y+(s.y-a.y)/2,J=Math.atan2(p,d);if(o.label){let Z=t.current.transform.k,Q=ve(Z);e.font=`${Q}px Sans-Serif`;let Ge=e.measureText(o.label).width,qe=10;e.beginPath(),e.moveTo(l.x,l.y);let Ue=f/2-(Ge+qe)/2,Ve={x:a.x+M*Ue,y:a.y+w*Ue};e.lineTo(Ve.x,Ve.y),e.strokeStyle=R,e.lineWidth=B,e.stroke(),e.beginPath();let Ze=f/2+(Ge+qe)/2,_e={x:a.x+M*Ze,y:a.y+w*Ze};e.moveTo(_e.x,_e.y),e.lineTo(b.x,b.y),e.strokeStyle=R,e.lineWidth=B,e.stroke();}else e.beginPath(),e.moveTo(l.x,l.y),e.lineTo(b.x,b.y),e.strokeStyle=R,e.lineWidth=B,e.stroke();let oe=2;if(e.save(),e.translate(g.x,g.y),e.rotate(J),e.beginPath(),e.moveTo(0,0),e.lineTo(-4,oe),e.lineTo(-4,0),e.lineTo(-4,-2),e.closePath(),e.fillStyle=R,e.fill(),e.restore(),o.label){let Z=t.current.transform.k,Q=ve(Z);e.font=`${Q}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.save(),e.translate(Y,K),Math.abs(J)>Math.PI/2?e.rotate(J+Math.PI):e.rotate(J),e.fillStyle=F?S.graph2D.link.highlightedTextColor:S.graph2D.link.textColor,e.fillText(o.label,0,0),e.restore();}}));},[j,S.graph2D.link]),Fe=chunkVMUGTG7N_js.a((e,n,r,o,i,c,a)=>{try{if(c!=null){let s=i*.8;e.font=`${s}px sans-serif`,e.textBaseline="middle",e.textAlign="left";let d=new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0,compactDisplay:"short"}).format(c),p=e.measureText(d).width,f=i*.3,w=(i+f+p)/2;e.drawImage(n,r-w,o-i/2,i,i),e.fillStyle=a||"#99989C",e.fillText(d,r-w+i+f,o);}else e.drawImage(n,r-i/2,o-i/2,i,i);}catch(s){console.warn("Error rendering icon:",s);}},"drawIconWithOptionalCounter"),Be=at.useCallback((e,n)=>{if(!W||W.length===0||!e||!e.x||!e.y)return;let{x:r,y:o}=e,i=j.nodeSizeBase*j.nodeAreaFactor/2;n.save();let c=Math.min(W.length,8),a=Math.min(Math.PI*2/c,Math.PI);for(let s=0;s<c;s++){let d=s*a,p=(s+1)*a,f=t.current.hoveredButtonIndex===s;n.beginPath(),n.arc(r,o,i,d,p,false),n.lineTo(r,o),n.closePath(),n.lineWidth=1,n.strokeStyle=S.graph2D?.button?.stroke||"#FFFFFF",n.stroke(),n.fillStyle=f?S.graph2D?.button?.hoverFill||"rgba(255, 255, 255, 0.3)":S.graph2D?.button?.normalFill||"rgba(255, 255, 255, 0.1)",n.fill();let M=i*.2,w=(d+p)/2,z=i-j.nodeSizeBase/2+M,T=r+Math.cos(w)*z,I=o+Math.sin(w)*z,l=W[s];if(l.loading){let b=M/2,g=M/12;n.save(),n.translate(T,I),n.rotate(t.current.spinnerAngle);for(let F=0;F<12;F++){let R=Math.PI*2*F/12,B=F/12,Y=Math.cos(R)*b,K=Math.sin(R)*b;n.beginPath(),n.fillStyle=chunkVMUGTG7N_js.l(S.graph2D?.button?.spinnerColor,B),n.arc(Y,K,g,0,Math.PI*2),n.fill();}n.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(O),t.current.animation.buttonIndex=s;}else {t.current.animation.id&&t.current.animation.buttonIndex===s&&(cancelAnimationFrame(t.current.animation.id),t.current.animation.id=null,t.current.animation.buttonIndex=null);let b=f?l.hoverImg:l.normalImg,g=l.getCount?l.getCount(e):null;b.complete?Fe(n,b,T,I,M,g,S.graph2D?.button?.textColor):b.onload=()=>{ae.current&&Fe(n,b,T,I,M,g,S.graph2D?.button?.textColor);};}}n.restore();},[W,S.graph2D?.button]),Oe=at.useCallback(e=>{let n=U();!n||n.length===0||(e.globalAlpha=1,n.forEach(r=>{let{x:o,y:i,color:c,fontColor:a,label:s}=r,d=t.current.highlightNodes.has(r)||r===t.current.hoveredNode||r===t.current.draggedNode,p=r===t.current.selectedNode,f=j.nodeSizeBase,M=j.nodeSizeBase/2;if(d&&!p){let w=j.nodeSizeBase*j.nodeAreaFactor*.75/2;e.beginPath(),e.arc(o,i,w,0,2*Math.PI,false),e.fillStyle=S.graph2D.ring.highlightFill,e.fill();}if(p)if(D&&D.length>0)Be(r,e);else {let w=j.nodeSizeBase*j.nodeAreaFactor/2;e.beginPath(),e.arc(o,i,w,0,2*Math.PI,false),e.fillStyle=S.graph2D.ring.selectionFill||S.graph2D.ring.highlightFill,e.fill();}if(e.beginPath(),e.arc(o,i,M,0,2*Math.PI),e.fillStyle=c||Nt(r.group||"0"),e.fill(),s){e.save(),e.translate(o,i);let w=t.current.transform.k,z=ve(w),T=f*j.textPaddingFactor;e.font=`${z}px Sans-Serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle=a||"#000";let I=Pt(s,T,e);e.fillText(I,0,0),e.restore();}}));},[S.graph2D.ring,D,Be]),O=at.useCallback(()=>{let e=ae.current;e&&(e.clearRect(0,0,t.current.width,t.current.height),Ee(e),e.save(),e.setTransform(t.current.transform.k,0,0,t.current.transform.k,t.current.transform.x,t.current.transform.y),ze(e),Oe(e),e.restore());},[ze,Oe,Ee]),Ae=at.useCallback((e,n=[],r)=>{let o=se()||[],i=U()||[];if(!N.current||!e.length)return;let{width:c,height:a}=t.current,s=r?.smoothAppearance??false,d=r?.transitionDuration??1e3,p=new Set(i.map(l=>l.id)),f=e.filter(l=>!p.has(l.id)),M=new Set(o.map(l=>`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`)),w=n.filter(l=>{let b=`${typeof l.source=="object"?l.source.id:l.source}-${typeof l.target=="object"?l.target.id:l.target}`;return !M.has(b)});if(f.length===0&&w.length===0)return;let z=[...i,...f],T=[...o,...w];s&&(f.forEach(l=>{let b=w.filter(g=>{let F=typeof g.source=="object"?g.source.id:g.source,R=typeof g.target=="object"?g.target.id:g.target;return F===l.id&&p.has(R)||R===l.id&&p.has(F)});if(b.length>0){let g=b[0],F=typeof g.source=="object"?g.source.id===l.id?g.target:g.source.id:g.source===l.id?g.target:g.source,R=z.find(B=>B.id===F);if(R&&R.x!==void 0&&R.y!==void 0){let B=30+Math.random()*20,Y=Math.random()*Math.PI*2;l.x=R.x+Math.cos(Y)*B,l.y=R.y+Math.sin(Y)*B,l.vx=0,l.vy=0;}}else {let g=c/2,F=a/2,R=Math.min(c,a)/4,B=Math.random()*Math.PI*2;l.x=g+Math.cos(B)*(R*Math.random()),l.y=F+Math.sin(B)*(R*Math.random()),l.vx=0,l.vy=0;}}),i.forEach(l=>{l.fx=l.x,l.fy=l.y;})),N.current.nodes(z);let I=N.current.force("link");I&&I.links(T),w.forEach(l=>{let b=typeof l.source=="object"?l.source:z.find(F=>F.id===l.source),g=typeof l.target=="object"?l.target:z.find(F=>F.id===l.target);!b||!g||(!b.neighbors&&(b.neighbors=[]),!g.neighbors&&(g.neighbors=[]),b.neighbors.push(g),g.neighbors.push(b),!b.links&&(b.links=[]),!g.links&&(g.links=[]),b.links.push(l),g.links.push(l));}),s?(N.current.alphaTarget(.3),N.current.alpha(.3),N.current.velocityDecay(.7),N.current.restart(),setTimeout(()=>{i.forEach(l=>{l.fx=void 0,l.fy=void 0;}),N.current?.alphaTarget(0),N.current?.alpha(.1),N.current?.velocityDecay(.6);},d)):N.current.alpha(.1).restart(),O();},[V,O]),$e=at.useCallback(e=>{let n=U(),r=se();if(!N.current||!e.length||!n||n.length===0||!r||r.length===0)return;let o=new Set(e);if(t.current.selectedNode&&t.current.selectedNode.id!==void 0&&o.has(t.current.selectedNode.id)&&(t.current.selectedNode=null),t.current.hoveredNode&&t.current.hoveredNode.id!==void 0&&o.has(t.current.hoveredNode.id)&&(t.current.hoveredNode=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set),t.current.hoveredLink){let s=typeof t.current.hoveredLink.source=="object"?t.current.hoveredLink.source.id:t.current.hoveredLink.source,d=typeof t.current.hoveredLink.target=="object"?t.current.hoveredLink.target.id:t.current.hoveredLink.target;(s!==void 0&&o.has(s)||d!==void 0&&o.has(d))&&(t.current.hoveredLink=null,t.current.highlightNodes=new Set,t.current.highlightLinks=new Set);}t.current.draggedNode&&t.current.draggedNode.id!==void 0&&o.has(t.current.draggedNode.id)&&(t.current.draggedNode=null);let i=n.filter(s=>s.id!==void 0&&!o.has(s.id)),c=r.filter(s=>{let d=typeof s.source=="object"?s.source.id:s.source,p=typeof s.target=="object"?s.target.id:s.target;return d!==void 0&&!o.has(d)&&p!==void 0&&!o.has(p)});i.forEach(s=>{s.neighbors=[],s.links=[];}),c.forEach(s=>{let d=typeof s.source=="object"?s.source:i.find(f=>f.id===s.source),p=typeof s.target=="object"?s.target:i.find(f=>f.id===s.target);!d||!p||(d.neighbors=d.neighbors||[],p.neighbors=p.neighbors||[],d.neighbors.push(p),p.neighbors.push(d),d.links=d.links||[],p.links=p.links||[],d.links.push(s),p.links.push(s));}),N.current.nodes(i);let a=N.current.force("link");a&&a.links(c),O();},[O]),ce=at.useCallback((e=0,n=20)=>{let r=U();if(!ae.current||!E.current||!r||!r.length)return;let i=1/0,c=1/0,a=-1/0,s=-1/0;if(r.forEach(d=>{if(d.x===void 0||d.y===void 0)return;let p=d.x,f=d.y;i=Math.min(i,p),c=Math.min(c,f),a=Math.max(a,p),s=Math.max(s,f);}),isFinite(i)&&isFinite(a)&&isFinite(c)&&isFinite(s)){let{width:d,height:p}=t.current;i-=n,c-=n,a+=n,s+=n;let f=a-i,M=s-c,w=f>0?d/f:1,z=M>0?p/M:1,T=Math.min(w,z,10),I=i+f/2,l=c+M/2,b={k:T,x:d/2-I*T,y:p/2-l*T};if(e>0){let g={...t.current.transform},F=Date.now(),R=chunkVMUGTG7N_js.a(()=>{let B=Math.min(1,(Date.now()-F)/e),Y=B===1?1:1-Math.pow(1-B,3),K={k:g.k+(b.k-g.k)*Y,x:g.x+(b.x-g.x)*Y,y:g.y+(b.y-g.y)*Y};t.current.transform=K,O(),B<1&&requestAnimationFrame(R);},"animateZoom");requestAnimationFrame(R);}else t.current.transform=b,O();}},[]),le=at.useCallback((e,n)=>{let r=U();if(!r||r.length===0)return null;let o=j.nodeSizeBase/2,i=typeof window<"u"&&window.devicePixelRatio||1,c=(e*i-t.current.transform.x)/t.current.transform.k,a=(n*i-t.current.transform.y)/t.current.transform.k;return r.find(s=>{let d=(s.x||0)-c,p=(s.y||0)-a;return Math.sqrt(d*d+p*p)<=o})||null},[]),de=at.useCallback((e,n)=>{let r=se(),o=U();if(!r||r.length===0||!o||o.length===0)return null;let i=typeof window<"u"&&window.devicePixelRatio||1,c=(e*i-t.current.transform.x)/t.current.transform.k,a=(n*i-t.current.transform.y)/t.current.transform.k,s=5;return r.find(d=>{let p=typeof d.source=="object"?d.source:o.find(Q=>Q.id===d.source),f=typeof d.target=="object"?d.target:o.find(Q=>Q.id===d.target);if(!p||!f)return false;let M=p.x||0,w=p.y||0,z=f.x||0,T=f.y||0,I=c-M,l=a-w,b=z-M,g=T-w,F=I*b+l*g,R=b*b+g*g;if(R===0)return false;let B=F/R;B=Math.max(0,Math.min(1,B));let Y=M+B*b,K=w+B*g,J=c-Y,oe=a-K;return Math.sqrt(J*J+oe*oe)<=s})||null},[]),He=at.useCallback((e,n,r,o,i,c,a)=>{let s=e-r,d=n-o,p=Math.sqrt(s*s+d*d),f=Math.atan2(d,s);f<0&&(f+=2*Math.PI);let z=p>=i*.5&&p<=i*1,T=false;return c===Math.PI&&a===Math.PI*2?T=f>=Math.PI&&f<=Math.PI*2:c===0&&a===Math.PI?T=f>=0&&f<=Math.PI:T=c<=a&&f>=c&&f<=a||c>a&&(f>=c||f<=a),z&&T},[]),we=at.useCallback(e=>{if(e===t.current.hoveredNode)return;let n=new Set,r=new Set;e&&(n.add(e),e.neighbors&&e.neighbors.forEach(o=>n.add(o)),e.links&&e.links.forEach(o=>r.add(o))),t.current.hoveredNode=e,$&&$(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[$]),xe=at.useCallback(e=>{if(e===t.current.hoveredLink)return;let n=new Set,r=new Set;if(e){r.add(e);let o=U();if(o){let i=typeof e.source=="object"?e.source:o.find(a=>a.id===e.source),c=typeof e.target=="object"?e.target:o.find(a=>a.id===e.target);i&&n.add(i),c&&n.add(c);}}t.current.hoveredLink=e,H&&H(e),t.current.highlightNodes=n,t.current.highlightLinks=r;},[H,U]),Xe=at.useCallback(e=>{A&&A(e);},[A]),We=at.useCallback(e=>{t.current.selectedNode=e,k&&k(e);},[k]),Ye=at.useCallback(()=>{t.current.selectedNode=null,v&&v();},[v]),ke=at.useCallback(e=>{if(!E.current||!N.current)return;let n=E.current.getBoundingClientRect(),r=e.clientX-n.left,o=e.clientY-n.top;t.current.mouseStartPos={x:r,y:o},t.current.isDragging=false;let i=le(r,o);i?(t.current.draggedNode=i,i.fx=i.x,i.fy=i.y):(t.current.isPanning=true,t.current.lastMousePos={x:r,y:o});},[le]),ue=at.useCallback((e,n)=>{let r=null;if(E.current&&t.current&&W.length>0){let o=j.nodeSizeBase*j.nodeAreaFactor/2,i=E.current.getBoundingClientRect(),c=E.current.width/i.width,a=E.current.height/i.height,s=e*c,d=n*a,p=(s-t.current.transform.x)/t.current.transform.k,f=(d-t.current.transform.y)/t.current.transform.k,M=t.current.selectedNode?.x||0,w=t.current.selectedNode?.y||0,z=Math.min(W.length,8),T=Math.min(Math.PI*2/z,Math.PI);for(let I=0;I<z;I++){let l=I*T,b=(I+1)*T;if(He(p,f,M,w,o,l,b)){r=I;break}}}return r},[W]),Ne=at.useCallback(e=>{if(!E.current)return;let n=E.current.getBoundingClientRect(),r=e.clientX-n.left,o=e.clientY-n.top;if(t.current.draggedNode&&t.current.mouseStartPos&&N.current){let a=t.current.mouseStartPos.x,s=t.current.mouseStartPos.y,d=r-a,p=o-s;Math.sqrt(d*d+p*p)>3&&(t.current.isDragging=true,N.current.alphaTarget()===0&&N.current.alphaTarget(0).restart());let w=typeof window<"u"&&window.devicePixelRatio||1,z=(r*w-t.current.transform.x)/t.current.transform.k,T=(o*w-t.current.transform.y)/t.current.transform.k;t.current.draggedNode.fx=z,t.current.draggedNode.fy=T;return}if(t.current.isPanning&&t.current.mouseStartPos){let a=r-t.current.lastMousePos.x,s=o-t.current.lastMousePos.y,d=t.current.mouseStartPos.x,p=t.current.mouseStartPos.y;Math.sqrt(Math.pow(r-d,2)+Math.pow(o-p,2))>3&&(t.current.isDragging=true),t.current.transform={...t.current.transform,x:t.current.transform.x+a,y:t.current.transform.y+s},t.current.lastMousePos={x:r,y:o},O();return}let i,c;if(t.current.selectedNode&&E.current&&W.length>0){let a=ue(r,o);a!==null&&(c=t.current.selectedNode),a!==t.current.hoveredButtonIndex&&(i=true),t.current.hoveredButtonIndex=a;}else t.current.hoveredButtonIndex!==null&&(t.current.hoveredButtonIndex=null);if(!c&&(c=le(r,o),!c)){let a=de(r,o),s=a!==t.current.hoveredLink;if(a&&t.current.hoveredNode&&we(null),xe(a),E.current&&(E.current.style.cursor=a?"pointer":"default"),s){O();return}}c&&t.current.hoveredLink&&xe(null),c!==t.current.hoveredNode&&(i=true),we(c),E.current&&(E.current.style.cursor=c?"pointer":"default"),i&&O();},[W,le,de,we,xe,O,He,ue]),Dt=at.useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.stopPropagation(),e.preventDefault()),t.current.mustBeStoppedPropagation=false;},[]),he=at.useCallback(e=>{let n=t.current.isDragging;if(n&&(t.current.mustBeStoppedPropagation=true),!n&&t.current.mouseStartPos){let r=E.current?.getBoundingClientRect();if(r){let o=e.clientX-r.left,i=e.clientY-r.top;W.length>0&&t.current.hoveredButtonIndex===null&&(t.current.hoveredButtonIndex=ue(o,i));let c=false;if(t.current.selectedNode&&t.current.hoveredButtonIndex!==null&&D[t.current.hoveredButtonIndex]){let a=D[t.current.hoveredButtonIndex];a&&a.onClick&&(a.onClick(t.current.selectedNode),c=true,t.current.hoveredButtonIndex=null);}if(!c&&t.current.draggedNode)We(t.current.draggedNode);else if(!c&&!t.current.draggedNode){let a=de(o,i);a?Xe(a):Ye();}}}if(t.current.draggedNode&&N.current){if(n){N.current.alphaTarget(0);let r=.05,o=.04,i=.6;N.current.alpha(r).alphaDecay(o),N.current.velocityDecay(i);}else N.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),O();},[D,O,We,Ye,de,Xe,ue,W]),Se=at.useCallback(e=>{if(e.stopPropagation(),e.preventDefault(),!E.current)return;let n=E.current.getBoundingClientRect(),r=e.clientX-n.left,o=e.clientY-n.top,c=-e.deltaY>0?1.1:1/1.1,a=t.current.transform,s=a.k*c;if(s<.01||s>10)return;let d=a.k*c,p=r-(r-a.x)*c,f=o-(o-a.y)*c;t.current.transform={k:d,x:p,y:f},O();},[O]),Pe=chunkVMUGTG7N_js.a((e,n)=>{let r=e.touches[0];if(r){let o={clientX:r.clientX,clientY:r.clientY};n(o);}},"convertTouchToMouseEvent"),Mt=at.useCallback(e=>{Pe(e,ke);},[ke]),De=at.useCallback(e=>{t.current.mustBeStoppedPropagation&&(e.preventDefault(),e.stopPropagation()),t.current.mustBeStoppedPropagation=false,Pe(e,he);},[he]),Ct=at.useCallback(e=>{Pe(e,Ne);},[Ne]);return at.useImperativeHandle(X,()=>({zoomToFit:ce,addNodes:Ae,removeNodes:$e}),[ce,Ae,$e]),at.useEffect(()=>{let e=E.current,{width:n,height:r}=t.current;if(!e)return;St(),Re(true);let o=n/2,i=r/2,c=j.nodeSizeBase,a=c/2,s=c*2.5;N.current&&N.current.stop();let d=N.current=d3.forceSimulation(V).force("link",d3.forceLink(te).id(p=>p.id).distance(s).strength(.9)).force("charge",d3.forceManyBody().strength(-c/10*200).theta(.5).distanceMin(c*2)).force("x",d3.forceX().strength(.03)).force("y",d3.forceY().strength(.03)).force("center",d3.forceCenter(o,i).strength(.05)).force("collide",d3.forceCollide().radius(a*2).iterations(2).strength(1)).velocityDecay(.6);return ()=>{d.stop();}},[V,te]),at.useLayoutEffect(()=>{let e=E.current;e&&(t.current.width=u*ye,t.current.height=m*ye,e.width=t.current.width,e.height=t.current.height);},[u,m]),at.useEffect(()=>{if(N.current){let e=N.current;e.on("tick",()=>{O();}),e.on("end",()=>{G&&(ce(0,20),setTimeout(()=>{Re(false);},200));});}G||O();},[V,te,G,O,ce]),at.useEffect(()=>{!V||!te||te.forEach(e=>{let n=typeof e.source=="object"?e.source:V.find(o=>o.id===e.source),r=typeof e.target=="object"?e.target:V.find(o=>o.id===e.target);!n||!r||(!n.neighbors&&(n.neighbors=[]),!r.neighbors&&(r.neighbors=[]),n.neighbors.push(r),r.neighbors.push(n),!n.links&&(n.links=[]),!r.links&&(r.links=[]),n.links.push(e),r.links.push(e));});},[V,te]),at.useEffect(()=>{D&&D.length>0&&kt(cr(D));},[D]),at.useEffect(()=>{let e=E.current;if(!(!e||typeof window>"u"))return e.addEventListener("wheel",Se,{passive:false}),e.addEventListener("touchend",De,{passive:false}),()=>{e.removeEventListener("wheel",Se),e.removeEventListener("touchend",De);}},[Se,De]),jsxRuntime.jsxs(dr,{children:[(h||G)&&jsxRuntime.jsx(rt,{width:u,height:m}),jsxRuntime.jsx(ur,{ref:E,style:{width:u,height:m,display:h||G?"none":"block"},onMouseDown:ke,onMouseMove:Ne,onMouseUp:he,onMouseLeave:he,onClick:Dt,onTouchStart:Mt,onTouchMove:Ct})]})}),dr=Xt.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
|
-
`,ur=Xt.styled.canvas``;lr.displayName="Graph2D";var
|
|
55
|
-
${
|
|
56
|
-
position: ${
|
|
54
|
+
`,ur=Xt.styled.canvas``;lr.displayName="Graph2D";var pa=chunkVMUGTG7N_js.w(({isActive:h,position:u,top:m=0,left:P=0,right:D,bottom:k,...v})=>jsxRuntime.jsx(fr,{$isActive:h,$position:u,$top:m,$left:P,$right:D,$bottom:k,...v})),fr=Xt__default.default.div(({$isActive:h,$top:u,$left:m,$right:P,$bottom:D,$position:k,theme:v})=>`
|
|
55
|
+
${h?`
|
|
56
|
+
position: ${k};
|
|
57
57
|
z-index: 1000;
|
|
58
|
-
${typeof
|
|
59
|
-
${typeof
|
|
58
|
+
${typeof u=="number"?`top: ${chunkVMUGTG7N_js.c(u,v.baseSize)};`:""}
|
|
59
|
+
${typeof m=="number"?`left: ${chunkVMUGTG7N_js.c(m,v.baseSize)};`:""}
|
|
60
60
|
${typeof P=="number"?`right: ${chunkVMUGTG7N_js.c(P,v.baseSize)};`:""}
|
|
61
61
|
${typeof D=="number"?`bottom: ${chunkVMUGTG7N_js.c(D,v.baseSize)};`:""}
|
|
62
62
|
|
|
63
63
|
`:""}
|
|
64
64
|
|
|
65
65
|
min-width: 0;
|
|
66
|
-
`);var st=chunkVMUGTG7N_js.a(({url:u})=>{let[h,y]=it.useState(1),[P,D]=it.useState(),x=it__default.default.useRef(null),v=it__default.default.useRef(null),B=chunkVMUGTG7N_js.a(()=>{y($=>Math.min($+.25,4));},"handleZoomIn");return jsxRuntime.jsxs("div",{ref:v,className:"h-full w-full flex flex-col",children:[jsxRuntime.jsxs("div",{className:"flex justify-center items-stretch p-5.5 gap-1 border-b border-gray-200 relative ",children:[jsxRuntime.jsx(chunkVMUGTG7N_js.z,{variant:"outlined","aria-label":"zoom-out",color:"secondary",size:"small",icon:jsxRuntime.jsx(chunkVMUGTG7N_js.Pa,{style:{width:20,height:20}}),onClick:chunkVMUGTG7N_js.a(()=>{y($=>Math.max($-.25,.25));},"handleZoomOut"),disabled:h<=.25,p:5}),jsxRuntime.jsxs(chunkVMUGTG7N_js.mb,{py:5,px:8,children:[h*100,"%"]}),jsxRuntime.jsx(chunkVMUGTG7N_js.z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"secondary",icon:jsxRuntime.jsx(chunkVMUGTG7N_js.ma,{style:{width:14,height:14}}),onClick:B,disabled:h>=4,p:8})]}),jsxRuntime.jsx("div",{className:"h-full w-full overflow-auto flex items-center justify-center",children:jsxRuntime.jsx("img",{src:u,ref:x,alt:"image",className:"block w-auto max-w-none object-contain",style:{transition:"height 0.2s ease-in-out",marginInline:"auto",marginBlock:10,flexShrink:0,...P==="width"&&{width:`calc(${h*100}% - 20px)`},...P==="height"&&{height:`calc(${h*100}% - 20px)`}},onLoad:()=>{if(x.current&&v.current){let $=x.current.width,X=x.current.height,S=$<X?"height":"width";D(S);}}})})]})},"ImageDriver");var lt=chunkVMUGTG7N_js.a(({url:u})=>jsxRuntime.jsx("div",{className:"flex flex-col justify-center items-center w-full h-full p-5.5",children:jsxRuntime.jsx("audio",{controls:true,src:u,className:"w-full"})}),"AudioDriver");var Le=chunkVMUGTG7N_js.a(({url:u})=>{let[h,y]=it.useState(null),[P,D]=it.useState(false),[x,v]=it.useState(true),[B,H]=it.useState(null);return it.useEffect(()=>{D(true);},[]),it.useEffect(()=>{if(!P)return;chunkVMUGTG7N_js.a(async()=>{try{let X=await import('./PdfDriver-QWYK2IMO.js');y(()=>X.PdfDriver),v(!1);}catch(X){console.error("Failed to load PDF driver:",X),H("Failed to load PDF viewer"),v(false);}},"loadPdfDriver")();},[P]),P?x?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})}):B||!h?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-red-500 text-center",children:jsxRuntime.jsx("p",{children:B||"PDF viewer unavailable"})})}):jsxRuntime.jsx(h,{url:u}):jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})})},"PdfDriverWrapper");var ut=chunkVMUGTG7N_js.a(({url:u,extension:h})=>jsxRuntime.jsxs("a",{href:u,download:`file.${h}`,className:"text-blue-500 underline",children:["Download ",h.toUpperCase()," file"]}),"DownloadDriver");var ft=50,vr=1e4,gt=chunkVMUGTG7N_js.a(({url:u,buffer:h})=>{let[y,P]=it.useState(""),[D,x]=it.useState(null);return it.useEffect(()=>{chunkVMUGTG7N_js.a(async()=>{try{let B=h;if(!B&&u&&(B=await(await fetch(u)).arrayBuffer()),!B){x("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(B.byteLength/(1024*1024)>ft){x(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${ft} \u041C\u0411)`);return}let $=br__default.default.convertToHtml({arrayBuffer:B}),X=new Promise((G,ae)=>setTimeout(()=>ae(new Error("\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0430\u0446\u0456\u044F DOCX \u0437\u0430\u0439\u043D\u044F\u043B\u0430 \u043D\u0430\u0434\u0442\u043E \u0431\u0430\u0433\u0430\u0442\u043E \u0447\u0430\u0441\u0443")),vr)),S=await Promise.race([$,X]);P(S.value);}catch(B){x(B?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B");}},"fetchAndConvert")();},[u,h]),D?jsxRuntime.jsx("div",{className:"text-red-500",children:D}):y?jsxRuntime.jsx("div",{dangerouslySetInnerHTML:{__html:y},className:"w-full h-full overflow-auto p-5"}):null},"DocxDriver");var Nr=chunkVMUGTG7N_js.a(u=>({js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",json:"json",html:"html",css:"css",scss:"scss",py:"python",java:"java",cpp:"cpp",c:"c",cs:"csharp",php:"php",rb:"ruby",go:"go",rs:"rust",swift:"swift",kt:"kotlin",xml:"xml",yaml:"yaml",yml:"yaml",md:"markdown",sql:"sql",sh:"bash",bash:"bash",txt:"text"})[u]||"text","getLanguageFromExtension"),mt=chunkVMUGTG7N_js.a(({url:u,extension:h})=>{let[y,P]=it.useState(""),[D,x]=it.useState(true),[v,B]=it.useState(null);if(it.useEffect(()=>{chunkVMUGTG7N_js.a(async()=>{try{x(!0),B(null);let S=await fetch(u);if(!S.ok)throw new Error(`Failed to load file: ${S.statusText}`);let G=await S.text();P(G);}catch(S){B(S instanceof Error?S.message:"Failed to load text content");}finally{x(false);}},"loadTextContent")();},[u]),D)return jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:jsxRuntime.jsx("div",{className:"text-gray-500",children:"Loading text content..."})});if(v)return jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:jsxRuntime.jsxs("div",{className:"text-red-500",children:["Error: ",v]})});let H=Nr(h);return jsxRuntime.jsx("div",{className:"h-full w-full overflow-auto",children:H!=="text"?jsxRuntime.jsx(reactSyntaxHighlighter.Prism,{className:"min-h-full! m-0! py-0!",language:H,style:prism.darcula,showLineNumbers:true,wrapLines:true,children:y}):jsxRuntime.jsx("pre",{className:"whitespace-pre-wrap p-4 text-sm font-mono bg-gray-50 min-h-full",children:y})})},"TextDriver");var bt=chunkVMUGTG7N_js.a(({url:u})=>jsxRuntime.jsx("div",{className:"flex flex-col justify-center items-center w-full h-full",children:jsxRuntime.jsx("video",{controls:true,src:u,className:"w-full max-h-full"})}),"VideoDriver");var vt=it.memo(chunkVMUGTG7N_js.a(function({extension:h,blob:y,path:P,buffer:D}){console.log("Driver props:",{extension:h,blob:y,path:P,buffer:D});let x=h.toLocaleLowerCase().trim(),v;if(P?v=P:y&&(v=URL.createObjectURL(y)),v){if(["jpeg","jpg","png","gif","bmp","webp"].includes(x))return jsxRuntime.jsx(st,{url:v});if(["mp3","wav","ogg","flac"].includes(x))return jsxRuntime.jsx(lt,{url:v});if(["mp4","webm"].includes(x))return jsxRuntime.jsx(bt,{url:v});if(h==="pdf")return jsxRuntime.jsx(Le,{url:v});if(["xlsx","pptx"].includes(x))return jsxRuntime.jsx(ut,{url:v,extension:x});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(x))return jsxRuntime.jsx(mt,{url:v,extension:x})}return x==="docx"?jsxRuntime.jsx(gt,{url:v,buffer:D}):jsxRuntime.jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsxRuntime.jsx(chunkVMUGTG7N_js.mb,{children:jsxRuntime.jsx(chunkVMUGTG7N_js.Wa,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:"Sorry, this file type isn\u2019t supported yet."})})})},"Driver"));var bs=chunkVMUGTG7N_js.a(u=>jsxRuntime.jsx("div",{className:"h-full w-full",children:jsxRuntime.jsx(vt,{...u})}),"FileViewer");var js=chunkVMUGTG7N_js.a(({text:u,speed:h=50,onDone:y,markdown:P=false,markdownComponents:D={},className:x,...v})=>{let[B,H]=it.useState("");return it.useEffect(()=>{let $=0,X=setInterval(()=>{let S=u.charAt($);H(G=>G+S),$++,$>=u.length&&(clearInterval(X),y?.());},h);return ()=>clearInterval(X)},[u,h,y]),it.useEffect(()=>{H("");},[u]),P?jsxRuntime.jsx("div",{className:x,children:jsxRuntime.jsx(Mr__default.default,{remarkPlugins:[Cr__default.default],components:D,...v,children:B})}):jsxRuntime.jsx(chunkVMUGTG7N_js.Wa,{className:x,...v,children:B})},"Typewriter");Object.defineProperty(exports,"Alert",{enumerable:true,get:function(){return chunkVMUGTG7N_js.qb}});Object.defineProperty(exports,"AlertIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.A}});Object.defineProperty(exports,"AndroidIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.za}});Object.defineProperty(exports,"ApiIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.B}});Object.defineProperty(exports,"ArrowCircleTopRightIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.C}});Object.defineProperty(exports,"ArrowRightIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.D}});Object.defineProperty(exports,"BallsMenu",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ia}});Object.defineProperty(exports,"Box",{enumerable:true,get:function(){return chunkVMUGTG7N_js.mb}});Object.defineProperty(exports,"BreakpointProvider",{enumerable:true,get:function(){return chunkVMUGTG7N_js.q}});Object.defineProperty(exports,"BugReportIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.E}});Object.defineProperty(exports,"BurgerMenuIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Na}});Object.defineProperty(exports,"BusIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.sa}});Object.defineProperty(exports,"Button",{enumerable:true,get:function(){return chunkVMUGTG7N_js.z}});Object.defineProperty(exports,"CalendarIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.F}});Object.defineProperty(exports,"CarIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ta}});Object.defineProperty(exports,"ChatField",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Gb}});Object.defineProperty(exports,"CheckIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ja}});Object.defineProperty(exports,"Checkbox",{enumerable:true,get:function(){return chunkVMUGTG7N_js.sb}});Object.defineProperty(exports,"ChevronDownIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ka}});Object.defineProperty(exports,"ChevronLeftIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.G}});Object.defineProperty(exports,"ChevronRightIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.H}});Object.defineProperty(exports,"ChevronUpIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.la}});Object.defineProperty(exports,"ClockIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Oa}});Object.defineProperty(exports,"CloseCircleIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.I}});Object.defineProperty(exports,"ClosedLockIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.J}});Object.defineProperty(exports,"ContentLoader",{enumerable:true,get:function(){return chunkVMUGTG7N_js.zb}});Object.defineProperty(exports,"ContextMenu",{enumerable:true,get:function(){return chunkVMUGTG7N_js.db}});Object.defineProperty(exports,"ContextMenuDelimiter",{enumerable:true,get:function(){return chunkVMUGTG7N_js.eb}});Object.defineProperty(exports,"CrossIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.qa}});Object.defineProperty(exports,"DataSetsIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.K}});Object.defineProperty(exports,"DeepSearchIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.L}});Object.defineProperty(exports,"DisabledVisibleIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.M}});Object.defineProperty(exports,"DocsIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.N}});Object.defineProperty(exports,"DownloadIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.O}});Object.defineProperty(exports,"Drawer",{enumerable:true,get:function(){return chunkVMUGTG7N_js.vb}});Object.defineProperty(exports,"DrawerBody",{enumerable:true,get:function(){return chunkVMUGTG7N_js.xb}});Object.defineProperty(exports,"DrawerHeader",{enumerable:true,get:function(){return chunkVMUGTG7N_js.wb}});Object.defineProperty(exports,"EditUserIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.P}});Object.defineProperty(exports,"EmptyData",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ob}});Object.defineProperty(exports,"EnableVisibleIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Q}});Object.defineProperty(exports,"EnterArrowLeftIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.R}});Object.defineProperty(exports,"FileField",{enumerable:true,get:function(){return chunkVMUGTG7N_js.jb}});Object.defineProperty(exports,"FileIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.xa}});Object.defineProperty(exports,"FiltersIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.S}});Object.defineProperty(exports,"FlashIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ia}});Object.defineProperty(exports,"FlexContainer",{enumerable:true,get:function(){return chunkVMUGTG7N_js.kb}});Object.defineProperty(exports,"FlexItem",{enumerable:true,get:function(){return chunkVMUGTG7N_js.lb}});Object.defineProperty(exports,"FolderAlertIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ba}});Object.defineProperty(exports,"FolderInfoIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ja}});Object.defineProperty(exports,"Header",{enumerable:true,get:function(){return chunkVMUGTG7N_js._a}});Object.defineProperty(exports,"HeaderDelimeter",{enumerable:true,get:function(){return chunkVMUGTG7N_js.$a}});Object.defineProperty(exports,"HeaderSection",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ab}});Object.defineProperty(exports,"HomepageIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.T}});Object.defineProperty(exports,"ImageIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Qa}});Object.defineProperty(exports,"InfoCircleFilledIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.oa}});Object.defineProperty(exports,"InfoCircleIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.U}});Object.defineProperty(exports,"Input",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ib}});Object.defineProperty(exports,"IosIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ya}});Object.defineProperty(exports,"Label",{enumerable:true,get:function(){return chunkVMUGTG7N_js.rb}});Object.defineProperty(exports,"Line",{enumerable:true,get:function(){return chunkVMUGTG7N_js.nb}});Object.defineProperty(exports,"LinerProgress",{enumerable:true,get:function(){return chunkVMUGTG7N_js.tb}});Object.defineProperty(exports,"ListMenu",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Xa}});Object.defineProperty(exports,"ListMenuItem",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ya}});Object.defineProperty(exports,"ListMenuSection",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Za}});Object.defineProperty(exports,"MapRadarIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.V}});Object.defineProperty(exports,"MaximizeIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ra}});Object.defineProperty(exports,"MicrosoftIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Aa}});Object.defineProperty(exports,"MinusIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Pa}});Object.defineProperty(exports,"Modal",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Bb}});Object.defineProperty(exports,"ModalBody",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Db}});Object.defineProperty(exports,"ModalFooter",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Eb}});Object.defineProperty(exports,"ModalHeader",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Cb}});Object.defineProperty(exports,"MoonIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.W}});Object.defineProperty(exports,"OpenLockIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.X}});Object.defineProperty(exports,"OrganizationIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Y}});Object.defineProperty(exports,"Overlay",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ab}});Object.defineProperty(exports,"Pagination",{enumerable:true,get:function(){return chunkVMUGTG7N_js.cb}});Object.defineProperty(exports,"PassportIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ea}});Object.defineProperty(exports,"PasswordFinderIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Z}});Object.defineProperty(exports,"PencilIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ga}});Object.defineProperty(exports,"PhonebookIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js._}});Object.defineProperty(exports,"PlaneIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.va}});Object.defineProperty(exports,"PlusIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ma}});Object.defineProperty(exports,"PointIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Fa}});Object.defineProperty(exports,"PrintIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.$}});Object.defineProperty(exports,"Profiler2Icon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.aa}});Object.defineProperty(exports,"ProfilerIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ba}});Object.defineProperty(exports,"ProgressLoader",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Hb}});Object.defineProperty(exports,"RelationIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ca}});Object.defineProperty(exports,"RelationPointsIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Da}});Object.defineProperty(exports,"RotateLeftIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ka}});Object.defineProperty(exports,"RotateRightIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.La}});Object.defineProperty(exports,"RowActionsMenu",{enumerable:true,get:function(){return chunkVMUGTG7N_js.hb}});Object.defineProperty(exports,"SandBoxIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ca}});Object.defineProperty(exports,"SearchIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.da}});Object.defineProperty(exports,"Select",{enumerable:true,get:function(){return chunkVMUGTG7N_js.gb}});Object.defineProperty(exports,"ShipIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.wa}});Object.defineProperty(exports,"Sidebar",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Sa}});Object.defineProperty(exports,"SidebarContext",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ra}});Object.defineProperty(exports,"SidebarDelimeter",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ua}});Object.defineProperty(exports,"SidebarItem",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ta}});Object.defineProperty(exports,"SidebarSection",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Va}});Object.defineProperty(exports,"StatisticIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ea}});Object.defineProperty(exports,"SunIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.fa}});Object.defineProperty(exports,"Switch",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ub}});Object.defineProperty(exports,"Table",{enumerable:true,get:function(){return chunkVMUGTG7N_js.bb}});Object.defineProperty(exports,"Tag",{enumerable:true,get:function(){return chunkVMUGTG7N_js.pb}});Object.defineProperty(exports,"TailwindExample",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Fb}});Object.defineProperty(exports,"ThemeProvider",{enumerable:true,get:function(){return chunkVMUGTG7N_js.s}});Object.defineProperty(exports,"Tooltip",{enumerable:true,get:function(){return chunkVMUGTG7N_js.yb}});Object.defineProperty(exports,"Typography",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Wa}});Object.defineProperty(exports,"UnfoldIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.pa}});Object.defineProperty(exports,"UpRightArrowCircleIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ga}});Object.defineProperty(exports,"UploadImageIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ma}});Object.defineProperty(exports,"UserInCircleIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ha}});Object.defineProperty(exports,"UsersIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.na}});Object.defineProperty(exports,"VectorIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ha}});Object.defineProperty(exports,"WayIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ua}});Object.defineProperty(exports,"convertPaletteToRem",{enumerable:true,get:function(){return chunkVMUGTG7N_js.f}});Object.defineProperty(exports,"createComponent",{enumerable:true,get:function(){return chunkVMUGTG7N_js.w}});Object.defineProperty(exports,"createStyledComponent",{enumerable:true,get:function(){return chunkVMUGTG7N_js.x}});Object.defineProperty(exports,"darkTheme",{enumerable:true,get:function(){return chunkVMUGTG7N_js.p}});Object.defineProperty(exports,"darkThemePx",{enumerable:true,get:function(){return chunkVMUGTG7N_js.o}});Object.defineProperty(exports,"destructSpaceProps",{enumerable:true,get:function(){return chunkVMUGTG7N_js.t}});Object.defineProperty(exports,"generatePropertySpaceStyle",{enumerable:true,get:function(){return chunkVMUGTG7N_js.u}});Object.defineProperty(exports,"getBreakpoint",{enumerable:true,get:function(){return chunkVMUGTG7N_js.k}});Object.defineProperty(exports,"getButtonSizeStyles",{enumerable:true,get:function(){return chunkVMUGTG7N_js.h}});Object.defineProperty(exports,"getButtonStyles",{enumerable:true,get:function(){return chunkVMUGTG7N_js.g}});Object.defineProperty(exports,"getInputStyles",{enumerable:true,get:function(){return chunkVMUGTG7N_js.i}});Object.defineProperty(exports,"getResponsiveProps",{enumerable:true,get:function(){return chunkVMUGTG7N_js.v}});Object.defineProperty(exports,"getTypographyStyles",{enumerable:true,get:function(){return chunkVMUGTG7N_js.j}});Object.defineProperty(exports,"hexToRgba",{enumerable:true,get:function(){return chunkVMUGTG7N_js.l}});Object.defineProperty(exports,"lightTheme",{enumerable:true,get:function(){return chunkVMUGTG7N_js.n}});Object.defineProperty(exports,"lightThemePx",{enumerable:true,get:function(){return chunkVMUGTG7N_js.m}});Object.defineProperty(exports,"propToRem",{enumerable:true,get:function(){return chunkVMUGTG7N_js.e}});Object.defineProperty(exports,"pxToRem",{enumerable:true,get:function(){return chunkVMUGTG7N_js.c}});Object.defineProperty(exports,"remToPx",{enumerable:true,get:function(){return chunkVMUGTG7N_js.d}});Object.defineProperty(exports,"resolveThemeColor",{enumerable:true,get:function(){return chunkVMUGTG7N_js.b}});Object.defineProperty(exports,"useBreakpoint",{enumerable:true,get:function(){return chunkVMUGTG7N_js.r}});Object.defineProperty(exports,"useContextMenuControl",{enumerable:true,get:function(){return chunkVMUGTG7N_js.fb}});Object.defineProperty(exports,"useTheme",{enumerable:true,get:function(){return chunkVMUGTG7N_js.y}});Object.defineProperty(exports,"ServerStyleSheet",{enumerable:true,get:function(){return Xt.ServerStyleSheet}});Object.defineProperty(exports,"StyleSheetManager",{enumerable:true,get:function(){return Xt.StyleSheetManager}});exports.Container=Ci;exports.FileViewer=bs;exports.FullscreenCard=da;exports.Graph2D=lr;exports.PageContent=li;exports.PageLayout=ni;exports.Styled=Ft;exports.StyledContainer=Lt;exports.StyledMain=Rt;exports.SubNav=gi;exports.Typewriter=js;//# sourceMappingURL=index.js.map
|
|
66
|
+
`);var ct=chunkVMUGTG7N_js.a(({url:h})=>{let[u,m]=at.useState(1),[P,D]=at.useState(),k=at__default.default.useRef(null),v=at__default.default.useRef(null),$=chunkVMUGTG7N_js.a(()=>{m(A=>Math.min(A+.25,4));},"handleZoomIn");return jsxRuntime.jsxs("div",{ref:v,className:"h-full w-full flex flex-col",children:[jsxRuntime.jsxs("div",{className:"flex justify-center items-stretch p-5.5 gap-1 border-b border-gray-200 relative ",children:[jsxRuntime.jsx(chunkVMUGTG7N_js.z,{variant:"outlined","aria-label":"zoom-out",color:"secondary",size:"small",icon:jsxRuntime.jsx(chunkVMUGTG7N_js.Pa,{style:{width:20,height:20}}),onClick:chunkVMUGTG7N_js.a(()=>{m(A=>Math.max(A-.25,.25));},"handleZoomOut"),disabled:u<=.25,p:5}),jsxRuntime.jsxs(chunkVMUGTG7N_js.mb,{py:5,px:8,children:[u*100,"%"]}),jsxRuntime.jsx(chunkVMUGTG7N_js.z,{variant:"outlined","aria-label":"zoom-in",size:"small",color:"secondary",icon:jsxRuntime.jsx(chunkVMUGTG7N_js.ma,{style:{width:14,height:14}}),onClick:$,disabled:u>=4,p:8})]}),jsxRuntime.jsx("div",{className:"h-full w-full overflow-auto flex items-center justify-center",children:jsxRuntime.jsx("img",{src:h,ref:k,alt:"image",className:"block w-auto max-w-none object-contain",style:{transition:"height 0.2s ease-in-out",marginInline:"auto",marginBlock:10,flexShrink:0,...P==="width"&&{width:`calc(${u*100}% - 20px)`},...P==="height"&&{height:`calc(${u*100}% - 20px)`}},onLoad:()=>{if(k.current&&v.current){let A=k.current.width,X=k.current.height,S=A<X?"height":"width";D(S);}}})})]})},"ImageDriver");var dt=chunkVMUGTG7N_js.a(({url:h})=>jsxRuntime.jsx("div",{className:"flex flex-col justify-center items-center w-full h-full p-5.5",children:jsxRuntime.jsx("audio",{controls:true,src:h,className:"w-full"})}),"AudioDriver");var Te=chunkVMUGTG7N_js.a(({url:h})=>{let[u,m]=at.useState(null),[P,D]=at.useState(false),[k,v]=at.useState(true),[$,H]=at.useState(null);return at.useEffect(()=>{D(true);},[]),at.useEffect(()=>{if(!P)return;chunkVMUGTG7N_js.a(async()=>{try{let X=await import('./PdfDriver-QWA7JRSC.js');m(()=>X.PdfDriver),v(!1);}catch(X){console.error("Failed to load PDF driver:",X),H("Failed to load PDF viewer"),v(false);}},"loadPdfDriver")();},[P]),P?k?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})}):$||!u?jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-red-500 text-center",children:jsxRuntime.jsx("p",{children:$||"PDF viewer unavailable"})})}):jsxRuntime.jsx(u,{url:h}):jsxRuntime.jsx("div",{className:"flex items-center justify-center h-full w-full",children:jsxRuntime.jsx("div",{className:"text-gray-500",children:"Loading PDF viewer..."})})},"PdfDriverWrapper");var ht=chunkVMUGTG7N_js.a(({url:h,extension:u})=>jsxRuntime.jsxs("a",{href:h,download:`file.${u}`,className:"text-blue-500 underline",children:["Download ",u.toUpperCase()," file"]}),"DownloadDriver");var ft=50,wr=1e4,gt=chunkVMUGTG7N_js.a(({url:h,blob:u})=>{let m=at.useRef(null),[P,D]=at.useState(null),[k,v]=at.useState(true);return at.useEffect(()=>{chunkVMUGTG7N_js.a(async()=>{if(m.current)try{if(v(!0),D(null),!u&&h&&(u=await(await fetch(h)).blob()),!u){D("\u041D\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0434\u043B\u044F DOCX \u0444\u0430\u0439\u043B\u0443");return}if(u.size/(1024*1024)>ft){D(`\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439 (> ${ft} \u041C\u0411)`);return}m.current.innerHTML="";let A=docxPreview.renderAsync(u,m.current,void 0,{debug:!0,experimental:!0,hideWrapperOnPrint:!0}),X=new Promise((S,G)=>setTimeout(()=>G(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")),wr));await Promise.race([A,X]),v(!1);}catch(H){D(H?.message||"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 DOCX \u0444\u0430\u0439\u043B"),v(false);}},"renderDocument")();},[h,u]),jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[!!P&&!k&&jsxRuntime.jsx("div",{className:"text-red-500 p-5",children:P}),k&&jsxRuntime.jsx("div",{className:"flex items-center justify-center p-5",children:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F..."}),jsxRuntime.jsx("div",{ref:m,className:"w-full h-full overflow-auto"})]})},"DocxDriver");var Dr=chunkVMUGTG7N_js.a(h=>({js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",json:"json",html:"html",css:"css",scss:"scss",py:"python",java:"java",cpp:"cpp",c:"c",cs:"csharp",php:"php",rb:"ruby",go:"go",rs:"rust",swift:"swift",kt:"kotlin",xml:"xml",yaml:"yaml",yml:"yaml",md:"markdown",sql:"sql",sh:"bash",bash:"bash",txt:"text"})[h]||"text","getLanguageFromExtension"),mt=chunkVMUGTG7N_js.a(({url:h,extension:u})=>{let[m,P]=at.useState(""),[D,k]=at.useState(true),[v,$]=at.useState(null);if(at.useEffect(()=>{chunkVMUGTG7N_js.a(async()=>{try{k(!0),$(null);let S=await fetch(h);if(!S.ok)throw new Error(`Failed to load file: ${S.statusText}`);let G=await S.text();P(G);}catch(S){$(S instanceof Error?S.message:"Failed to load text content");}finally{k(false);}},"loadTextContent")();},[h]),D)return jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:jsxRuntime.jsx("div",{className:"text-gray-500",children:"Loading text content..."})});if(v)return jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:jsxRuntime.jsxs("div",{className:"text-red-500",children:["Error: ",v]})});let H=Dr(u);return jsxRuntime.jsx("div",{className:"h-full w-full overflow-auto",children:H!=="text"?jsxRuntime.jsx(reactSyntaxHighlighter.Prism,{className:"min-h-full! m-0! py-0!",language:H,style:prism.darcula,showLineNumbers:true,wrapLines:true,children:m}):jsxRuntime.jsx("pre",{className:"whitespace-pre-wrap p-4 text-sm font-mono bg-gray-50 min-h-full",children:m})})},"TextDriver");var bt=chunkVMUGTG7N_js.a(({url:h})=>jsxRuntime.jsx("div",{className:"flex flex-col justify-center items-center w-full h-full",children:jsxRuntime.jsx("video",{controls:true,src:h,className:"w-full max-h-full"})}),"VideoDriver");var vt=at.memo(chunkVMUGTG7N_js.a(function({extension:u,blob:m,path:P,buffer:D}){console.log("Driver props:",{extension:u,blob:m,path:P,buffer:D});let k=u.toLocaleLowerCase().trim(),v;if(P?v=P:m&&(v=URL.createObjectURL(m)),v){if(["jpeg","jpg","png","gif","bmp","webp"].includes(k))return jsxRuntime.jsx(ct,{url:v});if(["mp3","wav","ogg","flac"].includes(k))return jsxRuntime.jsx(dt,{url:v});if(["mp4","webm"].includes(k))return jsxRuntime.jsx(bt,{url:v});if(u==="pdf")return jsxRuntime.jsx(Te,{url:v});if(["xlsx","pptx"].includes(k))return jsxRuntime.jsx(ht,{url:v,extension:k});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(k))return jsxRuntime.jsx(mt,{url:v,extension:k})}return k==="docx"?jsxRuntime.jsx(gt,{url:v,blob:m}):jsxRuntime.jsx("div",{className:"h-full flex flex-col justify-center items-center",children:jsxRuntime.jsx(chunkVMUGTG7N_js.mb,{children:jsxRuntime.jsx(chunkVMUGTG7N_js.Wa,{variant:"h2",color:"text.light",weight:500,className:"text-center",children:"Sorry, this file type isn\u2019t supported yet."})})})},"Driver"));var xs=chunkVMUGTG7N_js.a(h=>jsxRuntime.jsx("div",{className:"h-full w-full",children:jsxRuntime.jsx(vt,{...h})}),"FileViewer");var zs=chunkVMUGTG7N_js.a(({text:h,speed:u=50,onDone:m,markdown:P=false,markdownComponents:D={},className:k,...v})=>{let[$,H]=at.useState("");return at.useEffect(()=>{let A=0,X=setInterval(()=>{let S=h.charAt(A);H(G=>G+S),A++,A>=h.length&&(clearInterval(X),m?.());},u);return ()=>clearInterval(X)},[h,u,m]),at.useEffect(()=>{H("");},[h]),P?jsxRuntime.jsx("div",{className:k,children:jsxRuntime.jsx(Lr__default.default,{remarkPlugins:[jr__default.default],components:D,...v,children:$})}):jsxRuntime.jsx(chunkVMUGTG7N_js.Wa,{className:k,...v,children:$})},"Typewriter");Object.defineProperty(exports,"Alert",{enumerable:true,get:function(){return chunkVMUGTG7N_js.qb}});Object.defineProperty(exports,"AlertIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.A}});Object.defineProperty(exports,"AndroidIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.za}});Object.defineProperty(exports,"ApiIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.B}});Object.defineProperty(exports,"ArrowCircleTopRightIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.C}});Object.defineProperty(exports,"ArrowRightIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.D}});Object.defineProperty(exports,"BallsMenu",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ia}});Object.defineProperty(exports,"Box",{enumerable:true,get:function(){return chunkVMUGTG7N_js.mb}});Object.defineProperty(exports,"BreakpointProvider",{enumerable:true,get:function(){return chunkVMUGTG7N_js.q}});Object.defineProperty(exports,"BugReportIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.E}});Object.defineProperty(exports,"BurgerMenuIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Na}});Object.defineProperty(exports,"BusIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.sa}});Object.defineProperty(exports,"Button",{enumerable:true,get:function(){return chunkVMUGTG7N_js.z}});Object.defineProperty(exports,"CalendarIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.F}});Object.defineProperty(exports,"CarIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ta}});Object.defineProperty(exports,"ChatField",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Gb}});Object.defineProperty(exports,"CheckIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ja}});Object.defineProperty(exports,"Checkbox",{enumerable:true,get:function(){return chunkVMUGTG7N_js.sb}});Object.defineProperty(exports,"ChevronDownIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ka}});Object.defineProperty(exports,"ChevronLeftIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.G}});Object.defineProperty(exports,"ChevronRightIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.H}});Object.defineProperty(exports,"ChevronUpIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.la}});Object.defineProperty(exports,"ClockIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Oa}});Object.defineProperty(exports,"CloseCircleIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.I}});Object.defineProperty(exports,"ClosedLockIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.J}});Object.defineProperty(exports,"ContentLoader",{enumerable:true,get:function(){return chunkVMUGTG7N_js.zb}});Object.defineProperty(exports,"ContextMenu",{enumerable:true,get:function(){return chunkVMUGTG7N_js.db}});Object.defineProperty(exports,"ContextMenuDelimiter",{enumerable:true,get:function(){return chunkVMUGTG7N_js.eb}});Object.defineProperty(exports,"CrossIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.qa}});Object.defineProperty(exports,"DataSetsIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.K}});Object.defineProperty(exports,"DeepSearchIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.L}});Object.defineProperty(exports,"DisabledVisibleIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.M}});Object.defineProperty(exports,"DocsIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.N}});Object.defineProperty(exports,"DownloadIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.O}});Object.defineProperty(exports,"Drawer",{enumerable:true,get:function(){return chunkVMUGTG7N_js.vb}});Object.defineProperty(exports,"DrawerBody",{enumerable:true,get:function(){return chunkVMUGTG7N_js.xb}});Object.defineProperty(exports,"DrawerHeader",{enumerable:true,get:function(){return chunkVMUGTG7N_js.wb}});Object.defineProperty(exports,"EditUserIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.P}});Object.defineProperty(exports,"EmptyData",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ob}});Object.defineProperty(exports,"EnableVisibleIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Q}});Object.defineProperty(exports,"EnterArrowLeftIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.R}});Object.defineProperty(exports,"FileField",{enumerable:true,get:function(){return chunkVMUGTG7N_js.jb}});Object.defineProperty(exports,"FileIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.xa}});Object.defineProperty(exports,"FiltersIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.S}});Object.defineProperty(exports,"FlashIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ia}});Object.defineProperty(exports,"FlexContainer",{enumerable:true,get:function(){return chunkVMUGTG7N_js.kb}});Object.defineProperty(exports,"FlexItem",{enumerable:true,get:function(){return chunkVMUGTG7N_js.lb}});Object.defineProperty(exports,"FolderAlertIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ba}});Object.defineProperty(exports,"FolderInfoIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ja}});Object.defineProperty(exports,"Header",{enumerable:true,get:function(){return chunkVMUGTG7N_js._a}});Object.defineProperty(exports,"HeaderDelimeter",{enumerable:true,get:function(){return chunkVMUGTG7N_js.$a}});Object.defineProperty(exports,"HeaderSection",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ab}});Object.defineProperty(exports,"HomepageIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.T}});Object.defineProperty(exports,"ImageIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Qa}});Object.defineProperty(exports,"InfoCircleFilledIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.oa}});Object.defineProperty(exports,"InfoCircleIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.U}});Object.defineProperty(exports,"Input",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ib}});Object.defineProperty(exports,"IosIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ya}});Object.defineProperty(exports,"Label",{enumerable:true,get:function(){return chunkVMUGTG7N_js.rb}});Object.defineProperty(exports,"Line",{enumerable:true,get:function(){return chunkVMUGTG7N_js.nb}});Object.defineProperty(exports,"LinerProgress",{enumerable:true,get:function(){return chunkVMUGTG7N_js.tb}});Object.defineProperty(exports,"ListMenu",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Xa}});Object.defineProperty(exports,"ListMenuItem",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ya}});Object.defineProperty(exports,"ListMenuSection",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Za}});Object.defineProperty(exports,"MapRadarIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.V}});Object.defineProperty(exports,"MaximizeIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ra}});Object.defineProperty(exports,"MicrosoftIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Aa}});Object.defineProperty(exports,"MinusIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Pa}});Object.defineProperty(exports,"Modal",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Bb}});Object.defineProperty(exports,"ModalBody",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Db}});Object.defineProperty(exports,"ModalFooter",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Eb}});Object.defineProperty(exports,"ModalHeader",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Cb}});Object.defineProperty(exports,"MoonIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.W}});Object.defineProperty(exports,"OpenLockIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.X}});Object.defineProperty(exports,"OrganizationIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Y}});Object.defineProperty(exports,"Overlay",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ab}});Object.defineProperty(exports,"Pagination",{enumerable:true,get:function(){return chunkVMUGTG7N_js.cb}});Object.defineProperty(exports,"PassportIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ea}});Object.defineProperty(exports,"PasswordFinderIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Z}});Object.defineProperty(exports,"PencilIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ga}});Object.defineProperty(exports,"PhonebookIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js._}});Object.defineProperty(exports,"PlaneIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.va}});Object.defineProperty(exports,"PlusIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ma}});Object.defineProperty(exports,"PointIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Fa}});Object.defineProperty(exports,"PrintIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.$}});Object.defineProperty(exports,"Profiler2Icon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.aa}});Object.defineProperty(exports,"ProfilerIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ba}});Object.defineProperty(exports,"ProgressLoader",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Hb}});Object.defineProperty(exports,"RelationIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ca}});Object.defineProperty(exports,"RelationPointsIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Da}});Object.defineProperty(exports,"RotateLeftIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ka}});Object.defineProperty(exports,"RotateRightIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.La}});Object.defineProperty(exports,"RowActionsMenu",{enumerable:true,get:function(){return chunkVMUGTG7N_js.hb}});Object.defineProperty(exports,"SandBoxIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ca}});Object.defineProperty(exports,"SearchIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.da}});Object.defineProperty(exports,"Select",{enumerable:true,get:function(){return chunkVMUGTG7N_js.gb}});Object.defineProperty(exports,"ShipIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.wa}});Object.defineProperty(exports,"Sidebar",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Sa}});Object.defineProperty(exports,"SidebarContext",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ra}});Object.defineProperty(exports,"SidebarDelimeter",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ua}});Object.defineProperty(exports,"SidebarItem",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ta}});Object.defineProperty(exports,"SidebarSection",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Va}});Object.defineProperty(exports,"StatisticIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ea}});Object.defineProperty(exports,"SunIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.fa}});Object.defineProperty(exports,"Switch",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ub}});Object.defineProperty(exports,"Table",{enumerable:true,get:function(){return chunkVMUGTG7N_js.bb}});Object.defineProperty(exports,"Tag",{enumerable:true,get:function(){return chunkVMUGTG7N_js.pb}});Object.defineProperty(exports,"TailwindExample",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Fb}});Object.defineProperty(exports,"ThemeProvider",{enumerable:true,get:function(){return chunkVMUGTG7N_js.s}});Object.defineProperty(exports,"Tooltip",{enumerable:true,get:function(){return chunkVMUGTG7N_js.yb}});Object.defineProperty(exports,"Typography",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Wa}});Object.defineProperty(exports,"UnfoldIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.pa}});Object.defineProperty(exports,"UpRightArrowCircleIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ga}});Object.defineProperty(exports,"UploadImageIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ma}});Object.defineProperty(exports,"UserInCircleIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.Ha}});Object.defineProperty(exports,"UsersIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.na}});Object.defineProperty(exports,"VectorIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ha}});Object.defineProperty(exports,"WayIcon",{enumerable:true,get:function(){return chunkVMUGTG7N_js.ua}});Object.defineProperty(exports,"convertPaletteToRem",{enumerable:true,get:function(){return chunkVMUGTG7N_js.f}});Object.defineProperty(exports,"createComponent",{enumerable:true,get:function(){return chunkVMUGTG7N_js.w}});Object.defineProperty(exports,"createStyledComponent",{enumerable:true,get:function(){return chunkVMUGTG7N_js.x}});Object.defineProperty(exports,"darkTheme",{enumerable:true,get:function(){return chunkVMUGTG7N_js.p}});Object.defineProperty(exports,"darkThemePx",{enumerable:true,get:function(){return chunkVMUGTG7N_js.o}});Object.defineProperty(exports,"destructSpaceProps",{enumerable:true,get:function(){return chunkVMUGTG7N_js.t}});Object.defineProperty(exports,"generatePropertySpaceStyle",{enumerable:true,get:function(){return chunkVMUGTG7N_js.u}});Object.defineProperty(exports,"getBreakpoint",{enumerable:true,get:function(){return chunkVMUGTG7N_js.k}});Object.defineProperty(exports,"getButtonSizeStyles",{enumerable:true,get:function(){return chunkVMUGTG7N_js.h}});Object.defineProperty(exports,"getButtonStyles",{enumerable:true,get:function(){return chunkVMUGTG7N_js.g}});Object.defineProperty(exports,"getInputStyles",{enumerable:true,get:function(){return chunkVMUGTG7N_js.i}});Object.defineProperty(exports,"getResponsiveProps",{enumerable:true,get:function(){return chunkVMUGTG7N_js.v}});Object.defineProperty(exports,"getTypographyStyles",{enumerable:true,get:function(){return chunkVMUGTG7N_js.j}});Object.defineProperty(exports,"hexToRgba",{enumerable:true,get:function(){return chunkVMUGTG7N_js.l}});Object.defineProperty(exports,"lightTheme",{enumerable:true,get:function(){return chunkVMUGTG7N_js.n}});Object.defineProperty(exports,"lightThemePx",{enumerable:true,get:function(){return chunkVMUGTG7N_js.m}});Object.defineProperty(exports,"propToRem",{enumerable:true,get:function(){return chunkVMUGTG7N_js.e}});Object.defineProperty(exports,"pxToRem",{enumerable:true,get:function(){return chunkVMUGTG7N_js.c}});Object.defineProperty(exports,"remToPx",{enumerable:true,get:function(){return chunkVMUGTG7N_js.d}});Object.defineProperty(exports,"resolveThemeColor",{enumerable:true,get:function(){return chunkVMUGTG7N_js.b}});Object.defineProperty(exports,"useBreakpoint",{enumerable:true,get:function(){return chunkVMUGTG7N_js.r}});Object.defineProperty(exports,"useContextMenuControl",{enumerable:true,get:function(){return chunkVMUGTG7N_js.fb}});Object.defineProperty(exports,"useTheme",{enumerable:true,get:function(){return chunkVMUGTG7N_js.y}});Object.defineProperty(exports,"ServerStyleSheet",{enumerable:true,get:function(){return Xt.ServerStyleSheet}});Object.defineProperty(exports,"StyleSheetManager",{enumerable:true,get:function(){return Xt.StyleSheetManager}});exports.Container=ji;exports.FileViewer=xs;exports.FullscreenCard=pa;exports.Graph2D=lr;exports.PageContent=hi;exports.PageLayout=ai;exports.Styled=Ft;exports.StyledContainer=Lt;exports.StyledMain=Rt;exports.SubNav=bi;exports.Typewriter=zs;//# sourceMappingURL=index.js.map
|
|
67
67
|
//# sourceMappingURL=index.js.map
|