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) => (
+
+
+
+ ))}
+
+
+ >
);
};
@@ -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`