From eae353e3153bd2a2f4fc857a4b7630e4014d5cdd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 5 Nov 2021 13:36:52 +1100 Subject: [PATCH] build(deps): update dependency react-router-dom to v6 (#2565) * build(deps): update dependency react-router-dom to v6 * fix(web): update code to conform to react-router 6 convention * refactor(web): react-router -> react-router-dom * refactor(web): make 2fa consts relative * refactor(web): rename 2fa consts for clarity Co-authored-by: Renovate Bot Co-authored-by: Amir Zarrinkafsh --- web/package.json | 4 +- web/pnpm-lock.yaml | 849 ++++++++---------- web/src/App.tsx | 40 +- web/src/constants/Routes.ts | 8 +- web/src/hooks/RedirectionURL.ts | 2 +- web/src/hooks/RequestMethod.ts | 2 +- .../RegisterOneTimePassword.tsx | 6 +- .../RegisterSecurityKey.tsx | 10 +- .../AuthenticatedView/AuthenticatedView.tsx | 6 +- .../LoginPortal/ConsentView/ConsentView.tsx | 9 +- .../FirstFactor/FirstFactorForm.tsx | 6 +- web/src/views/LoginPortal/LoginPortal.tsx | 85 +- .../SecondFactor/SecondFactorForm.tsx | 91 +- web/src/views/LoginPortal/SignOut/SignOut.tsx | 4 +- .../ResetPassword/ResetPasswordStep1.tsx | 6 +- .../ResetPassword/ResetPasswordStep2.tsx | 8 +- 16 files changed, 527 insertions(+), 609 deletions(-) diff --git a/web/package.json b/web/package.json index d0fa47606..df8d1cd39 100644 --- a/web/package.json +++ b/web/package.json @@ -19,8 +19,7 @@ "react-ga": "3.3.0", "react-loading": "2.0.3", "react-otp-input": "2.4.0", - "react-router": "5.2.1", - "react-router-dom": "5.3.0", + "react-router-dom": "6.0.0", "u2f-api": "1.2.1" }, "scripts": { @@ -127,7 +126,6 @@ "@types/qrcode.react": "1.0.2", "@types/react": "17.0.34", "@types/react-dom": "17.0.11", - "@types/react-router-dom": "5.3.2", "@typescript-eslint/eslint-plugin": "5.3.0", "@typescript-eslint/parser": "5.3.0", "@vitejs/plugin-react": "1.0.7", diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 9f83a6331..bbe5bcaf6 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -16,7 +16,6 @@ specifiers: '@types/qrcode.react': 1.0.2 '@types/react': 17.0.34 '@types/react-dom': 17.0.11 - '@types/react-router-dom': 5.3.2 '@typescript-eslint/eslint-plugin': 5.3.0 '@typescript-eslint/parser': 5.3.0 '@vitejs/plugin-react': 1.0.7 @@ -45,8 +44,7 @@ specifiers: react-ga: 3.3.0 react-loading: 2.0.3 react-otp-input: 2.4.0 - react-router: 5.2.1 - react-router-dom: 5.3.0 + react-router-dom: 6.0.0 react-test-renderer: 17.0.2 typescript: 4.4.4 u2f-api: 1.2.1 @@ -73,8 +71,7 @@ dependencies: react-ga: 3.3.0_react@17.0.2 react-loading: 2.0.3_react@17.0.2 react-otp-input: 2.4.0_react-dom@17.0.2+react@17.0.2 - react-router: 5.2.1_react@17.0.2 - react-router-dom: 5.3.0_react@17.0.2 + react-router-dom: 6.0.0_react-dom@17.0.2+react@17.0.2 u2f-api: 1.2.1 devDependencies: @@ -86,7 +83,6 @@ devDependencies: '@types/qrcode.react': 1.0.2 '@types/react': 17.0.34 '@types/react-dom': 17.0.11 - '@types/react-router-dom': 5.3.2 '@typescript-eslint/eslint-plugin': 5.3.0_a152492c557ecb0e40c7e27c4bde3da4 '@typescript-eslint/parser': 5.3.0_typescript@4.4.4 '@vitejs/plugin-react': 1.0.7 @@ -119,34 +115,34 @@ packages: /@babel/code-frame/7.12.11: resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} dependencies: - '@babel/highlight': 7.14.5 + '@babel/highlight': 7.16.0 dev: true - /@babel/code-frame/7.15.8: - resolution: {integrity: sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==} + /@babel/code-frame/7.16.0: + resolution: {integrity: sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.14.5 + '@babel/highlight': 7.16.0 dev: true - /@babel/compat-data/7.15.0: - resolution: {integrity: sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==} + /@babel/compat-data/7.16.0: + resolution: {integrity: sha512-DGjt2QZse5SGd9nfOSqO4WLJ8NN/oHkijbXbPrxuoJO3oIPJL3TciZs9FX+cOHNiY9E9l0opL8g7BmLe3T+9ew==} engines: {node: '>=6.9.0'} dev: true - /@babel/core/7.15.8: - resolution: {integrity: sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==} + /@babel/core/7.16.0: + resolution: {integrity: sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.15.8 - '@babel/generator': 7.15.8 - '@babel/helper-compilation-targets': 7.15.4_@babel+core@7.15.8 - '@babel/helper-module-transforms': 7.15.8 - '@babel/helpers': 7.15.4 - '@babel/parser': 7.15.8 - '@babel/template': 7.15.4 - '@babel/traverse': 7.15.4 - '@babel/types': 7.15.6 + '@babel/code-frame': 7.16.0 + '@babel/generator': 7.16.0 + '@babel/helper-compilation-targets': 7.16.0_@babel+core@7.16.0 + '@babel/helper-module-transforms': 7.16.0 + '@babel/helpers': 7.16.0 + '@babel/parser': 7.16.2 + '@babel/template': 7.16.0 + '@babel/traverse': 7.16.0 + '@babel/types': 7.16.0 convert-source-map: 1.8.0 debug: 4.3.2 gensync: 1.0.0-beta.2 @@ -157,93 +153,93 @@ packages: - supports-color dev: true - /@babel/generator/7.15.8: - resolution: {integrity: sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==} + /@babel/generator/7.16.0: + resolution: {integrity: sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.15.6 + '@babel/types': 7.16.0 jsesc: 2.5.2 source-map: 0.5.7 dev: true - /@babel/helper-annotate-as-pure/7.15.4: - resolution: {integrity: sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==} + /@babel/helper-annotate-as-pure/7.16.0: + resolution: {integrity: sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.15.6 + '@babel/types': 7.16.0 dev: true - /@babel/helper-compilation-targets/7.15.4_@babel+core@7.15.8: - resolution: {integrity: sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==} + /@babel/helper-compilation-targets/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha512-S7iaOT1SYlqK0sQaCi21RX4+13hmdmnxIEAnQUB/eh7GeAnRjOUgTYpLkUOiRXzD+yog1JxP0qyAQZ7ZxVxLVg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.15.0 - '@babel/core': 7.15.8 + '@babel/compat-data': 7.16.0 + '@babel/core': 7.16.0 '@babel/helper-validator-option': 7.14.5 - browserslist: 4.17.5 + browserslist: 4.17.6 semver: 6.3.0 dev: true - /@babel/helper-function-name/7.15.4: - resolution: {integrity: sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==} + /@babel/helper-function-name/7.16.0: + resolution: {integrity: sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-get-function-arity': 7.15.4 - '@babel/template': 7.15.4 - '@babel/types': 7.15.6 + '@babel/helper-get-function-arity': 7.16.0 + '@babel/template': 7.16.0 + '@babel/types': 7.16.0 dev: true - /@babel/helper-get-function-arity/7.15.4: - resolution: {integrity: sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==} + /@babel/helper-get-function-arity/7.16.0: + resolution: {integrity: sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.15.6 + '@babel/types': 7.16.0 dev: true - /@babel/helper-hoist-variables/7.15.4: - resolution: {integrity: sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==} + /@babel/helper-hoist-variables/7.16.0: + resolution: {integrity: sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.15.6 + '@babel/types': 7.16.0 dev: true - /@babel/helper-member-expression-to-functions/7.15.4: - resolution: {integrity: sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==} + /@babel/helper-member-expression-to-functions/7.16.0: + resolution: {integrity: sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.15.6 + '@babel/types': 7.16.0 dev: true - /@babel/helper-module-imports/7.15.4: - resolution: {integrity: sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==} + /@babel/helper-module-imports/7.16.0: + resolution: {integrity: sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.15.6 + '@babel/types': 7.16.0 dev: true - /@babel/helper-module-transforms/7.15.8: - resolution: {integrity: sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==} + /@babel/helper-module-transforms/7.16.0: + resolution: {integrity: sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-module-imports': 7.15.4 - '@babel/helper-replace-supers': 7.15.4 - '@babel/helper-simple-access': 7.15.4 - '@babel/helper-split-export-declaration': 7.15.4 + '@babel/helper-module-imports': 7.16.0 + '@babel/helper-replace-supers': 7.16.0 + '@babel/helper-simple-access': 7.16.0 + '@babel/helper-split-export-declaration': 7.16.0 '@babel/helper-validator-identifier': 7.15.7 - '@babel/template': 7.15.4 - '@babel/traverse': 7.15.4 - '@babel/types': 7.15.6 + '@babel/template': 7.16.0 + '@babel/traverse': 7.16.0 + '@babel/types': 7.16.0 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-optimise-call-expression/7.15.4: - resolution: {integrity: sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==} + /@babel/helper-optimise-call-expression/7.16.0: + resolution: {integrity: sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.15.6 + '@babel/types': 7.16.0 dev: true /@babel/helper-plugin-utils/7.14.5: @@ -251,30 +247,30 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-replace-supers/7.15.4: - resolution: {integrity: sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==} + /@babel/helper-replace-supers/7.16.0: + resolution: {integrity: sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-member-expression-to-functions': 7.15.4 - '@babel/helper-optimise-call-expression': 7.15.4 - '@babel/traverse': 7.15.4 - '@babel/types': 7.15.6 + '@babel/helper-member-expression-to-functions': 7.16.0 + '@babel/helper-optimise-call-expression': 7.16.0 + '@babel/traverse': 7.16.0 + '@babel/types': 7.16.0 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-simple-access/7.15.4: - resolution: {integrity: sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==} + /@babel/helper-simple-access/7.16.0: + resolution: {integrity: sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.15.6 + '@babel/types': 7.16.0 dev: true - /@babel/helper-split-export-declaration/7.15.4: - resolution: {integrity: sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==} + /@babel/helper-split-export-declaration/7.16.0: + resolution: {integrity: sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.15.6 + '@babel/types': 7.16.0 dev: true /@babel/helper-validator-identifier/7.15.7: @@ -287,19 +283,19 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helpers/7.15.4: - resolution: {integrity: sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==} + /@babel/helpers/7.16.0: + resolution: {integrity: sha512-dVRM0StFMdKlkt7cVcGgwD8UMaBfWJHl3A83Yfs8GQ3MO0LHIIIMvK7Fa0RGOGUQ10qikLaX6D7o5htcQWgTMQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.15.4 - '@babel/traverse': 7.15.4 - '@babel/types': 7.15.6 + '@babel/template': 7.16.0 + '@babel/traverse': 7.16.0 + '@babel/types': 7.16.0 transitivePeerDependencies: - supports-color dev: true - /@babel/highlight/7.14.5: - resolution: {integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==} + /@babel/highlight/7.16.0: + resolution: {integrity: sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.15.7 @@ -307,242 +303,242 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser/7.15.8: - resolution: {integrity: sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==} + /@babel/parser/7.16.2: + resolution: {integrity: sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==} engines: {node: '>=6.0.0'} hasBin: true dev: true - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.15.8: + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.16.0: resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.15.8: + /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.16.0: resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.15.8: + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.16.0: resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.15.8: + /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.16.0: resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.15.8: + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.16.0: resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-jsx/7.14.5_@babel+core@7.15.8: - resolution: {integrity: sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==} + /@babel/plugin-syntax-jsx/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.15.8: + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.16.0: resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.15.8: + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.16.0: resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.15.8: + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.16.0: resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.15.8: + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.16.0: resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.15.8: + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.16.0: resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.15.8: + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.16.0: resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.15.8: + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.16.0: resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-typescript/7.14.5_@babel+core@7.15.8: - resolution: {integrity: sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==} + /@babel/plugin-syntax-typescript/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-modules-commonjs/7.15.4_@babel+core@7.15.8: - resolution: {integrity: sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==} + /@babel/plugin-transform-modules-commonjs/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 - '@babel/helper-module-transforms': 7.15.8 + '@babel/core': 7.16.0 + '@babel/helper-module-transforms': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-simple-access': 7.15.4 + '@babel/helper-simple-access': 7.16.0 babel-plugin-dynamic-import-node: 2.3.3 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-react-jsx-development/7.14.5_@babel+core@7.15.8: - resolution: {integrity: sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ==} + /@babel/plugin-transform-react-jsx-development/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha512-qq65iSqBRq0Hr3wq57YG2AmW0H6wgTnIzpffTphrUWUgLCOK+zf1f7G0vuOiXrp7dU1qq+fQBoqZ3wCDAkhFzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 - '@babel/plugin-transform-react-jsx': 7.14.9_@babel+core@7.15.8 + '@babel/core': 7.16.0 + '@babel/plugin-transform-react-jsx': 7.16.0_@babel+core@7.16.0 dev: true - /@babel/plugin-transform-react-jsx-self/7.14.9_@babel+core@7.15.8: - resolution: {integrity: sha512-Fqqu0f8zv9W+RyOnx29BX/RlEsBRANbOf5xs5oxb2aHP4FKbLXxIaVPUiCti56LAR1IixMH4EyaixhUsKqoBHw==} + /@babel/plugin-transform-react-jsx-self/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha512-97yCFY+2GvniqOThOSjPor8xUoDiQ0STVWAQMl3pjhJoFVe5DuXDLZCRSZxu9clx+oRCbTiXGgKEG/Yoyo6Y+w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-react-jsx-source/7.14.5_@babel+core@7.15.8: - resolution: {integrity: sha512-1TpSDnD9XR/rQ2tzunBVPThF5poaYT9GqP+of8fAtguYuI/dm2RkrMBDemsxtY0XBzvW7nXjYM0hRyKX9QYj7Q==} + /@babel/plugin-transform-react-jsx-source/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha512-8yvbGGrHOeb/oyPc9tzNoe9/lmIjz3HLa9Nc5dMGDyNpGjfFrk8D2KdEq9NRkftZzeoQEW6yPQ29TMZtrLiUUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-react-jsx/7.14.9_@babel+core@7.15.8: - resolution: {integrity: sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==} + /@babel/plugin-transform-react-jsx/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha512-rqDgIbukZ44pqq7NIRPGPGNklshPkvlmvqjdx3OZcGPk4zGIenYkxDTvl3LsSL8gqcc3ZzGmXPE6hR/u/voNOw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.8 - '@babel/helper-annotate-as-pure': 7.15.4 - '@babel/helper-module-imports': 7.15.4 + '@babel/core': 7.16.0 + '@babel/helper-annotate-as-pure': 7.16.0 + '@babel/helper-module-imports': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-jsx': 7.14.5_@babel+core@7.15.8 - '@babel/types': 7.15.6 + '@babel/plugin-syntax-jsx': 7.16.0_@babel+core@7.16.0 + '@babel/types': 7.16.0 dev: true - /@babel/runtime-corejs3/7.15.4: - resolution: {integrity: sha512-lWcAqKeB624/twtTc3w6w/2o9RqJPaNBhPGK6DKLSiwuVWC7WFkypWyNg+CpZoyJH0jVzv1uMtXZ/5/lQOLtCg==} + /@babel/runtime-corejs3/7.16.0: + resolution: {integrity: sha512-Oi2qwQ21X7/d9gn3WiwkDTJmq3TQtYNz89lRnoFy8VeZpWlsyXvzSwiRrRZ8cXluvSwqKxqHJ6dBd9Rv+p0ZGQ==} engines: {node: '>=6.9.0'} dependencies: - core-js-pure: 3.18.3 + core-js-pure: 3.19.1 regenerator-runtime: 0.13.9 dev: true - /@babel/runtime/7.15.4: - resolution: {integrity: sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==} + /@babel/runtime/7.16.0: + resolution: {integrity: sha512-Nht8L0O8YCktmsDV6FqFue7vQLRx3Hb0B37lS5y0jDRqRxlBG4wIJHnf9/bgSE2UyipKFA01YtS+npRdTWBUyw==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.9 - /@babel/template/7.15.4: - resolution: {integrity: sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==} + /@babel/template/7.16.0: + resolution: {integrity: sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.15.8 - '@babel/parser': 7.15.8 - '@babel/types': 7.15.6 + '@babel/code-frame': 7.16.0 + '@babel/parser': 7.16.2 + '@babel/types': 7.16.0 dev: true - /@babel/traverse/7.15.4: - resolution: {integrity: sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==} + /@babel/traverse/7.16.0: + resolution: {integrity: sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.15.8 - '@babel/generator': 7.15.8 - '@babel/helper-function-name': 7.15.4 - '@babel/helper-hoist-variables': 7.15.4 - '@babel/helper-split-export-declaration': 7.15.4 - '@babel/parser': 7.15.8 - '@babel/types': 7.15.6 + '@babel/code-frame': 7.16.0 + '@babel/generator': 7.16.0 + '@babel/helper-function-name': 7.16.0 + '@babel/helper-hoist-variables': 7.16.0 + '@babel/helper-split-export-declaration': 7.16.0 + '@babel/parser': 7.16.2 + '@babel/types': 7.16.0 debug: 4.3.2 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types/7.15.6: - resolution: {integrity: sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==} + /@babel/types/7.16.0: + resolution: {integrity: sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.15.7 @@ -733,7 +729,7 @@ packages: ajv: 6.12.6 debug: 4.3.2 espree: 7.3.1 - globals: 13.11.0 + globals: 13.12.0 ignore: 4.0.6 import-fresh: 3.3.0 js-yaml: 3.14.1 @@ -788,15 +784,15 @@ packages: resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 1.2.0 + '@humanwhocodes/object-schema': 1.2.1 debug: 4.3.2 minimatch: 3.0.4 transitivePeerDependencies: - supports-color dev: true - /@humanwhocodes/object-schema/1.2.0: - resolution: {integrity: sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==} + /@humanwhocodes/object-schema/1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true /@istanbuljs/load-nyc-config/1.1.0: @@ -887,7 +883,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.2.5 - '@sinonjs/fake-timers': 8.0.1 + '@sinonjs/fake-timers': 8.1.0 '@types/node': 16.11.6 jest-message-util: 27.3.1 jest-mock: 27.3.0 @@ -976,7 +972,7 @@ packages: resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==} engines: {node: '>= 10.14.2'} dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@jest/types': 26.6.2 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 @@ -999,7 +995,7 @@ packages: resolution: {integrity: sha512-3fSvQ02kuvjOI1C1ssqMVBKJpZf6nwoCiSu00zAKh5nrp3SptNtZy/8s5deayHnqxhjD9CWDJ+yqQwuQ0ZafXQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@jest/types': 27.2.5 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 @@ -1051,7 +1047,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.15.4 + '@babel/runtime': 7.16.0 '@material-ui/styles': 4.11.4_c8c53a2a5a2c84791ce34d6dbdd05753 '@material-ui/system': 4.12.1_c8c53a2a5a2c84791ce34d6dbdd05753 '@material-ui/types': 5.1.0_@types+react@17.0.34 @@ -1080,7 +1076,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.15.4 + '@babel/runtime': 7.16.0 '@material-ui/core': 4.12.3_c8c53a2a5a2c84791ce34d6dbdd05753 '@types/react': 17.0.34 react: 17.0.2 @@ -1098,7 +1094,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.15.4 + '@babel/runtime': 7.16.0 '@emotion/hash': 0.8.0 '@material-ui/types': 5.1.0_@types+react@17.0.34 '@material-ui/utils': 4.11.2_react-dom@17.0.2+react@17.0.2 @@ -1106,14 +1102,14 @@ packages: clsx: 1.1.1 csstype: 2.6.18 hoist-non-react-statics: 3.3.2 - jss: 10.8.1 - jss-plugin-camel-case: 10.8.1 - jss-plugin-default-unit: 10.8.1 - jss-plugin-global: 10.8.1 - jss-plugin-nested: 10.8.1 - jss-plugin-props-sort: 10.8.1 - jss-plugin-rule-value-function: 10.8.1 - jss-plugin-vendor-prefixer: 10.8.1 + jss: 10.8.2 + jss-plugin-camel-case: 10.8.2 + jss-plugin-default-unit: 10.8.2 + jss-plugin-global: 10.8.2 + jss-plugin-nested: 10.8.2 + jss-plugin-props-sort: 10.8.2 + jss-plugin-rule-value-function: 10.8.2 + jss-plugin-vendor-prefixer: 10.8.2 prop-types: 15.7.2 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 @@ -1130,7 +1126,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.15.4 + '@babel/runtime': 7.16.0 '@material-ui/utils': 4.11.2_react-dom@17.0.2+react@17.0.2 '@types/react': 17.0.34 csstype: 2.6.18 @@ -1157,7 +1153,7 @@ packages: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@babel/runtime': 7.15.4 + '@babel/runtime': 7.16.0 prop-types: 15.7.2 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 @@ -1199,8 +1195,8 @@ packages: type-detect: 4.0.8 dev: true - /@sinonjs/fake-timers/8.0.1: - resolution: {integrity: sha512-AU7kwFxreVd6OAXcAFlKSmZquiRUU0FvYm44k1Y1QbK7Co4m0aqfGMhjykIeQp/H6rcl+nFmj0zfdUcGVs9Dew==} + /@sinonjs/fake-timers/8.1.0: + resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} dependencies: '@sinonjs/commons': 1.8.3 dev: true @@ -1274,14 +1270,14 @@ packages: resolution: {integrity: sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==} engines: {node: '>=10'} dependencies: - '@babel/types': 7.15.6 + '@babel/types': 7.16.0 dev: true /@svgr/plugin-jsx/5.5.0: resolution: {integrity: sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@svgr/babel-preset': 5.5.0 '@svgr/hast-util-to-babel-ast': 5.5.0 svg-parser: 2.0.4 @@ -1289,16 +1285,16 @@ packages: - supports-color dev: true - /@testing-library/dom/8.10.1: - resolution: {integrity: sha512-rab7vpf1uGig5efWwsCOn9j4/doy+W3VBoUyzX7C4y77u0wAckwc7R8nyH6e2rw0rRzKJR+gWPiAg8zhiFbxWQ==} + /@testing-library/dom/8.11.0: + resolution: {integrity: sha512-8Ay4UDiMlB5YWy+ZvCeRyFFofs53ebxrWnOFvCoM1HpMAX4cHyuSrCuIM9l2lVuUWUt+Gr3loz/nCwdrnG6ShQ==} engines: {node: '>=12'} dependencies: - '@babel/code-frame': 7.15.8 - '@babel/runtime': 7.15.4 + '@babel/code-frame': 7.16.0 + '@babel/runtime': 7.16.0 '@types/aria-query': 4.2.2 aria-query: 5.0.0 chalk: 4.1.2 - dom-accessibility-api: 0.5.9 + dom-accessibility-api: 0.5.10 lz-string: 1.4.4 pretty-format: 27.3.1 dev: true @@ -1307,13 +1303,13 @@ packages: resolution: {integrity: sha512-lOMuQidnL1tWHLEWIhL6UvSZC1Qt3OkNe1khvi2h6xFiqpe5O8arYs46OU0qyUGq0cSTbroQyMktYNXu3a7sAA==} engines: {node: '>=8', npm: '>=6', yarn: '>=1'} dependencies: - '@babel/runtime': 7.15.4 + '@babel/runtime': 7.16.0 '@types/testing-library__jest-dom': 5.14.1 aria-query: 4.2.2 chalk: 3.0.0 css: 3.0.0 css.escape: 1.5.1 - dom-accessibility-api: 0.5.9 + dom-accessibility-api: 0.5.10 lodash: 4.17.21 redent: 3.0.0 dev: true @@ -1325,8 +1321,8 @@ packages: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.15.4 - '@testing-library/dom': 8.10.1 + '@babel/runtime': 7.16.0 + '@testing-library/dom': 8.11.0 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 dev: true @@ -1343,8 +1339,8 @@ packages: /@types/babel__core/7.1.16: resolution: {integrity: sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==} dependencies: - '@babel/parser': 7.15.8 - '@babel/types': 7.15.6 + '@babel/parser': 7.16.2 + '@babel/types': 7.16.0 '@types/babel__generator': 7.6.3 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.14.2 @@ -1353,20 +1349,20 @@ packages: /@types/babel__generator/7.6.3: resolution: {integrity: sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==} dependencies: - '@babel/types': 7.15.6 + '@babel/types': 7.16.0 dev: true /@types/babel__template/7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.15.8 - '@babel/types': 7.15.6 + '@babel/parser': 7.16.2 + '@babel/types': 7.16.0 dev: true /@types/babel__traverse/7.14.2: resolution: {integrity: sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==} dependencies: - '@babel/types': 7.15.6 + '@babel/types': 7.16.0 dev: true /@types/graceful-fs/4.1.5: @@ -1375,10 +1371,6 @@ packages: '@types/node': 16.11.6 dev: true - /@types/history/4.7.9: - resolution: {integrity: sha512-MUc6zSmU3tEVnkQ78q0peeEjKWPUADMlC/t++2bI8WnAG2tvYRPIgHG8lWkXwqc8MsUF6Z2MOf+Mh5sazOmhiQ==} - dev: true - /@types/istanbul-lib-coverage/2.0.3: resolution: {integrity: sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==} dev: true @@ -1445,21 +1437,6 @@ packages: '@types/react': 17.0.34 dev: true - /@types/react-router-dom/5.3.2: - resolution: {integrity: sha512-ELEYRUie2czuJzaZ5+ziIp9Hhw+juEw8b7C11YNA4QdLCVbQ3qLi2l4aq8XnlqM7V31LZX8dxUuFUCrzHm6sqQ==} - dependencies: - '@types/history': 4.7.9 - '@types/react': 17.0.34 - '@types/react-router': 5.1.17 - dev: true - - /@types/react-router/5.1.17: - resolution: {integrity: sha512-RNSXOyb3VyRs/EOGmjBhhGKTbnN6fHWvy5FNLzWfOWOGjgVUKqJZXfpKzLmgoU8h6Hj8mpALj/mbXQASOb92wQ==} - dependencies: - '@types/history': 4.7.9 - '@types/react': 17.0.34 - dev: true - /@types/react-transition-group/4.4.4: resolution: {integrity: sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==} dependencies: @@ -1518,7 +1495,7 @@ packages: '@typescript-eslint/scope-manager': 5.3.0 debug: 4.3.2 functional-red-black-tree: 1.0.1 - ignore: 5.1.8 + ignore: 5.1.9 regexpp: 3.2.0 semver: 7.3.5 tsutils: 3.21.0_typescript@4.4.4 @@ -1609,11 +1586,11 @@ packages: resolution: {integrity: sha512-dzxzohFOAVVXpGlFn6Uvw2xaSLp80Vjmg2e5G1XdMV266vVKrcDqg9CWP/AiJiXuubNUdgy1k4E8dNXI6WCyhw==} engines: {node: '>=12.0.0'} dependencies: - '@babel/core': 7.15.8 - '@babel/plugin-transform-react-jsx': 7.14.9_@babel+core@7.15.8 - '@babel/plugin-transform-react-jsx-development': 7.14.5_@babel+core@7.15.8 - '@babel/plugin-transform-react-jsx-self': 7.14.9_@babel+core@7.15.8 - '@babel/plugin-transform-react-jsx-source': 7.14.5_@babel+core@7.15.8 + '@babel/core': 7.16.0 + '@babel/plugin-transform-react-jsx': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-react-jsx-development': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-react-jsx-self': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-react-jsx-source': 7.16.0_@babel+core@7.16.0 '@rollup/pluginutils': 4.1.1 react-refresh: 0.10.0 resolve: 1.20.0 @@ -1762,8 +1739,8 @@ packages: resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} engines: {node: '>=6.0'} dependencies: - '@babel/runtime': 7.15.4 - '@babel/runtime-corejs3': 7.15.4 + '@babel/runtime': 7.16.0 + '@babel/runtime-corejs3': 7.16.0 dev: true /aria-query/5.0.0: @@ -1858,15 +1835,15 @@ packages: hasBin: true dev: true - /axe-core/4.3.3: - resolution: {integrity: sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA==} + /axe-core/4.3.5: + resolution: {integrity: sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==} engines: {node: '>=4'} dev: true /axios/0.24.0: resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==} dependencies: - follow-redirects: 1.14.4 + follow-redirects: 1.14.5 transitivePeerDependencies: - debug dev: false @@ -1875,18 +1852,18 @@ packages: resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==} dev: true - /babel-jest/26.6.3_@babel+core@7.15.8: + /babel-jest/26.6.3_@babel+core@7.16.0: resolution: {integrity: sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==} engines: {node: '>= 10.14.2'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@jest/transform': 26.6.2 '@jest/types': 26.6.2 '@types/babel__core': 7.1.16 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 26.6.2_@babel+core@7.15.8 + babel-preset-jest: 26.6.2_@babel+core@7.16.0 chalk: 4.1.2 graceful-fs: 4.2.8 slash: 3.0.0 @@ -1894,18 +1871,18 @@ packages: - supports-color dev: true - /babel-jest/27.3.1_@babel+core@7.15.8: + /babel-jest/27.3.1_@babel+core@7.16.0: resolution: {integrity: sha512-SjIF8hh/ir0peae2D6S6ZKRhUy7q/DnpH7k/V6fT4Bgs/LXXUztOpX4G2tCgq8mLo5HA9mN6NmlFMeYtKmIsTQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@jest/transform': 27.3.1 '@jest/types': 27.2.5 '@types/babel__core': 7.1.16 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.2.0_@babel+core@7.15.8 + babel-preset-jest: 27.2.0_@babel+core@7.16.0 chalk: 4.1.2 graceful-fs: 4.2.8 slash: 3.0.0 @@ -1926,7 +1903,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.0.4 + istanbul-lib-instrument: 5.1.0 test-exclude: 6.0.0 transitivePeerDependencies: - supports-color @@ -1936,8 +1913,8 @@ packages: resolution: {integrity: sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==} engines: {node: '>= 10.14.2'} dependencies: - '@babel/template': 7.15.4 - '@babel/types': 7.15.6 + '@babel/template': 7.16.0 + '@babel/types': 7.16.0 '@types/babel__core': 7.1.16 '@types/babel__traverse': 7.14.2 dev: true @@ -1946,52 +1923,52 @@ packages: resolution: {integrity: sha512-TOux9khNKdi64mW+0OIhcmbAn75tTlzKhxmiNXevQaPbrBYK7YKjP1jl6NHTJ6XR5UgUrJbCnWlKVnJn29dfjw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/template': 7.15.4 - '@babel/types': 7.15.6 + '@babel/template': 7.16.0 + '@babel/types': 7.16.0 '@types/babel__core': 7.1.16 '@types/babel__traverse': 7.14.2 dev: true - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.15.8: + /babel-preset-current-node-syntax/1.0.1_@babel+core@7.16.0: resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.15.8 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.15.8 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.15.8 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.15.8 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.15.8 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.15.8 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.15.8 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.15.8 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.15.8 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.15.8 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.15.8 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.15.8 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.15.8 + '@babel/core': 7.16.0 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.16.0 + '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.16.0 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.16.0 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.16.0 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.16.0 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.16.0 dev: true - /babel-preset-jest/26.6.2_@babel+core@7.15.8: + /babel-preset-jest/26.6.2_@babel+core@7.16.0: resolution: {integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==} engines: {node: '>= 10.14.2'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 babel-plugin-jest-hoist: 26.6.2 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.15.8 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.16.0 dev: true - /babel-preset-jest/27.2.0_@babel+core@7.15.8: + /babel-preset-jest/27.2.0_@babel+core@7.16.0: resolution: {integrity: sha512-z7MgQ3peBwN5L5aCqBKnF6iqdlvZvFUQynEhu0J+X9nHLU72jO3iY331lcYrg+AssJ8q7xsv5/3AICzVmJ/wvg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 babel-plugin-jest-hoist: 27.2.0 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.15.8 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.16.0 dev: true /balanced-match/1.0.2: @@ -2045,13 +2022,13 @@ packages: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true - /browserslist/4.17.5: - resolution: {integrity: sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA==} + /browserslist/4.17.6: + resolution: {integrity: sha512-uPgz3vyRTlEiCv4ee9KlsKgo2V6qPk7Jsn0KAn2OBqbqKo3iNcPEC1Ti6J4dwnz+aIRfEEEuOzC9IBk8tXUomw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001271 - electron-to-chromium: 1.3.878 + caniuse-lite: 1.0.30001275 + electron-to-chromium: 1.3.888 escalade: 3.1.1 node-releases: 2.0.1 picocolors: 1.0.0 @@ -2113,8 +2090,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite/1.0.30001271: - resolution: {integrity: sha512-BBruZFWmt3HFdVPS8kceTBIguKxu4f99n5JNp06OlPD/luoAMIaIK5ieV5YjnBLH3Nysai9sxj9rpJj4ZisXOA==} + /caniuse-lite/1.0.30001275: + resolution: {integrity: sha512-ihJVvj8RX0kn9GgP43HKhb5q9s2XQn4nEQhdldEJvZhCsuiB2XOq6fAMYQZaN6FPWfsr2qU0cdL0CSbETwbJAg==} dev: true /capture-exit/2.0.0: @@ -2303,8 +2280,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /core-js-pure/3.18.3: - resolution: {integrity: sha512-qfskyO/KjtbYn09bn1IPkuhHl5PlJ6IzJ9s9sraJ1EqcuGyLGKzhSM1cY0zgyL9hx42eulQLZ6WaeK5ycJCkqw==} + /core-js-pure/3.19.1: + resolution: {integrity: sha512-Q0Knr8Es84vtv62ei6/6jXH/7izKmOrtrxH9WJTHLCMAVeU+8TF8z8Nr08CsH4Ot0oJKzBzJJL9SJBYIv7WlfQ==} requiresBuild: true dev: true @@ -2346,7 +2323,7 @@ packages: /css-vendor/2.0.8: resolution: {integrity: sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==} dependencies: - '@babel/runtime': 7.15.4 + '@babel/runtime': 7.16.0 is-in-browser: 1.1.3 dev: false @@ -2530,14 +2507,14 @@ packages: esutils: 2.0.3 dev: true - /dom-accessibility-api/0.5.9: - resolution: {integrity: sha512-+KPF4o71fl6NrdnqIrJc6m44NA+Rhf1h7In2MRznejSQasWkjqmHOBUlk+pXJ77cVOSYyZeNHFwn/sjotB6+Sw==} + /dom-accessibility-api/0.5.10: + resolution: {integrity: sha512-Xu9mD0UjrJisTmv7lmVSDMagQcU9R5hwAbxsaAE/35XPnPLJobbuREfV/rraiSaEj/UOvgrzQs66zyTWTlyd+g==} dev: true /dom-helpers/5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.15.4 + '@babel/runtime': 7.16.0 csstype: 3.0.9 dev: false @@ -2555,8 +2532,8 @@ packages: is-obj: 2.0.0 dev: true - /electron-to-chromium/1.3.878: - resolution: {integrity: sha512-O6yxWCN9ph2AdspAIszBnd9v8s11hQx8ub9w4UGApzmNRnoKhbulOWqbO8THEQec/aEHtvy+donHZMlh6l1rbA==} + /electron-to-chromium/1.3.888: + resolution: {integrity: sha512-5iD1zgyPpFER4kJ716VsA4MxQ6x405dxdFNCEK2mITL075VHO5ResjY0xzQUZguCww/KlBxCA6JmBA9sDt1PRw==} dev: true /emittery/0.8.1: @@ -2626,40 +2603,40 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild-android-arm64/0.13.9: - resolution: {integrity: sha512-Ty0hKldtjJVLHwUwbKR4GFPiXBo5iQ3aE1OLBar9lh3myaRkUGEb+Ypl74LEKa0+t/9lS3Ev1N5+5P2Sq6UvNQ==} + /esbuild-android-arm64/0.13.12: + resolution: {integrity: sha512-TSVZVrb4EIXz6KaYjXfTzPyyRpXV5zgYIADXtQsIenjZ78myvDGaPi11o4ZSaHIwFHsuwkB6ne5SZRBwAQ7maw==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /esbuild-darwin-64/0.13.9: - resolution: {integrity: sha512-Ay0/b98v0oYp3ApXNQ7QPbaSkCT9WjBU6h8bMB1SYrQ/PmHgwph91fb9V0pfOLKK1rYWypfrNbI0MyT2tWN+rQ==} + /esbuild-darwin-64/0.13.12: + resolution: {integrity: sha512-c51C+N+UHySoV2lgfWSwwmlnLnL0JWj/LzuZt9Ltk9ub1s2Y8cr6SQV5W3mqVH1egUceew6KZ8GyI4nwu+fhsw==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /esbuild-darwin-arm64/0.13.9: - resolution: {integrity: sha512-nJB8chaJdWathCe6EyIiMIqfyEzbuXPyNsPlL3bYRB1zFCF8feXT874D4IHbJ/w8B6BpY3sM1Clr/I/DK8E4ow==} + /esbuild-darwin-arm64/0.13.12: + resolution: {integrity: sha512-JvAMtshP45Hd8A8wOzjkY1xAnTKTYuP/QUaKp5eUQGX+76GIie3fCdUUr2ZEKdvpSImNqxiZSIMziEiGB5oUmQ==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /esbuild-freebsd-64/0.13.9: - resolution: {integrity: sha512-ktaBujf12XLkVXLGx7WjFcmh1tt34tm7gP4pHkhvbzbHrq+BbXwcl4EsW+5JT9VNKl7slOGf4Qnua/VW7ZcnIw==} + /esbuild-freebsd-64/0.13.12: + resolution: {integrity: sha512-r6On/Skv9f0ZjTu6PW5o7pdXr8aOgtFOEURJZYf1XAJs0IQ+gW+o1DzXjVkIoT+n1cm3N/t1KRJfX71MPg/ZUA==} cpu: [x64] os: [freebsd] requiresBuild: true dev: true optional: true - /esbuild-freebsd-arm64/0.13.9: - resolution: {integrity: sha512-vVa5zps4dmwpXwv/amxVpIWvFJuUPWQkpV+PYtZUW9lqjXsQ3LBHP51Q1cXZZBIrqwszLsEyJPa5GuDOY15hzQ==} + /esbuild-freebsd-arm64/0.13.12: + resolution: {integrity: sha512-F6LmI2Q1gii073kmBE3NOTt/6zLL5zvZsxNLF8PMAwdHc+iBhD1vzfI8uQZMJA1IgXa3ocr3L3DJH9fLGXy6Yw==} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -2671,131 +2648,131 @@ packages: peerDependencies: esbuild: '>=0.8.50' dependencies: - '@babel/core': 7.15.8 - '@babel/plugin-transform-modules-commonjs': 7.15.4_@babel+core@7.15.8 - babel-jest: 26.6.3_@babel+core@7.15.8 + '@babel/core': 7.16.0 + '@babel/plugin-transform-modules-commonjs': 7.16.0_@babel+core@7.16.0 + babel-jest: 26.6.3_@babel+core@7.16.0 transitivePeerDependencies: - supports-color dev: true - /esbuild-linux-32/0.13.9: - resolution: {integrity: sha512-HxoW9QNqhO8VW1l7aBiYQH4lobeHq85+blZ4nlZ7sg5CNhGRRwnMlV6S08VYKz6V0YKnHb5OqJxx2HZuTZ7tgQ==} + /esbuild-linux-32/0.13.12: + resolution: {integrity: sha512-U1UZwG3UIwF7/V4tCVAo/nkBV9ag5KJiJTt+gaCmLVWH3bPLX7y+fNlhIWZy8raTMnXhMKfaTvWZ9TtmXzvkuQ==} cpu: [ia32] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-64/0.13.9: - resolution: {integrity: sha512-L+eAR8o1lAUr9g64RXnBLuWZjAItAOWSUpvkchpa6QvSnXFA/nG6PgGsOBEqhDXl9qYEpGI0ReDrFkf8ByapvQ==} + /esbuild-linux-64/0.13.12: + resolution: {integrity: sha512-YpXSwtu2NxN3N4ifJxEdsgd6Q5d8LYqskrAwjmoCT6yQnEHJSF5uWcxv783HWN7lnGpJi9KUtDvYsnMdyGw71Q==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-arm/0.13.9: - resolution: {integrity: sha512-DT0S+ufCVXatPZHjkCaBgZSFIV8FzY4GEHz/BlkitTWzUvT1dIUXjPIRPnqBUVa+0AyS1bZSfHzv9hTT4LHz7A==} + /esbuild-linux-arm/0.13.12: + resolution: {integrity: sha512-SyiT/JKxU6J+DY2qUiSLZJqCAftIt3uoGejZ0HDnUM2MGJqEGSGh7p1ecVL2gna3PxS4P+j6WAehCwgkBPXNIw==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-arm64/0.13.9: - resolution: {integrity: sha512-IjbhZpW5VQYK4nVI4dj/mLvH5oXAIf57OI8BYVkCqrdVXJwR8nVrSqux3zJSY+ElrkOK3DtG9iTPpmqvBXaU0g==} + /esbuild-linux-arm64/0.13.12: + resolution: {integrity: sha512-sgDNb8kb3BVodtAlcFGgwk+43KFCYjnFOaOfJibXnnIojNWuJHpL6aQJ4mumzNWw8Rt1xEtDQyuGK9f+Y24jGA==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-mips64le/0.13.9: - resolution: {integrity: sha512-ec9RgAM4r+fe1ZmG16qeMwEHdcIvqeW8tpnpkfSQu9T4487KtQF6lg3TQasTarrLLEe7Qpy+E+r4VwC8eeZySQ==} + /esbuild-linux-mips64le/0.13.12: + resolution: {integrity: sha512-qQJHlZBG+QwVIA8AbTEtbvF084QgDi4DaUsUnA+EolY1bxrG+UyOuGflM2ZritGhfS/k7THFjJbjH2wIeoKA2g==} cpu: [mips64el] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-ppc64le/0.13.9: - resolution: {integrity: sha512-7b2/wg8T1n/L1BgCWlMSez0aXfGkNjFuOqMBQdnTti3LRuUwzGJcrhRf/FdZGJ5/evML9mqu60vLRuXW1TdXCg==} + /esbuild-linux-ppc64le/0.13.12: + resolution: {integrity: sha512-2dSnm1ldL7Lppwlo04CGQUpwNn5hGqXI38OzaoPOkRsBRWFBozyGxTFSee/zHFS+Pdh3b28JJbRK3owrrRgWNw==} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-netbsd-64/0.13.9: - resolution: {integrity: sha512-PiZu3h4+Szj0iZPgvuD2Y0isOXnlNetmF6jMcOwW54BScwynW24/baE+z7PfDyNFgjV04Ga2THdcpbKBDhgWQw==} + /esbuild-netbsd-64/0.13.12: + resolution: {integrity: sha512-D4raxr02dcRiQNbxOLzpqBzcJNFAdsDNxjUbKkDMZBkL54Z0vZh4LRndycdZAMcIdizC/l/Yp/ZsBdAFxc5nbA==} cpu: [x64] os: [netbsd] requiresBuild: true dev: true optional: true - /esbuild-openbsd-64/0.13.9: - resolution: {integrity: sha512-SJKN4Ez+ilY7mu+1gAdGQ9N6dktBfbEkiOAvw+hT7xHrNnTnrTGH0FT4qx9dazB9HX6D04L4PXmVOyynqi+oEQ==} + /esbuild-openbsd-64/0.13.12: + resolution: {integrity: sha512-KuLCmYMb2kh05QuPJ+va60bKIH5wHL8ypDkmpy47lzwmdxNsuySeCMHuTv5o2Af1RUn5KLO5ZxaZeq4GEY7DaQ==} cpu: [x64] os: [openbsd] requiresBuild: true dev: true optional: true - /esbuild-sunos-64/0.13.9: - resolution: {integrity: sha512-9N0RjZ7cElE8ifrS0nBrLQgBMQNPiIIKO2GzLXy7Ms8AM3KjfLiV2G2+9O0B9paXjRAHchIwazTeOyeWb1vyWA==} + /esbuild-sunos-64/0.13.12: + resolution: {integrity: sha512-jBsF+e0woK3miKI8ufGWKG3o3rY9DpHvCVRn5eburMIIE+2c+y3IZ1srsthKyKI6kkXLvV4Cf/E7w56kLipMXw==} cpu: [x64] os: [sunos] requiresBuild: true dev: true optional: true - /esbuild-windows-32/0.13.9: - resolution: {integrity: sha512-awxWs1kns+RfjhqBbTbdlePjqZrAE2XMaAQJNg9dtu+C7ghC3QKsqXbu0C26OuF5YeAdJcq9q+IdG6WPLjvj9w==} + /esbuild-windows-32/0.13.12: + resolution: {integrity: sha512-L9m4lLFQrFeR7F+eLZXG82SbXZfUhyfu6CexZEil6vm+lc7GDCE0Q8DiNutkpzjv1+RAbIGVva9muItQ7HVTkQ==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /esbuild-windows-64/0.13.9: - resolution: {integrity: sha512-VmA9GQMCzOr8rFfD72Dum1+AWhJui7ZO6sYwp6rBHYu4vLmWITTSUsd/zgXXmZuHBPkkvxLJLF8XsKFCRKflJA==} + /esbuild-windows-64/0.13.12: + resolution: {integrity: sha512-k4tX4uJlSbSkfs78W5d9+I9gpd+7N95W7H2bgOMFPsYREVJs31+Q2gLLHlsnlY95zBoPQMIzHooUIsixQIBjaQ==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /esbuild-windows-arm64/0.13.9: - resolution: {integrity: sha512-P/jPY2JwmTpgEPh9BkXpCe690tcDSSo0K9BHTniSeEAEz26kPpqldVa4XDm0R+hNnFA7ecEgNskr4QAxE1ry0w==} + /esbuild-windows-arm64/0.13.12: + resolution: {integrity: sha512-2tTv/BpYRIvuwHpp2M960nG7uvL+d78LFW/ikPItO+2GfK51CswIKSetSpDii+cjz8e9iSPgs+BU4o8nWICBwQ==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /esbuild/0.13.9: - resolution: {integrity: sha512-8bYcckmisXjGvBMeylp1PRtu21uOoCDFAgXGGF2BR241zYQDN6ZLNvcmQlnQ7olG0p6PRWmJI8WVH3ca8viPuw==} + /esbuild/0.13.12: + resolution: {integrity: sha512-vTKKUt+yoz61U/BbrnmlG9XIjwpdIxmHB8DlPR0AAW6OdS+nBQBci6LUHU2q9WbBobMEIQxxDpKbkmOGYvxsow==} hasBin: true requiresBuild: true optionalDependencies: - esbuild-android-arm64: 0.13.9 - esbuild-darwin-64: 0.13.9 - esbuild-darwin-arm64: 0.13.9 - esbuild-freebsd-64: 0.13.9 - esbuild-freebsd-arm64: 0.13.9 - esbuild-linux-32: 0.13.9 - esbuild-linux-64: 0.13.9 - esbuild-linux-arm: 0.13.9 - esbuild-linux-arm64: 0.13.9 - esbuild-linux-mips64le: 0.13.9 - esbuild-linux-ppc64le: 0.13.9 - esbuild-netbsd-64: 0.13.9 - esbuild-openbsd-64: 0.13.9 - esbuild-sunos-64: 0.13.9 - esbuild-windows-32: 0.13.9 - esbuild-windows-64: 0.13.9 - esbuild-windows-arm64: 0.13.9 + esbuild-android-arm64: 0.13.12 + esbuild-darwin-64: 0.13.12 + esbuild-darwin-arm64: 0.13.12 + esbuild-freebsd-64: 0.13.12 + esbuild-freebsd-arm64: 0.13.12 + esbuild-linux-32: 0.13.12 + esbuild-linux-64: 0.13.12 + esbuild-linux-arm: 0.13.12 + esbuild-linux-arm64: 0.13.12 + esbuild-linux-mips64le: 0.13.12 + esbuild-linux-ppc64le: 0.13.12 + esbuild-netbsd-64: 0.13.12 + esbuild-openbsd-64: 0.13.12 + esbuild-sunos-64: 0.13.12 + esbuild-windows-32: 0.13.12 + esbuild-windows-64: 0.13.12 + esbuild-windows-arm64: 0.13.12 dev: true /escalade/3.1.1: @@ -2824,7 +2801,7 @@ packages: hasBin: true dependencies: esprima: 4.0.1 - estraverse: 5.2.0 + estraverse: 5.3.0 esutils: 2.0.3 optionator: 0.8.3 optionalDependencies: @@ -2945,11 +2922,11 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 dependencies: - '@babel/runtime': 7.15.4 + '@babel/runtime': 7.16.0 aria-query: 4.2.2 array-includes: 3.1.4 ast-types-flow: 0.0.7 - axe-core: 4.3.3 + axe-core: 4.3.5 axobject-query: 2.2.0 damerau-levenshtein: 1.0.7 emoji-regex: 9.2.2 @@ -2990,7 +2967,7 @@ packages: array-includes: 3.1.4 array.prototype.flatmap: 1.2.5 doctrine: 2.1.0 - estraverse: 5.2.0 + estraverse: 5.3.0 jsx-ast-utils: 3.2.1 minimatch: 3.0.4 object.entries: 1.1.5 @@ -3067,7 +3044,7 @@ packages: file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 glob-parent: 5.1.2 - globals: 13.11.0 + globals: 13.12.0 ignore: 4.0.6 import-fresh: 3.3.0 imurmurhash: 0.1.4 @@ -3110,14 +3087,14 @@ packages: resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} engines: {node: '>=0.10'} dependencies: - estraverse: 5.2.0 + estraverse: 5.3.0 dev: true /esrecurse/4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} dependencies: - estraverse: 5.2.0 + estraverse: 5.3.0 dev: true /estraverse/4.3.0: @@ -3125,8 +3102,8 @@ packages: engines: {node: '>=4.0'} dev: true - /estraverse/5.2.0: - resolution: {integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==} + /estraverse/5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} dev: true @@ -3333,8 +3310,8 @@ packages: resolution: {integrity: sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==} dev: true - /follow-redirects/1.14.4: - resolution: {integrity: sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==} + /follow-redirects/1.14.5: + resolution: {integrity: sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -3487,8 +3464,8 @@ packages: engines: {node: '>=4'} dev: true - /globals/13.11.0: - resolution: {integrity: sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==} + /globals/13.12.0: + resolution: {integrity: sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -3501,7 +3478,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.2.7 - ignore: 5.1.8 + ignore: 5.1.9 merge2: 1.4.1 slash: 3.0.0 dev: true @@ -3583,15 +3560,10 @@ packages: function-bind: 1.1.1 dev: true - /history/4.10.1: - resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + /history/5.1.0: + resolution: {integrity: sha512-zPuQgPacm2vH2xdORvGGz1wQMuHSIB56yNAy5FnLuwOwgSYyPKptJtcMm6Ev+hRGeS+GzhbmRacHzvlESbFwDg==} dependencies: - '@babel/runtime': 7.15.4 - loose-envify: 1.4.0 - resolve-pathname: 3.0.0 - tiny-invariant: 1.1.0 - tiny-warning: 1.0.3 - value-equal: 1.0.1 + '@babel/runtime': 7.16.0 dev: false /hoist-non-react-statics/3.3.2: @@ -3670,8 +3642,8 @@ packages: engines: {node: '>= 4'} dev: true - /ignore/5.1.8: - resolution: {integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==} + /ignore/5.1.9: + resolution: {integrity: sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==} engines: {node: '>= 4'} dev: true @@ -3960,10 +3932,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /isarray/0.0.1: - resolution: {integrity: sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=} - dev: false - /isarray/1.0.0: resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} dev: true @@ -3993,7 +3961,7 @@ packages: resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.0 @@ -4001,12 +3969,12 @@ packages: - supports-color dev: true - /istanbul-lib-instrument/5.0.4: - resolution: {integrity: sha512-W6jJF9rLGEISGoCyXRqa/JCGQGmmxPO10TMu7izaUTynxvBvTjqzAIIGCK9USBmIbQAaSWD6XJPrM9Pv5INknw==} + /istanbul-lib-instrument/5.1.0: + resolution: {integrity: sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.15.8 - '@babel/parser': 7.15.8 + '@babel/core': 7.16.0 + '@babel/parser': 7.16.2 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.0 @@ -4117,10 +4085,10 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.15.8 + '@babel/core': 7.16.0 '@jest/test-sequencer': 27.3.1 '@jest/types': 27.2.5 - babel-jest: 27.3.1_@babel+core@7.15.8 + babel-jest: 27.3.1_@babel+core@7.16.0 chalk: 4.1.2 ci-info: 3.2.0 deepmerge: 4.2.2 @@ -4253,7 +4221,7 @@ packages: resolution: {integrity: sha512-WK11ZUetDQaC09w4/j7o4FZDUIp+4iYWH/Lik34Pv7ukL+DuXFGdnmmi7dT58J2ZYKFB5r13GyE0z3NPeyJmsg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/traverse': 7.15.4 + '@babel/traverse': 7.16.0 '@jest/environment': 27.3.1 '@jest/source-map': 27.0.6 '@jest/test-result': 27.3.1 @@ -4297,7 +4265,7 @@ packages: resolution: {integrity: sha512-bh3JEmxsTZ/9rTm0jQrPElbY2+y48Rw2t47uMfByNyUVR+OfPh4anuyKsGqsNkXk/TI4JbLRZx+7p7Hdt6q1yg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/code-frame': 7.15.8 + '@babel/code-frame': 7.16.0 '@jest/types': 27.2.5 '@types/stack-utils': 2.0.1 chalk: 4.1.2 @@ -4452,17 +4420,17 @@ packages: resolution: {integrity: sha512-APZyBvSgQgOT0XumwfFu7X3G5elj6TGhCBLbBdn3R1IzYustPGPE38F51dBWMQ8hRXa9je0vAdeVDtqHLvB6lg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.15.8 - '@babel/generator': 7.15.8 - '@babel/parser': 7.15.8 - '@babel/plugin-syntax-typescript': 7.14.5_@babel+core@7.15.8 - '@babel/traverse': 7.15.4 - '@babel/types': 7.15.6 + '@babel/core': 7.16.0 + '@babel/generator': 7.16.0 + '@babel/parser': 7.16.2 + '@babel/plugin-syntax-typescript': 7.16.0_@babel+core@7.16.0 + '@babel/traverse': 7.16.0 + '@babel/types': 7.16.0 '@jest/transform': 27.3.1 '@jest/types': 27.2.5 '@types/babel__traverse': 7.14.2 '@types/prettier': 2.4.1 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.15.8 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.16.0 chalk: 4.1.2 expect: 27.3.1 graceful-fs: 4.2.8 @@ -4691,63 +4659,63 @@ packages: engines: {'0': node >= 0.2.0} dev: true - /jss-plugin-camel-case/10.8.1: - resolution: {integrity: sha512-nOYKsvX9qh/AcUWSSRZHKyUj4RwqnhUSq4EKNFA1nHsNw0VJYwtF1yqtOPvztWEP3LTlNhcwoPINsb/eKVmYqA==} + /jss-plugin-camel-case/10.8.2: + resolution: {integrity: sha512-2INyxR+1UdNuKf4v9It3tNfPvf7IPrtkiwzofeKuMd5D58/dxDJVUQYRVg/n460rTlHUfsEQx43hDrcxi9dSPA==} dependencies: - '@babel/runtime': 7.15.4 + '@babel/runtime': 7.16.0 hyphenate-style-name: 1.0.4 - jss: 10.8.1 + jss: 10.8.2 dev: false - /jss-plugin-default-unit/10.8.1: - resolution: {integrity: sha512-W/uwVJNrFtUrVyAPfH/3ZngFYUVilMxgNbuWHYslqv3c5gnBKM6iXeoDzOnB+wtQJoSCTLzD3q77H7OeNK3oxg==} + /jss-plugin-default-unit/10.8.2: + resolution: {integrity: sha512-UZ7cwT9NFYSG+SEy7noRU50s4zifulFdjkUNKE+u6mW7vFP960+RglWjTgMfh79G6OENZmaYnjHV/gcKV4nSxg==} dependencies: - '@babel/runtime': 7.15.4 - jss: 10.8.1 + '@babel/runtime': 7.16.0 + jss: 10.8.2 dev: false - /jss-plugin-global/10.8.1: - resolution: {integrity: sha512-ERYLzD+L/v3yQL2mM5/PE+3xU/GCXcfXuGIL1kVkiEIpXnWtND/Mphf2iHQaqedx59uhiVHFZaMtv6qv+iNsDw==} + /jss-plugin-global/10.8.2: + resolution: {integrity: sha512-UaYMSPsYZ7s/ECGoj4KoHC2jwQd5iQ7K+FFGnCAILdQrv7hPmvM2Ydg45ThT/sH46DqktCRV2SqjRuxeBH8nRA==} dependencies: - '@babel/runtime': 7.15.4 - jss: 10.8.1 + '@babel/runtime': 7.16.0 + jss: 10.8.2 dev: false - /jss-plugin-nested/10.8.1: - resolution: {integrity: sha512-Z15G23Fb8/br23EclH9CAq2UGdi29XgpSWXFTBusMJbWjitFdDCdYMzk7bSUJ6P7L5+WpaIDNxIJ9WrdMRqdXw==} + /jss-plugin-nested/10.8.2: + resolution: {integrity: sha512-acRvuPJOb930fuYmhkJaa994EADpt8TxI63Iyg96C8FJ9T2xRyU5T6R1IYKRwUiqZo+2Sr7fdGzRTDD4uBZaMA==} dependencies: - '@babel/runtime': 7.15.4 - jss: 10.8.1 + '@babel/runtime': 7.16.0 + jss: 10.8.2 tiny-warning: 1.0.3 dev: false - /jss-plugin-props-sort/10.8.1: - resolution: {integrity: sha512-BNbKYuh4IawWr7cticlnbI+kBx01o39DNHkjAkc2CGKWVboUb2EpktDqonqVN/BjyzDgZXKOmwz36ZFkLQB45g==} + /jss-plugin-props-sort/10.8.2: + resolution: {integrity: sha512-wqdcjayKRWBZnNpLUrXvsWqh+5J5YToAQ+8HNBNw0kZxVvCDwzhK2Nx6AKs7p+5/MbAh2PLgNW5Ym/ysbVAuqQ==} dependencies: - '@babel/runtime': 7.15.4 - jss: 10.8.1 + '@babel/runtime': 7.16.0 + jss: 10.8.2 dev: false - /jss-plugin-rule-value-function/10.8.1: - resolution: {integrity: sha512-XrvM4bokyU1xPXr+gVEIlT9WylLQZcdC+1JDxriXDEWmKEjJgtH+w6ZicchTydLqq1qtA4fEevhdMvm4QvgIKw==} + /jss-plugin-rule-value-function/10.8.2: + resolution: {integrity: sha512-bW0EKAs+0HXpb6BKJhrn94IDdiWb0CnSluTkh0rGEgyzY/nmD1uV/Wf6KGlesGOZ9gmJzQy+9FFdxIUID1c9Ug==} dependencies: - '@babel/runtime': 7.15.4 - jss: 10.8.1 + '@babel/runtime': 7.16.0 + jss: 10.8.2 tiny-warning: 1.0.3 dev: false - /jss-plugin-vendor-prefixer/10.8.1: - resolution: {integrity: sha512-77b/iEFmA669s+USru2Y5eg9Hs1C1N0zE/4EaJm/fqKScCTNawHXZv5l5w6j81A9CNa63Ar7jekAIfBkoKFmLw==} + /jss-plugin-vendor-prefixer/10.8.2: + resolution: {integrity: sha512-DeGv18QsSiYLSVIEB2+l0af6OToUe0JB+trpzUxyqD2QRC/5AzzDrCrYffO5AHZ81QbffYvSN/pkfZaTWpRXlg==} dependencies: - '@babel/runtime': 7.15.4 + '@babel/runtime': 7.16.0 css-vendor: 2.0.8 - jss: 10.8.1 + jss: 10.8.2 dev: false - /jss/10.8.1: - resolution: {integrity: sha512-P4wKxU+2m5ReGl0Mmbf9XYgVjFIVZJOZ9ylXBxdpanX+HHgj5XVaAIgYzYpKbBLPCdkAUsI/Iq1fhQPsMNu0YA==} + /jss/10.8.2: + resolution: {integrity: sha512-FkoUNxI329CKQ9OQC8L72MBF9KPf5q8mIupAJ5twU7G7XREW7ahb+7jFfrjZ4iy1qvhx1HwIWUIvkZBDnKkEdQ==} dependencies: - '@babel/runtime': 7.15.4 + '@babel/runtime': 7.16.0 csstype: 3.0.9 is-in-browser: 1.1.3 tiny-warning: 1.0.3 @@ -4999,18 +4967,6 @@ packages: engines: {node: '>=4'} dev: true - /mini-create-react-context/0.4.1_prop-types@15.7.2+react@17.0.2: - resolution: {integrity: sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==} - peerDependencies: - prop-types: ^15.0.0 - react: ^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@babel/runtime': 7.15.4 - prop-types: 15.7.2 - react: 17.0.2 - tiny-warning: 1.0.3 - dev: false - /minimatch/3.0.4: resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} dependencies: @@ -5328,7 +5284,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.15.8 + '@babel/code-frame': 7.16.0 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.1.6 @@ -5372,12 +5328,6 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-to-regexp/1.8.0: - resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} - dependencies: - isarray: 0.0.1 - dev: false - /path-type/4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -5589,37 +5539,24 @@ packages: engines: {node: '>=0.10.0'} dev: true - /react-router-dom/5.3.0_react@17.0.2: - resolution: {integrity: sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==} + /react-router-dom/6.0.0_react-dom@17.0.2+react@17.0.2: + resolution: {integrity: sha512-bPXyYipf0zu6K7mHSEmNO5YqLKq2q9N+Dsahw9Xh3oq1IirsI3vbnIYcVWin6A0zWyHmKhMGoV7Gr0j0kcuVFg==} peerDependencies: - react: '>=15' + react: '>=16.8' + react-dom: '>=16.8' dependencies: - '@babel/runtime': 7.15.4 - history: 4.10.1 - loose-envify: 1.4.0 - prop-types: 15.7.2 react: 17.0.2 - react-router: 5.2.1_react@17.0.2 - tiny-invariant: 1.1.0 - tiny-warning: 1.0.3 + react-dom: 17.0.2_react@17.0.2 + react-router: 6.0.0_react@17.0.2 dev: false - /react-router/5.2.1_react@17.0.2: - resolution: {integrity: sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==} + /react-router/6.0.0_react@17.0.2: + resolution: {integrity: sha512-FcTRCihYZvERMNbG54D9+Wkv2cj/OtoxNlA/87D7vxKYlmSmbF9J9XChI9Is44j/behEiOhbovgVZBhKQn+wgA==} peerDependencies: - react: '>=15' + react: '>=16.8' dependencies: - '@babel/runtime': 7.15.4 - history: 4.10.1 - hoist-non-react-statics: 3.3.2 - loose-envify: 1.4.0 - mini-create-react-context: 0.4.1_prop-types@15.7.2+react@17.0.2 - path-to-regexp: 1.8.0 - prop-types: 15.7.2 + history: 5.1.0 react: 17.0.2 - react-is: 16.13.1 - tiny-invariant: 1.1.0 - tiny-warning: 1.0.3 dev: false /react-shallow-renderer/16.14.1_react@17.0.2: @@ -5650,7 +5587,7 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' dependencies: - '@babel/runtime': 7.15.4 + '@babel/runtime': 7.16.0 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.7.2 @@ -5783,10 +5720,6 @@ packages: global-dirs: 0.1.1 dev: true - /resolve-pathname/3.0.0: - resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} - dev: false - /resolve-url/0.2.1: resolution: {integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=} deprecated: https://github.com/lydell/resolve-url#deprecated @@ -5828,8 +5761,8 @@ packages: glob: 7.2.0 dev: true - /rollup/2.58.0: - resolution: {integrity: sha512-NOXpusKnaRpbS7ZVSzcEXqxcLDOagN6iFS8p45RkoiMqPHDLwJm758UF05KlMoCRbLBTZsPOIa887gZJ1AiXvw==} + /rollup/2.59.0: + resolution: {integrity: sha512-l7s90JQhCQ6JyZjKgo7Lq1dKh2RxatOM+Jr6a9F7WbS9WgKbocyUSeLmZl8evAse7y96Ae98L2k1cBOwWD8nHw==} engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: @@ -6321,10 +6254,6 @@ packages: readable-stream: 3.6.0 dev: true - /tiny-invariant/1.1.0: - resolution: {integrity: sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==} - dev: false - /tiny-warning/1.0.3: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} dev: false @@ -6571,10 +6500,6 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /value-equal/1.0.1: - resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} - dev: false - /vite-plugin-eslint/1.3.0_vite@2.6.13: resolution: {integrity: sha512-ng6liBWegj6bovfJVGsXXL2XeQR3xnqe4UsnwTE8rbsYTnAaiLfaZK3rruGAyiwCBPbBc2IEED6T7sus5NJfEw==} peerDependencies: @@ -6582,7 +6507,7 @@ packages: dependencies: '@rollup/pluginutils': 4.1.1 eslint: 7.32.0 - rollup: 2.58.0 + rollup: 2.59.0 vite: 2.6.13 transitivePeerDependencies: - supports-color @@ -6638,10 +6563,10 @@ packages: stylus: optional: true dependencies: - esbuild: 0.13.9 + esbuild: 0.13.12 postcss: 8.3.11 resolve: 1.20.0 - rollup: 2.58.0 + rollup: 2.59.0 optionalDependencies: fsevents: 2.3.2 dev: true diff --git a/web/src/App.tsx b/web/src/App.tsx index f7747df52..b8c8a0524 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -2,7 +2,7 @@ import React, { useState, useEffect } from "react"; import { config as faConfig } from "@fortawesome/fontawesome-svg-core"; import { CssBaseline, ThemeProvider } from "@material-ui/core"; -import { BrowserRouter as Router, Route, Switch, Redirect } from "react-router-dom"; +import { BrowserRouter as Router, Route, Routes } from "react-router-dom"; import NotificationBar from "@components/NotificationBar"; import { @@ -64,32 +64,18 @@ const App: React.FC = () => { setNotification(null)} /> - - - - - - - - - - - - - - - - - - - - - - - - - - + + } /> + } /> + } /> + } /> + } /> + } /> + } + /> + diff --git a/web/src/constants/Routes.ts b/web/src/constants/Routes.ts index 670580f70..548ae0757 100644 --- a/web/src/constants/Routes.ts +++ b/web/src/constants/Routes.ts @@ -2,10 +2,10 @@ export const FirstFactorRoute: string = "/"; export const AuthenticatedRoute: string = "/authenticated"; export const ConsentRoute: string = "/consent"; -export const SecondFactorRoute: string = "/2fa"; -export const SecondFactorU2FRoute: string = "/2fa/security-key"; -export const SecondFactorTOTPRoute: string = "/2fa/one-time-password"; -export const SecondFactorPushRoute: string = "/2fa/push-notification"; +export const SecondFactorRoute: string = "/2fa/"; +export const SecondFactorU2FSubRoute: string = "security-key"; +export const SecondFactorTOTPSubRoute: string = "one-time-password"; +export const SecondFactorPushSubRoute: string = "push-notification"; export const ResetPasswordStep1Route: string = "/reset-password/step1"; export const ResetPasswordStep2Route: string = "/reset-password/step2"; diff --git a/web/src/hooks/RedirectionURL.ts b/web/src/hooks/RedirectionURL.ts index 311cc27ba..9b9ae1e47 100644 --- a/web/src/hooks/RedirectionURL.ts +++ b/web/src/hooks/RedirectionURL.ts @@ -1,5 +1,5 @@ import queryString from "query-string"; -import { useLocation } from "react-router"; +import { useLocation } from "react-router-dom"; export function useRedirectionURL() { const location = useLocation(); diff --git a/web/src/hooks/RequestMethod.ts b/web/src/hooks/RequestMethod.ts index fc548cdc3..533b25d4c 100644 --- a/web/src/hooks/RequestMethod.ts +++ b/web/src/hooks/RequestMethod.ts @@ -1,5 +1,5 @@ import queryString from "query-string"; -import { useLocation } from "react-router"; +import { useLocation } from "react-router-dom"; export function useRequestMethod() { const location = useLocation(); diff --git a/web/src/views/DeviceRegistration/RegisterOneTimePassword.tsx b/web/src/views/DeviceRegistration/RegisterOneTimePassword.tsx index c9cbbe6b6..686776076 100644 --- a/web/src/views/DeviceRegistration/RegisterOneTimePassword.tsx +++ b/web/src/views/DeviceRegistration/RegisterOneTimePassword.tsx @@ -6,7 +6,7 @@ import { makeStyles, Typography, Button, IconButton, Link, CircularProgress, Tex import { red } from "@material-ui/core/colors"; import classnames from "classnames"; import QRCode from "qrcode.react"; -import { useHistory, useLocation } from "react-router"; +import { useLocation, useNavigate } from "react-router-dom"; import AppStoreBadges from "@components/AppStoreBadges"; import { GoogleAuthenticator } from "@constants/constants"; @@ -18,7 +18,7 @@ import { extractIdentityToken } from "@utils/IdentityToken"; const RegisterOneTimePassword = function () { const style = useStyles(); - const history = useHistory(); + const navigate = useNavigate(); const location = useLocation(); // The secret retrieved from the API is all is ok. const [secretURL, setSecretURL] = useState("empty"); @@ -32,7 +32,7 @@ const RegisterOneTimePassword = function () { const processToken = extractIdentityToken(location.search); const handleDoneClick = () => { - history.push(FirstFactorRoute); + navigate(FirstFactorRoute); }; const completeRegistrationProcess = useCallback(async () => { diff --git a/web/src/views/DeviceRegistration/RegisterSecurityKey.tsx b/web/src/views/DeviceRegistration/RegisterSecurityKey.tsx index 1e1d7bb67..57a575c30 100644 --- a/web/src/views/DeviceRegistration/RegisterSecurityKey.tsx +++ b/web/src/views/DeviceRegistration/RegisterSecurityKey.tsx @@ -1,7 +1,7 @@ import React, { useState, useEffect, useCallback } from "react"; import { makeStyles, Typography, Button } from "@material-ui/core"; -import { useHistory, useLocation } from "react-router"; +import { useLocation, useNavigate } from "react-router-dom"; import u2fApi from "u2f-api"; import FingerTouchIcon from "@components/FingerTouchIcon"; @@ -13,7 +13,7 @@ import { extractIdentityToken } from "@utils/IdentityToken"; const RegisterSecurityKey = function () { const style = useStyles(); - const history = useHistory(); + const navigate = useNavigate(); const location = useLocation(); const { createErrorNotification } = useNotifications(); const [, setRegistrationInProgress] = useState(false); @@ -21,7 +21,7 @@ const RegisterSecurityKey = function () { const processToken = extractIdentityToken(location.search); const handleBackClick = () => { - history.push(FirstFactorPath); + navigate(FirstFactorPath); }; const registerStep1 = useCallback(async () => { @@ -43,14 +43,14 @@ const RegisterSecurityKey = function () { const registerResponse = await u2fApi.register(registerRequests, [], 60); await completeU2FRegistrationProcessStep2(registerResponse); setRegistrationInProgress(false); - history.push(FirstFactorPath); + navigate(FirstFactorPath); } catch (err) { console.error(err); createErrorNotification( "Failed to register your security key. The identity verification process might have timed out.", ); } - }, [processToken, createErrorNotification, history]); + }, [processToken, createErrorNotification, navigate]); useEffect(() => { registerStep1(); diff --git a/web/src/views/LoginPortal/AuthenticatedView/AuthenticatedView.tsx b/web/src/views/LoginPortal/AuthenticatedView/AuthenticatedView.tsx index a82885b95..40c1241cc 100644 --- a/web/src/views/LoginPortal/AuthenticatedView/AuthenticatedView.tsx +++ b/web/src/views/LoginPortal/AuthenticatedView/AuthenticatedView.tsx @@ -1,7 +1,7 @@ import React from "react"; import { Grid, makeStyles, Button } from "@material-ui/core"; -import { useHistory } from "react-router"; +import { useNavigate } from "react-router-dom"; import { LogoutRoute as SignOutRoute } from "@constants/Routes"; import LoginLayout from "@layouts/LoginLayout"; @@ -13,10 +13,10 @@ export interface Props { const AuthenticatedView = function (props: Props) { const style = useStyles(); - const history = useHistory(); + const navigate = useNavigate(); const handleLogoutClick = () => { - history.push(SignOutRoute); + navigate(SignOutRoute); }; return ( diff --git a/web/src/views/LoginPortal/ConsentView/ConsentView.tsx b/web/src/views/LoginPortal/ConsentView/ConsentView.tsx index 0442a796c..c14bd57f4 100644 --- a/web/src/views/LoginPortal/ConsentView/ConsentView.tsx +++ b/web/src/views/LoginPortal/ConsentView/ConsentView.tsx @@ -2,8 +2,9 @@ import React, { useEffect, Fragment, ReactNode } from "react"; import { Button, Grid, List, ListItem, ListItemIcon, ListItemText, Tooltip, makeStyles } from "@material-ui/core"; import { AccountBox, CheckBox, Contacts, Drafts, Group } from "@material-ui/icons"; -import { useHistory } from "react-router-dom"; +import { useNavigate } from "react-router-dom"; +import { FirstFactorRoute } from "@constants/Routes"; import { useRequestedScopes } from "@hooks/Consent"; import { useNotifications } from "@hooks/NotificationsContext"; import { useRedirector } from "@hooks/Redirector"; @@ -30,17 +31,17 @@ function showListItemAvatar(id: string) { const ConsentView = function (props: Props) { const classes = useStyles(); - const history = useHistory(); + const navigate = useNavigate(); const redirect = useRedirector(); const { createErrorNotification, resetNotification } = useNotifications(); const [resp, fetch, , err] = useRequestedScopes(); useEffect(() => { if (err) { - history.replace("/"); + navigate(FirstFactorRoute); console.error(`Unable to display consent screen: ${err.message}`); } - }, [history, resetNotification, createErrorNotification, err]); + }, [navigate, resetNotification, createErrorNotification, err]); useEffect(() => { fetch(); diff --git a/web/src/views/LoginPortal/FirstFactor/FirstFactorForm.tsx b/web/src/views/LoginPortal/FirstFactor/FirstFactorForm.tsx index f188605f0..43e62e2bb 100644 --- a/web/src/views/LoginPortal/FirstFactor/FirstFactorForm.tsx +++ b/web/src/views/LoginPortal/FirstFactor/FirstFactorForm.tsx @@ -2,7 +2,7 @@ import React, { MutableRefObject, useEffect, useRef, useState } from "react"; import { makeStyles, Grid, Button, FormControlLabel, Checkbox, Link } from "@material-ui/core"; import classnames from "classnames"; -import { useHistory } from "react-router"; +import { useNavigate } from "react-router-dom"; import FixedTextField from "@components/FixedTextField"; import { ResetPasswordStep1Route } from "@constants/Routes"; @@ -24,7 +24,7 @@ export interface Props { const FirstFactorForm = function (props: Props) { const style = useStyles(); - const history = useHistory(); + const navigate = useNavigate(); const redirectionURL = useRedirectionURL(); const requestMethod = useRequestMethod(); @@ -74,7 +74,7 @@ const FirstFactorForm = function (props: Props) { }; const handleResetPasswordClick = () => { - history.push(ResetPasswordStep1Route); + navigate(ResetPasswordStep1Route); }; return ( diff --git a/web/src/views/LoginPortal/LoginPortal.tsx b/web/src/views/LoginPortal/LoginPortal.tsx index 55775dffd..12e7b7035 100644 --- a/web/src/views/LoginPortal/LoginPortal.tsx +++ b/web/src/views/LoginPortal/LoginPortal.tsx @@ -1,14 +1,14 @@ import React, { Fragment, ReactNode, useCallback, useEffect, useState } from "react"; -import { Redirect, Route, Switch, useHistory, useLocation } from "react-router"; +import { Route, Routes, useLocation, useNavigate } from "react-router-dom"; import { AuthenticatedRoute, FirstFactorRoute, - SecondFactorPushRoute, + SecondFactorPushSubRoute, SecondFactorRoute, - SecondFactorTOTPRoute, - SecondFactorU2FRoute, + SecondFactorTOTPSubRoute, + SecondFactorU2FSubRoute, } from "@constants/Routes"; import { useConfiguration } from "@hooks/Configuration"; import { useNotifications } from "@hooks/NotificationsContext"; @@ -34,7 +34,7 @@ const RedirectionErrorMessage = "Redirection was determined to be unsafe and aborted. Ensure the redirection URL is correct."; const LoginPortal = function (props: Props) { - const history = useHistory(); + const navigate = useNavigate(); const location = useLocation(); const redirectionURL = useRedirectionURL(); const requestMethod = useRequestMethod(); @@ -46,7 +46,7 @@ const LoginPortal = function (props: Props) { const [userInfo, fetchUserInfo, , fetchUserInfoError] = userUserInfo(); const [configuration, fetchConfiguration, , fetchConfigurationError] = useConfiguration(); - const redirect = useCallback((url: string) => history.push(url), [history]); + const redirect = useCallback((url: string) => navigate(url), [navigate]); // Fetch the state when portal is mounted. useEffect(() => { @@ -128,11 +128,11 @@ const LoginPortal = function (props: Props) { redirect(AuthenticatedRoute); } else { if (userInfo.method === SecondFactorMethod.U2F) { - redirect(`${SecondFactorU2FRoute}${redirectionSuffix}`); + redirect(`${SecondFactorRoute}${SecondFactorU2FSubRoute}${redirectionSuffix}`); } else if (userInfo.method === SecondFactorMethod.MobilePush) { - redirect(`${SecondFactorPushRoute}${redirectionSuffix}`); + redirect(`${SecondFactorRoute}${SecondFactorPushSubRoute}${redirectionSuffix}`); } else { - redirect(`${SecondFactorTOTPRoute}${redirectionSuffix}`); + redirect(`${SecondFactorRoute}${SecondFactorTOTPSubRoute}${redirectionSuffix}`); } } } @@ -165,38 +165,41 @@ const LoginPortal = function (props: Props) { location.pathname === FirstFactorRoute; return ( - - - - setFirstFactorDisabled(true)} - onAuthenticationFailure={() => setFirstFactorDisabled(false)} - onAuthenticationSuccess={handleAuthSuccess} - /> - - - - {state && userInfo && configuration ? ( - fetchUserInfo()} - onAuthenticationSuccess={handleAuthSuccess} - /> - ) : null} - - - {userInfo ? : null} - - {/* By default we route to first factor page */} - - - - + + + setFirstFactorDisabled(true)} + onAuthenticationFailure={() => setFirstFactorDisabled(false)} + onAuthenticationSuccess={handleAuthSuccess} + /> + + } + /> + fetchUserInfo()} + onAuthenticationSuccess={handleAuthSuccess} + /> + ) : null + } + /> + : null} + /> + ); }; diff --git a/web/src/views/LoginPortal/SecondFactor/SecondFactorForm.tsx b/web/src/views/LoginPortal/SecondFactor/SecondFactorForm.tsx index 896395e4c..dcd16aa3f 100644 --- a/web/src/views/LoginPortal/SecondFactor/SecondFactorForm.tsx +++ b/web/src/views/LoginPortal/SecondFactor/SecondFactorForm.tsx @@ -1,15 +1,14 @@ import React, { useState, useEffect } from "react"; import { Grid, makeStyles, Button } from "@material-ui/core"; -import { useHistory, Switch, Route, Redirect } from "react-router"; +import { Route, Routes, useNavigate } from "react-router-dom"; import u2fApi from "u2f-api"; import { LogoutRoute as SignOutRoute, - SecondFactorTOTPRoute, - SecondFactorPushRoute, - SecondFactorU2FRoute, - SecondFactorRoute, + SecondFactorPushSubRoute, + SecondFactorTOTPSubRoute, + SecondFactorU2FSubRoute, } from "@constants/Routes"; import { useNotifications } from "@hooks/NotificationsContext"; import LoginLayout from "@layouts/LoginLayout"; @@ -38,7 +37,7 @@ export interface Props { const SecondFactorForm = function (props: Props) { const style = useStyles(); - const history = useHistory(); + const navigate = useNavigate(); const [methodSelectionOpen, setMethodSelectionOpen] = useState(false); const { createInfoNotification, createErrorNotification } = useNotifications(); const [registrationInProgress, setRegistrationInProgress] = useState(false); @@ -85,7 +84,7 @@ const SecondFactorForm = function (props: Props) { }; const handleLogoutClick = () => { - history.push(SignOutRoute); + navigate(SignOutRoute); }; return ( @@ -108,42 +107,48 @@ const SecondFactorForm = function (props: Props) { - - - createErrorNotification(err.message)} - onSignInSuccess={props.onAuthenticationSuccess} - /> - - - createErrorNotification(err.message)} - onSignInSuccess={props.onAuthenticationSuccess} - /> - - - createErrorNotification(err.message)} - onSignInSuccess={props.onAuthenticationSuccess} - /> - - - - - + + createErrorNotification(err.message)} + onSignInSuccess={props.onAuthenticationSuccess} + /> + } + /> + createErrorNotification(err.message)} + onSignInSuccess={props.onAuthenticationSuccess} + /> + } + /> + createErrorNotification(err.message)} + onSignInSuccess={props.onAuthenticationSuccess} + /> + } + /> + diff --git a/web/src/views/LoginPortal/SignOut/SignOut.tsx b/web/src/views/LoginPortal/SignOut/SignOut.tsx index 304adcd3d..2c77df1cd 100644 --- a/web/src/views/LoginPortal/SignOut/SignOut.tsx +++ b/web/src/views/LoginPortal/SignOut/SignOut.tsx @@ -1,7 +1,7 @@ import React, { useEffect, useCallback, useState } from "react"; import { Typography, makeStyles } from "@material-ui/core"; -import { Redirect } from "react-router"; +import { Navigate } from "react-router-dom"; import { FirstFactorRoute } from "@constants/Routes"; import { useIsMountedRef } from "@hooks/Mounted"; @@ -48,7 +48,7 @@ const SignOut = function (props: Props) { if (redirectionURL && safeRedirect) { redirector(redirectionURL); } else { - return ; + return ; } } diff --git a/web/src/views/ResetPassword/ResetPasswordStep1.tsx b/web/src/views/ResetPassword/ResetPasswordStep1.tsx index 8db00202f..605ec5e9c 100644 --- a/web/src/views/ResetPassword/ResetPasswordStep1.tsx +++ b/web/src/views/ResetPassword/ResetPasswordStep1.tsx @@ -1,7 +1,7 @@ import React, { useState } from "react"; import { Grid, Button, makeStyles } from "@material-ui/core"; -import { useHistory } from "react-router"; +import { useNavigate } from "react-router-dom"; import FixedTextField from "@components/FixedTextField"; import { FirstFactorRoute } from "@constants/Routes"; @@ -14,7 +14,7 @@ const ResetPasswordStep1 = function () { const [username, setUsername] = useState(""); const [error, setError] = useState(false); const { createInfoNotification, createErrorNotification } = useNotifications(); - const history = useHistory(); + const navigate = useNavigate(); const doInitiateResetPasswordProcess = async () => { if (username === "") { @@ -35,7 +35,7 @@ const ResetPasswordStep1 = function () { }; const handleCancelClick = () => { - history.push(FirstFactorRoute); + navigate(FirstFactorRoute); }; return ( diff --git a/web/src/views/ResetPassword/ResetPasswordStep2.tsx b/web/src/views/ResetPassword/ResetPasswordStep2.tsx index 5755f39a2..6b43b0c50 100644 --- a/web/src/views/ResetPassword/ResetPasswordStep2.tsx +++ b/web/src/views/ResetPassword/ResetPasswordStep2.tsx @@ -2,7 +2,7 @@ import React, { useState, useCallback, useEffect } from "react"; import { Grid, Button, makeStyles } from "@material-ui/core"; import classnames from "classnames"; -import { useHistory, useLocation } from "react-router"; +import { useLocation, useNavigate } from "react-router-dom"; import FixedTextField from "@components/FixedTextField"; import { FirstFactorRoute } from "@constants/Routes"; @@ -20,7 +20,7 @@ const ResetPasswordStep2 = function () { const [errorPassword1, setErrorPassword1] = useState(false); const [errorPassword2, setErrorPassword2] = useState(false); const { createSuccessNotification, createErrorNotification } = useNotifications(); - const history = useHistory(); + const navigate = useNavigate(); // Get the token from the query param to give it back to the API when requesting // the secret for OTP. const processToken = extractIdentityToken(location.search); @@ -69,7 +69,7 @@ const ResetPasswordStep2 = function () { try { await resetPassword(password1); createSuccessNotification("Password has been reset."); - setTimeout(() => history.push(FirstFactorRoute), 1500); + setTimeout(() => navigate(FirstFactorRoute), 1500); setFormDisabled(true); } catch (err) { console.error(err); @@ -83,7 +83,7 @@ const ResetPasswordStep2 = function () { const handleResetClick = () => doResetPassword(); - const handleCancelClick = () => history.push(FirstFactorRoute); + const handleCancelClick = () => navigate(FirstFactorRoute); return (