diff --git a/frontend/index.html b/frontend/index.html index e4b78ea..46096df 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -4,7 +4,7 @@ - Vite + React + TS + u-pipe
diff --git a/frontend/package.json b/frontend/package.json index fec14cc..951bf90 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,9 +10,14 @@ "preview": "vite preview" }, "dependencies": { + "@ant-design/icons": "^6.0.0", + "@dnd-kit/core": "^6.3.1", + "@dnd-kit/sortable": "^10.0.0", + "@dnd-kit/utilities": "^3.2.2", + "@mui/styles": "^6.4.8", "antd": "^5.24.5", - "react": "^19.0.0", - "react-dom": "^19.0.0", + "react": "18.3.1", + "react-dom": "^18.3.1", "react-router-dom": "^7.4.1", "zustand": "^5.0.3" }, diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index d9d88ca..46a84b9 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -8,21 +8,36 @@ importers: .: dependencies: + '@ant-design/icons': + specifier: ^6.0.0 + version: 6.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/core': + specifier: ^6.3.1 + version: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/sortable': + specifier: ^10.0.0 + version: 10.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@dnd-kit/utilities': + specifier: ^3.2.2 + version: 3.2.2(react@18.3.1) + '@mui/styles': + specifier: ^6.4.8 + version: 6.4.8(@types/react@19.0.12)(react@18.3.1) antd: specifier: ^5.24.5 - version: 5.24.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 5.24.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: - specifier: ^19.0.0 - version: 19.1.0 + specifier: 18.3.1 + version: 18.3.1 react-dom: - specifier: ^19.0.0 - version: 19.1.0(react@19.1.0) + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) react-router-dom: specifier: ^7.4.1 - version: 7.4.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 7.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) zustand: specifier: ^5.0.3 - version: 5.0.3(@types/react@19.0.12)(react@19.1.0) + version: 5.0.3(@types/react@19.0.12)(react@18.3.1) devDependencies: '@eslint/js': specifier: ^9.21.0 @@ -67,6 +82,9 @@ packages: '@ant-design/colors@7.2.0': resolution: {integrity: sha512-bjTObSnZ9C/O8MB/B4OUtd/q9COomuJAR2SYfhxLyHvCKn4EKwCN3e+fWGMo7H5InAyV0wL17jdE9ALrdOW/6A==} + '@ant-design/colors@8.0.0': + resolution: {integrity: sha512-6YzkKCw30EI/E9kHOIXsQDHmMvTllT8STzjMb4K2qzit33RW2pqCJP0sk+hidBntXxE+Vz4n1+RvCTfBw6OErw==} + '@ant-design/cssinjs-utils@1.1.3': resolution: {integrity: sha512-nOoQMLW1l+xR1Co8NFVYiP8pZp3VjIIzqV6D6ShYF2ljtdwWJn5WSsH+7kvCktXL/yhEtWURKOfH5Xz/gzlwsg==} peerDependencies: @@ -83,6 +101,10 @@ packages: resolution: {integrity: sha512-y2217gk4NqL35giHl72o6Zzqji9O7vHh9YmhUVkPtAOpoTCH4uWxo/pr4VE8t0+ChEPs0qo4eJRC5Q1eXWo3vA==} engines: {node: '>=8.x'} + '@ant-design/fast-color@3.0.0': + resolution: {integrity: sha512-eqvpP7xEDm2S7dUzl5srEQCBTXZMmY3ekf97zI+M2DHOYyKdJGH0qua0JACHTqbkRnD/KHFQP9J1uMJ/XWVzzA==} + engines: {node: '>=8.x'} + '@ant-design/icons-svg@4.4.2': resolution: {integrity: sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==} @@ -93,6 +115,13 @@ packages: react: '>=16.0.0' react-dom: '>=16.0.0' + '@ant-design/icons@6.0.0': + resolution: {integrity: sha512-o0aCCAlHc1o4CQcapAwWzHeaW2x9F49g7P3IDtvtNXgHowtRWYb7kiubt8sQPFvfVIVU/jLw2hzeSlNt0FU+Uw==} + engines: {node: '>=8'} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + '@ant-design/react-slick@1.1.2': resolution: {integrity: sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==} peerDependencies: @@ -181,9 +210,34 @@ packages: resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==} engines: {node: '>=6.9.0'} + '@dnd-kit/accessibility@3.1.1': + resolution: {integrity: sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==} + peerDependencies: + react: '>=16.8.0' + + '@dnd-kit/core@6.3.1': + resolution: {integrity: sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + + '@dnd-kit/sortable@10.0.0': + resolution: {integrity: sha512-+xqhmIIzvAYMGfBYYnbKuNicfSsk4RksY2XdmJhT+HAC01nix6fHCztU68jooFiMUB01Ky3F0FyOvhG/BZrWkg==} + peerDependencies: + '@dnd-kit/core': ^6.3.0 + react: '>=16.8.0' + + '@dnd-kit/utilities@3.2.2': + resolution: {integrity: sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==} + peerDependencies: + react: '>=16.8.0' + '@emotion/hash@0.8.0': resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} + '@emotion/hash@0.9.2': + resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} + '@emotion/unitless@0.7.5': resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} @@ -413,6 +467,45 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@mui/private-theming@6.4.8': + resolution: {integrity: sha512-sWwQoNSn6elsPTAtSqCf+w5aaGoh7AASURNmpy+QTTD/zwJ0Jgwt0ZaaP6mXq2IcgHxYnYloM/+vJgHPMkRKTQ==} + engines: {node: '>=14.0.0'} + 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 + + '@mui/styles@6.4.8': + resolution: {integrity: sha512-1q5ZAidCBqnEaGNv/GgJfi8LeCDdEuZNJ/cQRJW1GEVKY1rSUNqceSIWW12aUcDswm5nsGlq3fdc89vypAEIcw==} + engines: {node: '>=14.0.0'} + deprecated: Deprecated, check the migration instruction in https://mui.com/material-ui/migration/migrating-from-jss/ + 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 + + '@mui/types@7.2.24': + resolution: {integrity: sha512-3c8tRt/CbWZ+pEg7QpSwbdxOk36EfmhbKf6AGZsD1EcLDLTSZoxxJ86FVtcjxvjuhdyBiWKSTGZFaXCnidO2kw==} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + '@mui/utils@6.4.8': + resolution: {integrity: sha512-C86gfiZ5BfZ51KqzqoHi1WuuM2QdSKoFhbkZeAfQRB+jCc4YNhhj11UXFVMMsqBgZ+Zy8IHNJW3M9Wj/LOwRXQ==} + engines: {node: '>=14.0.0'} + 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 + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -480,6 +573,12 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' + '@rc-component/util@1.2.1': + resolution: {integrity: sha512-AUVu6jO+lWjQnUOOECwu8iR0EdElQgWW5NBv5vP/Uf9dWbAX3udhMutRlkVXjuac2E40ghkFy+ve00mc/3Fymg==} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + '@rollup/rollup-android-arm-eabi@4.38.0': resolution: {integrity: sha512-ldomqc4/jDZu/xpYU+aRxo3V4mGCV9HeTgUBANI3oIQMOL+SsxB+S2lxMpkFp5UamSS3XuTMQVbsS24R4J4Qjg==} cpu: [arm] @@ -612,6 +711,9 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/prop-types@15.7.14': + resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} + '@types/react-dom@19.0.4': resolution: {integrity: sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==} peerDependencies: @@ -731,6 +833,10 @@ packages: classnames@2.5.1: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -758,6 +864,9 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + css-vendor@2.0.8: + resolution: {integrity: sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==} + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -916,6 +1025,12 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + hyphenate-style-name@1.1.0: + resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -936,6 +1051,9 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} + is-in-browser@1.1.3: + resolution: {integrity: sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==} + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -972,6 +1090,30 @@ packages: engines: {node: '>=6'} hasBin: true + jss-plugin-camel-case@10.10.0: + resolution: {integrity: sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==} + + jss-plugin-default-unit@10.10.0: + resolution: {integrity: sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==} + + jss-plugin-global@10.10.0: + resolution: {integrity: sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==} + + jss-plugin-nested@10.10.0: + resolution: {integrity: sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==} + + jss-plugin-props-sort@10.10.0: + resolution: {integrity: sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==} + + jss-plugin-rule-value-function@10.10.0: + resolution: {integrity: sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==} + + jss-plugin-vendor-prefixer@10.10.0: + resolution: {integrity: sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==} + + jss@10.10.0: + resolution: {integrity: sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -986,6 +1128,10 @@ packages: lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -1018,6 +1164,10 @@ packages: node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -1057,6 +1207,9 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -1292,14 +1445,20 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' - react-dom@19.1.0: - resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^19.1.0 + react: ^18.3.1 + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + react-is@19.1.0: + resolution: {integrity: sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==} + react-refresh@0.14.2: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} @@ -1321,8 +1480,8 @@ packages: react-dom: optional: true - react@19.1.0: - resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} regenerator-runtime@0.14.1: @@ -1347,8 +1506,8 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - scheduler@0.26.0: - resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} scroll-into-view-if-needed@3.1.0: resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} @@ -1395,6 +1554,9 @@ packages: resolution: {integrity: sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==} engines: {node: '>=12.22'} + tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -1408,6 +1570,9 @@ packages: peerDependencies: typescript: '>=4.8.4' + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + turbo-stream@2.4.0: resolution: {integrity: sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==} @@ -1521,48 +1686,63 @@ snapshots: dependencies: '@ant-design/fast-color': 2.0.6 - '@ant-design/cssinjs-utils@1.1.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@ant-design/colors@8.0.0': dependencies: - '@ant-design/cssinjs': 1.23.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@babel/runtime': 7.27.0 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@ant-design/fast-color': 3.0.0 - '@ant-design/cssinjs@1.23.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@ant-design/cssinjs-utils@1.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@ant-design/cssinjs': 1.23.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@babel/runtime': 7.27.0 + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@ant-design/cssinjs@1.23.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.27.0 '@emotion/hash': 0.8.0 '@emotion/unitless': 0.7.5 classnames: 2.5.1 csstype: 3.1.3 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) stylis: 4.3.6 '@ant-design/fast-color@2.0.6': dependencies: '@babel/runtime': 7.27.0 + '@ant-design/fast-color@3.0.0': {} + '@ant-design/icons-svg@4.4.2': {} - '@ant-design/icons@5.6.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@ant-design/icons@5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@ant-design/colors': 7.2.0 '@ant-design/icons-svg': 4.4.2 '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@ant-design/react-slick@1.1.2(react@19.1.0)': + '@ant-design/icons@6.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@ant-design/colors': 8.0.0 + '@ant-design/icons-svg': 4.4.2 + '@rc-component/util': 1.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + classnames: 2.5.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@ant-design/react-slick@1.1.2(react@18.3.1)': dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 json2mq: 0.2.0 - react: 19.1.0 + react: 18.3.1 resize-observer-polyfill: 1.5.1 throttle-debounce: 5.0.2 @@ -1680,8 +1860,35 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@dnd-kit/accessibility@3.1.1(react@18.3.1)': + dependencies: + react: 18.3.1 + tslib: 2.8.1 + + '@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@dnd-kit/accessibility': 3.1.1(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + + '@dnd-kit/sortable@10.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + react: 18.3.1 + tslib: 2.8.1 + + '@dnd-kit/utilities@3.2.2(react@18.3.1)': + dependencies: + react: 18.3.1 + tslib: 2.8.1 + '@emotion/hash@0.8.0': {} + '@emotion/hash@0.9.2': {} + '@emotion/unitless@0.7.5': {} '@esbuild/aix-ppc64@0.25.1': @@ -1833,6 +2040,54 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@mui/private-theming@6.4.8(@types/react@19.0.12)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.27.0 + '@mui/utils': 6.4.8(@types/react@19.0.12)(react@18.3.1) + prop-types: 15.8.1 + react: 18.3.1 + optionalDependencies: + '@types/react': 19.0.12 + + '@mui/styles@6.4.8(@types/react@19.0.12)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.27.0 + '@emotion/hash': 0.9.2 + '@mui/private-theming': 6.4.8(@types/react@19.0.12)(react@18.3.1) + '@mui/types': 7.2.24(@types/react@19.0.12) + '@mui/utils': 6.4.8(@types/react@19.0.12)(react@18.3.1) + clsx: 2.1.1 + csstype: 3.1.3 + hoist-non-react-statics: 3.3.2 + jss: 10.10.0 + jss-plugin-camel-case: 10.10.0 + jss-plugin-default-unit: 10.10.0 + jss-plugin-global: 10.10.0 + jss-plugin-nested: 10.10.0 + jss-plugin-props-sort: 10.10.0 + jss-plugin-rule-value-function: 10.10.0 + jss-plugin-vendor-prefixer: 10.10.0 + prop-types: 15.8.1 + react: 18.3.1 + optionalDependencies: + '@types/react': 19.0.12 + + '@mui/types@7.2.24(@types/react@19.0.12)': + optionalDependencies: + '@types/react': 19.0.12 + + '@mui/utils@6.4.8(@types/react@19.0.12)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.27.0 + '@mui/types': 7.2.24(@types/react@19.0.12) + '@types/prop-types': 15.7.14 + clsx: 2.1.1 + prop-types: 15.8.1 + react: 18.3.1 + react-is: 19.1.0 + optionalDependencies: + '@types/react': 19.0.12 + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -1849,70 +2104,76 @@ snapshots: dependencies: '@babel/runtime': 7.27.0 - '@rc-component/color-picker@2.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@rc-component/color-picker@2.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@ant-design/fast-color': 2.0.6 '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@rc-component/context@1.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@rc-component/context@1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.27.0 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) '@rc-component/mini-decimal@1.1.0': dependencies: '@babel/runtime': 7.27.0 - '@rc-component/mutate-observer@1.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@rc-component/mutate-observer@1.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@rc-component/portal@1.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@rc-component/portal@1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@rc-component/qrcode@1.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@rc-component/qrcode@1.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@rc-component/tour@1.15.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@rc-component/tour@1.15.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.27.0 - '@rc-component/portal': 1.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@rc-component/trigger': 2.2.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@rc-component/portal': 1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@rc-component/trigger': 2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@rc-component/trigger@2.2.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@rc-component/trigger@2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.27.0 - '@rc-component/portal': 1.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@rc-component/portal': 1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-resize-observer: 1.4.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-motion: 2.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-resize-observer: 1.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@rc-component/util@1.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-is: 18.3.1 '@rollup/rollup-android-arm-eabi@4.38.0': optional: true @@ -2001,6 +2262,8 @@ snapshots: '@types/json-schema@7.0.15': {} + '@types/prop-types@15.7.14': {} + '@types/react-dom@19.0.4(@types/react@19.0.12)': dependencies: '@types/react': 19.0.12 @@ -2114,57 +2377,57 @@ snapshots: dependencies: color-convert: 2.0.1 - antd@5.24.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + antd@5.24.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@ant-design/colors': 7.2.0 - '@ant-design/cssinjs': 1.23.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@ant-design/cssinjs-utils': 1.1.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@ant-design/cssinjs': 1.23.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@ant-design/cssinjs-utils': 1.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@ant-design/fast-color': 2.0.6 - '@ant-design/icons': 5.6.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@ant-design/react-slick': 1.1.2(react@19.1.0) + '@ant-design/icons': 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@ant-design/react-slick': 1.1.2(react@18.3.1) '@babel/runtime': 7.27.0 - '@rc-component/color-picker': 2.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@rc-component/mutate-observer': 1.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@rc-component/qrcode': 1.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@rc-component/tour': 1.15.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@rc-component/trigger': 2.2.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@rc-component/color-picker': 2.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@rc-component/mutate-observer': 1.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@rc-component/qrcode': 1.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@rc-component/tour': 1.15.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@rc-component/trigger': 2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 copy-to-clipboard: 3.3.3 dayjs: 1.11.13 - rc-cascader: 3.33.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-checkbox: 3.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-collapse: 3.9.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-dialog: 9.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-drawer: 7.2.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-dropdown: 4.2.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-field-form: 2.7.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-image: 7.11.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-input: 1.7.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-input-number: 9.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-mentions: 2.19.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-menu: 9.16.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-motion: 2.9.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-notification: 5.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-pagination: 5.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-picker: 4.11.3(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-progress: 4.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-rate: 2.13.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-resize-observer: 1.4.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-segmented: 2.7.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-select: 14.16.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-slider: 11.1.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-steps: 6.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-switch: 4.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-table: 7.50.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-tabs: 15.5.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-textarea: 1.9.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-tooltip: 6.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-tree: 5.13.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-tree-select: 5.27.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-upload: 4.8.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-cascader: 3.33.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-checkbox: 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-collapse: 3.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-dialog: 9.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-drawer: 7.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-dropdown: 4.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-field-form: 2.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-image: 7.11.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-input: 1.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-input-number: 9.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-mentions: 2.19.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-menu: 9.16.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-motion: 2.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-notification: 5.6.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-pagination: 5.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-picker: 4.11.3(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-progress: 4.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-rate: 2.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-resize-observer: 1.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-segmented: 2.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-select: 14.16.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-slider: 11.1.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-steps: 6.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-switch: 4.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-table: 7.50.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-tabs: 15.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-textarea: 1.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-tooltip: 6.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-tree: 5.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-tree-select: 5.27.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-upload: 4.8.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) scroll-into-view-if-needed: 3.1.0 throttle-debounce: 5.0.2 transitivePeerDependencies: @@ -2207,6 +2470,8 @@ snapshots: classnames@2.5.1: {} + clsx@2.1.1: {} + color-convert@2.0.1: dependencies: color-name: 1.1.4 @@ -2231,6 +2496,11 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + css-vendor@2.0.8: + dependencies: + '@babel/runtime': 7.27.0 + is-in-browser: 1.1.3 + csstype@3.1.3: {} dayjs@1.11.13: {} @@ -2411,6 +2681,12 @@ snapshots: has-flag@4.0.0: {} + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + hyphenate-style-name@1.1.0: {} + ignore@5.3.2: {} import-fresh@3.3.1: @@ -2426,6 +2702,8 @@ snapshots: dependencies: is-extglob: 2.1.1 + is-in-browser@1.1.3: {} + is-number@7.0.0: {} isexe@2.0.0: {} @@ -2450,6 +2728,52 @@ snapshots: json5@2.2.3: {} + jss-plugin-camel-case@10.10.0: + dependencies: + '@babel/runtime': 7.27.0 + hyphenate-style-name: 1.1.0 + jss: 10.10.0 + + jss-plugin-default-unit@10.10.0: + dependencies: + '@babel/runtime': 7.27.0 + jss: 10.10.0 + + jss-plugin-global@10.10.0: + dependencies: + '@babel/runtime': 7.27.0 + jss: 10.10.0 + + jss-plugin-nested@10.10.0: + dependencies: + '@babel/runtime': 7.27.0 + jss: 10.10.0 + tiny-warning: 1.0.3 + + jss-plugin-props-sort@10.10.0: + dependencies: + '@babel/runtime': 7.27.0 + jss: 10.10.0 + + jss-plugin-rule-value-function@10.10.0: + dependencies: + '@babel/runtime': 7.27.0 + jss: 10.10.0 + tiny-warning: 1.0.3 + + jss-plugin-vendor-prefixer@10.10.0: + dependencies: + '@babel/runtime': 7.27.0 + css-vendor: 2.0.8 + jss: 10.10.0 + + jss@10.10.0: + dependencies: + '@babel/runtime': 7.27.0 + csstype: 3.1.3 + is-in-browser: 1.1.3 + tiny-warning: 1.0.3 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -2465,6 +2789,10 @@ snapshots: lodash.merge@4.6.2: {} + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -2492,6 +2820,8 @@ snapshots: node-releases@2.0.19: {} + object-assign@4.1.1: {} + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -2529,355 +2859,368 @@ snapshots: prelude-ls@1.2.1: {} + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + punycode@2.3.1: {} queue-microtask@1.2.3: {} - rc-cascader@3.33.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-cascader@3.33.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-select: 14.16.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-tree: 5.13.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-select: 14.16.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-tree: 5.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-checkbox@3.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-checkbox@3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-collapse@3.9.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-collapse@3.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-motion: 2.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-dialog@9.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-dialog@9.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 - '@rc-component/portal': 1.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@rc-component/portal': 1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-motion: 2.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-drawer@7.2.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-drawer@7.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 - '@rc-component/portal': 1.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@rc-component/portal': 1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-motion: 2.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-dropdown@4.2.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-dropdown@4.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 - '@rc-component/trigger': 2.2.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@rc-component/trigger': 2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-field-form@2.7.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-field-form@2.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 '@rc-component/async-validator': 5.0.4 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-image@7.11.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-image@7.11.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 - '@rc-component/portal': 1.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@rc-component/portal': 1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 - rc-dialog: 9.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-motion: 2.9.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-dialog: 9.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-motion: 2.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-input-number@9.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-input-number@9.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 '@rc-component/mini-decimal': 1.1.0 classnames: 2.5.1 - rc-input: 1.7.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-input: 1.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-input@1.7.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-input@1.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-mentions@2.19.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-mentions@2.19.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 - '@rc-component/trigger': 2.2.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@rc-component/trigger': 2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 - rc-input: 1.7.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-menu: 9.16.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-textarea: 1.9.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-input: 1.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-menu: 9.16.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-textarea: 1.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-menu@9.16.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-menu@9.16.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 - '@rc-component/trigger': 2.2.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@rc-component/trigger': 2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-overflow: 1.4.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-motion: 2.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-overflow: 1.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-motion@2.9.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-motion@2.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-notification@5.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-notification@5.6.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-motion: 2.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-overflow@1.4.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-overflow@1.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-resize-observer: 1.4.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-resize-observer: 1.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-pagination@5.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-pagination@5.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-picker@4.11.3(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-picker@4.11.3(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 - '@rc-component/trigger': 2.2.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@rc-component/trigger': 2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 - rc-overflow: 1.4.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-resize-observer: 1.4.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-overflow: 1.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-resize-observer: 1.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: dayjs: 1.11.13 - rc-progress@4.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-progress@4.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-rate@2.13.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-rate@2.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-resize-observer@1.4.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-resize-observer@1.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) resize-observer-polyfill: 1.5.1 - rc-segmented@2.7.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-segmented@2.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-motion: 2.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-select@14.16.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-select@14.16.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 - '@rc-component/trigger': 2.2.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@rc-component/trigger': 2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-overflow: 1.4.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-virtual-list: 3.18.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-motion: 2.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-overflow: 1.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-virtual-list: 3.18.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-slider@11.1.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-slider@11.1.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-steps@6.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-steps@6.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-switch@4.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-switch@4.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-table@7.50.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-table@7.50.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 - '@rc-component/context': 1.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@rc-component/context': 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 - rc-resize-observer: 1.4.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-virtual-list: 3.18.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-resize-observer: 1.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-virtual-list: 3.18.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-tabs@15.5.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-tabs@15.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-dropdown: 4.2.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-menu: 9.16.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-motion: 2.9.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-resize-observer: 1.4.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-dropdown: 4.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-menu: 9.16.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-motion: 2.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-resize-observer: 1.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-textarea@1.9.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-textarea@1.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-input: 1.7.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-resize-observer: 1.4.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-input: 1.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-resize-observer: 1.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-tooltip@6.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-tooltip@6.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 - '@rc-component/trigger': 2.2.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@rc-component/trigger': 2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-tree-select@5.27.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-tree-select@5.27.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-select: 14.16.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-tree: 5.13.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-select: 14.16.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-tree: 5.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-tree@5.13.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-tree@5.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-virtual-list: 3.18.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-motion: 2.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-virtual-list: 3.18.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-upload@4.8.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-upload@4.8.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - rc-util@5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-util@5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) react-is: 18.3.1 - rc-virtual-list@3.18.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + rc-virtual-list@3.18.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.27.0 classnames: 2.5.1 - rc-resize-observer: 1.4.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - rc-util: 5.44.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + rc-resize-observer: 1.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - react-dom@19.1.0(react@19.1.0): + react-dom@18.3.1(react@18.3.1): dependencies: - react: 19.1.0 - scheduler: 0.26.0 + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-is@16.13.1: {} react-is@18.3.1: {} + react-is@19.1.0: {} + react-refresh@0.14.2: {} - react-router-dom@7.4.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-router-dom@7.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-router: 7.4.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-router: 7.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-router@7.4.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-router@7.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@types/cookie': 0.6.0 cookie: 1.0.2 - react: 19.1.0 + react: 18.3.1 set-cookie-parser: 2.7.1 turbo-stream: 2.4.0 optionalDependencies: - react-dom: 19.1.0(react@19.1.0) + react-dom: 18.3.1(react@18.3.1) - react@19.1.0: {} + react@18.3.1: + dependencies: + loose-envify: 1.4.0 regenerator-runtime@0.14.1: {} @@ -2917,7 +3260,9 @@ snapshots: dependencies: queue-microtask: 1.2.3 - scheduler@0.26.0: {} + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 scroll-into-view-if-needed@3.1.0: dependencies: @@ -2949,6 +3294,8 @@ snapshots: throttle-debounce@5.0.2: {} + tiny-warning@1.0.3: {} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -2959,6 +3306,8 @@ snapshots: dependencies: typescript: 5.7.3 + tslib@2.8.1: {} + turbo-stream@2.4.0: {} type-check@0.4.0: @@ -3005,7 +3354,7 @@ snapshots: yocto-queue@0.1.0: {} - zustand@5.0.3(@types/react@19.0.12)(react@19.1.0): + zustand@5.0.3(@types/react@19.0.12)(react@18.3.1): optionalDependencies: '@types/react': 19.0.12 - react: 19.1.0 + react: 18.3.1 diff --git a/frontend/src/components/HeaderNav.tsx b/frontend/src/components/HeaderNav.tsx index 29034d2..1717283 100644 --- a/frontend/src/components/HeaderNav.tsx +++ b/frontend/src/components/HeaderNav.tsx @@ -1,20 +1,25 @@ -import { Layout, Menu } from 'antd'; -import { Link } from 'react-router-dom'; +import { Layout } from 'antd'; const { Header } = Layout; +// Import the makeStyles function. If you're using @mui/styles, it should be imported like this. +import { makeStyles } from '@mui/styles'; + +const useStyle = makeStyles({ + header: { + padding: 0, + margin: 0, + position: 'static', + top: 0, + display: 'flex', + }, +}); + const HeaderNav = () => { + const style = useStyle(); + return ( -
- - }> - 首页 - - }> - 任务列表 - - -
+
); }; diff --git a/frontend/src/components/SideNav.tsx b/frontend/src/components/SideNav.tsx index 5d027c9..d155161 100644 --- a/frontend/src/components/SideNav.tsx +++ b/frontend/src/components/SideNav.tsx @@ -1,19 +1,23 @@ +import { makeStyles } from '@mui/styles'; import { Layout, Menu } from 'antd'; import { Link } from 'react-router-dom'; const { Sider } = Layout; +const useStyle = makeStyles({ + container: { + padding: 0, + margin: 0, + top: 0, + display: 'flex', + flex: 1, + }, +}); + const SideNav = () => { + const style = useStyle(); return ( - + }> 首页 diff --git a/frontend/src/index.css b/frontend/src/index.css new file mode 100644 index 0000000..d7ef2d9 --- /dev/null +++ b/frontend/src/index.css @@ -0,0 +1,6 @@ +html, body { + height: 100vh; + margin: 0; + padding: 0; + box-sizing: border-box; + } diff --git a/frontend/src/interfaces/step.ts b/frontend/src/interfaces/step.ts new file mode 100644 index 0000000..939c082 --- /dev/null +++ b/frontend/src/interfaces/step.ts @@ -0,0 +1,11 @@ +import { Status } from "./task"; + +export interface Step { + id: number; + title: string; + description: string; + created_at: number; + status: Status; + task_id: number; + type: "src" | "dst" | "mid"; +} \ No newline at end of file diff --git a/frontend/src/interfaces/task.ts b/frontend/src/interfaces/task.ts index dae9dff..8e321e5 100644 --- a/frontend/src/interfaces/task.ts +++ b/frontend/src/interfaces/task.ts @@ -1,8 +1,9 @@ +export type Status = "pending" | "blocked" | "running" | "completed" | "failed"; export interface Task { id: number; title: string; description: string; created_at: number; - status: "pending" | "blocked" | "running" | "completed" | "failed"; + status: Status; }; \ No newline at end of file diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx index d69555e..34a323e 100644 --- a/frontend/src/main.tsx +++ b/frontend/src/main.tsx @@ -1,6 +1,7 @@ import React from 'react'; import ReactDOM from 'react-dom/client'; import AppRoutes from './routes'; +import './index.css'; const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement); root.render( diff --git a/frontend/src/pages/LoginPage.tsx b/frontend/src/pages/LoginPage.tsx new file mode 100644 index 0000000..06217a6 --- /dev/null +++ b/frontend/src/pages/LoginPage.tsx @@ -0,0 +1,71 @@ +import React from 'react'; +import { makeStyles } from '@mui/styles'; +import { Button, Checkbox, Form, FormProps, Input, Space, Typography } from 'antd'; +import { LockOutlined, UserOutlined } from '@ant-design/icons'; + +const useStyle = makeStyles({ + container: { + padding: 0, + margin: 0, + top: 0, + display: 'flex', + flex: 1, + height: '100vh', + alignItems: 'center', // 垂直居中对齐 + justifyContent: 'center', // 水平居中对齐 + backgroundImage: `url('https://cert.umisen.com/api/other/wallpaper')`, // 替换为实际的背景图 URL + backgroundSize: 'cover', + backgroundPosition: 'center', + }, + formContainer: { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + width: '400px', + padding: '40px', + backdropFilter: 'blur(10px)', // 模糊效果 + backgroundColor: 'rgba(255, 255, 255, 0.2)', // 背景颜色 + borderRadius: '10px', // 圆角 + boxShadow: '0 4px 8px rgba(0, 0, 0, 0.2)', // 阴影 + }, + form: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + width: '100%', + }, + "form-filed": { + width: '100%', + "&:nth-child(n+2)": { + marginTop: '20px', + } + }, + input: { + width: '100%', + marginTop: '10px', + } +}); + +const LoginPage: React.FC = () => { + const classes = useStyle(); + + return ( +
+
+
+
+ } /> +
+
+ } /> +
+
+ +
+
+
+
+ ); +}; + +export default LoginPage; \ No newline at end of file diff --git a/frontend/src/pages/TaskPage.tsx b/frontend/src/pages/TaskPage.tsx deleted file mode 100644 index 0e9150e..0000000 --- a/frontend/src/pages/TaskPage.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import { Table } from 'antd'; -import { Layout } from 'antd'; -import useTaskStore from '../services/taskService'; -import { Task } from '../interfaces/task'; -import { TimePipe } from '../utils/pipe'; -import { Button } from 'antd'; -import HeaderNav from '../components/HeaderNav'; -import SideNav from '../components/SideNav'; - -const { Content } = Layout; - -const columns = [ - { - title: '标题', - dataIndex: 'title', - key: 'title', - }, - { - title: '描述', - dataIndex: 'description', - key: 'description', - }, - { - title: '创建日期', - dataIndex: 'created_at', - key: 'created_at', - render: (v: number) => { - return ; - }, - }, - { - title: '状态', - dataIndex: 'status', - key: 'status', - }, -]; - -const TaskPage = () => { - const { tasks } = useTaskStore(); - - function onClickNewTask(e: React.MouseEvent) { - console.log('新建任务', e) - } - - return ( - - - - - - {/* 新增的新建任务按钮 */} - - - columns={columns} - dataSource={tasks.map((v) => ({ ...v, key: v.id }))} - expandable={{ - expandedRowRender: (v) =>

{v.description}

, - }} - /> -
-
-
- ); -}; - -export default TaskPage; \ No newline at end of file diff --git a/frontend/src/pages/TestPage.tsx b/frontend/src/pages/TestPage.tsx new file mode 100644 index 0000000..3bfe311 --- /dev/null +++ b/frontend/src/pages/TestPage.tsx @@ -0,0 +1,80 @@ +import { makeStyles } from "@mui/styles"; +import { Tag } from "antd"; + +const useStyles = makeStyles({ + container: { + height: '200px', + width: '600px', + border: '1px solid black', + margin: "100px", + display: 'flex', + flexDirection: 'column', + flexWrap: 'wrap', + overflowY: 'scroll', + }, + names: { + maxWidth: '140px', + minWidth: '140px', + }, + phones: { + maxWidth: '140px', + minWidth: '140px', + }, + address: { + maxWidth: '140px', + minWidth: '140px', + } +}); +export const TestPage = () => { + const style = useStyles(); + return ( +
+
+ name1 + name2 + name3 + name4 + name5 + name6 + name7 + name8 + name9 + name10 + name11 + name12 + name13 + name14 + name15 +
+
+ phone1 + phone2 + phone3 + phone4 + phone5 + phone6 + phone7 + phone8 + phone9 +
+
+ address1 + address2 + address3 + address4 + address5 + address6 + address7 + address8 +
+
+ birthday + birthday + birthday + birthday + birthday + birthday +
+
+ ); +} \ No newline at end of file diff --git a/frontend/src/pages/task/TaskPage.tsx b/frontend/src/pages/task/TaskPage.tsx new file mode 100644 index 0000000..e918bee --- /dev/null +++ b/frontend/src/pages/task/TaskPage.tsx @@ -0,0 +1,103 @@ +import { Table } from 'antd'; +import { Layout } from 'antd'; +import useTaskStore from '../../services/taskService'; +import { Task, Status as TaskStatus } from '../../interfaces/task'; +import { TimePipe } from '../../utils/pipe'; +import { Button } from 'antd'; +import HeaderNav from '../../components/HeaderNav'; +import SideNav from '../../components/SideNav'; +import { Status } from './components/TaskStatus'; +import { makeStyles } from '@mui/styles'; +import { useState } from 'react'; +import { TaskCreate } from './components/TaskCreate'; + +const { Content } = Layout; + +const useStyle = makeStyles({ + layout: { + minHeight: '100vh', // 设置布局的最小高度为视口高度 + }, + container: { + padding: 0, + margin: 0, + top: 0, + display: 'flex', + flex: 1, + width: '100%', + flexDirection: 'column', // 垂直方向布局 + }, + new_task: { + padding: 10, + margin: 10, + display: 'flex', + flexDirection: 'row', // 水平方向布局 + }, +}) + +const columns = [ + { + title: '标题', + dataIndex: 'title', + key: 'title', + }, + { + title: '描述', + dataIndex: 'description', + key: 'description', + }, + { + title: '创建日期', + dataIndex: 'created_at', + key: 'created_at', + render: (v: number) => { + return ; + }, + }, + { + title: '状态', + dataIndex: 'status', + key: 'status', + render: (v: TaskStatus) => { + return ; + } + }, +]; + +const TaskPage = () => { + const style = useStyle(); + const { tasks } = useTaskStore(); + + const [open_create, set_open_create] = useState(false); // 控制新建任务弹窗的显示和隐藏 + function onClickNewTask(e: React.MouseEvent) { + console.log('新建任务', e) + set_open_create(true) // 显示新建任务弹窗 + } + + return ( + <> + + + + + + +
+ +
+ + columns={columns} + dataSource={tasks.map((v) => ({ ...v, key: v.id }))} + expandable={{ + expandedRowRender: (v) =>

{v.description}

, + }} + /> +
+
+
+ + ); +}; + +export default TaskPage; \ No newline at end of file diff --git a/frontend/src/pages/task/components/TaskCreate.tsx b/frontend/src/pages/task/components/TaskCreate.tsx new file mode 100644 index 0000000..69825e1 --- /dev/null +++ b/frontend/src/pages/task/components/TaskCreate.tsx @@ -0,0 +1,107 @@ +import { makeStyles } from "@mui/styles" +import { Modal, Collapse } from "antd" +import { DndContext } from '@dnd-kit/core' +import { SortableContext, useSortable, verticalListSortingStrategy } from '@dnd-kit/sortable'; +import { CSS } from '@dnd-kit/utilities' +import { arrayMove } from '@dnd-kit/sortable' +import { JSX, useState } from "react" +import { Step } from "../../../interfaces/step"; + +const useStyle = makeStyles({ + footer: { + display: 'flex', + flexDirection: 'row', + } +}) + +export interface TaskCreateProps { + open: boolean, + set_open: (v: boolean) => void +} + +const steps: Step[] = [ + { id: 1, title: '步骤1', type: 'src' } as Step, + { id: 2, title: '步骤2', type: 'mid' } as Step, + { id: 2, title: '步骤3', type: 'mid' } as Step, + { id: 2, title: '步骤4', type: 'mid' } as Step, + { id: 2, title: '步骤5', type: 'mid' } as Step, + { id: 2, title: '步骤6', type: 'mid' } as Step, + { id: 3, title: '步骤7', type: 'dst' } as Step, +] + + +export const TaskCreate = (props: TaskCreateProps) => { + const style = useStyle(); + const [items, setItems] = useState(steps); + + const onDragEnd = ({ active, over }) => { + if (active.id !== over?.id) { + setItems(items => { + const oldIndex = items.indexOf(active.id); + const newIndex = items.indexOf(over.id); + return arrayMove(items, oldIndex, newIndex); + }); + } + }; + + + return ( +
+ + + + + {items.filter(v => v.type === "mid").map(item => ( + + + 步骤内容 + + + ))} + + + + +
+ ); +}; + + +// Bug fix: Correctly define the type of the children prop to avoid implicit 'any' type +const SortableItem = ({ id, children }: { id: number; children: JSX.Element }) => { + const { attributes, listeners, setNodeRef, transform, transition } = useSortable({ id }); + + const style = { + transform: CSS.Transform.toString(transform), + transition, + cursor: 'move', + backgroundColor: 'white', + marginBottom: 8, + borderRadius: 4, + boxShadow: '0 2px 4px rgba(0,0,0,0.1)' + }; + + return ( +
+
⋮⋮
+ {children} +
+ ); +}; \ No newline at end of file diff --git a/frontend/src/pages/task/components/TaskStatus.tsx b/frontend/src/pages/task/components/TaskStatus.tsx new file mode 100644 index 0000000..d4cfa1c --- /dev/null +++ b/frontend/src/pages/task/components/TaskStatus.tsx @@ -0,0 +1,42 @@ +import { Tag } from "antd"; +import { Status as TaskStatus } from "../../../interfaces/task"; +import { LoadingOutlined, CheckCircleOutlined, CloseCircleOutlined, PauseCircleOutlined, ExclamationCircleOutlined } from '@ant-design/icons'; + +export const Status = ({ status }: { status: TaskStatus }) => { + let tag; + switch (status) { + case "pending": + tag = } color="default"> + 等待中 + + break; + case "blocked": + tag = } color="warning"> + 被阻塞 + + break; + case "running": + tag = } color="processing"> + 运行中 + + break; + case "completed": + tag = } color="success"> + 已完成 + ; + break; + case "failed": + tag = } color="error"> + 失败 + + break; + default: + tag = null; + } + + return ( + + {tag} + + ); +}; \ No newline at end of file diff --git a/frontend/src/routes.tsx b/frontend/src/routes.tsx index cba4e53..5d74c88 100644 --- a/frontend/src/routes.tsx +++ b/frontend/src/routes.tsx @@ -1,7 +1,9 @@ import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; import { HomePage } from './pages/HomePage'; import { AboutPage } from './pages/AboutPage'; -import TaskPage from './pages/TaskPage'; +import TaskPage from './pages/task/TaskPage'; +import LoginPage from './pages/LoginPage'; +import { TestPage } from './pages/TestPage'; const AppRoutes = () => { return ( @@ -10,6 +12,8 @@ const AppRoutes = () => { } /> } /> } /> + } /> + } /> ); diff --git a/frontend/src/services/taskService.ts b/frontend/src/services/taskService.ts index 49ac38a..ba3e71f 100644 --- a/frontend/src/services/taskService.ts +++ b/frontend/src/services/taskService.ts @@ -25,6 +25,27 @@ const useTaskStore = create(() => ({ description: '这是任务2的描述', created_at: Date.now(), status: 'running' + }, + { + id: 3, + title: '任务3', + description: '这是任务3的描述', + created_at: Date.now(), + status: 'completed' + }, + { + id: 4, + title: '任务4', + description: '这是任务4的描述', + created_at: Date.now(), + status: 'failed' + }, + { + id: 5, + title: '任务5', + description: '这是任务5的描述', + created_at: Date.now(), + status: 'blocked' } ], getList: () => { diff --git a/frontend/src/utils/pipe.tsx b/frontend/src/utils/pipe.tsx index 02511e2..78042be 100644 --- a/frontend/src/utils/pipe.tsx +++ b/frontend/src/utils/pipe.tsx @@ -1,3 +1,5 @@ +import { Status } from "../interfaces/task"; + export const TimePipe = (props: { timestamp: number }) => { const date = new Date(props.timestamp); return ( @@ -5,4 +7,4 @@ export const TimePipe = (props: { timestamp: number }) => { {date.toLocaleDateString()} ) -} \ No newline at end of file +}