commit
0aaa42195f
@ -0,0 +1,25 @@ |
||||
# Logs |
||||
logs |
||||
*.log |
||||
npm-debug.log* |
||||
yarn-debug.log* |
||||
yarn-error.log* |
||||
pnpm-debug.log* |
||||
lerna-debug.log* |
||||
|
||||
node_modules |
||||
dist |
||||
dist.* |
||||
dist-ssr |
||||
*.local |
||||
|
||||
# Editor directories and files |
||||
.vscode/* |
||||
!.vscode/extensions.json |
||||
.idea |
||||
.DS_Store |
||||
*.suo |
||||
*.ntvs* |
||||
*.njsproj |
||||
*.sln |
||||
*.sw? |
@ -0,0 +1,13 @@ |
||||
<!DOCTYPE html> |
||||
<html lang="zh"> |
||||
<head> |
||||
<meta charset="UTF-8" /> |
||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" /> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
||||
<title>Vite + React</title> |
||||
</head> |
||||
<body> |
||||
<div id="root"></div> |
||||
<script type="module" src="/src/main.jsx"></script> |
||||
</body> |
||||
</html> |
@ -0,0 +1,25 @@ |
||||
{ |
||||
"name": "rgv-official-react-2023", |
||||
"private": true, |
||||
"version": "0.0.0", |
||||
"type": "module", |
||||
"scripts": { |
||||
"dev": "vite", |
||||
"start": "vite", |
||||
"build": "vite build", |
||||
"preview": "vite preview" |
||||
}, |
||||
"dependencies": { |
||||
"mobx": "^6.6.2", |
||||
"react": "^18.2.0", |
||||
"react-dom": "^18.2.0", |
||||
"react-router-dom": "^6.4.2", |
||||
"sass": "^1.58.0" |
||||
}, |
||||
"devDependencies": { |
||||
"@types/react": "^18.0.27", |
||||
"@types/react-dom": "^18.0.10", |
||||
"@vitejs/plugin-react": "^3.1.0", |
||||
"vite": "^4.1.0" |
||||
} |
||||
} |
@ -0,0 +1,985 @@ |
||||
lockfileVersion: 5.4 |
||||
|
||||
specifiers: |
||||
'@types/react': ^18.0.27 |
||||
'@types/react-dom': ^18.0.10 |
||||
'@vitejs/plugin-react': ^3.1.0 |
||||
mobx: ^6.6.2 |
||||
react: ^18.2.0 |
||||
react-dom: ^18.2.0 |
||||
react-router-dom: ^6.4.2 |
||||
sass: ^1.58.0 |
||||
vite: ^4.1.0 |
||||
|
||||
dependencies: |
||||
mobx: 6.7.0 |
||||
react: 18.2.0 |
||||
react-dom: 18.2.0_react@18.2.0 |
||||
react-router-dom: 6.8.0_biqbaboplfbrettd7655fr4n2y |
||||
sass: 1.58.0 |
||||
|
||||
devDependencies: |
||||
'@types/react': 18.0.27 |
||||
'@types/react-dom': 18.0.10 |
||||
'@vitejs/plugin-react': 3.1.0_vite@4.1.1 |
||||
vite: 4.1.1_sass@1.58.0 |
||||
|
||||
packages: |
||||
|
||||
/@ampproject/remapping/2.2.0: |
||||
resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} |
||||
engines: {node: '>=6.0.0'} |
||||
dependencies: |
||||
'@jridgewell/gen-mapping': 0.1.1 |
||||
'@jridgewell/trace-mapping': 0.3.17 |
||||
dev: true |
||||
|
||||
/@babel/code-frame/7.18.6: |
||||
resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} |
||||
engines: {node: '>=6.9.0'} |
||||
dependencies: |
||||
'@babel/highlight': 7.18.6 |
||||
dev: true |
||||
|
||||
/@babel/compat-data/7.20.14: |
||||
resolution: {integrity: sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==} |
||||
engines: {node: '>=6.9.0'} |
||||
dev: true |
||||
|
||||
/@babel/core/7.20.12: |
||||
resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==} |
||||
engines: {node: '>=6.9.0'} |
||||
dependencies: |
||||
'@ampproject/remapping': 2.2.0 |
||||
'@babel/code-frame': 7.18.6 |
||||
'@babel/generator': 7.20.14 |
||||
'@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 |
||||
'@babel/helper-module-transforms': 7.20.11 |
||||
'@babel/helpers': 7.20.13 |
||||
'@babel/parser': 7.20.15 |
||||
'@babel/template': 7.20.7 |
||||
'@babel/traverse': 7.20.13 |
||||
'@babel/types': 7.20.7 |
||||
convert-source-map: 1.9.0 |
||||
debug: 4.3.4 |
||||
gensync: 1.0.0-beta.2 |
||||
json5: 2.2.3 |
||||
semver: 6.3.0 |
||||
transitivePeerDependencies: |
||||
- supports-color |
||||
dev: true |
||||
|
||||
/@babel/generator/7.20.14: |
||||
resolution: {integrity: sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==} |
||||
engines: {node: '>=6.9.0'} |
||||
dependencies: |
||||
'@babel/types': 7.20.7 |
||||
'@jridgewell/gen-mapping': 0.3.2 |
||||
jsesc: 2.5.2 |
||||
dev: true |
||||
|
||||
/@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.12: |
||||
resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} |
||||
engines: {node: '>=6.9.0'} |
||||
peerDependencies: |
||||
'@babel/core': ^7.0.0 |
||||
dependencies: |
||||
'@babel/compat-data': 7.20.14 |
||||
'@babel/core': 7.20.12 |
||||
'@babel/helper-validator-option': 7.18.6 |
||||
browserslist: 4.21.5 |
||||
lru-cache: 5.1.1 |
||||
semver: 6.3.0 |
||||
dev: true |
||||
|
||||
/@babel/helper-environment-visitor/7.18.9: |
||||
resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} |
||||
engines: {node: '>=6.9.0'} |
||||
dev: true |
||||
|
||||
/@babel/helper-function-name/7.19.0: |
||||
resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} |
||||
engines: {node: '>=6.9.0'} |
||||
dependencies: |
||||
'@babel/template': 7.20.7 |
||||
'@babel/types': 7.20.7 |
||||
dev: true |
||||
|
||||
/@babel/helper-hoist-variables/7.18.6: |
||||
resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} |
||||
engines: {node: '>=6.9.0'} |
||||
dependencies: |
||||
'@babel/types': 7.20.7 |
||||
dev: true |
||||
|
||||
/@babel/helper-module-imports/7.18.6: |
||||
resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} |
||||
engines: {node: '>=6.9.0'} |
||||
dependencies: |
||||
'@babel/types': 7.20.7 |
||||
dev: true |
||||
|
||||
/@babel/helper-module-transforms/7.20.11: |
||||
resolution: {integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==} |
||||
engines: {node: '>=6.9.0'} |
||||
dependencies: |
||||
'@babel/helper-environment-visitor': 7.18.9 |
||||
'@babel/helper-module-imports': 7.18.6 |
||||
'@babel/helper-simple-access': 7.20.2 |
||||
'@babel/helper-split-export-declaration': 7.18.6 |
||||
'@babel/helper-validator-identifier': 7.19.1 |
||||
'@babel/template': 7.20.7 |
||||
'@babel/traverse': 7.20.13 |
||||
'@babel/types': 7.20.7 |
||||
transitivePeerDependencies: |
||||
- supports-color |
||||
dev: true |
||||
|
||||
/@babel/helper-plugin-utils/7.20.2: |
||||
resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} |
||||
engines: {node: '>=6.9.0'} |
||||
dev: true |
||||
|
||||
/@babel/helper-simple-access/7.20.2: |
||||
resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} |
||||
engines: {node: '>=6.9.0'} |
||||
dependencies: |
||||
'@babel/types': 7.20.7 |
||||
dev: true |
||||
|
||||
/@babel/helper-split-export-declaration/7.18.6: |
||||
resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} |
||||
engines: {node: '>=6.9.0'} |
||||
dependencies: |
||||
'@babel/types': 7.20.7 |
||||
dev: true |
||||
|
||||
/@babel/helper-string-parser/7.19.4: |
||||
resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} |
||||
engines: {node: '>=6.9.0'} |
||||
dev: true |
||||
|
||||
/@babel/helper-validator-identifier/7.19.1: |
||||
resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} |
||||
engines: {node: '>=6.9.0'} |
||||
dev: true |
||||
|
||||
/@babel/helper-validator-option/7.18.6: |
||||
resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} |
||||
engines: {node: '>=6.9.0'} |
||||
dev: true |
||||
|
||||
/@babel/helpers/7.20.13: |
||||
resolution: {integrity: sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==} |
||||
engines: {node: '>=6.9.0'} |
||||
dependencies: |
||||
'@babel/template': 7.20.7 |
||||
'@babel/traverse': 7.20.13 |
||||
'@babel/types': 7.20.7 |
||||
transitivePeerDependencies: |
||||
- supports-color |
||||
dev: true |
||||
|
||||
/@babel/highlight/7.18.6: |
||||
resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} |
||||
engines: {node: '>=6.9.0'} |
||||
dependencies: |
||||
'@babel/helper-validator-identifier': 7.19.1 |
||||
chalk: 2.4.2 |
||||
js-tokens: 4.0.0 |
||||
dev: true |
||||
|
||||
/@babel/parser/7.20.15: |
||||
resolution: {integrity: sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==} |
||||
engines: {node: '>=6.0.0'} |
||||
hasBin: true |
||||
dependencies: |
||||
'@babel/types': 7.20.7 |
||||
dev: true |
||||
|
||||
/@babel/plugin-transform-react-jsx-self/7.18.6_@babel+core@7.20.12: |
||||
resolution: {integrity: sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==} |
||||
engines: {node: '>=6.9.0'} |
||||
peerDependencies: |
||||
'@babel/core': ^7.0.0-0 |
||||
dependencies: |
||||
'@babel/core': 7.20.12 |
||||
'@babel/helper-plugin-utils': 7.20.2 |
||||
dev: true |
||||
|
||||
/@babel/plugin-transform-react-jsx-source/7.19.6_@babel+core@7.20.12: |
||||
resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==} |
||||
engines: {node: '>=6.9.0'} |
||||
peerDependencies: |
||||
'@babel/core': ^7.0.0-0 |
||||
dependencies: |
||||
'@babel/core': 7.20.12 |
||||
'@babel/helper-plugin-utils': 7.20.2 |
||||
dev: true |
||||
|
||||
/@babel/template/7.20.7: |
||||
resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} |
||||
engines: {node: '>=6.9.0'} |
||||
dependencies: |
||||
'@babel/code-frame': 7.18.6 |
||||
'@babel/parser': 7.20.15 |
||||
'@babel/types': 7.20.7 |
||||
dev: true |
||||
|
||||
/@babel/traverse/7.20.13: |
||||
resolution: {integrity: sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==} |
||||
engines: {node: '>=6.9.0'} |
||||
dependencies: |
||||
'@babel/code-frame': 7.18.6 |
||||
'@babel/generator': 7.20.14 |
||||
'@babel/helper-environment-visitor': 7.18.9 |
||||
'@babel/helper-function-name': 7.19.0 |
||||
'@babel/helper-hoist-variables': 7.18.6 |
||||
'@babel/helper-split-export-declaration': 7.18.6 |
||||
'@babel/parser': 7.20.15 |
||||
'@babel/types': 7.20.7 |
||||
debug: 4.3.4 |
||||
globals: 11.12.0 |
||||
transitivePeerDependencies: |
||||
- supports-color |
||||
dev: true |
||||
|
||||
/@babel/types/7.20.7: |
||||
resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==} |
||||
engines: {node: '>=6.9.0'} |
||||
dependencies: |
||||
'@babel/helper-string-parser': 7.19.4 |
||||
'@babel/helper-validator-identifier': 7.19.1 |
||||
to-fast-properties: 2.0.0 |
||||
dev: true |
||||
|
||||
/@esbuild/android-arm/0.16.17: |
||||
resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} |
||||
engines: {node: '>=12'} |
||||
cpu: [arm] |
||||
os: [android] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/android-arm64/0.16.17: |
||||
resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} |
||||
engines: {node: '>=12'} |
||||
cpu: [arm64] |
||||
os: [android] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/android-x64/0.16.17: |
||||
resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} |
||||
engines: {node: '>=12'} |
||||
cpu: [x64] |
||||
os: [android] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/darwin-arm64/0.16.17: |
||||
resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} |
||||
engines: {node: '>=12'} |
||||
cpu: [arm64] |
||||
os: [darwin] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/darwin-x64/0.16.17: |
||||
resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} |
||||
engines: {node: '>=12'} |
||||
cpu: [x64] |
||||
os: [darwin] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/freebsd-arm64/0.16.17: |
||||
resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} |
||||
engines: {node: '>=12'} |
||||
cpu: [arm64] |
||||
os: [freebsd] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/freebsd-x64/0.16.17: |
||||
resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} |
||||
engines: {node: '>=12'} |
||||
cpu: [x64] |
||||
os: [freebsd] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/linux-arm/0.16.17: |
||||
resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} |
||||
engines: {node: '>=12'} |
||||
cpu: [arm] |
||||
os: [linux] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/linux-arm64/0.16.17: |
||||
resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} |
||||
engines: {node: '>=12'} |
||||
cpu: [arm64] |
||||
os: [linux] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/linux-ia32/0.16.17: |
||||
resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} |
||||
engines: {node: '>=12'} |
||||
cpu: [ia32] |
||||
os: [linux] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/linux-loong64/0.16.17: |
||||
resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} |
||||
engines: {node: '>=12'} |
||||
cpu: [loong64] |
||||
os: [linux] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/linux-mips64el/0.16.17: |
||||
resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} |
||||
engines: {node: '>=12'} |
||||
cpu: [mips64el] |
||||
os: [linux] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/linux-ppc64/0.16.17: |
||||
resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} |
||||
engines: {node: '>=12'} |
||||
cpu: [ppc64] |
||||
os: [linux] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/linux-riscv64/0.16.17: |
||||
resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} |
||||
engines: {node: '>=12'} |
||||
cpu: [riscv64] |
||||
os: [linux] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/linux-s390x/0.16.17: |
||||
resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} |
||||
engines: {node: '>=12'} |
||||
cpu: [s390x] |
||||
os: [linux] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/linux-x64/0.16.17: |
||||
resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} |
||||
engines: {node: '>=12'} |
||||
cpu: [x64] |
||||
os: [linux] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/netbsd-x64/0.16.17: |
||||
resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} |
||||
engines: {node: '>=12'} |
||||
cpu: [x64] |
||||
os: [netbsd] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/openbsd-x64/0.16.17: |
||||
resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} |
||||
engines: {node: '>=12'} |
||||
cpu: [x64] |
||||
os: [openbsd] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/sunos-x64/0.16.17: |
||||
resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} |
||||
engines: {node: '>=12'} |
||||
cpu: [x64] |
||||
os: [sunos] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/win32-arm64/0.16.17: |
||||
resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} |
||||
engines: {node: '>=12'} |
||||
cpu: [arm64] |
||||
os: [win32] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/win32-ia32/0.16.17: |
||||
resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} |
||||
engines: {node: '>=12'} |
||||
cpu: [ia32] |
||||
os: [win32] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@esbuild/win32-x64/0.16.17: |
||||
resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} |
||||
engines: {node: '>=12'} |
||||
cpu: [x64] |
||||
os: [win32] |
||||
requiresBuild: true |
||||
dev: true |
||||
optional: true |
||||
|
||||
/@jridgewell/gen-mapping/0.1.1: |
||||
resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} |
||||
engines: {node: '>=6.0.0'} |
||||
dependencies: |
||||
'@jridgewell/set-array': 1.1.2 |
||||
'@jridgewell/sourcemap-codec': 1.4.14 |
||||
dev: true |
||||
|
||||
/@jridgewell/gen-mapping/0.3.2: |
||||
resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} |
||||
engines: {node: '>=6.0.0'} |
||||
dependencies: |
||||
'@jridgewell/set-array': 1.1.2 |
||||
'@jridgewell/sourcemap-codec': 1.4.14 |
||||
'@jridgewell/trace-mapping': 0.3.17 |
||||
dev: true |
||||
|
||||
/@jridgewell/resolve-uri/3.1.0: |
||||
resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} |
||||
engines: {node: '>=6.0.0'} |
||||
dev: true |
||||
|
||||
/@jridgewell/set-array/1.1.2: |
||||
resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} |
||||
engines: {node: '>=6.0.0'} |
||||
dev: true |
||||
|
||||
/@jridgewell/sourcemap-codec/1.4.14: |
||||
resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} |
||||
dev: true |
||||
|
||||
/@jridgewell/trace-mapping/0.3.17: |
||||
resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} |
||||
dependencies: |
||||
'@jridgewell/resolve-uri': 3.1.0 |
||||
'@jridgewell/sourcemap-codec': 1.4.14 |
||||
dev: true |
||||
|
||||
/@remix-run/router/1.3.1: |
||||
resolution: {integrity: sha512-+eun1Wtf72RNRSqgU7qM2AMX/oHp+dnx7BHk1qhK5ZHzdHTUU4LA1mGG1vT+jMc8sbhG3orvsfOmryjzx2PzQw==} |
||||
engines: {node: '>=14'} |
||||
dev: false |
||||
|
||||
/@types/prop-types/15.7.5: |
||||
resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} |
||||
dev: true |
||||
|
||||
/@types/react-dom/18.0.10: |
||||
resolution: {integrity: sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==} |
||||
dependencies: |
||||
'@types/react': 18.0.27 |
||||
dev: true |
||||
|
||||
/@types/react/18.0.27: |
||||
resolution: {integrity: sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==} |
||||
dependencies: |
||||
'@types/prop-types': 15.7.5 |
||||
'@types/scheduler': 0.16.2 |
||||
csstype: 3.1.1 |
||||
dev: true |
||||
|
||||
/@types/scheduler/0.16.2: |
||||
resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} |
||||
dev: true |
||||
|
||||
/@vitejs/plugin-react/3.1.0_vite@4.1.1: |
||||
resolution: {integrity: sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==} |
||||
engines: {node: ^14.18.0 || >=16.0.0} |
||||
peerDependencies: |
||||
vite: ^4.1.0-beta.0 |
||||
dependencies: |
||||
'@babel/core': 7.20.12 |
||||
'@babel/plugin-transform-react-jsx-self': 7.18.6_@babel+core@7.20.12 |
||||
'@babel/plugin-transform-react-jsx-source': 7.19.6_@babel+core@7.20.12 |
||||
magic-string: 0.27.0 |
||||
react-refresh: 0.14.0 |
||||
vite: 4.1.1_sass@1.58.0 |
||||
transitivePeerDependencies: |
||||
- supports-color |
||||
dev: true |
||||
|
||||
/ansi-styles/3.2.1: |
||||
resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} |
||||
engines: {node: '>=4'} |
||||
dependencies: |
||||
color-convert: 1.9.3 |
||||
dev: true |
||||
|
||||
/anymatch/3.1.3: |
||||
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} |
||||
engines: {node: '>= 8'} |
||||
dependencies: |
||||
normalize-path: 3.0.0 |
||||
picomatch: 2.3.1 |
||||
|
||||
/binary-extensions/2.2.0: |
||||
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} |
||||
engines: {node: '>=8'} |
||||
|
||||
/braces/3.0.2: |
||||
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} |
||||
engines: {node: '>=8'} |
||||
dependencies: |
||||
fill-range: 7.0.1 |
||||
|
||||
/browserslist/4.21.5: |
||||
resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} |
||||
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} |
||||
hasBin: true |
||||
dependencies: |
||||
caniuse-lite: 1.0.30001450 |
||||
electron-to-chromium: 1.4.286 |
||||
node-releases: 2.0.9 |
||||
update-browserslist-db: 1.0.10_browserslist@4.21.5 |
||||
dev: true |
||||
|
||||
/caniuse-lite/1.0.30001450: |
||||
resolution: {integrity: sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew==} |
||||
dev: true |
||||
|
||||
/chalk/2.4.2: |
||||
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} |
||||
engines: {node: '>=4'} |
||||
dependencies: |
||||
ansi-styles: 3.2.1 |
||||
escape-string-regexp: 1.0.5 |
||||
supports-color: 5.5.0 |
||||
dev: true |
||||
|
||||
/chokidar/3.5.3: |
||||
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} |
||||
engines: {node: '>= 8.10.0'} |
||||
dependencies: |
||||
anymatch: 3.1.3 |
||||
braces: 3.0.2 |
||||
glob-parent: 5.1.2 |
||||
is-binary-path: 2.1.0 |
||||
is-glob: 4.0.3 |
||||
normalize-path: 3.0.0 |
||||
readdirp: 3.6.0 |
||||
optionalDependencies: |
||||
fsevents: 2.3.2 |
||||
|
||||
/color-convert/1.9.3: |
||||
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} |
||||
dependencies: |
||||
color-name: 1.1.3 |
||||
dev: true |
||||
|
||||
/color-name/1.1.3: |
||||
resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} |
||||
dev: true |
||||
|
||||
/convert-source-map/1.9.0: |
||||
resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} |
||||
dev: true |
||||
|
||||
/csstype/3.1.1: |
||||
resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} |
||||
dev: true |
||||
|
||||
/debug/4.3.4: |
||||
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} |
||||
engines: {node: '>=6.0'} |
||||
peerDependencies: |
||||
supports-color: '*' |
||||
peerDependenciesMeta: |
||||
supports-color: |
||||
optional: true |
||||
dependencies: |
||||
ms: 2.1.2 |
||||
dev: true |
||||
|
||||
/electron-to-chromium/1.4.286: |
||||
resolution: {integrity: sha512-Vp3CVhmYpgf4iXNKAucoQUDcCrBQX3XLBtwgFqP9BUXuucgvAV9zWp1kYU7LL9j4++s9O+12cb3wMtN4SJy6UQ==} |
||||
dev: true |
||||
|
||||
/esbuild/0.16.17: |
||||
resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} |
||||
engines: {node: '>=12'} |
||||
hasBin: true |
||||
requiresBuild: true |
||||
optionalDependencies: |
||||
'@esbuild/android-arm': 0.16.17 |
||||
'@esbuild/android-arm64': 0.16.17 |
||||
'@esbuild/android-x64': 0.16.17 |
||||
'@esbuild/darwin-arm64': 0.16.17 |
||||
'@esbuild/darwin-x64': 0.16.17 |
||||
'@esbuild/freebsd-arm64': 0.16.17 |
||||
'@esbuild/freebsd-x64': 0.16.17 |
||||
'@esbuild/linux-arm': 0.16.17 |
||||
'@esbuild/linux-arm64': 0.16.17 |
||||
'@esbuild/linux-ia32': 0.16.17 |
||||
'@esbuild/linux-loong64': 0.16.17 |
||||
'@esbuild/linux-mips64el': 0.16.17 |
||||
'@esbuild/linux-ppc64': 0.16.17 |
||||
'@esbuild/linux-riscv64': 0.16.17 |
||||
'@esbuild/linux-s390x': 0.16.17 |
||||
'@esbuild/linux-x64': 0.16.17 |
||||
'@esbuild/netbsd-x64': 0.16.17 |
||||
'@esbuild/openbsd-x64': 0.16.17 |
||||
'@esbuild/sunos-x64': 0.16.17 |
||||
'@esbuild/win32-arm64': 0.16.17 |
||||
'@esbuild/win32-ia32': 0.16.17 |
||||
'@esbuild/win32-x64': 0.16.17 |
||||
dev: true |
||||
|
||||
/escalade/3.1.1: |
||||
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} |
||||
engines: {node: '>=6'} |
||||
dev: true |
||||
|
||||
/escape-string-regexp/1.0.5: |
||||
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} |
||||
engines: {node: '>=0.8.0'} |
||||
dev: true |
||||
|
||||
/fill-range/7.0.1: |
||||
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} |
||||
engines: {node: '>=8'} |
||||
dependencies: |
||||
to-regex-range: 5.0.1 |
||||
|
||||
/fsevents/2.3.2: |
||||
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} |
||||
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} |
||||
os: [darwin] |
||||
requiresBuild: true |
||||
optional: true |
||||
|
||||
/function-bind/1.1.1: |
||||
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} |
||||
dev: true |
||||
|
||||
/gensync/1.0.0-beta.2: |
||||
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} |
||||
engines: {node: '>=6.9.0'} |
||||
dev: true |
||||
|
||||
/glob-parent/5.1.2: |
||||
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} |
||||
engines: {node: '>= 6'} |
||||
dependencies: |
||||
is-glob: 4.0.3 |
||||
|
||||
/globals/11.12.0: |
||||
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} |
||||
engines: {node: '>=4'} |
||||
dev: true |
||||
|
||||
/has-flag/3.0.0: |
||||
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} |
||||
engines: {node: '>=4'} |
||||
dev: true |
||||
|
||||
/has/1.0.3: |
||||
resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} |
||||
engines: {node: '>= 0.4.0'} |
||||
dependencies: |
||||
function-bind: 1.1.1 |
||||
dev: true |
||||
|
||||
/immutable/4.2.3: |
||||
resolution: {integrity: sha512-IHpmvaOIX4VLJwPOuQr1NpeBr2ZG6vpIj3blsLVxXRWJscLioaJRStqC+NcBsLeCDsnGlPpXd5/WZmnE7MbsKA==} |
||||
|
||||
/is-binary-path/2.1.0: |
||||
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} |
||||
engines: {node: '>=8'} |
||||
dependencies: |
||||
binary-extensions: 2.2.0 |
||||
|
||||
/is-core-module/2.11.0: |
||||
resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} |
||||
dependencies: |
||||
has: 1.0.3 |
||||
dev: true |
||||
|
||||
/is-extglob/2.1.1: |
||||
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} |
||||
engines: {node: '>=0.10.0'} |
||||
|
||||
/is-glob/4.0.3: |
||||
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} |
||||
engines: {node: '>=0.10.0'} |
||||
dependencies: |
||||
is-extglob: 2.1.1 |
||||
|
||||
/is-number/7.0.0: |
||||
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} |
||||
engines: {node: '>=0.12.0'} |
||||
|
||||
/js-tokens/4.0.0: |
||||
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} |
||||
|
||||
/jsesc/2.5.2: |
||||
resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} |
||||
engines: {node: '>=4'} |
||||
hasBin: true |
||||
dev: true |
||||
|
||||
/json5/2.2.3: |
||||
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} |
||||
engines: {node: '>=6'} |
||||
hasBin: true |
||||
dev: true |
||||
|
||||
/loose-envify/1.4.0: |
||||
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} |
||||
hasBin: true |
||||
dependencies: |
||||
js-tokens: 4.0.0 |
||||
dev: false |
||||
|
||||
/lru-cache/5.1.1: |
||||
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} |
||||
dependencies: |
||||
yallist: 3.1.1 |
||||
dev: true |
||||
|
||||
/magic-string/0.27.0: |
||||
resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} |
||||
engines: {node: '>=12'} |
||||
dependencies: |
||||
'@jridgewell/sourcemap-codec': 1.4.14 |
||||
dev: true |
||||
|
||||
/mobx/6.7.0: |
||||
resolution: {integrity: sha512-1kBLBdSNG2bA522HQdbsTvwAwYf9hq9FWxmlhX7wTsJUAI54907J+ozfGW+LoYUo06vjit748g6QH1AAGLNebw==} |
||||
dev: false |
||||
|
||||
/ms/2.1.2: |
||||
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} |
||||
dev: true |
||||
|
||||
/nanoid/3.3.4: |
||||
resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} |
||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} |
||||
hasBin: true |
||||
dev: true |
||||
|
||||
/node-releases/2.0.9: |
||||
resolution: {integrity: sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==} |
||||
dev: true |
||||
|
||||
/normalize-path/3.0.0: |
||||
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} |
||||
engines: {node: '>=0.10.0'} |
||||
|
||||
/path-parse/1.0.7: |
||||
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} |
||||
dev: true |
||||
|
||||
/picocolors/1.0.0: |
||||
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} |
||||
dev: true |
||||
|
||||
/picomatch/2.3.1: |
||||
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} |
||||
engines: {node: '>=8.6'} |
||||
|
||||
/postcss/8.4.21: |
||||
resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} |
||||
engines: {node: ^10 || ^12 || >=14} |
||||
dependencies: |
||||
nanoid: 3.3.4 |
||||
picocolors: 1.0.0 |
||||
source-map-js: 1.0.2 |
||||
dev: true |
||||
|
||||
/react-dom/18.2.0_react@18.2.0: |
||||
resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} |
||||
peerDependencies: |
||||
react: ^18.2.0 |
||||
dependencies: |
||||
loose-envify: 1.4.0 |
||||
react: 18.2.0 |
||||
scheduler: 0.23.0 |
||||
dev: false |
||||
|
||||
/react-refresh/0.14.0: |
||||
resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} |
||||
engines: {node: '>=0.10.0'} |
||||
dev: true |
||||
|
||||
/react-router-dom/6.8.0_biqbaboplfbrettd7655fr4n2y: |
||||
resolution: {integrity: sha512-hQouduSTywGJndE86CXJ2h7YEy4HYC6C/uh19etM+79FfQ6cFFFHnHyDlzO4Pq0eBUI96E4qVE5yUjA00yJZGQ==} |
||||
engines: {node: '>=14'} |
||||
peerDependencies: |
||||
react: '>=16.8' |
||||
react-dom: '>=16.8' |
||||
dependencies: |
||||
'@remix-run/router': 1.3.1 |
||||
react: 18.2.0 |
||||
react-dom: 18.2.0_react@18.2.0 |
||||
react-router: 6.8.0_react@18.2.0 |
||||
dev: false |
||||
|
||||
/react-router/6.8.0_react@18.2.0: |
||||
resolution: {integrity: sha512-760bk7y3QwabduExtudhWbd88IBbuD1YfwzpuDUAlJUJ7laIIcqhMvdhSVh1Fur1PE8cGl84L0dxhR3/gvHF7A==} |
||||
engines: {node: '>=14'} |
||||
peerDependencies: |
||||
react: '>=16.8' |
||||
dependencies: |
||||
'@remix-run/router': 1.3.1 |
||||
react: 18.2.0 |
||||
dev: false |
||||
|
||||
/react/18.2.0: |
||||
resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} |
||||
engines: {node: '>=0.10.0'} |
||||
dependencies: |
||||
loose-envify: 1.4.0 |
||||
dev: false |
||||
|
||||
/readdirp/3.6.0: |
||||
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} |
||||
engines: {node: '>=8.10.0'} |
||||
dependencies: |
||||
picomatch: 2.3.1 |
||||
|
||||
/resolve/1.22.1: |
||||
resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} |
||||
hasBin: true |
||||
dependencies: |
||||
is-core-module: 2.11.0 |
||||
path-parse: 1.0.7 |
||||
supports-preserve-symlinks-flag: 1.0.0 |
||||
dev: true |
||||
|
||||
/rollup/3.14.0: |
||||
resolution: {integrity: sha512-o23sdgCLcLSe3zIplT9nQ1+r97okuaiR+vmAPZPTDYB7/f3tgWIYNyiQveMsZwshBT0is4eGax/HH83Q7CG+/Q==} |
||||
engines: {node: '>=14.18.0', npm: '>=8.0.0'} |
||||
hasBin: true |
||||
optionalDependencies: |
||||
fsevents: 2.3.2 |
||||
dev: true |
||||
|
||||
/sass/1.58.0: |
||||
resolution: {integrity: sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg==} |
||||
engines: {node: '>=12.0.0'} |
||||
hasBin: true |
||||
dependencies: |
||||
chokidar: 3.5.3 |
||||
immutable: 4.2.3 |
||||
source-map-js: 1.0.2 |
||||
|
||||
/scheduler/0.23.0: |
||||
resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} |
||||
dependencies: |
||||
loose-envify: 1.4.0 |
||||
dev: false |
||||
|
||||
/semver/6.3.0: |
||||
resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} |
||||
hasBin: true |
||||
dev: true |
||||
|
||||
/source-map-js/1.0.2: |
||||
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} |
||||
engines: {node: '>=0.10.0'} |
||||
|
||||
/supports-color/5.5.0: |
||||
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} |
||||
engines: {node: '>=4'} |
||||
dependencies: |
||||
has-flag: 3.0.0 |
||||
dev: true |
||||
|
||||
/supports-preserve-symlinks-flag/1.0.0: |
||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} |
||||
engines: {node: '>= 0.4'} |
||||
dev: true |
||||
|
||||
/to-fast-properties/2.0.0: |
||||
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} |
||||
engines: {node: '>=4'} |
||||
dev: true |
||||
|
||||
/to-regex-range/5.0.1: |
||||
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} |
||||
engines: {node: '>=8.0'} |
||||
dependencies: |
||||
is-number: 7.0.0 |
||||
|
||||
/update-browserslist-db/1.0.10_browserslist@4.21.5: |
||||
resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} |
||||
hasBin: true |
||||
peerDependencies: |
||||
browserslist: '>= 4.21.0' |
||||
dependencies: |
||||
browserslist: 4.21.5 |
||||
escalade: 3.1.1 |
||||
picocolors: 1.0.0 |
||||
dev: true |
||||
|
||||
/vite/4.1.1_sass@1.58.0: |
||||
resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==} |
||||
engines: {node: ^14.18.0 || >=16.0.0} |
||||
hasBin: true |
||||
peerDependencies: |
||||
'@types/node': '>= 14' |
||||
less: '*' |
||||
sass: '*' |
||||
stylus: '*' |
||||
sugarss: '*' |
||||
terser: ^5.4.0 |
||||
peerDependenciesMeta: |
||||
'@types/node': |
||||
optional: true |
||||
less: |
||||
optional: true |
||||
sass: |
||||
optional: true |
||||
stylus: |
||||
optional: true |
||||
sugarss: |
||||
optional: true |
||||
terser: |
||||
optional: true |
||||
dependencies: |
||||
esbuild: 0.16.17 |
||||
postcss: 8.4.21 |
||||
resolve: 1.22.1 |
||||
rollup: 3.14.0 |
||||
sass: 1.58.0 |
||||
optionalDependencies: |
||||
fsevents: 2.3.2 |
||||
dev: true |
||||
|
||||
/yallist/3.1.1: |
||||
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} |
||||
dev: true |
After Width: | Height: | Size: 1.5 KiB |
@ -0,0 +1,14 @@ |
||||
import {useState} from 'react' |
||||
import { useRoutes } from 'react-router-dom' |
||||
import indexRouterList from "@/router" |
||||
|
||||
|
||||
export default function App() { |
||||
const indexRoute = useRoutes(indexRouterList) |
||||
return ( |
||||
<div className="App"> |
||||
{indexRoute} |
||||
</div> |
||||
) |
||||
} |
||||
|
@ -0,0 +1,111 @@ |
||||
:root { |
||||
font-family: Inter, Avenir, Helvetica, Arial, sans-serif; |
||||
font-size: 16px; |
||||
line-height: 24px; |
||||
font-weight: 400; |
||||
|
||||
color-scheme: light dark; |
||||
color: rgba(255, 255, 255, 0.87); |
||||
background-color: #242424; |
||||
|
||||
font-synthesis: none; |
||||
text-rendering: optimizeLegibility; |
||||
-webkit-font-smoothing: antialiased; |
||||
-moz-osx-font-smoothing: grayscale; |
||||
-webkit-text-size-adjust: 100%; |
||||
|
||||
--animate-duration: 900ms; |
||||
--animate-delay: 0.9s; |
||||
} |
||||
|
||||
a { |
||||
font-weight: 500; |
||||
color: #646cff; |
||||
text-decoration: inherit; |
||||
} |
||||
a:hover { |
||||
color: #535bf2; |
||||
} |
||||
|
||||
html,body{ |
||||
height: 100% !important; |
||||
width: 100% !important; |
||||
overflow: hidden; |
||||
} |
||||
#root,.App{ |
||||
height: 100%; |
||||
width: 100%; |
||||
overflow: hidden; |
||||
} |
||||
|
||||
body { |
||||
margin: 0; |
||||
} |
||||
|
||||
h1 { |
||||
font-size: 3.2em; |
||||
line-height: 1.1; |
||||
} |
||||
|
||||
button { |
||||
border-radius: 8px; |
||||
border: 1px solid transparent; |
||||
padding: 0.6em 1.2em; |
||||
font-size: 1em; |
||||
font-weight: 500; |
||||
font-family: inherit; |
||||
background-color: #1a1a1a; |
||||
cursor: pointer; |
||||
transition: border-color 0.25s; |
||||
} |
||||
button:hover { |
||||
border-color: #646cff; |
||||
} |
||||
button:focus, |
||||
button:focus-visible { |
||||
outline: 4px auto -webkit-focus-ring-color; |
||||
} |
||||
|
||||
@media (prefers-color-scheme: light) { |
||||
:root { |
||||
color: #213547; |
||||
background-color: #ffffff; |
||||
} |
||||
a:hover { |
||||
color: #747bff; |
||||
} |
||||
button { |
||||
background-color: #f9f9f9; |
||||
} |
||||
} |
||||
#modalRoot{ |
||||
position: absolute; |
||||
height: 100%; |
||||
width: 100%; |
||||
overflow: hidden; |
||||
top:0; |
||||
left: 0; |
||||
align-items: center; |
||||
justify-content: center; |
||||
display: none; |
||||
backdrop-filter: blur(50px); |
||||
animation: modalRootShow ease-in-out 500ms forwards; |
||||
} |
||||
@keyframes modalRootShow { |
||||
from{ |
||||
background: #33333300; |
||||
} |
||||
to{ |
||||
background: #66666633; |
||||
} |
||||
} |
||||
@keyframes modalRootHide { |
||||
from{ |
||||
background: #33333333; |
||||
} |
||||
to{ |
||||
background: #66666600; |
||||
} |
||||
} |
||||
|
||||
fieldset, img,input,button { border:none; padding:0;margin:0;outline-style:none; } |
After Width: | Height: | Size: 4.0 KiB |
@ -0,0 +1,53 @@ |
||||
import BPEMR from './index.module.scss' |
||||
import {useState, useEffect} from "react"; |
||||
|
||||
export default function Button(props) { |
||||
// console.log(props) |
||||
|
||||
const [size, setSize] = useState(props.size) |
||||
const [type, setType] = useState(props.type) |
||||
const [loading, setLoading] = useState(props.loading) |
||||
const [disable, setDisable] = useState(props.disable) |
||||
if (props.onClick && typeof props.onClick === 'function') { |
||||
|
||||
} else { |
||||
if (props.onClick) { |
||||
throw new Error('onClick必须位函数') |
||||
} |
||||
} |
||||
|
||||
useEffect(() => { |
||||
setSize(props.size ? props.size : 'default') |
||||
setType(props.type ? props.type : 'default') |
||||
setLoading(props.loading ? BPEMR.loading : '') |
||||
setDisable(props.disable ? BPEMR.disable : '') |
||||
}, [props.size, props.type, props.disable, props.loading, props.onClick]) |
||||
|
||||
const sizeOp = { |
||||
default: BPEMR.defaultsize, |
||||
undersize: BPEMR.undersize, |
||||
oversize: BPEMR.oversize, |
||||
} |
||||
const typeOp = { |
||||
default: BPEMR.defaultColor, |
||||
|
||||
error: BPEMR.eColor, |
||||
error2: BPEMR.e2Color, |
||||
error3: BPEMR.e3Color, |
||||
|
||||
success: BPEMR.sColor, |
||||
success2: BPEMR.s3Color, |
||||
success3: BPEMR.s2Color, |
||||
|
||||
warning: BPEMR.wColor, |
||||
warning1: BPEMR.w2Color, |
||||
warning3: BPEMR.w3Color, |
||||
} |
||||
const classname = [BPEMR.BPEMR_button, loading, disable, sizeOp[size], typeOp[type]].join(' ') |
||||
return ( |
||||
<div className={BPEMR.BPEMR_button_box}> |
||||
<div className={classname} style={props.style} title={props.disable ? '当前不可用!' : ''} onClick={!props.disable ? props.onClick : () => { |
||||
}}>{props.children}</div> |
||||
</div> |
||||
) |
||||
} |
@ -0,0 +1,162 @@ |
||||
.BPEMR_button_box{ |
||||
position: relative; |
||||
width: fit-content; |
||||
width: -webkit-fit-content; |
||||
width: -moz-fit-content; |
||||
padding: 5px 0; |
||||
} |
||||
.BPEMR_button { |
||||
position: relative; |
||||
width: fit-content; |
||||
width: -webkit-fit-content; |
||||
width: -moz-fit-content; |
||||
line-height: 2em; |
||||
padding: 0 1em; |
||||
margin: 0.5em 0; |
||||
user-select: none; |
||||
cursor: pointer; |
||||
border-radius: 5px; |
||||
transition: all ease-in-out 200ms; |
||||
color: #fefefe; |
||||
} |
||||
.BPEMR_button.loading{ |
||||
$jump : jump; |
||||
animation: jump .4s ease-in-out infinite alternate; |
||||
@keyframes jump { |
||||
0%{top:0px} |
||||
33%{top:-2px} |
||||
66%{top:-8px} |
||||
100%{top:-10px} |
||||
} |
||||
&{ |
||||
box-shadow: 0 5px 20px -10px #33333399; |
||||
} |
||||
} |
||||
.BPEMR_button.disable{ |
||||
cursor: no-drop; |
||||
&:hover{ |
||||
box-shadow: none !important; |
||||
} |
||||
} |
||||
|
||||
.BPEMR_button.defaultsize { |
||||
font-size: 1rem; |
||||
|
||||
&:hover { |
||||
box-shadow: 0px 0 5px 0px #33333399; |
||||
} |
||||
} |
||||
|
||||
.BPEMR_button.oversize { |
||||
font-size: 1.2rem; |
||||
|
||||
&:hover { |
||||
box-shadow: 0px 0 7px 0px #33333399; |
||||
} |
||||
} |
||||
|
||||
.BPEMR_button.undersize { |
||||
font-size: 0.8rem; |
||||
|
||||
&:hover { |
||||
box-shadow: 0px 0 3px 1px #99999999; |
||||
} |
||||
} |
||||
|
||||
|
||||
.BPEMR_button.defaultColor { |
||||
color: #222831; |
||||
background: #fefefe; |
||||
border: 1px solid #bcbcbc; |
||||
|
||||
&:active { |
||||
background: #fff !important; |
||||
} |
||||
} |
||||
|
||||
.BPEMR_button.eColor { |
||||
background: #E84545; |
||||
background: #ff4d4f; |
||||
border: 1px solid #ff4d4f; |
||||
|
||||
&:active { |
||||
background: #ff4d4fcc !important; |
||||
border: 1px solid #ff4d4fcc !important; |
||||
} |
||||
} |
||||
|
||||
.BPEMR_button.e2Color { |
||||
background: #F6416C; |
||||
border: 1px solid #F6416C; |
||||
&:active { |
||||
background: #F6416Ccc !important; |
||||
border: 1px solid #F6416Ccc !important; |
||||
} |
||||
} |
||||
|
||||
.BPEMR_button.e3Color { |
||||
background: #FF165D; |
||||
border: 1px solid #FF165D; |
||||
&:active { |
||||
background: #E84545ee !important; |
||||
border: 1px solid #E84545cc !important; |
||||
} |
||||
} |
||||
|
||||
.BPEMR_button.sColor { |
||||
background: #17B978; |
||||
border: 1px solid #17B978; |
||||
&:active { |
||||
background: #17B978cc !important; |
||||
border: 1px solid #17B978cc !important; |
||||
} |
||||
} |
||||
|
||||
.BPEMR_button.s2Color { |
||||
background: #3EC1D3; |
||||
border: 1px solid #3EC1D3; |
||||
&:active { |
||||
background: #3EC1D3cc !important; |
||||
border: 1px solid #3EC1D3cc !important; |
||||
} |
||||
} |
||||
|
||||
.BPEMR_button.s3Color { |
||||
background: #00ADB5; |
||||
border: 1px solid #00ADB5; |
||||
&:active { |
||||
background: #00ADB5cc !important; |
||||
border: 1px solid #00ADB5cc !important; |
||||
} |
||||
} |
||||
|
||||
.BPEMR_button.wColor { |
||||
background: #FF9A00; |
||||
border: 1px solid #FF9A00; |
||||
&:active { |
||||
background: #FF9A00cc !important; |
||||
border: 1px solid #FF9A00cc !important; |
||||
} |
||||
} |
||||
|
||||
.BPEMR_button.w2Color { |
||||
background: #FF6F3C; |
||||
border: 1px solid #FF6F3C; |
||||
&:active { |
||||
background: #FF6F3Ccc !important; |
||||
border: 1px solid #FF6F3Ccc !important; |
||||
} |
||||
} |
||||
|
||||
.BPEMR_button.w3Color { |
||||
background: #FFC93C; |
||||
border: 1px solid #FFC93C; |
||||
&:active { |
||||
background: #FFC93Ccc !important; |
||||
border: 1px solid #FFC93Ccc !important; |
||||
} |
||||
} |
||||
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 817 B |
@ -0,0 +1,68 @@ |
||||
import React, { useEffect, useState } from "react"; |
||||
import { createPortal } from "react-dom"; |
||||
import BPEMR from './index.module.scss'; |
||||
import closeSvg from './close.svg' |
||||
|
||||
export default function Dialog(props){ |
||||
const modalRoot = document.body.querySelector('#modalRoot') |
||||
let node = window.document.createElement("div"); |
||||
if(modalRoot){ |
||||
node = modalRoot; |
||||
}else{ |
||||
node.id='modalRoot' |
||||
window.document.body.appendChild(node) |
||||
} |
||||
|
||||
const [state, setState] = useState(props.state) |
||||
if(typeof props.width === 'number' || Number(props.width) != 'NaN'){ |
||||
|
||||
}else{ |
||||
throw new Error('width必须为数字') |
||||
} |
||||
const [width, setWidth] = useState(Number(props.width)) |
||||
|
||||
const [temCloseAnimation, settemCloseAnimation] = useState(BPEMR.temModalShow) |
||||
|
||||
useEffect(() => { |
||||
setState(props.state) |
||||
setWidth(props.width) |
||||
if(state){ |
||||
modalRoot.style.animation = '' |
||||
modalRoot.style.display = 'flex' |
||||
}else{ |
||||
modalRoot.style.display = 'none' |
||||
settemCloseAnimation(BPEMR.temModalShow) |
||||
} |
||||
}) |
||||
|
||||
useEffect(() => { |
||||
modalRoot.style.animation = 'modalRootHide ease-in-out 500ms forwards' |
||||
},[temCloseAnimation]) |
||||
|
||||
|
||||
|
||||
if(!props.close){ |
||||
throw new Error('缺少弹窗关闭参数。') |
||||
}else if(typeof props.close != 'function'){ |
||||
throw new Error('弹窗必须返回关闭程序。') |
||||
} |
||||
|
||||
|
||||
|
||||
function close(){ |
||||
settemCloseAnimation(BPEMR.temModalHide) |
||||
setTimeout(() => { |
||||
props.close(false) |
||||
}, 500) |
||||
} |
||||
|
||||
const className = [BPEMR.BPEMR_Dialog_Tem, temCloseAnimation].join(' ') |
||||
|
||||
return createPortal( |
||||
<div className={className} style={{width:width + 'px', height:width * 0.618 + 'px'}}> |
||||
<div className={BPEMR.close} onClick={close}><img src={closeSvg} alt=""/></div> |
||||
<div>{props.children}</div> |
||||
</div>, |
||||
node |
||||
); |
||||
} |
@ -0,0 +1,64 @@ |
||||
|
||||
$modalShow:modalShow; |
||||
$modalHide:modalHide; |
||||
|
||||
.BPEMR_Dialog_Tem{ |
||||
position:relative; |
||||
background: #fefefe; |
||||
min-width: 10em !important; |
||||
max-width: 90vw !important; |
||||
border-radius: 5px; |
||||
padding: 1.5em; |
||||
box-sizing: border-box; |
||||
overflow: overlay; |
||||
& > .close{ |
||||
position: absolute; |
||||
top:0.5em; |
||||
right: 0.5em; |
||||
width: 1.5em; |
||||
height: 1.5em; |
||||
border-radius: 1.5em; |
||||
cursor: pointer; |
||||
box-shadow: 0px 1px 10px -1px #33333333; |
||||
transition: box-shadow ease-in-out 300ms; |
||||
& > img { |
||||
height: 1.5em; |
||||
} |
||||
&:hover{ |
||||
box-shadow: 1px 1px 10px -3px #333; |
||||
} |
||||
} |
||||
} |
||||
.temModalShow{ |
||||
animation: modalShow ease-in-out 300ms forwards; |
||||
} |
||||
.temModalHide{ |
||||
animation: modalHide ease-in-out 300ms forwards; |
||||
} |
||||
|
||||
@keyframes modalShow { |
||||
0%{ |
||||
transform: scale(0.3); |
||||
box-shadow: 5px 10px 30px -10px #33333300; |
||||
} |
||||
80%{ |
||||
transform: scale(1.1); |
||||
} |
||||
100%{ |
||||
transform: scale(1); |
||||
box-shadow: 5px 10px 30px -10px #333333aa; |
||||
} |
||||
} |
||||
@keyframes modalHide { |
||||
0%{ |
||||
transform: scale(1); |
||||
box-shadow: 5px 10px 30px -10px #333333aa; |
||||
} |
||||
20%{ |
||||
transform: scale(1.1); |
||||
} |
||||
100%{ |
||||
transform: scale(0); |
||||
box-shadow: 5px 10px 30px -10px #33333300; |
||||
} |
||||
} |
@ -0,0 +1,5 @@ |
||||
import icon from '../assets/react.svg' |
||||
export const config = { |
||||
projectName:'西安升帮联创技术服务有限公司', |
||||
icon, |
||||
} |
@ -0,0 +1,38 @@ |
||||
import React from 'react' |
||||
import ReactDOM from 'react-dom/client' |
||||
import {BrowserRouter} from "react-router-dom"; |
||||
import App from './App' |
||||
import './assets/index.css' |
||||
import RouterAuth from "./router/RouterAuth"; |
||||
|
||||
import {config} from "./config/sys22"; |
||||
|
||||
// console.log(config) |
||||
|
||||
document.title = config.projectName |
||||
changeFavicon(config.icon) |
||||
|
||||
ReactDOM.createRoot(document.getElementById('root')).render( |
||||
<React.StrictMode> |
||||
<BrowserRouter> |
||||
<RouterAuth> |
||||
<App/> |
||||
</RouterAuth> |
||||
</BrowserRouter> |
||||
</React.StrictMode> |
||||
) |
||||
|
||||
function changeFavicon(link){ |
||||
let $favicon = document.querySelector('link[rel="icon"]'); |
||||
// If a <link rel="icon"> element already exists, |
||||
// change its href to the given link. |
||||
if ($favicon !== null) { |
||||
$favicon.href = link; |
||||
// Otherwise, create a new element and append it to <head>. |
||||
} else { |
||||
$favicon = document.createElement("link"); |
||||
$favicon.rel = "icon"; |
||||
$favicon.href = link; |
||||
document.head.appendChild($favicon); |
||||
} |
||||
}; |
@ -0,0 +1,15 @@ |
||||
import {useNavigate, useLocation} from "react-router-dom"; |
||||
import {useEffect} from "react"; |
||||
|
||||
export default function RouterAuth(props){ |
||||
const navigate = useNavigate(); |
||||
const location = useLocation(); |
||||
useEffect(() => { |
||||
const path = window.location.pathname |
||||
// console.log(location) |
||||
if(path == '/homes'){ |
||||
navigate('/home') |
||||
} |
||||
}) |
||||
return props.children |
||||
} |
@ -0,0 +1,33 @@ |
||||
import { Navigate } from 'react-router-dom' |
||||
|
||||
import EditPageNew from '@/view/EditPageNew' |
||||
|
||||
export default [ |
||||
// 路由表 |
||||
{ |
||||
path:'/', |
||||
element: <EditPageNew /> |
||||
}, |
||||
// { |
||||
// path:'/signIn', |
||||
// element: <SignIn /> |
||||
// }, |
||||
// { |
||||
// path:'/signUp', |
||||
// element: <SignUp /> |
||||
// }, |
||||
// { |
||||
// path: '/home', |
||||
// element: <Home />, |
||||
// children:[ |
||||
// { |
||||
// path:'setting', |
||||
// element: <Setting /> |
||||
// } |
||||
// ] |
||||
// }, |
||||
// { |
||||
// path: "", |
||||
// element: <Navigate to="home" replace /> |
||||
// } |
||||
] |
@ -0,0 +1,5 @@ |
||||
import UserStore from './userStore' |
||||
import NetStore from "./netStore"; |
||||
|
||||
export const userStore = new UserStore() |
||||
export const netStore = new NetStore() |
@ -0,0 +1,124 @@ |
||||
import {observable, action, computed, makeObservable} from "mobx"; |
||||
import {config} from "@/config/sys22"; |
||||
import {userStore} from "./index"; |
||||
|
||||
import {net} from "@/api"; |
||||
|
||||
|
||||
class NetStore { |
||||
// 系统配置
|
||||
// config = config;
|
||||
|
||||
constructor() { |
||||
// mobx6 和以前版本这是最大的区别
|
||||
makeObservable(this, { |
||||
// config: observable,
|
||||
// name: observable,
|
||||
// sex: observable,
|
||||
// userObj: observable,
|
||||
// setName: action,
|
||||
// titleName: computed
|
||||
}); |
||||
|
||||
} |
||||
|
||||
// 用户名查重
|
||||
checkOnly(data) { |
||||
return new Promise(res => { |
||||
net.get('/will/checkOnly', data).then( |
||||
response => { |
||||
console.log(response) |
||||
res(response.status) |
||||
}, |
||||
e => { |
||||
console.log(e) |
||||
} |
||||
) |
||||
}) |
||||
} |
||||
|
||||
// 登录
|
||||
signIn(data) { |
||||
return new Promise(res => { |
||||
net.post('/will/signIn', data).then( |
||||
response => { |
||||
console.log(response) |
||||
res(response.status) |
||||
if (response.status) { |
||||
userStore.setToken(response.data.token) |
||||
} |
||||
}, |
||||
e => { |
||||
console.log(e) |
||||
} |
||||
) |
||||
}) |
||||
} |
||||
|
||||
// 发送验证码
|
||||
sendCode(data, type = 'signIn') { |
||||
return new Promise(res => { |
||||
net.get('/will/sendCode', { |
||||
...data, |
||||
type |
||||
}).then( |
||||
response => { |
||||
console.log(response) |
||||
res(response.status) |
||||
}, |
||||
e => { |
||||
console.log(e) |
||||
} |
||||
) |
||||
}) |
||||
} |
||||
|
||||
// 注册
|
||||
signUp(data){ |
||||
return new Promise(res => { |
||||
net.post('/will/signUp', data).then( |
||||
response => { |
||||
console.log(response) |
||||
res(response.status) |
||||
if (response.status) { |
||||
userStore.setToken(response.data.token) |
||||
} |
||||
}, |
||||
e => { |
||||
console.log(e) |
||||
} |
||||
) |
||||
}) |
||||
} |
||||
|
||||
// 获取用户信息
|
||||
getUserInfo(){ |
||||
return new Promise(res => { |
||||
net.get('/signed/getuserInfo').then( |
||||
response => { |
||||
res(response.data) |
||||
}, |
||||
e => { |
||||
console.log(e) |
||||
} |
||||
) |
||||
}) |
||||
} |
||||
|
||||
// setName(v) {
|
||||
// console.log('触发action');
|
||||
// this.name = v;
|
||||
// }
|
||||
// setUserObj(obj) {
|
||||
// this.userObj = obj;
|
||||
// }
|
||||
//
|
||||
// get titleName(){
|
||||
// return this.name+'___111';
|
||||
// }
|
||||
// get userObject() {
|
||||
// return this.userObj;
|
||||
// }
|
||||
} |
||||
|
||||
export default NetStore |
@ -0,0 +1,123 @@ |
||||
import { observable, action, computed, makeObservable} from "mobx"; |
||||
import {config} from "@/config/sys22"; |
||||
import {netStore} from "./index"; |
||||
|
||||
|
||||
class UserStore { |
||||
// 系统配置
|
||||
config = config; |
||||
// Token
|
||||
token = null; |
||||
// 登陆时的注册名称
|
||||
signInUsername = null; |
||||
// home页跳转状态
|
||||
homePageGotoStatus = true; |
||||
// 用户信息
|
||||
userInfo = null; |
||||
|
||||
|
||||
|
||||
name = 'kangkang000'; |
||||
sex = '男'; |
||||
userObj = { |
||||
name: 'kangkang000', |
||||
age: 23, |
||||
token: '12345689' |
||||
} |
||||
|
||||
constructor() { |
||||
// mobx6 和以前版本这是最大的区别
|
||||
makeObservable(this, { |
||||
config: observable, |
||||
token:observable, |
||||
signInUsername:observable, |
||||
homePageGotoStatus:observable, |
||||
userInfo:observable, |
||||
|
||||
name: observable, |
||||
sex: observable, |
||||
userObj: observable, |
||||
setName: action, |
||||
titleName: computed |
||||
}); |
||||
|
||||
} |
||||
|
||||
// 设置Token
|
||||
setToken(token){ |
||||
window.localStorage.setItem('token',token) |
||||
this.token = token |
||||
} |
||||
// 获取Token
|
||||
get token(){ |
||||
if(!this.token){ |
||||
this.token = window.localStorage.getItem('token') |
||||
return this.token |
||||
}else{ |
||||
return this.token |
||||
} |
||||
} |
||||
|
||||
// 设置SignInUsername
|
||||
setSignInUsername(username){ |
||||
this.signInUsername = username |
||||
} |
||||
get signInUsername(){ |
||||
return this.signInUsername |
||||
} |
||||
|
||||
// 设置home页跳转状态
|
||||
setHomePageGotoStatus(state){ |
||||
this.homePageGotoStatus = state |
||||
} |
||||
get homePageGotoStatus(){ |
||||
return this.homePageGotoStatus |
||||
} |
||||
|
||||
// 获取用户信息
|
||||
getUserInfo(){ |
||||
return new Promise(async res => { |
||||
this.userInfo = window.localStorage.getItem('userInfo') |
||||
if(!this.userInfo){ |
||||
res(await this.setUserInfo()) |
||||
}else{ |
||||
res(JSON.parse(this.userInfo)) |
||||
} |
||||
|
||||
}) |
||||
} |
||||
// 强制刷新UserInfo
|
||||
setUserInfo(){ |
||||
return new Promise(async res => { |
||||
netStore.getUserInfo().then( |
||||
resp => { |
||||
window.localStorage.setItem('userInfo',JSON.stringify(resp)) |
||||
console.log(resp) |
||||
res(resp) |
||||
}, |
||||
e => { |
||||
console.log(e); |
||||
} |
||||
) |
||||
}) |
||||
} |
||||
|
||||
|
||||
|
||||
setName(v) { |
||||
console.log('触发action'); |
||||
this.name = v; |
||||
} |
||||
setUserObj(obj) { |
||||
this.userObj = obj; |
||||
} |
||||
|
||||
get titleName(){ |
||||
return this.name+'___111'; |
||||
} |
||||
get userObject() { |
||||
return this.userObj; |
||||
} |
||||
} |
||||
|
||||
export default UserStore |
@ -0,0 +1,3 @@ |
||||
export default function EditPageNew(){ |
||||
return <div>Edit</div> |
||||
} |
@ -0,0 +1,28 @@ |
||||
import {defineConfig} from 'vite' |
||||
import react from '@vitejs/plugin-react' |
||||
import {resolve} from "path"; |
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig({ |
||||
plugins: [react()], |
||||
resolve: { |
||||
alias: [ |
||||
{ |
||||
find: '@', |
||||
replacement: resolve(__dirname, 'src') |
||||
}, |
||||
] |
||||
}, |
||||
server: { |
||||
proxy: { |
||||
'/api': { // 匹配请求路径,localhost:3000/snow
|
||||
target: 'http://localhost:3000', // 代理的目标地址
|
||||
changeOrigin: true, // 开发模式,默认的origin是真实的 origin:localhost:3000 代理服务会把origin修改为目标地址
|
||||
// secure: true, // 是否https接口
|
||||
// ws: true, // 是否代理websockets
|
||||
// rewrite target目标地址 + '/abc',如果接口是这样的,那么不用重写
|
||||
// rewrite: (path) => path.replace(/^\/snow/, '') // 路径重写,本项目不需要重写
|
||||
} |
||||
} |
||||
}, |
||||
}) |
Loading…
Reference in new issue