diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 68382483..7089f1e9 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -21,6 +21,9 @@ "@antv/x6-plugin-snapline": "^2.1.7", "@antv/x6-plugin-transform": "^2.1.8", "@antv/x6-react-shape": "^2.2.3", + "@formily/antd-v5": "^1.2.3", + "@formily/core": "^2.3.2", + "@formily/react": "^2.3.2", "@hookform/resolvers": "^3.9.1", "@logicflow/core": "^2.0.9", "@logicflow/extension": "^2.0.13", @@ -44,10 +47,11 @@ "@types/recharts": "^1.8.29", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", - "antd": "^5.22.2", + "antd": "^5.23.1", "axios": "^1.6.2", "cmdk": "^1.0.4", "dagre": "^0.8.5", + "dayjs": "^1.11.13", "form-render": "^2.5.1", "less": "^4.2.1", "monaco-editor": "^0.52.2", @@ -112,11 +116,12 @@ } }, "node_modules/@ant-design/colors": { - "version": "7.1.0", - "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-7.1.0.tgz", - "integrity": "sha512-MMoDGWn1y9LdQJQSHiCC20x3uZ3CwQnv9QMz6pCmJOrqdgM9YxsoVVY0wtrdXbmfSgnV0KNk6zi09NAhMR2jvg==", + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-7.2.0.tgz", + "integrity": "sha512-bjTObSnZ9C/O8MB/B4OUtd/q9COomuJAR2SYfhxLyHvCKn4EKwCN3e+fWGMo7H5InAyV0wL17jdE9ALrdOW/6A==", + "license": "MIT", "dependencies": { - "@ctrl/tinycolor": "^3.6.1" + "@ant-design/fast-color": "^2.0.6" } }, "node_modules/@ant-design/cssinjs": { @@ -138,9 +143,10 @@ } }, "node_modules/@ant-design/cssinjs-utils": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/@ant-design/cssinjs-utils/-/cssinjs-utils-1.1.1.tgz", - "integrity": "sha512-2HAiyGGGnM0es40SxdszeQAU5iWp41wBIInq+ONTCKjlSKOrzQfnw4JDtB8IBmqE6tQaEKwmzTP2LGdt5DSwYQ==", + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/@ant-design/cssinjs-utils/-/cssinjs-utils-1.1.3.tgz", + "integrity": "sha512-nOoQMLW1l+xR1Co8NFVYiP8pZp3VjIIzqV6D6ShYF2ljtdwWJn5WSsH+7kvCktXL/yhEtWURKOfH5Xz/gzlwsg==", + "license": "MIT", "dependencies": { "@ant-design/cssinjs": "^1.21.0", "@babel/runtime": "^7.23.2", @@ -163,9 +169,10 @@ } }, "node_modules/@ant-design/icons": { - "version": "5.5.1", - "resolved": "https://registry.npmmirror.com/@ant-design/icons/-/icons-5.5.1.tgz", - "integrity": "sha512-0UrM02MA2iDIgvLatWrj6YTCYe0F/cwXvVE0E2SqGrL7PZireQwgEKTKBisWpZyal5eXZLvuM98kju6YtYne8w==", + "version": "5.5.2", + "resolved": "https://registry.npmmirror.com/@ant-design/icons/-/icons-5.5.2.tgz", + "integrity": "sha512-xc53rjVBl9v2BqFxUjZGti/RfdDeA8/6KYglmInM2PNqSXc/WfuGDTifJI/ZsokJK0aeKvOIbXc9y2g8ILAhEA==", + "license": "MIT", "dependencies": { "@ant-design/colors": "^7.0.0", "@ant-design/icons-svg": "^4.4.0", @@ -1672,6 +1679,224 @@ "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==", "license": "MIT" }, + "node_modules/@formily/antd-v5": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/@formily/antd-v5/-/antd-v5-1.2.3.tgz", + "integrity": "sha512-QH9x1vNyMtXGuWAkZ8z0qu7akpp8NoOLsM3onKMPAdvSEHBbZDbc6xtdODSmOuhRtzcN0rjXf29oumyidaoeFQ==", + "license": "MIT", + "dependencies": { + "@ant-design/cssinjs": "^1.3.1", + "@ant-design/icons": "^5.0.0", + "@dnd-kit/core": "^6.0.0", + "@dnd-kit/sortable": "^7.0.0", + "@formily/core": "^2.2.0", + "@formily/grid": "^2.2.0", + "@formily/json-schema": "^2.2.0", + "@formily/react": "^2.2.0", + "@formily/reactive": "^2.2.0", + "@formily/reactive-react": "^2.2.0", + "@formily/shared": "^2.2.0", + "classnames": "^2.2.6", + "react-sticky-box": "^1.0.2" + }, + "engines": { + "npm": ">=3.0.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 || >=17.0.0", + "@types/react-dom": ">=16.8.0 || >=17.0.0", + "antd": "^5.13.0", + "react": ">=16.8.0 || >=17.0.0", + "react-dom": ">=16.8.0", + "react-is": ">=16.8.0 || >=17.0.0" + } + }, + "node_modules/@formily/core": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/@formily/core/-/core-2.3.2.tgz", + "integrity": "sha512-qS02mKWDRdm5IYnx3b6L4i/i7oFEBbVotF6B3xdqgbkeSjdzSz81/aJnEr0Sbi3yCgh1FhA0x+QKkpWnE8/GDQ==", + "license": "MIT", + "dependencies": { + "@formily/reactive": "2.3.2", + "@formily/shared": "2.3.2", + "@formily/validator": "2.3.2" + }, + "engines": { + "npm": ">=3.0.0" + } + }, + "node_modules/@formily/grid": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/@formily/grid/-/grid-2.3.2.tgz", + "integrity": "sha512-cbPBOZKHT5xp3DIcn+Tsqm9B2VMWDsfnhbGl7qvKza8v7cDn7io2aFp8a7sQTeZVmRT+A8H30LjCAKJS9n6+2w==", + "license": "MIT", + "dependencies": { + "@formily/reactive": "2.3.2", + "@juggle/resize-observer": "^3.3.1" + }, + "engines": { + "npm": ">=3.0.0" + }, + "peerDependencies": { + "typescript": "4.x || 5.x" + } + }, + "node_modules/@formily/json-schema": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/@formily/json-schema/-/json-schema-2.3.2.tgz", + "integrity": "sha512-DFsdrbxFvdxUtrD5mVRb8USUWJV6KkhSiz83wxA779lgntGDLrwuE0DI2dVg8Vm4dZsK79iB+XhWidaNqH41fQ==", + "license": "MIT", + "dependencies": { + "@formily/core": "2.3.2", + "@formily/reactive": "2.3.2", + "@formily/shared": "2.3.2" + }, + "engines": { + "npm": ">=3.0.0" + }, + "peerDependencies": { + "typescript": ">4.1.5" + } + }, + "node_modules/@formily/path": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/@formily/path/-/path-2.3.2.tgz", + "integrity": "sha512-KK8h/CupHOs4HIgu9JucqwWvIr8Nbmof++Kby0NdNFHdTN5nAyVzStS8VEPFPGRkQaXV3AH+FVGAxgucmEy4ZA==", + "license": "MIT", + "engines": { + "npm": ">=3.0.0" + } + }, + "node_modules/@formily/react": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/@formily/react/-/react-2.3.2.tgz", + "integrity": "sha512-p0jCtX2K9b2/OUdXcDGJhRX4gU4zGFXg1uOYd49iqV1EP+XhRa/4OGAz7QMnUP0K/3FVLboqbQS2nMOKY1rrPg==", + "license": "MIT", + "dependencies": { + "@formily/core": "2.3.2", + "@formily/json-schema": "2.3.2", + "@formily/reactive": "2.3.2", + "@formily/reactive-react": "2.3.2", + "@formily/shared": "2.3.2", + "@formily/validator": "2.3.2", + "hoist-non-react-statics": "^3.3.2" + }, + "engines": { + "npm": ">=3.0.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0", + "@types/react-dom": ">=16.8.0", + "react": ">=16.8.0", + "react-dom": ">=16.8.0", + "react-is": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@formily/react/node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/@formily/react/node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/@formily/reactive": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/@formily/reactive/-/reactive-2.3.2.tgz", + "integrity": "sha512-fw9EBWyBNSo3d1diX+HW3v6fBYqmn5zRM+L8le03XGft847LaajCYkjXiZXSzj7v8U4qzjhURIcqVYgmi4OW8g==", + "license": "MIT", + "engines": { + "npm": ">=3.0.0" + } + }, + "node_modules/@formily/reactive-react": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/@formily/reactive-react/-/reactive-react-2.3.2.tgz", + "integrity": "sha512-SdlKSDbUzgddasDnuUugWR02AGC426jHhc7UJuUU1W4ORAuYQunqdMu7xB7/aF4OAVCw4j6KECQtIPo4kftkFg==", + "license": "MIT", + "dependencies": { + "@formily/reactive": "2.3.2", + "hoist-non-react-statics": "^3.3.2" + }, + "engines": { + "npm": ">=3.0.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0", + "@types/react-dom": ">=16.8.0", + "react": ">=16.8.0", + "react-dom": ">=16.8.0", + "react-is": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@formily/reactive-react/node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/@formily/reactive-react/node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/@formily/shared": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/@formily/shared/-/shared-2.3.2.tgz", + "integrity": "sha512-hb8eL28Dqe4WQzGtxC3h7OwG9VPPBXtfKUfmnRkaBMJ8zn2KmdYOP8YnAkwdO2ZMgxtkOl0hku0Ufm2PwP3ziA==", + "license": "MIT", + "dependencies": { + "@formily/path": "2.3.2", + "camel-case": "^4.1.1", + "lower-case": "^2.0.1", + "no-case": "^3.0.4", + "param-case": "^3.0.4", + "pascal-case": "^3.1.1", + "upper-case": "^2.0.1" + }, + "engines": { + "npm": ">=3.0.0" + } + }, + "node_modules/@formily/validator": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/@formily/validator/-/validator-2.3.2.tgz", + "integrity": "sha512-XoY31kUypHB8MIw9jhp/Pb0fDFan5wPhR9Hgz/HiTPUdpg8l7kxzHRMZieqtL4YbtFzJD4wpk1+XrylILpPGYg==", + "license": "MIT", + "dependencies": { + "@formily/shared": "2.3.2" + }, + "engines": { + "npm": ">=3.0.0" + } + }, "node_modules/@hookform/resolvers": { "version": "3.9.1", "resolved": "https://registry.npmmirror.com/@hookform/resolvers/-/resolvers-3.9.1.tgz", @@ -1838,6 +2063,12 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@juggle/resize-observer": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", + "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==", + "license": "Apache-2.0" + }, "node_modules/@logicflow/core": { "version": "2.0.9", "resolved": "https://registry.npmmirror.com/@logicflow/core/-/core-2.0.9.tgz", @@ -2932,6 +3163,7 @@ "version": "1.4.0", "resolved": "https://registry.npmmirror.com/@rc-component/context/-/context-1.4.0.tgz", "integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", "rc-util": "^5.27.0" @@ -2945,6 +3177,7 @@ "version": "1.1.0", "resolved": "https://registry.npmmirror.com/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz", "integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.0" }, @@ -3023,16 +3256,17 @@ } }, "node_modules/@rc-component/trigger": { - "version": "2.2.5", - "resolved": "https://registry.npmmirror.com/@rc-component/trigger/-/trigger-2.2.5.tgz", - "integrity": "sha512-F1EJ4KjFpGAHAjuKvOyZB/6IZDkVx0bHl0M4fQM5wXcmm7lgTgVSSnR3bXwdmS6jOJGHOqfDxIJW3WUvwMIXhQ==", + "version": "2.2.6", + "resolved": "https://registry.npmmirror.com/@rc-component/trigger/-/trigger-2.2.6.tgz", + "integrity": "sha512-/9zuTnWwhQ3S3WT1T8BubuFTT46kvnXgaERR9f4BTKyn61/wpf/BvbImzYBubzJibU707FxwbKszLlHjcLiv1Q==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.2", "@rc-component/portal": "^1.1.0", "classnames": "^2.3.2", "rc-motion": "^2.0.0", "rc-resize-observer": "^1.3.1", - "rc-util": "^5.38.0" + "rc-util": "^5.44.0" }, "engines": { "node": ">=8.x" @@ -3496,7 +3730,6 @@ "version": "18.3.5", "resolved": "https://registry.npmmirror.com/@types/react-dom/-/react-dom-18.3.5.tgz", "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", - "devOptional": true, "peerDependencies": { "@types/react": "^18.0.0" } @@ -4015,57 +4248,58 @@ } }, "node_modules/antd": { - "version": "5.22.2", - "resolved": "https://registry.npmmirror.com/antd/-/antd-5.22.2.tgz", - "integrity": "sha512-vihhiJbm9VG3d6boUeD1q2MXMax+qBrXhgqCEC+45v8iGUF6m4Ct+lFiCW4oWaN3EABOsbVA6Svy3Rj/QkQFKw==", + "version": "5.23.1", + "resolved": "https://registry.npmmirror.com/antd/-/antd-5.23.1.tgz", + "integrity": "sha512-rg5xd5LotHw0IRyo/nsiUN/EEV3e+xU4V4UmIb/62hMN9+3APyz1Ohjf17a+fN13jC8sNY1hP1K252SU2Th0xA==", + "license": "MIT", "dependencies": { - "@ant-design/colors": "^7.1.0", - "@ant-design/cssinjs": "^1.21.1", - "@ant-design/cssinjs-utils": "^1.1.1", - "@ant-design/icons": "^5.5.1", + "@ant-design/colors": "^7.2.0", + "@ant-design/cssinjs": "^1.22.0", + "@ant-design/cssinjs-utils": "^1.1.3", + "@ant-design/fast-color": "^2.0.6", + "@ant-design/icons": "^5.5.2", "@ant-design/react-slick": "~1.1.2", - "@babel/runtime": "^7.25.7", - "@ctrl/tinycolor": "^3.6.1", + "@babel/runtime": "^7.26.0", "@rc-component/color-picker": "~2.0.1", "@rc-component/mutate-observer": "^1.1.0", "@rc-component/qrcode": "~1.0.0", "@rc-component/tour": "~1.15.1", - "@rc-component/trigger": "^2.2.5", + "@rc-component/trigger": "^2.2.6", "classnames": "^2.5.1", "copy-to-clipboard": "^3.3.3", "dayjs": "^1.11.11", - "rc-cascader": "~3.30.0", - "rc-checkbox": "~3.3.0", + "rc-cascader": "~3.33.0", + "rc-checkbox": "~3.5.0", "rc-collapse": "~3.9.0", "rc-dialog": "~9.6.0", "rc-drawer": "~7.2.0", - "rc-dropdown": "~4.2.0", - "rc-field-form": "~2.5.1", + "rc-dropdown": "~4.2.1", + "rc-field-form": "~2.7.0", "rc-image": "~7.11.0", - "rc-input": "~1.6.3", - "rc-input-number": "~9.3.0", - "rc-mentions": "~2.17.0", + "rc-input": "~1.7.2", + "rc-input-number": "~9.4.0", + "rc-mentions": "~2.19.1", "rc-menu": "~9.16.0", - "rc-motion": "^2.9.3", + "rc-motion": "^2.9.5", "rc-notification": "~5.6.2", - "rc-pagination": "~4.3.0", - "rc-picker": "~4.8.1", + "rc-pagination": "~5.0.0", + "rc-picker": "~4.9.2", "rc-progress": "~4.0.0", "rc-rate": "~2.13.0", - "rc-resize-observer": "^1.4.0", - "rc-segmented": "~2.5.0", - "rc-select": "~14.16.3", - "rc-slider": "~11.1.7", + "rc-resize-observer": "^1.4.3", + "rc-segmented": "~2.7.0", + "rc-select": "~14.16.5", + "rc-slider": "~11.1.8", "rc-steps": "~6.0.1", "rc-switch": "~4.1.0", - "rc-table": "~7.48.1", - "rc-tabs": "~15.4.0", - "rc-textarea": "~1.8.2", - "rc-tooltip": "~6.2.1", - "rc-tree": "~5.10.1", - "rc-tree-select": "~5.24.4", + "rc-table": "~7.50.2", + "rc-tabs": "~15.5.0", + "rc-textarea": "~1.9.0", + "rc-tooltip": "~6.3.2", + "rc-tree": "~5.13.0", + "rc-tree-select": "~5.27.0", "rc-upload": "~4.8.1", - "rc-util": "^5.43.0", + "rc-util": "^5.44.3", "scroll-into-view-if-needed": "^3.1.0", "throttle-debounce": "^5.0.2" }, @@ -4314,6 +4548,16 @@ "node": ">=6" } }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, "node_modules/camelcase-css": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/camelcase-css/-/camelcase-css-2.0.1.tgz", @@ -4820,28 +5064,11 @@ "lodash": "^4.17.15" } }, - "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmmirror.com/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@babel/runtime": "^7.21.0" - }, - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, "node_modules/dayjs": { "version": "1.11.13", "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" }, "node_modules/debug": { "version": "4.3.7", @@ -4945,6 +5172,16 @@ "csstype": "^3.0.2" } }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -6262,6 +6499,15 @@ "loose-envify": "cli.js" } }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", @@ -6465,17 +6711,6 @@ "mobx": "^4.13.1 || ^5.13.1" } }, - "node_modules/moment": { - "version": "2.30.1", - "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": "*" - } - }, "node_modules/monaco-editor": { "version": "0.52.2", "resolved": "https://registry.npmmirror.com/monaco-editor/-/monaco-editor-0.52.2.tgz", @@ -6550,6 +6785,16 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "peer": true }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, "node_modules/node-releases": { "version": "2.0.18", "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.18.tgz", @@ -6662,6 +6907,16 @@ "dev": true, "license": "BlueOak-1.0.0" }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", @@ -6700,6 +6955,16 @@ "node": ">= 0.10" } }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", @@ -7134,14 +7399,15 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/rc-cascader": { - "version": "3.30.0", - "resolved": "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.30.0.tgz", - "integrity": "sha512-rrzSbk1Bdqbu+pDwiLCLHu72+lwX9BZ28+JKzoi0DWZ4N29QYFeip8Gctl33QVd2Xg3Rf14D3yAOG76ElJw16w==", + "version": "3.33.0", + "resolved": "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.33.0.tgz", + "integrity": "sha512-JvZrMbKBXIbEDmpIORxqvedY/bck6hGbs3hxdWT8eS9wSQ1P7//lGxbyKjOSyQiVBbgzNWriSe6HoMcZO/+0rQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.25.7", "classnames": "^2.3.1", "rc-select": "~14.16.2", - "rc-tree": "~5.10.1", + "rc-tree": "~5.13.0", "rc-util": "^5.43.0" }, "peerDependencies": { @@ -7150,9 +7416,10 @@ } }, "node_modules/rc-checkbox": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/rc-checkbox/-/rc-checkbox-3.3.0.tgz", - "integrity": "sha512-Ih3ZaAcoAiFKJjifzwsGiT/f/quIkxJoklW4yKGho14Olulwn8gN7hOBve0/WGDg5o/l/5mL0w7ff7/YGvefVw==", + "version": "3.5.0", + "resolved": "https://registry.npmmirror.com/rc-checkbox/-/rc-checkbox-3.5.0.tgz", + "integrity": "sha512-aOAQc3E98HteIIsSqm6Xk2FPKIER6+5vyEFMZfo73TqM+VVAIqOkHoPjgKLqSNtVLWScoaM7vY2ZrGEheI79yg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.3.2", @@ -7211,14 +7478,15 @@ } }, "node_modules/rc-dropdown": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/rc-dropdown/-/rc-dropdown-4.2.0.tgz", - "integrity": "sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==", + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/rc-dropdown/-/rc-dropdown-4.2.1.tgz", + "integrity": "sha512-YDAlXsPv3I1n42dv1JpdM7wJ+gSUBfeyPK59ZpBD9jQhK9jVuxpjj3NmWQHOBceA1zEPVX84T2wbdb2SD0UjmA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", "@rc-component/trigger": "^2.0.0", "classnames": "^2.2.6", - "rc-util": "^5.17.0" + "rc-util": "^5.44.1" }, "peerDependencies": { "react": ">=16.11.0", @@ -7226,9 +7494,10 @@ } }, "node_modules/rc-field-form": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/rc-field-form/-/rc-field-form-2.5.1.tgz", - "integrity": "sha512-33hunXwynQJyeae7LS3hMGTXNeRBjiPyPYgB0824EbmLHiXC1EBGyUwRh6xjLRy9c+en5WARYN0gJz5+JAqwig==", + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/rc-field-form/-/rc-field-form-2.7.0.tgz", + "integrity": "sha512-hgKsCay2taxzVnBPZl+1n4ZondsV78G++XVsMIJCAoioMjlMQR9YwAp7JZDIECzIu2Z66R+f4SFIRrO2DjDNAA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.0", "@rc-component/async-validator": "^5.0.3", @@ -7260,9 +7529,10 @@ } }, "node_modules/rc-input": { - "version": "1.6.3", - "resolved": "https://registry.npmmirror.com/rc-input/-/rc-input-1.6.3.tgz", - "integrity": "sha512-wI4NzuqBS8vvKr8cljsvnTUqItMfG1QbJoxovCgL+DX4eVUcHIjVwharwevIxyy7H/jbLryh+K7ysnJr23aWIA==", + "version": "1.7.2", + "resolved": "https://registry.npmmirror.com/rc-input/-/rc-input-1.7.2.tgz", + "integrity": "sha512-g3nYONnl4edWj2FfVoxsU3Ec4XTE+Hb39Kfh2MFxMZjp/0gGyPUgy/v7ZhS27ZxUFNkuIDYXm9PJsLyJbtg86A==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", @@ -7274,14 +7544,15 @@ } }, "node_modules/rc-input-number": { - "version": "9.3.0", - "resolved": "https://registry.npmmirror.com/rc-input-number/-/rc-input-number-9.3.0.tgz", - "integrity": "sha512-JQ363ywqRyxwgVxpg2z2kja3CehTpYdqR7emJ/6yJjRdbvo+RvfE83fcpBCIJRq3zLp8SakmEXq60qzWyZ7Usw==", + "version": "9.4.0", + "resolved": "https://registry.npmmirror.com/rc-input-number/-/rc-input-number-9.4.0.tgz", + "integrity": "sha512-Tiy4DcXcFXAf9wDhN8aUAyMeCLHJUHA/VA/t7Hj8ZEx5ETvxG7MArDOSE6psbiSCo+vJPm4E3fGN710ITVn6GA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", "@rc-component/mini-decimal": "^1.0.1", "classnames": "^2.2.5", - "rc-input": "~1.6.0", + "rc-input": "~1.7.1", "rc-util": "^5.40.1" }, "peerDependencies": { @@ -7290,16 +7561,17 @@ } }, "node_modules/rc-mentions": { - "version": "2.17.0", - "resolved": "https://registry.npmmirror.com/rc-mentions/-/rc-mentions-2.17.0.tgz", - "integrity": "sha512-sfHy+qLvc+p8jx8GUsujZWXDOIlIimp6YQz7N5ONQ6bHsa2kyG+BLa5k2wuxgebBbH97is33wxiyq5UkiXRpHA==", + "version": "2.19.1", + "resolved": "https://registry.npmmirror.com/rc-mentions/-/rc-mentions-2.19.1.tgz", + "integrity": "sha512-KK3bAc/bPFI993J3necmaMXD2reZTzytZdlTvkeBbp50IGH1BDPDvxLdHDUrpQx2b2TGaVJsn+86BvYa03kGqA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.22.5", "@rc-component/trigger": "^2.0.0", "classnames": "^2.2.6", - "rc-input": "~1.6.0", + "rc-input": "~1.7.1", "rc-menu": "~9.16.0", - "rc-textarea": "~1.8.0", + "rc-textarea": "~1.9.0", "rc-util": "^5.34.1" }, "peerDependencies": { @@ -7311,6 +7583,7 @@ "version": "9.16.0", "resolved": "https://registry.npmmirror.com/rc-menu/-/rc-menu-9.16.0.tgz", "integrity": "sha512-vAL0yqPkmXWk3+YKRkmIR8TYj3RVdEt3ptG2jCJXWNAvQbT0VJJdRyHZ7kG/l1JsZlB+VJq/VcYOo69VR4oD+w==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", "@rc-component/trigger": "^2.0.0", @@ -7325,13 +7598,14 @@ } }, "node_modules/rc-motion": { - "version": "2.9.3", - "resolved": "https://registry.npmmirror.com/rc-motion/-/rc-motion-2.9.3.tgz", - "integrity": "sha512-rkW47ABVkic7WEB0EKJqzySpvDqwl60/tdkY7hWP7dYnh5pm0SzJpo54oW3TDUGXV5wfxXFmMkxrzRRbotQ0+w==", + "version": "2.9.5", + "resolved": "https://registry.npmmirror.com/rc-motion/-/rc-motion-2.9.5.tgz", + "integrity": "sha512-w+XTUrfh7ArbYEd2582uDrEhmBHwK1ZENJiSJVb7uRxdE7qJSYjbO2eksRXmndqyKqKoYPc9ClpPh5242mV1vA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", - "rc-util": "^5.43.0" + "rc-util": "^5.44.0" }, "peerDependencies": { "react": ">=16.9.0", @@ -7357,9 +7631,10 @@ } }, "node_modules/rc-overflow": { - "version": "1.3.2", - "resolved": "https://registry.npmmirror.com/rc-overflow/-/rc-overflow-1.3.2.tgz", - "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rc-overflow/-/rc-overflow-1.4.1.tgz", + "integrity": "sha512-3MoPQQPV1uKyOMVNd6SZfONi+f3st0r8PksexIdBTeIYbMX0Jr+k7pHEDvsXtR4BpCv90/Pv2MovVNhktKrwvw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", @@ -7372,9 +7647,10 @@ } }, "node_modules/rc-pagination": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/rc-pagination/-/rc-pagination-4.3.0.tgz", - "integrity": "sha512-UubEWA0ShnroQ1tDa291Fzw6kj0iOeF26IsUObxYTpimgj4/qPCWVFl18RLZE+0Up1IZg0IK4pMn6nB3mjvB7g==", + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/rc-pagination/-/rc-pagination-5.0.0.tgz", + "integrity": "sha512-QjrPvbAQwps93iluvFM62AEYglGYhWW2q/nliQqmvkTi4PXP4HHoh00iC1Sa5LLVmtWQHmG73fBi2x6H6vFHRg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.3.2", @@ -7386,9 +7662,10 @@ } }, "node_modules/rc-picker": { - "version": "4.8.1", - "resolved": "https://registry.npmmirror.com/rc-picker/-/rc-picker-4.8.1.tgz", - "integrity": "sha512-lj9hXXMSkbjFUIhfQh8XH698ybxnoBOfq7pdM1FvfSyDwdFhdQa7dvsIYwo6Uz7Zp1wVkfw5rOJO3MpdWzoHsg==", + "version": "4.9.2", + "resolved": "https://registry.npmmirror.com/rc-picker/-/rc-picker-4.9.2.tgz", + "integrity": "sha512-SLW4PRudODOomipKI0dvykxW4P8LOqtMr17MOaLU6NQJhkh9SZeh44a/8BMxwv5T6e3kiIeYc9k5jFg2Mv35Pg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.24.7", "@rc-component/trigger": "^2.0.0", @@ -7455,13 +7732,14 @@ } }, "node_modules/rc-resize-observer": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", - "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", + "version": "1.4.3", + "resolved": "https://registry.npmmirror.com/rc-resize-observer/-/rc-resize-observer-1.4.3.tgz", + "integrity": "sha512-YZLjUbyIWox8E9i9C3Tm7ia+W7euPItNWSPX5sCcQTYbnwDb5uNpnLHQCG1f22oZWUhLw4Mv2tFmeWe68CDQRQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.7", "classnames": "^2.2.1", - "rc-util": "^5.38.0", + "rc-util": "^5.44.1", "resize-observer-polyfill": "^1.5.1" }, "peerDependencies": { @@ -7470,9 +7748,10 @@ } }, "node_modules/rc-segmented": { - "version": "2.5.0", - "resolved": "https://registry.npmmirror.com/rc-segmented/-/rc-segmented-2.5.0.tgz", - "integrity": "sha512-B28Fe3J9iUFOhFJET3RoXAPFJ2u47QvLSYcZWC4tFYNGPEjug5LAxEasZlA/PpAxhdOPqGWsGbSj7ftneukJnw==", + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/rc-segmented/-/rc-segmented-2.7.0.tgz", + "integrity": "sha512-liijAjXz+KnTRVnxxXG2sYDGd6iLL7VpGGdR8gwoxAXy2KglviKCxLWZdjKYJzYzGSUwKDSTdYk8brj54Bn5BA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", @@ -7485,9 +7764,10 @@ } }, "node_modules/rc-select": { - "version": "14.16.3", - "resolved": "https://registry.npmmirror.com/rc-select/-/rc-select-14.16.3.tgz", - "integrity": "sha512-51+j6s3fJJJXB7E+B6W1hM4Tjzv1B/Decooz9ilgegDBt3ZAth1b/xMwYCTrT5BbG2e53XACQsyDib2+3Ro1fg==", + "version": "14.16.5", + "resolved": "https://registry.npmmirror.com/rc-select/-/rc-select-14.16.5.tgz", + "integrity": "sha512-cRls713egTcitJ7WUXhHEf22h3U1OMC8nbw9+HN4Fniew8Xo3avgEDvIeGRwhbiyPNbQR23AwP+tt6KWUcB4IA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", "@rc-component/trigger": "^2.1.1", @@ -7506,9 +7786,10 @@ } }, "node_modules/rc-slider": { - "version": "11.1.7", - "resolved": "https://registry.npmmirror.com/rc-slider/-/rc-slider-11.1.7.tgz", - "integrity": "sha512-ytYbZei81TX7otdC0QvoYD72XSlxvTihNth5OeZ6PMXyEDq/vHdWFulQmfDGyXK1NwKwSlKgpvINOa88uT5g2A==", + "version": "11.1.8", + "resolved": "https://registry.npmmirror.com/rc-slider/-/rc-slider-11.1.8.tgz", + "integrity": "sha512-2gg/72YFSpKP+Ja5AjC5DPL1YnV8DEITDQrcc1eASrUYjl0esptaBVJBh5nLTXCCp15eD8EuGjwezVGSHhs9tQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", @@ -7554,15 +7835,16 @@ } }, "node_modules/rc-table": { - "version": "7.48.1", - "resolved": "https://registry.npmmirror.com/rc-table/-/rc-table-7.48.1.tgz", - "integrity": "sha512-Z4mDKjWg+xz/Ezdw6ivWcbqRpaJ0QfCORRoRrlrw65KSGZLK8OcTdacH22/fyGb8L4It/0/9qcMm8VrVAk/WBw==", + "version": "7.50.2", + "resolved": "https://registry.npmmirror.com/rc-table/-/rc-table-7.50.2.tgz", + "integrity": "sha512-+nJbzxzstBriLb5sr9U7Vjs7+4dO8cWlouQbMwBVYghk2vr508bBdkHJeP/z9HVjAIKmAgMQKxmtbgDd3gc5wA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", "@rc-component/context": "^1.4.0", "classnames": "^2.2.5", "rc-resize-observer": "^1.1.0", - "rc-util": "^5.41.0", + "rc-util": "^5.44.3", "rc-virtual-list": "^3.14.2" }, "engines": { @@ -7574,9 +7856,10 @@ } }, "node_modules/rc-tabs": { - "version": "15.4.0", - "resolved": "https://registry.npmmirror.com/rc-tabs/-/rc-tabs-15.4.0.tgz", - "integrity": "sha512-llKuyiAVqmXm2z7OrmhX5cNb2ueZaL8ZyA2P4R+6/72NYYcbEgOXibwHiQCFY2RiN3swXl53SIABi2CumUS02g==", + "version": "15.5.0", + "resolved": "https://registry.npmmirror.com/rc-tabs/-/rc-tabs-15.5.0.tgz", + "integrity": "sha512-NrDcTaUJLh9UuDdMBkjKTn97U9iXG44s9D03V5NHkhEDWO5/nC6PwC3RhkCWFMKB9hh+ryqgZ+TIr1b9Jd/hnQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.11.2", "classnames": "2.x", @@ -7595,13 +7878,14 @@ } }, "node_modules/rc-textarea": { - "version": "1.8.2", - "resolved": "https://registry.npmmirror.com/rc-textarea/-/rc-textarea-1.8.2.tgz", - "integrity": "sha512-UFAezAqltyR00a8Lf0IPAyTd29Jj9ee8wt8DqXyDMal7r/Cg/nDt3e1OOv3Th4W6mKaZijjgwuPXhAfVNTN8sw==", + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/rc-textarea/-/rc-textarea-1.9.0.tgz", + "integrity": "sha512-dQW/Bc/MriPBTugj2Kx9PMS5eXCCGn2cxoIaichjbNvOiARlaHdI99j4DTxLl/V8+PIfW06uFy7kjfUIDDKyxQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.1", - "rc-input": "~1.6.0", + "rc-input": "~1.7.1", "rc-resize-observer": "^1.0.0", "rc-util": "^5.27.0" }, @@ -7611,9 +7895,10 @@ } }, "node_modules/rc-tooltip": { - "version": "6.2.1", - "resolved": "https://registry.npmmirror.com/rc-tooltip/-/rc-tooltip-6.2.1.tgz", - "integrity": "sha512-rws0duD/3sHHsD905Nex7FvoUGy2UBQRhTkKxeEvr2FB+r21HsOxcDJI0TzyO8NHhnAA8ILr8pfbSBg5Jj5KBg==", + "version": "6.3.2", + "resolved": "https://registry.npmmirror.com/rc-tooltip/-/rc-tooltip-6.3.2.tgz", + "integrity": "sha512-oA4HZIiZJbUQ5ojigM0y4XtWxaH/aQlJSzknjICRWNpqyemy1sL3X3iEQV2eSPBWEq+bqU3+aSs81z+28j9luA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.11.2", "@rc-component/trigger": "^2.0.0", @@ -7625,9 +7910,10 @@ } }, "node_modules/rc-tree": { - "version": "5.10.1", - "resolved": "https://registry.npmmirror.com/rc-tree/-/rc-tree-5.10.1.tgz", - "integrity": "sha512-FPXb3tT/u39mgjr6JNlHaUTYfHkVGW56XaGDahDpEFLGsnPxGcVLNTjcqoQb/GNbSCycl7tD7EvIymwOTP0+Yw==", + "version": "5.13.0", + "resolved": "https://registry.npmmirror.com/rc-tree/-/rc-tree-5.13.0.tgz", + "integrity": "sha512-2+lFvoVRnvHQ1trlpXMOWtF8BUgF+3TiipG72uOfhpL5CUdXCk931kvDdUkTL/IZVtNEDQKwEEmJbAYJSA5NnA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", @@ -7644,14 +7930,15 @@ } }, "node_modules/rc-tree-select": { - "version": "5.24.5", - "resolved": "https://registry.npmmirror.com/rc-tree-select/-/rc-tree-select-5.24.5.tgz", - "integrity": "sha512-PnyR8LZJWaiEFw0SHRqo4MNQWyyZsyMs8eNmo68uXZWjxc7QqeWcjPPoONN0rc90c3HZqGF9z+Roz+GLzY5GXA==", + "version": "5.27.0", + "resolved": "https://registry.npmmirror.com/rc-tree-select/-/rc-tree-select-5.27.0.tgz", + "integrity": "sha512-2qTBTzwIT7LRI1o7zLyrCzmo5tQanmyGbSaGTIf7sYimCklAToVVfpMC6OAldSKolcnjorBYPNSKQqJmN3TCww==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.25.7", "classnames": "2.x", "rc-select": "~14.16.2", - "rc-tree": "~5.10.1", + "rc-tree": "~5.13.0", "rc-util": "^5.43.0" }, "peerDependencies": { @@ -7704,9 +7991,10 @@ } }, "node_modules/rc-util": { - "version": "5.43.0", - "resolved": "https://registry.npmmirror.com/rc-util/-/rc-util-5.43.0.tgz", - "integrity": "sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==", + "version": "5.44.3", + "resolved": "https://registry.npmmirror.com/rc-util/-/rc-util-5.44.3.tgz", + "integrity": "sha512-q6KCcOFk3rv/zD3MckhJteZxb0VjAIFuf622B7ElK4vfrZdAzs16XR5p3VTdy3+U5jfJU5ACz4QnhLSuAGe5dA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", "react-is": "^18.2.0" @@ -7717,9 +8005,10 @@ } }, "node_modules/rc-virtual-list": { - "version": "3.15.0", - "resolved": "https://registry.npmmirror.com/rc-virtual-list/-/rc-virtual-list-3.15.0.tgz", - "integrity": "sha512-dF2YQztqrU3ijAeWOqscTshCEr7vpimzSqAVjO1AyAmaqcHulaXpnGR0ptK5PXfxTUy48VkJOiglMIxlkYGs0w==", + "version": "3.17.1", + "resolved": "https://registry.npmmirror.com/rc-virtual-list/-/rc-virtual-list-3.17.1.tgz", + "integrity": "sha512-n9rKy6BB/Hi/LsOJr9ILpeFxDJfAIYzFYX1famZb0KLQrlsdxNBDsBjBY9lblJ35MTRJwi06ohv5ma9uTUeLog==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.0", "classnames": "^2.2.6", @@ -7930,6 +8219,18 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, + "node_modules/react-sticky-box": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/react-sticky-box/-/react-sticky-box-1.0.2.tgz", + "integrity": "sha512-Kyvtppdtv1KqJyNU4DtrSMI0unyQRgtraZvVQ0GAazVbYiTsIVpyhpr+5R0Aavzu4uJNSe1awj2rk/qI7i6Zfw==", + "license": "ISC", + "dependencies": { + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, "node_modules/react-style-singleton": { "version": "2.2.3", "resolved": "https://registry.npmmirror.com/react-style-singleton/-/react-style-singleton-2.2.3.tgz", @@ -8874,7 +9175,6 @@ "version": "5.7.2", "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.7.2.tgz", "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", - "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -8926,6 +9226,15 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/upper-case/-/upper-case-2.0.2.tgz", + "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index 5ae7dffe..0584418c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -23,6 +23,9 @@ "@antv/x6-plugin-snapline": "^2.1.7", "@antv/x6-plugin-transform": "^2.1.8", "@antv/x6-react-shape": "^2.2.3", + "@formily/antd-v5": "^1.2.3", + "@formily/core": "^2.3.2", + "@formily/react": "^2.3.2", "@hookform/resolvers": "^3.9.1", "@logicflow/core": "^2.0.9", "@logicflow/extension": "^2.0.13", @@ -46,10 +49,11 @@ "@types/recharts": "^1.8.29", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", - "antd": "^5.22.2", + "antd": "^5.23.1", "axios": "^1.6.2", "cmdk": "^1.0.4", "dagre": "^0.8.5", + "dayjs": "^1.11.13", "form-render": "^2.5.1", "less": "^4.2.1", "monaco-editor": "^0.52.2", diff --git a/frontend/src/pages/Deploy/Deployment/List/components/DeploymentConfigModal-a.tsx b/frontend/src/pages/Deploy/Deployment/List/components/DeploymentConfigModal-a.tsx new file mode 100644 index 00000000..8ae49756 --- /dev/null +++ b/frontend/src/pages/Deploy/Deployment/List/components/DeploymentConfigModal-a.tsx @@ -0,0 +1,137 @@ +import React from 'react'; +import { + Dialog, + DialogContent, + DialogHeader, + DialogTitle, + DialogDescription +} from "@/components/ui/dialog"; +import type {DeploymentConfig} from '../types'; +import {FormButtonGroup, FormItem, Select, Submit} from '@formily/antd-v5' +import {createForm, Field, FieldDataSource} from '@formily/core' +import {createSchemaField, FormProvider, ISchema} from '@formily/react' +import {action} from '@formily/reactive' + +interface DeploymentConfigModalProps { + open: boolean; + onCancel: () => void; + onSuccess: () => void; + initialValues?: DeploymentConfig; + envId: number; +} + +const DeploymentConfigModal: React.FC = ({ + open, + onCancel, + onSuccess, + initialValues, + envId, +}) => { + const SchemaField = createSchemaField({ + components: { + Select, + FormItem, + }, + }) + + const loadData = async (field: Field) => { + const linkage = field.query('linkage').get('value') + if (!linkage) return [] + return new Promise((resolve) => { + setTimeout(() => { + if (linkage === 1) { + resolve([ + { + label: 'AAA', + value: 'aaa', + }, + { + label: 'BBB', + value: 'ccc', + }, + ]) + } else if (linkage === 2) { + resolve([ + { + label: 'CCC', + value: 'ccc', + }, + { + label: 'DDD', + value: 'ddd', + }, + ]) + } + }, 1500) + }) + } + + const useAsyncDataSource = (service: typeof loadData) => (field: Field) => { + field.loading = true + service(field).then( + action.bound?.((data) => { + field.dataSource = data + field.loading = false + }) + ) + } + + const form = createForm() + + const schema: ISchema = { + type: 'object', + properties: { + linkage: { + type: 'string', + title: '联动选择框', + enum: [ + {label: '发请求1', value: 1}, + {label: '发请求2', value: 2}, + ], + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + style: { + width: 120, + }, + }, + }, + select: { + type: 'string', + title: '异步选择框', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + style: { + width: 120, + }, + }, + 'x-reactions': ['{{useAsyncDataSource(loadData)}}'], + }, + }, + } + + return ( + !open && onCancel()}> + + + 部署配置 + + 配置三方Jenkins系统相关参数 + + + +
+ + + + Submit + + +
+
+
+ ); +}; + +export default DeploymentConfigModal; \ No newline at end of file diff --git a/frontend/src/pages/Deploy/Deployment/List/components/DeploymentConfigModal.tsx b/frontend/src/pages/Deploy/Deployment/List/components/DeploymentConfigModal.tsx index ffc6514e..eb0aed83 100644 --- a/frontend/src/pages/Deploy/Deployment/List/components/DeploymentConfigModal.tsx +++ b/frontend/src/pages/Deploy/Deployment/List/components/DeploymentConfigModal.tsx @@ -1,19 +1,12 @@ -import React, {useEffect, useState, useCallback} from 'react'; -import {Modal, Form, Select, message, Switch, Space, Button} from 'antd'; -import {FullscreenOutlined} from '@ant-design/icons'; -import type {DeploymentConfig, DeployConfigTemplate, CreateDeploymentConfigRequest} from '../types'; -import {createDeploymentConfig, updateDeploymentConfig, getDeployConfigTemplates} from '../service'; -import {getApplicationList} from '../../../Application/List/service'; -import type {Application} from '../../../Application/List/types'; -import {BetaSchemaForm} from '@ant-design/pro-form'; -import {convertJsonSchemaToColumns} from '@/utils/jsonSchemaUtils'; -import {Editor} from '@/components/Editor'; -import type {JsonNode} from '@/types/common'; -import {getPublishedDefinitions} from '@/pages/Workflow/Definition/service'; -import type {WorkflowDefinition} from '@/pages/Workflow/Definition/types'; +import React from 'react'; +import {Modal} from 'antd'; +import type {DeploymentConfig} from '../types'; import './styles.less'; - -const {Option} = Select; +import {FormButtonGroup, FormItem, Select, Submit, FormGrid} from '@formily/antd-v5' +import {createForm, Field, FieldDataSource} from '@formily/core' +import {createSchemaField, FormProvider, ISchema} from '@formily/react' +import {action} from '@formily/reactive' +import request from '@/utils/request'; interface DeploymentConfigModalProps { open: boolean; @@ -23,203 +16,141 @@ interface DeploymentConfigModalProps { envId: number; } +// 定义字段映射接口 +interface FieldMapping { + label: string; // 显示字段 + value: string; // 值字段 +} + const DeploymentConfigModal: React.FC = ({ - open, - onCancel, - onSuccess, - initialValues, - envId, -}) => { - const [form] = Form.useForm(); - const [applications, setApplications] = useState([]); - const [templates, setTemplates] = useState([]); - const [selectedTemplate, setSelectedTemplate] = useState(); - const [buildVariables, setBuildVariables] = useState({}); - const [loading, setLoading] = useState(false); - const [workflowDefinitions, setWorkflowDefinitions] = useState([]); - const [fullscreenEditor, setFullscreenEditor] = useState<{ - key: string; - title: string; - } | null>(null); - const isEdit = !!initialValues?.id; + open, + onCancel, + onSuccess, + initialValues, + envId, + }) => { - // 获取应用列表 - const fetchApplications = useCallback(async () => { - try { - const data = await getApplicationList(); - setApplications(data); - } catch (error) { - message.error('获取应用列表失败'); + const SchemaField = createSchemaField({ + components: { + Select, + FormItem, + FormGrid, + }, + }) + + // 通用的异步数据源加载方法 + const useAsyncDataSource = ( + url: string, + options?: { + params?: Record; + mapping?: FieldMapping; } - }, []); - - // 获取配置模板 - const fetchTemplates = useCallback(async () => { - try { - const data = await getDeployConfigTemplates(); - setTemplates(data); - } catch (error) { - message.error('获取配置模板失败'); - } - }, []); - - // 获取已发布的工作流列表 - const fetchWorkflowDefinitions = useCallback(async () => { - try { - const data = await getPublishedDefinitions(0); - setWorkflowDefinitions(data); - } catch (error) { - message.error('获取工作流列表失败'); - } - }, []); - - // 在模态框显示时获取数据 - useEffect(() => { - if (open) { - fetchApplications(); - fetchTemplates(); - if (!isEdit) { - fetchWorkflowDefinitions(); - } - } - }, [open, fetchApplications, fetchTemplates, fetchWorkflowDefinitions, isEdit]); - - // 初始化表单数据 - useEffect(() => { - if (!open) return; - - if (initialValues) { - // 设置基础字段 - form.setFieldsValue({ - applicationId: initialValues.applicationId, - enabled: initialValues.enabled, - ...initialValues.buildVariables // 设置所有构建变量到表单中 - }); - - const template = templates.find(t => t.buildType === initialValues.buildType && t.languageType === initialValues.languageType); - if (template) { - setSelectedTemplate(template); - // 只保存编辑器字段的值到 buildVariables - const editorValues = Object.entries(initialValues.buildVariables || {}) - .filter(([key]) => template.buildVariablesSchema?.properties?.[key]?.editorConfig) - .reduce((acc, [key, value]) => ({...acc, [key]: value}), {}); - setBuildVariables(editorValues); - } - } else { - form.resetFields(); - form.setFieldsValue({ - enabled: true - }); - setSelectedTemplate(undefined); - setBuildVariables({}); - } - }, [open, initialValues, form, templates]); - - const handleAppChange = useCallback((applicationId: number) => { - const app = applications.find(a => a.id === applicationId); - if (app) { - const template = templates.find(t => t.languageType === app.language); - if (template) { - setSelectedTemplate(template); - setBuildVariables({}); - // 重置除了 applicationId 和 enabled 之外的所有字段 - const currentValues = form.getFieldsValue(); - form.setFieldsValue({ - applicationId: currentValues.applicationId, - enabled: currentValues.enabled - }); - } - } - }, [applications, templates, form]); - - const handleFormValuesChange = (changedValues: Record) => { - setBuildVariables(prev => ({ - ...prev, - ...changedValues - })); + ) => (field: Field) => { + const {params, mapping = {label: 'name', value: 'id'}} = options || {}; + field.loading = true; + request.get(url, {params}) + .then(action.bound?.((response) => { + field.dataSource = response.map((item: any) => ({ + label: item[mapping.label], + value: item[mapping.value] + })); + field.loading = false; + })) + .catch(action.bound?.((error) => { + console.error(`Failed to load data from ${url}:`, error); + field.dataSource = []; + field.loading = false; + })); }; - const handleSubmit = async () => { - try { - setLoading(true); - const formValues = await form.validateFields(); + const form = createForm() - // 获取选中的应用信息 - const selectedApp = applications.find(app => app.id === formValues.applicationId); - if (!selectedApp) { - throw new Error('请选择应用'); + const schema: ISchema = { + type: 'object', + properties: { + layout: { + type: 'void', + 'x-component': 'FormGrid', + 'x-component-props': { + maxColumns: 2, + minColumns: 2, + columnGap: 24 + }, + properties: { + externalSystem: { + type: 'string', + title: '三方系统', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + style: { + width: '100%' + }, + placeholder: '请选择三方系统' + }, + 'x-reactions': ["{{useAsyncDataSource('/api/v1/external-system/list', { params: { type: 'JENKINS' }, mapping: { label: 'name', value: 'id' } })}}"], + }, + jenkinsView: { + type: 'string', + title: 'Jenkins视图', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + style: { + width: '100%' + }, + placeholder: '请选择Jenkins视图' + }, + 'x-reactions': { + dependencies: ['externalSystem'], + fulfill: { + state: { + visible: '{{!!$deps[0]}}', + value: undefined + }, + run: '{{function runEffect(){if($deps[0]){useAsyncDataSource("/api/v1/jenkins-view/list", { params: { externalSystemId: $deps[0] }, mapping: { label: "viewName", value: "id" } })($self)}};runEffect()}}' + } + }, + "description": "{{$self.dataSource && $self.value ? ($self.dataSource.find(item => item.value === $self.value)?.extra?.description) : undefined}}" + }, + jenkinsJob: { + type: 'string', + title: 'Jenkins作业', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + style: { + width: '100%' + }, + placeholder: '请选择Jenkins作业' + }, + 'x-reactions': { + dependencies: ['externalSystem', 'jenkinsView'], + fulfill: { + state: { + visible: '{{!!$deps[0] && !!$deps[1]}}', + value: undefined + }, + run: '{{function runEffect(){if($deps[0] && $deps[1]){useAsyncDataSource("/api/v1/jenkins-job/list", { params: { externalSystemId: $deps[0], viewId: $deps[1] }, mapping: { label: "jobName", value: "id" } })($self)}};runEffect()}}' + } + }, + "description": "{{$self.dataSource && $self.value ? ($self.dataSource.find(item => item.value === $self.value)?.extra?.description) : undefined}}" + } + } } - - // 获取对应的模板 - const template = templates.find(t => t.languageType === selectedApp.language); - if (!template) { - throw new Error('未找到匹配配置模板'); - } - - // 从 formValues 中提取构建变量(排除 applicationId、enabled 和 workflowDefinitionId) - const { applicationId, enabled, workflowDefinitionId, ...formBuildVariables } = formValues; - - // 构建提交数据 - const submitData: CreateDeploymentConfigRequest = { - environmentId: envId, - applicationId, - buildType: template.buildType, - languageType: selectedApp.language, - buildVariables: { - ...formBuildVariables, // 表单中的值 - ...buildVariables // 编辑器中的值 - } as Record, // 使用类型断言确保类型兼容 - enabled, - workflowDefinitionId: isEdit ? initialValues.workflowDefinitionId : workflowDefinitionId - }; - - if (isEdit) { - await updateDeploymentConfig({ - ...submitData, - id: initialValues.id, - formVariablesSchema: initialValues.formVariablesSchema, - }); - } else { - await createDeploymentConfig(submitData); - } - message.success(`${isEdit ? '更新' : '创建'}成功`); - form.resetFields(); - onSuccess(); - } catch (error) { - if (error instanceof Error) { - message.error(`${isEdit ? '更新' : '创建'}失败: ${error.message}`); - } else { - message.error(`${isEdit ? '更新' : '创建'}失败`); - } - } finally { - setLoading(false); } - }; - - // 处理富文本编辑器的值变化 - const handleEditorChange = (key: string, value: string | undefined) => { - setBuildVariables(prev => ({ - ...prev, - [key]: value || '' - })); - }; + } return ( <> { - form.resetFields(); - onCancel(); - }} - onOk={handleSubmit} width={800} className="deployment-config-modal" maskClosable={false} - confirmLoading={loading} destroyOnClose - style={{ top: 50 }} + style={{top: 50}} styles={{ body: { height: 'calc(100vh - 250px)', @@ -228,181 +159,15 @@ const DeploymentConfigModal: React.FC = ({ } }} > -
- {/* 应用选择 */} - - - - - {/* 工作流选择 */} - {!isEdit && ( - - - - )} - - {/* 动态构建配置 */} - {selectedTemplate?.buildVariablesSchema?.properties && ( - <> - {/* 使用 BetaSchemaForm 渲染普通字段 */} - !prop.editorConfig) - .map(([key, prop]) => [key, { - ...prop, - type: prop.type || 'string' // 确保有 type 字段 - }]) - ), - required: selectedTemplate.buildVariablesSchema.required || [] - })} - initialValues={buildVariables} - onValuesChange={(_, values) => { - setBuildVariables(prev => ({ - ...prev, - ...values - })); - }} - /> - - {/* 渲染编辑器字段 */} - {Object.entries(selectedTemplate.buildVariablesSchema.properties) - .filter(([_, prop]) => prop.editorConfig) - .map(([key, property]) => { - const isFullscreen = fullscreenEditor?.key === key; - - const editor = ( - handleEditorChange(key, value)} - options={{ - minimap: { enabled: isFullscreen ? true : (property.editorConfig.minimap ?? false) }, - fontSize: property.editorConfig.fontSize || 14, - lineNumbers: property.editorConfig.lineNumbers ? 'on' : 'off', - wordWrap: property.editorConfig.wordWrap ? 'on' : 'off', - tabSize: property.editorConfig.tabSize || 2, - scrollBeyondLastLine: false, - automaticLayout: true, - folding: property.editorConfig.folding ?? true, - autoClosingBrackets: 'always', - autoClosingQuotes: 'always', - formatOnPaste: true, - formatOnType: true, - suggestOnTriggerCharacters: property.editorConfig.autoComplete ?? true, - renderWhitespace: 'boundary', - }} - /> - ); - - return isFullscreen ? ( - setFullscreenEditor(null)} - footer={null} - width="100vw" - styles={{ - body: { padding: 0 }, - mask: { backgroundColor: 'rgba(0, 0, 0, 0.65)' }, - content: { - position: 'fixed', - top: 0, - left: 0, - right: 0, - bottom: 0, - margin: 0, - padding: 0, - width: '100vw', - height: '100vh' - } - }} - > - {editor} - - ) : ( - - {property.title || key} -