new stage
This commit is contained in:
parent
70bf9fa5b5
commit
10909a1122
511
web/package-lock.json
generated
511
web/package-lock.json
generated
@ -12,14 +12,15 @@
|
|||||||
"@emotion/styled": "^11.14.1",
|
"@emotion/styled": "^11.14.1",
|
||||||
"@mui/material": "^9.0.1",
|
"@mui/material": "^9.0.1",
|
||||||
"@mui/x-tree-view": "^9.1.0",
|
"@mui/x-tree-view": "^9.1.0",
|
||||||
"axios": "^1.16.1",
|
"axios": "^1.9.0",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
"material-react-table": "^3.2.1",
|
"material-react-table": "^3.2.1",
|
||||||
"react": "^18.3.1",
|
"react": "^18.3.1",
|
||||||
"react-daisyui": "^5.0.5",
|
"react-daisyui": "^5.0.5",
|
||||||
"react-dom": "^18.3.1",
|
"react-dom": "^18.2.0",
|
||||||
"react-router-dom": "^7.15.1",
|
"react-router": "^6.30.0",
|
||||||
"react-toastify": "^11.1.0"
|
"react-router-dom": "^6.30.0",
|
||||||
|
"react-toastify": "^11.0.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "1.9.4",
|
"@biomejs/biome": "1.9.4",
|
||||||
@ -45,12 +46,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/code-frame": {
|
"node_modules/@babel/code-frame": {
|
||||||
"version": "7.29.0",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz",
|
||||||
"integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
|
"integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-validator-identifier": "^7.28.5",
|
"@babel/helper-validator-identifier": "^7.29.7",
|
||||||
"js-tokens": "^4.0.0",
|
"js-tokens": "^4.0.0",
|
||||||
"picocolors": "^1.1.1"
|
"picocolors": "^1.1.1"
|
||||||
},
|
},
|
||||||
@ -59,13 +60,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/generator": {
|
"node_modules/@babel/generator": {
|
||||||
"version": "7.29.1",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz",
|
||||||
"integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
|
"integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.29.0",
|
"@babel/parser": "^7.29.7",
|
||||||
"@babel/types": "^7.29.0",
|
"@babel/types": "^7.29.7",
|
||||||
"@jridgewell/gen-mapping": "^0.3.12",
|
"@jridgewell/gen-mapping": "^0.3.12",
|
||||||
"@jridgewell/trace-mapping": "^0.3.28",
|
"@jridgewell/trace-mapping": "^0.3.28",
|
||||||
"jsesc": "^3.0.2"
|
"jsesc": "^3.0.2"
|
||||||
@ -75,52 +76,52 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-globals": {
|
"node_modules/@babel/helper-globals": {
|
||||||
"version": "7.28.0",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz",
|
||||||
"integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
|
"integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-module-imports": {
|
"node_modules/@babel/helper-module-imports": {
|
||||||
"version": "7.28.6",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz",
|
||||||
"integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
|
"integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/traverse": "^7.28.6",
|
"@babel/traverse": "^7.29.7",
|
||||||
"@babel/types": "^7.28.6"
|
"@babel/types": "^7.29.7"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-string-parser": {
|
"node_modules/@babel/helper-string-parser": {
|
||||||
"version": "7.27.1",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz",
|
||||||
"integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
|
"integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-validator-identifier": {
|
"node_modules/@babel/helper-validator-identifier": {
|
||||||
"version": "7.28.5",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz",
|
||||||
"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
|
"integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/parser": {
|
"node_modules/@babel/parser": {
|
||||||
"version": "7.29.3",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz",
|
||||||
"integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==",
|
"integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/types": "^7.29.0"
|
"@babel/types": "^7.29.7"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"parser": "bin/babel-parser.js"
|
"parser": "bin/babel-parser.js"
|
||||||
@ -130,40 +131,40 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/runtime": {
|
"node_modules/@babel/runtime": {
|
||||||
"version": "7.29.2",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz",
|
||||||
"integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==",
|
"integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/template": {
|
"node_modules/@babel/template": {
|
||||||
"version": "7.28.6",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz",
|
||||||
"integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
|
"integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.28.6",
|
"@babel/code-frame": "^7.29.7",
|
||||||
"@babel/parser": "^7.28.6",
|
"@babel/parser": "^7.29.7",
|
||||||
"@babel/types": "^7.28.6"
|
"@babel/types": "^7.29.7"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/traverse": {
|
"node_modules/@babel/traverse": {
|
||||||
"version": "7.29.0",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz",
|
||||||
"integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
|
"integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.29.0",
|
"@babel/code-frame": "^7.29.7",
|
||||||
"@babel/generator": "^7.29.0",
|
"@babel/generator": "^7.29.7",
|
||||||
"@babel/helper-globals": "^7.28.0",
|
"@babel/helper-globals": "^7.29.7",
|
||||||
"@babel/parser": "^7.29.0",
|
"@babel/parser": "^7.29.7",
|
||||||
"@babel/template": "^7.28.6",
|
"@babel/template": "^7.29.7",
|
||||||
"@babel/types": "^7.29.0",
|
"@babel/types": "^7.29.7",
|
||||||
"debug": "^4.3.1"
|
"debug": "^4.3.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -171,22 +172,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/types": {
|
"node_modules/@babel/types": {
|
||||||
"version": "7.29.0",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz",
|
||||||
"integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
|
"integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-string-parser": "^7.27.1",
|
"@babel/helper-string-parser": "^7.29.7",
|
||||||
"@babel/helper-validator-identifier": "^7.28.5"
|
"@babel/helper-validator-identifier": "^7.29.7"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@base-ui/utils": {
|
"node_modules/@base-ui/utils": {
|
||||||
"version": "0.2.8",
|
"version": "0.2.9",
|
||||||
"resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.8.tgz",
|
"resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz",
|
||||||
"integrity": "sha512-jvOi+c+ftGlGotNcKnzPVg2IhCaDTB6/6R3JeqdjdXktuAJi3wKH9T7+svuaKh1mmfVU11UWzUZVH74JDfi/wQ==",
|
"integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.29.2",
|
"@babel/runtime": "^7.29.2",
|
||||||
@ -370,21 +371,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@emnapi/core": {
|
"node_modules/@emnapi/core": {
|
||||||
"version": "1.10.0",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz",
|
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz",
|
||||||
"integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==",
|
"integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@emnapi/wasi-threads": "1.2.1",
|
"@emnapi/wasi-threads": "1.2.2",
|
||||||
"tslib": "^2.4.0"
|
"tslib": "^2.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@emnapi/runtime": {
|
"node_modules/@emnapi/runtime": {
|
||||||
"version": "1.10.0",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz",
|
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz",
|
||||||
"integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==",
|
"integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
@ -393,9 +394,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@emnapi/wasi-threads": {
|
"node_modules/@emnapi/wasi-threads": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz",
|
||||||
"integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==",
|
"integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
@ -650,9 +651,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mui/core-downloads-tracker": {
|
"node_modules/@mui/core-downloads-tracker": {
|
||||||
"version": "9.0.1",
|
"version": "9.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-9.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-9.1.1.tgz",
|
||||||
"integrity": "sha512-GzamIIhZ1bH77dq7eKaeyRgJdkypsxin4jBFq2EMs4lBWRR0LFO1CSVMsoebn/VvjcNrnrOrjy48MkrkQUK2iw==",
|
"integrity": "sha512-AupmMICbdJHqAh6FfOMaaiiIr7dfEgZJn5DFfiPuGNrbs+ZZy9cD1APwO0TSVBz5j08MJEEY6n7iC76/2wjMEA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
@ -660,9 +661,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mui/icons-material": {
|
"node_modules/@mui/icons-material": {
|
||||||
"version": "9.0.1",
|
"version": "9.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-9.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-9.1.1.tgz",
|
||||||
"integrity": "sha512-5PRpQjVLTNLyV/2J9J53Yz4R0tVbodG0BQDN2zQI1QBG1OPYM25ar+4N20eyFOfJT6zKglLzsnU70+zdVLaTkw==",
|
"integrity": "sha512-OXhm9DajemStb58AumM06DuPhHTa3XD36TFD4yf6WtJyNRO5DfEZbbnHlBg/US2Y2oOXwM/XurMTBOD6L/YYZw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -676,7 +677,7 @@
|
|||||||
"url": "https://opencollective.com/mui-org"
|
"url": "https://opencollective.com/mui-org"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@mui/material": "^9.0.1",
|
"@mui/material": "^9.1.1",
|
||||||
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||||
"react": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
"react": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
||||||
},
|
},
|
||||||
@ -687,22 +688,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mui/material": {
|
"node_modules/@mui/material": {
|
||||||
"version": "9.0.1",
|
"version": "9.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/material/-/material-9.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/material/-/material-9.1.1.tgz",
|
||||||
"integrity": "sha512-voyCpeUxcSWLN7KPZuq0pGCIt726T9K6kiVM3XUcywZDAlZSarLHaUxJVQpospbjjOzN53hwyjo8s6KoWl6utw==",
|
"integrity": "sha512-Wv+gInjrpf99l1Q0oHe0eOWGTnlbkzs5nowClX65KCT/2fyPMwcbFEEkUsOHdpcHhB5UAbz/d7jlwt5ajWVvlA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.29.2",
|
"@babel/runtime": "^7.29.2",
|
||||||
"@mui/core-downloads-tracker": "^9.0.1",
|
"@mui/core-downloads-tracker": "^9.1.1",
|
||||||
"@mui/system": "^9.0.1",
|
"@mui/system": "^9.1.1",
|
||||||
"@mui/types": "^9.0.0",
|
"@mui/types": "^9.1.1",
|
||||||
"@mui/utils": "^9.0.1",
|
"@mui/utils": "^9.1.1",
|
||||||
"@popperjs/core": "^2.11.8",
|
"@popperjs/core": "^2.11.8",
|
||||||
"@types/react-transition-group": "^4.4.12",
|
"@types/react-transition-group": "^4.4.12",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"csstype": "^3.2.3",
|
"csstype": "^3.2.3",
|
||||||
"prop-types": "^15.8.1",
|
"prop-types": "^15.8.1",
|
||||||
"react-is": "^19.2.4",
|
"react-is": "^19.2.6",
|
||||||
"react-transition-group": "^4.4.5"
|
"react-transition-group": "^4.4.5"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -715,7 +716,7 @@
|
|||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@emotion/react": "^11.5.0",
|
"@emotion/react": "^11.5.0",
|
||||||
"@emotion/styled": "^11.3.0",
|
"@emotion/styled": "^11.3.0",
|
||||||
"@mui/material-pigment-css": "^9.0.1",
|
"@mui/material-pigment-css": "^9.1.1",
|
||||||
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||||
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||||
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
||||||
@ -736,13 +737,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mui/private-theming": {
|
"node_modules/@mui/private-theming": {
|
||||||
"version": "9.0.1",
|
"version": "9.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-9.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-9.1.1.tgz",
|
||||||
"integrity": "sha512-pSIGq4Yw749KHEwlkYZWVERgHgwJELP6ODtBNUfV8V4oIb5H+h7IQDFXuk/b2oQccODK1enJAtiEzlgLZmq+8g==",
|
"integrity": "sha512-oH6c+d6sJ1CZT0Vg2/fHdUQ5zvo9Pn+f+WWk0tlQliHqqIRdN32DZ7UxjalW3LUj4OkHbdWR31biWuLxK9i7Cg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.29.2",
|
"@babel/runtime": "^7.29.2",
|
||||||
"@mui/utils": "^9.0.1",
|
"@mui/utils": "^9.1.1",
|
||||||
"prop-types": "^15.8.1"
|
"prop-types": "^15.8.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -763,9 +764,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mui/styled-engine": {
|
"node_modules/@mui/styled-engine": {
|
||||||
"version": "9.0.0",
|
"version": "9.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-9.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-9.1.1.tgz",
|
||||||
"integrity": "sha512-9RLGdX4Jg0aQPRuvqh/OLzYSPlgd5zyEw5/1HIRfdavSiOd03WtUaGZH9/w1RoTYuRKwpgy0hpIFaMHIqPVIWg==",
|
"integrity": "sha512-neaYKdJfvEG54q8efHLJR7swpHG/gfSv9xGqW5iTSMsubD7yPCPFrhVBt284j1DOF3uZaaDJSHQL7gz6jGF21Q==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.29.2",
|
"@babel/runtime": "^7.29.2",
|
||||||
@ -797,16 +798,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mui/system": {
|
"node_modules/@mui/system": {
|
||||||
"version": "9.0.1",
|
"version": "9.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/system/-/system-9.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/system/-/system-9.1.1.tgz",
|
||||||
"integrity": "sha512-WvlioaLxk6ewUIOfh0StxUvOPDS1mCfzaulcudsL1brZNXuh0N9FMk7RpH7ImJKjEz412SEy/V/yvqmtxbqxCQ==",
|
"integrity": "sha512-q+aqNa58QZUwmmyUvJKKrStrej+4BcWFw4M0Ug+zRylPIQgR64cqvBnE3QTfLZm4OXulydp8Hl3zwKxMayrdsA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.29.2",
|
"@babel/runtime": "^7.29.2",
|
||||||
"@mui/private-theming": "^9.0.1",
|
"@mui/private-theming": "^9.1.1",
|
||||||
"@mui/styled-engine": "^9.0.0",
|
"@mui/styled-engine": "^9.1.1",
|
||||||
"@mui/types": "^9.0.0",
|
"@mui/types": "^9.1.1",
|
||||||
"@mui/utils": "^9.0.1",
|
"@mui/utils": "^9.1.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"csstype": "^3.2.3",
|
"csstype": "^3.2.3",
|
||||||
"prop-types": "^15.8.1"
|
"prop-types": "^15.8.1"
|
||||||
@ -837,9 +838,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mui/types": {
|
"node_modules/@mui/types": {
|
||||||
"version": "9.0.0",
|
"version": "9.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/types/-/types-9.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/types/-/types-9.1.1.tgz",
|
||||||
"integrity": "sha512-i1cuFCAWN44b3AJWO7mh7tuh1sqbQSeVr/94oG0TX5uXivac8XalgE4/6fQZcmGZigzbQ35IXxj/4jLpRIBYZg==",
|
"integrity": "sha512-Zjt7u8wNvDg40rPTGoL+TnfkpuSKjwubsNSFRH1KAVZLcaV4I3AFNHIFbvH7p4F3alEibSbdd90xAgn5Rnfndg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.29.2"
|
"@babel/runtime": "^7.29.2"
|
||||||
@ -854,17 +855,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mui/utils": {
|
"node_modules/@mui/utils": {
|
||||||
"version": "9.0.1",
|
"version": "9.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-9.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-9.1.1.tgz",
|
||||||
"integrity": "sha512-f3UO3jNN1pYg5zxqXC81Bvv8hx5ACcYc0387382ZI7M5ono1heIwHYLrKsz85myguWdeVKPRZGmDdynWUBjK2g==",
|
"integrity": "sha512-qSNfnkzZMptaaWFFklpDf4NPJztgwsMDVfM/sSDt+wq4ssYSBhLYwwjuB6eS/+p2IUYbeRzHluzXbw0Zn7aI4A==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.29.2",
|
"@babel/runtime": "^7.29.2",
|
||||||
"@mui/types": "^9.0.0",
|
"@mui/types": "^9.1.1",
|
||||||
"@types/prop-types": "^15.7.15",
|
"@types/prop-types": "^15.7.15",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"prop-types": "^15.8.1",
|
"prop-types": "^15.8.1",
|
||||||
"react-is": "^19.2.4"
|
"react-is": "^19.2.6"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.0.0"
|
"node": ">=14.0.0"
|
||||||
@ -884,13 +885,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mui/x-date-pickers": {
|
"node_modules/@mui/x-date-pickers": {
|
||||||
"version": "9.2.0",
|
"version": "9.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-9.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-9.5.0.tgz",
|
||||||
"integrity": "sha512-4GMal3xvHSKs+Ajv1PwbakWas79DDh6KlsSr9sjJhSINaST6dAPsIQblX5mSOmR7c4Du1Aemhqeiwo3L0CwNzQ==",
|
"integrity": "sha512-Pzd8gU2qOoIAUMMesjbrq3gFs6akWXcSsEkFIHVA4dtuoh6SeWISu+WR+ymq/sBOcn2tk9IBIjqRQkqLhkm+tg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.29.2",
|
"@babel/runtime": "^7.29.7",
|
||||||
"@mui/utils": "9.0.1",
|
"@mui/utils": "9.0.1",
|
||||||
"@mui/x-internals": "^9.1.0",
|
"@mui/x-internals": "^9.1.0",
|
||||||
"@types/react-transition-group": "^4.4.12",
|
"@types/react-transition-group": "^4.4.12",
|
||||||
@ -950,6 +951,37 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@mui/x-date-pickers/node_modules/@mui/utils": {
|
||||||
|
"version": "9.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-9.0.1.tgz",
|
||||||
|
"integrity": "sha512-f3UO3jNN1pYg5zxqXC81Bvv8hx5ACcYc0387382ZI7M5ono1heIwHYLrKsz85myguWdeVKPRZGmDdynWUBjK2g==",
|
||||||
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/runtime": "^7.29.2",
|
||||||
|
"@mui/types": "^9.0.0",
|
||||||
|
"@types/prop-types": "^15.7.15",
|
||||||
|
"clsx": "^2.1.1",
|
||||||
|
"prop-types": "^15.8.1",
|
||||||
|
"react-is": "^19.2.4"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/mui-org"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||||
|
"react": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@types/react": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@mui/x-internals": {
|
"node_modules/@mui/x-internals": {
|
||||||
"version": "9.1.0",
|
"version": "9.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-9.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-9.1.0.tgz",
|
||||||
@ -1003,14 +1035,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mui/x-tree-view": {
|
"node_modules/@mui/x-tree-view": {
|
||||||
"version": "9.1.0",
|
"version": "9.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/x-tree-view/-/x-tree-view-9.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/x-tree-view/-/x-tree-view-9.4.0.tgz",
|
||||||
"integrity": "sha512-Pht6/VS5cmKBCKr7MfbvS+XY4vPKpzDEKZVaSpUiv4ClnSsm9kJeSbzziA1MM1yeEmJx40XyNqZKUCslLO76kw==",
|
"integrity": "sha512-tJ4txQCwadY7Yj1LDhgtV4gjc0KCHdTWTPh/ynUj7BJ7aKqOzblXZzur0GLjyLJUhauBvotaF4LpzRxrjsPu5g==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.29.2",
|
"@babel/runtime": "^7.29.7",
|
||||||
"@base-ui/utils": "^0.2.8",
|
"@base-ui/utils": "^0.2.9",
|
||||||
"@mui/utils": "9.0.0",
|
"@mui/utils": "9.0.1",
|
||||||
"@mui/x-internals": "^9.1.0",
|
"@mui/x-internals": "^9.1.0",
|
||||||
"@types/react-transition-group": "^4.4.12",
|
"@types/react-transition-group": "^4.4.12",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
@ -1042,9 +1074,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mui/x-tree-view/node_modules/@mui/utils": {
|
"node_modules/@mui/x-tree-view/node_modules/@mui/utils": {
|
||||||
"version": "9.0.0",
|
"version": "9.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-9.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-9.0.1.tgz",
|
||||||
"integrity": "sha512-bQcqyg/gjULUqTuyUjSAFr6LQGLvtkNtDbJerAtoUn9kGZ0hg5QJiN1PLHMLbeFpe3te1831uq7GFl2ITokGdg==",
|
"integrity": "sha512-f3UO3jNN1pYg5zxqXC81Bvv8hx5ACcYc0387382ZI7M5ono1heIwHYLrKsz85myguWdeVKPRZGmDdynWUBjK2g==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.29.2",
|
"@babel/runtime": "^7.29.2",
|
||||||
@ -1129,6 +1161,15 @@
|
|||||||
"url": "https://opencollective.com/popperjs"
|
"url": "https://opencollective.com/popperjs"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@remix-run/router": {
|
||||||
|
"version": "1.23.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.3.tgz",
|
||||||
|
"integrity": "sha512-4An71tdz9X8+3sI4Qqqd2LWd9vS39J7sqd9EU4Scw7TJE/qB10Flv/UuqbPVgfQV9XoK8Np6jNquZitnZq5i+Q==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@rsbuild/core": {
|
"node_modules/@rsbuild/core": {
|
||||||
"version": "1.7.5",
|
"version": "1.7.5",
|
||||||
"resolved": "https://registry.npmjs.org/@rsbuild/core/-/core-1.7.5.tgz",
|
"resolved": "https://registry.npmjs.org/@rsbuild/core/-/core-1.7.5.tgz",
|
||||||
@ -1169,28 +1210,28 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding": {
|
"node_modules/@rspack/binding": {
|
||||||
"version": "1.7.11",
|
"version": "1.7.12",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.7.11.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.7.12.tgz",
|
||||||
"integrity": "sha512-2MGdy2s2HimsDT444Bp5XnALzNRxuBNc7y0JzyuqKbHBywd4x2NeXyhWXXoxufaCFu5PBc9Qq9jyfjW2Aeh06Q==",
|
"integrity": "sha512-f4HHuLbvuld8Ba4iB/4ibse5XrKxFrgmM3S4P2AOKnPlekAFlBjmltCuaTL/W2ggYvILaVY+YcFXrEH1rrKeQA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@rspack/binding-darwin-arm64": "1.7.11",
|
"@rspack/binding-darwin-arm64": "1.7.12",
|
||||||
"@rspack/binding-darwin-x64": "1.7.11",
|
"@rspack/binding-darwin-x64": "1.7.12",
|
||||||
"@rspack/binding-linux-arm64-gnu": "1.7.11",
|
"@rspack/binding-linux-arm64-gnu": "1.7.12",
|
||||||
"@rspack/binding-linux-arm64-musl": "1.7.11",
|
"@rspack/binding-linux-arm64-musl": "1.7.12",
|
||||||
"@rspack/binding-linux-x64-gnu": "1.7.11",
|
"@rspack/binding-linux-x64-gnu": "1.7.12",
|
||||||
"@rspack/binding-linux-x64-musl": "1.7.11",
|
"@rspack/binding-linux-x64-musl": "1.7.12",
|
||||||
"@rspack/binding-wasm32-wasi": "1.7.11",
|
"@rspack/binding-wasm32-wasi": "1.7.12",
|
||||||
"@rspack/binding-win32-arm64-msvc": "1.7.11",
|
"@rspack/binding-win32-arm64-msvc": "1.7.12",
|
||||||
"@rspack/binding-win32-ia32-msvc": "1.7.11",
|
"@rspack/binding-win32-ia32-msvc": "1.7.12",
|
||||||
"@rspack/binding-win32-x64-msvc": "1.7.11"
|
"@rspack/binding-win32-x64-msvc": "1.7.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-darwin-arm64": {
|
"node_modules/@rspack/binding-darwin-arm64": {
|
||||||
"version": "1.7.11",
|
"version": "1.7.12",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.7.11.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.7.12.tgz",
|
||||||
"integrity": "sha512-oduECiZVqbO5zlVw+q7Vy65sJFth99fWPTyucwvLJJtJkPL5n17Uiql2cYP6Ijn0pkqtf1SXgK8WjiKLG5bIig==",
|
"integrity": "sha512-rbFprJaJiqrmfy8SHth8EsoRS0wg4bXcucwj9NiMzpGFq14Opw8c04iQ6H9BECYzgmN0PKZ9rh41LdVvhdZe4A==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@ -1202,9 +1243,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-darwin-x64": {
|
"node_modules/@rspack/binding-darwin-x64": {
|
||||||
"version": "1.7.11",
|
"version": "1.7.12",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.7.11.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.7.12.tgz",
|
||||||
"integrity": "sha512-a1+TtTE9ap6RalgFi7FGIgkJP6O4Vy6ctv+9WGJy53E4kuqHR0RygzaiVxCI/GMc/vBT9vY23hyrpWb3d1vtXA==",
|
"integrity": "sha512-jnOp+/UXOJa9xqUb8KXH03sysoO2e4Ij6tw6MqDdmdj8n/A8PQENRPUbW9AwXpPtVDJPus9r4fi7b3+6e4B8Hg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@ -1216,9 +1257,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-linux-arm64-gnu": {
|
"node_modules/@rspack/binding-linux-arm64-gnu": {
|
||||||
"version": "1.7.11",
|
"version": "1.7.12",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.7.11.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.7.12.tgz",
|
||||||
"integrity": "sha512-P0QrGRPbTWu6RKWfN0bDtbnEps3rXH0MWIMreZABoUrVmNQKtXR6e73J3ub6a+di5s2+K0M2LJ9Bh2/H4UsDUA==",
|
"integrity": "sha512-C8owWG+yvo7X0oVLIXetkoJhIFBP1LYNcAQqtgLmJnQLQDklGuP83dKC+zISGQWpjawHfZ1ER96vLgoTrxKZdw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@ -1230,9 +1271,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-linux-arm64-musl": {
|
"node_modules/@rspack/binding-linux-arm64-musl": {
|
||||||
"version": "1.7.11",
|
"version": "1.7.12",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.7.11.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.7.12.tgz",
|
||||||
"integrity": "sha512-6ky7R43VMjWwmx3Yx7Jl7faLBBMAgMDt+/bN35RgwjiPgsIByz65EwytUVuW9rikB43BGHvA/eqlnjLrUzNBqw==",
|
"integrity": "sha512-i51WWI64aRpsfSki6rN0aepPqXkVfS+vZM7+4bWDcmnhUmdMvhIPcYg0QRk3DtyJnu33jqNLM0WHY78k00NyfA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@ -1244,9 +1285,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-linux-x64-gnu": {
|
"node_modules/@rspack/binding-linux-x64-gnu": {
|
||||||
"version": "1.7.11",
|
"version": "1.7.12",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.7.11.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.7.12.tgz",
|
||||||
"integrity": "sha512-cuOJMfCOvb2Wgsry5enXJ3iT1FGUjdPqtGUBVupQlEG4ntSYsQ2PtF4wIDVasR3wdxC5nQbipOrDiN/u6fYsdQ==",
|
"integrity": "sha512-MSos0FuPEefqo9V92ULd5hggKG29EkSNg1zDcypy0OkpsKh5pfjVxTLYFXgTcVyFoUQQbdG8zFBzYbwmJ8V4ew==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@ -1258,9 +1299,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-linux-x64-musl": {
|
"node_modules/@rspack/binding-linux-x64-musl": {
|
||||||
"version": "1.7.11",
|
"version": "1.7.12",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.7.11.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.7.12.tgz",
|
||||||
"integrity": "sha512-CoK37hva4AmHGh3VCsQXmGr40L36m1/AdnN5LEjUX6kx5rEH7/1nEBN6Ii72pejqDVvk9anEROmPDiPw10tpFg==",
|
"integrity": "sha512-JcAMVKXOnjfpC3coWjCFPWD3Yl8RBw6a+IXQQ8mfRlHaHMIiOv8IfZqx15XRxMUn49CtP7Z0Na8iiAg2aKrcfw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@ -1272,9 +1313,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-wasm32-wasi": {
|
"node_modules/@rspack/binding-wasm32-wasi": {
|
||||||
"version": "1.7.11",
|
"version": "1.7.12",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.7.11.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.7.12.tgz",
|
||||||
"integrity": "sha512-OtrmnPUVJMxjNa3eDMfHyPdtlLRmmp/aIm0fQHlAOATbZvlGm12q7rhPW5BXTu1yh+1rQ1/uqvz+SzKEZXuJaQ==",
|
"integrity": "sha512-n+ZqP6ZMc0nhOgvadg5VhEs9ojtbES80AcWeFnmGkbzIszvGSO63GKNiRkXtjJ9KFuRzytbbmsCqkUVH+Tywxg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"wasm32"
|
"wasm32"
|
||||||
],
|
],
|
||||||
@ -1286,9 +1327,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-win32-arm64-msvc": {
|
"node_modules/@rspack/binding-win32-arm64-msvc": {
|
||||||
"version": "1.7.11",
|
"version": "1.7.12",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.7.11.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.7.12.tgz",
|
||||||
"integrity": "sha512-lObFW6e5lCWNgTBNwT//yiEDbsxm9QG4BYUojqeXxothuzJ/L6ibXz6+gLMvbOvLGV3nKgkXmx8GvT9WDKR0mA==",
|
"integrity": "sha512-8+h5fYDXYdmugbdfZ+D1y8IQ3rv2EhSfyGP7vBe+bjNyaMa4jWrpucmZbtxojUL1AzaeuHbvMdj9UO/gelk/+g==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@ -1300,9 +1341,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-win32-ia32-msvc": {
|
"node_modules/@rspack/binding-win32-ia32-msvc": {
|
||||||
"version": "1.7.11",
|
"version": "1.7.12",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.7.11.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.7.12.tgz",
|
||||||
"integrity": "sha512-0pYGnZd8PPqNR68zQ8skamqNAXEA1sUfXuAdYcknIIRq2wsbiwFzIc0Pov1cIfHYab37G7sSIPBiOUdOWF5Ivw==",
|
"integrity": "sha512-cDMGwTRSa2p9fNBVe1wTRkF2AEXZ9ARWW36QeC5CkLaI0Ezz8lvhF2+CSOPnhaQ1O1qtn0L0SF+lFnrY+I7xGQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ia32"
|
"ia32"
|
||||||
],
|
],
|
||||||
@ -1314,9 +1355,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/binding-win32-x64-msvc": {
|
"node_modules/@rspack/binding-win32-x64-msvc": {
|
||||||
"version": "1.7.11",
|
"version": "1.7.12",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.7.11.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.7.12.tgz",
|
||||||
"integrity": "sha512-EeQXayoQk/uBkI3pdoXfQBXNIUrADq56L3s/DFyM2pJeUDrWmhfIw2UFIGkYPTMSCo8F2JcdcGM32FGJrSnU0Q==",
|
"integrity": "sha512-wIqFvlgFqrgUyj/6S/FJcvShnkZOmIeXTfqvheLY67MGq8qd8jb1YimQVKAIrmWB3yuJKUFACI3Ag1UBtEedEA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@ -1328,14 +1369,14 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/core": {
|
"node_modules/@rspack/core": {
|
||||||
"version": "1.7.11",
|
"version": "1.7.12",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.7.11.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.7.12.tgz",
|
||||||
"integrity": "sha512-rsD9b+Khmot5DwCMiB3cqTQo53ioPG3M/A7BySu8+0+RS7GCxKm+Z+mtsjtG/vsu4Tn2tcqCdZtA3pgLoJB+ew==",
|
"integrity": "sha512-6CwFIHlhRmXfZoMj3v9MZ1SMTPBn+cHVXeMIeaGp5sufqinKsISbsqHu6ZMJu2wDSmZLdmQJX6zLxkhcAUlhkQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@module-federation/runtime-tools": "0.22.0",
|
"@module-federation/runtime-tools": "0.22.0",
|
||||||
"@rspack/binding": "1.7.11",
|
"@rspack/binding": "1.7.12",
|
||||||
"@rspack/lite-tapable": "1.1.0"
|
"@rspack/lite-tapable": "1.1.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -1350,13 +1391,20 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rspack/lite-tapable": {
|
"node_modules/@rspack/core/node_modules/@rspack/lite-tapable": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/lite-tapable/-/lite-tapable-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/lite-tapable/-/lite-tapable-1.1.0.tgz",
|
||||||
"integrity": "sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==",
|
"integrity": "sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/@rspack/lite-tapable": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@rspack/lite-tapable/-/lite-tapable-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-1OnyWChLGE46YzWyjlmYJssOu/Y0STAnnr2ueKPqDCYTf63GJMs0mxNnCul4dNiVqHYPKv3/fxrTY3IpqoVwZQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/@rspack/plugin-react-refresh": {
|
"node_modules/@rspack/plugin-react-refresh": {
|
||||||
"version": "1.6.2",
|
"version": "1.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/@rspack/plugin-react-refresh/-/plugin-react-refresh-1.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/@rspack/plugin-react-refresh/-/plugin-react-refresh-1.6.2.tgz",
|
||||||
@ -1377,9 +1425,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/helpers": {
|
"node_modules/@swc/helpers": {
|
||||||
"version": "0.5.21",
|
"version": "0.5.23",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.21.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.23.tgz",
|
||||||
"integrity": "sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==",
|
"integrity": "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -1486,9 +1534,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/react": {
|
"node_modules/@types/react": {
|
||||||
"version": "18.3.28",
|
"version": "18.3.31",
|
||||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz",
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.31.tgz",
|
||||||
"integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==",
|
"integrity": "sha512-vfEqpXTvwT91yhmwdfouStN2hSKwTvyRs8qpLfADyrq/kxDw0hZM7Wk9Ug1FELj8hIby+S/+kQCSRFF32nv2Qw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/prop-types": "*",
|
"@types/prop-types": "*",
|
||||||
@ -1558,9 +1606,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/axios": {
|
"node_modules/axios": {
|
||||||
"version": "1.16.1",
|
"version": "1.18.0",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.18.0.tgz",
|
||||||
"integrity": "sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==",
|
"integrity": "sha512-E32NzpYKp++W7XRe52rHiXV2ehxmh3wbdgO7MHeFM+vqxLBYHzt0ElkiImtOBxtOmyp0yoC8C6uESVV84Y2/hw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"follow-redirects": "^1.16.0",
|
"follow-redirects": "^1.16.0",
|
||||||
@ -1711,19 +1759,6 @@
|
|||||||
"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
|
"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/cookie": {
|
|
||||||
"version": "1.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz",
|
|
||||||
"integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==",
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"type": "opencollective",
|
|
||||||
"url": "https://opencollective.com/express"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/core-js": {
|
"node_modules/core-js": {
|
||||||
"version": "3.47.0",
|
"version": "3.47.0",
|
||||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.47.0.tgz",
|
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.47.0.tgz",
|
||||||
@ -1809,9 +1844,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/date-fns": {
|
"node_modules/date-fns": {
|
||||||
"version": "4.1.0",
|
"version": "4.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz",
|
||||||
"integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
|
"integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "github",
|
"type": "github",
|
||||||
@ -1918,9 +1953,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/es-object-atoms": {
|
"node_modules/es-object-atoms": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz",
|
||||||
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
|
"integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"es-errors": "^1.3.0"
|
"es-errors": "^1.3.0"
|
||||||
@ -2038,16 +2073,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/form-data": {
|
"node_modules/form-data": {
|
||||||
"version": "4.0.5",
|
"version": "4.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz",
|
||||||
"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
|
"integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"asynckit": "^0.4.0",
|
"asynckit": "^0.4.0",
|
||||||
"combined-stream": "^1.0.8",
|
"combined-stream": "^1.0.8",
|
||||||
"es-set-tostringtag": "^2.1.0",
|
"es-set-tostringtag": "^2.1.0",
|
||||||
"hasown": "^2.0.2",
|
"hasown": "^2.0.4",
|
||||||
"mime-types": "^2.1.12"
|
"mime-types": "^2.1.35"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 6"
|
"node": ">= 6"
|
||||||
@ -2165,9 +2200,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/hasown": {
|
"node_modules/hasown": {
|
||||||
"version": "2.0.3",
|
"version": "2.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
|
||||||
"integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==",
|
"integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"function-bind": "^1.1.2"
|
"function-bind": "^1.1.2"
|
||||||
@ -2581,9 +2616,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
"version": "8.5.14",
|
"version": "8.5.15",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz",
|
||||||
"integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==",
|
"integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
@ -2600,7 +2635,7 @@
|
|||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"nanoid": "^3.3.11",
|
"nanoid": "^3.3.12",
|
||||||
"picocolors": "^1.1.1",
|
"picocolors": "^1.1.1",
|
||||||
"source-map-js": "^1.2.1"
|
"source-map-js": "^1.2.1"
|
||||||
},
|
},
|
||||||
@ -2676,9 +2711,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-selector-parser": {
|
"node_modules/postcss-selector-parser": {
|
||||||
"version": "6.1.2",
|
"version": "6.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.4.tgz",
|
||||||
"integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
|
"integrity": "sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cssesc": "^3.0.0",
|
"cssesc": "^3.0.0",
|
||||||
@ -2778,9 +2813,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/react-is": {
|
"node_modules/react-is": {
|
||||||
"version": "19.2.6",
|
"version": "19.2.7",
|
||||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.6.tgz",
|
"resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.7.tgz",
|
||||||
"integrity": "sha512-XjBR15BhXuylgWGuslhDKqlSayuqvqBX91BP8pauG8kd1zY8kotkNWbXksTCNRarse4kuGbe2kIY05ARtwNIvw==",
|
"integrity": "sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/react-refresh": {
|
"node_modules/react-refresh": {
|
||||||
@ -2794,41 +2829,35 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/react-router": {
|
"node_modules/react-router": {
|
||||||
"version": "7.15.1",
|
"version": "6.30.4",
|
||||||
"resolved": "https://registry.npmjs.org/react-router/-/react-router-7.15.1.tgz",
|
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.4.tgz",
|
||||||
"integrity": "sha512-R8rl9HhgikFYoPJymnUtPXWbnDb3oget6lQnfIoupbt61aT9aOhRkDsY2XRhZRyX1Z/8a5sL74fXmFNm3NRK5A==",
|
"integrity": "sha512-SVUsDe+DybHM/WmYKIVYhZh1o5Dcuf16yM6WjG02Q9XVFMZIJyHYhwrr6bFBXZkVP6z69kNkMyBCujt8FaFLJA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cookie": "^1.0.1",
|
"@remix-run/router": "1.23.3"
|
||||||
"set-cookie-parser": "^2.6.0"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0.0"
|
"node": ">=14.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"react": ">=18",
|
"react": ">=16.8"
|
||||||
"react-dom": ">=18"
|
|
||||||
},
|
|
||||||
"peerDependenciesMeta": {
|
|
||||||
"react-dom": {
|
|
||||||
"optional": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/react-router-dom": {
|
"node_modules/react-router-dom": {
|
||||||
"version": "7.15.1",
|
"version": "6.30.4",
|
||||||
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.15.1.tgz",
|
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.4.tgz",
|
||||||
"integrity": "sha512-AzF62gjY6U9rkMq4RfP/r2EVtQ7DMfNMjyOp/flLTCrtRylLiK4wT4pSq6O8rOXZ2eXdZYJPEYe+ifomiv+Igg==",
|
"integrity": "sha512-q4HvNl+mmDdkS0g+MqiBZNteQJCuimWoOyHMy4T/RQLAn9Z29+E91QXRaxOujeMl2HTzRSS0KFPd7lxX3PjV0Q==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"react-router": "7.15.1"
|
"@remix-run/router": "1.23.3",
|
||||||
|
"react-router": "6.30.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0.0"
|
"node": ">=14.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"react": ">=18",
|
"react": ">=16.8",
|
||||||
"react-dom": ">=18"
|
"react-dom": ">=16.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/react-toastify": {
|
"node_modules/react-toastify": {
|
||||||
@ -2888,9 +2917,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/reselect": {
|
"node_modules/reselect": {
|
||||||
"version": "5.1.1",
|
"version": "5.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/reselect/-/reselect-5.2.0.tgz",
|
||||||
"integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==",
|
"integrity": "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/resolve": {
|
"node_modules/resolve": {
|
||||||
@ -2965,12 +2994,6 @@
|
|||||||
"loose-envify": "^1.1.0"
|
"loose-envify": "^1.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/set-cookie-parser": {
|
|
||||||
"version": "2.7.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz",
|
|
||||||
"integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/source-map": {
|
"node_modules/source-map": {
|
||||||
"version": "0.5.7",
|
"version": "0.5.7",
|
||||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
||||||
@ -3163,9 +3186,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tinyglobby": {
|
"node_modules/tinyglobby": {
|
||||||
"version": "0.2.16",
|
"version": "0.2.17",
|
||||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz",
|
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
|
||||||
"integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==",
|
"integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fdir": "^6.5.0",
|
"fdir": "^6.5.0",
|
||||||
|
|||||||
@ -13,14 +13,15 @@
|
|||||||
"@emotion/styled": "^11.14.1",
|
"@emotion/styled": "^11.14.1",
|
||||||
"@mui/material": "^9.0.1",
|
"@mui/material": "^9.0.1",
|
||||||
"@mui/x-tree-view": "^9.1.0",
|
"@mui/x-tree-view": "^9.1.0",
|
||||||
"axios": "^1.16.1",
|
"axios": "^1.9.0",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
"material-react-table": "^3.2.1",
|
"material-react-table": "^3.2.1",
|
||||||
"react": "^18.3.1",
|
"react": "^18.3.1",
|
||||||
"react-daisyui": "^5.0.5",
|
"react-daisyui": "^5.0.5",
|
||||||
"react-dom": "^18.3.1",
|
"react-dom": "^18.2.0",
|
||||||
"react-router-dom": "^7.15.1",
|
"react-router": "^6.30.0",
|
||||||
"react-toastify": "^11.1.0"
|
"react-router-dom": "^6.30.0",
|
||||||
|
"react-toastify": "^11.0.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "1.9.4",
|
"@biomejs/biome": "1.9.4",
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import api from './client';
|
import api from "./client";
|
||||||
|
|
||||||
export const StagesApi = {
|
export const StagesApi = {
|
||||||
createStage(formId, payload) {
|
createStage(formId, payload) {
|
||||||
return api.post(`/stages/form/${formId}`, [payload]).then((r) => r.data);
|
return api.post(`/stages/form/${formId}`, payload).then((r) => r.data);
|
||||||
},
|
},
|
||||||
updateStage(payload) {
|
updateStage(payload) {
|
||||||
const { budget_form_id, sheet, phase_code, opens_at, closes_at } = payload;
|
const { budget_form_id, sheet, phase_code, opens_at, closes_at } = payload;
|
||||||
|
|||||||
@ -14,7 +14,7 @@ import {
|
|||||||
RemoveLine,
|
RemoveLine,
|
||||||
Search,
|
Search,
|
||||||
} from '../../common/icons/icons';
|
} from '../../common/icons/icons';
|
||||||
import CollapsibleTree from './CollapsibleTree';
|
import CollapsibleTree from '../../common/CollapsibleTree';
|
||||||
import ZoomSlider from './ZoomSlider';
|
import ZoomSlider from './ZoomSlider';
|
||||||
import SearchComponent from '../../common/SearchComponent';
|
import SearchComponent from '../../common/SearchComponent';
|
||||||
import { ExportDefaultButton } from '../../common/Buttons/ButtonsActions';
|
import { ExportDefaultButton } from '../../common/Buttons/ButtonsActions';
|
||||||
|
|||||||
@ -105,7 +105,7 @@
|
|||||||
"accessorKey":"field",
|
"accessorKey":"field",
|
||||||
"columns":[
|
"columns":[
|
||||||
{
|
{
|
||||||
"header":"=ЕСЛИ(ЛЕВСИМВ(B17;1)="3";B17;ЕСЛИ(D17<>0;СЦЕПИТЬ(C17;"_";D17);C17))",
|
"header":" ",
|
||||||
"accessorKey":"field_eslilevsimvb1713b17eslid170stsepitc17_d17c17",
|
"accessorKey":"field_eslilevsimvb1713b17eslid170stsepitc17_d17c17",
|
||||||
"columns":[
|
"columns":[
|
||||||
{
|
{
|
||||||
|
|||||||
@ -12,8 +12,8 @@ export const getLeafColumns = (targetColumn) => {
|
|||||||
|
|
||||||
// Сбор всех листовых колонок из иерархии
|
// Сбор всех листовых колонок из иерархии
|
||||||
export const collectLeafColumns = (column) => {
|
export const collectLeafColumns = (column) => {
|
||||||
if (column.columns?.length === 0) return [column];
|
if (column.columns?.length === 0 || !column.columns) return [column];
|
||||||
if (column.columns?.length > 0 && column.columns[0]?.columns?.length === 0) {
|
if (column.columns?.length > 0 && (column.columns[0]?.columns?.length === 0 || !column.columns)) {
|
||||||
return column.columns;
|
return column.columns;
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
|
|||||||
@ -8,6 +8,9 @@ import {
|
|||||||
IconButton,
|
IconButton,
|
||||||
Stack,
|
Stack,
|
||||||
TextField,
|
TextField,
|
||||||
|
Select,
|
||||||
|
MenuItem,
|
||||||
|
Autocomplete,
|
||||||
} from '@mui/material';
|
} from '@mui/material';
|
||||||
import {
|
import {
|
||||||
ModalBackdrop,
|
ModalBackdrop,
|
||||||
@ -20,6 +23,9 @@ import { Cancel } from '../common/icons/icons';
|
|||||||
import { getStageStatus, getStatusColors } from './StagesTable/utils';
|
import { getStageStatus, getStatusColors } from './StagesTable/utils';
|
||||||
import { StageStatusChip } from './StageStatusChip';
|
import { StageStatusChip } from './StageStatusChip';
|
||||||
import { formatDateForApi } from './utils';
|
import { formatDateForApi } from './utils';
|
||||||
|
import CollapsibleTree from '../common/CollapsibleTree';
|
||||||
|
import { collectLeafColumns } from '../RealtimeTable/utils/columnUtils';
|
||||||
|
import { STAGE_ROLE_RUSSIAN_NAME } from '../../constants';
|
||||||
|
|
||||||
export const AddStagesModal = ({
|
export const AddStagesModal = ({
|
||||||
isOpen,
|
isOpen,
|
||||||
@ -29,34 +35,89 @@ export const AddStagesModal = ({
|
|||||||
updateStage,
|
updateStage,
|
||||||
isTaskMode = false,
|
isTaskMode = false,
|
||||||
isSaving = false,
|
isSaving = false,
|
||||||
|
sheetOptions = [], // [{ value: 'sheet1', label: 'Лист 1' }]
|
||||||
|
formType = '',
|
||||||
|
defaultSheet = '',
|
||||||
|
defaultRole,
|
||||||
}) => {
|
}) => {
|
||||||
const [startDate, setStartDate] = useState(null);
|
const [startDate, setStartDate] = useState(null);
|
||||||
const [endDate, setEndDate] = useState(null);
|
const [endDate, setEndDate] = useState(null);
|
||||||
|
const [stageName, setStageName] = useState('');
|
||||||
|
const [selectedSheet, setSelectedSheet] = useState(defaultSheet);
|
||||||
|
const [selectedRole, setSelectedRole] = useState(defaultRole);
|
||||||
|
const [columnsConfig, setColumnsConfig] = useState({ columns: [], colors: {} });
|
||||||
|
const [selectedColumns, setSelectedColumns] = useState([]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const loadColumnsConfig = async () => {
|
||||||
|
if (!selectedSheet) return;
|
||||||
|
const sheetObj = sheetOptions.find(s => s.value == selectedSheet);
|
||||||
|
|
||||||
|
try {
|
||||||
|
const { config } = await import(`../RealtimeTable/constants/${formType}/${sheetObj.sheet}.js`);
|
||||||
|
setColumnsConfig(config.config);
|
||||||
|
|
||||||
|
// Если есть сохраненные выбранные колонки для этого листа
|
||||||
|
if (stage?.column_keys) {
|
||||||
|
setSelectedColumns(stage.column_keys);
|
||||||
|
} else {
|
||||||
|
setSelectedColumns([]);
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error(`Failed to load config for ${formType}/${selectedSheet}:`, error);
|
||||||
|
setColumnsConfig({ columns: [], colors: {} });
|
||||||
|
setSelectedColumns([]);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
loadColumnsConfig();
|
||||||
|
}, [selectedSheet, formType, stage]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (stage !== null) {
|
if (stage !== null) {
|
||||||
setStartDate(stage.opens_at ?? null);
|
setStartDate(stage.opens_at ?? null);
|
||||||
setEndDate(stage.closes_at ?? null);
|
setEndDate(stage.closes_at ?? null);
|
||||||
|
setStageName(stage.phase_code ?? '');
|
||||||
|
setSelectedSheet(stage.sheet ?? null);
|
||||||
|
setSelectedRole(stage.role ?? null);
|
||||||
|
|
||||||
|
if (stage.column_keys) {
|
||||||
|
setSelectedColumns(stage.column_keys.map(c => 'data.' + c));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
setStartDate(null);
|
setStartDate(null);
|
||||||
setEndDate(null);
|
setEndDate(null);
|
||||||
|
setStageName('');
|
||||||
|
setSelectedSheet(defaultSheet);
|
||||||
|
setSelectedRole(defaultRole);
|
||||||
|
setSelectedColumns([]);
|
||||||
}
|
}
|
||||||
}, [stage, isOpen]);
|
}, [stage, isOpen, defaultSheet, defaultRole]);
|
||||||
|
|
||||||
const handleSave = () => {
|
const handleSave = () => {
|
||||||
const opensAt = formatDateForApi(startDate);
|
const opensAt = formatDateForApi(startDate);
|
||||||
const closesAt = formatDateForApi(endDate);
|
const closesAt = formatDateForApi(endDate);
|
||||||
|
const sheetObj = sheetOptions.find(s => s.value == selectedSheet);
|
||||||
|
|
||||||
|
const stageData = {
|
||||||
|
phase_code: stageName,
|
||||||
|
sheet: sheetObj.sheet,
|
||||||
|
direction: sheetObj.direction,
|
||||||
|
role: selectedRole,
|
||||||
|
opens_at: opensAt,
|
||||||
|
closes_at: closesAt,
|
||||||
|
column_keys: selectedColumns.map(c => c.slice(5)),
|
||||||
|
};
|
||||||
|
|
||||||
if (stage === null) {
|
if (stage === null) {
|
||||||
if (!createStage) return;
|
if (!createStage) return;
|
||||||
createStage(opensAt, closesAt)?.then(() => {
|
createStage(stageData)?.then(() => {
|
||||||
handleCancel();
|
handleCancel();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
updateStage({
|
updateStage({
|
||||||
...stage,
|
...stage,
|
||||||
opens_at: opensAt,
|
...stageData,
|
||||||
closes_at: closesAt,
|
|
||||||
})?.then(() => {
|
})?.then(() => {
|
||||||
handleCancel();
|
handleCancel();
|
||||||
});
|
});
|
||||||
@ -66,6 +127,10 @@ export const AddStagesModal = ({
|
|||||||
const handleCancel = () => {
|
const handleCancel = () => {
|
||||||
setStartDate(null);
|
setStartDate(null);
|
||||||
setEndDate(null);
|
setEndDate(null);
|
||||||
|
setStageName('');
|
||||||
|
setSelectedSheet(defaultSheet);
|
||||||
|
setSelectedRole(defaultRole);
|
||||||
|
setSelectedColumns([]);
|
||||||
onClose();
|
onClose();
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -75,13 +140,33 @@ export const AddStagesModal = ({
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const isFormValid = startDate && endDate;
|
const handleSheetChange = (event) => {
|
||||||
|
setSelectedSheet(event.target.value);
|
||||||
|
setSelectedColumns([]);
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleColumnsSelect = (column, isSelect) => {
|
||||||
|
const leafCols = collectLeafColumns(column).reduce((acc, item) => {
|
||||||
|
acc.push(item.accessorKey)
|
||||||
|
return acc;
|
||||||
|
}, []);
|
||||||
|
if (!isSelect) {
|
||||||
|
setSelectedColumns(prev => ([...prev, ...leafCols]));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setSelectedColumns(prev => (prev.filter(c => !leafCols.includes(c))));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const isFormValid = startDate && endDate && stageName.trim() && selectedSheet;
|
||||||
|
|
||||||
if (!isOpen) return null;
|
if (!isOpen) return null;
|
||||||
|
|
||||||
const stageStatus = stage ? getStageStatus(stage) : null;
|
const stageStatus = stage ? getStageStatus(stage) : null;
|
||||||
const statusColors = stageStatus ? getStatusColors(stageStatus) : null;
|
const statusColors = stageStatus ? getStatusColors(stageStatus) : null;
|
||||||
|
|
||||||
|
const columnTree = columnsConfig.columns || [];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ModalBackdrop isOpen={isOpen} onClick={handleBackdropClick}>
|
<ModalBackdrop isOpen={isOpen} onClick={handleBackdropClick}>
|
||||||
<ModalContainer>
|
<ModalContainer>
|
||||||
@ -107,6 +192,78 @@ export const AddStagesModal = ({
|
|||||||
<Box>
|
<Box>
|
||||||
<Divider sx={{ marginBottom: '0.75rem' }} />
|
<Divider sx={{ marginBottom: '0.75rem' }} />
|
||||||
|
|
||||||
|
{/* Название этапа */}
|
||||||
|
<Stack sx={{ marginBottom: '0.75rem', width: '100%' }}>
|
||||||
|
<FormControl fullWidth>
|
||||||
|
<FormLabel>Название этапа</FormLabel>
|
||||||
|
<TextField
|
||||||
|
value={stageName}
|
||||||
|
onChange={(e) => setStageName(e.target.value)}
|
||||||
|
placeholder="Введите название этапа"
|
||||||
|
fullWidth
|
||||||
|
size="small"
|
||||||
|
/>
|
||||||
|
</FormControl>
|
||||||
|
</Stack>
|
||||||
|
|
||||||
|
{/* Выбор листа */}
|
||||||
|
<Stack sx={{ marginBottom: '0.75rem', width: '100%' }}>
|
||||||
|
<FormControl fullWidth>
|
||||||
|
<FormLabel>Выбор листа</FormLabel>
|
||||||
|
<Select
|
||||||
|
value={selectedSheet}
|
||||||
|
onChange={handleSheetChange}
|
||||||
|
displayEmpty
|
||||||
|
size="small"
|
||||||
|
>
|
||||||
|
<MenuItem value="" disabled>
|
||||||
|
Выберите лист
|
||||||
|
</MenuItem>
|
||||||
|
{sheetOptions.map((option) => (
|
||||||
|
<MenuItem key={option.value} value={option.value}>
|
||||||
|
{option.label}
|
||||||
|
</MenuItem>
|
||||||
|
))}
|
||||||
|
</Select>
|
||||||
|
</FormControl>
|
||||||
|
</Stack>
|
||||||
|
{selectedSheet && columnTree.length > 0 && (
|
||||||
|
<Stack sx={{ marginBottom: '0.75rem', width: '100%' }}>
|
||||||
|
<FormControl fullWidth>
|
||||||
|
<FormLabel>Выбор колонок</FormLabel>
|
||||||
|
|
||||||
|
<CollapsibleTree
|
||||||
|
columnTree={columnTree}
|
||||||
|
placeholder="Выбрать столбцы"
|
||||||
|
placeholderSelect="Выбрано столбцов: "
|
||||||
|
selectedIds={selectedColumns}
|
||||||
|
onSelectNode={handleColumnsSelect}
|
||||||
|
/>
|
||||||
|
</FormControl>
|
||||||
|
</Stack>
|
||||||
|
)}
|
||||||
|
|
||||||
|
<Stack sx={{ marginBottom: '0.75rem', width: '100%' }}>
|
||||||
|
<FormControl fullWidth>
|
||||||
|
<FormLabel>Роль</FormLabel>
|
||||||
|
<Select
|
||||||
|
value={selectedRole}
|
||||||
|
onChange={(e) => setSelectedRole(e.target.value)}
|
||||||
|
displayEmpty
|
||||||
|
size="small"
|
||||||
|
>
|
||||||
|
{Object.entries(STAGE_ROLE_RUSSIAN_NAME).map(([key, label]) => (
|
||||||
|
<MenuItem key={key} value={key}>
|
||||||
|
{label}
|
||||||
|
</MenuItem>
|
||||||
|
))}
|
||||||
|
</Select>
|
||||||
|
</FormControl>
|
||||||
|
</Stack>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{/* Даты */}
|
||||||
<Stack
|
<Stack
|
||||||
direction="row"
|
direction="row"
|
||||||
spacing={1}
|
spacing={1}
|
||||||
@ -118,7 +275,6 @@ export const AddStagesModal = ({
|
|||||||
<CalendarInput
|
<CalendarInput
|
||||||
value={startDate}
|
value={startDate}
|
||||||
onChange={(newValue) => setStartDate(newValue)}
|
onChange={(newValue) => setStartDate(newValue)}
|
||||||
isTaskMode={isTaskMode}
|
|
||||||
/>
|
/>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
</Stack>
|
</Stack>
|
||||||
@ -128,7 +284,6 @@ export const AddStagesModal = ({
|
|||||||
<CalendarInput
|
<CalendarInput
|
||||||
value={endDate}
|
value={endDate}
|
||||||
onChange={(newValue) => setEndDate(newValue)}
|
onChange={(newValue) => setEndDate(newValue)}
|
||||||
isTaskMode={isTaskMode}
|
|
||||||
/>
|
/>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
</Stack>
|
</Stack>
|
||||||
|
|||||||
@ -20,6 +20,7 @@ import {
|
|||||||
} from '@mui/material';
|
} from '@mui/material';
|
||||||
import CloseIcon from '@mui/icons-material/Close';
|
import CloseIcon from '@mui/icons-material/Close';
|
||||||
import { StagesTable } from './StagesTable/StagesTable';
|
import { StagesTable } from './StagesTable/StagesTable';
|
||||||
|
import { PrimaryButton } from '../common/Buttons/Buttons';
|
||||||
|
|
||||||
export const SettingModal = ({
|
export const SettingModal = ({
|
||||||
isOpen = true,
|
isOpen = true,
|
||||||
@ -27,9 +28,10 @@ export const SettingModal = ({
|
|||||||
formId,
|
formId,
|
||||||
taskId,
|
taskId,
|
||||||
mode = 'form', // 'form' | 'task'
|
mode = 'form', // 'form' | 'task'
|
||||||
|
formTypeCode = '',
|
||||||
|
sheets,
|
||||||
}) => {
|
}) => {
|
||||||
const formStages = useStages(mode === 'form' ? formId : null);
|
const taskStages = useTaskStages(taskId);
|
||||||
const taskStages = useTaskStages(mode === 'task' ? taskId : null);
|
|
||||||
|
|
||||||
const {
|
const {
|
||||||
deleteStage,
|
deleteStage,
|
||||||
@ -38,10 +40,10 @@ export const SettingModal = ({
|
|||||||
createStage,
|
createStage,
|
||||||
updateStage,
|
updateStage,
|
||||||
isSaving,
|
isSaving,
|
||||||
} = mode === 'task' ? taskStages : formStages;
|
} = taskStages;
|
||||||
|
|
||||||
const isTaskMode = mode === 'task';
|
const isTaskMode = mode === 'task';
|
||||||
const entityId = mode === 'task' ? taskId : formId;
|
const entityId = taskId;
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (isOpen && entityId) {
|
if (isOpen && entityId) {
|
||||||
@ -53,6 +55,7 @@ export const SettingModal = ({
|
|||||||
const [stageForEdit, setStageForEdit] = useState(null);
|
const [stageForEdit, setStageForEdit] = useState(null);
|
||||||
const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);
|
const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);
|
||||||
const [stageToDelete, setStageToDelete] = useState(null);
|
const [stageToDelete, setStageToDelete] = useState(null);
|
||||||
|
const [sheetOptions, setSheetOptions] = useState([]);
|
||||||
|
|
||||||
const handleAddStage = () => {
|
const handleAddStage = () => {
|
||||||
setStageForEdit(null);
|
setStageForEdit(null);
|
||||||
@ -72,6 +75,50 @@ export const SettingModal = ({
|
|||||||
setStageForEdit(stage);
|
setStageForEdit(stage);
|
||||||
setIsAddEditModalOpen(true);
|
setIsAddEditModalOpen(true);
|
||||||
};
|
};
|
||||||
|
const transformToSheetOptions = (data) => {
|
||||||
|
const sheetMap = new Map();
|
||||||
|
|
||||||
|
data.forEach(item => {
|
||||||
|
const key = item.direction ? `${item.sheet}_${item.direction}` : item.sheet;
|
||||||
|
|
||||||
|
if (!sheetMap.has(key)) {
|
||||||
|
sheetMap.set(key, {
|
||||||
|
sheet: item.sheet,
|
||||||
|
direction: item.direction,
|
||||||
|
names: []
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const entry = sheetMap.get(key);
|
||||||
|
if (!entry.names.includes(item.name)) {
|
||||||
|
entry.names.push(item.name);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const sheetOptions = [];
|
||||||
|
|
||||||
|
sheetMap.forEach((value) => {
|
||||||
|
let label = value.names.join(' / ');
|
||||||
|
|
||||||
|
if (value.direction) {
|
||||||
|
label += ` (${value.direction})`;
|
||||||
|
}
|
||||||
|
|
||||||
|
sheetOptions.push({
|
||||||
|
value: value.direction ? `${value.sheet}_${value.direction}` : value.sheet,
|
||||||
|
label: label,
|
||||||
|
sheet: value.sheet,
|
||||||
|
direction: value.direction
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
return sheetOptions;
|
||||||
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (!sheets || sheets.length === 0) return;
|
||||||
|
setSheetOptions(transformToSheetOptions(sheets))
|
||||||
|
}, [sheets])
|
||||||
|
|
||||||
if (!isOpen) {
|
if (!isOpen) {
|
||||||
return null;
|
return null;
|
||||||
@ -100,15 +147,14 @@ export const SettingModal = ({
|
|||||||
sx={{ width: '100%', justifyContent: 'space-between' }}
|
sx={{ width: '100%', justifyContent: 'space-between' }}
|
||||||
>
|
>
|
||||||
<Typography fontWeight="bold">Этапы</Typography>
|
<Typography fontWeight="bold">Этапы</Typography>
|
||||||
{!isTaskMode && (
|
|
||||||
<Button
|
<PrimaryButton
|
||||||
variant="contained"
|
onClick={handleAddStage}
|
||||||
onClick={handleAddStage}
|
startIcon={<WhitePlus />}
|
||||||
startIcon={<WhitePlus />}
|
>
|
||||||
>
|
Добавить этап
|
||||||
Добавить этап
|
</PrimaryButton>
|
||||||
</Button>
|
|
||||||
)}
|
|
||||||
</Stack>
|
</Stack>
|
||||||
|
|
||||||
{stagesInfo.isLoading ? (
|
{stagesInfo.isLoading ? (
|
||||||
@ -138,6 +184,8 @@ export const SettingModal = ({
|
|||||||
updateStage={updateStage}
|
updateStage={updateStage}
|
||||||
isTaskMode={isTaskMode}
|
isTaskMode={isTaskMode}
|
||||||
isSaving={isSaving}
|
isSaving={isSaving}
|
||||||
|
sheetOptions={sheetOptions}
|
||||||
|
formType={formTypeCode}
|
||||||
/>
|
/>
|
||||||
{!isTaskMode && (
|
{!isTaskMode && (
|
||||||
<DeleteStageModal
|
<DeleteStageModal
|
||||||
|
|||||||
@ -20,7 +20,7 @@ import {
|
|||||||
import { getStageStatus, getStatusColors } from './utils';
|
import { getStageStatus, getStatusColors } from './utils';
|
||||||
import { formatDate } from '../../../utils/formatDate';
|
import { formatDate } from '../../../utils/formatDate';
|
||||||
import { StageStatusChip } from '../StageStatusChip';
|
import { StageStatusChip } from '../StageStatusChip';
|
||||||
import { ROLES_NAME_ID, STAGE_ROLE_RUSSIAN_NAME } from '../../../constants';
|
import { ROLES_NAME_ID, SHEET_NAME, STAGE_ROLE_RUSSIAN_NAME } from '../../../constants';
|
||||||
import { useAuth } from '../../../app/context/AuthProvider';
|
import { useAuth } from '../../../app/context/AuthProvider';
|
||||||
|
|
||||||
export const StagesTable = ({ stages, onEdit, onDelete }) => {
|
export const StagesTable = ({ stages, onEdit, onDelete }) => {
|
||||||
@ -85,7 +85,7 @@ export const StagesTable = ({ stages, onEdit, onDelete }) => {
|
|||||||
return (
|
return (
|
||||||
<StyledTableRow key={rowKey}>
|
<StyledTableRow key={rowKey}>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
<Typography variant="body2">{stage.sheet}</Typography>
|
<Typography variant="body2">{SHEET_NAME[stage.sheet]} - {stage.phase_code}</Typography>
|
||||||
<Typography
|
<Typography
|
||||||
variant="caption"
|
variant="caption"
|
||||||
color="text.secondary"
|
color="text.secondary"
|
||||||
|
|||||||
@ -18,8 +18,9 @@ import {
|
|||||||
const CollapsibleTree = ({
|
const CollapsibleTree = ({
|
||||||
columnTree,
|
columnTree,
|
||||||
placeholder = 'Скрыть столбцы',
|
placeholder = 'Скрыть столбцы',
|
||||||
|
placeholderSelect = 'Скрыто столбцов: ',
|
||||||
selectedIds = [],
|
selectedIds = [],
|
||||||
onSelectNode: onHideColumns,
|
onSelectNode,
|
||||||
}) => {
|
}) => {
|
||||||
const [expandedItems, setExpandedItems] = useState([]);
|
const [expandedItems, setExpandedItems] = useState([]);
|
||||||
const [anchorEl, setAnchorEl] = useState(null);
|
const [anchorEl, setAnchorEl] = useState(null);
|
||||||
@ -35,25 +36,39 @@ const CollapsibleTree = ({
|
|||||||
|
|
||||||
const handleSelectAll = (isSelected) => {
|
const handleSelectAll = (isSelected) => {
|
||||||
for (const col of columnTree) {
|
for (const col of columnTree) {
|
||||||
onHideColumns?.(col, !isSelected);
|
onSelectNode?.(col, !isSelected);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const getChildrenIds = (node) => {
|
const getChildrenIds = (node) => {
|
||||||
const getLeafColumn = (col) => {
|
const getLeafColumn = (col) => {
|
||||||
if (col.columns.length == 0) return [col];
|
const hasColumns = col.columns && Array.isArray(col.columns);
|
||||||
if (col.columns.length > 0 && col.columns[0].columns.length == 0) {
|
|
||||||
|
if (!hasColumns || col.columns.length === 0) {
|
||||||
|
return [col];
|
||||||
|
}
|
||||||
|
|
||||||
|
const allChildrenAreLeaves = col.columns.every(
|
||||||
|
child => !child.columns || !Array.isArray(child.columns) || child.columns.length === 0
|
||||||
|
);
|
||||||
|
|
||||||
|
if (allChildrenAreLeaves) {
|
||||||
return col.columns;
|
return col.columns;
|
||||||
}
|
}
|
||||||
|
|
||||||
return col.columns.flatMap((childCol) => getLeafColumn(childCol));
|
return col.columns.flatMap((childCol) => getLeafColumn(childCol));
|
||||||
};
|
};
|
||||||
return getLeafColumn(node).map((c) => c.id);
|
|
||||||
|
const leafColumns = getLeafColumn(node);
|
||||||
|
return leafColumns.map((c) => c.id || c.accessorKey);
|
||||||
};
|
};
|
||||||
|
|
||||||
const isNodeChecked = (node) => {
|
const isNodeChecked = (node) => {
|
||||||
const childrenIds = getChildrenIds(node);
|
const childrenIds = getChildrenIds(node);
|
||||||
const selectedChildren = childrenIds.filter((id) =>
|
const selectedChildren = childrenIds.filter((id) =>
|
||||||
selectedNodes.includes(id),
|
selectedNodes.includes(id)
|
||||||
|
|
||||||
|
,
|
||||||
);
|
);
|
||||||
|
|
||||||
if (selectedChildren.length === 0) return false;
|
if (selectedChildren.length === 0) return false;
|
||||||
@ -62,7 +77,7 @@ const CollapsibleTree = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleNodeCheck = (node, isSelected) => {
|
const handleNodeCheck = (node, isSelected) => {
|
||||||
onHideColumns?.(node, !isSelected);
|
onSelectNode?.(node, !isSelected);
|
||||||
};
|
};
|
||||||
|
|
||||||
const getId = (column) => {
|
const getId = (column) => {
|
||||||
@ -71,7 +86,7 @@ const CollapsibleTree = ({
|
|||||||
let current = column;
|
let current = column;
|
||||||
|
|
||||||
while (current) {
|
while (current) {
|
||||||
ancestors.unshift(current.id);
|
ancestors.unshift(current.id || current.accessorKey);
|
||||||
current = current.parent;
|
current = current.parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -85,10 +100,9 @@ const CollapsibleTree = ({
|
|||||||
|
|
||||||
return nodes.map((node) => {
|
return nodes.map((node) => {
|
||||||
const checkStatus = isNodeChecked(node);
|
const checkStatus = isNodeChecked(node);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<TreeItem
|
<TreeItem
|
||||||
key={node.id}
|
key={node.id || node.accessorKey}
|
||||||
itemId={String(getId(node))}
|
itemId={String(getId(node))}
|
||||||
label={
|
label={
|
||||||
<Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>
|
<Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>
|
||||||
@ -107,7 +121,7 @@ const CollapsibleTree = ({
|
|||||||
indeterminateIcon={<IndeterminateCheckBox />}
|
indeterminateIcon={<IndeterminateCheckBox />}
|
||||||
/>
|
/>
|
||||||
<Typography variant="body2">
|
<Typography variant="body2">
|
||||||
{node.columnDef?.header || node.name || 'Без названия'}
|
{node.columnDef?.header || node.name || node.header || 'Без названия'}
|
||||||
</Typography>
|
</Typography>
|
||||||
</Box>
|
</Box>
|
||||||
}
|
}
|
||||||
@ -149,7 +163,7 @@ const CollapsibleTree = ({
|
|||||||
if (selectedCount === 0) {
|
if (selectedCount === 0) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
return `Скрыто столбцов: ${selectedCount}`;
|
return `${placeholderSelect} ${selectedCount}`;
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@ -157,7 +171,7 @@ const CollapsibleTree = ({
|
|||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
position: 'relative',
|
position: 'relative',
|
||||||
width: '25rem',
|
width: '100%',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<TextField
|
<TextField
|
||||||
@ -62,10 +62,68 @@ export const useTaskStages = (taskId) => {
|
|||||||
[taskId],
|
[taskId],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const createStage = useCallback(
|
||||||
|
(payload) => {
|
||||||
|
if (!taskId) return Promise.reject('Нет taskId');
|
||||||
|
|
||||||
|
setIsSaving(true);
|
||||||
|
|
||||||
|
return StagesApi.createStage(taskId, payload)
|
||||||
|
.then((data) => {
|
||||||
|
setStagesInfo((prev) => ({
|
||||||
|
...prev,
|
||||||
|
stages: [...prev.stages, data.result],
|
||||||
|
}));
|
||||||
|
toast.success('Этап добавлен');
|
||||||
|
return data;
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
toast.error(
|
||||||
|
error?.response?.data?.detail || 'Ошибка добавления этапа ',
|
||||||
|
);
|
||||||
|
throw error;
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
setIsSaving(false);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
[taskId],
|
||||||
|
);
|
||||||
|
|
||||||
|
const deleteStage = useCallback(
|
||||||
|
(stage) => {
|
||||||
|
const { sheet, phase_code, budget_form_id } = stage;
|
||||||
|
if (!budget_form_id || !sheet || !phase_code) return;
|
||||||
|
|
||||||
|
StagesApi.deleteStage(budget_form_id, sheet, phase_code)
|
||||||
|
.then(() => {
|
||||||
|
setStagesInfo((prev) => ({
|
||||||
|
...prev,
|
||||||
|
stages: prev.stages.filter(
|
||||||
|
(curStage) =>
|
||||||
|
!(
|
||||||
|
curStage.sheet === sheet &&
|
||||||
|
curStage.phase_code === phase_code
|
||||||
|
),
|
||||||
|
),
|
||||||
|
}));
|
||||||
|
toast.success('Этап успешно удален');
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
toast.error(
|
||||||
|
error?.response?.data?.detail || 'Ошибка при удалении этапа',
|
||||||
|
);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
[taskId],
|
||||||
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
stagesInfo,
|
stagesInfo,
|
||||||
getStages,
|
getStages,
|
||||||
updateStage,
|
updateStage,
|
||||||
isSaving,
|
isSaving,
|
||||||
|
createStage,
|
||||||
|
deleteStage,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@ -15,7 +15,7 @@ export const EVENT_CONFIGS = {
|
|||||||
notes: 'Примечания',
|
notes: 'Примечания',
|
||||||
location_form: 'Форма расположения ВСП',
|
location_form: 'Форма расположения ВСП',
|
||||||
numbers: 'Штатная численность ВСП',
|
numbers: 'Штатная численность ВСП',
|
||||||
area: 'Площадь помещений ВСП',
|
total_area: 'Площадь помещений ВСП',
|
||||||
rent_contract_num: 'Номер договора аренды',
|
rent_contract_num: 'Номер договора аренды',
|
||||||
rent_end_date: 'Срок окончания договора аренды',
|
rent_end_date: 'Срок окончания договора аренды',
|
||||||
system_code: 'Код РФ',
|
system_code: 'Код РФ',
|
||||||
@ -33,7 +33,7 @@ export const EVENT_CONFIGS = {
|
|||||||
notes: 'Примечания',
|
notes: 'Примечания',
|
||||||
location_form: 'Форма расположения ВСП',
|
location_form: 'Форма расположения ВСП',
|
||||||
numbers: 'Штатная численность ВСП',
|
numbers: 'Штатная численность ВСП',
|
||||||
area: 'Площадь помещений ВСП',
|
total_area: 'Площадь помещений ВСП',
|
||||||
rent_contract_num: 'Номер договора аренды',
|
rent_contract_num: 'Номер договора аренды',
|
||||||
rent_end_date: 'Срок окончания договора аренды',
|
rent_end_date: 'Срок окончания договора аренды',
|
||||||
system_code: 'Код РФ',
|
system_code: 'Код РФ',
|
||||||
|
|||||||
@ -151,14 +151,16 @@ export default function TaskPage() {
|
|||||||
>
|
>
|
||||||
<span>Этапы</span>
|
<span>Этапы</span>
|
||||||
</PrimaryOutlinedButton>
|
</PrimaryOutlinedButton>
|
||||||
{modalStageOpen && (
|
|
||||||
<SettingStageModal
|
<SettingStageModal
|
||||||
isOpen={modalStageOpen}
|
isOpen={modalStageOpen}
|
||||||
onClose={() => setModalStageOpen(false)}
|
onClose={() => setModalStageOpen(false)}
|
||||||
taskId={taskId}
|
taskId={taskId}
|
||||||
mode="task"
|
mode="task"
|
||||||
/>
|
formTypeCode={task?.form_type_code || ''}
|
||||||
)}
|
sheets={tables}
|
||||||
|
/>
|
||||||
|
|
||||||
</Stack>
|
</Stack>
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user