From 60d7d7fe5cba8a4446fa2a79c940f3e641069e67 Mon Sep 17 00:00:00 2001 From: Ivan Li Date: Fri, 1 Oct 2021 01:19:55 +0800 Subject: [PATCH] chore: migration mui v4 -> v5. --- package-lock.json | 1108 +++++++++++++++++-- package.json | 11 +- src/App.tsx | 4 +- src/commits/commit-list.tsx | 20 +- src/commons/auth/login.tsx | 49 +- src/commons/fallbacks/error-page.tsx | 2 +- src/commons/route/router.tsx | 2 +- src/generated/graphql.schema.json | 343 +----- src/generated/graphql.tsx | 38 - src/index.tsx | 44 +- src/layouts/default.tsx | 31 +- src/pipeline-tasks/pipeline-task-detail.tsx | 3 +- src/pipelines/pipeline-editor.tsx | 22 +- src/pipelines/pipeline-list.tsx | 65 +- src/projects/project-detail.tsx | 21 +- src/projects/project-editor.tsx | 22 +- src/projects/project-panel.tsx | 9 +- 17 files changed, 1190 insertions(+), 604 deletions(-) diff --git a/package-lock.json b/package-lock.json index 32e8ab3..a90a829 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,15 +12,16 @@ "@craco/craco": "^6.3.0", "@curi/react-dom": "^2.0.4", "@curi/router": "^2.1.2", - "@date-io/date-fns": "^1.3.13", + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", "@fortawesome/fontawesome-svg-core": "^1.2.35", "@fortawesome/free-solid-svg-icons": "^5.15.3", "@fortawesome/react-fontawesome": "^0.1.14", "@hickory/browser": "^2.1.0", - "@material-ui/core": "^4.11.3", - "@material-ui/icons": "^4.11.2", - "@material-ui/lab": "*", - "@material-ui/pickers": "^3.3.10", + "@mui/icons-material": "^5.0.1", + "@mui/lab": "^5.0.0-alpha.49", + "@mui/material": "^5.0.2", + "@mui/styles": "^5.0.1", "@testing-library/jest-dom": "^5.11.10", "@testing-library/react": "^11.2.6", "@testing-library/user-event": "^12.8.3", @@ -2686,18 +2687,124 @@ "version": "1.3.13", "resolved": "https://npm.ivanli.cc/@date-io%2fcore/-/core-1.3.13.tgz", "integrity": "sha512-AlEKV7TxjeK+jxWVKcCFrfYAk8spX9aCyiToFIiLPtfQbsjmRGLIhb5VZgptQcJdHtLXo7+m0DuurwFgUToQuA==", - "license": "MIT" + "license": "MIT", + "peer": true }, - "node_modules/@date-io/date-fns": { - "version": "1.3.13", - "resolved": "https://npm.ivanli.cc/@date-io%2fdate-fns/-/date-fns-1.3.13.tgz", - "integrity": "sha512-yXxGzcRUPcogiMj58wVgFjc9qUYrCnnU9eLcyNbsQCmae4jPuZCDoIBR21j8ZURsM7GRtU62VOw5yNd4dDHunA==", + "node_modules/@date-io/dayjs": { + "version": "2.11.0", + "resolved": "https://npm.ivanli.cc/@date-io%2fdayjs/-/dayjs-2.11.0.tgz", + "integrity": "sha512-w67vRK56NZJIKhJM/CrNbfnIcuMvR3ApfxzNZiCZ5w29sxgBDeKuX4M+P7A9r5HXOMGcsOcpgaoTDINNGkdpGQ==", "license": "MIT", "dependencies": { - "@date-io/core": "^1.3.13" + "@date-io/core": "^2.11.0" }, "peerDependencies": { - "date-fns": "^2.0.0" + "dayjs": "^1.8.17" + }, + "peerDependenciesMeta": { + "dayjs": { + "optional": true + } + } + }, + "node_modules/@date-io/dayjs/node_modules/@date-io/core": { + "version": "2.11.0", + "resolved": "https://npm.ivanli.cc/@date-io%2fcore/-/core-2.11.0.tgz", + "integrity": "sha512-DvPBnNoeuLaoSJZaxgpu54qzRhRKjSYVyQjhznTFrllKuDpm0sDFjHo6lvNLCM/cfMx2gb2PM2zY2kc9C8nmuw==", + "license": "MIT" + }, + "node_modules/@date-io/luxon": { + "version": "2.11.1", + "resolved": "https://npm.ivanli.cc/@date-io%2fluxon/-/luxon-2.11.1.tgz", + "integrity": "sha512-JUXo01kdPQxLORxqdENrgdUhooKgDUggsNRSdi2BcUhASIY2KGwwWXu8ikVHHGkw+DUF4FOEKGfkQd0RHSvX6g==", + "license": "MIT", + "dependencies": { + "@date-io/core": "^2.11.0" + }, + "peerDependencies": { + "luxon": "^1.21.3 || ^2.x" + }, + "peerDependenciesMeta": { + "luxon": { + "optional": true + } + } + }, + "node_modules/@date-io/luxon/node_modules/@date-io/core": { + "version": "2.11.0", + "resolved": "https://npm.ivanli.cc/@date-io%2fcore/-/core-2.11.0.tgz", + "integrity": "sha512-DvPBnNoeuLaoSJZaxgpu54qzRhRKjSYVyQjhznTFrllKuDpm0sDFjHo6lvNLCM/cfMx2gb2PM2zY2kc9C8nmuw==", + "license": "MIT" + }, + "node_modules/@date-io/moment": { + "version": "2.11.0", + "resolved": "https://npm.ivanli.cc/@date-io%2fmoment/-/moment-2.11.0.tgz", + "integrity": "sha512-QSL+83qezQ9Ty0dtFgAkk6eC0GMl/lgYfDajeVUDB3zVA2A038hzczRLBg29ifnBGhQMPABxuOafgWwhDjlarg==", + "license": "MIT", + "dependencies": { + "@date-io/core": "^2.11.0" + }, + "peerDependencies": { + "moment": "^2.24.0" + }, + "peerDependenciesMeta": { + "moment": { + "optional": true + } + } + }, + "node_modules/@date-io/moment/node_modules/@date-io/core": { + "version": "2.11.0", + "resolved": "https://npm.ivanli.cc/@date-io%2fcore/-/core-2.11.0.tgz", + "integrity": "sha512-DvPBnNoeuLaoSJZaxgpu54qzRhRKjSYVyQjhznTFrllKuDpm0sDFjHo6lvNLCM/cfMx2gb2PM2zY2kc9C8nmuw==", + "license": "MIT" + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.3.0", + "resolved": "https://npm.ivanli.cc/@emotion%2fbabel-plugin/-/babel-plugin-11.3.0.tgz", + "integrity": "sha512-UZKwBV2rADuhRp+ZOGgNWg2eYgbzKzQXfQPtJbu/PLy8onurxlNCLvxMQEvlr1/GudguPI5IU9qIY1+2z1M5bA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/plugin-syntax-jsx": "^7.12.13", + "@babel/runtime": "^7.13.10", + "@emotion/hash": "^0.8.0", + "@emotion/memoize": "^0.7.5", + "@emotion/serialize": "^1.0.2", + "babel-plugin-macros": "^2.6.1", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "^4.0.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://npm.ivanli.cc/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emotion/cache": { + "version": "11.4.0", + "resolved": "https://npm.ivanli.cc/@emotion%2fcache/-/cache-11.4.0.tgz", + "integrity": "sha512-Zx70bjE7LErRO9OaZrhf22Qye1y4F7iDl+ITjet0J+i+B88PrAOBkKvaAWhxsZf72tDLajwCgfCjJ2dvH77C3g==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.7.4", + "@emotion/sheet": "^1.0.0", + "@emotion/utils": "^1.0.0", + "@emotion/weak-memoize": "^0.2.5", + "stylis": "^4.0.3" } }, "node_modules/@emotion/hash": { @@ -2706,6 +2813,117 @@ "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", "license": "MIT" }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.1.0", + "resolved": "https://npm.ivanli.cc/@emotion%2fis-prop-valid/-/is-prop-valid-1.1.0.tgz", + "integrity": "sha512-9RkilvXAufQHsSsjQ3PIzSns+pxuX4EW8EbGeSPjZMHuMx6z/MOzb9LpqNieQX4F3mre3NWS2+X3JNRHTQztUQ==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.7.4" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.7.5", + "resolved": "https://npm.ivanli.cc/@emotion%2fmemoize/-/memoize-0.7.5.tgz", + "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==", + "license": "MIT" + }, + "node_modules/@emotion/react": { + "version": "11.4.1", + "resolved": "https://npm.ivanli.cc/@emotion%2freact/-/react-11.4.1.tgz", + "integrity": "sha512-pRegcsuGYj4FCdZN6j5vqCALkNytdrKw3TZMekTzNXixRg4wkLsU5QEaBG5LC6l01Vppxlp7FE3aTHpIG5phLg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@emotion/cache": "^11.4.0", + "@emotion/serialize": "^1.0.2", + "@emotion/sheet": "^1.0.2", + "@emotion/utils": "^1.0.0", + "@emotion/weak-memoize": "^0.2.5", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.0.2", + "resolved": "https://npm.ivanli.cc/@emotion%2fserialize/-/serialize-1.0.2.tgz", + "integrity": "sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A==", + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.8.0", + "@emotion/memoize": "^0.7.4", + "@emotion/unitless": "^0.7.5", + "@emotion/utils": "^1.0.0", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/serialize/node_modules/csstype": { + "version": "3.0.9", + "resolved": "https://npm.ivanli.cc/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==", + "license": "MIT" + }, + "node_modules/@emotion/sheet": { + "version": "1.0.2", + "resolved": "https://npm.ivanli.cc/@emotion%2fsheet/-/sheet-1.0.2.tgz", + "integrity": "sha512-QQPB1B70JEVUHuNtzjHftMGv6eC3Y9wqavyarj4x4lg47RACkeSfNo5pxIOKizwS9AEFLohsqoaxGQj4p0vSIw==", + "license": "MIT" + }, + "node_modules/@emotion/styled": { + "version": "11.3.0", + "resolved": "https://npm.ivanli.cc/@emotion%2fstyled/-/styled-11.3.0.tgz", + "integrity": "sha512-fUoLcN3BfMiLlRhJ8CuPUMEyKkLEoM+n+UyAbnqGEsCd5IzKQ7VQFLtzpJOaCD2/VR2+1hXQTnSZXVJeiTNltA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@emotion/babel-plugin": "^11.3.0", + "@emotion/is-prop-valid": "^1.1.0", + "@emotion/serialize": "^1.0.2", + "@emotion/utils": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://npm.ivanli.cc/@emotion%2funitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", + "license": "MIT" + }, + "node_modules/@emotion/utils": { + "version": "1.0.0", + "resolved": "https://npm.ivanli.cc/@emotion%2futils/-/utils-1.0.0.tgz", + "integrity": "sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA==", + "license": "MIT" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.2.5", + "resolved": "https://npm.ivanli.cc/@emotion%2fweak-memoize/-/weak-memoize-0.2.5.tgz", + "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==", + "license": "MIT" + }, "node_modules/@endemolshinegroup/cosmiconfig-typescript-loader": { "version": "3.0.2", "resolved": "https://npm.ivanli.cc/@endemolshinegroup%2fcosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz", @@ -4491,6 +4709,7 @@ "resolved": "https://npm.ivanli.cc/@material-ui%2fcore/-/core-4.12.3.tgz", "integrity": "sha512-sdpgI/PL56QVsEJldwEe4FFaFTLUqN+rd7sSZiRCdx2E/C7z5yK0y/khAWVBH24tXwto7I1hCzNWfJGZIYJKnw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.4.4", "@material-ui/styles": "^4.11.4", @@ -4523,61 +4742,12 @@ } } }, - "node_modules/@material-ui/icons": { - "version": "4.11.2", - "resolved": "https://npm.ivanli.cc/@material-ui%2ficons/-/icons-4.11.2.tgz", - "integrity": "sha512-fQNsKX2TxBmqIGJCSi3tGTO/gZ+eJgWmMJkgDiOfyNaunNaxcklJQFaFogYcFl0qFuaEz1qaXYXboa/bUXVSOQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.4.4" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "@material-ui/core": "^4.0.0", - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@material-ui/lab": { - "version": "4.0.0-alpha.60", - "resolved": "https://npm.ivanli.cc/@material-ui%2flab/-/lab-4.0.0-alpha.60.tgz", - "integrity": "sha512-fadlYsPJF+0fx2lRuyqAuJj7hAS1tLDdIEEdov5jlrpb5pp4b+mRDUqQTUxi4inRZHS1bEXpU8QWUhO6xX88aA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.4.4", - "@material-ui/utils": "^4.11.2", - "clsx": "^1.0.4", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "@material-ui/core": "^4.12.1", - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@material-ui/pickers": { "version": "3.3.10", "resolved": "https://npm.ivanli.cc/@material-ui%2fpickers/-/pickers-3.3.10.tgz", "integrity": "sha512-hS4pxwn1ZGXVkmgD4tpFpaumUaAg2ZzbTrxltfC5yPw4BJV+mGkfnQOB4VpWEYZw2jv65Z0wLwDE/piQiPPZ3w==", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.6.0", "@date-io/core": "1.x", @@ -4599,6 +4769,7 @@ "resolved": "https://npm.ivanli.cc/@material-ui%2fstyles/-/styles-4.11.4.tgz", "integrity": "sha512-KNTIZcnj/zprG5LW0Sao7zw+yG3O35pviHzejMdcSGCdWbiO8qzRgOYL8JAxAsWBKOKYwVZxXtHWaB5T2Kvxew==", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.4.4", "@emotion/hash": "^0.8.0", @@ -4640,6 +4811,7 @@ "resolved": "https://npm.ivanli.cc/@material-ui%2fsystem/-/system-4.12.1.tgz", "integrity": "sha512-lUdzs4q9kEXZGhbN7BptyiS1rLNHe6kG9o8Y307HCvF4sQxbCgpL2qi+gUk+yI8a2DNk48gISEQxoxpgph0xIw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.4.4", "@material-ui/utils": "^4.11.2", @@ -4669,6 +4841,7 @@ "resolved": "https://npm.ivanli.cc/@material-ui%2ftypes/-/types-5.1.0.tgz", "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", "license": "MIT", + "peer": true, "peerDependencies": { "@types/react": "*" }, @@ -4683,6 +4856,7 @@ "resolved": "https://npm.ivanli.cc/@material-ui%2futils/-/utils-4.11.2.tgz", "integrity": "sha512-Uul8w38u+PICe2Fg2pDKCaIG7kOyhowZ9vjiC1FsVwPABTW8vPPKfF6OvxRq3IiBaI1faOJmgdvMG7rMJARBhA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.4.4", "prop-types": "^15.7.2", @@ -4703,6 +4877,374 @@ "dev": true, "license": "MIT" }, + "node_modules/@mui/core": { + "version": "5.0.0-alpha.49", + "resolved": "https://npm.ivanli.cc/@mui%2fcore/-/core-5.0.0-alpha.49.tgz", + "integrity": "sha512-bZ7UgH84AuKf/IT0U+knHEelDxLV0lNVFg7rKkkDfXEwUpTtAZEtZPFJjNngapSB/4MuFjaFsttex+0DGC5Z1Q==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@emotion/is-prop-valid": "^1.1.0", + "@mui/utils": "^5.0.1", + "clsx": "^1.1.1", + "prop-types": "^15.7.2", + "react-is": "^17.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^17.0.2", + "react-dom": "^17.0.2" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/icons-material": { + "version": "5.0.1", + "resolved": "https://npm.ivanli.cc/@mui%2ficons-material/-/icons-material-5.0.1.tgz", + "integrity": "sha512-AZehR/Uvi9VodsNPk9ae1lENKrf1evqx9suiP6VIqu7NxjZOlw/m/yA2gRAMmLEmIGr7EChfi/wcXuq6BpM9vw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@mui/material": "^5.0.0-rc.0", + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^17.0.2" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/lab": { + "version": "5.0.0-alpha.49", + "resolved": "https://npm.ivanli.cc/@mui%2flab/-/lab-5.0.0-alpha.49.tgz", + "integrity": "sha512-AKTh3gAsP5GaveAoBAjEvyuuyFMYzyfUAwo7wvz9A/EiTnkc+2QXsSO7W4ykTIjNoIGBrTd9bTV/YQNK6FpPMw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@date-io/date-fns": "^2.10.6", + "@date-io/dayjs": "^2.10.6", + "@date-io/luxon": "^2.10.6", + "@date-io/moment": "^2.10.6", + "@mui/core": "5.0.0-alpha.49", + "@mui/system": "^5.0.2", + "@mui/utils": "^5.0.1", + "clsx": "^1.1.1", + "prop-types": "^15.7.2", + "react-is": "^17.0.2", + "react-transition-group": "^4.4.2", + "rifm": "^0.12.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@mui/material": "^5.0.0-rc.0", + "@types/react": "^16.8.6 || ^17.0.0", + "date-fns": "^2.24.0", + "dayjs": "^1.10.7", + "luxon": "^1.28.0", + "moment": "^2.29.1", + "react": "^17.0.2", + "react-dom": "^17.0.2" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "luxon": { + "optional": true + }, + "moment": { + "optional": true + } + } + }, + "node_modules/@mui/lab/node_modules/@date-io/core": { + "version": "2.11.0", + "resolved": "https://npm.ivanli.cc/@date-io%2fcore/-/core-2.11.0.tgz", + "integrity": "sha512-DvPBnNoeuLaoSJZaxgpu54qzRhRKjSYVyQjhznTFrllKuDpm0sDFjHo6lvNLCM/cfMx2gb2PM2zY2kc9C8nmuw==", + "license": "MIT" + }, + "node_modules/@mui/lab/node_modules/@date-io/date-fns": { + "version": "2.11.0", + "resolved": "https://npm.ivanli.cc/@date-io%2fdate-fns/-/date-fns-2.11.0.tgz", + "integrity": "sha512-mPQ71plBeFrArvBSHtjWMHXA89IUbZ6kuo2dsjlRC/1uNOybo91spIb+wTu03NxKTl8ut07s0jJ9svF71afpRg==", + "license": "MIT", + "dependencies": { + "@date-io/core": "^2.11.0" + }, + "peerDependencies": { + "date-fns": "^2.0.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + } + } + }, + "node_modules/@mui/lab/node_modules/rifm": { + "version": "0.12.0", + "resolved": "https://npm.ivanli.cc/rifm/-/rifm-0.12.0.tgz", + "integrity": "sha512-PqOl+Mo2lyqrKiD34FPlnQ+ksD3F+a62TQlphiZshgriyHdfjn6jGyqUZhd+s3nsMYXwXYDdjrrv8wX7QsOG3g==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/@mui/material": { + "version": "5.0.2", + "resolved": "https://npm.ivanli.cc/@mui%2fmaterial/-/material-5.0.2.tgz", + "integrity": "sha512-LD2xHSjTLmbN0UoCuKTu09L/7JjpEzg+Cophf+dVJOTNoK7VI0Eqv3bmpF/9pDIk5dVKmeU9Eh4t2lW1ZifM6A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@mui/core": "5.0.0-alpha.49", + "@mui/system": "^5.0.2", + "@mui/types": "^7.0.0", + "@mui/utils": "^5.0.1", + "@popperjs/core": "^2.4.4", + "@types/react-transition-group": "^4.4.3", + "clsx": "^1.1.1", + "csstype": "^3.0.9", + "hoist-non-react-statics": "^3.3.2", + "prop-types": "^15.7.2", + "react-is": "^17.0.2", + "react-transition-group": "^4.4.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^17.0.2", + "react-dom": "^17.0.2" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material/node_modules/csstype": { + "version": "3.0.9", + "resolved": "https://npm.ivanli.cc/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==", + "license": "MIT" + }, + "node_modules/@mui/private-theming": { + "version": "5.0.1", + "resolved": "https://npm.ivanli.cc/@mui%2fprivate-theming/-/private-theming-5.0.1.tgz", + "integrity": "sha512-R8Cf2+32cG1OXFAqTighA5Mx9R5BQ57cN1ZVaNgfgdbI87Yig2fVMdFSPrw3txcjKlnwsvFJF8AdwQMqq1tJ3Q==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@mui/utils": "^5.0.1", + "prop-types": "^15.7.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^17.0.2" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine": { + "version": "5.0.1", + "resolved": "https://npm.ivanli.cc/@mui%2fstyled-engine/-/styled-engine-5.0.1.tgz", + "integrity": "sha512-j40nCbaKr1HAZYqpX61XvZYsadYskjo3u6+pRFFaewSViAkkD1rjjbubpnh15nqVfYmijtHMZJ9/l1x1hamvfQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@emotion/cache": "^11.4.0", + "prop-types": "^15.7.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.2" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/styles": { + "version": "5.0.1", + "resolved": "https://npm.ivanli.cc/@mui%2fstyles/-/styles-5.0.1.tgz", + "integrity": "sha512-hCtR2ZVOkoIhpTan02I4UEShnZxe59WwhKRJqauMs/addXByhAHHCNheTdiV++Irl/fyyFObmzPM0CUD3q6FIA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@emotion/hash": "^0.8.0", + "@mui/private-theming": "^5.0.1", + "@mui/types": "^7.0.0", + "@mui/utils": "^5.0.1", + "clsx": "^1.1.1", + "csstype": "^3.0.9", + "hoist-non-react-statics": "^3.3.2", + "jss": "^10.8.0", + "jss-plugin-camel-case": "^10.8.0", + "jss-plugin-default-unit": "^10.8.0", + "jss-plugin-global": "^10.8.0", + "jss-plugin-nested": "^10.8.0", + "jss-plugin-props-sort": "^10.8.0", + "jss-plugin-rule-value-function": "^10.8.0", + "jss-plugin-vendor-prefixer": "^10.8.0", + "prop-types": "^15.7.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^17.0.2" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styles/node_modules/csstype": { + "version": "3.0.9", + "resolved": "https://npm.ivanli.cc/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==", + "license": "MIT" + }, + "node_modules/@mui/system": { + "version": "5.0.2", + "resolved": "https://npm.ivanli.cc/@mui%2fsystem/-/system-5.0.2.tgz", + "integrity": "sha512-K6wMbiSEYSMeYUw7zmZ2/50JFthqtuTz4OADyKc4ic2RP8ubAf/duH/nkJ4gtsKcewU4RIub0HQHl5F77WVp4Q==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@mui/private-theming": "^5.0.1", + "@mui/styled-engine": "^5.0.1", + "@mui/types": "^7.0.0", + "@mui/utils": "^5.0.1", + "clsx": "^1.1.1", + "csstype": "^3.0.9", + "prop-types": "^15.7.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^17.0.2" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/system/node_modules/csstype": { + "version": "3.0.9", + "resolved": "https://npm.ivanli.cc/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==", + "license": "MIT" + }, + "node_modules/@mui/types": { + "version": "7.0.0", + "resolved": "https://npm.ivanli.cc/@mui%2ftypes/-/types-7.0.0.tgz", + "integrity": "sha512-M/tkF2pZ4uoPhZ8pnNhlVnOFtz6F3dnYKIsnj8MuXKT6d26IE2u0UjA8B0275ggN74dR9rlHG5xJt5jgDx/Ung==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "5.0.1", + "resolved": "https://npm.ivanli.cc/@mui%2futils/-/utils-5.0.1.tgz", + "integrity": "sha512-GWO104N+o9KG5fKiTEYnAg7kONKEg3vLN+VROAU0f3it6lFGLCVPcQYex/1gJ4QAy96u6Ez8/Hmmhi1+3cX0tQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@types/prop-types": "^15.7.4", + "@types/react-is": "^16.7.1 || ^17.0.0", + "prop-types": "^15.7.2", + "react-is": "^17.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "react": "^17.0.2" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://npm.ivanli.cc/@nodelib%2ffs.scandir/-/fs.scandir-2.1.5.tgz", @@ -4761,6 +5303,16 @@ "node": ">=10" } }, + "node_modules/@popperjs/core": { + "version": "2.10.2", + "resolved": "https://npm.ivanli.cc/@popperjs%2fcore/-/core-2.10.2.tgz", + "integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@rollup/plugin-node-resolve": { "version": "7.1.3", "resolved": "https://npm.ivanli.cc/@rollup%2fplugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz", @@ -5571,6 +6123,15 @@ "@types/react": "*" } }, + "node_modules/@types/react-is": { + "version": "17.0.2", + "resolved": "https://npm.ivanli.cc/@types%2freact-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-2+L0ilcAEG8udkDnvx8B0upwXFBbNnVwOsSCTxW3SDOkmar9NyEeLG0ZLa3uOEw9zyYf/fQapcnfXAVmDKlyHw==", + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/react-transition-group": { "version": "4.4.3", "resolved": "https://npm.ivanli.cc/@types%2freact-transition-group/-/react-transition-group-4.4.3.tgz", @@ -5618,6 +6179,7 @@ "resolved": "https://npm.ivanli.cc/@types%2fstyled-jsx/-/styled-jsx-2.2.9.tgz", "integrity": "sha512-W/iTlIkGEyTBGTEvZCey8EgQlQ5l0DwMqi3iOXlLs2kyBwYTXHKEiU6IZ5EwoRwngL8/dGYuzezSup89ttVHLw==", "license": "MIT", + "peer": true, "dependencies": { "@types/react": "*" } @@ -9538,7 +10100,8 @@ "version": "2.6.18", "resolved": "https://npm.ivanli.cc/csstype/-/csstype-2.6.18.tgz", "integrity": "sha512-RSU6Hyeg14am3Ah4VZEmeX8H7kLwEEirXe6aU2IPfKNvhXwTflK5HQRDNI0ypQXoqmm+QPyG2IaPuQE5zMwSIQ==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/cyclist": { "version": "1.0.1", @@ -12281,6 +12844,12 @@ "node": ">=6" } }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://npm.ivanli.cc/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "license": "MIT" + }, "node_modules/find-up": { "version": "4.1.0", "resolved": "https://npm.ivanli.cc/find-up/-/find-up-4.1.0.tgz", @@ -19833,7 +20402,8 @@ "version": "1.16.1-lts", "resolved": "https://npm.ivanli.cc/popper.js/-/popper.js-1.16.1-lts.tgz", "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/portfinder": { "version": "1.0.28", @@ -23073,6 +23643,7 @@ "resolved": "https://npm.ivanli.cc/rifm/-/rifm-0.7.0.tgz", "integrity": "sha512-DSOJTWHD67860I5ojetXdEQRIBvF6YcpNe53j0vn1vp9EUb9N80EiZTxgP+FkDKorWC8PZw052kTF4C1GOivCQ==", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.3.1" }, @@ -24913,6 +25484,12 @@ "node": ">=8" } }, + "node_modules/stylis": { + "version": "4.0.10", + "resolved": "https://npm.ivanli.cc/stylis/-/stylis-4.0.10.tgz", + "integrity": "sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg==", + "license": "MIT" + }, "node_modules/subscriptions-transport-ws": { "version": "0.9.19", "resolved": "https://npm.ivanli.cc/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.19.tgz", @@ -30350,14 +30927,90 @@ "@date-io/core": { "version": "1.3.13", "resolved": "https://npm.ivanli.cc/@date-io%2fcore/-/core-1.3.13.tgz", - "integrity": "sha512-AlEKV7TxjeK+jxWVKcCFrfYAk8spX9aCyiToFIiLPtfQbsjmRGLIhb5VZgptQcJdHtLXo7+m0DuurwFgUToQuA==" + "integrity": "sha512-AlEKV7TxjeK+jxWVKcCFrfYAk8spX9aCyiToFIiLPtfQbsjmRGLIhb5VZgptQcJdHtLXo7+m0DuurwFgUToQuA==", + "peer": true }, - "@date-io/date-fns": { - "version": "1.3.13", - "resolved": "https://npm.ivanli.cc/@date-io%2fdate-fns/-/date-fns-1.3.13.tgz", - "integrity": "sha512-yXxGzcRUPcogiMj58wVgFjc9qUYrCnnU9eLcyNbsQCmae4jPuZCDoIBR21j8ZURsM7GRtU62VOw5yNd4dDHunA==", + "@date-io/dayjs": { + "version": "2.11.0", + "resolved": "https://npm.ivanli.cc/@date-io%2fdayjs/-/dayjs-2.11.0.tgz", + "integrity": "sha512-w67vRK56NZJIKhJM/CrNbfnIcuMvR3ApfxzNZiCZ5w29sxgBDeKuX4M+P7A9r5HXOMGcsOcpgaoTDINNGkdpGQ==", "requires": { - "@date-io/core": "^1.3.13" + "@date-io/core": "^2.11.0" + }, + "dependencies": { + "@date-io/core": { + "version": "2.11.0", + "resolved": "https://npm.ivanli.cc/@date-io%2fcore/-/core-2.11.0.tgz", + "integrity": "sha512-DvPBnNoeuLaoSJZaxgpu54qzRhRKjSYVyQjhznTFrllKuDpm0sDFjHo6lvNLCM/cfMx2gb2PM2zY2kc9C8nmuw==" + } + } + }, + "@date-io/luxon": { + "version": "2.11.1", + "resolved": "https://npm.ivanli.cc/@date-io%2fluxon/-/luxon-2.11.1.tgz", + "integrity": "sha512-JUXo01kdPQxLORxqdENrgdUhooKgDUggsNRSdi2BcUhASIY2KGwwWXu8ikVHHGkw+DUF4FOEKGfkQd0RHSvX6g==", + "requires": { + "@date-io/core": "^2.11.0" + }, + "dependencies": { + "@date-io/core": { + "version": "2.11.0", + "resolved": "https://npm.ivanli.cc/@date-io%2fcore/-/core-2.11.0.tgz", + "integrity": "sha512-DvPBnNoeuLaoSJZaxgpu54qzRhRKjSYVyQjhznTFrllKuDpm0sDFjHo6lvNLCM/cfMx2gb2PM2zY2kc9C8nmuw==" + } + } + }, + "@date-io/moment": { + "version": "2.11.0", + "resolved": "https://npm.ivanli.cc/@date-io%2fmoment/-/moment-2.11.0.tgz", + "integrity": "sha512-QSL+83qezQ9Ty0dtFgAkk6eC0GMl/lgYfDajeVUDB3zVA2A038hzczRLBg29ifnBGhQMPABxuOafgWwhDjlarg==", + "requires": { + "@date-io/core": "^2.11.0" + }, + "dependencies": { + "@date-io/core": { + "version": "2.11.0", + "resolved": "https://npm.ivanli.cc/@date-io%2fcore/-/core-2.11.0.tgz", + "integrity": "sha512-DvPBnNoeuLaoSJZaxgpu54qzRhRKjSYVyQjhznTFrllKuDpm0sDFjHo6lvNLCM/cfMx2gb2PM2zY2kc9C8nmuw==" + } + } + }, + "@emotion/babel-plugin": { + "version": "11.3.0", + "resolved": "https://npm.ivanli.cc/@emotion%2fbabel-plugin/-/babel-plugin-11.3.0.tgz", + "integrity": "sha512-UZKwBV2rADuhRp+ZOGgNWg2eYgbzKzQXfQPtJbu/PLy8onurxlNCLvxMQEvlr1/GudguPI5IU9qIY1+2z1M5bA==", + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/plugin-syntax-jsx": "^7.12.13", + "@babel/runtime": "^7.13.10", + "@emotion/hash": "^0.8.0", + "@emotion/memoize": "^0.7.5", + "@emotion/serialize": "^1.0.2", + "babel-plugin-macros": "^2.6.1", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "^4.0.3" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://npm.ivanli.cc/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + } + } + }, + "@emotion/cache": { + "version": "11.4.0", + "resolved": "https://npm.ivanli.cc/@emotion%2fcache/-/cache-11.4.0.tgz", + "integrity": "sha512-Zx70bjE7LErRO9OaZrhf22Qye1y4F7iDl+ITjet0J+i+B88PrAOBkKvaAWhxsZf72tDLajwCgfCjJ2dvH77C3g==", + "requires": { + "@emotion/memoize": "^0.7.4", + "@emotion/sheet": "^1.0.0", + "@emotion/utils": "^1.0.0", + "@emotion/weak-memoize": "^0.2.5", + "stylis": "^4.0.3" } }, "@emotion/hash": { @@ -30365,6 +31018,84 @@ "resolved": "https://npm.ivanli.cc/@emotion%2fhash/-/hash-0.8.0.tgz", "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" }, + "@emotion/is-prop-valid": { + "version": "1.1.0", + "resolved": "https://npm.ivanli.cc/@emotion%2fis-prop-valid/-/is-prop-valid-1.1.0.tgz", + "integrity": "sha512-9RkilvXAufQHsSsjQ3PIzSns+pxuX4EW8EbGeSPjZMHuMx6z/MOzb9LpqNieQX4F3mre3NWS2+X3JNRHTQztUQ==", + "requires": { + "@emotion/memoize": "^0.7.4" + } + }, + "@emotion/memoize": { + "version": "0.7.5", + "resolved": "https://npm.ivanli.cc/@emotion%2fmemoize/-/memoize-0.7.5.tgz", + "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==" + }, + "@emotion/react": { + "version": "11.4.1", + "resolved": "https://npm.ivanli.cc/@emotion%2freact/-/react-11.4.1.tgz", + "integrity": "sha512-pRegcsuGYj4FCdZN6j5vqCALkNytdrKw3TZMekTzNXixRg4wkLsU5QEaBG5LC6l01Vppxlp7FE3aTHpIG5phLg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@emotion/cache": "^11.4.0", + "@emotion/serialize": "^1.0.2", + "@emotion/sheet": "^1.0.2", + "@emotion/utils": "^1.0.0", + "@emotion/weak-memoize": "^0.2.5", + "hoist-non-react-statics": "^3.3.1" + } + }, + "@emotion/serialize": { + "version": "1.0.2", + "resolved": "https://npm.ivanli.cc/@emotion%2fserialize/-/serialize-1.0.2.tgz", + "integrity": "sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A==", + "requires": { + "@emotion/hash": "^0.8.0", + "@emotion/memoize": "^0.7.4", + "@emotion/unitless": "^0.7.5", + "@emotion/utils": "^1.0.0", + "csstype": "^3.0.2" + }, + "dependencies": { + "csstype": { + "version": "3.0.9", + "resolved": "https://npm.ivanli.cc/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" + } + } + }, + "@emotion/sheet": { + "version": "1.0.2", + "resolved": "https://npm.ivanli.cc/@emotion%2fsheet/-/sheet-1.0.2.tgz", + "integrity": "sha512-QQPB1B70JEVUHuNtzjHftMGv6eC3Y9wqavyarj4x4lg47RACkeSfNo5pxIOKizwS9AEFLohsqoaxGQj4p0vSIw==" + }, + "@emotion/styled": { + "version": "11.3.0", + "resolved": "https://npm.ivanli.cc/@emotion%2fstyled/-/styled-11.3.0.tgz", + "integrity": "sha512-fUoLcN3BfMiLlRhJ8CuPUMEyKkLEoM+n+UyAbnqGEsCd5IzKQ7VQFLtzpJOaCD2/VR2+1hXQTnSZXVJeiTNltA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@emotion/babel-plugin": "^11.3.0", + "@emotion/is-prop-valid": "^1.1.0", + "@emotion/serialize": "^1.0.2", + "@emotion/utils": "^1.0.0" + } + }, + "@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://npm.ivanli.cc/@emotion%2funitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "@emotion/utils": { + "version": "1.0.0", + "resolved": "https://npm.ivanli.cc/@emotion%2futils/-/utils-1.0.0.tgz", + "integrity": "sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA==" + }, + "@emotion/weak-memoize": { + "version": "0.2.5", + "resolved": "https://npm.ivanli.cc/@emotion%2fweak-memoize/-/weak-memoize-0.2.5.tgz", + "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" + }, "@endemolshinegroup/cosmiconfig-typescript-loader": { "version": "3.0.2", "resolved": "https://npm.ivanli.cc/@endemolshinegroup%2fcosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz", @@ -31789,6 +32520,7 @@ "version": "4.12.3", "resolved": "https://npm.ivanli.cc/@material-ui%2fcore/-/core-4.12.3.tgz", "integrity": "sha512-sdpgI/PL56QVsEJldwEe4FFaFTLUqN+rd7sSZiRCdx2E/C7z5yK0y/khAWVBH24tXwto7I1hCzNWfJGZIYJKnw==", + "peer": true, "requires": { "@babel/runtime": "^7.4.4", "@material-ui/styles": "^4.11.4", @@ -31804,30 +32536,11 @@ "react-transition-group": "^4.4.0" } }, - "@material-ui/icons": { - "version": "4.11.2", - "resolved": "https://npm.ivanli.cc/@material-ui%2ficons/-/icons-4.11.2.tgz", - "integrity": "sha512-fQNsKX2TxBmqIGJCSi3tGTO/gZ+eJgWmMJkgDiOfyNaunNaxcklJQFaFogYcFl0qFuaEz1qaXYXboa/bUXVSOQ==", - "requires": { - "@babel/runtime": "^7.4.4" - } - }, - "@material-ui/lab": { - "version": "4.0.0-alpha.60", - "resolved": "https://npm.ivanli.cc/@material-ui%2flab/-/lab-4.0.0-alpha.60.tgz", - "integrity": "sha512-fadlYsPJF+0fx2lRuyqAuJj7hAS1tLDdIEEdov5jlrpb5pp4b+mRDUqQTUxi4inRZHS1bEXpU8QWUhO6xX88aA==", - "requires": { - "@babel/runtime": "^7.4.4", - "@material-ui/utils": "^4.11.2", - "clsx": "^1.0.4", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0" - } - }, "@material-ui/pickers": { "version": "3.3.10", "resolved": "https://npm.ivanli.cc/@material-ui%2fpickers/-/pickers-3.3.10.tgz", "integrity": "sha512-hS4pxwn1ZGXVkmgD4tpFpaumUaAg2ZzbTrxltfC5yPw4BJV+mGkfnQOB4VpWEYZw2jv65Z0wLwDE/piQiPPZ3w==", + "peer": true, "requires": { "@babel/runtime": "^7.6.0", "@date-io/core": "1.x", @@ -31841,6 +32554,7 @@ "version": "4.11.4", "resolved": "https://npm.ivanli.cc/@material-ui%2fstyles/-/styles-4.11.4.tgz", "integrity": "sha512-KNTIZcnj/zprG5LW0Sao7zw+yG3O35pviHzejMdcSGCdWbiO8qzRgOYL8JAxAsWBKOKYwVZxXtHWaB5T2Kvxew==", + "peer": true, "requires": { "@babel/runtime": "^7.4.4", "@emotion/hash": "^0.8.0", @@ -31864,6 +32578,7 @@ "version": "4.12.1", "resolved": "https://npm.ivanli.cc/@material-ui%2fsystem/-/system-4.12.1.tgz", "integrity": "sha512-lUdzs4q9kEXZGhbN7BptyiS1rLNHe6kG9o8Y307HCvF4sQxbCgpL2qi+gUk+yI8a2DNk48gISEQxoxpgph0xIw==", + "peer": true, "requires": { "@babel/runtime": "^7.4.4", "@material-ui/utils": "^4.11.2", @@ -31875,12 +32590,14 @@ "version": "5.1.0", "resolved": "https://npm.ivanli.cc/@material-ui%2ftypes/-/types-5.1.0.tgz", "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", + "peer": true, "requires": {} }, "@material-ui/utils": { "version": "4.11.2", "resolved": "https://npm.ivanli.cc/@material-ui%2futils/-/utils-4.11.2.tgz", "integrity": "sha512-Uul8w38u+PICe2Fg2pDKCaIG7kOyhowZ9vjiC1FsVwPABTW8vPPKfF6OvxRq3IiBaI1faOJmgdvMG7rMJARBhA==", + "peer": true, "requires": { "@babel/runtime": "^7.4.4", "prop-types": "^15.7.2", @@ -31893,6 +32610,186 @@ "integrity": "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==", "dev": true }, + "@mui/core": { + "version": "5.0.0-alpha.49", + "resolved": "https://npm.ivanli.cc/@mui%2fcore/-/core-5.0.0-alpha.49.tgz", + "integrity": "sha512-bZ7UgH84AuKf/IT0U+knHEelDxLV0lNVFg7rKkkDfXEwUpTtAZEtZPFJjNngapSB/4MuFjaFsttex+0DGC5Z1Q==", + "requires": { + "@babel/runtime": "^7.15.4", + "@emotion/is-prop-valid": "^1.1.0", + "@mui/utils": "^5.0.1", + "clsx": "^1.1.1", + "prop-types": "^15.7.2", + "react-is": "^17.0.2" + } + }, + "@mui/icons-material": { + "version": "5.0.1", + "resolved": "https://npm.ivanli.cc/@mui%2ficons-material/-/icons-material-5.0.1.tgz", + "integrity": "sha512-AZehR/Uvi9VodsNPk9ae1lENKrf1evqx9suiP6VIqu7NxjZOlw/m/yA2gRAMmLEmIGr7EChfi/wcXuq6BpM9vw==", + "requires": { + "@babel/runtime": "^7.15.4" + } + }, + "@mui/lab": { + "version": "5.0.0-alpha.49", + "resolved": "https://npm.ivanli.cc/@mui%2flab/-/lab-5.0.0-alpha.49.tgz", + "integrity": "sha512-AKTh3gAsP5GaveAoBAjEvyuuyFMYzyfUAwo7wvz9A/EiTnkc+2QXsSO7W4ykTIjNoIGBrTd9bTV/YQNK6FpPMw==", + "requires": { + "@babel/runtime": "^7.15.4", + "@date-io/date-fns": "^2.10.6", + "@date-io/dayjs": "^2.10.6", + "@date-io/luxon": "^2.10.6", + "@date-io/moment": "^2.10.6", + "@mui/core": "5.0.0-alpha.49", + "@mui/system": "^5.0.2", + "@mui/utils": "^5.0.1", + "clsx": "^1.1.1", + "prop-types": "^15.7.2", + "react-is": "^17.0.2", + "react-transition-group": "^4.4.2", + "rifm": "^0.12.0" + }, + "dependencies": { + "@date-io/core": { + "version": "2.11.0", + "resolved": "https://npm.ivanli.cc/@date-io%2fcore/-/core-2.11.0.tgz", + "integrity": "sha512-DvPBnNoeuLaoSJZaxgpu54qzRhRKjSYVyQjhznTFrllKuDpm0sDFjHo6lvNLCM/cfMx2gb2PM2zY2kc9C8nmuw==" + }, + "@date-io/date-fns": { + "version": "2.11.0", + "resolved": "https://npm.ivanli.cc/@date-io%2fdate-fns/-/date-fns-2.11.0.tgz", + "integrity": "sha512-mPQ71plBeFrArvBSHtjWMHXA89IUbZ6kuo2dsjlRC/1uNOybo91spIb+wTu03NxKTl8ut07s0jJ9svF71afpRg==", + "requires": { + "@date-io/core": "^2.11.0" + } + }, + "rifm": { + "version": "0.12.0", + "resolved": "https://npm.ivanli.cc/rifm/-/rifm-0.12.0.tgz", + "integrity": "sha512-PqOl+Mo2lyqrKiD34FPlnQ+ksD3F+a62TQlphiZshgriyHdfjn6jGyqUZhd+s3nsMYXwXYDdjrrv8wX7QsOG3g==", + "requires": {} + } + } + }, + "@mui/material": { + "version": "5.0.2", + "resolved": "https://npm.ivanli.cc/@mui%2fmaterial/-/material-5.0.2.tgz", + "integrity": "sha512-LD2xHSjTLmbN0UoCuKTu09L/7JjpEzg+Cophf+dVJOTNoK7VI0Eqv3bmpF/9pDIk5dVKmeU9Eh4t2lW1ZifM6A==", + "requires": { + "@babel/runtime": "^7.15.4", + "@mui/core": "5.0.0-alpha.49", + "@mui/system": "^5.0.2", + "@mui/types": "^7.0.0", + "@mui/utils": "^5.0.1", + "@popperjs/core": "^2.4.4", + "@types/react-transition-group": "^4.4.3", + "clsx": "^1.1.1", + "csstype": "^3.0.9", + "hoist-non-react-statics": "^3.3.2", + "prop-types": "^15.7.2", + "react-is": "^17.0.2", + "react-transition-group": "^4.4.2" + }, + "dependencies": { + "csstype": { + "version": "3.0.9", + "resolved": "https://npm.ivanli.cc/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" + } + } + }, + "@mui/private-theming": { + "version": "5.0.1", + "resolved": "https://npm.ivanli.cc/@mui%2fprivate-theming/-/private-theming-5.0.1.tgz", + "integrity": "sha512-R8Cf2+32cG1OXFAqTighA5Mx9R5BQ57cN1ZVaNgfgdbI87Yig2fVMdFSPrw3txcjKlnwsvFJF8AdwQMqq1tJ3Q==", + "requires": { + "@babel/runtime": "^7.15.4", + "@mui/utils": "^5.0.1", + "prop-types": "^15.7.2" + } + }, + "@mui/styled-engine": { + "version": "5.0.1", + "resolved": "https://npm.ivanli.cc/@mui%2fstyled-engine/-/styled-engine-5.0.1.tgz", + "integrity": "sha512-j40nCbaKr1HAZYqpX61XvZYsadYskjo3u6+pRFFaewSViAkkD1rjjbubpnh15nqVfYmijtHMZJ9/l1x1hamvfQ==", + "requires": { + "@babel/runtime": "^7.15.4", + "@emotion/cache": "^11.4.0", + "prop-types": "^15.7.2" + } + }, + "@mui/styles": { + "version": "5.0.1", + "resolved": "https://npm.ivanli.cc/@mui%2fstyles/-/styles-5.0.1.tgz", + "integrity": "sha512-hCtR2ZVOkoIhpTan02I4UEShnZxe59WwhKRJqauMs/addXByhAHHCNheTdiV++Irl/fyyFObmzPM0CUD3q6FIA==", + "requires": { + "@babel/runtime": "^7.15.4", + "@emotion/hash": "^0.8.0", + "@mui/private-theming": "^5.0.1", + "@mui/types": "^7.0.0", + "@mui/utils": "^5.0.1", + "clsx": "^1.1.1", + "csstype": "^3.0.9", + "hoist-non-react-statics": "^3.3.2", + "jss": "^10.8.0", + "jss-plugin-camel-case": "^10.8.0", + "jss-plugin-default-unit": "^10.8.0", + "jss-plugin-global": "^10.8.0", + "jss-plugin-nested": "^10.8.0", + "jss-plugin-props-sort": "^10.8.0", + "jss-plugin-rule-value-function": "^10.8.0", + "jss-plugin-vendor-prefixer": "^10.8.0", + "prop-types": "^15.7.2" + }, + "dependencies": { + "csstype": { + "version": "3.0.9", + "resolved": "https://npm.ivanli.cc/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" + } + } + }, + "@mui/system": { + "version": "5.0.2", + "resolved": "https://npm.ivanli.cc/@mui%2fsystem/-/system-5.0.2.tgz", + "integrity": "sha512-K6wMbiSEYSMeYUw7zmZ2/50JFthqtuTz4OADyKc4ic2RP8ubAf/duH/nkJ4gtsKcewU4RIub0HQHl5F77WVp4Q==", + "requires": { + "@babel/runtime": "^7.15.4", + "@mui/private-theming": "^5.0.1", + "@mui/styled-engine": "^5.0.1", + "@mui/types": "^7.0.0", + "@mui/utils": "^5.0.1", + "clsx": "^1.1.1", + "csstype": "^3.0.9", + "prop-types": "^15.7.2" + }, + "dependencies": { + "csstype": { + "version": "3.0.9", + "resolved": "https://npm.ivanli.cc/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" + } + } + }, + "@mui/types": { + "version": "7.0.0", + "resolved": "https://npm.ivanli.cc/@mui%2ftypes/-/types-7.0.0.tgz", + "integrity": "sha512-M/tkF2pZ4uoPhZ8pnNhlVnOFtz6F3dnYKIsnj8MuXKT6d26IE2u0UjA8B0275ggN74dR9rlHG5xJt5jgDx/Ung==", + "requires": {} + }, + "@mui/utils": { + "version": "5.0.1", + "resolved": "https://npm.ivanli.cc/@mui%2futils/-/utils-5.0.1.tgz", + "integrity": "sha512-GWO104N+o9KG5fKiTEYnAg7kONKEg3vLN+VROAU0f3it6lFGLCVPcQYex/1gJ4QAy96u6Ez8/Hmmhi1+3cX0tQ==", + "requires": { + "@babel/runtime": "^7.15.4", + "@types/prop-types": "^15.7.4", + "@types/react-is": "^16.7.1 || ^17.0.0", + "prop-types": "^15.7.2", + "react-is": "^17.0.2" + } + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://npm.ivanli.cc/@nodelib%2ffs.scandir/-/fs.scandir-2.1.5.tgz", @@ -31934,6 +32831,11 @@ "rimraf": "^3.0.2" } }, + "@popperjs/core": { + "version": "2.10.2", + "resolved": "https://npm.ivanli.cc/@popperjs%2fcore/-/core-2.10.2.tgz", + "integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==" + }, "@rollup/plugin-node-resolve": { "version": "7.1.3", "resolved": "https://npm.ivanli.cc/@rollup%2fplugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz", @@ -32514,6 +33416,14 @@ "@types/react": "*" } }, + "@types/react-is": { + "version": "17.0.2", + "resolved": "https://npm.ivanli.cc/@types%2freact-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-2+L0ilcAEG8udkDnvx8B0upwXFBbNnVwOsSCTxW3SDOkmar9NyEeLG0ZLa3uOEw9zyYf/fQapcnfXAVmDKlyHw==", + "requires": { + "@types/react": "*" + } + }, "@types/react-transition-group": { "version": "4.4.3", "resolved": "https://npm.ivanli.cc/@types%2freact-transition-group/-/react-transition-group-4.4.3.tgz", @@ -32549,6 +33459,7 @@ "version": "2.2.9", "resolved": "https://npm.ivanli.cc/@types%2fstyled-jsx/-/styled-jsx-2.2.9.tgz", "integrity": "sha512-W/iTlIkGEyTBGTEvZCey8EgQlQ5l0DwMqi3iOXlLs2kyBwYTXHKEiU6IZ5EwoRwngL8/dGYuzezSup89ttVHLw==", + "peer": true, "requires": { "@types/react": "*" } @@ -35449,7 +36360,8 @@ "csstype": { "version": "2.6.18", "resolved": "https://npm.ivanli.cc/csstype/-/csstype-2.6.18.tgz", - "integrity": "sha512-RSU6Hyeg14am3Ah4VZEmeX8H7kLwEEirXe6aU2IPfKNvhXwTflK5HQRDNI0ypQXoqmm+QPyG2IaPuQE5zMwSIQ==" + "integrity": "sha512-RSU6Hyeg14am3Ah4VZEmeX8H7kLwEEirXe6aU2IPfKNvhXwTflK5HQRDNI0ypQXoqmm+QPyG2IaPuQE5zMwSIQ==", + "peer": true }, "cyclist": { "version": "1.0.1", @@ -37378,6 +38290,11 @@ } } }, + "find-root": { + "version": "1.1.0", + "resolved": "https://npm.ivanli.cc/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, "find-up": { "version": "4.1.0", "resolved": "https://npm.ivanli.cc/find-up/-/find-up-4.1.0.tgz", @@ -42830,7 +43747,8 @@ "popper.js": { "version": "1.16.1-lts", "resolved": "https://npm.ivanli.cc/popper.js/-/popper.js-1.16.1-lts.tgz", - "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==" + "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==", + "peer": true }, "portfinder": { "version": "1.0.28", @@ -45204,6 +46122,7 @@ "version": "0.7.0", "resolved": "https://npm.ivanli.cc/rifm/-/rifm-0.7.0.tgz", "integrity": "sha512-DSOJTWHD67860I5ojetXdEQRIBvF6YcpNe53j0vn1vp9EUb9N80EiZTxgP+FkDKorWC8PZw052kTF4C1GOivCQ==", + "peer": true, "requires": { "@babel/runtime": "^7.3.1" } @@ -46560,6 +47479,11 @@ } } }, + "stylis": { + "version": "4.0.10", + "resolved": "https://npm.ivanli.cc/stylis/-/stylis-4.0.10.tgz", + "integrity": "sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg==" + }, "subscriptions-transport-ws": { "version": "0.9.19", "resolved": "https://npm.ivanli.cc/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.19.tgz", diff --git a/package.json b/package.json index a902ecb..9dc96ed 100644 --- a/package.json +++ b/package.json @@ -7,15 +7,16 @@ "@craco/craco": "^6.3.0", "@curi/react-dom": "^2.0.4", "@curi/router": "^2.1.2", - "@date-io/date-fns": "^1.3.13", + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", "@fortawesome/fontawesome-svg-core": "^1.2.35", "@fortawesome/free-solid-svg-icons": "^5.15.3", "@fortawesome/react-fontawesome": "^0.1.14", "@hickory/browser": "^2.1.0", - "@material-ui/core": "^4.11.3", - "@material-ui/icons": "^4.11.2", - "@material-ui/lab": "*", - "@material-ui/pickers": "^3.3.10", + "@mui/icons-material": "^5.0.1", + "@mui/lab": "^5.0.0-alpha.49", + "@mui/material": "^5.0.2", + "@mui/styles": "^5.0.1", "@testing-library/jest-dom": "^5.11.10", "@testing-library/react": "^11.2.6", "@testing-library/user-event": "^12.8.3", diff --git a/src/App.tsx b/src/App.tsx index c8e8f1a..165b373 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -3,9 +3,9 @@ import './App.css'; import { DefaultLayout } from './layouts'; function App() { -const { response } = useResponse(); + const { response } = useResponse(); -const { body: Body } = response; + const { body: Body } = response; return ( diff --git a/src/commits/commit-list.tsx b/src/commits/commit-list.tsx index e633c8f..7f123e3 100644 --- a/src/commits/commit-list.tsx +++ b/src/commits/commit-list.tsx @@ -13,10 +13,10 @@ import { ListItemIcon, ListItemSecondaryAction, ListItemText, - makeStyles, useTheme, - withStyles, -} from "@material-ui/core"; +} from "@mui/material"; +import { makeStyles } from "@mui/styles"; +import withStyles from "@mui/styles/withStyles"; import { Cancel, CheckCircle, @@ -24,7 +24,7 @@ import { ShoppingCart, Stop, Timer, -} from "@material-ui/icons"; +} from "@mui/icons-material"; import { format } from "date-fns"; import { useSnackbar } from "notistack"; import { complement, equals, find, propEq, takeWhile } from "ramda"; @@ -133,11 +133,10 @@ const Item: FC<{ commit: Commit; pipeline: Pipeline }> = ({ }) => { const [isOpen, setOpen] = useState(() => false); - const [createTask, { loading }] = - useMutation< - { createPipelineTask: PipelineTask }, - { task: CreatePipelineTaskInput } - >(CREATE_PIPELINE_TASK); + const [createTask, { loading }] = useMutation< + { createPipelineTask: PipelineTask }, + { task: CreatePipelineTaskInput } + >(CREATE_PIPELINE_TASK); const units = useMemo( () => pipeline.workUnitMetadata.units.map((unit) => unit.type), @@ -181,6 +180,7 @@ const Item: FC<{ commit: Commit; pipeline: Pipeline }> = ({ aria-label={pair[2]} disabled={loading} onClick={() => handleCreateTask(unit)} + size="large" > {pair[1]} @@ -257,7 +257,7 @@ const TaskItem: FC<{ task: PipelineTask }> = ({ task }) => { /> {task.status === TaskStatuses.Working && ( - + )} diff --git a/src/commons/auth/login.tsx b/src/commons/auth/login.tsx index 7260adb..0159a99 100644 --- a/src/commons/auth/login.tsx +++ b/src/commons/auth/login.tsx @@ -1,28 +1,31 @@ -import { makeStyles } from "@material-ui/core"; +import makeStyles from "@mui/styles/makeStyles"; import { FC, Fragment, useEffect, useRef } from "react"; import { useAuth } from "./auth.provider"; -const useStyles = makeStyles((theme) => ({ - iframe: { - height: "300px", - width: "500px", - position: "absolute", - top: "100px", - left: "50%", - transform: "translateX(-50%)", - zIndex: theme.zIndex.modal, - border: "none", - boxShadow: theme.shadows[4], - }, - mask: { - top: "0", - left: "0", - bottom: "0", - right: "0", - position: "absolute", - backgroundColor: "rgba(0, 0, 0, 0.3)", - zIndex: theme.zIndex.modal, - }, -})); +const useStyles = makeStyles((theme) => { + debugger; + return { + iframe: { + height: "300px", + width: "500px", + position: "absolute", + top: "100px", + left: "50%", + transform: "translateX(-50%)", + zIndex: theme.zIndex.modal, + border: "none", + boxShadow: theme.shadows[4], + }, + mask: { + top: "0", + left: "0", + bottom: "0", + right: "0", + position: "absolute", + backgroundColor: "rgba(0, 0, 0, 0.3)", + zIndex: theme.zIndex.modal, + }, + }; +}); export const Login: FC = () => { const iframeRef = useRef(null); diff --git a/src/commons/fallbacks/error-page.tsx b/src/commons/fallbacks/error-page.tsx index 4615c9f..d3bab9c 100644 --- a/src/commons/fallbacks/error-page.tsx +++ b/src/commons/fallbacks/error-page.tsx @@ -1,4 +1,4 @@ -import { Typography } from '@material-ui/core'; +import { Typography } from '@mui/material'; import React, { FC } from 'react'; export const ErrorPage: FC = ({children}) => { diff --git a/src/commons/route/router.tsx b/src/commons/route/router.tsx index eea069a..8a6ae6f 100644 --- a/src/commons/route/router.tsx +++ b/src/commons/route/router.tsx @@ -4,7 +4,7 @@ import { createRouter, announce } from "@curi/router"; import { browser } from "@hickory/browser"; import { FC, useEffect, useState } from "react"; import routes from "../../routes"; -import { LinearProgress } from "@material-ui/core"; +import { LinearProgress } from "@mui/material"; const Component: FC = ({ children }) => { const client = useApolloClient(); diff --git a/src/generated/graphql.schema.json b/src/generated/graphql.schema.json index 3a3ea36..13deebf 100644 --- a/src/generated/graphql.schema.json +++ b/src/generated/graphql.schema.json @@ -167,178 +167,6 @@ "enumValues": null, "possibleTypes": null }, - { - "kind": "OBJECT", - "name": "Configuration", - "description": null, - "fields": [ - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pipeline", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Pipeline", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pipelineId", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "project", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Project", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectId", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "content", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "language", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "ConfigurationLanguage", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "ID", - "description": "The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ConfigurationLanguage", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "JavaScript", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "YAML", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, { "kind": "INPUT_OBJECT", "name": "CreatePipelineInput", @@ -1016,39 +844,6 @@ }, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "setConfiguration", - "description": null, - "args": [ - { - "name": "setConfigurationInput", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "SetConfigurationInput", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Configuration", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null } ], "inputFields": null, @@ -1183,6 +978,16 @@ "enumValues": null, "possibleTypes": null }, + { + "kind": "SCALAR", + "name": "ID", + "description": "The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, { "kind": "OBJECT", "name": "PipelineTask", @@ -1978,59 +1783,6 @@ }, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "getConfiguration", - "description": null, - "args": [ - { - "name": "pipelineId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Configuration", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null } ], "inputFields": null, @@ -2038,81 +1790,6 @@ "enumValues": null, "possibleTypes": null }, - { - "kind": "INPUT_OBJECT", - "name": "SetConfigurationInput", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "pipelineId", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectId", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "content", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "language", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "ConfigurationLanguage", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, { "kind": "OBJECT", "name": "Subscription", diff --git a/src/generated/graphql.tsx b/src/generated/graphql.tsx index 589e84d..736d229 100644 --- a/src/generated/graphql.tsx +++ b/src/generated/graphql.tsx @@ -26,23 +26,6 @@ export type Commit = { tasks: Array; }; -export type Configuration = { - __typename?: 'Configuration'; - id: Scalars['ID']; - pipeline: Pipeline; - pipelineId: Scalars['String']; - project: Project; - projectId: Scalars['String']; - content: Scalars['String']; - name: Scalars['String']; - language: ConfigurationLanguage; -}; - -export enum ConfigurationLanguage { - JavaScript = 'JavaScript', - Yaml = 'YAML' -} - export type CreatePipelineInput = { projectId: Scalars['String']; branch: Scalars['String']; @@ -92,7 +75,6 @@ export type Mutation = { deletePipeline: Scalars['Float']; createPipelineTask: PipelineTask; stopPipelineTask: Scalars['Boolean']; - setConfiguration: Configuration; }; @@ -135,11 +117,6 @@ export type MutationStopPipelineTaskArgs = { id: Scalars['String']; }; - -export type MutationSetConfigurationArgs = { - setConfigurationInput: SetConfigurationInput; -}; - export type Pipeline = { __typename?: 'Pipeline'; id: Scalars['ID']; @@ -214,7 +191,6 @@ export type Query = { commits?: Maybe>; listPipelineTaskByPipelineId: Array; pipelineTask: PipelineTask; - getConfiguration: Configuration; }; @@ -247,20 +223,6 @@ export type QueryPipelineTaskArgs = { id: Scalars['String']; }; - -export type QueryGetConfigurationArgs = { - pipelineId?: Maybe; - projectId?: Maybe; - id?: Maybe; -}; - -export type SetConfigurationInput = { - pipelineId: Scalars['String']; - projectId: Scalars['String']; - content: Scalars['String']; - language: ConfigurationLanguage; -}; - export type Subscription = { __typename?: 'Subscription'; syncCommits?: Maybe; diff --git a/src/index.tsx b/src/index.tsx index 7d6682c..5bbfe78 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -5,28 +5,44 @@ import "fontsource-roboto"; import App from "./App"; import reportWebVitals from "./reportWebVitals"; import { AppApolloClientProvider } from "./commons/graphql/client"; -import { MuiPickersUtilsProvider } from "@material-ui/pickers"; -import DateFnsUtils from "@date-io/date-fns"; -import zhLocale from "date-fns/locale/zh-CN"; import { ConfirmProvider } from "material-ui-confirm"; import { SnackbarProvider } from "notistack"; import Router from "./commons/route/router"; import { AuthProvider } from "./commons/auth/auth.provider"; +import { LocalizationProvider } from "@mui/lab"; +import AdapterDateFns from "@mui/lab/AdapterDateFns"; +import { + ThemeProvider, + Theme, + StyledEngineProvider, + createTheme, +} from "@mui/material/styles"; + +declare module "@mui/styles/defaultTheme" { + // eslint-disable-next-line @typescript-eslint/no-empty-interface + interface DefaultTheme extends Theme {} +} + +const theme = createTheme(); ReactDOM.render( - - - - - - - - - - - + + + + + + + + + + + + + + + , document.getElementById("root") diff --git a/src/layouts/default.tsx b/src/layouts/default.tsx index 8772fca..c779d4c 100644 --- a/src/layouts/default.tsx +++ b/src/layouts/default.tsx @@ -1,20 +1,17 @@ import React, { FC, useCallback, useState } from "react"; import clsx from "clsx"; -import { - createStyles, - makeStyles, - useTheme, - Theme, -} from "@material-ui/core/styles"; -import Drawer from "@material-ui/core/Drawer"; -import AppBar from "@material-ui/core/AppBar"; -import Toolbar from "@material-ui/core/Toolbar"; -import CssBaseline from "@material-ui/core/CssBaseline"; -import Divider from "@material-ui/core/Divider"; -import IconButton from "@material-ui/core/IconButton"; -import MenuIcon from "@material-ui/icons/Menu"; -import ChevronLeftIcon from "@material-ui/icons/ChevronLeft"; -import ChevronRightIcon from "@material-ui/icons/ChevronRight"; +import { useTheme, Theme } from "@mui/material/styles"; +import createStyles from '@mui/styles/createStyles'; +import makeStyles from '@mui/styles/makeStyles'; +import Drawer from "@mui/material/Drawer"; +import AppBar from "@mui/material/AppBar"; +import Toolbar from "@mui/material/Toolbar"; +import CssBaseline from "@mui/material/CssBaseline"; +import Divider from "@mui/material/Divider"; +import IconButton from "@mui/material/IconButton"; +import MenuIcon from "@mui/icons-material/Menu"; +import ChevronLeftIcon from "@mui/icons-material/ChevronLeft"; +import ChevronRightIcon from "@mui/icons-material/ChevronRight"; import { ProjectPanel } from "../projects/project-panel"; import { HeaderContainerProvider } from "./header-container"; const drawerWidth = 240; @@ -127,7 +124,7 @@ export const DefaultLayout: FC = ({ children }) => { className={clsx(classes.menuButton, { [classes.hide]: open, })} - > + size="large">
@@ -147,7 +144,7 @@ export const DefaultLayout: FC = ({ children }) => { }} >
- + {theme.direction === "rtl" ? ( ) : ( diff --git a/src/pipeline-tasks/pipeline-task-detail.tsx b/src/pipeline-tasks/pipeline-task-detail.tsx index 3dee9de..3030b7b 100644 --- a/src/pipeline-tasks/pipeline-task-detail.tsx +++ b/src/pipeline-tasks/pipeline-task-detail.tsx @@ -1,5 +1,6 @@ import { gql, useQuery, useSubscription } from "@apollo/client"; -import { LinearProgress, makeStyles, Typography } from "@material-ui/core"; +import { LinearProgress, Typography } from "@mui/material"; +import makeStyles from '@mui/styles/makeStyles'; import { format } from "date-fns"; import { FC, useState } from "react"; import { ErrorPage } from "../commons/fallbacks/error-page"; diff --git a/src/pipelines/pipeline-editor.tsx b/src/pipelines/pipeline-editor.tsx index 6e31e18..c384cf9 100644 --- a/src/pipelines/pipeline-editor.tsx +++ b/src/pipelines/pipeline-editor.tsx @@ -1,16 +1,8 @@ import { gql, Reference, useMutation } from "@apollo/client"; import { useRouter } from "@curi/react-dom"; -import { - Button, - Grid, - IconButton, - LinearProgress, - makeStyles, - Paper, - Portal, - Typography, -} from "@material-ui/core"; -import { Delete } from "@material-ui/icons"; +import { Button, Grid, IconButton, LinearProgress, Paper, Portal, Typography } from "@mui/material"; +import makeStyles from '@mui/styles/makeStyles'; +import { Delete } from "@mui/icons-material"; import { FormikHelpers, Formik, Form, Field } from "formik"; import { TextField, TextFieldProps } from "formik-material-ui"; import { useConfirm } from "material-ui-confirm"; @@ -176,16 +168,12 @@ export const PipelineEditor: FC = ({ pipeline }) => { return ( - + {isCreate ? "Create" : "Edit"} Pipeline {isCreate ? null : ( - + )} diff --git a/src/pipelines/pipeline-list.tsx b/src/pipelines/pipeline-list.tsx index 2a4b0cb..f555e4f 100644 --- a/src/pipelines/pipeline-list.tsx +++ b/src/pipelines/pipeline-list.tsx @@ -7,10 +7,14 @@ import { ListItemText, ListItemSecondaryAction, IconButton, -} from "@material-ui/core"; -import { FC, MouseEventHandler, useMemo } from "react"; + Menu, + MenuItem, + PopoverPosition, +} from "@mui/material"; +import { FC, MouseEventHandler, useMemo, useState } from "react"; import { Pipeline, Project } from "../generated/graphql"; -import { CallMerge, Edit } from "@material-ui/icons"; +import { CallMerge, Edit } from "@mui/icons-material"; +import { any, values } from "ramda"; interface Props { projectId: string; @@ -42,18 +46,49 @@ export const PipelineList: FC = ({ projectId }) => { project: data?.project, })); }, [data]); + + const [contextMenu, setContextMenu] = useState(); + + const handleContextMenu: MouseEventHandler = (event) => { + event.preventDefault(); + setContextMenu({ top: event.clientY - 4, left: event.clientX - 2 }); + }; + + const handleClose = () => { + setContextMenu(undefined); + }; + return ( - - {pipelines?.map((pipeline) => ( - - - - ))} - + <> + + {pipelines?.map((pipeline) => ( + + + + ))} + + + Copy + Print + Highlight + Email + + ); }; @@ -80,7 +115,7 @@ const Item = ({ pipeline }: { pipeline: Pipeline }) => { } /> - + diff --git a/src/projects/project-detail.tsx b/src/projects/project-detail.tsx index 6d221f7..a5c5669 100644 --- a/src/projects/project-detail.tsx +++ b/src/projects/project-detail.tsx @@ -1,20 +1,13 @@ import { Project } from "../generated/graphql"; import React, { FC, Fragment } from "react"; -import { - IconButton, - Grid, - makeStyles, - Paper, - Portal, - Typography, - Box, -} from "@material-ui/core"; +import { IconButton, Grid, Paper, Portal, Typography, Box } from "@mui/material"; +import makeStyles from '@mui/styles/makeStyles'; import { useHeaderContainer } from "../layouts"; import { PipelineList } from "../pipelines/pipeline-list"; -import { Edit } from '@material-ui/icons'; +import { Edit } from '@mui/icons-material'; import { Link } from '@curi/react-dom'; -import { Button } from "@material-ui/core"; -import { AddBox } from "@material-ui/icons"; +import { Button } from "@mui/material"; +import { AddBox } from "@mui/icons-material"; interface Props { project: Project; @@ -45,7 +38,7 @@ export const ProjectDetail: FC = ({ project, children }) => { container spacing={3} direction="row" - justify="space-between" + justifyContent="space-between" alignItems="center" > @@ -58,7 +51,7 @@ export const ProjectDetail: FC = ({ project, children }) => { - {} + {} diff --git a/src/projects/project-editor.tsx b/src/projects/project-editor.tsx index 34f61b7..08e9492 100644 --- a/src/projects/project-editor.tsx +++ b/src/projects/project-editor.tsx @@ -1,14 +1,6 @@ import { gql, Reference, useMutation } from "@apollo/client"; -import { - Button, - LinearProgress, - makeStyles, - Paper, - Portal, - Typography, - Grid, - IconButton, -} from "@material-ui/core"; +import { Button, LinearProgress, Paper, Portal, Typography, Grid, IconButton } from "@mui/material"; +import makeStyles from '@mui/styles/makeStyles'; import { Form, Formik, Field, FormikHelpers } from "formik"; import { TextField } from "formik-material-ui"; import { not } from "ramda"; @@ -17,7 +9,7 @@ import { Project } from "../generated/graphql"; import * as Yup from "yup"; import { useRouter } from "@curi/react-dom"; import { useHeaderContainer } from "../layouts"; -import DeleteIcon from "@material-ui/icons/Delete"; +import DeleteIcon from "@mui/icons-material/Delete"; import { useConfirm } from "material-ui-confirm"; import { useSnackbar } from "notistack"; @@ -178,16 +170,12 @@ export const ProjectEditor: FC = ({ project }) => { return ( - + {isCreate ? "Create" : "Edit"} Project {isCreate ? null : ( - + )} diff --git a/src/projects/project-panel.tsx b/src/projects/project-panel.tsx index 9f573e6..e92a56d 100644 --- a/src/projects/project-panel.tsx +++ b/src/projects/project-panel.tsx @@ -1,11 +1,12 @@ import { gql, useQuery } from "@apollo/client"; import { Link } from "@curi/react-dom"; -import { Box, List, ListItem, makeStyles, Theme } from "@material-ui/core"; +import { Box, List, ListItem, Theme } from "@mui/material"; +import makeStyles from '@mui/styles/makeStyles'; import { FC } from "react"; import { Project } from "../generated/graphql"; -import { ListItemText } from "@material-ui/core"; -import { Button } from "@material-ui/core"; -import { AddBox } from "@material-ui/icons"; +import { ListItemText } from "@mui/material"; +import { Button } from "@mui/material"; +import { AddBox } from "@mui/icons-material"; import { ActiveLink } from "../commons/route/active-link"; const PROJECTS = gql`