diff --git a/src/fireedge/package-lock.json b/src/fireedge/package-lock.json index d464f7558c..656b719e2b 100644 --- a/src/fireedge/package-lock.json +++ b/src/fireedge/package-lock.json @@ -18,13 +18,17 @@ "@babel/plugin-proposal-optional-chaining": "7.12.13", "@babel/preset-env": "7.12.13", "@babel/preset-react": "7.12.13", + "@emotion/react": "11.4.1", + "@emotion/styled": "11.3.0", "@hookform/resolvers": "1.3.7", "@loadable/babel-plugin": "5.13.2", "@loadable/component": "5.15.0", "@loadable/server": "5.15.1", "@loadable/webpack-plugin": "5.15.1", - "@material-ui/core": "4.12.3", - "@material-ui/lab": "4.0.0-alpha.60", + "@mui/lab": "5.0.0-alpha.49", + "@mui/material": "5.0.2", + "@mui/styles": "5.0.1", + "@mui/system": "5.0.2", "@reduxjs/toolkit": "1.5.1", "atob": "2.1.2", "axios": "0.21.1", @@ -49,17 +53,17 @@ "http": "0.0.1-security", "http-proxy-middleware": "1.0.5", "https": "1.0.0", - "iconoir-react": "1.1.0", + "iconoir-react": "2.1.0", "immutable": "4.0.0-rc.12", "intersection-observer": "0.11.0", "jsonschema": "1.2.7", "jsonwebtoken": "8.5.1", "jwt-simple": "0.5.6", "lockfile": "1.0.4", - "luxon": "1.25.0", + "luxon": "1.28.0", "marked": "2.0.0", "morgan": "1.10.0", - "notistack": "1.0.10", + "notistack": "2.0.2", "opennebula-guacamole": "1.0.0", "path": "0.12.7", "process": "0.11.10", @@ -75,8 +79,8 @@ "react-minimal-pie-chart": "8.2.0", "react-opennebula-ace": "1.0.1", "react-redux": "7.2.4", - "react-router": "5.2.0", - "react-router-dom": "5.2.0", + "react-router": "5.2.1", + "react-router-dom": "5.3.0", "react-table": "7.7.0", "react-transition-group": "4.4.1", "react-virtual": "2.7.1", @@ -1611,6 +1615,75 @@ "kuler": "^2.0.0" } }, + "node_modules/@date-io/core": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@date-io/core/-/core-2.11.0.tgz", + "integrity": "sha512-DvPBnNoeuLaoSJZaxgpu54qzRhRKjSYVyQjhznTFrllKuDpm0sDFjHo6lvNLCM/cfMx2gb2PM2zY2kc9C8nmuw==" + }, + "node_modules/@date-io/date-fns": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@date-io/date-fns/-/date-fns-2.11.0.tgz", + "integrity": "sha512-mPQ71plBeFrArvBSHtjWMHXA89IUbZ6kuo2dsjlRC/1uNOybo91spIb+wTu03NxKTl8ut07s0jJ9svF71afpRg==", + "dependencies": { + "@date-io/core": "^2.11.0" + }, + "peerDependencies": { + "date-fns": "^2.0.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + } + } + }, + "node_modules/@date-io/dayjs": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@date-io/dayjs/-/dayjs-2.11.0.tgz", + "integrity": "sha512-w67vRK56NZJIKhJM/CrNbfnIcuMvR3ApfxzNZiCZ5w29sxgBDeKuX4M+P7A9r5HXOMGcsOcpgaoTDINNGkdpGQ==", + "dependencies": { + "@date-io/core": "^2.11.0" + }, + "peerDependencies": { + "dayjs": "^1.8.17" + }, + "peerDependenciesMeta": { + "dayjs": { + "optional": true + } + } + }, + "node_modules/@date-io/luxon": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/@date-io/luxon/-/luxon-2.11.1.tgz", + "integrity": "sha512-JUXo01kdPQxLORxqdENrgdUhooKgDUggsNRSdi2BcUhASIY2KGwwWXu8ikVHHGkw+DUF4FOEKGfkQd0RHSvX6g==", + "dependencies": { + "@date-io/core": "^2.11.0" + }, + "peerDependencies": { + "luxon": "^1.21.3 || ^2.x" + }, + "peerDependenciesMeta": { + "luxon": { + "optional": true + } + } + }, + "node_modules/@date-io/moment": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@date-io/moment/-/moment-2.11.0.tgz", + "integrity": "sha512-QSL+83qezQ9Ty0dtFgAkk6eC0GMl/lgYfDajeVUDB3zVA2A038hzczRLBg29ifnBGhQMPABxuOafgWwhDjlarg==", + "dependencies": { + "@date-io/core": "^2.11.0" + }, + "peerDependencies": { + "moment": "^2.24.0" + }, + "peerDependenciesMeta": { + "moment": { + "optional": true + } + } + }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz", @@ -1619,11 +1692,141 @@ "node": ">=10.0.0" } }, + "node_modules/@emotion/babel-plugin": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.3.0.tgz", + "integrity": "sha512-UZKwBV2rADuhRp+ZOGgNWg2eYgbzKzQXfQPtJbu/PLy8onurxlNCLvxMQEvlr1/GudguPI5IU9qIY1+2z1M5bA==", + "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/cache": { + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.4.0.tgz", + "integrity": "sha512-Zx70bjE7LErRO9OaZrhf22Qye1y4F7iDl+ITjet0J+i+B88PrAOBkKvaAWhxsZf72tDLajwCgfCjJ2dvH77C3g==", + "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": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.0.tgz", + "integrity": "sha512-9RkilvXAufQHsSsjQ3PIzSns+pxuX4EW8EbGeSPjZMHuMx6z/MOzb9LpqNieQX4F3mre3NWS2+X3JNRHTQztUQ==", + "dependencies": { + "@emotion/memoize": "^0.7.4" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz", + "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==" + }, + "node_modules/@emotion/react": { + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.4.1.tgz", + "integrity": "sha512-pRegcsuGYj4FCdZN6j5vqCALkNytdrKw3TZMekTzNXixRg4wkLsU5QEaBG5LC6l01Vppxlp7FE3aTHpIG5phLg==", + "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://registry.npmjs.org/@emotion/serialize/-/serialize-1.0.2.tgz", + "integrity": "sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A==", + "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/sheet": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.0.2.tgz", + "integrity": "sha512-QQPB1B70JEVUHuNtzjHftMGv6eC3Y9wqavyarj4x4lg47RACkeSfNo5pxIOKizwS9AEFLohsqoaxGQj4p0vSIw==" + }, + "node_modules/@emotion/styled": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.3.0.tgz", + "integrity": "sha512-fUoLcN3BfMiLlRhJ8CuPUMEyKkLEoM+n+UyAbnqGEsCd5IzKQ7VQFLtzpJOaCD2/VR2+1hXQTnSZXVJeiTNltA==", + "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://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "node_modules/@emotion/utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.0.0.tgz", + "integrity": "sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", + "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" + }, "node_modules/@es-joy/jsdoccomment": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.8.0.tgz", @@ -1786,26 +1989,183 @@ "semver": "bin/semver.js" } }, - "node_modules/@material-ui/core": { - "version": "4.12.3", - "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.3.tgz", - "integrity": "sha512-sdpgI/PL56QVsEJldwEe4FFaFTLUqN+rd7sSZiRCdx2E/C7z5yK0y/khAWVBH24tXwto7I1hCzNWfJGZIYJKnw==", + "node_modules/@mui/core": { + "version": "5.0.0-alpha.49", + "resolved": "https://registry.npmjs.org/@mui/core/-/core-5.0.0-alpha.49.tgz", + "integrity": "sha512-bZ7UgH84AuKf/IT0U+knHEelDxLV0lNVFg7rKkkDfXEwUpTtAZEtZPFJjNngapSB/4MuFjaFsttex+0DGC5Z1Q==", "dependencies": { - "@babel/runtime": "^7.4.4", - "@material-ui/styles": "^4.11.4", - "@material-ui/system": "^4.12.1", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.2", - "@types/react-transition-group": "^4.2.0", - "clsx": "^1.0.4", - "hoist-non-react-statics": "^3.3.2", - "popper.js": "1.16.1-lts", + "@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": "^16.8.0 || ^17.0.0", - "react-transition-group": "^4.4.0" + "react-is": "^17.0.2" }, "engines": { - "node": ">=8.0.0" + "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/core/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/@mui/lab": { + "version": "5.0.0-alpha.49", + "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.49.tgz", + "integrity": "sha512-AKTh3gAsP5GaveAoBAjEvyuuyFMYzyfUAwo7wvz9A/EiTnkc+2QXsSO7W4ykTIjNoIGBrTd9bTV/YQNK6FpPMw==", + "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/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/@mui/lab/node_modules/react-transition-group": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", + "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/@mui/material": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.0.2.tgz", + "integrity": "sha512-LD2xHSjTLmbN0UoCuKTu09L/7JjpEzg+Cophf+dVJOTNoK7VI0Eqv3bmpF/9pDIk5dVKmeU9Eh4t2lW1ZifM6A==", + "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/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/@mui/material/node_modules/react-transition-group": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", + "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/@mui/private-theming": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.0.1.tgz", + "integrity": "sha512-R8Cf2+32cG1OXFAqTighA5Mx9R5BQ57cN1ZVaNgfgdbI87Yig2fVMdFSPrw3txcjKlnwsvFJF8AdwQMqq1tJ3Q==", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@mui/utils": "^5.0.1", + "prop-types": "^15.7.2" + }, + "engines": { + "node": ">=12.0.0" }, "funding": { "type": "opencollective", @@ -1813,8 +2173,7 @@ }, "peerDependencies": { "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" + "react": "^17.0.2" }, "peerDependenciesMeta": { "@types/react": { @@ -1822,56 +2181,61 @@ } } }, - "node_modules/@material-ui/lab": { - "version": "4.0.0-alpha.60", - "resolved": "https://registry.npmjs.org/@material-ui/lab/-/lab-4.0.0-alpha.60.tgz", - "integrity": "sha512-fadlYsPJF+0fx2lRuyqAuJj7hAS1tLDdIEEdov5jlrpb5pp4b+mRDUqQTUxi4inRZHS1bEXpU8QWUhO6xX88aA==", + "node_modules/@mui/styled-engine": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.0.1.tgz", + "integrity": "sha512-j40nCbaKr1HAZYqpX61XvZYsadYskjo3u6+pRFFaewSViAkkD1rjjbubpnh15nqVfYmijtHMZJ9/l1x1hamvfQ==", "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" + "@babel/runtime": "^7.15.4", + "@emotion/cache": "^11.4.0", + "prop-types": "^15.7.2" }, "engines": { - "node": ">=8.0.0" + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/material-ui" }, "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" + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.2" }, "peerDependenciesMeta": { - "@types/react": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { "optional": true } } }, - "node_modules/@material-ui/styles": { - "version": "4.11.4", - "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.4.tgz", - "integrity": "sha512-KNTIZcnj/zprG5LW0Sao7zw+yG3O35pviHzejMdcSGCdWbiO8qzRgOYL8JAxAsWBKOKYwVZxXtHWaB5T2Kvxew==", + "node_modules/@mui/styles": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-5.0.1.tgz", + "integrity": "sha512-hCtR2ZVOkoIhpTan02I4UEShnZxe59WwhKRJqauMs/addXByhAHHCNheTdiV++Irl/fyyFObmzPM0CUD3q6FIA==", "dependencies": { - "@babel/runtime": "^7.4.4", + "@babel/runtime": "^7.15.4", "@emotion/hash": "^0.8.0", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.2", - "clsx": "^1.0.4", - "csstype": "^2.5.2", + "@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.5.1", - "jss-plugin-camel-case": "^10.5.1", - "jss-plugin-default-unit": "^10.5.1", - "jss-plugin-global": "^10.5.1", - "jss-plugin-nested": "^10.5.1", - "jss-plugin-props-sort": "^10.5.1", - "jss-plugin-rule-value-function": "^10.5.1", - "jss-plugin-vendor-prefixer": "^10.5.1", + "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": ">=8.0.0" + "node": ">=12.0.0" }, "funding": { "type": "opencollective", @@ -1879,8 +2243,7 @@ }, "peerDependencies": { "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" + "react": "^17.0.2" }, "peerDependenciesMeta": { "@types/react": { @@ -1888,38 +2251,49 @@ } } }, - "node_modules/@material-ui/system": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.1.tgz", - "integrity": "sha512-lUdzs4q9kEXZGhbN7BptyiS1rLNHe6kG9o8Y307HCvF4sQxbCgpL2qi+gUk+yI8a2DNk48gISEQxoxpgph0xIw==", + "node_modules/@mui/system": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.0.2.tgz", + "integrity": "sha512-K6wMbiSEYSMeYUw7zmZ2/50JFthqtuTz4OADyKc4ic2RP8ubAf/duH/nkJ4gtsKcewU4RIub0HQHl5F77WVp4Q==", "dependencies": { - "@babel/runtime": "^7.4.4", - "@material-ui/utils": "^4.11.2", - "csstype": "^2.5.2", + "@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": ">=8.0.0" + "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": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" + "react": "^17.0.2" }, "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, "@types/react": { "optional": true } } }, - "node_modules/@material-ui/types": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz", - "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", + "node_modules/@mui/types": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.0.0.tgz", + "integrity": "sha512-M/tkF2pZ4uoPhZ8pnNhlVnOFtz6F3dnYKIsnj8MuXKT6d26IE2u0UjA8B0275ggN74dR9rlHG5xJt5jgDx/Ung==", "peerDependencies": { "@types/react": "*" }, @@ -1929,23 +2303,29 @@ } } }, - "node_modules/@material-ui/utils": { - "version": "4.11.2", - "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.2.tgz", - "integrity": "sha512-Uul8w38u+PICe2Fg2pDKCaIG7kOyhowZ9vjiC1FsVwPABTW8vPPKfF6OvxRq3IiBaI1faOJmgdvMG7rMJARBhA==", + "node_modules/@mui/utils": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.0.1.tgz", + "integrity": "sha512-GWO104N+o9KG5fKiTEYnAg7kONKEg3vLN+VROAU0f3it6lFGLCVPcQYex/1gJ4QAy96u6Ez8/Hmmhi1+3cX0tQ==", "dependencies": { - "@babel/runtime": "^7.4.4", + "@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": "^16.8.0 || ^17.0.0" + "react-is": "^17.0.2" }, "engines": { - "node": ">=8.0.0" + "node": ">=12.0.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" + "react": "^17.0.2" } }, + "node_modules/@mui/utils/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, "node_modules/@nicolo-ribaudo/chokidar-2": { "version": "2.1.8-no-fsevents.2", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.2.tgz", @@ -2054,6 +2434,15 @@ "node": ">= 8" } }, + "node_modules/@popperjs/core": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz", + "integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@reach/observe-rect": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@reach/observe-rect/-/observe-rect-1.2.0.tgz", @@ -2369,9 +2758,14 @@ "integrity": "sha512-XmdEOrKQ8a1Y/yxQFOMbC47G/V2VDO1GvMRnl4O75M4GW/abC5tnfzadQYkqEveqRM1dEJGFFegfPNA2vvx2iw==" }, "node_modules/@types/node": { - "version": "16.10.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.2.tgz", - "integrity": "sha512-zCclL4/rx+W5SQTzFs9wyvvyCwoK9QtBpratqz2IYJ3O8Umrn0m3nsTv0wQBk9sRGpvUe9CwPDrQFB10f1FIjQ==" + "version": "16.10.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.3.tgz", + "integrity": "sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, "node_modules/@types/prop-types": { "version": "15.7.4", @@ -2379,15 +2773,23 @@ "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" }, "node_modules/@types/react": { - "version": "17.0.26", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.26.tgz", - "integrity": "sha512-MXxuXrH2xOcv5cp/su4oz69dNQnSA90JjFw5HBd5wifw6Ihi94j7dRJm7qNsB30tnruXSCPc9qmlhGop4nh9Hw==", + "version": "17.0.27", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.27.tgz", + "integrity": "sha512-zgiJwtsggVGtr53MndV7jfiUESTqrbxOcBvwfe6KS/9bzaVPCTDieTWnFNecVNx6EAaapg5xsLLWFfHHR437AA==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", "csstype": "^3.0.2" } }, + "node_modules/@types/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-2+L0ilcAEG8udkDnvx8B0upwXFBbNnVwOsSCTxW3SDOkmar9NyEeLG0ZLa3uOEw9zyYf/fQapcnfXAVmDKlyHw==", + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/react-redux": { "version": "7.1.18", "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.18.tgz", @@ -2407,11 +2809,6 @@ "@types/react": "*" } }, - "node_modules/@types/react/node_modules/csstype": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", - "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" - }, "node_modules/@types/scheduler": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", @@ -2772,16 +3169,16 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, "node_modules/array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", - "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", + "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", + "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" + "is-string": "^1.0.7" }, "engines": { "node": ">= 0.4" @@ -2808,14 +3205,14 @@ } }, "node_modules/array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", + "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" + "es-abstract": "^1.19.0" }, "engines": { "node": ">= 0.4" @@ -2825,15 +3222,14 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", - "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", + "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", "dev": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" + "es-abstract": "^1.19.0" }, "engines": { "node": ">= 0.4" @@ -3028,6 +3424,16 @@ "object.assign": "^4.1.0" } }, + "node_modules/babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, "node_modules/babel-plugin-module-resolver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.0.0.tgz", @@ -3388,15 +3794,15 @@ } }, "node_modules/browserslist": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.2.tgz", - "integrity": "sha512-jSDZyqJmkKMEMi7SZAgX5UltFdR5NAO43vY0AwTpu4X3sGH7GLLQ83KiUomgrnvZRCeW0yPPnKqnxPqQOER9zQ==", + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.3.tgz", + "integrity": "sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ==", "dependencies": { - "caniuse-lite": "^1.0.30001261", - "electron-to-chromium": "^1.3.854", + "caniuse-lite": "^1.0.30001264", + "electron-to-chromium": "^1.3.857", "escalade": "^3.1.1", - "nanocolors": "^0.2.12", - "node-releases": "^1.1.76" + "node-releases": "^1.1.77", + "picocolors": "^0.2.1" }, "bin": { "browserslist": "cli.js" @@ -3529,9 +3935,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001263", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001263.tgz", - "integrity": "sha512-doiV5dft6yzWO1WwU19kt8Qz8R0/8DgEziz6/9n2FxUasteZNwNNYSmJO3GLBH8lCVE73AB1RPDPAeYbcO5Cvw==", + "version": "1.0.30001265", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001265.tgz", + "integrity": "sha512-YzBnspggWV5hep1m9Z6sZVLOt7vrju8xWooFAgN6BA5qvy98qPAPb7vNUzypFaoh2pb3vlfzbDO8tB57UPGbtw==", "funding": { "type": "opencollective", "url": "https://opencollective.com/browserslist" @@ -3550,6 +3956,14 @@ "node": ">=4" } }, + "node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/chokidar": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", @@ -4106,11 +4520,11 @@ } }, "node_modules/core-js-compat": { - "version": "3.18.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.1.tgz", - "integrity": "sha512-XJMYx58zo4W0kLPmIingVZA10+7TuKrMLPt83+EzDmxFJQUMcTVVmQ+n5JP4r6Z14qSzhQBRi3NSWoeVyKKXUg==", + "version": "3.18.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.2.tgz", + "integrity": "sha512-25VJYCJtGjZwLguj7d66oiHfmnVw3TMOZ0zV8DyMJp/aeQ3OjR519iOOeck08HMyVVRAqXxafc2Hl+5QstJrsQ==", "dependencies": { - "browserslist": "^4.17.1", + "browserslist": "^4.17.3", "semver": "7.0.0" }, "funding": { @@ -4127,9 +4541,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.18.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.18.1.tgz", - "integrity": "sha512-kmW/k8MaSuqpvA1xm2l3TVlBuvW+XBkcaOroFUpO3D4lsTGQWBTb/tBDCf/PNkkPLrwgrkQRIYNPB0CeqGJWGQ==", + "version": "3.18.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.18.2.tgz", + "integrity": "sha512-4hMMLUlZhKJKOWbbGD1/VDUxGPEhEoN/T01k7bx271WiBKCvCfkgPzy0IeRS4PB50p6/N1q/SZL4B/TRsTE5bA==", "dev": true, "hasInstallScript": true, "funding": { @@ -4154,6 +4568,21 @@ "node": ">= 0.10" } }, + "node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/create-ecdh": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", @@ -4318,9 +4747,9 @@ } }, "node_modules/csstype": { - "version": "2.6.18", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.18.tgz", - "integrity": "sha512-RSU6Hyeg14am3Ah4VZEmeX8H7kLwEEirXe6aU2IPfKNvhXwTflK5HQRDNI0ypQXoqmm+QPyG2IaPuQE5zMwSIQ==" + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" }, "node_modules/d3-color": { "version": "2.0.0", @@ -4578,11 +5007,6 @@ "csstype": "^3.0.2" } }, - "node_modules/dom-helpers/node_modules/csstype": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", - "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" - }, "node_modules/domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", @@ -4612,9 +5036,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "node_modules/electron-to-chromium": { - "version": "1.3.856", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.856.tgz", - "integrity": "sha512-lSezYIe1/p5qkEswAfaQUseOBiwGwuCvRl/MKzOEVe++DcmQ92+43dznDl4rFJ4Zpu+kevhwyIf7KjJevyDA/A==" + "version": "1.3.860", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.860.tgz", + "integrity": "sha512-gWwGZ+Wv4Mou2SJRH6JQzhTPjL5f95SX7n6VkLTQ/Q/INsZLZNQ1vH2GlZjozKyvT0kkFuCmWTwIoCj+/hUDPw==" }, "node_modules/elliptic": { "version": "6.5.4", @@ -4803,7 +5227,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } @@ -4818,9 +5241,9 @@ } }, "node_modules/es-abstract": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.0.tgz", - "integrity": "sha512-oWPrF+7P1nGv/rw9oIInwdkmI1qediEJSvVfHFryBd8mWllCKB5tke3aKyf51J6chgyKmi6mODqdnin2yb88Nw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -4885,11 +5308,14 @@ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" }, "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint": { @@ -6059,8 +6485,7 @@ "node_modules/find-root": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "dev": true + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, "node_modules/find-up": { "version": "2.1.0", @@ -6815,12 +7240,9 @@ "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" }, "node_modules/iconoir-react": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iconoir-react/-/iconoir-react-1.1.0.tgz", - "integrity": "sha512-eVlXhKtRJOHsqqNNazM8j5eAZxPaISSrNoN4VnqwWzZw5SnLvHi5Qp2kuKKznnx2vEIv4zcB4iqBQmmRW0vJ0A==", - "dependencies": { - "prop-types": "^15.7.2" - }, + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/iconoir-react/-/iconoir-react-2.1.0.tgz", + "integrity": "sha512-PMrSTrTI4iksFrZvPnlQraQdDOE5yEe/Z4O0+v5O7mNbwLFDqCVgtDp6fyR9EDVeIyiPY9/YDfq++eII+DH4rw==", "peerDependencies": { "react": "^16.8.6 || ^17" } @@ -6904,9 +7326,9 @@ } }, "node_modules/import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", + "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -7062,8 +7484,7 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "node_modules/is-bigint": { "version": "1.0.4", @@ -7425,9 +7846,9 @@ } }, "node_modules/jsdoc-type-pratt-parser": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.1.1.tgz", - "integrity": "sha512-uelRmpghNwPBuZScwgBG/OzodaFk5RbO5xaivBdsAY70icWfShwZ7PCMO0x1zSkOa8T1FzHThmrdoyg/0AwV5g==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.2.0.tgz", + "integrity": "sha512-4STjeF14jp4bqha44nKMY1OUI6d2/g6uclHWUCZ7B4DoLzaB5bmpTkQrpqU+vSVzMD0LsKAOskcnI3I3VfIpmg==", "dev": true, "engines": { "node": ">=12.0.0" @@ -7449,6 +7870,11 @@ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -7603,11 +8029,6 @@ "jss": "10.8.0" } }, - "node_modules/jss/node_modules/csstype": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", - "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" - }, "node_modules/jsx-ast-utils": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz", @@ -7673,6 +8094,11 @@ "node": ">= 0.8.0" } }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + }, "node_modules/load-json-file": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", @@ -7688,6 +8114,18 @@ "node": ">=4" } }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/load-json-file/node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -7829,9 +8267,9 @@ } }, "node_modules/luxon": { - "version": "1.25.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.25.0.tgz", - "integrity": "sha512-hEgLurSH8kQRjY6i4YLey+mcKVAWXbDNlZRmM6AgWDJ1cY3atl8Ztf5wEY7VBReFbmGnwQPz7KYJblL8B2k0jQ==", + "version": "1.28.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.0.tgz", + "integrity": "sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ==", "engines": { "node": "*" } @@ -8073,24 +8511,16 @@ } }, "node_modules/mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", "dependencies": { - "mime-db": "1.49.0" + "mime-db": "1.50.0" }, "engines": { "node": ">= 0.6" } }, - "node_modules/mime-types/node_modules/mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", @@ -8243,15 +8673,10 @@ "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" }, - "node_modules/nanocolors": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.12.tgz", - "integrity": "sha512-SFNdALvzW+rVlzqexid6epYdt8H9Zol7xDoQarioEFcFN0JHo4CYNztAxmtfgGTVRCmFlEOqqhBpoFGKqSAMug==" - }, "node_modules/nanoid": { - "version": "3.1.28", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.28.tgz", - "integrity": "sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw==", + "version": "3.1.29", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.29.tgz", + "integrity": "sha512-dW2pUSGZ8ZnCFIlBIA31SV8huOGCHb6OwzVCc7A69rb/a+SgPBwfmLvK5TKQ3INPbRkcI8a/Owo0XbiTNH19wg==", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -8386,9 +8811,9 @@ } }, "node_modules/node-releases": { - "version": "1.1.76", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", - "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==" + "version": "1.1.77", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz", + "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==" }, "node_modules/noop-logger": { "version": "0.1.1", @@ -8416,9 +8841,9 @@ } }, "node_modules/notistack": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/notistack/-/notistack-1.0.10.tgz", - "integrity": "sha512-z0y4jJaVtOoH3kc3GtNUlhNTY+5LE04QDeLVujX3VPhhzg67zw055mZjrBF+nzpv3V9aiPNph1EgRU4+t8kQTQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/notistack/-/notistack-2.0.2.tgz", + "integrity": "sha512-Z2kD6QK9n/9V9zXQfN3ZgH22TefBWE3OZ/q74gMVslGPA9j9WGjoi+YxsgkTAOY8NqTYdUe8aijd2kXsGNYp6g==", "dependencies": { "clsx": "^1.1.0", "hoist-non-react-statics": "^3.3.0" @@ -8428,9 +8853,19 @@ "url": "https://opencollective.com/notistack" }, "peerDependencies": { - "@material-ui/core": "^4.0.0", + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "@mui/material": "^5.0.0", "react": "^16.8.0 || ^17.0.0", "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } } }, "node_modules/npm-run-path": { @@ -8602,29 +9037,28 @@ } }, "node_modules/object.entries": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz", - "integrity": "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", + "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz", - "integrity": "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", + "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.4" @@ -8634,13 +9068,13 @@ } }, "node_modules/object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.8" @@ -8662,14 +9096,14 @@ } }, "node_modules/object.values": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", - "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.4" @@ -8746,6 +9180,14 @@ "node": ">=6" } }, + "node_modules/opennebula-guacamole/node_modules/luxon": { + "version": "1.25.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.25.0.tgz", + "integrity": "sha512-hEgLurSH8kQRjY6i4YLey+mcKVAWXbDNlZRmM6AgWDJ1cY3atl8Ztf5wEY7VBReFbmGnwQPz7KYJblL8B2k0jQ==", + "engines": { + "node": "*" + } + }, "node_modules/opennebula-potojson": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/opennebula-potojson/-/opennebula-potojson-1.0.0.tgz", @@ -8881,15 +9323,20 @@ } }, "node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dependencies": { - "error-ex": "^1.2.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/parse-passwd": { @@ -9013,6 +9460,11 @@ "node": ">=0.12" } }, + "node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, "node_modules/picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", @@ -9122,11 +9574,6 @@ "node": ">=4.0.0" } }, - "node_modules/popper.js": { - "version": "1.16.1-lts", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz", - "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==" - }, "node_modules/posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -9137,12 +9584,12 @@ } }, "node_modules/postcss": { - "version": "8.3.8", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.8.tgz", - "integrity": "sha512-GT5bTjjZnwDifajzczOC+r3FI3Cu+PgPvrsjhQdRqa2kTJ4968/X9CUce9xttIB0xOs5c6xf0TCWZo/y9lF6bA==", + "version": "8.3.9", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.9.tgz", + "integrity": "sha512-f/ZFyAKh9Dnqytx5X62jgjhhzttjZS7hMsohcI7HEI5tjELX/HxCy3EFhsRxyzGvrzFF+82XPvCS8T9TFleVJw==", "dependencies": { - "nanocolors": "^0.2.2", - "nanoid": "^3.1.25", + "nanoid": "^3.1.28", + "picocolors": "^0.2.1", "source-map-js": "^0.6.2" }, "engines": { @@ -9684,11 +10131,11 @@ } }, "node_modules/react-router": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", - "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.1.tgz", + "integrity": "sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==", "dependencies": { - "@babel/runtime": "^7.1.2", + "@babel/runtime": "^7.12.13", "history": "^4.9.0", "hoist-non-react-statics": "^3.1.0", "loose-envify": "^1.3.1", @@ -9704,15 +10151,15 @@ } }, "node_modules/react-router-dom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", - "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz", + "integrity": "sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==", "dependencies": { - "@babel/runtime": "^7.1.2", + "@babel/runtime": "^7.12.13", "history": "^4.9.0", "loose-envify": "^1.3.1", "prop-types": "^15.6.2", - "react-router": "5.2.0", + "react-router": "5.2.1", "tiny-invariant": "^1.0.2", "tiny-warning": "^1.0.0" }, @@ -10141,6 +10588,14 @@ "node": ">=0.10.0" } }, + "node_modules/rifm": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/rifm/-/rifm-0.12.0.tgz", + "integrity": "sha512-PqOl+Mo2lyqrKiD34FPlnQ+ksD3F+a62TQlphiZshgriyHdfjn6jGyqUZhd+s3nsMYXwXYDdjrrv8wX7QsOG3g==", + "peerDependencies": { + "react": ">=16.8" + } + }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -11032,14 +11487,14 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz", - "integrity": "sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz", + "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2", + "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", "has-symbols": "^1.0.2", "internal-slot": "^1.0.3", @@ -11128,6 +11583,11 @@ "webpack": "^5.0.0" } }, + "node_modules/stylis": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.10.tgz", + "integrity": "sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg==" + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -13417,16 +13877,155 @@ "kuler": "^2.0.0" } }, + "@date-io/core": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@date-io/core/-/core-2.11.0.tgz", + "integrity": "sha512-DvPBnNoeuLaoSJZaxgpu54qzRhRKjSYVyQjhznTFrllKuDpm0sDFjHo6lvNLCM/cfMx2gb2PM2zY2kc9C8nmuw==" + }, + "@date-io/date-fns": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@date-io/date-fns/-/date-fns-2.11.0.tgz", + "integrity": "sha512-mPQ71plBeFrArvBSHtjWMHXA89IUbZ6kuo2dsjlRC/1uNOybo91spIb+wTu03NxKTl8ut07s0jJ9svF71afpRg==", + "requires": { + "@date-io/core": "^2.11.0" + } + }, + "@date-io/dayjs": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@date-io/dayjs/-/dayjs-2.11.0.tgz", + "integrity": "sha512-w67vRK56NZJIKhJM/CrNbfnIcuMvR3ApfxzNZiCZ5w29sxgBDeKuX4M+P7A9r5HXOMGcsOcpgaoTDINNGkdpGQ==", + "requires": { + "@date-io/core": "^2.11.0" + } + }, + "@date-io/luxon": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/@date-io/luxon/-/luxon-2.11.1.tgz", + "integrity": "sha512-JUXo01kdPQxLORxqdENrgdUhooKgDUggsNRSdi2BcUhASIY2KGwwWXu8ikVHHGkw+DUF4FOEKGfkQd0RHSvX6g==", + "requires": { + "@date-io/core": "^2.11.0" + } + }, + "@date-io/moment": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@date-io/moment/-/moment-2.11.0.tgz", + "integrity": "sha512-QSL+83qezQ9Ty0dtFgAkk6eC0GMl/lgYfDajeVUDB3zVA2A038hzczRLBg29ifnBGhQMPABxuOafgWwhDjlarg==", + "requires": { + "@date-io/core": "^2.11.0" + } + }, "@discoveryjs/json-ext": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz", "integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==" }, + "@emotion/babel-plugin": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-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" + } + }, + "@emotion/cache": { + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/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": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" }, + "@emotion/is-prop-valid": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emotion/is-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://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz", + "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==" + }, + "@emotion/react": { + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/@emotion/react/-/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://registry.npmjs.org/@emotion/serialize/-/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" + } + }, + "@emotion/sheet": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.0.2.tgz", + "integrity": "sha512-QQPB1B70JEVUHuNtzjHftMGv6eC3Y9wqavyarj4x4lg47RACkeSfNo5pxIOKizwS9AEFLohsqoaxGQj4p0vSIw==" + }, + "@emotion/styled": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/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://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "@emotion/utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.0.0.tgz", + "integrity": "sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA==" + }, + "@emotion/weak-memoize": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", + "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" + }, "@es-joy/jsdoccomment": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.8.0.tgz", @@ -13528,85 +14127,184 @@ } } }, - "@material-ui/core": { - "version": "4.12.3", - "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.3.tgz", - "integrity": "sha512-sdpgI/PL56QVsEJldwEe4FFaFTLUqN+rd7sSZiRCdx2E/C7z5yK0y/khAWVBH24tXwto7I1hCzNWfJGZIYJKnw==", + "@mui/core": { + "version": "5.0.0-alpha.49", + "resolved": "https://registry.npmjs.org/@mui/core/-/core-5.0.0-alpha.49.tgz", + "integrity": "sha512-bZ7UgH84AuKf/IT0U+knHEelDxLV0lNVFg7rKkkDfXEwUpTtAZEtZPFJjNngapSB/4MuFjaFsttex+0DGC5Z1Q==", "requires": { - "@babel/runtime": "^7.4.4", - "@material-ui/styles": "^4.11.4", - "@material-ui/system": "^4.12.1", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.2", - "@types/react-transition-group": "^4.2.0", - "clsx": "^1.0.4", + "@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" + }, + "dependencies": { + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + } + } + }, + "@mui/lab": { + "version": "5.0.0-alpha.49", + "resolved": "https://registry.npmjs.org/@mui/lab/-/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": { + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "react-transition-group": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", + "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + } + } + }, + "@mui/material": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@mui/material/-/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", - "popper.js": "1.16.1-lts", "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0", - "react-transition-group": "^4.4.0" + "react-is": "^17.0.2", + "react-transition-group": "^4.4.2" + }, + "dependencies": { + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "react-transition-group": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", + "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + } } }, - "@material-ui/lab": { - "version": "4.0.0-alpha.60", - "resolved": "https://registry.npmjs.org/@material-ui/lab/-/lab-4.0.0-alpha.60.tgz", - "integrity": "sha512-fadlYsPJF+0fx2lRuyqAuJj7hAS1tLDdIEEdov5jlrpb5pp4b+mRDUqQTUxi4inRZHS1bEXpU8QWUhO6xX88aA==", + "@mui/private-theming": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.0.1.tgz", + "integrity": "sha512-R8Cf2+32cG1OXFAqTighA5Mx9R5BQ57cN1ZVaNgfgdbI87Yig2fVMdFSPrw3txcjKlnwsvFJF8AdwQMqq1tJ3Q==", "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" + "@babel/runtime": "^7.15.4", + "@mui/utils": "^5.0.1", + "prop-types": "^15.7.2" } }, - "@material-ui/styles": { - "version": "4.11.4", - "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.4.tgz", - "integrity": "sha512-KNTIZcnj/zprG5LW0Sao7zw+yG3O35pviHzejMdcSGCdWbiO8qzRgOYL8JAxAsWBKOKYwVZxXtHWaB5T2Kvxew==", + "@mui/styled-engine": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.0.1.tgz", + "integrity": "sha512-j40nCbaKr1HAZYqpX61XvZYsadYskjo3u6+pRFFaewSViAkkD1rjjbubpnh15nqVfYmijtHMZJ9/l1x1hamvfQ==", "requires": { - "@babel/runtime": "^7.4.4", + "@babel/runtime": "^7.15.4", + "@emotion/cache": "^11.4.0", + "prop-types": "^15.7.2" + } + }, + "@mui/styles": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-5.0.1.tgz", + "integrity": "sha512-hCtR2ZVOkoIhpTan02I4UEShnZxe59WwhKRJqauMs/addXByhAHHCNheTdiV++Irl/fyyFObmzPM0CUD3q6FIA==", + "requires": { + "@babel/runtime": "^7.15.4", "@emotion/hash": "^0.8.0", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.2", - "clsx": "^1.0.4", - "csstype": "^2.5.2", + "@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.5.1", - "jss-plugin-camel-case": "^10.5.1", - "jss-plugin-default-unit": "^10.5.1", - "jss-plugin-global": "^10.5.1", - "jss-plugin-nested": "^10.5.1", - "jss-plugin-props-sort": "^10.5.1", - "jss-plugin-rule-value-function": "^10.5.1", - "jss-plugin-vendor-prefixer": "^10.5.1", + "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" } }, - "@material-ui/system": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.1.tgz", - "integrity": "sha512-lUdzs4q9kEXZGhbN7BptyiS1rLNHe6kG9o8Y307HCvF4sQxbCgpL2qi+gUk+yI8a2DNk48gISEQxoxpgph0xIw==", + "@mui/system": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.0.2.tgz", + "integrity": "sha512-K6wMbiSEYSMeYUw7zmZ2/50JFthqtuTz4OADyKc4ic2RP8ubAf/duH/nkJ4gtsKcewU4RIub0HQHl5F77WVp4Q==", "requires": { - "@babel/runtime": "^7.4.4", - "@material-ui/utils": "^4.11.2", - "csstype": "^2.5.2", + "@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" } }, - "@material-ui/types": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz", - "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", + "@mui/types": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.0.0.tgz", + "integrity": "sha512-M/tkF2pZ4uoPhZ8pnNhlVnOFtz6F3dnYKIsnj8MuXKT6d26IE2u0UjA8B0275ggN74dR9rlHG5xJt5jgDx/Ung==", "requires": {} }, - "@material-ui/utils": { - "version": "4.11.2", - "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.2.tgz", - "integrity": "sha512-Uul8w38u+PICe2Fg2pDKCaIG7kOyhowZ9vjiC1FsVwPABTW8vPPKfF6OvxRq3IiBaI1faOJmgdvMG7rMJARBhA==", + "@mui/utils": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.0.1.tgz", + "integrity": "sha512-GWO104N+o9KG5fKiTEYnAg7kONKEg3vLN+VROAU0f3it6lFGLCVPcQYex/1gJ4QAy96u6Ez8/Hmmhi1+3cX0tQ==", "requires": { - "@babel/runtime": "^7.4.4", + "@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": "^16.8.0 || ^17.0.0" + "react-is": "^17.0.2" + }, + "dependencies": { + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + } } }, "@nicolo-ribaudo/chokidar-2": { @@ -13674,6 +14372,11 @@ } } }, + "@popperjs/core": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz", + "integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==" + }, "@reach/observe-rect": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@reach/observe-rect/-/observe-rect-1.2.0.tgz", @@ -13989,9 +14692,14 @@ "integrity": "sha512-XmdEOrKQ8a1Y/yxQFOMbC47G/V2VDO1GvMRnl4O75M4GW/abC5tnfzadQYkqEveqRM1dEJGFFegfPNA2vvx2iw==" }, "@types/node": { - "version": "16.10.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.2.tgz", - "integrity": "sha512-zCclL4/rx+W5SQTzFs9wyvvyCwoK9QtBpratqz2IYJ3O8Umrn0m3nsTv0wQBk9sRGpvUe9CwPDrQFB10f1FIjQ==" + "version": "16.10.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.3.tgz", + "integrity": "sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, "@types/prop-types": { "version": "15.7.4", @@ -13999,20 +14707,21 @@ "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" }, "@types/react": { - "version": "17.0.26", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.26.tgz", - "integrity": "sha512-MXxuXrH2xOcv5cp/su4oz69dNQnSA90JjFw5HBd5wifw6Ihi94j7dRJm7qNsB30tnruXSCPc9qmlhGop4nh9Hw==", + "version": "17.0.27", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.27.tgz", + "integrity": "sha512-zgiJwtsggVGtr53MndV7jfiUESTqrbxOcBvwfe6KS/9bzaVPCTDieTWnFNecVNx6EAaapg5xsLLWFfHHR437AA==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", "csstype": "^3.0.2" - }, - "dependencies": { - "csstype": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", - "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" - } + } + }, + "@types/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-2+L0ilcAEG8udkDnvx8B0upwXFBbNnVwOsSCTxW3SDOkmar9NyEeLG0ZLa3uOEw9zyYf/fQapcnfXAVmDKlyHw==", + "requires": { + "@types/react": "*" } }, "@types/react-redux": { @@ -14341,16 +15050,16 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, "array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", - "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", + "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", + "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" + "is-string": "^1.0.7" } }, "array-union": { @@ -14365,26 +15074,25 @@ "optional": true }, "array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", + "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" + "es-abstract": "^1.19.0" } }, "array.prototype.flatmap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", - "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", + "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" + "es-abstract": "^1.19.0" } }, "asn1.js": { @@ -14537,6 +15245,16 @@ "object.assign": "^4.1.0" } }, + "babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "requires": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, "babel-plugin-module-resolver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.0.0.tgz", @@ -14824,15 +15542,15 @@ } }, "browserslist": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.2.tgz", - "integrity": "sha512-jSDZyqJmkKMEMi7SZAgX5UltFdR5NAO43vY0AwTpu4X3sGH7GLLQ83KiUomgrnvZRCeW0yPPnKqnxPqQOER9zQ==", + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.3.tgz", + "integrity": "sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ==", "requires": { - "caniuse-lite": "^1.0.30001261", - "electron-to-chromium": "^1.3.854", + "caniuse-lite": "^1.0.30001264", + "electron-to-chromium": "^1.3.857", "escalade": "^3.1.1", - "nanocolors": "^0.2.12", - "node-releases": "^1.1.76" + "node-releases": "^1.1.77", + "picocolors": "^0.2.1" } }, "btoa": { @@ -14934,9 +15652,9 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, "caniuse-lite": { - "version": "1.0.30001263", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001263.tgz", - "integrity": "sha512-doiV5dft6yzWO1WwU19kt8Qz8R0/8DgEziz6/9n2FxUasteZNwNNYSmJO3GLBH8lCVE73AB1RPDPAeYbcO5Cvw==" + "version": "1.0.30001265", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001265.tgz", + "integrity": "sha512-YzBnspggWV5hep1m9Z6sZVLOt7vrju8xWooFAgN6BA5qvy98qPAPb7vNUzypFaoh2pb3vlfzbDO8tB57UPGbtw==" }, "chalk": { "version": "2.4.2", @@ -14946,6 +15664,13 @@ "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + } } }, "chokidar": { @@ -15396,11 +16121,11 @@ "integrity": "sha512-vJlUi/7YdlCZeL6fXvWNaLUPh/id12WXj3MbkMw5uOyF0PfWPBNOCNbs53YqgrvtujLNlt9JQpruyIKkUZ+PKA==" }, "core-js-compat": { - "version": "3.18.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.1.tgz", - "integrity": "sha512-XJMYx58zo4W0kLPmIingVZA10+7TuKrMLPt83+EzDmxFJQUMcTVVmQ+n5JP4r6Z14qSzhQBRi3NSWoeVyKKXUg==", + "version": "3.18.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.2.tgz", + "integrity": "sha512-25VJYCJtGjZwLguj7d66oiHfmnVw3TMOZ0zV8DyMJp/aeQ3OjR519iOOeck08HMyVVRAqXxafc2Hl+5QstJrsQ==", "requires": { - "browserslist": "^4.17.1", + "browserslist": "^4.17.3", "semver": "7.0.0" }, "dependencies": { @@ -15412,9 +16137,9 @@ } }, "core-js-pure": { - "version": "3.18.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.18.1.tgz", - "integrity": "sha512-kmW/k8MaSuqpvA1xm2l3TVlBuvW+XBkcaOroFUpO3D4lsTGQWBTb/tBDCf/PNkkPLrwgrkQRIYNPB0CeqGJWGQ==", + "version": "3.18.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.18.2.tgz", + "integrity": "sha512-4hMMLUlZhKJKOWbbGD1/VDUxGPEhEoN/T01k7bx271WiBKCvCfkgPzy0IeRS4PB50p6/N1q/SZL4B/TRsTE5bA==", "dev": true }, "core-util-is": { @@ -15431,6 +16156,18 @@ "vary": "^1" } }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, "create-ecdh": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", @@ -15562,9 +16299,9 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" }, "csstype": { - "version": "2.6.18", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.18.tgz", - "integrity": "sha512-RSU6Hyeg14am3Ah4VZEmeX8H7kLwEEirXe6aU2IPfKNvhXwTflK5HQRDNI0ypQXoqmm+QPyG2IaPuQE5zMwSIQ==" + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" }, "d3-color": { "version": "2.0.0", @@ -15778,13 +16515,6 @@ "requires": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" - }, - "dependencies": { - "csstype": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", - "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" - } } }, "domain-browser": { @@ -15812,9 +16542,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.856", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.856.tgz", - "integrity": "sha512-lSezYIe1/p5qkEswAfaQUseOBiwGwuCvRl/MKzOEVe++DcmQ92+43dznDl4rFJ4Zpu+kevhwyIf7KjJevyDA/A==" + "version": "1.3.860", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.860.tgz", + "integrity": "sha512-gWwGZ+Wv4Mou2SJRH6JQzhTPjL5f95SX7n6VkLTQ/Q/INsZLZNQ1vH2GlZjozKyvT0kkFuCmWTwIoCj+/hUDPw==" }, "elliptic": { "version": "6.5.4", @@ -15954,7 +16684,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -15969,9 +16698,9 @@ } }, "es-abstract": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.0.tgz", - "integrity": "sha512-oWPrF+7P1nGv/rw9oIInwdkmI1qediEJSvVfHFryBd8mWllCKB5tke3aKyf51J6chgyKmi6mODqdnin2yb88Nw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -16021,9 +16750,9 @@ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" }, "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, "eslint": { "version": "7.11.0", @@ -16939,8 +17668,7 @@ "find-root": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "dev": true + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, "find-up": { "version": "2.1.0", @@ -17515,12 +18243,10 @@ "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" }, "iconoir-react": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iconoir-react/-/iconoir-react-1.1.0.tgz", - "integrity": "sha512-eVlXhKtRJOHsqqNNazM8j5eAZxPaISSrNoN4VnqwWzZw5SnLvHi5Qp2kuKKznnx2vEIv4zcB4iqBQmmRW0vJ0A==", - "requires": { - "prop-types": "^15.7.2" - } + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/iconoir-react/-/iconoir-react-2.1.0.tgz", + "integrity": "sha512-PMrSTrTI4iksFrZvPnlQraQdDOE5yEe/Z4O0+v5O7mNbwLFDqCVgtDp6fyR9EDVeIyiPY9/YDfq++eII+DH4rw==", + "requires": {} }, "iconv-lite": { "version": "0.4.24", @@ -17566,9 +18292,9 @@ } }, "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", + "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", "requires": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -17684,8 +18410,7 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-bigint": { "version": "1.0.4", @@ -17934,9 +18659,9 @@ } }, "jsdoc-type-pratt-parser": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.1.1.tgz", - "integrity": "sha512-uelRmpghNwPBuZScwgBG/OzodaFk5RbO5xaivBdsAY70icWfShwZ7PCMO0x1zSkOa8T1FzHThmrdoyg/0AwV5g==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.2.0.tgz", + "integrity": "sha512-4STjeF14jp4bqha44nKMY1OUI6d2/g6uclHWUCZ7B4DoLzaB5bmpTkQrpqU+vSVzMD0LsKAOskcnI3I3VfIpmg==", "dev": true }, "jsesc": { @@ -17949,6 +18674,11 @@ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -18014,13 +18744,6 @@ "csstype": "^3.0.2", "is-in-browser": "^1.1.3", "tiny-warning": "^1.0.2" - }, - "dependencies": { - "csstype": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", - "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" - } } }, "jss-plugin-camel-case": { @@ -18143,6 +18866,11 @@ "type-check": "~0.4.0" } }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + }, "load-json-file": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", @@ -18155,6 +18883,15 @@ "strip-bom": "^3.0.0" }, "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -18280,9 +19017,9 @@ } }, "luxon": { - "version": "1.25.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.25.0.tgz", - "integrity": "sha512-hEgLurSH8kQRjY6i4YLey+mcKVAWXbDNlZRmM6AgWDJ1cY3atl8Ztf5wEY7VBReFbmGnwQPz7KYJblL8B2k0jQ==" + "version": "1.28.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.0.tgz", + "integrity": "sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ==" }, "make-dir": { "version": "2.1.0", @@ -18467,18 +19204,11 @@ "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==" }, "mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", "requires": { - "mime-db": "1.49.0" - }, - "dependencies": { - "mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" - } + "mime-db": "1.50.0" } }, "mimic-fn": { @@ -18606,15 +19336,10 @@ "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" }, - "nanocolors": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.12.tgz", - "integrity": "sha512-SFNdALvzW+rVlzqexid6epYdt8H9Zol7xDoQarioEFcFN0JHo4CYNztAxmtfgGTVRCmFlEOqqhBpoFGKqSAMug==" - }, "nanoid": { - "version": "3.1.28", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.28.tgz", - "integrity": "sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw==" + "version": "3.1.29", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.29.tgz", + "integrity": "sha512-dW2pUSGZ8ZnCFIlBIA31SV8huOGCHb6OwzVCc7A69rb/a+SgPBwfmLvK5TKQ3INPbRkcI8a/Owo0XbiTNH19wg==" }, "nanomatch": { "version": "1.2.13", @@ -18730,9 +19455,9 @@ "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" }, "node-releases": { - "version": "1.1.76", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", - "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==" + "version": "1.1.77", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz", + "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==" }, "noop-logger": { "version": "0.1.1", @@ -18757,9 +19482,9 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "notistack": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/notistack/-/notistack-1.0.10.tgz", - "integrity": "sha512-z0y4jJaVtOoH3kc3GtNUlhNTY+5LE04QDeLVujX3VPhhzg67zw055mZjrBF+nzpv3V9aiPNph1EgRU4+t8kQTQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/notistack/-/notistack-2.0.2.tgz", + "integrity": "sha512-Z2kD6QK9n/9V9zXQfN3ZgH22TefBWE3OZ/q74gMVslGPA9j9WGjoi+YxsgkTAOY8NqTYdUe8aijd2kXsGNYp6g==", "requires": { "clsx": "^1.1.0", "hoist-non-react-statics": "^3.3.0" @@ -18893,36 +19618,35 @@ } }, "object.entries": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz", - "integrity": "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", + "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" + "es-abstract": "^1.19.1" } }, "object.fromentries": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz", - "integrity": "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", + "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" + "es-abstract": "^1.19.1" } }, "object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" } }, "object.pick": { @@ -18935,14 +19659,14 @@ } }, "object.values": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", - "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" + "es-abstract": "^1.19.1" } }, "on-finished": { @@ -18996,6 +19720,13 @@ "deep-extend": "0.6.0", "luxon": "1.25.0", "ws": "1.1.5" + }, + "dependencies": { + "luxon": { + "version": "1.25.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.25.0.tgz", + "integrity": "sha512-hEgLurSH8kQRjY6i4YLey+mcKVAWXbDNlZRmM6AgWDJ1cY3atl8Ztf5wEY7VBReFbmGnwQPz7KYJblL8B2k0jQ==" + } } }, "opennebula-potojson": { @@ -19105,12 +19836,14 @@ } }, "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "requires": { - "error-ex": "^1.2.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" } }, "parse-passwd": { @@ -19212,6 +19945,11 @@ "sha.js": "^2.4.8" } }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, "picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", @@ -19287,11 +20025,6 @@ "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" }, - "popper.js": { - "version": "1.16.1-lts", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz", - "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==" - }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -19299,12 +20032,12 @@ "optional": true }, "postcss": { - "version": "8.3.8", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.8.tgz", - "integrity": "sha512-GT5bTjjZnwDifajzczOC+r3FI3Cu+PgPvrsjhQdRqa2kTJ4968/X9CUce9xttIB0xOs5c6xf0TCWZo/y9lF6bA==", + "version": "8.3.9", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.9.tgz", + "integrity": "sha512-f/ZFyAKh9Dnqytx5X62jgjhhzttjZS7hMsohcI7HEI5tjELX/HxCy3EFhsRxyzGvrzFF+82XPvCS8T9TFleVJw==", "requires": { - "nanocolors": "^0.2.2", - "nanoid": "^3.1.25", + "nanoid": "^3.1.28", + "picocolors": "^0.2.1", "source-map-js": "^0.6.2" } }, @@ -19696,11 +20429,11 @@ "dev": true }, "react-router": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", - "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.1.tgz", + "integrity": "sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==", "requires": { - "@babel/runtime": "^7.1.2", + "@babel/runtime": "^7.12.13", "history": "^4.9.0", "hoist-non-react-statics": "^3.1.0", "loose-envify": "^1.3.1", @@ -19728,15 +20461,15 @@ } }, "react-router-dom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", - "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz", + "integrity": "sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==", "requires": { - "@babel/runtime": "^7.1.2", + "@babel/runtime": "^7.12.13", "history": "^4.9.0", "loose-envify": "^1.3.1", "prop-types": "^15.6.2", - "react-router": "5.2.0", + "react-router": "5.2.1", "tiny-invariant": "^1.0.2", "tiny-warning": "^1.0.0" } @@ -20060,6 +20793,12 @@ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, + "rifm": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/rifm/-/rifm-0.12.0.tgz", + "integrity": "sha512-PqOl+Mo2lyqrKiD34FPlnQ+ksD3F+a62TQlphiZshgriyHdfjn6jGyqUZhd+s3nsMYXwXYDdjrrv8wX7QsOG3g==", + "requires": {} + }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -20788,14 +21527,14 @@ } }, "string.prototype.matchall": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz", - "integrity": "sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz", + "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2", + "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", "has-symbols": "^1.0.2", "internal-slot": "^1.0.3", @@ -20851,6 +21590,11 @@ "integrity": "sha512-1k9ZosJCRFaRbY6hH49JFlRB0fVSbmnyq1iTPjNxUmGVjBNEmwrrHPenhlp+Lgo51BojHSf6pl2FcqYaN3PfVg==", "requires": {} }, + "stylis": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.10.tgz", + "integrity": "sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg==" + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", diff --git a/src/fireedge/package.json b/src/fireedge/package.json index 9bb7fc6b7d..08388c4f4a 100644 --- a/src/fireedge/package.json +++ b/src/fireedge/package.json @@ -61,13 +61,17 @@ "@babel/plugin-proposal-optional-chaining": "7.12.13", "@babel/preset-env": "7.12.13", "@babel/preset-react": "7.12.13", + "@emotion/react": "11.4.1", + "@emotion/styled": "11.3.0", "@hookform/resolvers": "1.3.7", "@loadable/babel-plugin": "5.13.2", "@loadable/component": "5.15.0", "@loadable/server": "5.15.1", "@loadable/webpack-plugin": "5.15.1", - "@material-ui/core": "4.12.3", - "@material-ui/lab": "4.0.0-alpha.60", + "@mui/lab": "5.0.0-alpha.49", + "@mui/material": "5.0.2", + "@mui/styles": "5.0.1", + "@mui/system": "5.0.2", "@reduxjs/toolkit": "1.5.1", "atob": "2.1.2", "axios": "0.21.1", @@ -92,17 +96,17 @@ "http": "0.0.1-security", "http-proxy-middleware": "1.0.5", "https": "1.0.0", - "iconoir-react": "1.1.0", + "iconoir-react": "2.1.0", "immutable": "4.0.0-rc.12", "intersection-observer": "0.11.0", "jsonschema": "1.2.7", "jsonwebtoken": "8.5.1", "jwt-simple": "0.5.6", "lockfile": "1.0.4", - "luxon": "1.25.0", + "luxon": "1.28.0", "marked": "2.0.0", "morgan": "1.10.0", - "notistack": "1.0.10", + "notistack": "2.0.2", "opennebula-guacamole": "1.0.0", "path": "0.12.7", "process": "0.11.10", @@ -118,8 +122,8 @@ "react-minimal-pie-chart": "8.2.0", "react-opennebula-ace": "1.0.1", "react-redux": "7.2.4", - "react-router": "5.2.0", - "react-router-dom": "5.2.0", + "react-router": "5.2.1", + "react-router-dom": "5.3.0", "react-table": "7.7.0", "react-transition-group": "4.4.1", "react-virtual": "2.7.1", diff --git a/src/fireedge/src/client/apps/provision/theme.js b/src/fireedge/src/client/apps/provision/theme.js index 73557a8696..e86004ca25 100644 --- a/src/fireedge/src/client/apps/provision/theme.js +++ b/src/fireedge/src/client/apps/provision/theme.js @@ -13,24 +13,11 @@ * See the License for the specific language governing permissions and * * limitations under the License. * * ------------------------------------------------------------------------- */ -import Color from 'client/constants/color' -import { SCHEMES } from 'client/constants' +import { ThemeOptions } from '@mui/material' -/** - * @param {SCHEMES} scheme - Scheme type - * @returns {object} Provision theme - */ -const theme = (scheme = SCHEMES.DARK) => ({ +/** @type {ThemeOptions} Provision theme */ +export default { palette: { - type: scheme, - common: { - black: '#000000', - white: '#ffffff' - }, - background: { - paper: scheme === SCHEMES.DARK ? '#2a2d3d' : '#ffffff', - default: scheme === SCHEMES.DARK ? '#222431' : '#f2f4f8' - }, primary: { light: '#2a2d3d', main: '#222431', @@ -38,13 +25,19 @@ const theme = (scheme = SCHEMES.DARK) => ({ contrastText: '#ffffff' }, secondary: { - light: '#fb8554', - main: '#fa6c43', + 100: '#ffeae4', + 200: '#ffd6c8', + 300: '#ffc1ad', + 400: '#ffac91', + 500: '#fe9876', + 600: '#fe835a', + 700: '#fe6f3f', + 800: '#fe5a23', + 900: '#e74a15', + light: '#ffd6c8', + main: '#fe835a', dark: '#fe5a23', contrastText: '#ffffff' - }, - ...Color + } } -}) - -export default theme +} diff --git a/src/fireedge/src/client/apps/sunstone/routesFlow.js b/src/fireedge/src/client/apps/sunstone/routesFlow.js index 79ffa650d0..b30bc2d731 100644 --- a/src/fireedge/src/client/apps/sunstone/routesFlow.js +++ b/src/fireedge/src/client/apps/sunstone/routesFlow.js @@ -15,7 +15,7 @@ * ------------------------------------------------------------------------- */ import { List as TemplatesIcons, - Cell4x4 as InstancesIcons + Cell4X4 as InstancesIcons } from 'iconoir-react' import loadable from '@loadable/component' diff --git a/src/fireedge/src/client/apps/sunstone/routesOne.js b/src/fireedge/src/client/apps/sunstone/routesOne.js index a51b904049..4fa7022a9c 100644 --- a/src/fireedge/src/client/apps/sunstone/routesOne.js +++ b/src/fireedge/src/client/apps/sunstone/routesOne.js @@ -14,7 +14,7 @@ * limitations under the License. * * ------------------------------------------------------------------------- */ import { - Cell4x4 as InstancesIcons, + Cell4X4 as InstancesIcons, ModernTv as VmsIcons, Shuffle as VRoutersIcons, diff --git a/src/fireedge/src/client/apps/sunstone/theme.js b/src/fireedge/src/client/apps/sunstone/theme.js index 63763adf58..63545fbf73 100644 --- a/src/fireedge/src/client/apps/sunstone/theme.js +++ b/src/fireedge/src/client/apps/sunstone/theme.js @@ -13,24 +13,11 @@ * See the License for the specific language governing permissions and * * limitations under the License. * * ------------------------------------------------------------------------- */ -import Color from 'client/constants/color' -import { SCHEMES } from 'client/constants' +import { ThemeOptions } from '@mui/material' -/** - * @param {SCHEMES} scheme - Scheme type - * @returns {object} Provision theme - */ -const theme = (scheme = SCHEMES.DARK) => ({ +/** @type {ThemeOptions} Sunstone theme */ +export default { palette: { - type: scheme, - common: { - black: '#000000', - white: '#ffffff' - }, - background: { - paper: scheme === SCHEMES.DARK ? '#2a2d3d' : '#ffffff', - default: scheme === SCHEMES.DARK ? '#222431' : '#f2f4f8' - }, primary: { light: '#2a2d3d', main: '#222431', @@ -38,13 +25,19 @@ const theme = (scheme = SCHEMES.DARK) => ({ contrastText: '#ffffff' }, secondary: { - light: 'rgba(191, 230, 242, 1)', - main: 'rgba(64, 179, 217, 1)', - dark: 'rgba(0, 152, 195, 1)', + 100: '#dff2f8', + 200: '#bfe6f0', + 300: '#9fd9e9', + 400: '#80cce1', + 500: '#60bfda', + 600: '#40b3da', + 700: '#20a6cb', + 800: '#0099c3', + 900: '#0284a7', + light: '#bfe6f0', + main: '#40b3da', + dark: '#0099c3', contrastText: '#fff' - }, - ...Color + } } -}) - -export default theme +} diff --git a/src/fireedge/src/client/components/Alerts/Error.js b/src/fireedge/src/client/components/Alerts/Error.js index 5c4f16bc42..9f20a16de9 100644 --- a/src/fireedge/src/client/components/Alerts/Error.js +++ b/src/fireedge/src/client/components/Alerts/Error.js @@ -16,8 +16,7 @@ /* eslint-disable jsdoc/require-jsdoc */ import PropTypes from 'prop-types' -import { Box } from '@material-ui/core' -import { Alert } from '@material-ui/lab' +import { Box, Alert } from '@mui/material' import { Tr } from 'client/components/HOC' const AlertError = ({ children, ...props }) => ( diff --git a/src/fireedge/src/client/components/AutoScrollBox/index.js b/src/fireedge/src/client/components/AutoScrollBox/index.js index 658b77b66c..e319c56fc6 100644 --- a/src/fireedge/src/client/components/AutoScrollBox/index.js +++ b/src/fireedge/src/client/components/AutoScrollBox/index.js @@ -16,7 +16,8 @@ import { memo, useEffect, useRef, useState } from 'react' import PropTypes from 'prop-types' -import { makeStyles, Chip, Slide } from '@material-ui/core' +import { Chip, Slide } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { Download as GoToBottomIcon } from 'iconoir-react' const useStyles = makeStyles(theme => ({ diff --git a/src/fireedge/src/client/components/Cards/ApplicationCard.js b/src/fireedge/src/client/components/Cards/ApplicationCard.js index c8f6fab814..58ac6033de 100644 --- a/src/fireedge/src/client/components/Cards/ApplicationCard.js +++ b/src/fireedge/src/client/components/Cards/ApplicationCard.js @@ -16,14 +16,8 @@ import { memo } from 'react' import PropTypes from 'prop-types' -import { - makeStyles, - Box, - Button, - CardContent, - CardActions, - Chip -} from '@material-ui/core' +import { Box, Button, CardContent, CardActions, Chip } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { Page as FileIcon } from 'iconoir-react' import SelectCard from 'client/components/Cards/SelectCard' diff --git a/src/fireedge/src/client/components/Cards/ApplicationNetworkCard.js b/src/fireedge/src/client/components/Cards/ApplicationNetworkCard.js index 6f12dae505..d7167e2ed9 100644 --- a/src/fireedge/src/client/components/Cards/ApplicationNetworkCard.js +++ b/src/fireedge/src/client/components/Cards/ApplicationNetworkCard.js @@ -16,7 +16,7 @@ import { memo } from 'react' import PropTypes from 'prop-types' -import { Button, CardActions } from '@material-ui/core' +import { Button, CardActions } from '@mui/material' import SelectCard from 'client/components/Cards/SelectCard' import { Tr } from 'client/components/HOC' diff --git a/src/fireedge/src/client/components/Cards/ApplicationTemplateCard.js b/src/fireedge/src/client/components/Cards/ApplicationTemplateCard.js index 023ba9a375..30510feaab 100644 --- a/src/fireedge/src/client/components/Cards/ApplicationTemplateCard.js +++ b/src/fireedge/src/client/components/Cards/ApplicationTemplateCard.js @@ -16,14 +16,8 @@ import { memo } from 'react' import PropTypes from 'prop-types' -import { - makeStyles, - Box, - Badge, - Button, - CardContent, - CardActions -} from '@material-ui/core' +import { Box, Badge, Button, CardContent, CardActions } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { Page as FileIcon, HardDrive as HostIcon, diff --git a/src/fireedge/src/client/components/Cards/ClusterCard.js b/src/fireedge/src/client/components/Cards/ClusterCard.js index 51ceaa39c1..3cbeb72273 100644 --- a/src/fireedge/src/client/components/Cards/ClusterCard.js +++ b/src/fireedge/src/client/components/Cards/ClusterCard.js @@ -16,7 +16,8 @@ import { memo } from 'react' import PropTypes from 'prop-types' -import { makeStyles, Badge, Box, CardContent } from '@material-ui/core' +import { Badge, Box, CardContent } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { Server as ClusterIcon, HardDrive as HostIcon, diff --git a/src/fireedge/src/client/components/Cards/DatastoreCard.js b/src/fireedge/src/client/components/Cards/DatastoreCard.js index e8286d0855..1f454b920b 100644 --- a/src/fireedge/src/client/components/Cards/DatastoreCard.js +++ b/src/fireedge/src/client/components/Cards/DatastoreCard.js @@ -16,7 +16,8 @@ import { memo } from 'react' import PropTypes from 'prop-types' -import { makeStyles, Typography } from '@material-ui/core' +import { Typography } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { Folder as DatastoreIcon } from 'iconoir-react' import SelectCard, { Action } from 'client/components/Cards/SelectCard' diff --git a/src/fireedge/src/client/components/Cards/EmptyCard.js b/src/fireedge/src/client/components/Cards/EmptyCard.js index 9e85ed70ba..2752733bff 100644 --- a/src/fireedge/src/client/components/Cards/EmptyCard.js +++ b/src/fireedge/src/client/components/Cards/EmptyCard.js @@ -16,7 +16,8 @@ import { memo } from 'react' import PropTypes from 'prop-types' -import { Card, CardHeader, Fade, makeStyles } from '@material-ui/core' +import { Card, CardHeader, Fade } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { Tr } from 'client/components/HOC' import { T } from 'client/constants' diff --git a/src/fireedge/src/client/components/Cards/HostCard.js b/src/fireedge/src/client/components/Cards/HostCard.js index bbba0fa698..fd273f8a13 100644 --- a/src/fireedge/src/client/components/Cards/HostCard.js +++ b/src/fireedge/src/client/components/Cards/HostCard.js @@ -16,7 +16,8 @@ import { memo } from 'react' import PropTypes from 'prop-types' -import { makeStyles, Typography } from '@material-ui/core' +import { Typography } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { HardDrive as HostIcon } from 'iconoir-react' import SelectCard, { Action } from 'client/components/Cards/SelectCard' diff --git a/src/fireedge/src/client/components/Cards/PolicyCard.js b/src/fireedge/src/client/components/Cards/PolicyCard.js index 7418934a1d..d497935a4a 100644 --- a/src/fireedge/src/client/components/Cards/PolicyCard.js +++ b/src/fireedge/src/client/components/Cards/PolicyCard.js @@ -16,7 +16,8 @@ import { memo } from 'react' import PropTypes from 'prop-types' -import { makeStyles, Card, CardContent, Button, CardActions } from '@material-ui/core' +import { Card, CardContent, Button, CardActions } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import FormWithSchema from 'client/components/Forms/FormWithSchema' import { Tr } from 'client/components/HOC' diff --git a/src/fireedge/src/client/components/Cards/SelectCard/SelectCard.js b/src/fireedge/src/client/components/Cards/SelectCard/SelectCard.js index c2cdcea514..b1b82450c9 100644 --- a/src/fireedge/src/client/components/Cards/SelectCard/SelectCard.js +++ b/src/fireedge/src/client/components/Cards/SelectCard/SelectCard.js @@ -18,9 +18,13 @@ import PropTypes from 'prop-types' import clsx from 'clsx' import { - Card, CardActionArea, CardHeader, CardActions, CardMedia -} from '@material-ui/core' -import { Skeleton } from '@material-ui/lab' + Card, + CardActionArea, + CardHeader, + CardActions, + CardMedia, + Skeleton +} from '@mui/material' import useNearScreen from 'client/hooks/useNearScreen' import { ConditionalWrap } from 'client/components/HOC' @@ -97,7 +101,7 @@ const SelectCard = memo(({ noWrap: true, className: classes.header, title: typeof title === 'string' ? title : undefined, - ...(dataCy) && { 'data-cy': `${dataCy}-card-title` } + ...(dataCy && { 'data-cy': `${dataCy}-card-title` }) }} subheader={subheader} subheaderTypographyProps={{ @@ -105,7 +109,7 @@ const SelectCard = memo(({ noWrap: true, className: classes.subheader, title: typeof subheader === 'string' ? subheader : undefined, - ...(dataCy) && { 'data-cy': `${dataCy}-card-subheader` } + ...(dataCy && { 'data-cy': `${dataCy}-card-subheader` }) }} {...cardHeaderProps} /> @@ -143,7 +147,7 @@ const SelectCard = memo(({ ) : ( diff --git a/src/fireedge/src/client/components/Cards/SelectCard/styles.js b/src/fireedge/src/client/components/Cards/SelectCard/styles.js index 9e650d6d39..d28eccf50d 100644 --- a/src/fireedge/src/client/components/Cards/SelectCard/styles.js +++ b/src/fireedge/src/client/components/Cards/SelectCard/styles.js @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * * limitations under the License. * * ------------------------------------------------------------------------- */ -import { makeStyles } from '@material-ui/core' +import makeStyles from '@mui/styles/makeStyles' import { SCHEMES } from 'client/constants' @@ -64,7 +64,7 @@ const styles = makeStyles(theme => ({ filter: ({ isSelected, disableFilterImage }) => disableFilterImage ? 'none' - : (theme.palette.type === SCHEMES.DARK || isSelected) + : (theme.palette.mode === SCHEMES.DARK || isSelected) ? 'contrast(0) brightness(2)' : 'contrast(0) brightness(0.8)' }, diff --git a/src/fireedge/src/client/components/Cards/TierCard.js b/src/fireedge/src/client/components/Cards/TierCard.js index a7c09f4165..3d0a6b8125 100644 --- a/src/fireedge/src/client/components/Cards/TierCard.js +++ b/src/fireedge/src/client/components/Cards/TierCard.js @@ -16,7 +16,7 @@ import { memo } from 'react' import PropTypes from 'prop-types' -import { Button, CardActions, Badge } from '@material-ui/core' +import { Button, CardActions, Badge } from '@mui/material' import { AppleImac2021 as TierIcon } from 'iconoir-react' import SelectCard from 'client/components/Cards/SelectCard' diff --git a/src/fireedge/src/client/components/Cards/WavesCard.js b/src/fireedge/src/client/components/Cards/WavesCard.js index 143e5fb16d..9f6206ccc5 100644 --- a/src/fireedge/src/client/components/Cards/WavesCard.js +++ b/src/fireedge/src/client/components/Cards/WavesCard.js @@ -17,14 +17,15 @@ import { memo } from 'react' import PropTypes from 'prop-types' import clsx from 'clsx' -import { Paper, Typography, makeStyles, lighten, darken } from '@material-ui/core' +import { Paper, Typography, lighten, darken } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { addOpacityToColor } from 'client/utils' import { SCHEMES } from 'client/constants' const useStyles = makeStyles(theme => { - const getBackgroundColor = theme.palette.type === SCHEMES.DARK ? darken : lighten - const getContrastBackgroundColor = theme.palette.type === SCHEMES.LIGHT ? darken : lighten + const getBackgroundColor = theme.palette.mode === SCHEMES.DARK ? darken : lighten + const getContrastBackgroundColor = theme.palette.mode === SCHEMES.LIGHT ? darken : lighten return { root: { @@ -33,8 +34,8 @@ const useStyles = makeStyles(theme => { overflow: 'hidden', backgroundColor: ({ bgColor }) => getBackgroundColor(bgColor, 0.3), [theme.breakpoints.only('xs')]: { - display: 'inline-flex', - alignItem: 'baseline', + display: 'flex', + alignItems: 'baseline', gap: '1em' } }, @@ -81,8 +82,8 @@ const WavesCard = memo(({ text, value, bgColor, icon: Icon }) => { return ( - {text} - {value} + {text} + {value} {Icon && ( diff --git a/src/fireedge/src/client/components/Charts/CircleChart.js b/src/fireedge/src/client/components/Charts/CircleChart.js index cd939010fa..507fbe36cb 100644 --- a/src/fireedge/src/client/components/Charts/CircleChart.js +++ b/src/fireedge/src/client/components/Charts/CircleChart.js @@ -16,7 +16,7 @@ import { memo, useState, useEffect, JSXElementConstructor } from 'react' import PropTypes from 'prop-types' -import { Box, CircularProgress, Typography } from '@material-ui/core' +import { Box, CircularProgress, Typography } from '@mui/material' import NumberEasing from 'client/components/NumberEasing' /** diff --git a/src/fireedge/src/client/components/Charts/SingleBar.js b/src/fireedge/src/client/components/Charts/SingleBar.js index 9b0f3f23d1..5894f75a10 100644 --- a/src/fireedge/src/client/components/Charts/SingleBar.js +++ b/src/fireedge/src/client/components/Charts/SingleBar.js @@ -16,7 +16,9 @@ import { JSXElementConstructor } from 'react' import PropTypes from 'prop-types' -import { makeStyles, Tooltip } from '@material-ui/core' +import { Tooltip } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' + import { TypographyWithPoint } from 'client/components/Typography' import { addOpacityToColor } from 'client/utils' diff --git a/src/fireedge/src/client/components/DebugLog/filters.js b/src/fireedge/src/client/components/DebugLog/filters.js index 03a2406cbf..1d9fb4feb0 100644 --- a/src/fireedge/src/client/components/DebugLog/filters.js +++ b/src/fireedge/src/client/components/DebugLog/filters.js @@ -16,8 +16,8 @@ import { memo } from 'react' import PropTypes from 'prop-types' -import { makeStyles, Paper, Divider } from '@material-ui/core' -import { ToggleButton, ToggleButtonGroup } from '@material-ui/lab' +import { Paper, Divider, ToggleButton, ToggleButtonGroup } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { DEBUG_LEVEL } from 'client/constants' diff --git a/src/fireedge/src/client/components/DebugLog/index.js b/src/fireedge/src/client/components/DebugLog/index.js index 22b5f7daae..d1b503e478 100644 --- a/src/fireedge/src/client/components/DebugLog/index.js +++ b/src/fireedge/src/client/components/DebugLog/index.js @@ -16,7 +16,8 @@ import { useEffect, useState, memo } from 'react' import PropTypes from 'prop-types' -import { makeStyles } from '@material-ui/core' +import makeStyles from '@mui/styles/makeStyles' + import AutoScrollBox from 'client/components/AutoScrollBox' import MessageList from 'client/components/DebugLog/messagelist' import Filters from 'client/components/DebugLog/filters' diff --git a/src/fireedge/src/client/components/DebugLog/message.js b/src/fireedge/src/client/components/DebugLog/message.js index de78998520..23b77bc513 100644 --- a/src/fireedge/src/client/components/DebugLog/message.js +++ b/src/fireedge/src/client/components/DebugLog/message.js @@ -17,7 +17,7 @@ import { memo, useState } from 'react' import PropTypes from 'prop-types' import clsx from 'clsx' -import { makeStyles } from '@material-ui/core' +import makeStyles from '@mui/styles/makeStyles' import { NavArrowRight as CollapseIcon, NavArrowDown as ExpandMoreIcon } from 'iconoir-react' import { DEBUG_LEVEL } from 'client/constants' @@ -71,9 +71,9 @@ const Message = memo(({ timestamp, severity, message }) => { > {isMoreThanMaxChars && (isCollapsed ? ( - + ) : ( - + ))}
{timestamp}
diff --git a/src/fireedge/src/client/components/Dialogs/DialogConfirmation.js b/src/fireedge/src/client/components/Dialogs/DialogConfirmation.js index 4a86ef9395..a6accce339 100644 --- a/src/fireedge/src/client/components/Dialogs/DialogConfirmation.js +++ b/src/fireedge/src/client/components/Dialogs/DialogConfirmation.js @@ -15,7 +15,6 @@ * ------------------------------------------------------------------------- */ import { memo, JSXElementConstructor } from 'react' import PropTypes from 'prop-types' -import clsx from 'clsx' import { useMediaQuery, @@ -24,9 +23,9 @@ import { DialogContent, DialogActions, Typography, - IconButton, - makeStyles -} from '@material-ui/core' + IconButton +} from '@mui/material' +import { Box } from '@mui/system' import { Cancel as CancelIcon } from 'iconoir-react' import { Action } from 'client/components/Cards/SelectCard' @@ -48,24 +47,6 @@ import { T } from 'client/constants' * @property {JSXElementConstructor} [children] - Fix minimum height */ -const useStyles = makeStyles({ - title: { - display: 'flex', - flexWrap: 'nowrap', - alignItems: 'center', - gap: '2em' - }, - titleText: { - flexGrow: 1 - }, - fixedWidth: { - minWidth: '80vw' - }, - fixedHeight: { - minHeight: '80vh' - } -}) - /** * @param {DialogProps} props - Dialog properties * @returns {JSXElementConstructor} - Dialog with confirmation basic buttons @@ -85,26 +66,34 @@ const DialogConfirmation = memo( fixedHeight, children }) => { - const classes = useStyles() const isMobile = useMediaQuery(theme => theme.breakpoints.only('xs')) return ( - -
+ TransitionProps={{ + onEntering: handleEntering + }}> + + {title && ( {typeof title === 'string' ? Tr(title) : title} @@ -115,14 +104,14 @@ const DialogConfirmation = memo( {typeof subheader === 'string' ? Tr(subheader) : subheader} )} -
+ {handleCancel && ( + size="large"> )} diff --git a/src/fireedge/src/client/components/Dialogs/DialogForm.js b/src/fireedge/src/client/components/Dialogs/DialogForm.js index 86d0dbf87e..0a12946025 100644 --- a/src/fireedge/src/client/components/Dialogs/DialogForm.js +++ b/src/fireedge/src/client/components/Dialogs/DialogForm.js @@ -17,7 +17,7 @@ import PropTypes from 'prop-types' import clsx from 'clsx' -import { makeStyles } from '@material-ui/core' +import makeStyles from '@mui/styles/makeStyles' import { useForm, FormProvider } from 'react-hook-form' import { yupResolver } from '@hookform/resolvers/yup' diff --git a/src/fireedge/src/client/components/Dialogs/DialogRequest.js b/src/fireedge/src/client/components/Dialogs/DialogRequest.js index 2a9b68c0a0..b3dc6d990c 100644 --- a/src/fireedge/src/client/components/Dialogs/DialogRequest.js +++ b/src/fireedge/src/client/components/Dialogs/DialogRequest.js @@ -18,7 +18,8 @@ import { useEffect } from 'react' import PropTypes from 'prop-types' import clsx from 'clsx' -import { makeStyles, Backdrop, CircularProgress } from '@material-ui/core' +import { Backdrop, CircularProgress } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { useFetch } from 'client/hooks' import { DialogConfirmation } from 'client/components/Dialogs' @@ -47,7 +48,7 @@ const DialogRequest = ({ withTabs, request, dialogProps, children }) => { if (!data || loading) { return ( - + ) } diff --git a/src/fireedge/src/client/components/Fab/index.js b/src/fireedge/src/client/components/Fab/index.js index a8594022a6..e3d7a3ef4d 100644 --- a/src/fireedge/src/client/components/Fab/index.js +++ b/src/fireedge/src/client/components/Fab/index.js @@ -17,7 +17,8 @@ import { memo } from 'react' import PropTypes from 'prop-types' import clsx from 'clsx' -import { makeStyles, Fab } from '@material-ui/core' +import { Fab } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' const useStyles = makeStyles(theme => ({ root: { @@ -44,10 +45,10 @@ const FloatingActionButton = memo( FloatingActionButton.propTypes = { icon: PropTypes.node.isRequired, className: PropTypes.string, - color: PropTypes.oneOf(['default', 'inherit', 'primary', 'secondary']), + color: PropTypes.oneOf(['inherit', 'primary', 'secondary']), disabled: PropTypes.bool, size: PropTypes.oneOf(['large', 'medium', 'small']), - variant: PropTypes.oneOf(['extended', 'round']) + variant: PropTypes.oneOf(['extended', 'circular']) } FloatingActionButton.defaultProps = { @@ -56,7 +57,7 @@ FloatingActionButton.defaultProps = { color: 'primary', disabled: false, size: 'large', - variant: 'round' + variant: 'circular' } FloatingActionButton.displayName = 'FloatingActionButton' diff --git a/src/fireedge/src/client/components/Footer/index.js b/src/fireedge/src/client/components/Footer/index.js index 5a48ef103a..5c335cd6a6 100644 --- a/src/fireedge/src/client/components/Footer/index.js +++ b/src/fireedge/src/client/components/Footer/index.js @@ -15,7 +15,7 @@ * ------------------------------------------------------------------------- */ import { memo } from 'react' -import { Box, Link, Typography } from '@material-ui/core' +import { Box, Link, Typography } from '@mui/material' import footerStyles from 'client/components/Footer/styles' import { BY } from 'client/constants' diff --git a/src/fireedge/src/client/components/Footer/styles.js b/src/fireedge/src/client/components/Footer/styles.js index cce2f5848f..00f5b72b89 100644 --- a/src/fireedge/src/client/components/Footer/styles.js +++ b/src/fireedge/src/client/components/Footer/styles.js @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * * limitations under the License. * * ------------------------------------------------------------------------- */ -import { makeStyles } from '@material-ui/core' +import makeStyles from '@mui/styles/makeStyles' export default makeStyles(theme => ({ footer: { diff --git a/src/fireedge/src/client/components/FormControl/AutocompleteController.js b/src/fireedge/src/client/components/FormControl/AutocompleteController.js index cd76af20e5..72157d6d3a 100644 --- a/src/fireedge/src/client/components/FormControl/AutocompleteController.js +++ b/src/fireedge/src/client/components/FormControl/AutocompleteController.js @@ -16,8 +16,7 @@ import { memo } from 'react' import PropTypes from 'prop-types' -import { TextField, Chip } from '@material-ui/core' -import { Autocomplete } from '@material-ui/lab' +import { TextField, Chip, Autocomplete } from '@mui/material' import { Controller } from 'react-hook-form' import { ErrorHelper } from 'client/components/FormControl' @@ -53,23 +52,20 @@ const AutocompleteController = memo( tags.map((tag, index) => ( )) } getOptionLabel={option => option.text} - getOptionSelected={option => option.value === renderValue} + isOptionEqualToValue={option => option.value === renderValue} renderInput={({ inputProps, ...inputParams }) => ( } diff --git a/src/fireedge/src/client/components/FormControl/CheckboxController.js b/src/fireedge/src/client/components/FormControl/CheckboxController.js index d870a3c504..d32b4f7961 100644 --- a/src/fireedge/src/client/components/FormControl/CheckboxController.js +++ b/src/fireedge/src/client/components/FormControl/CheckboxController.js @@ -16,7 +16,7 @@ import { memo } from 'react' import PropTypes from 'prop-types' -import { FormControl, FormControlLabel, Checkbox } from '@material-ui/core' +import { FormControl, FormControlLabel, Checkbox } from '@mui/material' import { Controller } from 'react-hook-form' import { ErrorHelper, Tooltip } from 'client/components/FormControl' diff --git a/src/fireedge/src/client/components/FormControl/ErrorHelper.js b/src/fireedge/src/client/components/FormControl/ErrorHelper.js index 30729879f5..6a53643817 100644 --- a/src/fireedge/src/client/components/FormControl/ErrorHelper.js +++ b/src/fireedge/src/client/components/FormControl/ErrorHelper.js @@ -16,8 +16,10 @@ import { memo } from 'react' import { string } from 'prop-types' -import { Box, makeStyles, Typography } from '@material-ui/core' +import { Box, Typography } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { WarningCircledOutline as WarningIcon } from 'iconoir-react' + import { Tr } from 'client/components/HOC' const useStyles = makeStyles(theme => ({ @@ -38,7 +40,7 @@ const ErrorHelper = memo(({ label, ...rest }) => { return ( - + {Tr(label)} diff --git a/src/fireedge/src/client/components/FormControl/FileController.js b/src/fireedge/src/client/components/FormControl/FileController.js index 6d73493008..f84d45664b 100644 --- a/src/fireedge/src/client/components/FormControl/FileController.js +++ b/src/fireedge/src/client/components/FormControl/FileController.js @@ -17,7 +17,8 @@ import { memo, useState, useRef, useEffect, ChangeEvent } from 'react' import PropTypes from 'prop-types' import clsx from 'clsx' -import { makeStyles, FormControl, FormHelperText } from '@material-ui/core' +import { FormControl, FormHelperText } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { Check as CheckIcon, Page as FileIcon } from 'iconoir-react' import { Controller } from 'react-hook-form' @@ -110,7 +111,6 @@ const FileController = memo( ( { type={showPassword ? 'text' : 'password'} fieldProps={{ InputProps: { - endAdornment: + endAdornment: + size='large'> {showPassword ? : } diff --git a/src/fireedge/src/client/components/FormControl/SelectController.js b/src/fireedge/src/client/components/FormControl/SelectController.js index 49032e3c11..88386c365d 100644 --- a/src/fireedge/src/client/components/FormControl/SelectController.js +++ b/src/fireedge/src/client/components/FormControl/SelectController.js @@ -16,7 +16,7 @@ import { memo } from 'react' import PropTypes from 'prop-types' -import { TextField } from '@material-ui/core' +import { TextField } from '@mui/material' import { Controller } from 'react-hook-form' import { ErrorHelper, Tooltip } from 'client/components/FormControl' @@ -48,11 +48,8 @@ const SelectController = memo( } : onChange } - color='secondary' select fullWidth - variant='outlined' - margin='dense' SelectProps={{ native: true, multiple }} label={Tr(label)} InputProps={{ diff --git a/src/fireedge/src/client/components/FormControl/SliderController.js b/src/fireedge/src/client/components/FormControl/SliderController.js index 025ef31895..6b1d4b2f70 100644 --- a/src/fireedge/src/client/components/FormControl/SliderController.js +++ b/src/fireedge/src/client/components/FormControl/SliderController.js @@ -16,7 +16,7 @@ import { memo } from 'react' import PropTypes from 'prop-types' -import { Typography, TextField, Slider, FormHelperText, Grid } from '@material-ui/core' +import { Typography, TextField, Slider, FormHelperText, Grid } from '@mui/material' import { Controller } from 'react-hook-form' import { ErrorHelper } from 'client/components/FormControl' @@ -30,13 +30,13 @@ const SliderController = memo( - + onChange(val)} @@ -44,13 +44,10 @@ const SliderController = memo( ({ })) const ButtonComponent = forwardRef( - ({ icon, endicon, children, size = 'small', ...props }, ref) => + ({ icon, endicon, children, size, variant = 'contained', ...props }, ref) => icon && !endicon ? ( - {children} + + {children} + ) : ( - - - - ) -} + {typeof label === 'string' ? Tr(label) : label} + + + + ))} + + + + } + /> + + +) CustomStepper.propTypes = { steps: PropTypes.arrayOf( diff --git a/src/fireedge/src/client/components/FormStepper/index.js b/src/fireedge/src/client/components/FormStepper/index.js index 85ad2fed98..4e545aad1f 100644 --- a/src/fireedge/src/client/components/FormStepper/index.js +++ b/src/fireedge/src/client/components/FormStepper/index.js @@ -18,7 +18,7 @@ import PropTypes from 'prop-types' import { BaseSchema } from 'yup' import { useFormContext } from 'react-hook-form' -import { useMediaQuery } from '@material-ui/core' +import { useMediaQuery } from '@mui/material' import { useGeneral } from 'client/features/General' import CustomMobileStepper from 'client/components/FormStepper/MobileStepper' diff --git a/src/fireedge/src/client/components/Forms/ButtonToTriggerForm.js b/src/fireedge/src/client/components/Forms/ButtonToTriggerForm.js index 791b4e7b46..09c90c4582 100644 --- a/src/fireedge/src/client/components/Forms/ButtonToTriggerForm.js +++ b/src/fireedge/src/client/components/Forms/ButtonToTriggerForm.js @@ -17,15 +17,7 @@ import { useState, useMemo } from 'react' import PropTypes from 'prop-types' -import { - ClickAwayListener, - Grow, - Paper, - Popper, - MenuItem, - MenuList, - ListItemIcon -} from '@material-ui/core' +import { Grow, Menu, MenuItem, Typography, ListItemIcon } from '@mui/material' import { NavArrowDown } from 'iconoir-react' import { useDialog } from 'client/hooks' @@ -39,10 +31,10 @@ const ButtonToTriggerForm = ({ buttonProps = {}, options = [] }) => { - const buttonId = buttonProps['data-cy'] ?? 'main-button-form' + const buttonId = buttonProps['data-cy'] ?? 'main-button' const isGroupButton = options.length > 1 - const [anchorEl, setAnchorEl] = useState(null) + const [anchorEl, setAnchorEl] = useState(() => null) const open = Boolean(anchorEl) const { display, show, hide, values: Form } = useDialog() @@ -65,14 +57,19 @@ const ButtonToTriggerForm = ({ handleClose() } - const handleToggle = evt => setAnchorEl(prev => prev ? null : evt.currentTarget) + const handleToggle = evt => setAnchorEl(evt.currentTarget) const handleClose = () => setAnchorEl(null) return ( <> : undefined} onClick={evt => !isGroupButton ? openDialogForm(options[0]) @@ -82,40 +79,37 @@ const ButtonToTriggerForm = ({ /> {isGroupButton && ( - - {({ TransitionProps }) => ( - - - - - {options.map(({ cy, disabled, icon: Icon, name, ...option }) => ( - openDialogForm(option)} - > - {Icon && ( - - - - )} - - - ))} - - - - - )} - + {options.map(({ cy, disabled, icon: Icon, name, ...option }) => ( + openDialogForm(option)} + > + {Icon && ( + + + + )} + + + + + ))} + )} {display && ( diff --git a/src/fireedge/src/client/components/Forms/FormWithSchema.js b/src/fireedge/src/client/components/Forms/FormWithSchema.js index c530d7f333..cd77e45297 100644 --- a/src/fireedge/src/client/components/Forms/FormWithSchema.js +++ b/src/fireedge/src/client/components/Forms/FormWithSchema.js @@ -17,7 +17,7 @@ import { createElement, useMemo } from 'react' import PropTypes from 'prop-types' -import { styled, Grid } from '@material-ui/core' +import { styled, Grid } from '@mui/material' import { useFormContext } from 'react-hook-form' import * as FC from 'client/components/FormControl' diff --git a/src/fireedge/src/client/components/Forms/Provider/CreateForm/Steps/Template/index.js b/src/fireedge/src/client/components/Forms/Provider/CreateForm/Steps/Template/index.js index 5dec56d069..4196146d08 100644 --- a/src/fireedge/src/client/components/Forms/Provider/CreateForm/Steps/Template/index.js +++ b/src/fireedge/src/client/components/Forms/Provider/CreateForm/Steps/Template/index.js @@ -16,7 +16,8 @@ /* eslint-disable jsdoc/require-jsdoc */ import { useState, useEffect, useMemo } from 'react' import PropTypes from 'prop-types' -import { Divider, Select, Breadcrumbs, InputLabel, FormControl } from '@material-ui/core' +import { Divider, Select, Breadcrumbs, InputLabel, FormControl } from '@mui/material' +import { } from '@mui/material/Link' import { NavArrowRight } from 'iconoir-react' import Marked from 'marked' @@ -34,6 +35,15 @@ import { STEP_FORM_SCHEMA } from 'client/components/Forms/Provider/CreateForm/St import { STEP_ID as CONFIGURATION_ID } from 'client/components/Forms/Provider/CreateForm/Steps/BasicConfiguration' import { STEP_ID as CONNECTION_ID } from 'client/components/Forms/Provider/CreateForm/Steps/Connection' +const renderer = new Marked.Renderer() + +renderer.link = (href, title, text) => ` + + ${text} + +` + export const STEP_ID = 'template' const Content = ({ data, setFormData }) => { @@ -110,13 +120,6 @@ const Content = ({ data, setFormData }) => { } const RenderDescription = ({ description = '' }) => { - const renderer = new Marked.Renderer() - - renderer.link = (href, title, text) => ( - `${text}` - ) - const html = Marked(sanitize`${description}`, { renderer }) return
} diff --git a/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Inputs/index.js b/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Inputs/index.js index e29f7179fe..ef22d89d68 100644 --- a/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Inputs/index.js +++ b/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Inputs/index.js @@ -17,7 +17,7 @@ import { useCallback, useEffect, useState } from 'react' import { useFormContext } from 'react-hook-form' -import { LinearProgress } from '@material-ui/core' +import { LinearProgress } from '@mui/material' import { useFetch } from 'client/hooks' import { useGeneralApi } from 'client/features/General' diff --git a/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Template/index.js b/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Template/index.js index e0dc31738c..daf2d996f2 100644 --- a/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Template/index.js +++ b/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Template/index.js @@ -15,7 +15,7 @@ * ------------------------------------------------------------------------- */ /* eslint-disable jsdoc/require-jsdoc */ import { useState, useCallback, useEffect, useMemo } from 'react' -import { Divider, Select, Breadcrumbs, InputLabel, FormControl } from '@material-ui/core' +import { Divider, Select, Breadcrumbs, InputLabel, FormControl } from '@mui/material' import { NavArrowRight } from 'iconoir-react' import Marked from 'marked' @@ -33,6 +33,15 @@ import { STEP_ID as CONFIGURATION_ID } from 'client/components/Forms/Provision/C import { STEP_ID as INPUTS_ID } from 'client/components/Forms/Provision/CreateForm/Steps/Inputs' import { STEP_FORM_SCHEMA } from 'client/components/Forms/Provision/CreateForm/Steps/Template/schema' +const renderer = new Marked.Renderer() + +renderer.link = (href, title, text) => ` + + ${text} + +` + export const STEP_ID = 'template' const Template = () => ({ @@ -117,13 +126,6 @@ const Template = () => ({ } const RenderDescription = ({ description = '' }) => { - const renderer = new Marked.Renderer() - - renderer.link = (href, title, text) => ( - `${text}` - ) - const html = Marked(sanitize`${description}`, { renderer }) return
} diff --git a/src/fireedge/src/client/components/Forms/Vm/RecoverForm/index.js b/src/fireedge/src/client/components/Forms/Vm/RecoverForm/index.js index 2e5fbbb885..0d50b4b0d5 100644 --- a/src/fireedge/src/client/components/Forms/Vm/RecoverForm/index.js +++ b/src/fireedge/src/client/components/Forms/Vm/RecoverForm/index.js @@ -13,27 +13,22 @@ * See the License for the specific language governing permissions and * * limitations under the License. * * ------------------------------------------------------------------------- */ -import { styled } from '@material-ui/core' +import { Typography } from '@mui/material' import { createForm } from 'client/utils' import { SCHEMA, FIELDS } from 'client/components/Forms/Vm/RecoverForm/schema' -const Description = styled('p')(({ theme }) => ({ - ...theme.typography.subtitle1, - paddingInline: '1rem' -})) - const RecoverForm = createForm( SCHEMA, FIELDS, { description: ( - + {`Recovers a stuck VM that is waiting for a driver operation. The recovery may be done by failing, succeeding or retrying the current operation. YOU NEED TO MANUALLY CHECK THE VM STATUS ON THE HOST, to decide if the operation was successful or not, or if it can be retried.`} - + ) } ) diff --git a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/BasicConfiguration/styles.js b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/BasicConfiguration/styles.js index 83c038448d..2ae9322cd1 100644 --- a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/BasicConfiguration/styles.js +++ b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/BasicConfiguration/styles.js @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * * limitations under the License. * * ------------------------------------------------------------------------- */ -import { makeStyles } from '@material-ui/core' +import makeStyles from '@mui/styles/makeStyles' export default makeStyles(theme => ({ root: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '2em', - [theme.breakpoints.down('sm')]: { + [theme.breakpoints.down('lg')]: { gridTemplateColumns: '1fr' } }, diff --git a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/booting.js b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/booting.js index 63549065f5..4e8c48aa85 100644 --- a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/booting.js +++ b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/booting.js @@ -24,7 +24,8 @@ import { Check as CheckIcon, Square as BlankSquareIcon } from 'iconoir-react' -import { Divider, makeStyles } from '@material-ui/core' +import { Divider } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { DragDropContext, Draggable, Droppable, DropResult } from 'react-beautiful-dnd' import { Translate } from 'client/components/HOC' @@ -113,7 +114,7 @@ const Booting = ({ data, setFormData, control }) => { ID: `disk${idx}`, NAME: ( <> - + {isVolatile ? <>{`${disk?.NAME}: `} : [disk?.NAME, disk?.IMAGE].filter(Boolean).join(': ')} @@ -127,7 +128,7 @@ const Booting = ({ data, setFormData, control }) => { ID: `nic${idx}`, NAME: ( <> - + {[nic?.NAME, nic.NETWORK].filter(Boolean).join(': ')} ) @@ -189,7 +190,7 @@ const Booting = ({ data, setFormData, control }) => { > } + icon={} handleClick={() => handleEnable(ID)} /> {NAME} @@ -206,7 +207,7 @@ const Booting = ({ data, setFormData, control }) => {
} + icon={} handleClick={() => handleEnable(ID)} /> {NAME} diff --git a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/index.js b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/index.js index 1908d20d81..01c477b5da 100644 --- a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/index.js +++ b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/index.js @@ -18,7 +18,7 @@ import { useMemo } from 'react' import PropTypes from 'prop-types' import { useFormContext } from 'react-hook-form' -import { useTheme } from '@material-ui/core' +import { useTheme } from '@mui/material' import { WarningCircledOutline as WarningIcon } from 'iconoir-react' import { useAuth } from 'client/features/Auth' diff --git a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/networking.js b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/networking.js index 2f9ab8c3a9..8932865adc 100644 --- a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/networking.js +++ b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/networking.js @@ -15,7 +15,7 @@ * ------------------------------------------------------------------------- */ /* eslint-disable jsdoc/require-jsdoc */ import PropTypes from 'prop-types' -import { makeStyles } from '@material-ui/core' +import makeStyles from '@mui/styles/makeStyles' import { Edit, Trash } from 'iconoir-react' import { useWatch } from 'react-hook-form' @@ -108,13 +108,13 @@ const Networking = ({ data, setFormData, control }) => { reorderNics() reorderBootAfterRemove(NAME, nics, data, setFormData) }} - icon={} + icon={} /> } , + icon: , tooltip: }} options={[{ diff --git a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/placement.js b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/placement.js index 91a61fd3a2..8edc3446ef 100644 --- a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/placement.js +++ b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/placement.js @@ -15,7 +15,7 @@ * ------------------------------------------------------------------------- */ /* eslint-disable jsdoc/require-jsdoc */ import PropTypes from 'prop-types' -import { makeStyles } from '@material-ui/core' +import makeStyles from '@mui/styles/makeStyles' import FormWithSchema from 'client/components/Forms/FormWithSchema' import { Tr } from 'client/components/HOC' diff --git a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/scheduleAction.js b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/scheduleAction.js index f85b989df8..b60129f7e0 100644 --- a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/scheduleAction.js +++ b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/scheduleAction.js @@ -15,7 +15,7 @@ * ------------------------------------------------------------------------- */ /* eslint-disable jsdoc/require-jsdoc */ import PropTypes from 'prop-types' -import { makeStyles } from '@material-ui/core' +import makeStyles from '@mui/styles/makeStyles' import { Edit, Trash } from 'iconoir-react' import { useWatch } from 'react-hook-form' @@ -89,12 +89,12 @@ const ScheduleAction = ({ setFormData, control }) => { handleRemove(NAME)} - icon={} + icon={} /> , + icon: , tooltip: }} options={[{ diff --git a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/storage.js b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/storage.js index 2ec09023d2..f8a0999556 100644 --- a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/storage.js +++ b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/ExtraConfiguration/storage.js @@ -15,7 +15,7 @@ * ------------------------------------------------------------------------- */ /* eslint-disable jsdoc/require-jsdoc */ import PropTypes from 'prop-types' -import { makeStyles } from '@material-ui/core' +import makeStyles from '@mui/styles/makeStyles' import { Edit, Trash } from 'iconoir-react' import { useWatch } from 'react-hook-form' @@ -151,12 +151,12 @@ const Storage = ({ data, setFormData, hypervisor, control }) => { reorderDisks() reorderBootAfterRemove(NAME, disks, data, setFormData) }} - icon={} + icon={} /> , + icon: , tooltip: }} options={[{ diff --git a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/VmTemplatesTable/index.js b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/VmTemplatesTable/index.js index 02f9616258..e205413ba5 100644 --- a/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/VmTemplatesTable/index.js +++ b/src/fireedge/src/client/components/Forms/VmTemplate/InstantiateForm/Steps/VmTemplatesTable/index.js @@ -15,7 +15,7 @@ * ------------------------------------------------------------------------- */ /* eslint-disable jsdoc/require-jsdoc */ import PropTypes from 'prop-types' -import { makeStyles } from '@material-ui/core' +import makeStyles from '@mui/styles/makeStyles' import { useListForm } from 'client/hooks' import { useVmTemplateApi } from 'client/features/One' diff --git a/src/fireedge/src/client/components/HOC/InternalLayout/index.js b/src/fireedge/src/client/components/HOC/InternalLayout/index.js index b412d3364a..42d67104ef 100644 --- a/src/fireedge/src/client/components/HOC/InternalLayout/index.js +++ b/src/fireedge/src/client/components/HOC/InternalLayout/index.js @@ -18,7 +18,7 @@ import { useRef, useEffect } from 'react' import PropTypes from 'prop-types' import { useParams } from 'react-router-dom' import clsx from 'clsx' -import { Box, Container } from '@material-ui/core' +import { Box, Container } from '@mui/material' import { CSSTransition } from 'react-transition-group' import { useGeneral, useGeneralApi } from 'client/features/General' diff --git a/src/fireedge/src/client/components/HOC/InternalLayout/styles.js b/src/fireedge/src/client/components/HOC/InternalLayout/styles.js index 3b494ee44f..d25efccd81 100644 --- a/src/fireedge/src/client/components/HOC/InternalLayout/styles.js +++ b/src/fireedge/src/client/components/HOC/InternalLayout/styles.js @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * * limitations under the License. * * ------------------------------------------------------------------------- */ -import { makeStyles } from '@material-ui/core' +import makeStyles from '@mui/styles/makeStyles' import { sidebar, toolbar, footer } from 'client/theme/defaults' export default makeStyles(theme => ({ diff --git a/src/fireedge/src/client/components/Header/Group.js b/src/fireedge/src/client/components/Header/Group.js index 9e34e9bbea..adb7a69aba 100644 --- a/src/fireedge/src/client/components/Header/Group.js +++ b/src/fireedge/src/client/components/Header/Group.js @@ -14,20 +14,18 @@ * limitations under the License. * * ------------------------------------------------------------------------- */ /* eslint-disable jsdoc/require-jsdoc */ -import { Button } from '@material-ui/core' +import { Button } from '@mui/material' import { Group as GroupIcon, VerifiedBadge as SelectIcon } from 'iconoir-react' import { useAuth, useAuthApi } from 'client/features/Auth' import Search from 'client/components/Search' - -import { FILTER_POOL } from 'client/constants' import HeaderPopover from 'client/components/Header/Popover' -import headerStyles from 'client/components/Header/styles' +import { Translate } from 'client/components/HOC' +import { T, FILTER_POOL } from 'client/constants' const { ALL_RESOURCES, PRIMARY_GROUP_RESOURCES } = FILTER_POOL const Group = () => { - const classes = headerStyles() const { user, groups, filterPool } = useAuth() const { changeGroup } = useAuthApi() @@ -40,14 +38,19 @@ const Group = () => { ) } @@ -69,8 +72,9 @@ const Group = () => { } + tooltip={} buttonProps={{ 'data-cy': 'header-group-button' }} - headerTitle='Switch group' + headerTitle={} > {({ handleClose }) => ( { - const classes = headerStyles() + const [open, setOpen] = useState(false) + const [tooltipOpen, setTooltipOpen] = useState(false) + const anchorRef = useRef(null) const isMobile = useMediaQuery(theme => theme.breakpoints.only('xs')) - const [anchorEl, setAnchorEl] = useState(null) + const handleToggle = () => { + setOpen(prevOpen => !prevOpen) + tooltip && setTooltipOpen(false) + } - const handleOpen = event => setAnchorEl(event.currentTarget) - const handleClose = () => setAnchorEl(null) - - const open = Boolean(anchorEl) - const anchorId = open ? id : undefined + const handleClose = () => setOpen(false) return ( <> - + + {(headerTitle || isMobile) && ( - + {headerTitle && ( - - {Tr(headerTitle)} + + {headerTitle} )} {isMobile && ( - + )} @@ -116,7 +126,8 @@ HeaderPopover.propTypes = { icon: PropTypes.node, buttonLabel: PropTypes.string, buttonProps: PropTypes.objectOf(PropTypes.any), - headerTitle: PropTypes.string, + tooltip: PropTypes.any, + headerTitle: PropTypes.any, disablePadding: PropTypes.bool, popoverProps: PropTypes.objectOf(PropTypes.any), children: PropTypes.func @@ -124,10 +135,11 @@ HeaderPopover.propTypes = { HeaderPopover.defaultProps = { id: 'id-popover', - icon: null, + icon: undefined, buttonLabel: undefined, + tooltip: undefined, buttonProps: {}, - headerTitle: null, + headerTitle: undefined, disablePadding: false, popoverProps: {}, children: () => undefined diff --git a/src/fireedge/src/client/components/Header/User.js b/src/fireedge/src/client/components/Header/User.js index 2fbfc90237..34051ec931 100644 --- a/src/fireedge/src/client/components/Header/User.js +++ b/src/fireedge/src/client/components/Header/User.js @@ -15,7 +15,7 @@ * ------------------------------------------------------------------------- */ import { memo } from 'react' -import { MenuItem, MenuList, Link } from '@material-ui/core' +import { MenuItem, MenuList, Link } from '@mui/material' import { ProfileCircled as UserIcon } from 'iconoir-react' import { useAuth, useAuthApi } from 'client/features/Auth' @@ -38,7 +38,7 @@ const User = memo(() => { disablePadding > {() => ( - + {Tr(T.SignOut)} @@ -46,9 +46,9 @@ const User = memo(() => { APPS?.map(appName => ( diff --git a/src/fireedge/src/client/components/Header/View.js b/src/fireedge/src/client/components/Header/View.js index 9cd734cac9..2a1b52d5ad 100644 --- a/src/fireedge/src/client/components/Header/View.js +++ b/src/fireedge/src/client/components/Header/View.js @@ -16,17 +16,16 @@ /* eslint-disable jsdoc/require-jsdoc */ import { useMemo } from 'react' -import { Button } from '@material-ui/core' +import { Button } from '@mui/material' import { ViewGrid as ViewIcon, VerifiedBadge as SelectIcon } from 'iconoir-react' import { useAuth, useAuthApi } from 'client/features/Auth' import Search from 'client/components/Search' - import HeaderPopover from 'client/components/Header/Popover' -import headerStyles from 'client/components/Header/styles' +import { Translate } from 'client/components/HOC' +import { T } from 'client/constants' const View = () => { - const classes = headerStyles() const { view, views = {} } = useAuth() const { changeView } = useAuthApi() @@ -34,11 +33,15 @@ const View = () => {
{`#${ID}`} - + {` ${UNAME}`} - + {` ${GNAME}`} {PROVISION_ID && - + {` ${PROVISION_ID}`} } - + {` ${CLUSTERS.join(',')}`}
diff --git a/src/fireedge/src/client/components/Tables/Enhanced/Utils/CategoryFilter.js b/src/fireedge/src/client/components/Tables/Enhanced/Utils/CategoryFilter.js index ca46d990a2..5a569ab741 100644 --- a/src/fireedge/src/client/components/Tables/Enhanced/Utils/CategoryFilter.js +++ b/src/fireedge/src/client/components/Tables/Enhanced/Utils/CategoryFilter.js @@ -16,11 +16,12 @@ import { useEffect, useMemo, JSXElementConstructor } from 'react' import PropTypes from 'prop-types' -import { List, ListSubheader, ListItem, Typography, IconButton } from '@material-ui/core' +import { List, ListSubheader, ListItem, Typography, IconButton, Tooltip } from '@mui/material' import { Cancel } from 'iconoir-react' import { UseFiltersInstanceProps } from 'react-table' -import { Tr } from 'client/components/HOC' +import { Tr, Translate } from 'client/components/HOC' +import { T } from 'client/constants' /** * Render category filter to table. @@ -85,9 +86,11 @@ const CategoryFilter = ({ title, column, accessorOption, multiple = false }) => > {Tr(title)} {isFiltered && ( - - - + }> + + + + )} )} diff --git a/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalActions/Action.js b/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalActions/Action.js index f6a3701279..0a1b5eb292 100644 --- a/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalActions/Action.js +++ b/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalActions/Action.js @@ -63,7 +63,8 @@ const ActionItem = memo(({ item, selectedRows }) => { accessor, tooltip, label, - color = 'secondary', + color, + variant = 'contained', icon: Icon, options, action, @@ -72,9 +73,10 @@ const ActionItem = memo(({ item, selectedRows }) => { const buttonProps = { color, + variant, 'data-cy': accessor && `action.${accessor}`, disabled: typeof disabled === 'function' ? disabled(selectedRows) : disabled, - icon: Icon && , + icon: Icon && , label: label && Tr(label), title: tooltip && Tr(tooltip) } @@ -117,7 +119,9 @@ const ActionItem = memo(({ item, selectedRows }) => { export const ActionPropTypes = PropTypes.shape({ accessor: PropTypes.string, + variant: PropTypes.string, color: PropTypes.string, + size: PropTypes.string, label: PropTypes.string, tooltip: PropTypes.string, icon: PropTypes.any, diff --git a/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalActions/index.js b/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalActions/index.js index 99a165f0e1..902ecaadb1 100644 --- a/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalActions/index.js +++ b/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalActions/index.js @@ -15,8 +15,9 @@ * ------------------------------------------------------------------------- */ import { JSXElementConstructor, useMemo } from 'react' import PropTypes from 'prop-types' + import { Row } from 'react-table' -import { makeStyles } from '@material-ui/core' +import makeStyles from '@mui/styles/makeStyles' import Action, { ActionPropTypes, GlobalAction } from 'client/components/Tables/Enhanced/Utils/GlobalActions/Action' diff --git a/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalFilter.js b/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalFilter.js index cac6597f81..846899f86e 100644 --- a/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalFilter.js +++ b/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalFilter.js @@ -17,7 +17,8 @@ import { JSXElementConstructor, useState, useCallback } from 'react' import PropTypes from 'prop-types' import clsx from 'clsx' -import { makeStyles, alpha, debounce, InputBase } from '@material-ui/core' +import { alpha, debounce, InputBase } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { Search as SearchIcon } from 'iconoir-react' import { UseGlobalFiltersInstanceProps, UseGlobalFiltersState } from 'react-table' @@ -50,7 +51,7 @@ const useStyles = makeStyles(({ spacing, palette, shape, breakpoints }) => ({ inputInput: { padding: spacing(1, 1, 1, 0), // vertical padding + font size from searchIcon - paddingLeft: `calc(1em + ${spacing(4)}px)` + paddingLeft: `calc(1em + ${spacing(4)})` } })) diff --git a/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalSelectedRows.js b/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalSelectedRows.js index 732e1a174c..ee18f01604 100644 --- a/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalSelectedRows.js +++ b/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalSelectedRows.js @@ -17,7 +17,8 @@ import { useMemo, JSXElementConstructor } from 'react' import PropTypes from 'prop-types' import { TableProps } from 'react-table' -import { makeStyles, Chip } from '@material-ui/core' +import { Chip } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' const useStyles = makeStyles({ root: { diff --git a/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalSort.js b/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalSort.js index 12e8db82a1..8804473db6 100644 --- a/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalSort.js +++ b/src/fireedge/src/client/components/Tables/Enhanced/Utils/GlobalSort.js @@ -18,7 +18,8 @@ import { useEffect, useMemo, JSXElementConstructor } from 'react' import PropTypes from 'prop-types' import { SortDown, ArrowDown, ArrowUp } from 'iconoir-react' -import { makeStyles, MenuItem, MenuList, Chip } from '@material-ui/core' +import { MenuItem, MenuList, Chip } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { TableInstance, UseSortByInstanceProps, UseSortByState } from 'react-table' import HeaderPopover from 'client/components/Header/Popover' @@ -79,7 +80,8 @@ const GlobalSort = ({ useTableProps }) => { buttonLabel={T.SortBy} buttonProps={{ 'data-cy': 'sort-by-button', - disabled: headersNotSorted.length === 0 + disabled: headersNotSorted.length === 0, + variant: 'outlined' }} popoverProps= {{ anchorOrigin: { diff --git a/src/fireedge/src/client/components/Tables/Enhanced/Utils/LabelFilter.js b/src/fireedge/src/client/components/Tables/Enhanced/Utils/LabelFilter.js index cb870566cb..31ba7fa95d 100644 --- a/src/fireedge/src/client/components/Tables/Enhanced/Utils/LabelFilter.js +++ b/src/fireedge/src/client/components/Tables/Enhanced/Utils/LabelFilter.js @@ -18,8 +18,8 @@ import { useEffect, useMemo } from 'react' import PropTypes from 'prop-types' import { Cancel } from 'iconoir-react' -import { List, ListSubheader, IconButton } from '@material-ui/core' -import { TreeView, TreeItem } from '@material-ui/lab' +import { List, ListSubheader, IconButton } from '@mui/material' +import { TreeView, TreeItem } from '@mui/lab' import { UseFiltersInstanceProps } from 'react-table' import { Tr } from 'client/components/HOC' diff --git a/src/fireedge/src/client/components/Tables/Enhanced/filters.js b/src/fireedge/src/client/components/Tables/Enhanced/filters.js index d0814f4808..59995b682c 100644 --- a/src/fireedge/src/client/components/Tables/Enhanced/filters.js +++ b/src/fireedge/src/client/components/Tables/Enhanced/filters.js @@ -18,7 +18,8 @@ import { useMemo, Fragment } from 'react' import PropTypes from 'prop-types' import clsx from 'clsx' -import { makeStyles, useMediaQuery, Card, CardContent } from '@material-ui/core' +import { useMediaQuery, Card, CardContent } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { UseTableInstanceProps } from 'react-table' import { GlobalFilter } from 'client/components/Tables/Enhanced/Utils' @@ -49,7 +50,7 @@ const useToolbarStyles = makeStyles({ const Filters = ({ onlyGlobalSearch, useTableProps }) => { const classes = useToolbarStyles() - const isMobile = useMediaQuery(theme => theme.breakpoints.down('sm')) + const isMobile = useMediaQuery(theme => theme.breakpoints.down('md')) /** @type {UseTableInstanceProps} */ const { rows, columns } = useTableProps diff --git a/src/fireedge/src/client/components/Tables/Enhanced/index.js b/src/fireedge/src/client/components/Tables/Enhanced/index.js index 2b943a6190..e4a990df15 100644 --- a/src/fireedge/src/client/components/Tables/Enhanced/index.js +++ b/src/fireedge/src/client/components/Tables/Enhanced/index.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types' import clsx from 'clsx' import { InfoEmpty } from 'iconoir-react' -import { Box, LinearProgress } from '@material-ui/core' +import { Box, LinearProgress } from '@mui/material' import { useGlobalFilter, useFilters, diff --git a/src/fireedge/src/client/components/Tables/Enhanced/pagination.js b/src/fireedge/src/client/components/Tables/Enhanced/pagination.js index 8d249391ce..8fd1a18d55 100644 --- a/src/fireedge/src/client/components/Tables/Enhanced/pagination.js +++ b/src/fireedge/src/client/components/Tables/Enhanced/pagination.js @@ -17,7 +17,7 @@ import { useMemo } from 'react' import PropTypes from 'prop-types' -import { Button } from '@material-ui/core' +import { Button, Typography } from '@mui/material' import { NavArrowLeft, NavArrowRight } from 'iconoir-react' import { UsePaginationState } from 'react-table' @@ -49,18 +49,20 @@ const Pagination = ({ disabled={pageIndex === 0} onClick={handleBackButtonClick} size='small' + color='inherit' > {T.Previous} - + {`${pageIndex + 1} of ${showPageCount ? pageCount : 'many'}`} - +
diff --git a/src/fireedge/src/client/components/Tables/Hosts/row.js b/src/fireedge/src/client/components/Tables/Hosts/row.js index 325a044079..e76ea7d840 100644 --- a/src/fireedge/src/client/components/Tables/Hosts/row.js +++ b/src/fireedge/src/client/components/Tables/Hosts/row.js @@ -17,7 +17,7 @@ import PropTypes from 'prop-types' import { Server, ModernTv } from 'iconoir-react' -import { Typography } from '@material-ui/core' +import { Typography } from '@mui/material' import { StatusCircle, LinearProgressWithLabel, StatusChip } from 'client/components/Status' import { rowStyles } from 'client/components/Tables/styles' @@ -63,11 +63,11 @@ const Row = ({ original, value, ...props }) => {
{`#${ID}`} - + {` ${CLUSTER}`} - + {` ${RUNNING_VMS} / ${TOTAL_VMS}`}
diff --git a/src/fireedge/src/client/components/Tables/Images/detail.js b/src/fireedge/src/client/components/Tables/Images/detail.js index 1988517133..16d9a0c4ba 100644 --- a/src/fireedge/src/client/components/Tables/Images/detail.js +++ b/src/fireedge/src/client/components/Tables/Images/detail.js @@ -16,7 +16,7 @@ /* eslint-disable jsdoc/require-jsdoc */ import { useEffect } from 'react' import PropTypes from 'prop-types' -import { LinearProgress } from '@material-ui/core' +import { LinearProgress } from '@mui/material' import Tabs from 'client/components/Tabs' import { StatusBadge } from 'client/components/Status' diff --git a/src/fireedge/src/client/components/Tables/Images/row.js b/src/fireedge/src/client/components/Tables/Images/row.js index fc43ee1e93..4257b50f94 100644 --- a/src/fireedge/src/client/components/Tables/Images/row.js +++ b/src/fireedge/src/client/components/Tables/Images/row.js @@ -17,7 +17,7 @@ import PropTypes from 'prop-types' import { Lock, User, Group, Folder, ModernTv } from 'iconoir-react' -import { Typography } from '@material-ui/core' +import { Typography } from '@mui/material' import { StatusCircle, StatusChip } from 'client/components/Status' import { rowStyles } from 'client/components/Tables/styles' @@ -51,7 +51,7 @@ const Row = ({ original, value, ...props }) => { {NAME} - {LOCK && } + {LOCK && } {labels.map(label => ( @@ -63,19 +63,19 @@ const Row = ({ original, value, ...props }) => { {`#${ID} ${timeAgo}`} - + {` ${UNAME}`} - + {` ${GNAME}`} - + {` ${DATASTORE}`} - + {` ${RUNNING_VMS} / ${TOTAL_VMS}`}
diff --git a/src/fireedge/src/client/components/Tables/MarketplaceApps/row.js b/src/fireedge/src/client/components/Tables/MarketplaceApps/row.js index 845aba7a6d..87df371d2a 100644 --- a/src/fireedge/src/client/components/Tables/MarketplaceApps/row.js +++ b/src/fireedge/src/client/components/Tables/MarketplaceApps/row.js @@ -17,7 +17,7 @@ import PropTypes from 'prop-types' import { Lock, User, Group, Cart } from 'iconoir-react' -import { Typography } from '@material-ui/core' +import { Typography } from '@mui/material' import { StatusCircle, StatusChip } from 'client/components/Status' import { rowStyles } from 'client/components/Tables/styles' @@ -48,7 +48,7 @@ const Row = ({ original, value, ...props }) => { {NAME} - {LOCK && } + {LOCK && } @@ -58,15 +58,15 @@ const Row = ({ original, value, ...props }) => { {`#${ID} ${timeAgo}`}
- + {` ${UNAME}`} - + {` ${GNAME}`} - + {` ${MARKETPLACE}`} diff --git a/src/fireedge/src/client/components/Tables/Marketplaces/row.js b/src/fireedge/src/client/components/Tables/Marketplaces/row.js index 7691f984cc..09f2efd5fb 100644 --- a/src/fireedge/src/client/components/Tables/Marketplaces/row.js +++ b/src/fireedge/src/client/components/Tables/Marketplaces/row.js @@ -17,7 +17,7 @@ import PropTypes from 'prop-types' import { User, Group, CloudDownload } from 'iconoir-react' -import { Typography } from '@material-ui/core' +import { Typography } from '@mui/material' import { StatusCircle, LinearProgressWithLabel, StatusChip } from 'client/components/Status' import { rowStyles } from 'client/components/Tables/styles' @@ -49,15 +49,15 @@ const Row = ({ original, value, ...props }) => {
{`#${ID}`} - + {` ${UNAME}`} - + {` ${GNAME}`} - + {` ${TOTAL_APPS}`}
diff --git a/src/fireedge/src/client/components/Tables/Skeleton/index.js b/src/fireedge/src/client/components/Tables/Skeleton/index.js index efad3cc5f3..4495aa82bc 100644 --- a/src/fireedge/src/client/components/Tables/Skeleton/index.js +++ b/src/fireedge/src/client/components/Tables/Skeleton/index.js @@ -14,15 +14,13 @@ * limitations under the License. * * ------------------------------------------------------------------------- */ import { memo } from 'react' - -import { Skeleton } from '@material-ui/lab' -import { useMediaQuery, Card } from '@material-ui/core' +import { useMediaQuery, Card, Skeleton } from '@mui/material' import EnhancedTableStyles from 'client/components/Tables/Enhanced/styles' import { rowStyles } from 'client/components/Tables/styles' const SkeletonTable = memo(() => { - const isMobile = useMediaQuery(theme => theme.breakpoints.down('sm')) + const isMobile = useMediaQuery(theme => theme.breakpoints.down('md')) const classes = EnhancedTableStyles() const rowClasses = rowStyles() @@ -53,19 +51,19 @@ const SkeletonTable = memo(() => { return (
- {!isMobile && } + {!isMobile && }
- - - + + +
{isMobile ? ( - + ) : ( - +
@@ -81,7 +79,6 @@ const SkeletonTable = memo(() => {
- ) }) diff --git a/src/fireedge/src/client/components/Tables/Users/row.js b/src/fireedge/src/client/components/Tables/Users/row.js index 5f8ec08ef3..fef0d710ef 100644 --- a/src/fireedge/src/client/components/Tables/Users/row.js +++ b/src/fireedge/src/client/components/Tables/Users/row.js @@ -17,7 +17,7 @@ import PropTypes from 'prop-types' import { Group, Lock, LockKey } from 'iconoir-react' -import { Typography } from '@material-ui/core' +import { Typography } from '@mui/material' import { rowStyles } from 'client/components/Tables/styles' @@ -33,7 +33,7 @@ const Row = ({ original, value, ...props }) => { {NAME} - {!+ENABLED && } + {!+ENABLED && }
@@ -41,11 +41,11 @@ const Row = ({ original, value, ...props }) => { {`#${ID}`} - + {` ${GNAME}`} - + {` ${AUTH_DRIVER}`}
diff --git a/src/fireedge/src/client/components/Tables/VNetworkTemplates/row.js b/src/fireedge/src/client/components/Tables/VNetworkTemplates/row.js index cc79bd8568..0fe9cffce8 100644 --- a/src/fireedge/src/client/components/Tables/VNetworkTemplates/row.js +++ b/src/fireedge/src/client/components/Tables/VNetworkTemplates/row.js @@ -17,7 +17,7 @@ import PropTypes from 'prop-types' import { User, Group, Lock, Cloud } from 'iconoir-react' -import { Typography } from '@material-ui/core' +import { Typography } from '@mui/material' import { rowStyles } from 'client/components/Tables/styles' @@ -38,7 +38,7 @@ const Row = ({ original, value, ...props }) => { {NAME} - {LOCK && } + {LOCK && }
@@ -46,15 +46,15 @@ const Row = ({ original, value, ...props }) => { {`#${ID} ${timeAgo}`} - + {` ${UNAME}`} - + {` ${GNAME}`} {PROVISION_ID && - + {` ${PROVISION_ID}`} }
diff --git a/src/fireedge/src/client/components/Tables/VNetworks/row.js b/src/fireedge/src/client/components/Tables/VNetworks/row.js index 05990d53bb..75b20972b6 100644 --- a/src/fireedge/src/client/components/Tables/VNetworks/row.js +++ b/src/fireedge/src/client/components/Tables/VNetworks/row.js @@ -17,7 +17,7 @@ import PropTypes from 'prop-types' import { User, Group, Lock, Server, Cloud } from 'iconoir-react' -import { Typography } from '@material-ui/core' +import { Typography } from '@mui/material' import { LinearProgressWithLabel } from 'client/components/Status' import { rowStyles } from 'client/components/Tables/styles' @@ -41,7 +41,7 @@ const Row = ({ original, value, ...props }) => { {NAME} - {LOCK && } + {LOCK && }
@@ -49,19 +49,19 @@ const Row = ({ original, value, ...props }) => { {`#${ID}`} - + {` ${UNAME}`} - + {` ${GNAME}`} - + {` ${CLUSTERS}`} {PROVISION_ID && - + {` ${PROVISION_ID}`} }
diff --git a/src/fireedge/src/client/components/Tables/VRouters/row.js b/src/fireedge/src/client/components/Tables/VRouters/row.js index 308ad09521..24a89bad7c 100644 --- a/src/fireedge/src/client/components/Tables/VRouters/row.js +++ b/src/fireedge/src/client/components/Tables/VRouters/row.js @@ -17,7 +17,7 @@ import PropTypes from 'prop-types' import { User, Group, EmptyPage, ModernTv } from 'iconoir-react' -import { Typography } from '@material-ui/core' +import { Typography } from '@mui/material' import { rowStyles } from 'client/components/Tables/styles' @@ -38,19 +38,19 @@ const Row = ({ original, value, ...props }) => { {`#${ID}`}
- + {` ${UNAME}`} - + {` ${GNAME}`} - + {` ${TEMPLATE_ID}`} - + {` ${VMS}`} diff --git a/src/fireedge/src/client/components/Tables/Virtualized/index.js b/src/fireedge/src/client/components/Tables/Virtualized/index.js index 7ba26cd990..4a0017819e 100644 --- a/src/fireedge/src/client/components/Tables/Virtualized/index.js +++ b/src/fireedge/src/client/components/Tables/Virtualized/index.js @@ -17,7 +17,8 @@ import { memo, useMemo } from 'react' import PropTypes from 'prop-types' -import { makeStyles, Box, CircularProgress } from '@material-ui/core' +import { Box, CircularProgress } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { useTable, useGlobalFilter, @@ -45,7 +46,7 @@ const useStyles = makeStyles(theme => ({ body: { '& *[role=row]': { fontSize: '1em', - fontWeight: theme.typography.fontWeightMedium, + fontWeight: theme.typography.fontWeightRegular, lineHeight: '1rem', overflowWrap: 'break-word', diff --git a/src/fireedge/src/client/components/Tables/Virtualized/row.js b/src/fireedge/src/client/components/Tables/Virtualized/row.js index ab7ba50805..4feb9d7175 100644 --- a/src/fireedge/src/client/components/Tables/Virtualized/row.js +++ b/src/fireedge/src/client/components/Tables/Virtualized/row.js @@ -18,7 +18,8 @@ import { useCallback } from 'react' import PropTypes from 'prop-types' import clsx from 'clsx' -import { makeStyles, Box } from '@material-ui/core' +import { Box } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { UseTableInstanceProps, UseTableRowProps } from 'react-table' import { VirtualItem } from 'react-virtual' diff --git a/src/fireedge/src/client/components/Tables/Virtualized/toolbar.js b/src/fireedge/src/client/components/Tables/Virtualized/toolbar.js index c9f6ec3949..76a13562f4 100644 --- a/src/fireedge/src/client/components/Tables/Virtualized/toolbar.js +++ b/src/fireedge/src/client/components/Tables/Virtualized/toolbar.js @@ -16,7 +16,8 @@ /* eslint-disable jsdoc/require-jsdoc */ import PropTypes from 'prop-types' -import { makeStyles, Button } from '@material-ui/core' +import { Button } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { Filter as FilterIcon } from 'iconoir-react' import { UseGlobalFiltersInstanceProps, UseFiltersState } from 'react-table' diff --git a/src/fireedge/src/client/components/Tables/VmTemplates/actions.js b/src/fireedge/src/client/components/Tables/VmTemplates/actions.js index a274464a90..413677b3f7 100644 --- a/src/fireedge/src/client/components/Tables/VmTemplates/actions.js +++ b/src/fireedge/src/client/components/Tables/VmTemplates/actions.js @@ -71,7 +71,7 @@ const Actions = () => { actions: [ { accessor: VM_TEMPLATE_ACTIONS.REFRESH, - tooltip: Tr(T.Refresh), + tooltip: T.Refresh, icon: RefreshDouble, action: async () => { await getVmTemplates() @@ -79,7 +79,7 @@ const Actions = () => { }, { accessor: VM_TEMPLATE_ACTIONS.CREATE_DIALOG, - tooltip: Tr(T.Create), + tooltip: T.Create, icon: AddSquare, disabled: true, action: rows => { @@ -92,7 +92,7 @@ const Actions = () => { }, { accessor: VM_TEMPLATE_ACTIONS.IMPORT_DIALOG, - tooltip: Tr(T.Import), + tooltip: T.Import, icon: Import, selected: { max: 1 }, disabled: true, @@ -102,7 +102,7 @@ const Actions = () => { }, { accessor: VM_TEMPLATE_ACTIONS.INSTANTIATE_DIALOG, - tooltip: Tr(T.Instantiate), + tooltip: T.Instantiate, icon: PlayOutline, selected: { max: 1 }, action: rows => { @@ -114,22 +114,23 @@ const Actions = () => { }, { accessor: VM_TEMPLATE_ACTIONS.UPDATE_DIALOG, - label: Tr(T.Update), - tooltip: Tr(T.Update), + label: T.Update, + tooltip: T.Update, selected: { max: 1 }, disabled: true, action: rows => { - // const { ID } = rows?.[0]?.original ?? {} - // const path = generatePath(PATH.TEMPLATE.VMS.CREATE, { id: ID }) + // const { ID } = rows?.[0]?.original ?? {} + // const path = generatePath(PATH.TEMPLATE.VMS.CREATE, { id: ID }) - // history.push(path) + // history.push(path) } }, { accessor: VM_TEMPLATE_ACTIONS.CLONE, - label: Tr(T.Clone), - tooltip: Tr(T.Clone), + label: T.Clone, + tooltip: T.Clone, selected: true, + color: 'secondary', options: [{ dialogProps: { title: rows => { @@ -168,9 +169,10 @@ const Actions = () => { }] }, { - tooltip: Tr(T.Ownership), + tooltip: T.Ownership, icon: Group, selected: true, + color: 'secondary', options: [{ cy: `action.${VM_TEMPLATE_ACTIONS.CHANGE_OWNER}`, name: T.ChangeOwner, @@ -198,7 +200,7 @@ const Actions = () => { }] }, { - tooltip: `${Tr(T.Lock)}/${Tr(T.Unlock)}`, + tooltip: T.Lock, icon: Lock, selected: true, options: [{ @@ -234,6 +236,7 @@ const Actions = () => { tooltip: T.Delete, icon: Trash, selected: true, + color: 'error', options: [{ isConfirmDialog: true, dialogProps: { diff --git a/src/fireedge/src/client/components/Tables/VmTemplates/row.js b/src/fireedge/src/client/components/Tables/VmTemplates/row.js index c61c075a7c..de3b1b2f6f 100644 --- a/src/fireedge/src/client/components/Tables/VmTemplates/row.js +++ b/src/fireedge/src/client/components/Tables/VmTemplates/row.js @@ -18,7 +18,7 @@ import { useMemo } from 'react' import PropTypes from 'prop-types' import { User, Group, Lock } from 'iconoir-react' -import { Typography } from '@material-ui/core' +import { Typography } from '@mui/material' import { StatusChip } from 'client/components/Status' import { rowStyles } from 'client/components/Tables/styles' @@ -60,7 +60,7 @@ const Row = ({ original, value, ...props }) => { {NAME} - {LOCK && } + {LOCK && } {VROUTER && } @@ -69,11 +69,11 @@ const Row = ({ original, value, ...props }) => { {`#${ID} ${timeAgo}`} - + {` ${UNAME}`} - + {` ${GNAME}`} diff --git a/src/fireedge/src/client/components/Tables/Vms/actions.js b/src/fireedge/src/client/components/Tables/Vms/actions.js index 155770bfc9..17b7672489 100644 --- a/src/fireedge/src/client/components/Tables/Vms/actions.js +++ b/src/fireedge/src/client/components/Tables/Vms/actions.js @@ -31,7 +31,7 @@ import { import { useAuth } from 'client/features/Auth' import { useVmApi } from 'client/features/One' -import { Tr, Translate } from 'client/components/HOC' +import { Translate } from 'client/components/HOC' import { RecoverForm } from 'client/components/Forms/Vm' import { createActions } from 'client/components/Tables/Enhanced/Utils' @@ -95,7 +95,7 @@ const Actions = () => { actions: [ { accessor: VM_ACTIONS.REFRESH, - tooltip: Tr(T.Refresh), + tooltip: T.Refresh, icon: RefreshDouble, action: async () => { await getVms({ state: -1 }) @@ -103,7 +103,7 @@ const Actions = () => { }, { accessor: VM_ACTIONS.CREATE_DIALOG, - tooltip: Tr(T.Create), + tooltip: T.Create, icon: AddSquare, action: () => { const path = PATH.TEMPLATE.VMS.INSTANTIATE @@ -113,32 +113,33 @@ const Actions = () => { }, { accessor: VM_ACTIONS.RESUME, - tooltip: Tr(T.Resume), - selected: true, disabled: isDisabled(VM_ACTIONS.RESUME), + tooltip: T.Resume, + selected: true, icon: PlayOutline, action: async rows => { const ids = rows?.map?.(({ original }) => original?.ID) await Promise.all(ids.map(id => resume(id))) - ids?.length > 1 && await Promise.all(ids.map(id => getVm(id))) + ids?.length > 1 && (await Promise.all(ids.map(id => getVm(id)))) } }, { accessor: VM_ACTIONS.SAVE_AS_TEMPLATE, - tooltip: Tr(T.SaveAsTemplate), - selected: { max: 1 }, disabled: isDisabled(VM_ACTIONS.SAVE_AS_TEMPLATE), + tooltip: T.SaveAsTemplate, + selected: { max: 1 }, icon: SaveFloppyDisk, action: () => {} }, { - tooltip: Tr(T.Manage), + tooltip: T.Manage, icon: SystemShut, selected: true, + color: 'secondary', options: [{ accessor: VM_ACTIONS.SUSPEND, - name: T.Suspend, disabled: isDisabled(VM_ACTIONS.SUSPEND), + name: T.Suspend, isConfirmDialog: true, dialogProps: { title: T.Suspend, @@ -151,8 +152,8 @@ const Actions = () => { } }, { accessor: VM_ACTIONS.STOP, - name: T.Stop, disabled: isDisabled(VM_ACTIONS.STOP), + name: T.Stop, isConfirmDialog: true, dialogProps: { title: T.Stop, @@ -165,8 +166,8 @@ const Actions = () => { } }, { accessor: VM_ACTIONS.POWEROFF, - name: T.Poweroff, disabled: isDisabled(VM_ACTIONS.POWEROFF), + name: T.Poweroff, isConfirmDialog: true, dialogProps: { title: T.Poweroff, @@ -179,8 +180,8 @@ const Actions = () => { } }, { accessor: VM_ACTIONS.POWEROFF_HARD, - name: T.PoweroffHard, disabled: isDisabled(VM_ACTIONS.POWEROFF_HARD), + name: T.PoweroffHard, isConfirmDialog: true, dialogProps: { title: T.PoweroffHard, @@ -193,8 +194,8 @@ const Actions = () => { } }, { accessor: VM_ACTIONS.REBOOT, - name: T.Reboot, disabled: isDisabled(VM_ACTIONS.REBOOT), + name: T.Reboot, isConfirmDialog: true, dialogProps: { title: T.Reboot, @@ -207,8 +208,8 @@ const Actions = () => { } }, { accessor: VM_ACTIONS.REBOOT_HARD, - name: T.RebootHard, disabled: isDisabled(VM_ACTIONS.REBOOT_HARD), + name: T.RebootHard, isConfirmDialog: true, dialogProps: { title: T.RebootHard, @@ -221,8 +222,8 @@ const Actions = () => { } }, { accessor: VM_ACTIONS.UNDEPLOY, - name: T.Undeploy, disabled: isDisabled(VM_ACTIONS.UNDEPLOY), + name: T.Undeploy, isConfirmDialog: true, dialogProps: { title: T.Undeploy, @@ -235,8 +236,8 @@ const Actions = () => { } }, { accessor: VM_ACTIONS.UNDEPLOY_HARD, - name: T.UndeployHard, disabled: isDisabled(VM_ACTIONS.UNDEPLOY_HARD), + name: T.UndeployHard, isConfirmDialog: true, dialogProps: { title: T.UndeployHard, @@ -250,32 +251,33 @@ const Actions = () => { }] }, { - tooltip: Tr(T.Host), + tooltip: T.Host, icon: TransitionRight, selected: true, + color: 'secondary', options: [{ accessor: VM_ACTIONS.DEPLOY, - name: T.Deploy, disabled: isDisabled(VM_ACTIONS.DEPLOY), - isConfirmDialog: true, + name: T.Deploy, + form: () => undefined, onSubmit: () => undefined }, { accessor: VM_ACTIONS.MIGRATE, - name: T.Migrate, disabled: isDisabled(VM_ACTIONS.MIGRATE), - isConfirmDialog: true, + name: T.Migrate, + form: () => undefined, onSubmit: () => undefined }, { accessor: VM_ACTIONS.MIGRATE_LIVE, - name: T.MigrateLive, disabled: isDisabled(VM_ACTIONS.MIGRATE_LIVE), - isConfirmDialog: true, + name: T.MigrateLive, + form: () => undefined, onSubmit: () => undefined }, { accessor: VM_ACTIONS.HOLD, - name: T.Hold, disabled: isDisabled(VM_ACTIONS.HOLD), - isConfirmDialog: true, + name: T.Hold, + form: () => undefined, dialogProps: { title: T.Hold, children: MessageToConfirmAction @@ -287,9 +289,9 @@ const Actions = () => { } }, { accessor: VM_ACTIONS.RELEASE, - name: T.Release, disabled: isDisabled(VM_ACTIONS.RELEASE), - isConfirmDialog: true, + name: T.Release, + form: () => undefined, dialogProps: { title: T.Release, children: MessageToConfirmAction @@ -301,9 +303,9 @@ const Actions = () => { } }, { accessor: VM_ACTIONS.RESCHED, - name: T.Reschedule, disabled: isDisabled(VM_ACTIONS.RESCHED), - isConfirmDialog: true, + name: T.Reschedule, + form: () => undefined, dialogProps: { title: T.Reschedule, children: MessageToConfirmAction @@ -315,9 +317,9 @@ const Actions = () => { } }, { accessor: VM_ACTIONS.UNRESCHED, - name: T.UnReschedule, disabled: isDisabled(VM_ACTIONS.UNRESCHED), - isConfirmDialog: true, + name: T.UnReschedule, + form: () => undefined, dialogProps: { title: T.UnReschedule, children: MessageToConfirmAction @@ -329,17 +331,17 @@ const Actions = () => { } }, { accessor: VM_ACTIONS.RECOVER, - name: T.Recover, disabled: isDisabled(VM_ACTIONS.RECOVER), + name: T.Recover, dialogProps: { + // eslint-disable-next-line react/display-name title: rows => { const isMultiple = rows?.length > 1 const { ID, NAME } = rows?.[0]?.original - return [ - Tr(isMultiple ? T.RecoverSeveralVMs : T.Recover), - !isMultiple && `#${ID} ${NAME}` - ].filter(Boolean).join(' - ') + return isMultiple + ? + : } }, form: RecoverForm, @@ -351,31 +353,33 @@ const Actions = () => { }] }, { - tooltip: Tr(T.Ownership), + tooltip: T.Ownership, icon: Group, selected: true, + color: 'secondary', options: [{ accessor: VM_ACTIONS.CHANGE_OWNER, - name: T.ChangeOwner, disabled: isDisabled(VM_ACTIONS.CHANGE_OWNER), - isConfirmDialog: true, + name: T.ChangeOwner, + form: () => undefined, onSubmit: () => undefined }, { accessor: VM_ACTIONS.CHANGE_GROUP, - name: T.ChangeGroup, disabled: isDisabled(VM_ACTIONS.CHANGE_GROUP), - isConfirmDialog: true, + name: T.ChangeGroup, + form: () => undefined, onSubmit: () => undefined }] }, { - tooltip: `${Tr(T.Lock)}/${Tr(T.Unlock)}`, + tooltip: T.Lock, icon: Lock, selected: true, + color: 'secondary', options: [{ accessor: VM_ACTIONS.LOCK, - name: T.Lock, disabled: isDisabled(VM_ACTIONS.LOCK), + name: T.Lock, isConfirmDialog: true, dialogProps: { title: T.Lock, @@ -388,8 +392,8 @@ const Actions = () => { } }, { accessor: VM_ACTIONS.UNLOCK, - name: T.Unlock, disabled: isDisabled(VM_ACTIONS.UNLOCK), + name: T.Unlock, isConfirmDialog: true, dialogProps: { title: T.Unlock, @@ -403,13 +407,14 @@ const Actions = () => { }] }, { - tooltip: Tr(T.Terminate), + tooltip: T.Terminate, icon: Trash, + color: 'error', selected: true, options: [{ accessor: VM_ACTIONS.TERMINATE, - name: T.Terminate, disabled: isDisabled(VM_ACTIONS.TERMINATE), + name: T.Terminate, isConfirmDialog: true, dialogProps: { title: T.Terminate, @@ -444,7 +449,7 @@ const Actions = () => { actions: [ { accessor: MARKETPLACE_APP_ACTIONS.CREATE_DIALOG, - tooltip: Tr(T.CreateMarketApp), + tooltip: T.CreateMarketApp, icon: Cart, selected: { max: 1 }, disabled: true, diff --git a/src/fireedge/src/client/components/Tables/Vms/multiple.js b/src/fireedge/src/client/components/Tables/Vms/multiple.js index 11e3dac63f..bfd1f12ae5 100644 --- a/src/fireedge/src/client/components/Tables/Vms/multiple.js +++ b/src/fireedge/src/client/components/Tables/Vms/multiple.js @@ -16,7 +16,7 @@ /* eslint-disable jsdoc/require-jsdoc */ import PropTypes from 'prop-types' -import { Tooltip, Typography } from '@material-ui/core' +import { Tooltip, Typography } from '@mui/material' import { StatusChip } from 'client/components/Status' @@ -41,15 +41,19 @@ const Multiple = ({ tags, limitTags = 1 }) => { {tag} ))} > - + {`+${more} more`} - + )} diff --git a/src/fireedge/src/client/components/Tables/Vms/row.js b/src/fireedge/src/client/components/Tables/Vms/row.js index c033fb7113..4122d5fab3 100644 --- a/src/fireedge/src/client/components/Tables/Vms/row.js +++ b/src/fireedge/src/client/components/Tables/Vms/row.js @@ -17,7 +17,7 @@ import PropTypes from 'prop-types' import { User, Group, Lock, HardDrive } from 'iconoir-react' -import { Typography } from '@material-ui/core' +import { Typography } from '@mui/material' import { StatusCircle } from 'client/components/Status' import Multiple from 'client/components/Tables/Vms/multiple' @@ -46,7 +46,7 @@ const Row = ({ original, value, ...props }) => { {NAME} - {LOCK && } + {LOCK && }
@@ -54,15 +54,15 @@ const Row = ({ original, value, ...props }) => { {`#${ID} ${timeAgo}`} - + {` ${UNAME}`} - + {` ${GNAME}`} - + {` ${HOSTNAME}`}
diff --git a/src/fireedge/src/client/components/Tables/Zones/row.js b/src/fireedge/src/client/components/Tables/Zones/row.js index 70bdaf23a0..afc9b1b622 100644 --- a/src/fireedge/src/client/components/Tables/Zones/row.js +++ b/src/fireedge/src/client/components/Tables/Zones/row.js @@ -17,7 +17,7 @@ import PropTypes from 'prop-types' import { ShieldCheck } from 'iconoir-react' -import { Typography } from '@material-ui/core' +import { Typography } from '@mui/material' import { StatusCircle } from 'client/components/Status' import { rowStyles } from 'client/components/Tables/styles' @@ -46,7 +46,7 @@ const Row = ({ original, value, ...props }) => { {`#${ID}`} - + {` ${ENDPOINT}`} diff --git a/src/fireedge/src/client/components/Tables/styles.js b/src/fireedge/src/client/components/Tables/styles.js index e14675fce9..a9120cc5e3 100644 --- a/src/fireedge/src/client/components/Tables/styles.js +++ b/src/fireedge/src/client/components/Tables/styles.js @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * * limitations under the License. * * ------------------------------------------------------------------------- */ -import { makeStyles } from '@material-ui/core' +import makeStyles from '@mui/styles/makeStyles' export const rowStyles = makeStyles( ({ palette, typography, breakpoints, shadows }) => ({ @@ -21,7 +21,7 @@ export const rowStyles = makeStyles( padding: '0.8em', color: palette.text.primary, backgroundColor: palette.background.paper, - fontWeight: typography.fontWeightMedium, + fontWeight: typography.fontWeightRegular, fontSize: '1em', borderRadius: 6, display: 'flex', diff --git a/src/fireedge/src/client/components/Tabs/Cluster/Info/index.js b/src/fireedge/src/client/components/Tabs/Cluster/Info/index.js index 1ee92cbed6..4e3ac0cd58 100644 --- a/src/fireedge/src/client/components/Tabs/Cluster/Info/index.js +++ b/src/fireedge/src/client/components/Tabs/Cluster/Info/index.js @@ -41,7 +41,7 @@ const ClusterInfoTab = ({ tabProps = {} }) => { const handleRename = async newName => { const response = await rename(ID, newName) - String(response) === String(ID) && await handleRefetch?.() + String(response) === String(ID) && (await handleRefetch?.()) } const handleAttributeInXml = async (path, newValue) => { @@ -54,7 +54,7 @@ const ClusterInfoTab = ({ tabProps = {} }) => { // 0: Replace the whole template const response = await update(ID, xml, 0) - String(response) === String(ID) && await handleRefetch?.() + String(response) === String(ID) && (await handleRefetch?.()) } const getActions = actions => Helper.getActionsAvailable(actions) diff --git a/src/fireedge/src/client/components/Tabs/Cluster/index.js b/src/fireedge/src/client/components/Tabs/Cluster/index.js index c5e57b60e6..55f77c9f8d 100644 --- a/src/fireedge/src/client/components/Tabs/Cluster/index.js +++ b/src/fireedge/src/client/components/Tabs/Cluster/index.js @@ -16,14 +16,14 @@ /* eslint-disable jsdoc/require-jsdoc */ import { memo, useEffect, useState } from 'react' import PropTypes from 'prop-types' -import { LinearProgress } from '@material-ui/core' +import { LinearProgress } from '@mui/material' import { useFetch } from 'client/hooks' import { useAuth } from 'client/features/Auth' import { useClusterApi } from 'client/features/One' import Tabs from 'client/components/Tabs' -import { sentenceCase, camelCase } from 'client/utils' +import { camelCase } from 'client/utils' import TabProvider from 'client/components/Tabs/TabProvider' import Info from 'client/components/Tabs/Cluster/Info' @@ -55,7 +55,7 @@ const ClusterTabs = memo(({ id }) => { const TabContent = getTabComponent(camelName) return TabContent && { - name: sentenceCase(camelName), + name: camelName, renderContent: props => TabContent({ ...props, tabProps }) } }) diff --git a/src/fireedge/src/client/components/Tabs/Common/Attribute/Actions.js b/src/fireedge/src/client/components/Tabs/Common/Attribute/Actions.js index 8a9261d761..248089a006 100644 --- a/src/fireedge/src/client/components/Tabs/Common/Attribute/Actions.js +++ b/src/fireedge/src/client/components/Tabs/Common/Attribute/Actions.js @@ -52,7 +52,7 @@ const ActionButton = ({ action, name, icon: Icon, handleClick, ...props }) => { return ( } + icon={} handleClick={handleClick} {...props} /> diff --git a/src/fireedge/src/client/components/Tabs/Common/Attribute/Attribute.js b/src/fireedge/src/client/components/Tabs/Common/Attribute/Attribute.js index cdc3df2a9c..2e4220e39e 100644 --- a/src/fireedge/src/client/components/Tabs/Common/Attribute/Attribute.js +++ b/src/fireedge/src/client/components/Tabs/Common/Attribute/Attribute.js @@ -16,7 +16,9 @@ import { memo, useMemo, useState, createRef } from 'react' import PropTypes from 'prop-types' import { Link as RouterLink } from 'react-router-dom' -import { makeStyles, Typography, Link } from '@material-ui/core' + +import { Typography, Link } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { useDialog } from 'client/hooks' import { DialogConfirmation } from 'client/components/Dialogs' @@ -69,7 +71,7 @@ const Attribute = memo(({ const handleCancel = () => setIsEditing(false) const handleActiveEditForm = async () => { - const response = await handleGetOptionList?.() ?? [] + const response = (await handleGetOptionList?.()) ?? [] const isFormatValid = response?.every?.(({ text, value } = {}) => !!text && !!value) if (!handleGetOptionList || isFormatValid) { diff --git a/src/fireedge/src/client/components/Tabs/Common/Attribute/Inputs.js b/src/fireedge/src/client/components/Tabs/Common/Attribute/Inputs.js index ca12e3aa00..308796474b 100644 --- a/src/fireedge/src/client/components/Tabs/Common/Attribute/Inputs.js +++ b/src/fireedge/src/client/components/Tabs/Common/Attribute/Inputs.js @@ -15,7 +15,9 @@ * ------------------------------------------------------------------------- */ import { forwardRef, useState, ForwardedRef, JSXElementConstructor } from 'react' import PropTypes from 'prop-types' -import { makeStyles, TextField } from '@material-ui/core' + +import { TextField } from '@mui/material' +import makeStyles from '@mui/styles/makeStyles' import { Actions } from 'client/components/Tabs/Common/Attribute' @@ -52,18 +54,15 @@ const Select = forwardRef( return ( {options?.map(({ text, value: optionVal = '' }) => (