balibabu
commited on
Commit
·
0f0c543
1
Parent(s):
f23a141
Feat: Add FileUploadDialog #3221 (#4327)
Browse files### What problem does this PR solve?
Feat: Add FileUploadDialog #3221
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
- web/package-lock.json +262 -875
- web/package.json +4 -1
- web/src/components/file-upload-dialog/index.tsx +57 -0
- web/src/components/file-uploader.tsx +332 -0
- web/src/components/rename-dialog/index.tsx +1 -5
- web/src/components/ui/progress.tsx +28 -0
- web/src/components/ui/scroll-area.tsx +48 -0
- web/src/components/ui/tabs.tsx +2 -2
- web/src/hooks/use-callback-ref.ts +27 -0
- web/src/hooks/use-controllable-state.ts +67 -0
- web/src/lib/utils.ts +18 -0
- web/src/pages/dataset/dataset/hooks.ts +230 -0
- web/src/pages/dataset/dataset/index.tsx +18 -1
- web/src/pages/datasets/index.tsx +8 -1
web/package-lock.json
CHANGED
@@ -22,6 +22,8 @@
|
|
22 |
"@radix-ui/react-label": "^2.1.0",
|
23 |
"@radix-ui/react-navigation-menu": "^1.2.1",
|
24 |
"@radix-ui/react-popover": "^1.1.2",
|
|
|
|
|
25 |
"@radix-ui/react-select": "^2.1.2",
|
26 |
"@radix-ui/react-separator": "^1.1.0",
|
27 |
"@radix-ui/react-slider": "^1.2.1",
|
@@ -59,8 +61,8 @@
|
|
59 |
"openai-speech-stream-player": "^1.0.8",
|
60 |
"rc-tween-one": "^3.0.6",
|
61 |
"react-copy-to-clipboard": "^5.1.0",
|
|
|
62 |
"react-error-boundary": "^4.0.13",
|
63 |
-
"react-force-graph": "^1.44.4",
|
64 |
"react-hook-form": "^7.53.1",
|
65 |
"react-i18next": "^14.0.0",
|
66 |
"react-infinite-scroll-component": "^6.1.0",
|
@@ -74,6 +76,7 @@
|
|
74 |
"rehype-raw": "^7.0.0",
|
75 |
"remark-gfm": "^4.0.0",
|
76 |
"remark-math": "^6.0.0",
|
|
|
77 |
"tailwind-merge": "^2.5.4",
|
78 |
"tailwindcss-animate": "^1.0.7",
|
79 |
"umi": "^4.0.90",
|
@@ -4962,6 +4965,82 @@
|
|
4962 |
}
|
4963 |
}
|
4964 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4965 |
"node_modules/@radix-ui/react-roving-focus": {
|
4966 |
"version": "1.1.0",
|
4967 |
"resolved": "https://registry.npmmirror.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.0.tgz",
|
@@ -5006,6 +5085,117 @@
|
|
5006 |
}
|
5007 |
}
|
5008 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5009 |
"node_modules/@radix-ui/react-select": {
|
5010 |
"version": "2.1.2",
|
5011 |
"resolved": "https://registry.npmmirror.com/@radix-ui/react-select/-/react-select-2.1.2.tgz",
|
@@ -5598,14 +5788,6 @@
|
|
5598 |
"resolved": "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.27.8.tgz",
|
5599 |
"integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA=="
|
5600 |
},
|
5601 |
-
"node_modules/@sindresorhus/is": {
|
5602 |
-
"version": "0.14.0",
|
5603 |
-
"resolved": "https://registry.npmmirror.com/@sindresorhus/is/-/is-0.14.0.tgz",
|
5604 |
-
"integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
|
5605 |
-
"engines": {
|
5606 |
-
"node": ">=6"
|
5607 |
-
}
|
5608 |
-
},
|
5609 |
"node_modules/@sinonjs/commons": {
|
5610 |
"version": "3.0.1",
|
5611 |
"resolved": "https://registry.npmmirror.com/@sinonjs/commons/-/commons-3.0.1.tgz",
|
@@ -5814,17 +5996,6 @@
|
|
5814 |
"tslib": "^2.4.0"
|
5815 |
}
|
5816 |
},
|
5817 |
-
"node_modules/@szmarczak/http-timer": {
|
5818 |
-
"version": "1.1.2",
|
5819 |
-
"resolved": "https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
|
5820 |
-
"integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
|
5821 |
-
"dependencies": {
|
5822 |
-
"defer-to-connect": "^1.0.1"
|
5823 |
-
},
|
5824 |
-
"engines": {
|
5825 |
-
"node": ">=6"
|
5826 |
-
}
|
5827 |
-
},
|
5828 |
"node_modules/@tailwindcss/line-clamp": {
|
5829 |
"version": "0.4.4",
|
5830 |
"resolved": "https://registry.npmmirror.com/@tailwindcss/line-clamp/-/line-clamp-0.4.4.tgz",
|
@@ -6226,11 +6397,6 @@
|
|
6226 |
"integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
|
6227 |
"devOptional": true
|
6228 |
},
|
6229 |
-
"node_modules/@tweenjs/tween.js": {
|
6230 |
-
"version": "23.1.3",
|
6231 |
-
"resolved": "https://registry.npmmirror.com/@tweenjs/tween.js/-/tween.js-23.1.3.tgz",
|
6232 |
-
"integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA=="
|
6233 |
-
},
|
6234 |
"node_modules/@types/aria-query": {
|
6235 |
"version": "5.0.4",
|
6236 |
"resolved": "https://registry.npmmirror.com/@types/aria-query/-/aria-query-5.0.4.tgz",
|
@@ -8845,49 +9011,6 @@
|
|
8845 |
"d3-zoom": "^3.0.0"
|
8846 |
}
|
8847 |
},
|
8848 |
-
"node_modules/3d-force-graph": {
|
8849 |
-
"version": "1.73.3",
|
8850 |
-
"resolved": "https://registry.npmmirror.com/3d-force-graph/-/3d-force-graph-1.73.3.tgz",
|
8851 |
-
"integrity": "sha512-azb65Lwn2yr/fJ4+qrxjmstVxogjzwJIZL/fdboCKBg6ph/FLW+xdvYFEBZW92XxBn1C8yRKS3d2VkVT3BzLSw==",
|
8852 |
-
"dependencies": {
|
8853 |
-
"accessor-fn": "1",
|
8854 |
-
"kapsule": "1",
|
8855 |
-
"three": ">=0.118 <1",
|
8856 |
-
"three-forcegraph": "1",
|
8857 |
-
"three-render-objects": "^1.29"
|
8858 |
-
},
|
8859 |
-
"engines": {
|
8860 |
-
"node": ">=12"
|
8861 |
-
}
|
8862 |
-
},
|
8863 |
-
"node_modules/3d-force-graph-ar": {
|
8864 |
-
"version": "1.8.4",
|
8865 |
-
"resolved": "https://registry.npmmirror.com/3d-force-graph-ar/-/3d-force-graph-ar-1.8.4.tgz",
|
8866 |
-
"integrity": "sha512-GnggtrFODQqEfkFTJeQnPvwQVcYtJ81cE5/lsFdDumLkPWB2WoHSbs5k2tSNCZVGIUsKQs5kkEGCbNDeOhueiw==",
|
8867 |
-
"dependencies": {
|
8868 |
-
"aframe-forcegraph-component": "3",
|
8869 |
-
"kapsule": "1"
|
8870 |
-
},
|
8871 |
-
"engines": {
|
8872 |
-
"node": ">=12"
|
8873 |
-
}
|
8874 |
-
},
|
8875 |
-
"node_modules/3d-force-graph-vr": {
|
8876 |
-
"version": "2.2.5",
|
8877 |
-
"resolved": "https://registry.npmmirror.com/3d-force-graph-vr/-/3d-force-graph-vr-2.2.5.tgz",
|
8878 |
-
"integrity": "sha512-Lq31Ido+QQE0iWZNmyKVcsY2rmyMJaBzRgqG/4zZUY2nOBOmf/8TQF7kHSsW564UaZtx4FvjamHyVSkenPy9BA==",
|
8879 |
-
"dependencies": {
|
8880 |
-
"accessor-fn": "1",
|
8881 |
-
"aframe": "^1.5",
|
8882 |
-
"aframe-extras": "^7.2",
|
8883 |
-
"aframe-forcegraph-component": "3",
|
8884 |
-
"kapsule": "1",
|
8885 |
-
"polished": "4"
|
8886 |
-
},
|
8887 |
-
"engines": {
|
8888 |
-
"node": ">=12"
|
8889 |
-
}
|
8890 |
-
},
|
8891 |
"node_modules/abab": {
|
8892 |
"version": "2.0.6",
|
8893 |
"resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz",
|
@@ -8907,14 +9030,6 @@
|
|
8907 |
"node": ">= 0.6"
|
8908 |
}
|
8909 |
},
|
8910 |
-
"node_modules/accessor-fn": {
|
8911 |
-
"version": "1.5.1",
|
8912 |
-
"resolved": "https://registry.npmmirror.com/accessor-fn/-/accessor-fn-1.5.1.tgz",
|
8913 |
-
"integrity": "sha512-zZpFYBqIL1Aqg+f2qmYHJ8+yIZF7/tP6PUGx2/QM0uGPSO5UegpinmkNwDohxWtOj586BpMPVRUjce2HI6xB3A==",
|
8914 |
-
"engines": {
|
8915 |
-
"node": ">=12"
|
8916 |
-
}
|
8917 |
-
},
|
8918 |
"node_modules/acorn": {
|
8919 |
"version": "8.11.3",
|
8920 |
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz",
|
@@ -8980,78 +9095,6 @@
|
|
8980 |
"node": ">= 10.0.0"
|
8981 |
}
|
8982 |
},
|
8983 |
-
"node_modules/aframe": {
|
8984 |
-
"version": "1.6.0",
|
8985 |
-
"resolved": "https://registry.npmmirror.com/aframe/-/aframe-1.6.0.tgz",
|
8986 |
-
"integrity": "sha512-+P1n2xKGZQbCNW4lTwfue9in2KmfAwYD/BZOU5uXKrJCTegPyUZZX/haJRR9Rb33ij+KPj3vFdwT5ALaucXTNA==",
|
8987 |
-
"dependencies": {
|
8988 |
-
"buffer": "^6.0.3",
|
8989 |
-
"debug": "^4.3.4",
|
8990 |
-
"deep-assign": "^2.0.0",
|
8991 |
-
"load-bmfont": "^1.2.3",
|
8992 |
-
"super-animejs": "^3.1.0",
|
8993 |
-
"three": "npm:[email protected]",
|
8994 |
-
"three-bmfont-text": "github:dmarcos/three-bmfont-text#eed4878795be9b3e38cf6aec6b903f56acd1f695",
|
8995 |
-
"webvr-polyfill": "^0.10.12"
|
8996 |
-
},
|
8997 |
-
"engines": {
|
8998 |
-
"node": ">= 4.6.0",
|
8999 |
-
"npm": ">= 2.15.9"
|
9000 |
-
}
|
9001 |
-
},
|
9002 |
-
"node_modules/aframe-extras": {
|
9003 |
-
"version": "7.5.0",
|
9004 |
-
"resolved": "https://registry.npmmirror.com/aframe-extras/-/aframe-extras-7.5.0.tgz",
|
9005 |
-
"integrity": "sha512-9GmDfjfq6qCzSSkvkzf82hqVkEqGVPyCU81ttlfk0yL9+mepLFmVC+Wda8DCP25jZGoY7wm33vs0QadDelnxTg==",
|
9006 |
-
"dependencies": {
|
9007 |
-
"nipplejs": "^0.10.2",
|
9008 |
-
"three": "^0.164.0",
|
9009 |
-
"three-pathfinding": "^1.3.0"
|
9010 |
-
}
|
9011 |
-
},
|
9012 |
-
"node_modules/aframe-extras/node_modules/three": {
|
9013 |
-
"version": "0.164.1",
|
9014 |
-
"resolved": "https://registry.npmmirror.com/three/-/three-0.164.1.tgz",
|
9015 |
-
"integrity": "sha512-iC/hUBbl1vzFny7f5GtqzVXYjMJKaTPxiCxXfrvVdBi1Sf+jhd1CAkitiFwC7mIBFCo3MrDLJG97yisoaWig0w=="
|
9016 |
-
},
|
9017 |
-
"node_modules/aframe-forcegraph-component": {
|
9018 |
-
"version": "3.0.8",
|
9019 |
-
"resolved": "https://registry.npmmirror.com/aframe-forcegraph-component/-/aframe-forcegraph-component-3.0.8.tgz",
|
9020 |
-
"integrity": "sha512-ir1SzOYWYVQ4wtG18QwZRR/aVeZlZDXDbcRgFxSIc8A1YB6Mz3Mh0f0zMFKE3jAq481xNgpktxMvsWGZTPi63Q==",
|
9021 |
-
"dependencies": {
|
9022 |
-
"accessor-fn": "1",
|
9023 |
-
"three-forcegraph": "1"
|
9024 |
-
}
|
9025 |
-
},
|
9026 |
-
"node_modules/aframe/node_modules/buffer": {
|
9027 |
-
"version": "6.0.3",
|
9028 |
-
"resolved": "https://registry.npmmirror.com/buffer/-/buffer-6.0.3.tgz",
|
9029 |
-
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
9030 |
-
"funding": [
|
9031 |
-
{
|
9032 |
-
"type": "github",
|
9033 |
-
"url": "https://github.com/sponsors/feross"
|
9034 |
-
},
|
9035 |
-
{
|
9036 |
-
"type": "patreon",
|
9037 |
-
"url": "https://www.patreon.com/feross"
|
9038 |
-
},
|
9039 |
-
{
|
9040 |
-
"type": "consulting",
|
9041 |
-
"url": "https://feross.org/support"
|
9042 |
-
}
|
9043 |
-
],
|
9044 |
-
"dependencies": {
|
9045 |
-
"base64-js": "^1.3.1",
|
9046 |
-
"ieee754": "^1.2.1"
|
9047 |
-
}
|
9048 |
-
},
|
9049 |
-
"node_modules/aframe/node_modules/three": {
|
9050 |
-
"name": "super-three",
|
9051 |
-
"version": "0.164.0",
|
9052 |
-
"resolved": "https://registry.npmmirror.com/super-three/-/super-three-0.164.0.tgz",
|
9053 |
-
"integrity": "sha512-yMtOkw2hSXfIvGlwcghCbhHGsKRAmh8ksDeOo/0HI7KlEVoIYKHiYLYe9GF6QBViNwzKGpMIz77XUDRveZ4XJg=="
|
9054 |
-
},
|
9055 |
"node_modules/agent-base": {
|
9056 |
"version": "6.0.2",
|
9057 |
"resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz",
|
@@ -9117,11 +9160,6 @@
|
|
9117 |
"ajv": "^6.9.1"
|
9118 |
}
|
9119 |
},
|
9120 |
-
"node_modules/an-array": {
|
9121 |
-
"version": "1.0.0",
|
9122 |
-
"resolved": "https://registry.npmmirror.com/an-array/-/an-array-1.0.0.tgz",
|
9123 |
-
"integrity": "sha512-M175GYI7RmsYu24Ok383yZQa3eveDfNnmhTe3OQ3bm70bEovz2gWenH+ST/n32M8lrwLWk74hcPds5CDRPe2wg=="
|
9124 |
-
},
|
9125 |
"node_modules/ansi-escapes": {
|
9126 |
"version": "4.3.2",
|
9127 |
"resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
|
@@ -9353,14 +9391,6 @@
|
|
9353 |
"node": ">= 0.4"
|
9354 |
}
|
9355 |
},
|
9356 |
-
"node_modules/array-shuffle": {
|
9357 |
-
"version": "1.0.1",
|
9358 |
-
"resolved": "https://registry.npmmirror.com/array-shuffle/-/array-shuffle-1.0.1.tgz",
|
9359 |
-
"integrity": "sha512-PBqgo1Y2XWSksBzq3GFPEb798ZrW2snAcmr4drbVeF/6MT/5aBlkGJEvu5A/CzXHf4EjbHOj/ZowatjlIiVidA==",
|
9360 |
-
"engines": {
|
9361 |
-
"node": ">=0.10.0"
|
9362 |
-
}
|
9363 |
-
},
|
9364 |
"node_modules/array-tree-filter": {
|
9365 |
"version": "2.1.0",
|
9366 |
"resolved": "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
|
@@ -9475,11 +9505,6 @@
|
|
9475 |
"node": ">=0.10.0"
|
9476 |
}
|
9477 |
},
|
9478 |
-
"node_modules/as-number": {
|
9479 |
-
"version": "1.0.0",
|
9480 |
-
"resolved": "https://registry.npmmirror.com/as-number/-/as-number-1.0.0.tgz",
|
9481 |
-
"integrity": "sha512-HkI/zLo2AbSRO4fqVkmyf3hms0bJDs3iboHqTrNuwTiCRvdYXM7HFhfhB6Dk51anV2LM/IMB83mtK9mHw4FlAg=="
|
9482 |
-
},
|
9483 |
"node_modules/asn1.js": {
|
9484 |
"version": "4.10.1",
|
9485 |
"resolved": "https://registry.npmmirror.com/asn1.js/-/asn1.js-4.10.1.tgz",
|
@@ -9604,6 +9629,14 @@
|
|
9604 |
"node": ">=8.0.0"
|
9605 |
}
|
9606 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9607 |
"node_modules/autoprefixer": {
|
9608 |
"version": "10.4.19",
|
9609 |
"resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.19.tgz",
|
@@ -9862,15 +9895,6 @@
|
|
9862 |
"url": "https://github.com/sponsors/wooorm"
|
9863 |
}
|
9864 |
},
|
9865 |
-
"node_modules/bezier-js": {
|
9866 |
-
"version": "6.1.4",
|
9867 |
-
"resolved": "https://registry.npmmirror.com/bezier-js/-/bezier-js-6.1.4.tgz",
|
9868 |
-
"integrity": "sha512-PA0FW9ZpcHbojUCMu28z9Vg/fNkwTj5YhusSAjHHDfHDGLxJ6YUKrAN2vk1fP2MMOxVw4Oko16FMlRGVBGqLKg==",
|
9869 |
-
"funding": {
|
9870 |
-
"type": "individual",
|
9871 |
-
"url": "https://github.com/Pomax/bezierjs/blob/master/FUNDING.md"
|
9872 |
-
}
|
9873 |
-
},
|
9874 |
"node_modules/big-integer": {
|
9875 |
"version": "1.6.52",
|
9876 |
"resolved": "https://registry.npmmirror.com/big-integer/-/big-integer-1.6.52.tgz",
|
@@ -10160,14 +10184,6 @@
|
|
10160 |
"isarray": "^1.0.0"
|
10161 |
}
|
10162 |
},
|
10163 |
-
"node_modules/buffer-equal": {
|
10164 |
-
"version": "0.0.1",
|
10165 |
-
"resolved": "https://registry.npmmirror.com/buffer-equal/-/buffer-equal-0.0.1.tgz",
|
10166 |
-
"integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==",
|
10167 |
-
"engines": {
|
10168 |
-
"node": ">=0.4.0"
|
10169 |
-
}
|
10170 |
-
},
|
10171 |
"node_modules/buffer-from": {
|
10172 |
"version": "1.1.2",
|
10173 |
"resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz",
|
@@ -10242,58 +10258,6 @@
|
|
10242 |
"node": ">=0.10.0"
|
10243 |
}
|
10244 |
},
|
10245 |
-
"node_modules/cacheable-request": {
|
10246 |
-
"version": "6.1.0",
|
10247 |
-
"resolved": "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-6.1.0.tgz",
|
10248 |
-
"integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
|
10249 |
-
"dependencies": {
|
10250 |
-
"clone-response": "^1.0.2",
|
10251 |
-
"get-stream": "^5.1.0",
|
10252 |
-
"http-cache-semantics": "^4.0.0",
|
10253 |
-
"keyv": "^3.0.0",
|
10254 |
-
"lowercase-keys": "^2.0.0",
|
10255 |
-
"normalize-url": "^4.1.0",
|
10256 |
-
"responselike": "^1.0.2"
|
10257 |
-
},
|
10258 |
-
"engines": {
|
10259 |
-
"node": ">=8"
|
10260 |
-
}
|
10261 |
-
},
|
10262 |
-
"node_modules/cacheable-request/node_modules/get-stream": {
|
10263 |
-
"version": "5.2.0",
|
10264 |
-
"resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz",
|
10265 |
-
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
|
10266 |
-
"dependencies": {
|
10267 |
-
"pump": "^3.0.0"
|
10268 |
-
},
|
10269 |
-
"engines": {
|
10270 |
-
"node": ">=8"
|
10271 |
-
},
|
10272 |
-
"funding": {
|
10273 |
-
"url": "https://github.com/sponsors/sindresorhus"
|
10274 |
-
}
|
10275 |
-
},
|
10276 |
-
"node_modules/cacheable-request/node_modules/json-buffer": {
|
10277 |
-
"version": "3.0.0",
|
10278 |
-
"resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.0.tgz",
|
10279 |
-
"integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ=="
|
10280 |
-
},
|
10281 |
-
"node_modules/cacheable-request/node_modules/keyv": {
|
10282 |
-
"version": "3.1.0",
|
10283 |
-
"resolved": "https://registry.npmmirror.com/keyv/-/keyv-3.1.0.tgz",
|
10284 |
-
"integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
|
10285 |
-
"dependencies": {
|
10286 |
-
"json-buffer": "3.0.0"
|
10287 |
-
}
|
10288 |
-
},
|
10289 |
-
"node_modules/cacheable-request/node_modules/lowercase-keys": {
|
10290 |
-
"version": "2.0.0",
|
10291 |
-
"resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
|
10292 |
-
"integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
|
10293 |
-
"engines": {
|
10294 |
-
"node": ">=8"
|
10295 |
-
}
|
10296 |
-
},
|
10297 |
"node_modules/call-bind": {
|
10298 |
"version": "1.0.7",
|
10299 |
"resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz",
|
@@ -10382,40 +10346,11 @@
|
|
10382 |
"resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001618.tgz",
|
10383 |
"integrity": "sha512-p407+D1tIkDvsEAPS22lJxLQQaG8OTBEqo0KhzfABGk0TU4juBNDSfH0hyAp/HRyx+M8L17z/ltyhxh27FTfQg=="
|
10384 |
},
|
10385 |
-
"node_modules/canvas-color-tracker": {
|
10386 |
-
"version": "1.2.2",
|
10387 |
-
"resolved": "https://registry.npmmirror.com/canvas-color-tracker/-/canvas-color-tracker-1.2.2.tgz",
|
10388 |
-
"integrity": "sha512-r+u/Ft2ka4Rj274Ts4L9bhYZLuMvbuJ/yL4seP0s+Pi+i9CM0caD+Sd//yseS5EVBJ2SKSmq36h2mNYUCdmTfA==",
|
10389 |
-
"dependencies": {
|
10390 |
-
"tinycolor2": "^1.6.0"
|
10391 |
-
},
|
10392 |
-
"engines": {
|
10393 |
-
"node": ">=12"
|
10394 |
-
}
|
10395 |
-
},
|
10396 |
-
"node_modules/cardboard-vr-display": {
|
10397 |
-
"version": "1.0.19",
|
10398 |
-
"resolved": "https://registry.npmmirror.com/cardboard-vr-display/-/cardboard-vr-display-1.0.19.tgz",
|
10399 |
-
"integrity": "sha512-+MjcnWKAkb95p68elqZLDPzoiF/dGncQilLGvPBM5ZorABp/ao3lCs7nnRcYBckmuNkg1V/5rdGDKoUaCVsHzQ==",
|
10400 |
-
"dependencies": {
|
10401 |
-
"gl-preserve-state": "^1.0.0",
|
10402 |
-
"nosleep.js": "^0.7.0",
|
10403 |
-
"webvr-polyfill-dpdb": "^1.0.17"
|
10404 |
-
}
|
10405 |
-
},
|
10406 |
"node_modules/ccount": {
|
10407 |
"version": "2.0.1",
|
10408 |
"resolved": "https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz",
|
10409 |
"integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="
|
10410 |
},
|
10411 |
-
"node_modules/centra": {
|
10412 |
-
"version": "2.7.0",
|
10413 |
-
"resolved": "https://registry.npmmirror.com/centra/-/centra-2.7.0.tgz",
|
10414 |
-
"integrity": "sha512-PbFMgMSrmgx6uxCdm57RUos9Tc3fclMvhLSATYN39XsDV29B89zZ3KA89jmY0vwSGazyU+uerqwa6t+KaodPcg==",
|
10415 |
-
"dependencies": {
|
10416 |
-
"follow-redirects": "^1.15.6"
|
10417 |
-
}
|
10418 |
-
},
|
10419 |
"node_modules/chalk": {
|
10420 |
"version": "2.4.2",
|
10421 |
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz",
|
@@ -10759,17 +10694,6 @@
|
|
10759 |
"node": ">=12"
|
10760 |
}
|
10761 |
},
|
10762 |
-
"node_modules/clone-response": {
|
10763 |
-
"version": "1.0.3",
|
10764 |
-
"resolved": "https://registry.npmmirror.com/clone-response/-/clone-response-1.0.3.tgz",
|
10765 |
-
"integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
|
10766 |
-
"dependencies": {
|
10767 |
-
"mimic-response": "^1.0.0"
|
10768 |
-
},
|
10769 |
-
"funding": {
|
10770 |
-
"url": "https://github.com/sponsors/sindresorhus"
|
10771 |
-
}
|
10772 |
-
},
|
10773 |
"node_modules/clsx": {
|
10774 |
"version": "2.1.1",
|
10775 |
"resolved": "https://registry.npmmirror.com/clsx/-/clsx-2.1.1.tgz",
|
@@ -12006,18 +11930,6 @@
|
|
12006 |
"node": ">=12"
|
12007 |
}
|
12008 |
},
|
12009 |
-
"node_modules/d3-scale-chromatic": {
|
12010 |
-
"version": "3.1.0",
|
12011 |
-
"resolved": "https://registry.npmmirror.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
|
12012 |
-
"integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==",
|
12013 |
-
"dependencies": {
|
12014 |
-
"d3-color": "1 - 3",
|
12015 |
-
"d3-interpolate": "1 - 3"
|
12016 |
-
},
|
12017 |
-
"engines": {
|
12018 |
-
"node": ">=12"
|
12019 |
-
}
|
12020 |
-
},
|
12021 |
"node_modules/d3-scale/node_modules/d3-array": {
|
12022 |
"version": "3.2.4",
|
12023 |
"resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-3.2.4.tgz",
|
@@ -12131,17 +12043,6 @@
|
|
12131 |
"lodash": "^4.17.15"
|
12132 |
}
|
12133 |
},
|
12134 |
-
"node_modules/data-joint": {
|
12135 |
-
"version": "1.3.1",
|
12136 |
-
"resolved": "https://registry.npmmirror.com/data-joint/-/data-joint-1.3.1.tgz",
|
12137 |
-
"integrity": "sha512-tMK0m4OVGqiA3zkn8JmO6YAqD8UwJqIAx4AAwFl1SKTtKAqcXePuT+n2aayiX9uITtlN3DFtKKTOxJRUc2+HvQ==",
|
12138 |
-
"dependencies": {
|
12139 |
-
"index-array-by": "^1.4.0"
|
12140 |
-
},
|
12141 |
-
"engines": {
|
12142 |
-
"node": ">=12"
|
12143 |
-
}
|
12144 |
-
},
|
12145 |
"node_modules/data-uri-to-buffer": {
|
12146 |
"version": "4.0.1",
|
12147 |
"resolved": "https://registry.npmmirror.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
|
@@ -12282,17 +12183,6 @@
|
|
12282 |
"node": ">=0.10"
|
12283 |
}
|
12284 |
},
|
12285 |
-
"node_modules/decompress-response": {
|
12286 |
-
"version": "3.3.0",
|
12287 |
-
"resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-3.3.0.tgz",
|
12288 |
-
"integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
|
12289 |
-
"dependencies": {
|
12290 |
-
"mimic-response": "^1.0.0"
|
12291 |
-
},
|
12292 |
-
"engines": {
|
12293 |
-
"node": ">=4"
|
12294 |
-
}
|
12295 |
-
},
|
12296 |
"node_modules/dedent": {
|
12297 |
"version": "1.5.3",
|
12298 |
"resolved": "https://registry.npmmirror.com/dedent/-/dedent-1.5.3.tgz",
|
@@ -12307,17 +12197,6 @@
|
|
12307 |
}
|
12308 |
}
|
12309 |
},
|
12310 |
-
"node_modules/deep-assign": {
|
12311 |
-
"version": "2.0.0",
|
12312 |
-
"resolved": "https://registry.npmmirror.com/deep-assign/-/deep-assign-2.0.0.tgz",
|
12313 |
-
"integrity": "sha512-2QhG3Kxulu4XIF3WL5C5x0sc/S17JLgm1SfvDfIRsR/5m7ZGmcejII7fZ2RyWhN0UWIJm0TNM/eKow6LAn3evQ==",
|
12314 |
-
"dependencies": {
|
12315 |
-
"is-obj": "^1.0.0"
|
12316 |
-
},
|
12317 |
-
"engines": {
|
12318 |
-
"node": ">=0.10.0"
|
12319 |
-
}
|
12320 |
-
},
|
12321 |
"node_modules/deep-is": {
|
12322 |
"version": "0.1.4",
|
12323 |
"resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz",
|
@@ -12439,11 +12318,6 @@
|
|
12439 |
"node": ">=12"
|
12440 |
}
|
12441 |
},
|
12442 |
-
"node_modules/defer-to-connect": {
|
12443 |
-
"version": "1.1.3",
|
12444 |
-
"resolved": "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
|
12445 |
-
"integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ=="
|
12446 |
-
},
|
12447 |
"node_modules/define-data-property": {
|
12448 |
"version": "1.1.4",
|
12449 |
"resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz",
|
@@ -12734,7 +12608,8 @@
|
|
12734 |
"node_modules/dom-walk": {
|
12735 |
"version": "0.1.2",
|
12736 |
"resolved": "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz",
|
12737 |
-
"integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w=="
|
|
|
12738 |
},
|
12739 |
"node_modules/domain-browser": {
|
12740 |
"version": "1.2.0",
|
@@ -12805,14 +12680,6 @@
|
|
12805 |
"tslib": "^2.0.3"
|
12806 |
}
|
12807 |
},
|
12808 |
-
"node_modules/dtype": {
|
12809 |
-
"version": "2.0.0",
|
12810 |
-
"resolved": "https://registry.npmmirror.com/dtype/-/dtype-2.0.0.tgz",
|
12811 |
-
"integrity": "sha512-s2YVcLKdFGS0hpFqJaTwscsyt0E8nNFdmo73Ocd81xNPj4URI4rj6D60A+vFMIw7BXWlb4yRkEwfBqcZzPGiZg==",
|
12812 |
-
"engines": {
|
12813 |
-
"node": ">= 0.8.0"
|
12814 |
-
}
|
12815 |
-
},
|
12816 |
"node_modules/duck": {
|
12817 |
"version": "0.1.12",
|
12818 |
"resolved": "https://registry.npmmirror.com/duck/-/duck-0.1.12.tgz",
|
@@ -12827,11 +12694,6 @@
|
|
12827 |
"integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
|
12828 |
"dev": true
|
12829 |
},
|
12830 |
-
"node_modules/duplexer3": {
|
12831 |
-
"version": "0.1.5",
|
12832 |
-
"resolved": "https://registry.npmmirror.com/duplexer3/-/duplexer3-0.1.5.tgz",
|
12833 |
-
"integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA=="
|
12834 |
-
},
|
12835 |
"node_modules/duplexify": {
|
12836 |
"version": "4.1.2",
|
12837 |
"resolved": "https://registry.npmmirror.com/duplexify/-/duplexify-4.1.2.tgz",
|
@@ -14412,6 +14274,17 @@
|
|
14412 |
"node": "^10.12.0 || >=12.0.0"
|
14413 |
}
|
14414 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14415 |
"node_modules/filesize": {
|
14416 |
"version": "8.0.7",
|
14417 |
"resolved": "https://registry.npmmirror.com/filesize/-/filesize-8.0.7.tgz",
|
@@ -14563,30 +14436,6 @@
|
|
14563 |
"node": ">=0.10.0"
|
14564 |
}
|
14565 |
},
|
14566 |
-
"node_modules/force-graph": {
|
14567 |
-
"version": "1.43.5",
|
14568 |
-
"resolved": "https://registry.npmmirror.com/force-graph/-/force-graph-1.43.5.tgz",
|
14569 |
-
"integrity": "sha512-HveLELh9yhZXO/QOfaFS38vlwJZ/3sKu+jarfXzRmbmihSOH/BbRWnUvmg8wLFiYy6h4HlH4lkRfZRccHYmXgA==",
|
14570 |
-
"dependencies": {
|
14571 |
-
"@tweenjs/tween.js": "18 - 23",
|
14572 |
-
"accessor-fn": "1",
|
14573 |
-
"bezier-js": "3 - 6",
|
14574 |
-
"canvas-color-tracker": "1",
|
14575 |
-
"d3-array": "1 - 3",
|
14576 |
-
"d3-drag": "2 - 3",
|
14577 |
-
"d3-force-3d": "2 - 3",
|
14578 |
-
"d3-scale": "1 - 4",
|
14579 |
-
"d3-scale-chromatic": "1 - 3",
|
14580 |
-
"d3-selection": "2 - 3",
|
14581 |
-
"d3-zoom": "2 - 3",
|
14582 |
-
"index-array-by": "1",
|
14583 |
-
"kapsule": "^1.14",
|
14584 |
-
"lodash-es": "4"
|
14585 |
-
},
|
14586 |
-
"engines": {
|
14587 |
-
"node": ">=12"
|
14588 |
-
}
|
14589 |
-
},
|
14590 |
"node_modules/foreground-child": {
|
14591 |
"version": "3.1.1",
|
14592 |
"resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.1.1.tgz",
|
@@ -14759,36 +14608,17 @@
|
|
14759 |
"dependencies": {
|
14760 |
"map-cache": "^0.2.2"
|
14761 |
},
|
14762 |
-
"engines": {
|
14763 |
-
"node": ">=0.10.0"
|
14764 |
-
}
|
14765 |
-
},
|
14766 |
-
"node_modules/fresh": {
|
14767 |
-
"version": "0.5.2",
|
14768 |
-
"resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz",
|
14769 |
-
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
|
14770 |
-
"engines": {
|
14771 |
-
"node": ">= 0.6"
|
14772 |
-
}
|
14773 |
-
},
|
14774 |
-
"node_modules/fromentries": {
|
14775 |
-
"version": "1.3.2",
|
14776 |
-
"resolved": "https://registry.npmmirror.com/fromentries/-/fromentries-1.3.2.tgz",
|
14777 |
-
"integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
|
14778 |
-
"funding": [
|
14779 |
-
{
|
14780 |
-
"type": "github",
|
14781 |
-
"url": "https://github.com/sponsors/feross"
|
14782 |
-
},
|
14783 |
-
{
|
14784 |
-
"type": "patreon",
|
14785 |
-
"url": "https://www.patreon.com/feross"
|
14786 |
-
},
|
14787 |
-
{
|
14788 |
-
"type": "consulting",
|
14789 |
-
"url": "https://feross.org/support"
|
14790 |
-
}
|
14791 |
-
]
|
14792 |
},
|
14793 |
"node_modules/front-matter": {
|
14794 |
"version": "4.0.2",
|
@@ -14980,11 +14810,6 @@
|
|
14980 |
"resolved": "https://registry.npmmirror.com/gl-matrix/-/gl-matrix-3.4.3.tgz",
|
14981 |
"integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA=="
|
14982 |
},
|
14983 |
-
"node_modules/gl-preserve-state": {
|
14984 |
-
"version": "1.0.0",
|
14985 |
-
"resolved": "https://registry.npmmirror.com/gl-preserve-state/-/gl-preserve-state-1.0.0.tgz",
|
14986 |
-
"integrity": "sha512-zQZ25l3haD4hvgJZ6C9+s0ebdkW9y+7U2qxvGu1uWOJh8a4RU+jURIKEQhf8elIlFpMH6CrAY2tH0mYrRjet3Q=="
|
14987 |
-
},
|
14988 |
"node_modules/glob": {
|
14989 |
"version": "7.2.3",
|
14990 |
"resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz",
|
@@ -15022,6 +14847,7 @@
|
|
15022 |
"version": "4.4.0",
|
15023 |
"resolved": "https://registry.npmmirror.com/global/-/global-4.4.0.tgz",
|
15024 |
"integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
|
|
|
15025 |
"dependencies": {
|
15026 |
"min-document": "^2.19.0",
|
15027 |
"process": "^0.11.10"
|
@@ -15111,38 +14937,6 @@
|
|
15111 |
"get-intrinsic": "^1.1.3"
|
15112 |
}
|
15113 |
},
|
15114 |
-
"node_modules/got": {
|
15115 |
-
"version": "9.6.0",
|
15116 |
-
"resolved": "https://registry.npmmirror.com/got/-/got-9.6.0.tgz",
|
15117 |
-
"integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
|
15118 |
-
"dependencies": {
|
15119 |
-
"@sindresorhus/is": "^0.14.0",
|
15120 |
-
"@szmarczak/http-timer": "^1.1.2",
|
15121 |
-
"cacheable-request": "^6.0.0",
|
15122 |
-
"decompress-response": "^3.3.0",
|
15123 |
-
"duplexer3": "^0.1.4",
|
15124 |
-
"get-stream": "^4.1.0",
|
15125 |
-
"lowercase-keys": "^1.0.1",
|
15126 |
-
"mimic-response": "^1.0.1",
|
15127 |
-
"p-cancelable": "^1.0.0",
|
15128 |
-
"to-readable-stream": "^1.0.0",
|
15129 |
-
"url-parse-lax": "^3.0.0"
|
15130 |
-
},
|
15131 |
-
"engines": {
|
15132 |
-
"node": ">=8.6"
|
15133 |
-
}
|
15134 |
-
},
|
15135 |
-
"node_modules/got/node_modules/get-stream": {
|
15136 |
-
"version": "4.1.0",
|
15137 |
-
"resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz",
|
15138 |
-
"integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
|
15139 |
-
"dependencies": {
|
15140 |
-
"pump": "^3.0.0"
|
15141 |
-
},
|
15142 |
-
"engines": {
|
15143 |
-
"node": ">=6"
|
15144 |
-
}
|
15145 |
-
},
|
15146 |
"node_modules/graceful-fs": {
|
15147 |
"version": "4.2.11",
|
15148 |
"resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
@@ -15978,11 +15772,6 @@
|
|
15978 |
"resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz",
|
15979 |
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
|
15980 |
},
|
15981 |
-
"node_modules/http-cache-semantics": {
|
15982 |
-
"version": "4.1.1",
|
15983 |
-
"resolved": "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
|
15984 |
-
"integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="
|
15985 |
-
},
|
15986 |
"node_modules/http-deceiver": {
|
15987 |
"version": "1.2.7",
|
15988 |
"resolved": "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz",
|
@@ -16236,14 +16025,6 @@
|
|
16236 |
"node": ">=8"
|
16237 |
}
|
16238 |
},
|
16239 |
-
"node_modules/index-array-by": {
|
16240 |
-
"version": "1.4.2",
|
16241 |
-
"resolved": "https://registry.npmmirror.com/index-array-by/-/index-array-by-1.4.2.tgz",
|
16242 |
-
"integrity": "sha512-SP23P27OUKzXWEC/TOyWlwLviofQkCSCKONnc62eItjp69yCZZPqDQtr3Pw5gJDnPeUMqExmKydNZaJO0FU9pw==",
|
16243 |
-
"engines": {
|
16244 |
-
"node": ">=12"
|
16245 |
-
}
|
16246 |
-
},
|
16247 |
"node_modules/inflight": {
|
16248 |
"version": "1.0.6",
|
16249 |
"resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz",
|
@@ -16473,7 +16254,8 @@
|
|
16473 |
"node_modules/is-buffer": {
|
16474 |
"version": "1.1.6",
|
16475 |
"resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz",
|
16476 |
-
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
|
|
|
16477 |
},
|
16478 |
"node_modules/is-callable": {
|
16479 |
"version": "1.2.7",
|
@@ -16622,11 +16404,6 @@
|
|
16622 |
"node": ">=8"
|
16623 |
}
|
16624 |
},
|
16625 |
-
"node_modules/is-function": {
|
16626 |
-
"version": "1.0.2",
|
16627 |
-
"resolved": "https://registry.npmmirror.com/is-function/-/is-function-1.0.2.tgz",
|
16628 |
-
"integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ=="
|
16629 |
-
},
|
16630 |
"node_modules/is-generator-fn": {
|
16631 |
"version": "2.1.0",
|
16632 |
"resolved": "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
|
@@ -16720,14 +16497,6 @@
|
|
16720 |
"node": ">= 0.4"
|
16721 |
}
|
16722 |
},
|
16723 |
-
"node_modules/is-obj": {
|
16724 |
-
"version": "1.0.1",
|
16725 |
-
"resolved": "https://registry.npmmirror.com/is-obj/-/is-obj-1.0.1.tgz",
|
16726 |
-
"integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==",
|
16727 |
-
"engines": {
|
16728 |
-
"node": ">=0.10.0"
|
16729 |
-
}
|
16730 |
-
},
|
16731 |
"node_modules/is-path-inside": {
|
16732 |
"version": "3.0.3",
|
16733 |
"resolved": "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz",
|
@@ -17091,14 +16860,6 @@
|
|
17091 |
"resolved": "https://registry.npmmirror.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz",
|
17092 |
"integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg=="
|
17093 |
},
|
17094 |
-
"node_modules/jerrypick": {
|
17095 |
-
"version": "1.1.1",
|
17096 |
-
"resolved": "https://registry.npmmirror.com/jerrypick/-/jerrypick-1.1.1.tgz",
|
17097 |
-
"integrity": "sha512-XTtedPYEyVp4t6hJrXuRKr/jHj8SC4z+4K0b396PMkov6muL+i8IIamJIvZWe3jUspgIJak0P+BaWKawMYNBLg==",
|
17098 |
-
"engines": {
|
17099 |
-
"node": ">=12"
|
17100 |
-
}
|
17101 |
-
},
|
17102 |
"node_modules/jest": {
|
17103 |
"version": "29.7.0",
|
17104 |
"resolved": "https://registry.npmmirror.com/jest/-/jest-29.7.0.tgz",
|
@@ -19659,17 +19420,6 @@
|
|
19659 |
"node": ">=8"
|
19660 |
}
|
19661 |
},
|
19662 |
-
"node_modules/kapsule": {
|
19663 |
-
"version": "1.14.5",
|
19664 |
-
"resolved": "https://registry.npmmirror.com/kapsule/-/kapsule-1.14.5.tgz",
|
19665 |
-
"integrity": "sha512-H0iSpTynUzZw3tgraDmReprpFRmH5oP5GPmaNsurSwLx2H5iCpOMIkp5q+sfhB4Tz/UJd1E1IbEE9Z6ksnJ6RA==",
|
19666 |
-
"dependencies": {
|
19667 |
-
"lodash-es": "4"
|
19668 |
-
},
|
19669 |
-
"engines": {
|
19670 |
-
"node": ">=12"
|
19671 |
-
}
|
19672 |
-
},
|
19673 |
"node_modules/katex": {
|
19674 |
"version": "0.16.11",
|
19675 |
"resolved": "https://registry.npmmirror.com/katex/-/katex-0.16.11.tgz",
|
@@ -19722,16 +19472,6 @@
|
|
19722 |
"resolved": "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz",
|
19723 |
"integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ=="
|
19724 |
},
|
19725 |
-
"node_modules/layout-bmfont-text": {
|
19726 |
-
"version": "1.3.4",
|
19727 |
-
"resolved": "https://registry.npmmirror.com/layout-bmfont-text/-/layout-bmfont-text-1.3.4.tgz",
|
19728 |
-
"integrity": "sha512-mceomHZ8W7pSKQhTdLvOe1Im4n37u8xa5Gr0J3KPCHRMO/9o7+goWIOzZcUUd+Xgzy3+22bvoIQ0OaN3LRtgaw==",
|
19729 |
-
"dependencies": {
|
19730 |
-
"as-number": "^1.0.0",
|
19731 |
-
"word-wrapper": "^1.0.7",
|
19732 |
-
"xtend": "^4.0.0"
|
19733 |
-
}
|
19734 |
-
},
|
19735 |
"node_modules/less": {
|
19736 |
"version": "4.1.3",
|
19737 |
"resolved": "https://registry.npmmirror.com/less/-/less-4.1.3.tgz",
|
@@ -20285,21 +20025,6 @@
|
|
20285 |
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
20286 |
}
|
20287 |
},
|
20288 |
-
"node_modules/load-bmfont": {
|
20289 |
-
"version": "1.4.2",
|
20290 |
-
"resolved": "https://registry.npmmirror.com/load-bmfont/-/load-bmfont-1.4.2.tgz",
|
20291 |
-
"integrity": "sha512-qElWkmjW9Oq1F9EI5Gt7aD9zcdHb9spJCW1L/dmPf7KzCCEJxq8nhHz5eCgI9aMf7vrG/wyaCqdsI+Iy9ZTlog==",
|
20292 |
-
"dependencies": {
|
20293 |
-
"buffer-equal": "0.0.1",
|
20294 |
-
"mime": "^1.3.4",
|
20295 |
-
"parse-bmfont-ascii": "^1.0.3",
|
20296 |
-
"parse-bmfont-binary": "^1.0.5",
|
20297 |
-
"parse-bmfont-xml": "^1.1.4",
|
20298 |
-
"phin": "^3.7.1",
|
20299 |
-
"xhr": "^2.0.1",
|
20300 |
-
"xtend": "^4.0.0"
|
20301 |
-
}
|
20302 |
-
},
|
20303 |
"node_modules/loader-runner": {
|
20304 |
"version": "4.3.0",
|
20305 |
"resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz",
|
@@ -20349,7 +20074,9 @@
|
|
20349 |
"node_modules/lodash-es": {
|
20350 |
"version": "4.17.21",
|
20351 |
"resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz",
|
20352 |
-
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
|
|
|
|
|
20353 |
},
|
20354 |
"node_modules/lodash._reinterpolate": {
|
20355 |
"version": "3.0.0",
|
@@ -20590,14 +20317,6 @@
|
|
20590 |
"tslib": "^2.0.3"
|
20591 |
}
|
20592 |
},
|
20593 |
-
"node_modules/lowercase-keys": {
|
20594 |
-
"version": "1.0.1",
|
20595 |
-
"resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
|
20596 |
-
"integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
|
20597 |
-
"engines": {
|
20598 |
-
"node": ">=0.10.0"
|
20599 |
-
}
|
20600 |
-
},
|
20601 |
"node_modules/lowlight": {
|
20602 |
"version": "1.20.0",
|
20603 |
"resolved": "https://registry.npmmirror.com/lowlight/-/lowlight-1.20.0.tgz",
|
@@ -20700,22 +20419,6 @@
|
|
20700 |
"node": ">=0.10.0"
|
20701 |
}
|
20702 |
},
|
20703 |
-
"node_modules/map-limit": {
|
20704 |
-
"version": "0.0.1",
|
20705 |
-
"resolved": "https://registry.npmmirror.com/map-limit/-/map-limit-0.0.1.tgz",
|
20706 |
-
"integrity": "sha512-pJpcfLPnIF/Sk3taPW21G/RQsEEirGaFpCW3oXRwH9dnFHPHNGjNyvh++rdmC2fNqEaTw2MhYJraoJWAHx8kEg==",
|
20707 |
-
"dependencies": {
|
20708 |
-
"once": "~1.3.0"
|
20709 |
-
}
|
20710 |
-
},
|
20711 |
-
"node_modules/map-limit/node_modules/once": {
|
20712 |
-
"version": "1.3.3",
|
20713 |
-
"resolved": "https://registry.npmmirror.com/once/-/once-1.3.3.tgz",
|
20714 |
-
"integrity": "sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==",
|
20715 |
-
"dependencies": {
|
20716 |
-
"wrappy": "1"
|
20717 |
-
}
|
20718 |
-
},
|
20719 |
"node_modules/map-obj": {
|
20720 |
"version": "4.3.0",
|
20721 |
"resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz",
|
@@ -21434,18 +21137,11 @@
|
|
21434 |
"node": ">=6"
|
21435 |
}
|
21436 |
},
|
21437 |
-
"node_modules/mimic-response": {
|
21438 |
-
"version": "1.0.1",
|
21439 |
-
"resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-1.0.1.tgz",
|
21440 |
-
"integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
|
21441 |
-
"engines": {
|
21442 |
-
"node": ">=4"
|
21443 |
-
}
|
21444 |
-
},
|
21445 |
"node_modules/min-document": {
|
21446 |
"version": "2.19.0",
|
21447 |
"resolved": "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz",
|
21448 |
"integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==",
|
|
|
21449 |
"dependencies": {
|
21450 |
"dom-walk": "^0.1.0"
|
21451 |
}
|
@@ -21482,7 +21178,8 @@
|
|
21482 |
"node_modules/minimist": {
|
21483 |
"version": "1.2.8",
|
21484 |
"resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz",
|
21485 |
-
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="
|
|
|
21486 |
},
|
21487 |
"node_modules/minimist-options": {
|
21488 |
"version": "4.1.0",
|
@@ -21694,69 +21391,12 @@
|
|
21694 |
"integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==",
|
21695 |
"dev": true
|
21696 |
},
|
21697 |
-
"node_modules/new-array": {
|
21698 |
-
"version": "1.0.0",
|
21699 |
-
"resolved": "https://registry.npmmirror.com/new-array/-/new-array-1.0.0.tgz",
|
21700 |
-
"integrity": "sha512-K5AyFYbuHZ4e/ti52y7k18q8UHsS78FlRd85w2Fmsd6AkuLipDihPflKC0p3PN5i8II7+uHxo+CtkLiJDfmS5A=="
|
21701 |
-
},
|
21702 |
"node_modules/next-tick": {
|
21703 |
"version": "1.1.0",
|
21704 |
"resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz",
|
21705 |
"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
|
21706 |
"dev": true
|
21707 |
},
|
21708 |
-
"node_modules/ngraph.events": {
|
21709 |
-
"version": "1.2.2",
|
21710 |
-
"resolved": "https://registry.npmmirror.com/ngraph.events/-/ngraph.events-1.2.2.tgz",
|
21711 |
-
"integrity": "sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ=="
|
21712 |
-
},
|
21713 |
-
"node_modules/ngraph.forcelayout": {
|
21714 |
-
"version": "3.3.1",
|
21715 |
-
"resolved": "https://registry.npmmirror.com/ngraph.forcelayout/-/ngraph.forcelayout-3.3.1.tgz",
|
21716 |
-
"integrity": "sha512-MKBuEh1wujyQHFTW57y5vd/uuEOK0XfXYxm3lC7kktjJLRdt/KEKEknyOlc6tjXflqBKEuYBBcu7Ax5VY+S6aw==",
|
21717 |
-
"dependencies": {
|
21718 |
-
"ngraph.events": "^1.0.0",
|
21719 |
-
"ngraph.merge": "^1.0.0",
|
21720 |
-
"ngraph.random": "^1.0.0"
|
21721 |
-
}
|
21722 |
-
},
|
21723 |
-
"node_modules/ngraph.graph": {
|
21724 |
-
"version": "20.0.1",
|
21725 |
-
"resolved": "https://registry.npmmirror.com/ngraph.graph/-/ngraph.graph-20.0.1.tgz",
|
21726 |
-
"integrity": "sha512-VFsQ+EMkT+7lcJO1QP8Ik3w64WbHJl27Q53EO9hiFU9CRyxJ8HfcXtfWz/U8okuoYKDctbciL6pX3vG5dt1rYA==",
|
21727 |
-
"dependencies": {
|
21728 |
-
"ngraph.events": "^1.2.1"
|
21729 |
-
}
|
21730 |
-
},
|
21731 |
-
"node_modules/ngraph.merge": {
|
21732 |
-
"version": "1.0.0",
|
21733 |
-
"resolved": "https://registry.npmmirror.com/ngraph.merge/-/ngraph.merge-1.0.0.tgz",
|
21734 |
-
"integrity": "sha512-5J8YjGITUJeapsomtTALYsw7rFveYkM+lBj3QiYZ79EymQcuri65Nw3knQtFxQBU1r5iOaVRXrSwMENUPK62Vg=="
|
21735 |
-
},
|
21736 |
-
"node_modules/ngraph.random": {
|
21737 |
-
"version": "1.1.0",
|
21738 |
-
"resolved": "https://registry.npmmirror.com/ngraph.random/-/ngraph.random-1.1.0.tgz",
|
21739 |
-
"integrity": "sha512-h25UdUN/g8U7y29TzQtRm/GvGr70lK37yQPvPKXXuVfs7gCm82WipYFZcksQfeKumtOemAzBIcT7lzzyK/edLw=="
|
21740 |
-
},
|
21741 |
-
"node_modules/nice-color-palettes": {
|
21742 |
-
"version": "3.0.0",
|
21743 |
-
"resolved": "https://registry.npmmirror.com/nice-color-palettes/-/nice-color-palettes-3.0.0.tgz",
|
21744 |
-
"integrity": "sha512-lL4AjabAAFi313tjrtmgm/bxCRzp4l3vCshojfV/ij3IPdtnRqv6Chcw+SqJUhbe7g3o3BecaqCJYUNLswGBhQ==",
|
21745 |
-
"dependencies": {
|
21746 |
-
"got": "^9.2.2",
|
21747 |
-
"map-limit": "0.0.1",
|
21748 |
-
"minimist": "^1.2.0",
|
21749 |
-
"new-array": "^1.0.0"
|
21750 |
-
},
|
21751 |
-
"bin": {
|
21752 |
-
"nice-color-palettes": "bin/index.js"
|
21753 |
-
}
|
21754 |
-
},
|
21755 |
-
"node_modules/nipplejs": {
|
21756 |
-
"version": "0.10.2",
|
21757 |
-
"resolved": "https://registry.npmmirror.com/nipplejs/-/nipplejs-0.10.2.tgz",
|
21758 |
-
"integrity": "sha512-XGxFY8C2DOtobf1fK+MXINTzkkXJLjZDDpfQhOUZf4TSytbc9s4bmA0lB9eKKM8iDivdr9NQkO7DpIQfsST+9g=="
|
21759 |
-
},
|
21760 |
"node_modules/no-case": {
|
21761 |
"version": "3.0.4",
|
21762 |
"resolved": "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz",
|
@@ -21990,19 +21630,6 @@
|
|
21990 |
"node": ">=0.10.0"
|
21991 |
}
|
21992 |
},
|
21993 |
-
"node_modules/normalize-url": {
|
21994 |
-
"version": "4.5.1",
|
21995 |
-
"resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-4.5.1.tgz",
|
21996 |
-
"integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
|
21997 |
-
"engines": {
|
21998 |
-
"node": ">=8"
|
21999 |
-
}
|
22000 |
-
},
|
22001 |
-
"node_modules/nosleep.js": {
|
22002 |
-
"version": "0.7.0",
|
22003 |
-
"resolved": "https://registry.npmmirror.com/nosleep.js/-/nosleep.js-0.7.0.tgz",
|
22004 |
-
"integrity": "sha512-Z4B1HgvzR+en62ghwZf6BwAR6x4/pjezsiMcbF9KMLh7xoscpoYhaSXfY3lLkqC68AtW+/qLJ1lzvBIj0FGaTA=="
|
22005 |
-
},
|
22006 |
"node_modules/npm-run-path": {
|
22007 |
"version": "4.0.1",
|
22008 |
"resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz",
|
@@ -22343,14 +21970,6 @@
|
|
22343 |
"node": ">=6"
|
22344 |
}
|
22345 |
},
|
22346 |
-
"node_modules/p-cancelable": {
|
22347 |
-
"version": "1.1.0",
|
22348 |
-
"resolved": "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-1.1.0.tgz",
|
22349 |
-
"integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
|
22350 |
-
"engines": {
|
22351 |
-
"node": ">=6"
|
22352 |
-
}
|
22353 |
-
},
|
22354 |
"node_modules/p-event": {
|
22355 |
"version": "4.2.0",
|
22356 |
"resolved": "https://registry.npmmirror.com/p-event/-/p-event-4.2.0.tgz",
|
@@ -22493,25 +22112,6 @@
|
|
22493 |
"node": ">= 0.10"
|
22494 |
}
|
22495 |
},
|
22496 |
-
"node_modules/parse-bmfont-ascii": {
|
22497 |
-
"version": "1.0.6",
|
22498 |
-
"resolved": "https://registry.npmmirror.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz",
|
22499 |
-
"integrity": "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA=="
|
22500 |
-
},
|
22501 |
-
"node_modules/parse-bmfont-binary": {
|
22502 |
-
"version": "1.0.6",
|
22503 |
-
"resolved": "https://registry.npmmirror.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz",
|
22504 |
-
"integrity": "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA=="
|
22505 |
-
},
|
22506 |
-
"node_modules/parse-bmfont-xml": {
|
22507 |
-
"version": "1.1.6",
|
22508 |
-
"resolved": "https://registry.npmmirror.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.6.tgz",
|
22509 |
-
"integrity": "sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==",
|
22510 |
-
"dependencies": {
|
22511 |
-
"xml-parse-from-string": "^1.0.0",
|
22512 |
-
"xml2js": "^0.5.0"
|
22513 |
-
}
|
22514 |
-
},
|
22515 |
"node_modules/parse-entities": {
|
22516 |
"version": "4.0.1",
|
22517 |
"resolved": "https://registry.npmmirror.com/parse-entities/-/parse-entities-4.0.1.tgz",
|
@@ -22532,11 +22132,6 @@
|
|
22532 |
"resolved": "https://registry.npmmirror.com/@types/unist/-/unist-2.0.10.tgz",
|
22533 |
"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
|
22534 |
},
|
22535 |
-
"node_modules/parse-headers": {
|
22536 |
-
"version": "2.0.5",
|
22537 |
-
"resolved": "https://registry.npmmirror.com/parse-headers/-/parse-headers-2.0.5.tgz",
|
22538 |
-
"integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA=="
|
22539 |
-
},
|
22540 |
"node_modules/parse-json": {
|
22541 |
"version": "5.2.0",
|
22542 |
"resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz",
|
@@ -22691,17 +22286,6 @@
|
|
22691 |
"resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
|
22692 |
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
|
22693 |
},
|
22694 |
-
"node_modules/phin": {
|
22695 |
-
"version": "3.7.1",
|
22696 |
-
"resolved": "https://registry.npmmirror.com/phin/-/phin-3.7.1.tgz",
|
22697 |
-
"integrity": "sha512-GEazpTWwTZaEQ9RhL7Nyz0WwqilbqgLahDM3D0hxWwmVDI52nXEybHqiN6/elwpkJBhcuj+WbBu+QfT0uhPGfQ==",
|
22698 |
-
"dependencies": {
|
22699 |
-
"centra": "^2.7.0"
|
22700 |
-
},
|
22701 |
-
"engines": {
|
22702 |
-
"node": ">= 8"
|
22703 |
-
}
|
22704 |
-
},
|
22705 |
"node_modules/picocolors": {
|
22706 |
"version": "1.0.0",
|
22707 |
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
|
@@ -22918,17 +22502,6 @@
|
|
22918 |
"resolved": "https://registry.npmmirror.com/point-in-polygon/-/point-in-polygon-1.1.0.tgz",
|
22919 |
"integrity": "sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw=="
|
22920 |
},
|
22921 |
-
"node_modules/polished": {
|
22922 |
-
"version": "4.3.1",
|
22923 |
-
"resolved": "https://registry.npmmirror.com/polished/-/polished-4.3.1.tgz",
|
22924 |
-
"integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==",
|
22925 |
-
"dependencies": {
|
22926 |
-
"@babel/runtime": "^7.17.8"
|
22927 |
-
},
|
22928 |
-
"engines": {
|
22929 |
-
"node": ">=10"
|
22930 |
-
}
|
22931 |
-
},
|
22932 |
"node_modules/posix-character-classes": {
|
22933 |
"version": "0.1.1",
|
22934 |
"resolved": "https://registry.npmmirror.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
|
@@ -23621,14 +23194,6 @@
|
|
23621 |
"node": ">= 0.8.0"
|
23622 |
}
|
23623 |
},
|
23624 |
-
"node_modules/prepend-http": {
|
23625 |
-
"version": "2.0.0",
|
23626 |
-
"resolved": "https://registry.npmmirror.com/prepend-http/-/prepend-http-2.0.0.tgz",
|
23627 |
-
"integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==",
|
23628 |
-
"engines": {
|
23629 |
-
"node": ">=4"
|
23630 |
-
}
|
23631 |
-
},
|
23632 |
"node_modules/prettier": {
|
23633 |
"version": "3.2.4",
|
23634 |
"resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.2.4.tgz",
|
@@ -23829,15 +23394,6 @@
|
|
23829 |
"resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz",
|
23830 |
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
|
23831 |
},
|
23832 |
-
"node_modules/pump": {
|
23833 |
-
"version": "3.0.0",
|
23834 |
-
"resolved": "https://registry.npmmirror.com/pump/-/pump-3.0.0.tgz",
|
23835 |
-
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
|
23836 |
-
"dependencies": {
|
23837 |
-
"end-of-stream": "^1.1.0",
|
23838 |
-
"once": "^1.3.1"
|
23839 |
-
}
|
23840 |
-
},
|
23841 |
"node_modules/punycode": {
|
23842 |
"version": "1.4.1",
|
23843 |
"resolved": "https://registry.npmmirror.com/punycode/-/punycode-1.4.1.tgz",
|
@@ -23895,16 +23451,6 @@
|
|
23895 |
"node": ">=0.6"
|
23896 |
}
|
23897 |
},
|
23898 |
-
"node_modules/quad-indices": {
|
23899 |
-
"version": "2.0.1",
|
23900 |
-
"resolved": "https://registry.npmmirror.com/quad-indices/-/quad-indices-2.0.1.tgz",
|
23901 |
-
"integrity": "sha512-6jtmCsEbGAh5npThXrBaubbTjPcF0rMbn57XCJVI7LkW8PUT56V+uIrRCCWCn85PSgJC9v8Pm5tnJDwmOBewvA==",
|
23902 |
-
"dependencies": {
|
23903 |
-
"an-array": "^1.0.0",
|
23904 |
-
"dtype": "^2.0.0",
|
23905 |
-
"is-buffer": "^1.0.2"
|
23906 |
-
}
|
23907 |
-
},
|
23908 |
"node_modules/query-string": {
|
23909 |
"version": "6.14.1",
|
23910 |
"resolved": "https://registry.npmmirror.com/query-string/-/query-string-6.14.1.tgz",
|
@@ -24972,6 +24518,22 @@
|
|
24972 |
"node": ">=6"
|
24973 |
}
|
24974 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24975 |
"node_modules/react-error-boundary": {
|
24976 |
"version": "4.0.13",
|
24977 |
"resolved": "https://registry.npmmirror.com/react-error-boundary/-/react-error-boundary-4.0.13.tgz",
|
@@ -24993,25 +24555,6 @@
|
|
24993 |
"resolved": "https://registry.npmmirror.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz",
|
24994 |
"integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ=="
|
24995 |
},
|
24996 |
-
"node_modules/react-force-graph": {
|
24997 |
-
"version": "1.44.4",
|
24998 |
-
"resolved": "https://registry.npmmirror.com/react-force-graph/-/react-force-graph-1.44.4.tgz",
|
24999 |
-
"integrity": "sha512-mi/jRKssT++kl2R1YonFi/2hpK+a1omz6AvJ/oQa++HbXrRGtxg/xo1skO04tGZ/dUbR6SqJcpoUPYHzEle9mA==",
|
25000 |
-
"dependencies": {
|
25001 |
-
"3d-force-graph": "1",
|
25002 |
-
"3d-force-graph-ar": "1",
|
25003 |
-
"3d-force-graph-vr": "2",
|
25004 |
-
"force-graph": "1",
|
25005 |
-
"prop-types": "15",
|
25006 |
-
"react-kapsule": "2"
|
25007 |
-
},
|
25008 |
-
"engines": {
|
25009 |
-
"node": ">=12"
|
25010 |
-
},
|
25011 |
-
"peerDependencies": {
|
25012 |
-
"react": "*"
|
25013 |
-
}
|
25014 |
-
},
|
25015 |
"node_modules/react-helmet-async": {
|
25016 |
"version": "1.3.0",
|
25017 |
"resolved": "https://registry.npmmirror.com/react-helmet-async/-/react-helmet-async-1.3.0.tgz",
|
@@ -25088,21 +24631,6 @@
|
|
25088 |
"resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.2.0.tgz",
|
25089 |
"integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
|
25090 |
},
|
25091 |
-
"node_modules/react-kapsule": {
|
25092 |
-
"version": "2.4.0",
|
25093 |
-
"resolved": "https://registry.npmmirror.com/react-kapsule/-/react-kapsule-2.4.0.tgz",
|
25094 |
-
"integrity": "sha512-w4Yv9CgWdj8kWGQEPNWFGJJ08dYEZHZpiaFR/DgZjCMBNqv9wus2Gy1qvHVJmJbzvAZbq6jdvFC+NYzEqAlNhQ==",
|
25095 |
-
"dependencies": {
|
25096 |
-
"fromentries": "^1.3.2",
|
25097 |
-
"jerrypick": "^1.1.1"
|
25098 |
-
},
|
25099 |
-
"engines": {
|
25100 |
-
"node": ">=12"
|
25101 |
-
},
|
25102 |
-
"peerDependencies": {
|
25103 |
-
"react": ">=16.13.1"
|
25104 |
-
}
|
25105 |
-
},
|
25106 |
"node_modules/react-lifecycles-compat": {
|
25107 |
"version": "3.0.4",
|
25108 |
"resolved": "https://registry.npmmirror.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
|
@@ -26980,14 +26508,6 @@
|
|
26980 |
"node": ">=10"
|
26981 |
}
|
26982 |
},
|
26983 |
-
"node_modules/responselike": {
|
26984 |
-
"version": "1.0.2",
|
26985 |
-
"resolved": "https://registry.npmmirror.com/responselike/-/responselike-1.0.2.tgz",
|
26986 |
-
"integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
|
26987 |
-
"dependencies": {
|
26988 |
-
"lowercase-keys": "^1.0.0"
|
26989 |
-
}
|
26990 |
-
},
|
26991 |
"node_modules/restore-cursor": {
|
26992 |
"version": "4.0.0",
|
26993 |
"resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-4.0.0.tgz",
|
@@ -27178,7 +26698,8 @@
|
|
27178 |
"node_modules/sax": {
|
27179 |
"version": "1.3.0",
|
27180 |
"resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz",
|
27181 |
-
"integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA=="
|
|
|
27182 |
},
|
27183 |
"node_modules/saxes": {
|
27184 |
"version": "6.0.0",
|
@@ -27669,6 +27190,15 @@
|
|
27669 |
"atomic-sleep": "^1.0.0"
|
27670 |
}
|
27671 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27672 |
"node_modules/sort-object-keys": {
|
27673 |
"version": "1.1.3",
|
27674 |
"resolved": "https://registry.npmmirror.com/sort-object-keys/-/sort-object-keys-1.1.3.tgz",
|
@@ -28462,11 +27992,6 @@
|
|
28462 |
"url": "https://github.com/sponsors/isaacs"
|
28463 |
}
|
28464 |
},
|
28465 |
-
"node_modules/super-animejs": {
|
28466 |
-
"version": "3.1.0",
|
28467 |
-
"resolved": "https://registry.npmmirror.com/super-animejs/-/super-animejs-3.1.0.tgz",
|
28468 |
-
"integrity": "sha512-6MFAFJDRuvwkovxQZPruuyHinTa4rgj4hNLOndjcYYhZLckoXtVRY9rJPuq8p6c/tgZJrFYEAYAfJ2/hhNtUCA=="
|
28469 |
-
},
|
28470 |
"node_modules/superjson": {
|
28471 |
"version": "1.13.3",
|
28472 |
"resolved": "https://registry.npmmirror.com/superjson/-/superjson-1.13.3.tgz",
|
@@ -28946,71 +28471,6 @@
|
|
28946 |
"real-require": "^0.1.0"
|
28947 |
}
|
28948 |
},
|
28949 |
-
"node_modules/three": {
|
28950 |
-
"version": "0.167.0",
|
28951 |
-
"resolved": "https://registry.npmmirror.com/three/-/three-0.167.0.tgz",
|
28952 |
-
"integrity": "sha512-9Y1a66fpjqF3rhq7ivKTaKtjQLZ97Hj/lZ00DmZWaKHaQFH4uzYT1znwRDWQOcgMmCcOloQzo61gDmqO8l9xmA=="
|
28953 |
-
},
|
28954 |
-
"node_modules/three-bmfont-text": {
|
28955 |
-
"version": "3.0.0",
|
28956 |
-
"resolved": "git+ssh://[email protected]/dmarcos/three-bmfont-text.git#eed4878795be9b3e38cf6aec6b903f56acd1f695",
|
28957 |
-
"integrity": "sha512-5KULChxHm4qAQZx1MfEF5ADC+2PEX5Gvo2eiEiF9N4RyTNPpHPBRSpW5n8LyD8gOwC0TAdWwafoOGrqPCR1sUA==",
|
28958 |
-
"license": "MIT",
|
28959 |
-
"dependencies": {
|
28960 |
-
"array-shuffle": "^1.0.1",
|
28961 |
-
"layout-bmfont-text": "^1.2.0",
|
28962 |
-
"nice-color-palettes": "^3.0.0",
|
28963 |
-
"quad-indices": "^2.0.1"
|
28964 |
-
}
|
28965 |
-
},
|
28966 |
-
"node_modules/three-forcegraph": {
|
28967 |
-
"version": "1.41.14",
|
28968 |
-
"resolved": "https://registry.npmmirror.com/three-forcegraph/-/three-forcegraph-1.41.14.tgz",
|
28969 |
-
"integrity": "sha512-W/cZElLXO0l6ffdMmDakh4bUGSYuSv/YxInOHMN9KAQgDwJ8904SOBh8qkTnGu7UPsi0mAsrUgkfViW8heloTA==",
|
28970 |
-
"dependencies": {
|
28971 |
-
"accessor-fn": "1",
|
28972 |
-
"d3-array": "1 - 3",
|
28973 |
-
"d3-force-3d": "2 - 3",
|
28974 |
-
"d3-scale": "1 - 4",
|
28975 |
-
"d3-scale-chromatic": "1 - 3",
|
28976 |
-
"data-joint": "1",
|
28977 |
-
"kapsule": "1",
|
28978 |
-
"ngraph.forcelayout": "3",
|
28979 |
-
"ngraph.graph": "20",
|
28980 |
-
"tinycolor2": "1"
|
28981 |
-
},
|
28982 |
-
"engines": {
|
28983 |
-
"node": ">=12"
|
28984 |
-
},
|
28985 |
-
"peerDependencies": {
|
28986 |
-
"three": ">=0.118.3"
|
28987 |
-
}
|
28988 |
-
},
|
28989 |
-
"node_modules/three-pathfinding": {
|
28990 |
-
"version": "1.3.0",
|
28991 |
-
"resolved": "https://registry.npmmirror.com/three-pathfinding/-/three-pathfinding-1.3.0.tgz",
|
28992 |
-
"integrity": "sha512-LKxMI3/YqdMYvt6AdE2vB6s5ueDFczt/DWoxhtPNgRsH6E0D8LMYQxz+eIrmKo0MQpDvMVzXYUMBk+b86+k97w==",
|
28993 |
-
"peerDependencies": {
|
28994 |
-
"three": "0.x.x"
|
28995 |
-
}
|
28996 |
-
},
|
28997 |
-
"node_modules/three-render-objects": {
|
28998 |
-
"version": "1.29.4",
|
28999 |
-
"resolved": "https://registry.npmmirror.com/three-render-objects/-/three-render-objects-1.29.4.tgz",
|
29000 |
-
"integrity": "sha512-E6YwTN5zNsaMjo/5rosgnK44b1aq//3YJGJ5BxG9t7+euRm7ZAmNX3NIqFkoDhKtFC5WLoOxZjyNoq8Uc49gaA==",
|
29001 |
-
"dependencies": {
|
29002 |
-
"@tweenjs/tween.js": "18 - 23",
|
29003 |
-
"accessor-fn": "1",
|
29004 |
-
"kapsule": "1",
|
29005 |
-
"polished": "4"
|
29006 |
-
},
|
29007 |
-
"engines": {
|
29008 |
-
"node": ">=12"
|
29009 |
-
},
|
29010 |
-
"peerDependencies": {
|
29011 |
-
"three": "*"
|
29012 |
-
}
|
29013 |
-
},
|
29014 |
"node_modules/throttle-debounce": {
|
29015 |
"version": "5.0.0",
|
29016 |
"resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz",
|
@@ -29097,14 +28557,6 @@
|
|
29097 |
"node": ">=0.10.0"
|
29098 |
}
|
29099 |
},
|
29100 |
-
"node_modules/to-readable-stream": {
|
29101 |
-
"version": "1.0.0",
|
29102 |
-
"resolved": "https://registry.npmmirror.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
|
29103 |
-
"integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
|
29104 |
-
"engines": {
|
29105 |
-
"node": ">=6"
|
29106 |
-
}
|
29107 |
-
},
|
29108 |
"node_modules/to-regex": {
|
29109 |
"version": "3.0.2",
|
29110 |
"resolved": "https://registry.npmmirror.com/to-regex/-/to-regex-3.0.2.tgz",
|
@@ -29284,9 +28736,9 @@
|
|
29284 |
}
|
29285 |
},
|
29286 |
"node_modules/tslib": {
|
29287 |
-
"version": "2.
|
29288 |
-
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.
|
29289 |
-
"integrity": "sha512-
|
29290 |
},
|
29291 |
"node_modules/tsutils": {
|
29292 |
"version": "3.21.0",
|
@@ -29917,17 +29369,6 @@
|
|
29917 |
"requires-port": "^1.0.0"
|
29918 |
}
|
29919 |
},
|
29920 |
-
"node_modules/url-parse-lax": {
|
29921 |
-
"version": "3.0.0",
|
29922 |
-
"resolved": "https://registry.npmmirror.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
|
29923 |
-
"integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
|
29924 |
-
"dependencies": {
|
29925 |
-
"prepend-http": "^2.0.0"
|
29926 |
-
},
|
29927 |
-
"engines": {
|
29928 |
-
"node": ">=4"
|
29929 |
-
}
|
29930 |
-
},
|
29931 |
"node_modules/use": {
|
29932 |
"version": "3.1.1",
|
29933 |
"resolved": "https://registry.npmmirror.com/use/-/use-3.1.1.tgz",
|
@@ -30832,19 +30273,6 @@
|
|
30832 |
"node": ">=10.13.0"
|
30833 |
}
|
30834 |
},
|
30835 |
-
"node_modules/webvr-polyfill": {
|
30836 |
-
"version": "0.10.12",
|
30837 |
-
"resolved": "https://registry.npmmirror.com/webvr-polyfill/-/webvr-polyfill-0.10.12.tgz",
|
30838 |
-
"integrity": "sha512-trDJEVUQnRIVAnmImjEQ0BlL1NfuWl8+eaEdu+bs4g59c7OtETi/5tFkgEFDRaWEYwHntXs/uFF3OXZuutNGGA==",
|
30839 |
-
"dependencies": {
|
30840 |
-
"cardboard-vr-display": "^1.0.19"
|
30841 |
-
}
|
30842 |
-
},
|
30843 |
-
"node_modules/webvr-polyfill-dpdb": {
|
30844 |
-
"version": "1.0.18",
|
30845 |
-
"resolved": "https://registry.npmmirror.com/webvr-polyfill-dpdb/-/webvr-polyfill-dpdb-1.0.18.tgz",
|
30846 |
-
"integrity": "sha512-O0S1ZGEWyPvyZEkS2VbyV7mtir/NM9MNK3EuhbHPoJ8EHTky2pTXehjIl+IiDPr+Lldgx129QGt3NGly7rwRPw=="
|
30847 |
-
},
|
30848 |
"node_modules/whatwg-encoding": {
|
30849 |
"version": "2.0.0",
|
30850 |
"resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
|
@@ -30958,11 +30386,6 @@
|
|
30958 |
"node": ">= 0.4"
|
30959 |
}
|
30960 |
},
|
30961 |
-
"node_modules/word-wrapper": {
|
30962 |
-
"version": "1.0.7",
|
30963 |
-
"resolved": "https://registry.npmmirror.com/word-wrapper/-/word-wrapper-1.0.7.tgz",
|
30964 |
-
"integrity": "sha512-VOPBFCm9b6FyYKQYfn9AVn2dQvdR/YOVFV6IBRA1TBMJWKffvhEX1af6FMGrttILs2Q9ikCRhLqkbY2weW6dOQ=="
|
30965 |
-
},
|
30966 |
"node_modules/workerize-loader": {
|
30967 |
"version": "2.0.2",
|
30968 |
"resolved": "https://registry.npmmirror.com/workerize-loader/-/workerize-loader-2.0.2.tgz",
|
@@ -31099,17 +30522,6 @@
|
|
31099 |
}
|
31100 |
}
|
31101 |
},
|
31102 |
-
"node_modules/xhr": {
|
31103 |
-
"version": "2.6.0",
|
31104 |
-
"resolved": "https://registry.npmmirror.com/xhr/-/xhr-2.6.0.tgz",
|
31105 |
-
"integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==",
|
31106 |
-
"dependencies": {
|
31107 |
-
"global": "~4.4.0",
|
31108 |
-
"is-function": "^1.0.1",
|
31109 |
-
"parse-headers": "^2.0.0",
|
31110 |
-
"xtend": "^4.0.0"
|
31111 |
-
}
|
31112 |
-
},
|
31113 |
"node_modules/xml-name-validator": {
|
31114 |
"version": "4.0.0",
|
31115 |
"resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
|
@@ -31119,31 +30531,6 @@
|
|
31119 |
"node": ">=12"
|
31120 |
}
|
31121 |
},
|
31122 |
-
"node_modules/xml-parse-from-string": {
|
31123 |
-
"version": "1.0.1",
|
31124 |
-
"resolved": "https://registry.npmmirror.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz",
|
31125 |
-
"integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g=="
|
31126 |
-
},
|
31127 |
-
"node_modules/xml2js": {
|
31128 |
-
"version": "0.5.0",
|
31129 |
-
"resolved": "https://registry.npmmirror.com/xml2js/-/xml2js-0.5.0.tgz",
|
31130 |
-
"integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
|
31131 |
-
"dependencies": {
|
31132 |
-
"sax": ">=0.6.0",
|
31133 |
-
"xmlbuilder": "~11.0.0"
|
31134 |
-
},
|
31135 |
-
"engines": {
|
31136 |
-
"node": ">=4.0.0"
|
31137 |
-
}
|
31138 |
-
},
|
31139 |
-
"node_modules/xml2js/node_modules/xmlbuilder": {
|
31140 |
-
"version": "11.0.1",
|
31141 |
-
"resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
|
31142 |
-
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
|
31143 |
-
"engines": {
|
31144 |
-
"node": ">=4.0"
|
31145 |
-
}
|
31146 |
-
},
|
31147 |
"node_modules/xmlbuilder": {
|
31148 |
"version": "10.1.1",
|
31149 |
"resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-10.1.1.tgz",
|
|
|
22 |
"@radix-ui/react-label": "^2.1.0",
|
23 |
"@radix-ui/react-navigation-menu": "^1.2.1",
|
24 |
"@radix-ui/react-popover": "^1.1.2",
|
25 |
+
"@radix-ui/react-progress": "^1.1.1",
|
26 |
+
"@radix-ui/react-scroll-area": "^1.2.2",
|
27 |
"@radix-ui/react-select": "^2.1.2",
|
28 |
"@radix-ui/react-separator": "^1.1.0",
|
29 |
"@radix-ui/react-slider": "^1.2.1",
|
|
|
61 |
"openai-speech-stream-player": "^1.0.8",
|
62 |
"rc-tween-one": "^3.0.6",
|
63 |
"react-copy-to-clipboard": "^5.1.0",
|
64 |
+
"react-dropzone": "^14.3.5",
|
65 |
"react-error-boundary": "^4.0.13",
|
|
|
66 |
"react-hook-form": "^7.53.1",
|
67 |
"react-i18next": "^14.0.0",
|
68 |
"react-infinite-scroll-component": "^6.1.0",
|
|
|
76 |
"rehype-raw": "^7.0.0",
|
77 |
"remark-gfm": "^4.0.0",
|
78 |
"remark-math": "^6.0.0",
|
79 |
+
"sonner": "^1.7.1",
|
80 |
"tailwind-merge": "^2.5.4",
|
81 |
"tailwindcss-animate": "^1.0.7",
|
82 |
"umi": "^4.0.90",
|
|
|
4965 |
}
|
4966 |
}
|
4967 |
},
|
4968 |
+
"node_modules/@radix-ui/react-progress": {
|
4969 |
+
"version": "1.1.1",
|
4970 |
+
"resolved": "https://registry.npmmirror.com/@radix-ui/react-progress/-/react-progress-1.1.1.tgz",
|
4971 |
+
"integrity": "sha512-6diOawA84f/eMxFHcWut0aE1C2kyE9dOyCTQOMRR2C/qPiXz/X0SaiA/RLbapQaXUCmy0/hLMf9meSccD1N0pA==",
|
4972 |
+
"dependencies": {
|
4973 |
+
"@radix-ui/react-context": "1.1.1",
|
4974 |
+
"@radix-ui/react-primitive": "2.0.1"
|
4975 |
+
},
|
4976 |
+
"peerDependencies": {
|
4977 |
+
"@types/react": "*",
|
4978 |
+
"@types/react-dom": "*",
|
4979 |
+
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
|
4980 |
+
"react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
4981 |
+
},
|
4982 |
+
"peerDependenciesMeta": {
|
4983 |
+
"@types/react": {
|
4984 |
+
"optional": true
|
4985 |
+
},
|
4986 |
+
"@types/react-dom": {
|
4987 |
+
"optional": true
|
4988 |
+
}
|
4989 |
+
}
|
4990 |
+
},
|
4991 |
+
"node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-compose-refs": {
|
4992 |
+
"version": "1.1.1",
|
4993 |
+
"resolved": "https://registry.npmmirror.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz",
|
4994 |
+
"integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==",
|
4995 |
+
"peerDependencies": {
|
4996 |
+
"@types/react": "*",
|
4997 |
+
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
4998 |
+
},
|
4999 |
+
"peerDependenciesMeta": {
|
5000 |
+
"@types/react": {
|
5001 |
+
"optional": true
|
5002 |
+
}
|
5003 |
+
}
|
5004 |
+
},
|
5005 |
+
"node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-primitive": {
|
5006 |
+
"version": "2.0.1",
|
5007 |
+
"resolved": "https://registry.npmmirror.com/@radix-ui/react-primitive/-/react-primitive-2.0.1.tgz",
|
5008 |
+
"integrity": "sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==",
|
5009 |
+
"dependencies": {
|
5010 |
+
"@radix-ui/react-slot": "1.1.1"
|
5011 |
+
},
|
5012 |
+
"peerDependencies": {
|
5013 |
+
"@types/react": "*",
|
5014 |
+
"@types/react-dom": "*",
|
5015 |
+
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
|
5016 |
+
"react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
5017 |
+
},
|
5018 |
+
"peerDependenciesMeta": {
|
5019 |
+
"@types/react": {
|
5020 |
+
"optional": true
|
5021 |
+
},
|
5022 |
+
"@types/react-dom": {
|
5023 |
+
"optional": true
|
5024 |
+
}
|
5025 |
+
}
|
5026 |
+
},
|
5027 |
+
"node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-slot": {
|
5028 |
+
"version": "1.1.1",
|
5029 |
+
"resolved": "https://registry.npmmirror.com/@radix-ui/react-slot/-/react-slot-1.1.1.tgz",
|
5030 |
+
"integrity": "sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==",
|
5031 |
+
"dependencies": {
|
5032 |
+
"@radix-ui/react-compose-refs": "1.1.1"
|
5033 |
+
},
|
5034 |
+
"peerDependencies": {
|
5035 |
+
"@types/react": "*",
|
5036 |
+
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
5037 |
+
},
|
5038 |
+
"peerDependenciesMeta": {
|
5039 |
+
"@types/react": {
|
5040 |
+
"optional": true
|
5041 |
+
}
|
5042 |
+
}
|
5043 |
+
},
|
5044 |
"node_modules/@radix-ui/react-roving-focus": {
|
5045 |
"version": "1.1.0",
|
5046 |
"resolved": "https://registry.npmmirror.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.0.tgz",
|
|
|
5085 |
}
|
5086 |
}
|
5087 |
},
|
5088 |
+
"node_modules/@radix-ui/react-scroll-area": {
|
5089 |
+
"version": "1.2.2",
|
5090 |
+
"resolved": "https://registry.npmmirror.com/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.2.tgz",
|
5091 |
+
"integrity": "sha512-EFI1N/S3YxZEW/lJ/H1jY3njlvTd8tBmgKEn4GHi51+aMm94i6NmAJstsm5cu3yJwYqYc93gpCPm21FeAbFk6g==",
|
5092 |
+
"dependencies": {
|
5093 |
+
"@radix-ui/number": "1.1.0",
|
5094 |
+
"@radix-ui/primitive": "1.1.1",
|
5095 |
+
"@radix-ui/react-compose-refs": "1.1.1",
|
5096 |
+
"@radix-ui/react-context": "1.1.1",
|
5097 |
+
"@radix-ui/react-direction": "1.1.0",
|
5098 |
+
"@radix-ui/react-presence": "1.1.2",
|
5099 |
+
"@radix-ui/react-primitive": "2.0.1",
|
5100 |
+
"@radix-ui/react-use-callback-ref": "1.1.0",
|
5101 |
+
"@radix-ui/react-use-layout-effect": "1.1.0"
|
5102 |
+
},
|
5103 |
+
"peerDependencies": {
|
5104 |
+
"@types/react": "*",
|
5105 |
+
"@types/react-dom": "*",
|
5106 |
+
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
|
5107 |
+
"react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
5108 |
+
},
|
5109 |
+
"peerDependenciesMeta": {
|
5110 |
+
"@types/react": {
|
5111 |
+
"optional": true
|
5112 |
+
},
|
5113 |
+
"@types/react-dom": {
|
5114 |
+
"optional": true
|
5115 |
+
}
|
5116 |
+
}
|
5117 |
+
},
|
5118 |
+
"node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/primitive": {
|
5119 |
+
"version": "1.1.1",
|
5120 |
+
"resolved": "https://registry.npmmirror.com/@radix-ui/primitive/-/primitive-1.1.1.tgz",
|
5121 |
+
"integrity": "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA=="
|
5122 |
+
},
|
5123 |
+
"node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-compose-refs": {
|
5124 |
+
"version": "1.1.1",
|
5125 |
+
"resolved": "https://registry.npmmirror.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz",
|
5126 |
+
"integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==",
|
5127 |
+
"peerDependencies": {
|
5128 |
+
"@types/react": "*",
|
5129 |
+
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
5130 |
+
},
|
5131 |
+
"peerDependenciesMeta": {
|
5132 |
+
"@types/react": {
|
5133 |
+
"optional": true
|
5134 |
+
}
|
5135 |
+
}
|
5136 |
+
},
|
5137 |
+
"node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-presence": {
|
5138 |
+
"version": "1.1.2",
|
5139 |
+
"resolved": "https://registry.npmmirror.com/@radix-ui/react-presence/-/react-presence-1.1.2.tgz",
|
5140 |
+
"integrity": "sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==",
|
5141 |
+
"dependencies": {
|
5142 |
+
"@radix-ui/react-compose-refs": "1.1.1",
|
5143 |
+
"@radix-ui/react-use-layout-effect": "1.1.0"
|
5144 |
+
},
|
5145 |
+
"peerDependencies": {
|
5146 |
+
"@types/react": "*",
|
5147 |
+
"@types/react-dom": "*",
|
5148 |
+
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
|
5149 |
+
"react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
5150 |
+
},
|
5151 |
+
"peerDependenciesMeta": {
|
5152 |
+
"@types/react": {
|
5153 |
+
"optional": true
|
5154 |
+
},
|
5155 |
+
"@types/react-dom": {
|
5156 |
+
"optional": true
|
5157 |
+
}
|
5158 |
+
}
|
5159 |
+
},
|
5160 |
+
"node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-primitive": {
|
5161 |
+
"version": "2.0.1",
|
5162 |
+
"resolved": "https://registry.npmmirror.com/@radix-ui/react-primitive/-/react-primitive-2.0.1.tgz",
|
5163 |
+
"integrity": "sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==",
|
5164 |
+
"dependencies": {
|
5165 |
+
"@radix-ui/react-slot": "1.1.1"
|
5166 |
+
},
|
5167 |
+
"peerDependencies": {
|
5168 |
+
"@types/react": "*",
|
5169 |
+
"@types/react-dom": "*",
|
5170 |
+
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
|
5171 |
+
"react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
5172 |
+
},
|
5173 |
+
"peerDependenciesMeta": {
|
5174 |
+
"@types/react": {
|
5175 |
+
"optional": true
|
5176 |
+
},
|
5177 |
+
"@types/react-dom": {
|
5178 |
+
"optional": true
|
5179 |
+
}
|
5180 |
+
}
|
5181 |
+
},
|
5182 |
+
"node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-slot": {
|
5183 |
+
"version": "1.1.1",
|
5184 |
+
"resolved": "https://registry.npmmirror.com/@radix-ui/react-slot/-/react-slot-1.1.1.tgz",
|
5185 |
+
"integrity": "sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==",
|
5186 |
+
"dependencies": {
|
5187 |
+
"@radix-ui/react-compose-refs": "1.1.1"
|
5188 |
+
},
|
5189 |
+
"peerDependencies": {
|
5190 |
+
"@types/react": "*",
|
5191 |
+
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
5192 |
+
},
|
5193 |
+
"peerDependenciesMeta": {
|
5194 |
+
"@types/react": {
|
5195 |
+
"optional": true
|
5196 |
+
}
|
5197 |
+
}
|
5198 |
+
},
|
5199 |
"node_modules/@radix-ui/react-select": {
|
5200 |
"version": "2.1.2",
|
5201 |
"resolved": "https://registry.npmmirror.com/@radix-ui/react-select/-/react-select-2.1.2.tgz",
|
|
|
5788 |
"resolved": "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.27.8.tgz",
|
5789 |
"integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA=="
|
5790 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5791 |
"node_modules/@sinonjs/commons": {
|
5792 |
"version": "3.0.1",
|
5793 |
"resolved": "https://registry.npmmirror.com/@sinonjs/commons/-/commons-3.0.1.tgz",
|
|
|
5996 |
"tslib": "^2.4.0"
|
5997 |
}
|
5998 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5999 |
"node_modules/@tailwindcss/line-clamp": {
|
6000 |
"version": "0.4.4",
|
6001 |
"resolved": "https://registry.npmmirror.com/@tailwindcss/line-clamp/-/line-clamp-0.4.4.tgz",
|
|
|
6397 |
"integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
|
6398 |
"devOptional": true
|
6399 |
},
|
|
|
|
|
|
|
|
|
|
|
6400 |
"node_modules/@types/aria-query": {
|
6401 |
"version": "5.0.4",
|
6402 |
"resolved": "https://registry.npmmirror.com/@types/aria-query/-/aria-query-5.0.4.tgz",
|
|
|
9011 |
"d3-zoom": "^3.0.0"
|
9012 |
}
|
9013 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9014 |
"node_modules/abab": {
|
9015 |
"version": "2.0.6",
|
9016 |
"resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz",
|
|
|
9030 |
"node": ">= 0.6"
|
9031 |
}
|
9032 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9033 |
"node_modules/acorn": {
|
9034 |
"version": "8.11.3",
|
9035 |
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz",
|
|
|
9095 |
"node": ">= 10.0.0"
|
9096 |
}
|
9097 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9098 |
"node_modules/agent-base": {
|
9099 |
"version": "6.0.2",
|
9100 |
"resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz",
|
|
|
9160 |
"ajv": "^6.9.1"
|
9161 |
}
|
9162 |
},
|
|
|
|
|
|
|
|
|
|
|
9163 |
"node_modules/ansi-escapes": {
|
9164 |
"version": "4.3.2",
|
9165 |
"resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
|
|
|
9391 |
"node": ">= 0.4"
|
9392 |
}
|
9393 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9394 |
"node_modules/array-tree-filter": {
|
9395 |
"version": "2.1.0",
|
9396 |
"resolved": "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
|
|
|
9505 |
"node": ">=0.10.0"
|
9506 |
}
|
9507 |
},
|
|
|
|
|
|
|
|
|
|
|
9508 |
"node_modules/asn1.js": {
|
9509 |
"version": "4.10.1",
|
9510 |
"resolved": "https://registry.npmmirror.com/asn1.js/-/asn1.js-4.10.1.tgz",
|
|
|
9629 |
"node": ">=8.0.0"
|
9630 |
}
|
9631 |
},
|
9632 |
+
"node_modules/attr-accept": {
|
9633 |
+
"version": "2.2.5",
|
9634 |
+
"resolved": "https://registry.npmmirror.com/attr-accept/-/attr-accept-2.2.5.tgz",
|
9635 |
+
"integrity": "sha512-0bDNnY/u6pPwHDMoF0FieU354oBi0a8rD9FcsLwzcGWbc8KS8KPIi7y+s13OlVY+gMWc/9xEMUgNE6Qm8ZllYQ==",
|
9636 |
+
"engines": {
|
9637 |
+
"node": ">=4"
|
9638 |
+
}
|
9639 |
+
},
|
9640 |
"node_modules/autoprefixer": {
|
9641 |
"version": "10.4.19",
|
9642 |
"resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.19.tgz",
|
|
|
9895 |
"url": "https://github.com/sponsors/wooorm"
|
9896 |
}
|
9897 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9898 |
"node_modules/big-integer": {
|
9899 |
"version": "1.6.52",
|
9900 |
"resolved": "https://registry.npmmirror.com/big-integer/-/big-integer-1.6.52.tgz",
|
|
|
10184 |
"isarray": "^1.0.0"
|
10185 |
}
|
10186 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10187 |
"node_modules/buffer-from": {
|
10188 |
"version": "1.1.2",
|
10189 |
"resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz",
|
|
|
10258 |
"node": ">=0.10.0"
|
10259 |
}
|
10260 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10261 |
"node_modules/call-bind": {
|
10262 |
"version": "1.0.7",
|
10263 |
"resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz",
|
|
|
10346 |
"resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001618.tgz",
|
10347 |
"integrity": "sha512-p407+D1tIkDvsEAPS22lJxLQQaG8OTBEqo0KhzfABGk0TU4juBNDSfH0hyAp/HRyx+M8L17z/ltyhxh27FTfQg=="
|
10348 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10349 |
"node_modules/ccount": {
|
10350 |
"version": "2.0.1",
|
10351 |
"resolved": "https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz",
|
10352 |
"integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="
|
10353 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10354 |
"node_modules/chalk": {
|
10355 |
"version": "2.4.2",
|
10356 |
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz",
|
|
|
10694 |
"node": ">=12"
|
10695 |
}
|
10696 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10697 |
"node_modules/clsx": {
|
10698 |
"version": "2.1.1",
|
10699 |
"resolved": "https://registry.npmmirror.com/clsx/-/clsx-2.1.1.tgz",
|
|
|
11930 |
"node": ">=12"
|
11931 |
}
|
11932 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11933 |
"node_modules/d3-scale/node_modules/d3-array": {
|
11934 |
"version": "3.2.4",
|
11935 |
"resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-3.2.4.tgz",
|
|
|
12043 |
"lodash": "^4.17.15"
|
12044 |
}
|
12045 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12046 |
"node_modules/data-uri-to-buffer": {
|
12047 |
"version": "4.0.1",
|
12048 |
"resolved": "https://registry.npmmirror.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
|
|
|
12183 |
"node": ">=0.10"
|
12184 |
}
|
12185 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12186 |
"node_modules/dedent": {
|
12187 |
"version": "1.5.3",
|
12188 |
"resolved": "https://registry.npmmirror.com/dedent/-/dedent-1.5.3.tgz",
|
|
|
12197 |
}
|
12198 |
}
|
12199 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12200 |
"node_modules/deep-is": {
|
12201 |
"version": "0.1.4",
|
12202 |
"resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz",
|
|
|
12318 |
"node": ">=12"
|
12319 |
}
|
12320 |
},
|
|
|
|
|
|
|
|
|
|
|
12321 |
"node_modules/define-data-property": {
|
12322 |
"version": "1.1.4",
|
12323 |
"resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz",
|
|
|
12608 |
"node_modules/dom-walk": {
|
12609 |
"version": "0.1.2",
|
12610 |
"resolved": "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz",
|
12611 |
+
"integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==",
|
12612 |
+
"dev": true
|
12613 |
},
|
12614 |
"node_modules/domain-browser": {
|
12615 |
"version": "1.2.0",
|
|
|
12680 |
"tslib": "^2.0.3"
|
12681 |
}
|
12682 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12683 |
"node_modules/duck": {
|
12684 |
"version": "0.1.12",
|
12685 |
"resolved": "https://registry.npmmirror.com/duck/-/duck-0.1.12.tgz",
|
|
|
12694 |
"integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
|
12695 |
"dev": true
|
12696 |
},
|
|
|
|
|
|
|
|
|
|
|
12697 |
"node_modules/duplexify": {
|
12698 |
"version": "4.1.2",
|
12699 |
"resolved": "https://registry.npmmirror.com/duplexify/-/duplexify-4.1.2.tgz",
|
|
|
14274 |
"node": "^10.12.0 || >=12.0.0"
|
14275 |
}
|
14276 |
},
|
14277 |
+
"node_modules/file-selector": {
|
14278 |
+
"version": "2.1.2",
|
14279 |
+
"resolved": "https://registry.npmmirror.com/file-selector/-/file-selector-2.1.2.tgz",
|
14280 |
+
"integrity": "sha512-QgXo+mXTe8ljeqUFaX3QVHc5osSItJ/Km+xpocx0aSqWGMSCf6qYs/VnzZgS864Pjn5iceMRFigeAV7AfTlaig==",
|
14281 |
+
"dependencies": {
|
14282 |
+
"tslib": "^2.7.0"
|
14283 |
+
},
|
14284 |
+
"engines": {
|
14285 |
+
"node": ">= 12"
|
14286 |
+
}
|
14287 |
+
},
|
14288 |
"node_modules/filesize": {
|
14289 |
"version": "8.0.7",
|
14290 |
"resolved": "https://registry.npmmirror.com/filesize/-/filesize-8.0.7.tgz",
|
|
|
14436 |
"node": ">=0.10.0"
|
14437 |
}
|
14438 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14439 |
"node_modules/foreground-child": {
|
14440 |
"version": "3.1.1",
|
14441 |
"resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.1.1.tgz",
|
|
|
14608 |
"dependencies": {
|
14609 |
"map-cache": "^0.2.2"
|
14610 |
},
|
14611 |
+
"engines": {
|
14612 |
+
"node": ">=0.10.0"
|
14613 |
+
}
|
14614 |
+
},
|
14615 |
+
"node_modules/fresh": {
|
14616 |
+
"version": "0.5.2",
|
14617 |
+
"resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz",
|
14618 |
+
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
|
14619 |
+
"engines": {
|
14620 |
+
"node": ">= 0.6"
|
14621 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14622 |
},
|
14623 |
"node_modules/front-matter": {
|
14624 |
"version": "4.0.2",
|
|
|
14810 |
"resolved": "https://registry.npmmirror.com/gl-matrix/-/gl-matrix-3.4.3.tgz",
|
14811 |
"integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA=="
|
14812 |
},
|
|
|
|
|
|
|
|
|
|
|
14813 |
"node_modules/glob": {
|
14814 |
"version": "7.2.3",
|
14815 |
"resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz",
|
|
|
14847 |
"version": "4.4.0",
|
14848 |
"resolved": "https://registry.npmmirror.com/global/-/global-4.4.0.tgz",
|
14849 |
"integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
|
14850 |
+
"dev": true,
|
14851 |
"dependencies": {
|
14852 |
"min-document": "^2.19.0",
|
14853 |
"process": "^0.11.10"
|
|
|
14937 |
"get-intrinsic": "^1.1.3"
|
14938 |
}
|
14939 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14940 |
"node_modules/graceful-fs": {
|
14941 |
"version": "4.2.11",
|
14942 |
"resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
|
|
15772 |
"resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz",
|
15773 |
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
|
15774 |
},
|
|
|
|
|
|
|
|
|
|
|
15775 |
"node_modules/http-deceiver": {
|
15776 |
"version": "1.2.7",
|
15777 |
"resolved": "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz",
|
|
|
16025 |
"node": ">=8"
|
16026 |
}
|
16027 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16028 |
"node_modules/inflight": {
|
16029 |
"version": "1.0.6",
|
16030 |
"resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz",
|
|
|
16254 |
"node_modules/is-buffer": {
|
16255 |
"version": "1.1.6",
|
16256 |
"resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz",
|
16257 |
+
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
|
16258 |
+
"dev": true
|
16259 |
},
|
16260 |
"node_modules/is-callable": {
|
16261 |
"version": "1.2.7",
|
|
|
16404 |
"node": ">=8"
|
16405 |
}
|
16406 |
},
|
|
|
|
|
|
|
|
|
|
|
16407 |
"node_modules/is-generator-fn": {
|
16408 |
"version": "2.1.0",
|
16409 |
"resolved": "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
|
|
|
16497 |
"node": ">= 0.4"
|
16498 |
}
|
16499 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16500 |
"node_modules/is-path-inside": {
|
16501 |
"version": "3.0.3",
|
16502 |
"resolved": "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz",
|
|
|
16860 |
"resolved": "https://registry.npmmirror.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz",
|
16861 |
"integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg=="
|
16862 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16863 |
"node_modules/jest": {
|
16864 |
"version": "29.7.0",
|
16865 |
"resolved": "https://registry.npmmirror.com/jest/-/jest-29.7.0.tgz",
|
|
|
19420 |
"node": ">=8"
|
19421 |
}
|
19422 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19423 |
"node_modules/katex": {
|
19424 |
"version": "0.16.11",
|
19425 |
"resolved": "https://registry.npmmirror.com/katex/-/katex-0.16.11.tgz",
|
|
|
19472 |
"resolved": "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz",
|
19473 |
"integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ=="
|
19474 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19475 |
"node_modules/less": {
|
19476 |
"version": "4.1.3",
|
19477 |
"resolved": "https://registry.npmmirror.com/less/-/less-4.1.3.tgz",
|
|
|
20025 |
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
20026 |
}
|
20027 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20028 |
"node_modules/loader-runner": {
|
20029 |
"version": "4.3.0",
|
20030 |
"resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz",
|
|
|
20074 |
"node_modules/lodash-es": {
|
20075 |
"version": "4.17.21",
|
20076 |
"resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz",
|
20077 |
+
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
|
20078 |
+
"dev": true,
|
20079 |
+
"peer": true
|
20080 |
},
|
20081 |
"node_modules/lodash._reinterpolate": {
|
20082 |
"version": "3.0.0",
|
|
|
20317 |
"tslib": "^2.0.3"
|
20318 |
}
|
20319 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20320 |
"node_modules/lowlight": {
|
20321 |
"version": "1.20.0",
|
20322 |
"resolved": "https://registry.npmmirror.com/lowlight/-/lowlight-1.20.0.tgz",
|
|
|
20419 |
"node": ">=0.10.0"
|
20420 |
}
|
20421 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20422 |
"node_modules/map-obj": {
|
20423 |
"version": "4.3.0",
|
20424 |
"resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz",
|
|
|
21137 |
"node": ">=6"
|
21138 |
}
|
21139 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21140 |
"node_modules/min-document": {
|
21141 |
"version": "2.19.0",
|
21142 |
"resolved": "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz",
|
21143 |
"integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==",
|
21144 |
+
"dev": true,
|
21145 |
"dependencies": {
|
21146 |
"dom-walk": "^0.1.0"
|
21147 |
}
|
|
|
21178 |
"node_modules/minimist": {
|
21179 |
"version": "1.2.8",
|
21180 |
"resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz",
|
21181 |
+
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
|
21182 |
+
"dev": true
|
21183 |
},
|
21184 |
"node_modules/minimist-options": {
|
21185 |
"version": "4.1.0",
|
|
|
21391 |
"integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==",
|
21392 |
"dev": true
|
21393 |
},
|
|
|
|
|
|
|
|
|
|
|
21394 |
"node_modules/next-tick": {
|
21395 |
"version": "1.1.0",
|
21396 |
"resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz",
|
21397 |
"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
|
21398 |
"dev": true
|
21399 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21400 |
"node_modules/no-case": {
|
21401 |
"version": "3.0.4",
|
21402 |
"resolved": "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz",
|
|
|
21630 |
"node": ">=0.10.0"
|
21631 |
}
|
21632 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21633 |
"node_modules/npm-run-path": {
|
21634 |
"version": "4.0.1",
|
21635 |
"resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz",
|
|
|
21970 |
"node": ">=6"
|
21971 |
}
|
21972 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21973 |
"node_modules/p-event": {
|
21974 |
"version": "4.2.0",
|
21975 |
"resolved": "https://registry.npmmirror.com/p-event/-/p-event-4.2.0.tgz",
|
|
|
22112 |
"node": ">= 0.10"
|
22113 |
}
|
22114 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22115 |
"node_modules/parse-entities": {
|
22116 |
"version": "4.0.1",
|
22117 |
"resolved": "https://registry.npmmirror.com/parse-entities/-/parse-entities-4.0.1.tgz",
|
|
|
22132 |
"resolved": "https://registry.npmmirror.com/@types/unist/-/unist-2.0.10.tgz",
|
22133 |
"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
|
22134 |
},
|
|
|
|
|
|
|
|
|
|
|
22135 |
"node_modules/parse-json": {
|
22136 |
"version": "5.2.0",
|
22137 |
"resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz",
|
|
|
22286 |
"resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
|
22287 |
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
|
22288 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22289 |
"node_modules/picocolors": {
|
22290 |
"version": "1.0.0",
|
22291 |
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
|
|
|
22502 |
"resolved": "https://registry.npmmirror.com/point-in-polygon/-/point-in-polygon-1.1.0.tgz",
|
22503 |
"integrity": "sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw=="
|
22504 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22505 |
"node_modules/posix-character-classes": {
|
22506 |
"version": "0.1.1",
|
22507 |
"resolved": "https://registry.npmmirror.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
|
|
|
23194 |
"node": ">= 0.8.0"
|
23195 |
}
|
23196 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23197 |
"node_modules/prettier": {
|
23198 |
"version": "3.2.4",
|
23199 |
"resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.2.4.tgz",
|
|
|
23394 |
"resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz",
|
23395 |
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
|
23396 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23397 |
"node_modules/punycode": {
|
23398 |
"version": "1.4.1",
|
23399 |
"resolved": "https://registry.npmmirror.com/punycode/-/punycode-1.4.1.tgz",
|
|
|
23451 |
"node": ">=0.6"
|
23452 |
}
|
23453 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23454 |
"node_modules/query-string": {
|
23455 |
"version": "6.14.1",
|
23456 |
"resolved": "https://registry.npmmirror.com/query-string/-/query-string-6.14.1.tgz",
|
|
|
24518 |
"node": ">=6"
|
24519 |
}
|
24520 |
},
|
24521 |
+
"node_modules/react-dropzone": {
|
24522 |
+
"version": "14.3.5",
|
24523 |
+
"resolved": "https://registry.npmmirror.com/react-dropzone/-/react-dropzone-14.3.5.tgz",
|
24524 |
+
"integrity": "sha512-9nDUaEEpqZLOz5v5SUcFA0CjM4vq8YbqO0WRls+EYT7+DvxUdzDPKNCPLqGfj3YL9MsniCLCD4RFA6M95V6KMQ==",
|
24525 |
+
"dependencies": {
|
24526 |
+
"attr-accept": "^2.2.4",
|
24527 |
+
"file-selector": "^2.1.0",
|
24528 |
+
"prop-types": "^15.8.1"
|
24529 |
+
},
|
24530 |
+
"engines": {
|
24531 |
+
"node": ">= 10.13"
|
24532 |
+
},
|
24533 |
+
"peerDependencies": {
|
24534 |
+
"react": ">= 16.8 || 18.0.0"
|
24535 |
+
}
|
24536 |
+
},
|
24537 |
"node_modules/react-error-boundary": {
|
24538 |
"version": "4.0.13",
|
24539 |
"resolved": "https://registry.npmmirror.com/react-error-boundary/-/react-error-boundary-4.0.13.tgz",
|
|
|
24555 |
"resolved": "https://registry.npmmirror.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz",
|
24556 |
"integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ=="
|
24557 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24558 |
"node_modules/react-helmet-async": {
|
24559 |
"version": "1.3.0",
|
24560 |
"resolved": "https://registry.npmmirror.com/react-helmet-async/-/react-helmet-async-1.3.0.tgz",
|
|
|
24631 |
"resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.2.0.tgz",
|
24632 |
"integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
|
24633 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24634 |
"node_modules/react-lifecycles-compat": {
|
24635 |
"version": "3.0.4",
|
24636 |
"resolved": "https://registry.npmmirror.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
|
|
|
26508 |
"node": ">=10"
|
26509 |
}
|
26510 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26511 |
"node_modules/restore-cursor": {
|
26512 |
"version": "4.0.0",
|
26513 |
"resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-4.0.0.tgz",
|
|
|
26698 |
"node_modules/sax": {
|
26699 |
"version": "1.3.0",
|
26700 |
"resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz",
|
26701 |
+
"integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==",
|
26702 |
+
"optional": true
|
26703 |
},
|
26704 |
"node_modules/saxes": {
|
26705 |
"version": "6.0.0",
|
|
|
27190 |
"atomic-sleep": "^1.0.0"
|
27191 |
}
|
27192 |
},
|
27193 |
+
"node_modules/sonner": {
|
27194 |
+
"version": "1.7.1",
|
27195 |
+
"resolved": "https://registry.npmmirror.com/sonner/-/sonner-1.7.1.tgz",
|
27196 |
+
"integrity": "sha512-b6LHBfH32SoVasRFECrdY8p8s7hXPDn3OHUFbZZbiB1ctLS9Gdh6rpX2dVrpQA0kiL5jcRzDDldwwLkSKk3+QQ==",
|
27197 |
+
"peerDependencies": {
|
27198 |
+
"react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc",
|
27199 |
+
"react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-rc"
|
27200 |
+
}
|
27201 |
+
},
|
27202 |
"node_modules/sort-object-keys": {
|
27203 |
"version": "1.1.3",
|
27204 |
"resolved": "https://registry.npmmirror.com/sort-object-keys/-/sort-object-keys-1.1.3.tgz",
|
|
|
27992 |
"url": "https://github.com/sponsors/isaacs"
|
27993 |
}
|
27994 |
},
|
|
|
|
|
|
|
|
|
|
|
27995 |
"node_modules/superjson": {
|
27996 |
"version": "1.13.3",
|
27997 |
"resolved": "https://registry.npmmirror.com/superjson/-/superjson-1.13.3.tgz",
|
|
|
28471 |
"real-require": "^0.1.0"
|
28472 |
}
|
28473 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28474 |
"node_modules/throttle-debounce": {
|
28475 |
"version": "5.0.0",
|
28476 |
"resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz",
|
|
|
28557 |
"node": ">=0.10.0"
|
28558 |
}
|
28559 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28560 |
"node_modules/to-regex": {
|
28561 |
"version": "3.0.2",
|
28562 |
"resolved": "https://registry.npmmirror.com/to-regex/-/to-regex-3.0.2.tgz",
|
|
|
28736 |
}
|
28737 |
},
|
28738 |
"node_modules/tslib": {
|
28739 |
+
"version": "2.8.1",
|
28740 |
+
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz",
|
28741 |
+
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="
|
28742 |
},
|
28743 |
"node_modules/tsutils": {
|
28744 |
"version": "3.21.0",
|
|
|
29369 |
"requires-port": "^1.0.0"
|
29370 |
}
|
29371 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29372 |
"node_modules/use": {
|
29373 |
"version": "3.1.1",
|
29374 |
"resolved": "https://registry.npmmirror.com/use/-/use-3.1.1.tgz",
|
|
|
30273 |
"node": ">=10.13.0"
|
30274 |
}
|
30275 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30276 |
"node_modules/whatwg-encoding": {
|
30277 |
"version": "2.0.0",
|
30278 |
"resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
|
|
|
30386 |
"node": ">= 0.4"
|
30387 |
}
|
30388 |
},
|
|
|
|
|
|
|
|
|
|
|
30389 |
"node_modules/workerize-loader": {
|
30390 |
"version": "2.0.2",
|
30391 |
"resolved": "https://registry.npmmirror.com/workerize-loader/-/workerize-loader-2.0.2.tgz",
|
|
|
30522 |
}
|
30523 |
}
|
30524 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30525 |
"node_modules/xml-name-validator": {
|
30526 |
"version": "4.0.0",
|
30527 |
"resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
|
|
|
30531 |
"node": ">=12"
|
30532 |
}
|
30533 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30534 |
"node_modules/xmlbuilder": {
|
30535 |
"version": "10.1.1",
|
30536 |
"resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-10.1.1.tgz",
|
web/package.json
CHANGED
@@ -33,6 +33,8 @@
|
|
33 |
"@radix-ui/react-label": "^2.1.0",
|
34 |
"@radix-ui/react-navigation-menu": "^1.2.1",
|
35 |
"@radix-ui/react-popover": "^1.1.2",
|
|
|
|
|
36 |
"@radix-ui/react-select": "^2.1.2",
|
37 |
"@radix-ui/react-separator": "^1.1.0",
|
38 |
"@radix-ui/react-slider": "^1.2.1",
|
@@ -70,8 +72,8 @@
|
|
70 |
"openai-speech-stream-player": "^1.0.8",
|
71 |
"rc-tween-one": "^3.0.6",
|
72 |
"react-copy-to-clipboard": "^5.1.0",
|
|
|
73 |
"react-error-boundary": "^4.0.13",
|
74 |
-
"react-force-graph": "^1.44.4",
|
75 |
"react-hook-form": "^7.53.1",
|
76 |
"react-i18next": "^14.0.0",
|
77 |
"react-infinite-scroll-component": "^6.1.0",
|
@@ -85,6 +87,7 @@
|
|
85 |
"rehype-raw": "^7.0.0",
|
86 |
"remark-gfm": "^4.0.0",
|
87 |
"remark-math": "^6.0.0",
|
|
|
88 |
"tailwind-merge": "^2.5.4",
|
89 |
"tailwindcss-animate": "^1.0.7",
|
90 |
"umi": "^4.0.90",
|
|
|
33 |
"@radix-ui/react-label": "^2.1.0",
|
34 |
"@radix-ui/react-navigation-menu": "^1.2.1",
|
35 |
"@radix-ui/react-popover": "^1.1.2",
|
36 |
+
"@radix-ui/react-progress": "^1.1.1",
|
37 |
+
"@radix-ui/react-scroll-area": "^1.2.2",
|
38 |
"@radix-ui/react-select": "^2.1.2",
|
39 |
"@radix-ui/react-separator": "^1.1.0",
|
40 |
"@radix-ui/react-slider": "^1.2.1",
|
|
|
72 |
"openai-speech-stream-player": "^1.0.8",
|
73 |
"rc-tween-one": "^3.0.6",
|
74 |
"react-copy-to-clipboard": "^5.1.0",
|
75 |
+
"react-dropzone": "^14.3.5",
|
76 |
"react-error-boundary": "^4.0.13",
|
|
|
77 |
"react-hook-form": "^7.53.1",
|
78 |
"react-i18next": "^14.0.0",
|
79 |
"react-infinite-scroll-component": "^6.1.0",
|
|
|
87 |
"rehype-raw": "^7.0.0",
|
88 |
"remark-gfm": "^4.0.0",
|
89 |
"remark-math": "^6.0.0",
|
90 |
+
"sonner": "^1.7.1",
|
91 |
"tailwind-merge": "^2.5.4",
|
92 |
"tailwindcss-animate": "^1.0.7",
|
93 |
"umi": "^4.0.90",
|
web/src/components/file-upload-dialog/index.tsx
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { Button } from '@/components/ui/button';
|
2 |
+
import {
|
3 |
+
Dialog,
|
4 |
+
DialogContent,
|
5 |
+
DialogFooter,
|
6 |
+
DialogHeader,
|
7 |
+
DialogTitle,
|
8 |
+
} from '@/components/ui/dialog';
|
9 |
+
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
|
10 |
+
import { IModalProps } from '@/interfaces/common';
|
11 |
+
import { useState } from 'react';
|
12 |
+
import { useTranslation } from 'react-i18next';
|
13 |
+
import { FileUploader } from '../file-uploader';
|
14 |
+
|
15 |
+
export function UploaderTabs() {
|
16 |
+
const { t } = useTranslation();
|
17 |
+
|
18 |
+
const [files, setFiles] = useState<File[]>([]);
|
19 |
+
console.log('🚀 ~ TabsDemo ~ files:', files);
|
20 |
+
|
21 |
+
return (
|
22 |
+
<Tabs defaultValue="account">
|
23 |
+
<TabsList className="grid w-full grid-cols-2 mb-4">
|
24 |
+
<TabsTrigger value="account">{t('fileManager.local')}</TabsTrigger>
|
25 |
+
<TabsTrigger value="password">{t('fileManager.s3')}</TabsTrigger>
|
26 |
+
</TabsList>
|
27 |
+
<TabsContent value="account">
|
28 |
+
<FileUploader
|
29 |
+
maxFileCount={8}
|
30 |
+
maxSize={8 * 1024 * 1024}
|
31 |
+
onValueChange={setFiles}
|
32 |
+
/>
|
33 |
+
</TabsContent>
|
34 |
+
<TabsContent value="password">{t('common.comingSoon')}</TabsContent>
|
35 |
+
</Tabs>
|
36 |
+
);
|
37 |
+
}
|
38 |
+
|
39 |
+
export function FileUploadDialog({ hideModal }: IModalProps<any>) {
|
40 |
+
const { t } = useTranslation();
|
41 |
+
|
42 |
+
return (
|
43 |
+
<Dialog open onOpenChange={hideModal}>
|
44 |
+
<DialogContent className="sm:max-w-[425px]">
|
45 |
+
<DialogHeader>
|
46 |
+
<DialogTitle>{t('fileManager.uploadFile')}</DialogTitle>
|
47 |
+
</DialogHeader>
|
48 |
+
<UploaderTabs></UploaderTabs>
|
49 |
+
<DialogFooter>
|
50 |
+
<Button type="submit" variant={'tertiary'} size={'sm'}>
|
51 |
+
{t('common.save')}
|
52 |
+
</Button>
|
53 |
+
</DialogFooter>
|
54 |
+
</DialogContent>
|
55 |
+
</Dialog>
|
56 |
+
);
|
57 |
+
}
|
web/src/components/file-uploader.tsx
ADDED
@@ -0,0 +1,332 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
// https://github.com/sadmann7/file-uploader
|
2 |
+
|
3 |
+
'use client';
|
4 |
+
|
5 |
+
import { FileText, Upload, X } from 'lucide-react';
|
6 |
+
import * as React from 'react';
|
7 |
+
import Dropzone, {
|
8 |
+
type DropzoneProps,
|
9 |
+
type FileRejection,
|
10 |
+
} from 'react-dropzone';
|
11 |
+
import { toast } from 'sonner';
|
12 |
+
|
13 |
+
import { Button } from '@/components/ui/button';
|
14 |
+
import { Progress } from '@/components/ui/progress';
|
15 |
+
import { ScrollArea } from '@/components/ui/scroll-area';
|
16 |
+
import { useControllableState } from '@/hooks/use-controllable-state';
|
17 |
+
import { cn, formatBytes } from '@/lib/utils';
|
18 |
+
|
19 |
+
function isFileWithPreview(file: File): file is File & { preview: string } {
|
20 |
+
return 'preview' in file && typeof file.preview === 'string';
|
21 |
+
}
|
22 |
+
|
23 |
+
interface FileCardProps {
|
24 |
+
file: File;
|
25 |
+
onRemove: () => void;
|
26 |
+
progress?: number;
|
27 |
+
}
|
28 |
+
|
29 |
+
interface FilePreviewProps {
|
30 |
+
file: File & { preview: string };
|
31 |
+
}
|
32 |
+
|
33 |
+
function FilePreview({ file }: FilePreviewProps) {
|
34 |
+
if (file.type.startsWith('image/')) {
|
35 |
+
return (
|
36 |
+
<img
|
37 |
+
src={file.preview}
|
38 |
+
alt={file.name}
|
39 |
+
width={48}
|
40 |
+
height={48}
|
41 |
+
loading="lazy"
|
42 |
+
className="aspect-square shrink-0 rounded-md object-cover"
|
43 |
+
/>
|
44 |
+
);
|
45 |
+
}
|
46 |
+
|
47 |
+
return (
|
48 |
+
<FileText className="size-10 text-muted-foreground" aria-hidden="true" />
|
49 |
+
);
|
50 |
+
}
|
51 |
+
|
52 |
+
function FileCard({ file, progress, onRemove }: FileCardProps) {
|
53 |
+
return (
|
54 |
+
<div className="relative flex items-center gap-2.5">
|
55 |
+
<div className="flex flex-1 gap-2.5">
|
56 |
+
{isFileWithPreview(file) ? <FilePreview file={file} /> : null}
|
57 |
+
<div className="flex w-full flex-col gap-2">
|
58 |
+
<div className="flex flex-col gap-px">
|
59 |
+
<p className="line-clamp-1 text-sm font-medium text-foreground/80">
|
60 |
+
{file.name}
|
61 |
+
</p>
|
62 |
+
<p className="text-xs text-muted-foreground">
|
63 |
+
{formatBytes(file.size)}
|
64 |
+
</p>
|
65 |
+
</div>
|
66 |
+
{progress ? <Progress value={progress} /> : null}
|
67 |
+
</div>
|
68 |
+
</div>
|
69 |
+
<div className="flex items-center gap-2">
|
70 |
+
<Button
|
71 |
+
type="button"
|
72 |
+
variant="outline"
|
73 |
+
size="icon"
|
74 |
+
className="size-7"
|
75 |
+
onClick={onRemove}
|
76 |
+
>
|
77 |
+
<X className="size-4" aria-hidden="true" />
|
78 |
+
<span className="sr-only">Remove file</span>
|
79 |
+
</Button>
|
80 |
+
</div>
|
81 |
+
</div>
|
82 |
+
);
|
83 |
+
}
|
84 |
+
|
85 |
+
interface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {
|
86 |
+
/**
|
87 |
+
* Value of the uploader.
|
88 |
+
* @type File[]
|
89 |
+
* @default undefined
|
90 |
+
* @example value={files}
|
91 |
+
*/
|
92 |
+
value?: File[];
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Function to be called when the value changes.
|
96 |
+
* @type (files: File[]) => void
|
97 |
+
* @default undefined
|
98 |
+
* @example onValueChange={(files) => setFiles(files)}
|
99 |
+
*/
|
100 |
+
onValueChange?: (files: File[]) => void;
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Function to be called when files are uploaded.
|
104 |
+
* @type (files: File[]) => Promise<void>
|
105 |
+
* @default undefined
|
106 |
+
* @example onUpload={(files) => uploadFiles(files)}
|
107 |
+
*/
|
108 |
+
onUpload?: (files: File[]) => Promise<void>;
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Progress of the uploaded files.
|
112 |
+
* @type Record<string, number> | undefined
|
113 |
+
* @default undefined
|
114 |
+
* @example progresses={{ "file1.png": 50 }}
|
115 |
+
*/
|
116 |
+
progresses?: Record<string, number>;
|
117 |
+
|
118 |
+
/**
|
119 |
+
* Accepted file types for the uploader.
|
120 |
+
* @type { [key: string]: string[]}
|
121 |
+
* @default
|
122 |
+
* ```ts
|
123 |
+
* { "image/*": [] }
|
124 |
+
* ```
|
125 |
+
* @example accept={["image/png", "image/jpeg"]}
|
126 |
+
*/
|
127 |
+
accept?: DropzoneProps['accept'];
|
128 |
+
|
129 |
+
/**
|
130 |
+
* Maximum file size for the uploader.
|
131 |
+
* @type number | undefined
|
132 |
+
* @default 1024 * 1024 * 2 // 2MB
|
133 |
+
* @example maxSize={1024 * 1024 * 2} // 2MB
|
134 |
+
*/
|
135 |
+
maxSize?: DropzoneProps['maxSize'];
|
136 |
+
|
137 |
+
/**
|
138 |
+
* Maximum number of files for the uploader.
|
139 |
+
* @type number | undefined
|
140 |
+
* @default 1
|
141 |
+
* @example maxFileCount={4}
|
142 |
+
*/
|
143 |
+
maxFileCount?: DropzoneProps['maxFiles'];
|
144 |
+
|
145 |
+
/**
|
146 |
+
* Whether the uploader should accept multiple files.
|
147 |
+
* @type boolean
|
148 |
+
* @default false
|
149 |
+
* @example multiple
|
150 |
+
*/
|
151 |
+
multiple?: boolean;
|
152 |
+
|
153 |
+
/**
|
154 |
+
* Whether the uploader is disabled.
|
155 |
+
* @type boolean
|
156 |
+
* @default false
|
157 |
+
* @example disabled
|
158 |
+
*/
|
159 |
+
disabled?: boolean;
|
160 |
+
}
|
161 |
+
|
162 |
+
export function FileUploader(props: FileUploaderProps) {
|
163 |
+
const {
|
164 |
+
value: valueProp,
|
165 |
+
onValueChange,
|
166 |
+
onUpload,
|
167 |
+
progresses,
|
168 |
+
accept = {
|
169 |
+
'image/*': [],
|
170 |
+
},
|
171 |
+
maxSize = 1024 * 1024 * 2,
|
172 |
+
maxFileCount = 1,
|
173 |
+
multiple = false,
|
174 |
+
disabled = false,
|
175 |
+
className,
|
176 |
+
...dropzoneProps
|
177 |
+
} = props;
|
178 |
+
|
179 |
+
const [files, setFiles] = useControllableState({
|
180 |
+
prop: valueProp,
|
181 |
+
onChange: onValueChange,
|
182 |
+
});
|
183 |
+
|
184 |
+
const onDrop = React.useCallback(
|
185 |
+
(acceptedFiles: File[], rejectedFiles: FileRejection[]) => {
|
186 |
+
if (!multiple && maxFileCount === 1 && acceptedFiles.length > 1) {
|
187 |
+
toast.error('Cannot upload more than 1 file at a time');
|
188 |
+
return;
|
189 |
+
}
|
190 |
+
|
191 |
+
if ((files?.length ?? 0) + acceptedFiles.length > maxFileCount) {
|
192 |
+
toast.error(`Cannot upload more than ${maxFileCount} files`);
|
193 |
+
return;
|
194 |
+
}
|
195 |
+
|
196 |
+
const newFiles = acceptedFiles.map((file) =>
|
197 |
+
Object.assign(file, {
|
198 |
+
preview: URL.createObjectURL(file),
|
199 |
+
}),
|
200 |
+
);
|
201 |
+
|
202 |
+
const updatedFiles = files ? [...files, ...newFiles] : newFiles;
|
203 |
+
|
204 |
+
setFiles(updatedFiles);
|
205 |
+
|
206 |
+
if (rejectedFiles.length > 0) {
|
207 |
+
rejectedFiles.forEach(({ file }) => {
|
208 |
+
toast.error(`File ${file.name} was rejected`);
|
209 |
+
});
|
210 |
+
}
|
211 |
+
|
212 |
+
if (
|
213 |
+
onUpload &&
|
214 |
+
updatedFiles.length > 0 &&
|
215 |
+
updatedFiles.length <= maxFileCount
|
216 |
+
) {
|
217 |
+
const target =
|
218 |
+
updatedFiles.length > 0 ? `${updatedFiles.length} files` : `file`;
|
219 |
+
|
220 |
+
toast.promise(onUpload(updatedFiles), {
|
221 |
+
loading: `Uploading ${target}...`,
|
222 |
+
success: () => {
|
223 |
+
setFiles([]);
|
224 |
+
return `${target} uploaded`;
|
225 |
+
},
|
226 |
+
error: `Failed to upload ${target}`,
|
227 |
+
});
|
228 |
+
}
|
229 |
+
},
|
230 |
+
|
231 |
+
[files, maxFileCount, multiple, onUpload, setFiles],
|
232 |
+
);
|
233 |
+
|
234 |
+
function onRemove(index: number) {
|
235 |
+
if (!files) return;
|
236 |
+
const newFiles = files.filter((_, i) => i !== index);
|
237 |
+
setFiles(newFiles);
|
238 |
+
onValueChange?.(newFiles);
|
239 |
+
}
|
240 |
+
|
241 |
+
// Revoke preview url when component unmounts
|
242 |
+
React.useEffect(() => {
|
243 |
+
return () => {
|
244 |
+
if (!files) return;
|
245 |
+
files.forEach((file) => {
|
246 |
+
if (isFileWithPreview(file)) {
|
247 |
+
URL.revokeObjectURL(file.preview);
|
248 |
+
}
|
249 |
+
});
|
250 |
+
};
|
251 |
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
252 |
+
}, []);
|
253 |
+
|
254 |
+
const isDisabled = disabled || (files?.length ?? 0) >= maxFileCount;
|
255 |
+
|
256 |
+
return (
|
257 |
+
<div className="relative flex flex-col gap-6 overflow-hidden">
|
258 |
+
<Dropzone
|
259 |
+
onDrop={onDrop}
|
260 |
+
accept={accept}
|
261 |
+
maxSize={maxSize}
|
262 |
+
maxFiles={maxFileCount}
|
263 |
+
multiple={maxFileCount > 1 || multiple}
|
264 |
+
disabled={isDisabled}
|
265 |
+
>
|
266 |
+
{({ getRootProps, getInputProps, isDragActive }) => (
|
267 |
+
<div
|
268 |
+
{...getRootProps()}
|
269 |
+
className={cn(
|
270 |
+
'group relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed border-muted-foreground/25 px-5 py-2.5 text-center transition hover:bg-muted/25',
|
271 |
+
'ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',
|
272 |
+
isDragActive && 'border-muted-foreground/50',
|
273 |
+
isDisabled && 'pointer-events-none opacity-60',
|
274 |
+
className,
|
275 |
+
)}
|
276 |
+
{...dropzoneProps}
|
277 |
+
>
|
278 |
+
<input {...getInputProps()} />
|
279 |
+
{isDragActive ? (
|
280 |
+
<div className="flex flex-col items-center justify-center gap-4 sm:px-5">
|
281 |
+
<div className="rounded-full border border-dashed p-3">
|
282 |
+
<Upload
|
283 |
+
className="size-7 text-muted-foreground"
|
284 |
+
aria-hidden="true"
|
285 |
+
/>
|
286 |
+
</div>
|
287 |
+
<p className="font-medium text-muted-foreground">
|
288 |
+
Drop the files here
|
289 |
+
</p>
|
290 |
+
</div>
|
291 |
+
) : (
|
292 |
+
<div className="flex flex-col items-center justify-center gap-4 sm:px-5">
|
293 |
+
<div className="rounded-full border border-dashed p-3">
|
294 |
+
<Upload
|
295 |
+
className="size-7 text-muted-foreground"
|
296 |
+
aria-hidden="true"
|
297 |
+
/>
|
298 |
+
</div>
|
299 |
+
<div className="flex flex-col gap-px">
|
300 |
+
<p className="font-medium text-muted-foreground">
|
301 |
+
Drag {`'n'`} drop files here, or click to select files
|
302 |
+
</p>
|
303 |
+
<p className="text-sm text-muted-foreground/70">
|
304 |
+
You can upload
|
305 |
+
{maxFileCount > 1
|
306 |
+
? ` ${maxFileCount === Infinity ? 'multiple' : maxFileCount}
|
307 |
+
files (up to ${formatBytes(maxSize)} each)`
|
308 |
+
: ` a file with ${formatBytes(maxSize)}`}
|
309 |
+
</p>
|
310 |
+
</div>
|
311 |
+
</div>
|
312 |
+
)}
|
313 |
+
</div>
|
314 |
+
)}
|
315 |
+
</Dropzone>
|
316 |
+
{files?.length ? (
|
317 |
+
<ScrollArea className="h-fit w-full px-3">
|
318 |
+
<div className="flex max-h-48 flex-col gap-4">
|
319 |
+
{files?.map((file, index) => (
|
320 |
+
<FileCard
|
321 |
+
key={index}
|
322 |
+
file={file}
|
323 |
+
onRemove={() => onRemove(index)}
|
324 |
+
progress={progresses?.[file.name]}
|
325 |
+
/>
|
326 |
+
))}
|
327 |
+
</div>
|
328 |
+
</ScrollArea>
|
329 |
+
) : null}
|
330 |
+
</div>
|
331 |
+
);
|
332 |
+
}
|
web/src/components/rename-dialog/index.tsx
CHANGED
@@ -2,7 +2,6 @@ import { Button } from '@/components/ui/button';
|
|
2 |
import {
|
3 |
Dialog,
|
4 |
DialogContent,
|
5 |
-
DialogDescription,
|
6 |
DialogFooter,
|
7 |
DialogHeader,
|
8 |
DialogTitle,
|
@@ -11,7 +10,7 @@ import {
|
|
11 |
import { Input } from '@/components/ui/input';
|
12 |
import { Label } from '@/components/ui/label';
|
13 |
|
14 |
-
export function
|
15 |
return (
|
16 |
<Dialog>
|
17 |
<DialogTrigger asChild>
|
@@ -20,9 +19,6 @@ export function DialogDemo() {
|
|
20 |
<DialogContent className="sm:max-w-[425px]">
|
21 |
<DialogHeader>
|
22 |
<DialogTitle>Edit profile</DialogTitle>
|
23 |
-
<DialogDescription>
|
24 |
-
Make changes to your profile here. Click save when you're done.
|
25 |
-
</DialogDescription>
|
26 |
</DialogHeader>
|
27 |
<div className="grid gap-4 py-4">
|
28 |
<div className="grid grid-cols-4 items-center gap-4">
|
|
|
2 |
import {
|
3 |
Dialog,
|
4 |
DialogContent,
|
|
|
5 |
DialogFooter,
|
6 |
DialogHeader,
|
7 |
DialogTitle,
|
|
|
10 |
import { Input } from '@/components/ui/input';
|
11 |
import { Label } from '@/components/ui/label';
|
12 |
|
13 |
+
export function RenameDialog() {
|
14 |
return (
|
15 |
<Dialog>
|
16 |
<DialogTrigger asChild>
|
|
|
19 |
<DialogContent className="sm:max-w-[425px]">
|
20 |
<DialogHeader>
|
21 |
<DialogTitle>Edit profile</DialogTitle>
|
|
|
|
|
|
|
22 |
</DialogHeader>
|
23 |
<div className="grid gap-4 py-4">
|
24 |
<div className="grid grid-cols-4 items-center gap-4">
|
web/src/components/ui/progress.tsx
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
'use client';
|
2 |
+
|
3 |
+
import * as ProgressPrimitive from '@radix-ui/react-progress';
|
4 |
+
import * as React from 'react';
|
5 |
+
|
6 |
+
import { cn } from '@/lib/utils';
|
7 |
+
|
8 |
+
const Progress = React.forwardRef<
|
9 |
+
React.ElementRef<typeof ProgressPrimitive.Root>,
|
10 |
+
React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>
|
11 |
+
>(({ className, value, ...props }, ref) => (
|
12 |
+
<ProgressPrimitive.Root
|
13 |
+
ref={ref}
|
14 |
+
className={cn(
|
15 |
+
'relative h-4 w-full overflow-hidden rounded-full bg-secondary',
|
16 |
+
className,
|
17 |
+
)}
|
18 |
+
{...props}
|
19 |
+
>
|
20 |
+
<ProgressPrimitive.Indicator
|
21 |
+
className="h-full w-full flex-1 bg-primary transition-all"
|
22 |
+
style={{ transform: `translateX(-${100 - (value || 0)}%)` }}
|
23 |
+
/>
|
24 |
+
</ProgressPrimitive.Root>
|
25 |
+
));
|
26 |
+
Progress.displayName = ProgressPrimitive.Root.displayName;
|
27 |
+
|
28 |
+
export { Progress };
|
web/src/components/ui/scroll-area.tsx
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
'use client';
|
2 |
+
|
3 |
+
import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
|
4 |
+
import * as React from 'react';
|
5 |
+
|
6 |
+
import { cn } from '@/lib/utils';
|
7 |
+
|
8 |
+
const ScrollBar = React.forwardRef<
|
9 |
+
React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,
|
10 |
+
React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>
|
11 |
+
>(({ className, orientation = 'vertical', ...props }, ref) => (
|
12 |
+
<ScrollAreaPrimitive.ScrollAreaScrollbar
|
13 |
+
ref={ref}
|
14 |
+
orientation={orientation}
|
15 |
+
className={cn(
|
16 |
+
'flex touch-none select-none transition-colors',
|
17 |
+
orientation === 'vertical' &&
|
18 |
+
'h-full w-2.5 border-l border-l-transparent p-[1px]',
|
19 |
+
orientation === 'horizontal' &&
|
20 |
+
'h-2.5 flex-col border-t border-t-transparent p-[1px]',
|
21 |
+
className,
|
22 |
+
)}
|
23 |
+
{...props}
|
24 |
+
>
|
25 |
+
<ScrollAreaPrimitive.ScrollAreaThumb className="relative flex-1 rounded-full bg-border" />
|
26 |
+
</ScrollAreaPrimitive.ScrollAreaScrollbar>
|
27 |
+
));
|
28 |
+
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
29 |
+
|
30 |
+
const ScrollArea = React.forwardRef<
|
31 |
+
React.ElementRef<typeof ScrollAreaPrimitive.Root>,
|
32 |
+
React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>
|
33 |
+
>(({ className, children, ...props }, ref) => (
|
34 |
+
<ScrollAreaPrimitive.Root
|
35 |
+
ref={ref}
|
36 |
+
className={cn('relative overflow-hidden', className)}
|
37 |
+
{...props}
|
38 |
+
>
|
39 |
+
<ScrollAreaPrimitive.Viewport className="h-full w-full rounded-[inherit]">
|
40 |
+
{children}
|
41 |
+
</ScrollAreaPrimitive.Viewport>
|
42 |
+
<ScrollBar />
|
43 |
+
<ScrollAreaPrimitive.Corner />
|
44 |
+
</ScrollAreaPrimitive.Root>
|
45 |
+
));
|
46 |
+
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
47 |
+
|
48 |
+
export { ScrollArea, ScrollBar };
|
web/src/components/ui/tabs.tsx
CHANGED
@@ -14,7 +14,7 @@ const TabsList = React.forwardRef<
|
|
14 |
<TabsPrimitive.List
|
15 |
ref={ref}
|
16 |
className={cn(
|
17 |
-
'inline-flex h-10 items-center justify-center rounded-md bg-
|
18 |
className,
|
19 |
)}
|
20 |
{...props}
|
@@ -29,7 +29,7 @@ const TabsTrigger = React.forwardRef<
|
|
29 |
<TabsPrimitive.Trigger
|
30 |
ref={ref}
|
31 |
className={cn(
|
32 |
-
'inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-
|
33 |
className,
|
34 |
)}
|
35 |
{...props}
|
|
|
14 |
<TabsPrimitive.List
|
15 |
ref={ref}
|
16 |
className={cn(
|
17 |
+
'inline-flex h-10 items-center justify-center rounded-md bg-colors-background-inverse-standard p-1 text-colors-text-neutral-standard',
|
18 |
className,
|
19 |
)}
|
20 |
{...props}
|
|
|
29 |
<TabsPrimitive.Trigger
|
30 |
ref={ref}
|
31 |
className={cn(
|
32 |
+
'inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-colors-background-inverse-strong data-[state=active]:text-colors-text-inverse-strong data-[state=active]:shadow-sm',
|
33 |
className,
|
34 |
)}
|
35 |
{...props}
|
web/src/hooks/use-callback-ref.ts
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import * as React from 'react';
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @see https://github.com/radix-ui/primitives/blob/main/packages/react/use-callback-ref/src/useCallbackRef.tsx
|
5 |
+
*/
|
6 |
+
|
7 |
+
/**
|
8 |
+
* A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a
|
9 |
+
* prop or avoid re-executing effects when passed as a dependency
|
10 |
+
*/
|
11 |
+
function useCallbackRef<T extends (...args: never[]) => unknown>(
|
12 |
+
callback: T | undefined,
|
13 |
+
): T {
|
14 |
+
const callbackRef = React.useRef(callback);
|
15 |
+
|
16 |
+
React.useEffect(() => {
|
17 |
+
callbackRef.current = callback;
|
18 |
+
});
|
19 |
+
|
20 |
+
// https://github.com/facebook/react/issues/19240
|
21 |
+
return React.useMemo(
|
22 |
+
() => ((...args) => callbackRef.current?.(...args)) as T,
|
23 |
+
[],
|
24 |
+
);
|
25 |
+
}
|
26 |
+
|
27 |
+
export { useCallbackRef };
|
web/src/hooks/use-controllable-state.ts
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import * as React from 'react';
|
2 |
+
|
3 |
+
import { useCallbackRef } from '@/hooks/use-callback-ref';
|
4 |
+
|
5 |
+
/**
|
6 |
+
* @see https://github.com/radix-ui/primitives/blob/main/packages/react/use-controllable-state/src/useControllableState.tsx
|
7 |
+
*/
|
8 |
+
|
9 |
+
type UseControllableStateParams<T> = {
|
10 |
+
prop?: T | undefined;
|
11 |
+
defaultProp?: T | undefined;
|
12 |
+
onChange?: (state: T) => void;
|
13 |
+
};
|
14 |
+
|
15 |
+
type SetStateFn<T> = (prevState?: T) => T;
|
16 |
+
|
17 |
+
function useUncontrolledState<T>({
|
18 |
+
defaultProp,
|
19 |
+
onChange,
|
20 |
+
}: Omit<UseControllableStateParams<T>, 'prop'>) {
|
21 |
+
const uncontrolledState = React.useState<T | undefined>(defaultProp);
|
22 |
+
const [value] = uncontrolledState;
|
23 |
+
const prevValueRef = React.useRef(value);
|
24 |
+
const handleChange = useCallbackRef(onChange);
|
25 |
+
|
26 |
+
React.useEffect(() => {
|
27 |
+
if (prevValueRef.current !== value) {
|
28 |
+
handleChange(value as T);
|
29 |
+
prevValueRef.current = value;
|
30 |
+
}
|
31 |
+
}, [value, prevValueRef, handleChange]);
|
32 |
+
|
33 |
+
return uncontrolledState;
|
34 |
+
}
|
35 |
+
|
36 |
+
function useControllableState<T>({
|
37 |
+
prop,
|
38 |
+
defaultProp,
|
39 |
+
onChange = () => {},
|
40 |
+
}: UseControllableStateParams<T>) {
|
41 |
+
const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({
|
42 |
+
defaultProp,
|
43 |
+
onChange,
|
44 |
+
});
|
45 |
+
const isControlled = prop !== undefined;
|
46 |
+
const value = isControlled ? prop : uncontrolledProp;
|
47 |
+
const handleChange = useCallbackRef(onChange);
|
48 |
+
|
49 |
+
const setValue: React.Dispatch<React.SetStateAction<T | undefined>> =
|
50 |
+
React.useCallback(
|
51 |
+
(nextValue) => {
|
52 |
+
if (isControlled) {
|
53 |
+
const setter = nextValue as SetStateFn<T>;
|
54 |
+
const value =
|
55 |
+
typeof nextValue === 'function' ? setter(prop) : nextValue;
|
56 |
+
if (value !== prop) handleChange(value as T);
|
57 |
+
} else {
|
58 |
+
setUncontrolledProp(nextValue);
|
59 |
+
}
|
60 |
+
},
|
61 |
+
[isControlled, prop, setUncontrolledProp, handleChange],
|
62 |
+
);
|
63 |
+
|
64 |
+
return [value, setValue] as const;
|
65 |
+
}
|
66 |
+
|
67 |
+
export { useControllableState };
|
web/src/lib/utils.ts
CHANGED
@@ -4,3 +4,21 @@ import { twMerge } from 'tailwind-merge';
|
|
4 |
export function cn(...inputs: ClassValue[]) {
|
5 |
return twMerge(clsx(inputs));
|
6 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
export function cn(...inputs: ClassValue[]) {
|
5 |
return twMerge(clsx(inputs));
|
6 |
}
|
7 |
+
|
8 |
+
export function formatBytes(
|
9 |
+
bytes: number,
|
10 |
+
opts: {
|
11 |
+
decimals?: number;
|
12 |
+
sizeType?: 'accurate' | 'normal';
|
13 |
+
} = {},
|
14 |
+
) {
|
15 |
+
const { decimals = 0, sizeType = 'normal' } = opts;
|
16 |
+
|
17 |
+
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
|
18 |
+
const accurateSizes = ['Bytes', 'KiB', 'MiB', 'GiB', 'TiB'];
|
19 |
+
if (bytes === 0) return '0 Byte';
|
20 |
+
const i = Math.floor(Math.log(bytes) / Math.log(1024));
|
21 |
+
return `${(bytes / Math.pow(1024, i)).toFixed(decimals)} ${
|
22 |
+
sizeType === 'accurate' ? accurateSizes[i] ?? 'Bytes' : sizes[i] ?? 'Bytes'
|
23 |
+
}`;
|
24 |
+
}
|
web/src/pages/dataset/dataset/hooks.ts
ADDED
@@ -0,0 +1,230 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { useSetModalState } from '@/hooks/common-hooks';
|
2 |
+
import {
|
3 |
+
useCreateNextDocument,
|
4 |
+
useNextWebCrawl,
|
5 |
+
useRunNextDocument,
|
6 |
+
useSaveNextDocumentName,
|
7 |
+
useSetNextDocumentParser,
|
8 |
+
useUploadNextDocument,
|
9 |
+
} from '@/hooks/document-hooks';
|
10 |
+
import { useGetKnowledgeSearchParams } from '@/hooks/route-hook';
|
11 |
+
import { IChangeParserConfigRequestBody } from '@/interfaces/request/document';
|
12 |
+
import { getUnSupportedFilesCount } from '@/utils/document-util';
|
13 |
+
import { UploadFile } from 'antd';
|
14 |
+
import { useCallback, useState } from 'react';
|
15 |
+
import { useNavigate } from 'umi';
|
16 |
+
|
17 |
+
export const useNavigateToOtherPage = () => {
|
18 |
+
const navigate = useNavigate();
|
19 |
+
const { knowledgeId } = useGetKnowledgeSearchParams();
|
20 |
+
|
21 |
+
const linkToUploadPage = useCallback(() => {
|
22 |
+
navigate(`/knowledge/dataset/upload?id=${knowledgeId}`);
|
23 |
+
}, [navigate, knowledgeId]);
|
24 |
+
|
25 |
+
const toChunk = useCallback((id: string) => {}, []);
|
26 |
+
|
27 |
+
return { linkToUploadPage, toChunk };
|
28 |
+
};
|
29 |
+
|
30 |
+
export const useRenameDocument = (documentId: string) => {
|
31 |
+
const { saveName, loading } = useSaveNextDocumentName();
|
32 |
+
|
33 |
+
const {
|
34 |
+
visible: renameVisible,
|
35 |
+
hideModal: hideRenameModal,
|
36 |
+
showModal: showRenameModal,
|
37 |
+
} = useSetModalState();
|
38 |
+
|
39 |
+
const onRenameOk = useCallback(
|
40 |
+
async (name: string) => {
|
41 |
+
const ret = await saveName({ documentId, name });
|
42 |
+
if (ret === 0) {
|
43 |
+
hideRenameModal();
|
44 |
+
}
|
45 |
+
},
|
46 |
+
[hideRenameModal, saveName, documentId],
|
47 |
+
);
|
48 |
+
|
49 |
+
return {
|
50 |
+
renameLoading: loading,
|
51 |
+
onRenameOk,
|
52 |
+
renameVisible,
|
53 |
+
hideRenameModal,
|
54 |
+
showRenameModal,
|
55 |
+
};
|
56 |
+
};
|
57 |
+
|
58 |
+
export const useCreateEmptyDocument = () => {
|
59 |
+
const { createDocument, loading } = useCreateNextDocument();
|
60 |
+
|
61 |
+
const {
|
62 |
+
visible: createVisible,
|
63 |
+
hideModal: hideCreateModal,
|
64 |
+
showModal: showCreateModal,
|
65 |
+
} = useSetModalState();
|
66 |
+
|
67 |
+
const onCreateOk = useCallback(
|
68 |
+
async (name: string) => {
|
69 |
+
const ret = await createDocument(name);
|
70 |
+
if (ret === 0) {
|
71 |
+
hideCreateModal();
|
72 |
+
}
|
73 |
+
},
|
74 |
+
[hideCreateModal, createDocument],
|
75 |
+
);
|
76 |
+
|
77 |
+
return {
|
78 |
+
createLoading: loading,
|
79 |
+
onCreateOk,
|
80 |
+
createVisible,
|
81 |
+
hideCreateModal,
|
82 |
+
showCreateModal,
|
83 |
+
};
|
84 |
+
};
|
85 |
+
|
86 |
+
export const useChangeDocumentParser = (documentId: string) => {
|
87 |
+
const { setDocumentParser, loading } = useSetNextDocumentParser();
|
88 |
+
|
89 |
+
const {
|
90 |
+
visible: changeParserVisible,
|
91 |
+
hideModal: hideChangeParserModal,
|
92 |
+
showModal: showChangeParserModal,
|
93 |
+
} = useSetModalState();
|
94 |
+
|
95 |
+
const onChangeParserOk = useCallback(
|
96 |
+
async (parserId: string, parserConfig: IChangeParserConfigRequestBody) => {
|
97 |
+
const ret = await setDocumentParser({
|
98 |
+
parserId,
|
99 |
+
documentId,
|
100 |
+
parserConfig,
|
101 |
+
});
|
102 |
+
if (ret === 0) {
|
103 |
+
hideChangeParserModal();
|
104 |
+
}
|
105 |
+
},
|
106 |
+
[hideChangeParserModal, setDocumentParser, documentId],
|
107 |
+
);
|
108 |
+
|
109 |
+
return {
|
110 |
+
changeParserLoading: loading,
|
111 |
+
onChangeParserOk,
|
112 |
+
changeParserVisible,
|
113 |
+
hideChangeParserModal,
|
114 |
+
showChangeParserModal,
|
115 |
+
};
|
116 |
+
};
|
117 |
+
|
118 |
+
export const useGetRowSelection = () => {
|
119 |
+
const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]);
|
120 |
+
|
121 |
+
const rowSelection = {
|
122 |
+
selectedRowKeys,
|
123 |
+
onChange: (newSelectedRowKeys: React.Key[]) => {
|
124 |
+
setSelectedRowKeys(newSelectedRowKeys);
|
125 |
+
},
|
126 |
+
};
|
127 |
+
|
128 |
+
return rowSelection;
|
129 |
+
};
|
130 |
+
|
131 |
+
export const useHandleUploadDocument = () => {
|
132 |
+
const {
|
133 |
+
visible: documentUploadVisible,
|
134 |
+
hideModal: hideDocumentUploadModal,
|
135 |
+
showModal: showDocumentUploadModal,
|
136 |
+
} = useSetModalState();
|
137 |
+
const { uploadDocument, loading } = useUploadNextDocument();
|
138 |
+
|
139 |
+
const onDocumentUploadOk = useCallback(
|
140 |
+
async (fileList: UploadFile[]): Promise<number | undefined> => {
|
141 |
+
if (fileList.length > 0) {
|
142 |
+
const ret: any = await uploadDocument(fileList);
|
143 |
+
if (typeof ret?.message !== 'string') {
|
144 |
+
return;
|
145 |
+
}
|
146 |
+
const count = getUnSupportedFilesCount(ret?.message);
|
147 |
+
/// 500 error code indicates that some file types are not supported
|
148 |
+
let code = ret?.code;
|
149 |
+
if (
|
150 |
+
ret?.code === 0 ||
|
151 |
+
(ret?.code === 500 && count !== fileList.length) // Some files were not uploaded successfully, but some were uploaded successfully.
|
152 |
+
) {
|
153 |
+
code = 0;
|
154 |
+
hideDocumentUploadModal();
|
155 |
+
}
|
156 |
+
return code;
|
157 |
+
}
|
158 |
+
},
|
159 |
+
[uploadDocument, hideDocumentUploadModal],
|
160 |
+
);
|
161 |
+
|
162 |
+
return {
|
163 |
+
documentUploadLoading: loading,
|
164 |
+
onDocumentUploadOk,
|
165 |
+
documentUploadVisible,
|
166 |
+
hideDocumentUploadModal,
|
167 |
+
showDocumentUploadModal,
|
168 |
+
};
|
169 |
+
};
|
170 |
+
|
171 |
+
export const useHandleWebCrawl = () => {
|
172 |
+
const {
|
173 |
+
visible: webCrawlUploadVisible,
|
174 |
+
hideModal: hideWebCrawlUploadModal,
|
175 |
+
showModal: showWebCrawlUploadModal,
|
176 |
+
} = useSetModalState();
|
177 |
+
const { webCrawl, loading } = useNextWebCrawl();
|
178 |
+
|
179 |
+
const onWebCrawlUploadOk = useCallback(
|
180 |
+
async (name: string, url: string) => {
|
181 |
+
const ret = await webCrawl({ name, url });
|
182 |
+
if (ret === 0) {
|
183 |
+
hideWebCrawlUploadModal();
|
184 |
+
return 0;
|
185 |
+
}
|
186 |
+
return -1;
|
187 |
+
},
|
188 |
+
[webCrawl, hideWebCrawlUploadModal],
|
189 |
+
);
|
190 |
+
|
191 |
+
return {
|
192 |
+
webCrawlUploadLoading: loading,
|
193 |
+
onWebCrawlUploadOk,
|
194 |
+
webCrawlUploadVisible,
|
195 |
+
hideWebCrawlUploadModal,
|
196 |
+
showWebCrawlUploadModal,
|
197 |
+
};
|
198 |
+
};
|
199 |
+
|
200 |
+
export const useHandleRunDocumentByIds = (id: string) => {
|
201 |
+
const { runDocumentByIds, loading } = useRunNextDocument();
|
202 |
+
const [currentId, setCurrentId] = useState<string>('');
|
203 |
+
const isLoading = loading && currentId !== '' && currentId === id;
|
204 |
+
|
205 |
+
const handleRunDocumentByIds = async (
|
206 |
+
documentId: string,
|
207 |
+
isRunning: boolean,
|
208 |
+
shouldDelete: boolean = false,
|
209 |
+
) => {
|
210 |
+
if (isLoading) {
|
211 |
+
return;
|
212 |
+
}
|
213 |
+
setCurrentId(documentId);
|
214 |
+
try {
|
215 |
+
await runDocumentByIds({
|
216 |
+
documentIds: [documentId],
|
217 |
+
run: isRunning ? 2 : 1,
|
218 |
+
shouldDelete,
|
219 |
+
});
|
220 |
+
setCurrentId('');
|
221 |
+
} catch (error) {
|
222 |
+
setCurrentId('');
|
223 |
+
}
|
224 |
+
};
|
225 |
+
|
226 |
+
return {
|
227 |
+
handleRunDocumentByIds,
|
228 |
+
loading: isLoading,
|
229 |
+
};
|
230 |
+
};
|
web/src/pages/dataset/dataset/index.tsx
CHANGED
@@ -1,15 +1,32 @@
|
|
|
|
1 |
import ListFilterBar from '@/components/list-filter-bar';
|
2 |
import { Upload } from 'lucide-react';
|
3 |
import { DatasetTable } from './dataset-table';
|
|
|
4 |
|
5 |
export default function Dataset() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
return (
|
7 |
<section className="p-8 text-foreground">
|
8 |
-
<ListFilterBar title="Files">
|
9 |
<Upload />
|
10 |
Upload file
|
11 |
</ListFilterBar>
|
12 |
<DatasetTable></DatasetTable>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
</section>
|
14 |
);
|
15 |
}
|
|
|
1 |
+
import { FileUploadDialog } from '@/components/file-upload-dialog';
|
2 |
import ListFilterBar from '@/components/list-filter-bar';
|
3 |
import { Upload } from 'lucide-react';
|
4 |
import { DatasetTable } from './dataset-table';
|
5 |
+
import { useHandleUploadDocument } from './hooks';
|
6 |
|
7 |
export default function Dataset() {
|
8 |
+
const {
|
9 |
+
documentUploadVisible,
|
10 |
+
hideDocumentUploadModal,
|
11 |
+
showDocumentUploadModal,
|
12 |
+
onDocumentUploadOk,
|
13 |
+
documentUploadLoading,
|
14 |
+
} = useHandleUploadDocument();
|
15 |
return (
|
16 |
<section className="p-8 text-foreground">
|
17 |
+
<ListFilterBar title="Files" showDialog={showDocumentUploadModal}>
|
18 |
<Upload />
|
19 |
Upload file
|
20 |
</ListFilterBar>
|
21 |
<DatasetTable></DatasetTable>
|
22 |
+
|
23 |
+
{documentUploadVisible && (
|
24 |
+
<FileUploadDialog
|
25 |
+
hideModal={hideDocumentUploadModal}
|
26 |
+
onOk={onDocumentUploadOk}
|
27 |
+
loading={documentUploadLoading}
|
28 |
+
></FileUploadDialog>
|
29 |
+
)}
|
30 |
</section>
|
31 |
);
|
32 |
}
|
web/src/pages/datasets/index.tsx
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
import ListFilterBar from '@/components/list-filter-bar';
|
2 |
import { Button } from '@/components/ui/button';
|
3 |
import { Card, CardContent } from '@/components/ui/card';
|
|
|
4 |
import { ChevronRight, MoreHorizontal, Plus } from 'lucide-react';
|
5 |
import { DatasetCreatingDialog } from './dataset-creating-dialog';
|
6 |
import { useSaveKnowledge } from './hooks';
|
@@ -88,6 +89,8 @@ export default function Datasets() {
|
|
88 |
onCreateOk,
|
89 |
loading: creatingLoading,
|
90 |
} = useSaveKnowledge();
|
|
|
|
|
91 |
return (
|
92 |
<section className="p-8 text-foreground">
|
93 |
<ListFilterBar title="Datasets" showDialog={showModal}>
|
@@ -122,7 +125,11 @@ export default function Datasets() {
|
|
122 |
Created {dataset.created}
|
123 |
</p>
|
124 |
</div>
|
125 |
-
<Button
|
|
|
|
|
|
|
|
|
126 |
<ChevronRight className="h-6 w-6" />
|
127 |
</Button>
|
128 |
</div>
|
|
|
1 |
import ListFilterBar from '@/components/list-filter-bar';
|
2 |
import { Button } from '@/components/ui/button';
|
3 |
import { Card, CardContent } from '@/components/ui/card';
|
4 |
+
import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks';
|
5 |
import { ChevronRight, MoreHorizontal, Plus } from 'lucide-react';
|
6 |
import { DatasetCreatingDialog } from './dataset-creating-dialog';
|
7 |
import { useSaveKnowledge } from './hooks';
|
|
|
89 |
onCreateOk,
|
90 |
loading: creatingLoading,
|
91 |
} = useSaveKnowledge();
|
92 |
+
const { navigateToDataset } = useNavigatePage();
|
93 |
+
|
94 |
return (
|
95 |
<section className="p-8 text-foreground">
|
96 |
<ListFilterBar title="Datasets" showDialog={showModal}>
|
|
|
125 |
Created {dataset.created}
|
126 |
</p>
|
127 |
</div>
|
128 |
+
<Button
|
129 |
+
variant="secondary"
|
130 |
+
size="icon"
|
131 |
+
onClick={navigateToDataset}
|
132 |
+
>
|
133 |
<ChevronRight className="h-6 w-6" />
|
134 |
</Button>
|
135 |
</div>
|