diff --git a/frontend/next.config.js b/frontend/next.config.js
index 1c498659..4482fd6a 100644
--- a/frontend/next.config.js
+++ b/frontend/next.config.js
@@ -43,6 +43,7 @@ const nextConfig = {
const withTM = require("next-transpile-modules")([
"@cloudscape-design/components",
+ "@cloudscape-design/component-toolkit",
"@cloudscape-design/design-tokens"
]);
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index d707bd8a..43b1a36c 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -8,9 +8,9 @@
"name": "aws-parallelcluster-ui",
"version": "0.0.0",
"dependencies": {
- "@cloudscape-design/components": "^3.0.118",
- "@cloudscape-design/design-tokens": "^3.0.9",
- "@cloudscape-design/global-styles": "^1.0.2",
+ "@cloudscape-design/components": "^3.0.248",
+ "@cloudscape-design/design-tokens": "^3.0.11",
+ "@cloudscape-design/global-styles": "^1.0.8",
"@reduxjs/toolkit": "^1.6.1",
"axios": "^0.21.4",
"i18next": "^21.8.13",
@@ -18,8 +18,8 @@
"lodash": "^4.17.21",
"next": "^12.2.0",
"next-transpile-modules": "^9.0.0",
- "react": "^17.0.2",
- "react-dom": "^17.0.2",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
"react-i18next": "^11.18.0",
"react-query": "^3.39.1",
"react-redux": "^7.2.5",
@@ -28,9 +28,8 @@
},
"devDependencies": {
"@cloudscape-design/jest-preset": "^2.0.4",
- "@testing-library/react": "^12.1.5",
- "@testing-library/react-hooks": "^8.0.1",
- "@testing-library/user-event": "^14.3.0",
+ "@testing-library/react": "^14.0.0",
+ "@testing-library/user-event": "^14.4.3",
"@types/jest": "^28.1.4",
"@types/lodash": "^4.14.182",
"@types/node": "^18.0.0",
@@ -579,12 +578,21 @@
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
+ "node_modules/@cloudscape-design/component-toolkit": {
+ "version": "1.0.0-beta.11",
+ "resolved": "https://registry.npmjs.org/@cloudscape-design/component-toolkit/-/component-toolkit-1.0.0-beta.11.tgz",
+ "integrity": "sha512-cujRCr01KIxPT+jS2F3O5Hm9M9dYQVZpD5YWI5QDpY/7xoW3BiDSAqzFfAGkcij1ueMupN2ev1AVMrC1VxZzww==",
+ "dependencies": {
+ "@juggle/resize-observer": "^3.3.1"
+ }
+ },
"node_modules/@cloudscape-design/components": {
- "version": "3.0.158",
- "resolved": "https://registry.npmjs.org/@cloudscape-design/components/-/components-3.0.158.tgz",
- "integrity": "sha512-y2IS8u5hIs4l6g3SmJptndTdB/TSgHjsLYSQd2iblIQ/J0/GwdpSFJ7oEUEwTK7WZJniIiE2aeBJgxjPylinXg==",
+ "version": "3.0.248",
+ "resolved": "https://registry.npmjs.org/@cloudscape-design/components/-/components-3.0.248.tgz",
+ "integrity": "sha512-N+3QyMwcykingUE+9DxYESzrr1iHbh8KRfhDEjcZ1iPK+vf2H1bqnXvohsRW2FTWoLGk49wzqhjCz0Mzl6Y0MA==",
"dependencies": {
"@cloudscape-design/collection-hooks": "^1.0.0",
+ "@cloudscape-design/component-toolkit": "^1.0.0-beta",
"@cloudscape-design/test-utils-core": "^1.0.0",
"@cloudscape-design/theming-runtime": "^1.0.0",
"@juggle/resize-observer": "^3.3.1",
@@ -593,10 +601,10 @@
"clsx": "^1.1.0",
"d3-shape": "^1.3.7",
"date-fns": "^2.25.0",
+ "intl-messageformat": "^10.3.1",
"mnth": "^2.0.0",
"react-focus-lock": "~2.8.1",
"react-keyed-flatten-children": "^1.3.0",
- "react-resizable": "^1.11.1",
"react-transition-group": "^4.4.2",
"react-virtual": "^2.8.2",
"tslib": "^2.4.0",
@@ -607,15 +615,29 @@
"react-dom": "^16.8 || ^17 || ^18"
}
},
+ "node_modules/@cloudscape-design/components/node_modules/react-virtual": {
+ "version": "2.10.4",
+ "resolved": "https://registry.npmjs.org/react-virtual/-/react-virtual-2.10.4.tgz",
+ "integrity": "sha512-Ir6+oPQZTVHfa6+JL9M7cvMILstFZH/H3jqeYeKI4MSUX+rIruVwFC6nGVXw9wqAw8L0Kg2KvfXxI85OvYQdpQ==",
+ "funding": [
+ "https://github.com/sponsors/tannerlinsley"
+ ],
+ "dependencies": {
+ "@reach/observe-rect": "^1.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.6.3 || ^17.0.0"
+ }
+ },
"node_modules/@cloudscape-design/design-tokens": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/@cloudscape-design/design-tokens/-/design-tokens-3.0.9.tgz",
- "integrity": "sha512-7j9OTWg/yQaOoPUqMAN6VnzxfHKD2lCiyW9xW+gblvLlvgOJPMPgZsHKsUE9v14tAtMOZXkIXfoZ1jWH0onotQ=="
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@cloudscape-design/design-tokens/-/design-tokens-3.0.11.tgz",
+ "integrity": "sha512-AmKFpZwm9qR4+6CPppZwqLpajuyIjBakGhTQ39sgw9OhB2aKeOKA9tGabikayPb4Pc4OiMDpGAGYEw+L5iR66g=="
},
"node_modules/@cloudscape-design/global-styles": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@cloudscape-design/global-styles/-/global-styles-1.0.2.tgz",
- "integrity": "sha512-RSViM1/nDRjZ0HL2SfAwibpMDW+uY/yEJWhPgid8aN1q5d5l0WgS4cTuBKsUdrDgpvJA9QjLCTn4NVOlhh9n7Q=="
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@cloudscape-design/global-styles/-/global-styles-1.0.8.tgz",
+ "integrity": "sha512-C64XiUuxuohkh10JjzpBFwQ9piTCERRLsD2E46/k56mXevm78VEPT8iKFkbgYXaBOX/ilHpubEfTzq87x3051Q=="
},
"node_modules/@cloudscape-design/jest-preset": {
"version": "2.0.4",
@@ -682,6 +704,50 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@formatjs/ecma402-abstract": {
+ "version": "1.14.3",
+ "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz",
+ "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==",
+ "dependencies": {
+ "@formatjs/intl-localematcher": "0.2.32",
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@formatjs/fast-memoize": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.0.1.tgz",
+ "integrity": "sha512-M2GgV+qJn5WJQAYewz7q2Cdl6fobQa69S1AzSM2y0P68ZDbK5cWrJIcPCO395Of1ksftGZoOt4LYCO/j9BKBSA==",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@formatjs/icu-messageformat-parser": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.1.tgz",
+ "integrity": "sha512-knF2AkAKN4Upv4oIiKY4Wd/dLH68TNMPgV/tJMu/T6FP9aQwbv8fpj7U3lkyniPaNVxvia56Gxax8MKOjtxLSQ==",
+ "dependencies": {
+ "@formatjs/ecma402-abstract": "1.14.3",
+ "@formatjs/icu-skeleton-parser": "1.3.18",
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@formatjs/icu-skeleton-parser": {
+ "version": "1.3.18",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz",
+ "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==",
+ "dependencies": {
+ "@formatjs/ecma402-abstract": "1.14.3",
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@formatjs/intl-localematcher": {
+ "version": "0.2.32",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz",
+ "integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
"node_modules/@humanwhocodes/config-array": {
"version": "0.9.5",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
@@ -1873,22 +1939,22 @@
}
},
"node_modules/@testing-library/dom": {
- "version": "8.14.0",
- "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.14.0.tgz",
- "integrity": "sha512-m8FOdUo77iMTwVRCyzWcqxlEIk+GnopbrRI15a0EaLbpZSCinIVI4kSQzWhkShK83GogvEFJSsHF3Ws0z1vrqA==",
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.2.0.tgz",
+ "integrity": "sha512-xTEnpUKiV/bMyEsE5bT4oYA0x0Z/colMtxzUY8bKyPXBNLn/e0V4ZjBZkEhms0xE4pv9QsPfSRu9AWS4y5wGvA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.10.4",
"@babel/runtime": "^7.12.5",
- "@types/aria-query": "^4.2.0",
+ "@types/aria-query": "^5.0.1",
"aria-query": "^5.0.0",
"chalk": "^4.1.0",
"dom-accessibility-api": "^0.5.9",
- "lz-string": "^1.4.4",
+ "lz-string": "^1.5.0",
"pretty-format": "^27.0.2"
},
"engines": {
- "node": ">=12"
+ "node": ">=14"
}
},
"node_modules/@testing-library/dom/node_modules/ansi-styles": {
@@ -1971,57 +2037,27 @@
}
},
"node_modules/@testing-library/react": {
- "version": "12.1.5",
- "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz",
- "integrity": "sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.12.5",
- "@testing-library/dom": "^8.0.0",
- "@types/react-dom": "<18.0.0"
- },
- "engines": {
- "node": ">=12"
- },
- "peerDependencies": {
- "react": "<18.0.0",
- "react-dom": "<18.0.0"
- }
- },
- "node_modules/@testing-library/react-hooks": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-8.0.1.tgz",
- "integrity": "sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==",
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz",
+ "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==",
"dev": true,
"dependencies": {
"@babel/runtime": "^7.12.5",
- "react-error-boundary": "^3.1.0"
+ "@testing-library/dom": "^9.0.0",
+ "@types/react-dom": "^18.0.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=14"
},
"peerDependencies": {
- "@types/react": "^16.9.0 || ^17.0.0",
- "react": "^16.9.0 || ^17.0.0",
- "react-dom": "^16.9.0 || ^17.0.0",
- "react-test-renderer": "^16.9.0 || ^17.0.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "react-dom": {
- "optional": true
- },
- "react-test-renderer": {
- "optional": true
- }
+ "react": "^18.0.0",
+ "react-dom": "^18.0.0"
}
},
"node_modules/@testing-library/user-event": {
- "version": "14.3.0",
- "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.3.0.tgz",
- "integrity": "sha512-P02xtBBa8yMaLhK8CzJCIns8rqwnF6FxhR9zs810flHOBXUYCFjLd8Io1rQrAkQRWEmW2PGdZIEdMxf/KLsqFA==",
+ "version": "14.4.3",
+ "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.4.3.tgz",
+ "integrity": "sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==",
"dev": true,
"engines": {
"node": ">=12",
@@ -2041,9 +2077,9 @@
}
},
"node_modules/@types/aria-query": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz",
- "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz",
+ "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==",
"dev": true
},
"node_modules/@types/babel__core": {
@@ -2229,12 +2265,12 @@
}
},
"node_modules/@types/react-dom": {
- "version": "17.0.17",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.17.tgz",
- "integrity": "sha512-VjnqEmqGnasQKV0CWLevqMTXBYG9GbwuE6x3VetERLh0cq2LTptFE73MrQi2S7GkKXCf2GgwItB/melLnxfnsg==",
+ "version": "18.0.11",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz",
+ "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==",
"dev": true,
"dependencies": {
- "@types/react": "^17"
+ "@types/react": "*"
}
},
"node_modules/@types/react-redux": {
@@ -3177,9 +3213,9 @@
}
},
"node_modules/clsx": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz",
- "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz",
+ "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==",
"engines": {
"node": ">=6"
}
@@ -4984,6 +5020,17 @@
"node": ">= 0.4"
}
},
+ "node_modules/intl-messageformat": {
+ "version": "10.3.4",
+ "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.4.tgz",
+ "integrity": "sha512-/FxUIrlbPtuykSNX85CB5sp2FjLVeTmdD7TfRkVFPft2n4FgcSlAcilFytYiFAEmPHc+0PvpLCIPXeaGFzIvOg==",
+ "dependencies": {
+ "@formatjs/ecma402-abstract": "1.14.3",
+ "@formatjs/fast-memoize": "2.0.1",
+ "@formatjs/icu-messageformat-parser": "2.3.1",
+ "tslib": "^2.4.0"
+ }
+ },
"node_modules/is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@@ -7763,9 +7810,9 @@
}
},
"node_modules/lz-string": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz",
- "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz",
+ "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==",
"dev": true,
"bin": {
"lz-string": "bin/bin.js"
@@ -8552,12 +8599,11 @@
]
},
"node_modules/react": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
- "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
"dependencies": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1"
+ "loose-envify": "^1.1.0"
},
"engines": {
"node": ">=0.10.0"
@@ -8575,45 +8621,15 @@
}
},
"node_modules/react-dom": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
- "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
+ "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
"dependencies": {
"loose-envify": "^1.1.0",
- "object-assign": "^4.1.1",
- "scheduler": "^0.20.2"
- },
- "peerDependencies": {
- "react": "17.0.2"
- }
- },
- "node_modules/react-draggable": {
- "version": "4.4.5",
- "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.5.tgz",
- "integrity": "sha512-OMHzJdyJbYTZo4uQE393fHcqqPYsEtkjfMgvCHr6rejT+Ezn4OZbNyGH50vv+SunC1RMvwOTSWkEODQLzw1M9g==",
- "dependencies": {
- "clsx": "^1.1.1",
- "prop-types": "^15.8.1"
- },
- "peerDependencies": {
- "react": ">= 16.3.0",
- "react-dom": ">= 16.3.0"
- }
- },
- "node_modules/react-error-boundary": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz",
- "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.12.5"
- },
- "engines": {
- "node": ">=10",
- "npm": ">=6"
+ "scheduler": "^0.23.0"
},
"peerDependencies": {
- "react": ">=16.13.1"
+ "react": "^18.2.0"
}
},
"node_modules/react-focus-lock": {
@@ -8723,19 +8739,6 @@
}
}
},
- "node_modules/react-resizable": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/react-resizable/-/react-resizable-1.11.1.tgz",
- "integrity": "sha512-S70gbLaAYqjuAd49utRHibtHLrHXInh7GuOR+6OO6RO6uleQfuBnWmZjRABfqNEx3C3Z6VPLg0/0uOYFrkfu9Q==",
- "dependencies": {
- "prop-types": "15.x",
- "react-draggable": "^4.0.3"
- },
- "peerDependencies": {
- "react": "0.14.x || 15.x || 16.x || 17.x",
- "react-dom": "0.14.x || 15.x || 16.x || 17.x"
- }
- },
"node_modules/react-router": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz",
@@ -8761,9 +8764,9 @@
}
},
"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==",
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz",
+ "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==",
"dependencies": {
"@babel/runtime": "^7.5.5",
"dom-helpers": "^5.0.1",
@@ -8775,20 +8778,6 @@
"react-dom": ">=16.6.0"
}
},
- "node_modules/react-virtual": {
- "version": "2.10.4",
- "resolved": "https://registry.npmjs.org/react-virtual/-/react-virtual-2.10.4.tgz",
- "integrity": "sha512-Ir6+oPQZTVHfa6+JL9M7cvMILstFZH/H3jqeYeKI4MSUX+rIruVwFC6nGVXw9wqAw8L0Kg2KvfXxI85OvYQdpQ==",
- "funding": [
- "https://github.com/sponsors/tannerlinsley"
- ],
- "dependencies": {
- "@reach/observe-rect": "^1.1.0"
- },
- "peerDependencies": {
- "react": "^16.6.3 || ^17.0.0"
- }
- },
"node_modules/redux": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/redux/-/redux-4.2.0.tgz",
@@ -9001,12 +8990,11 @@
}
},
"node_modules/scheduler": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
- "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
+ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
"dependencies": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1"
+ "loose-envify": "^1.1.0"
}
},
"node_modules/semver": {
@@ -10374,12 +10362,21 @@
"integrity": "sha512-/zGq2iF9fpGEytMbKdxOTKwnCTHz8FeC0L05NhfMRNkEfdZ4uQsP8L6b6U0XZ+2rvRmxCoHYMNZo9Aa2rYNS0g==",
"requires": {}
},
+ "@cloudscape-design/component-toolkit": {
+ "version": "1.0.0-beta.11",
+ "resolved": "https://registry.npmjs.org/@cloudscape-design/component-toolkit/-/component-toolkit-1.0.0-beta.11.tgz",
+ "integrity": "sha512-cujRCr01KIxPT+jS2F3O5Hm9M9dYQVZpD5YWI5QDpY/7xoW3BiDSAqzFfAGkcij1ueMupN2ev1AVMrC1VxZzww==",
+ "requires": {
+ "@juggle/resize-observer": "^3.3.1"
+ }
+ },
"@cloudscape-design/components": {
- "version": "3.0.158",
- "resolved": "https://registry.npmjs.org/@cloudscape-design/components/-/components-3.0.158.tgz",
- "integrity": "sha512-y2IS8u5hIs4l6g3SmJptndTdB/TSgHjsLYSQd2iblIQ/J0/GwdpSFJ7oEUEwTK7WZJniIiE2aeBJgxjPylinXg==",
+ "version": "3.0.248",
+ "resolved": "https://registry.npmjs.org/@cloudscape-design/components/-/components-3.0.248.tgz",
+ "integrity": "sha512-N+3QyMwcykingUE+9DxYESzrr1iHbh8KRfhDEjcZ1iPK+vf2H1bqnXvohsRW2FTWoLGk49wzqhjCz0Mzl6Y0MA==",
"requires": {
"@cloudscape-design/collection-hooks": "^1.0.0",
+ "@cloudscape-design/component-toolkit": "^1.0.0-beta",
"@cloudscape-design/test-utils-core": "^1.0.0",
"@cloudscape-design/theming-runtime": "^1.0.0",
"@juggle/resize-observer": "^3.3.1",
@@ -10388,25 +10385,35 @@
"clsx": "^1.1.0",
"d3-shape": "^1.3.7",
"date-fns": "^2.25.0",
+ "intl-messageformat": "^10.3.1",
"mnth": "^2.0.0",
"react-focus-lock": "~2.8.1",
"react-keyed-flatten-children": "^1.3.0",
- "react-resizable": "^1.11.1",
"react-transition-group": "^4.4.2",
"react-virtual": "^2.8.2",
"tslib": "^2.4.0",
"weekstart": "^1.1.0"
+ },
+ "dependencies": {
+ "react-virtual": {
+ "version": "2.10.4",
+ "resolved": "https://registry.npmjs.org/react-virtual/-/react-virtual-2.10.4.tgz",
+ "integrity": "sha512-Ir6+oPQZTVHfa6+JL9M7cvMILstFZH/H3jqeYeKI4MSUX+rIruVwFC6nGVXw9wqAw8L0Kg2KvfXxI85OvYQdpQ==",
+ "requires": {
+ "@reach/observe-rect": "^1.1.0"
+ }
+ }
}
},
"@cloudscape-design/design-tokens": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/@cloudscape-design/design-tokens/-/design-tokens-3.0.9.tgz",
- "integrity": "sha512-7j9OTWg/yQaOoPUqMAN6VnzxfHKD2lCiyW9xW+gblvLlvgOJPMPgZsHKsUE9v14tAtMOZXkIXfoZ1jWH0onotQ=="
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@cloudscape-design/design-tokens/-/design-tokens-3.0.11.tgz",
+ "integrity": "sha512-AmKFpZwm9qR4+6CPppZwqLpajuyIjBakGhTQ39sgw9OhB2aKeOKA9tGabikayPb4Pc4OiMDpGAGYEw+L5iR66g=="
},
"@cloudscape-design/global-styles": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@cloudscape-design/global-styles/-/global-styles-1.0.2.tgz",
- "integrity": "sha512-RSViM1/nDRjZ0HL2SfAwibpMDW+uY/yEJWhPgid8aN1q5d5l0WgS4cTuBKsUdrDgpvJA9QjLCTn4NVOlhh9n7Q=="
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@cloudscape-design/global-styles/-/global-styles-1.0.8.tgz",
+ "integrity": "sha512-C64XiUuxuohkh10JjzpBFwQ9piTCERRLsD2E46/k56mXevm78VEPT8iKFkbgYXaBOX/ilHpubEfTzq87x3051Q=="
},
"@cloudscape-design/jest-preset": {
"version": "2.0.4",
@@ -10462,6 +10469,50 @@
}
}
},
+ "@formatjs/ecma402-abstract": {
+ "version": "1.14.3",
+ "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz",
+ "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==",
+ "requires": {
+ "@formatjs/intl-localematcher": "0.2.32",
+ "tslib": "^2.4.0"
+ }
+ },
+ "@formatjs/fast-memoize": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.0.1.tgz",
+ "integrity": "sha512-M2GgV+qJn5WJQAYewz7q2Cdl6fobQa69S1AzSM2y0P68ZDbK5cWrJIcPCO395Of1ksftGZoOt4LYCO/j9BKBSA==",
+ "requires": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "@formatjs/icu-messageformat-parser": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.1.tgz",
+ "integrity": "sha512-knF2AkAKN4Upv4oIiKY4Wd/dLH68TNMPgV/tJMu/T6FP9aQwbv8fpj7U3lkyniPaNVxvia56Gxax8MKOjtxLSQ==",
+ "requires": {
+ "@formatjs/ecma402-abstract": "1.14.3",
+ "@formatjs/icu-skeleton-parser": "1.3.18",
+ "tslib": "^2.4.0"
+ }
+ },
+ "@formatjs/icu-skeleton-parser": {
+ "version": "1.3.18",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz",
+ "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==",
+ "requires": {
+ "@formatjs/ecma402-abstract": "1.14.3",
+ "tslib": "^2.4.0"
+ }
+ },
+ "@formatjs/intl-localematcher": {
+ "version": "0.2.32",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz",
+ "integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==",
+ "requires": {
+ "tslib": "^2.4.0"
+ }
+ },
"@humanwhocodes/config-array": {
"version": "0.9.5",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
@@ -11308,18 +11359,18 @@
}
},
"@testing-library/dom": {
- "version": "8.14.0",
- "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.14.0.tgz",
- "integrity": "sha512-m8FOdUo77iMTwVRCyzWcqxlEIk+GnopbrRI15a0EaLbpZSCinIVI4kSQzWhkShK83GogvEFJSsHF3Ws0z1vrqA==",
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.2.0.tgz",
+ "integrity": "sha512-xTEnpUKiV/bMyEsE5bT4oYA0x0Z/colMtxzUY8bKyPXBNLn/e0V4ZjBZkEhms0xE4pv9QsPfSRu9AWS4y5wGvA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
"@babel/runtime": "^7.12.5",
- "@types/aria-query": "^4.2.0",
+ "@types/aria-query": "^5.0.1",
"aria-query": "^5.0.0",
"chalk": "^4.1.0",
"dom-accessibility-api": "^0.5.9",
- "lz-string": "^1.4.4",
+ "lz-string": "^1.5.0",
"pretty-format": "^27.0.2"
},
"dependencies": {
@@ -11381,30 +11432,20 @@
}
},
"@testing-library/react": {
- "version": "12.1.5",
- "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz",
- "integrity": "sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.12.5",
- "@testing-library/dom": "^8.0.0",
- "@types/react-dom": "<18.0.0"
- }
- },
- "@testing-library/react-hooks": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-8.0.1.tgz",
- "integrity": "sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==",
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz",
+ "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==",
"dev": true,
"requires": {
"@babel/runtime": "^7.12.5",
- "react-error-boundary": "^3.1.0"
+ "@testing-library/dom": "^9.0.0",
+ "@types/react-dom": "^18.0.0"
}
},
"@testing-library/user-event": {
- "version": "14.3.0",
- "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.3.0.tgz",
- "integrity": "sha512-P02xtBBa8yMaLhK8CzJCIns8rqwnF6FxhR9zs810flHOBXUYCFjLd8Io1rQrAkQRWEmW2PGdZIEdMxf/KLsqFA==",
+ "version": "14.4.3",
+ "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.4.3.tgz",
+ "integrity": "sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==",
"dev": true,
"requires": {}
},
@@ -11415,9 +11456,9 @@
"dev": true
},
"@types/aria-query": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz",
- "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz",
+ "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==",
"dev": true
},
"@types/babel__core": {
@@ -11596,12 +11637,12 @@
}
},
"@types/react-dom": {
- "version": "17.0.17",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.17.tgz",
- "integrity": "sha512-VjnqEmqGnasQKV0CWLevqMTXBYG9GbwuE6x3VetERLh0cq2LTptFE73MrQi2S7GkKXCf2GgwItB/melLnxfnsg==",
+ "version": "18.0.11",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz",
+ "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==",
"dev": true,
"requires": {
- "@types/react": "^17"
+ "@types/react": "*"
}
},
"@types/react-redux": {
@@ -12284,9 +12325,9 @@
}
},
"clsx": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz",
- "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA=="
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz",
+ "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg=="
},
"co": {
"version": "4.6.0",
@@ -13642,6 +13683,17 @@
"side-channel": "^1.0.4"
}
},
+ "intl-messageformat": {
+ "version": "10.3.4",
+ "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.4.tgz",
+ "integrity": "sha512-/FxUIrlbPtuykSNX85CB5sp2FjLVeTmdD7TfRkVFPft2n4FgcSlAcilFytYiFAEmPHc+0PvpLCIPXeaGFzIvOg==",
+ "requires": {
+ "@formatjs/ecma402-abstract": "1.14.3",
+ "@formatjs/fast-memoize": "2.0.1",
+ "@formatjs/icu-messageformat-parser": "2.3.1",
+ "tslib": "^2.4.0"
+ }
+ },
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@@ -15690,9 +15742,9 @@
}
},
"lz-string": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz",
- "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz",
+ "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==",
"dev": true
},
"make-dir": {
@@ -16254,12 +16306,11 @@
"dev": true
},
"react": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
- "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
"requires": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1"
+ "loose-envify": "^1.1.0"
}
},
"react-clientside-effect": {
@@ -16271,31 +16322,12 @@
}
},
"react-dom": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
- "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
+ "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
"requires": {
"loose-envify": "^1.1.0",
- "object-assign": "^4.1.1",
- "scheduler": "^0.20.2"
- }
- },
- "react-draggable": {
- "version": "4.4.5",
- "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.5.tgz",
- "integrity": "sha512-OMHzJdyJbYTZo4uQE393fHcqqPYsEtkjfMgvCHr6rejT+Ezn4OZbNyGH50vv+SunC1RMvwOTSWkEODQLzw1M9g==",
- "requires": {
- "clsx": "^1.1.1",
- "prop-types": "^15.8.1"
- }
- },
- "react-error-boundary": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz",
- "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.12.5"
+ "scheduler": "^0.23.0"
}
},
"react-focus-lock": {
@@ -16363,15 +16395,6 @@
"react-is": "^17.0.2"
}
},
- "react-resizable": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/react-resizable/-/react-resizable-1.11.1.tgz",
- "integrity": "sha512-S70gbLaAYqjuAd49utRHibtHLrHXInh7GuOR+6OO6RO6uleQfuBnWmZjRABfqNEx3C3Z6VPLg0/0uOYFrkfu9Q==",
- "requires": {
- "prop-types": "15.x",
- "react-draggable": "^4.0.3"
- }
- },
"react-router": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz",
@@ -16390,9 +16413,9 @@
}
},
"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==",
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz",
+ "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==",
"requires": {
"@babel/runtime": "^7.5.5",
"dom-helpers": "^5.0.1",
@@ -16400,14 +16423,6 @@
"prop-types": "^15.6.2"
}
},
- "react-virtual": {
- "version": "2.10.4",
- "resolved": "https://registry.npmjs.org/react-virtual/-/react-virtual-2.10.4.tgz",
- "integrity": "sha512-Ir6+oPQZTVHfa6+JL9M7cvMILstFZH/H3jqeYeKI4MSUX+rIruVwFC6nGVXw9wqAw8L0Kg2KvfXxI85OvYQdpQ==",
- "requires": {
- "@reach/observe-rect": "^1.1.0"
- }
- },
"redux": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/redux/-/redux-4.2.0.tgz",
@@ -16560,12 +16575,11 @@
}
},
"scheduler": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
- "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
+ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
"requires": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1"
+ "loose-envify": "^1.1.0"
}
},
"semver": {
diff --git a/frontend/package.json b/frontend/package.json
index 43f91e58..1b90bacd 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -4,9 +4,9 @@
"private": true,
"homepage": "/",
"dependencies": {
- "@cloudscape-design/components": "^3.0.118",
- "@cloudscape-design/design-tokens": "^3.0.9",
- "@cloudscape-design/global-styles": "^1.0.2",
+ "@cloudscape-design/components": "^3.0.248",
+ "@cloudscape-design/design-tokens": "^3.0.11",
+ "@cloudscape-design/global-styles": "^1.0.8",
"@reduxjs/toolkit": "^1.6.1",
"axios": "^0.21.4",
"i18next": "^21.8.13",
@@ -14,8 +14,8 @@
"lodash": "^4.17.21",
"next": "^12.2.0",
"next-transpile-modules": "^9.0.0",
- "react": "^17.0.2",
- "react-dom": "^17.0.2",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
"react-i18next": "^11.18.0",
"react-query": "^3.39.1",
"react-redux": "^7.2.5",
@@ -47,9 +47,8 @@
},
"devDependencies": {
"@cloudscape-design/jest-preset": "^2.0.4",
- "@testing-library/react": "^12.1.5",
- "@testing-library/react-hooks": "^8.0.1",
- "@testing-library/user-event": "^14.3.0",
+ "@testing-library/react": "^14.0.0",
+ "@testing-library/user-event": "^14.4.3",
"@types/jest": "^28.1.4",
"@types/lodash": "^4.14.182",
"@types/node": "^18.0.0",
diff --git a/frontend/src/components/__tests__/useClusterPoll.test.tsx b/frontend/src/components/__tests__/useClusterPoll.test.tsx
index 2a54568e..ca4e11ff 100644
--- a/frontend/src/components/__tests__/useClusterPoll.test.tsx
+++ b/frontend/src/components/__tests__/useClusterPoll.test.tsx
@@ -1,4 +1,4 @@
-import {renderHook} from '@testing-library/react-hooks'
+import {renderHook} from '@testing-library/react'
import {useClusterPoll} from '../useClusterPoll'
jest.mock('../../model', () => ({
diff --git a/frontend/src/components/__tests__/useLoadingState.test.tsx b/frontend/src/components/__tests__/useLoadingState.test.tsx
index 249a0f02..01183b78 100644
--- a/frontend/src/components/__tests__/useLoadingState.test.tsx
+++ b/frontend/src/components/__tests__/useLoadingState.test.tsx
@@ -1,4 +1,4 @@
-import {renderHook} from '@testing-library/react-hooks'
+import {renderHook, waitFor} from '@testing-library/react'
import {useLoadingState} from '../useLoadingState'
import {Box} from '@cloudscape-design/components'
import React from 'react'
@@ -44,9 +44,9 @@ jest.mock('../../model', () => {
})
function expectDataToBeRequested() {
- expect(mockGetAppConfig).toHaveBeenCalledTimes(1)
- expect(mockGetIdentity).toHaveBeenCalledTimes(1)
- expect(mockGetVersion).toHaveBeenCalledTimes(1)
+ waitFor(() => expect(mockGetAppConfig).toHaveBeenCalledTimes(1))
+ waitFor(() => expect(mockGetIdentity).toHaveBeenCalledTimes(1))
+ waitFor(() => expect(mockGetVersion).toHaveBeenCalledTimes(1))
}
function expectDataNotToBeRequested() {
@@ -114,12 +114,7 @@ describe('given a hook to load all the data necessary for the app to boot', () =
})
it('should request the data', async () => {
- const {waitForNextUpdate} = renderHook(
- () => useLoadingState(),
- {wrapper},
- )
-
- await waitForNextUpdate()
+ renderHook(() => useLoadingState(), {wrapper})
expectDataToBeRequested()
})
@@ -139,12 +134,7 @@ describe('given a hook to load all the data necessary for the app to boot', () =
})
it('should request the data', async () => {
- const {waitForNextUpdate} = renderHook(
- () => useLoadingState(),
- {wrapper},
- )
-
- await waitForNextUpdate()
+ renderHook(() => useLoadingState(), {wrapper})
expectDataToBeRequested()
})
@@ -166,12 +156,7 @@ describe('given a hook to load all the data necessary for the app to boot', () =
})
it('should request the data', async () => {
- const {waitForNextUpdate} = renderHook(
- () => useLoadingState(),
- {wrapper},
- )
-
- await waitForNextUpdate()
+ renderHook(() => useLoadingState(), {wrapper})
expectDataToBeRequested()
})
@@ -259,10 +244,9 @@ describe('given a hook to load all the data necessary for the app to boot', () =
done()
})
- const {waitForNextUpdate} = renderHook(() => useLoadingState(<>>), {
+ renderHook(() => useLoadingState(<>>), {
wrapper,
})
- waitForNextUpdate()
})
})
})
diff --git a/frontend/src/feature-flags/__tests__/useFeatureFlag.test.ts b/frontend/src/feature-flags/__tests__/useFeatureFlag.test.ts
index 3f2e76ff..1125d309 100644
--- a/frontend/src/feature-flags/__tests__/useFeatureFlag.test.ts
+++ b/frontend/src/feature-flags/__tests__/useFeatureFlag.test.ts
@@ -8,7 +8,7 @@
// OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and
// limitations under the License.
-import {renderHook} from '@testing-library/react-hooks'
+import {renderHook} from '@testing-library/react'
import {useFeatureFlag} from '../useFeatureFlag'
const mockUseState = jest.fn()
diff --git a/frontend/src/old-pages/Clusters/FromClusterModal/__tests__/useClustersToCopyFrom.test.tsx b/frontend/src/old-pages/Clusters/FromClusterModal/__tests__/useClustersToCopyFrom.test.tsx
index a6065232..fd5b46dc 100644
--- a/frontend/src/old-pages/Clusters/FromClusterModal/__tests__/useClustersToCopyFrom.test.tsx
+++ b/frontend/src/old-pages/Clusters/FromClusterModal/__tests__/useClustersToCopyFrom.test.tsx
@@ -10,7 +10,7 @@
// limitations under the License.
import {Store} from '@reduxjs/toolkit'
-import {renderHook} from '@testing-library/react-hooks'
+import {renderHook} from '@testing-library/react'
import {mock} from 'jest-mock-extended'
import {PropsWithChildren} from 'react'
import {Provider} from 'react-redux'
diff --git a/frontend/src/old-pages/Configure/Create.tsx b/frontend/src/old-pages/Configure/Create.tsx
index 4a55a965..2d9b3c7e 100644
--- a/frontend/src/old-pages/Configure/Create.tsx
+++ b/frontend/src/old-pages/Configure/Create.tsx
@@ -38,7 +38,6 @@ import {setState, getState, useState} from '../../store'
import {NavigateFunction} from 'react-router-dom'
import TitleDescriptionHelpPanel from '../../components/help-panel/TitleDescriptionHelpPanel'
import {useHelpPanel} from '../../components/help-panel/HelpPanel'
-import {StackedFlashbarProps} from '@cloudscape-design/components/flashbar/interfaces'
import {errorsToFlashbarItems} from './errorsToFlashbarItems'
// Constants
@@ -209,7 +208,7 @@ function Create() {
FlashbarProps.MessageDefinition[]
>([])
- const flashbarProps: StackedFlashbarProps = {
+ const flashbarProps: FlashbarProps = {
stackItems: true,
items: flashbarItems,
}
diff --git a/frontend/src/old-pages/Configure/__tests__/dynamicFS.test.tsx b/frontend/src/old-pages/Configure/__tests__/dynamicFS.test.tsx
index 2bbc4fdf..ebfeca84 100644
--- a/frontend/src/old-pages/Configure/__tests__/dynamicFS.test.tsx
+++ b/frontend/src/old-pages/Configure/__tests__/dynamicFS.test.tsx
@@ -1,5 +1,5 @@
import {Store} from '@reduxjs/toolkit'
-import {renderHook} from '@testing-library/react-hooks'
+import {renderHook} from '@testing-library/react'
import {mock} from 'jest-mock-extended'
import {Provider} from 'react-redux'
import {useDynamicStorage} from '../Storage'
diff --git a/frontend/src/old-pages/Configure/__tests__/useWizardNavigation.test.tsx b/frontend/src/old-pages/Configure/__tests__/useWizardNavigation.test.tsx
index 636f4363..3e5d6e8a 100644
--- a/frontend/src/old-pages/Configure/__tests__/useWizardNavigation.test.tsx
+++ b/frontend/src/old-pages/Configure/__tests__/useWizardNavigation.test.tsx
@@ -1,5 +1,5 @@
import {Store} from '@reduxjs/toolkit'
-import {renderHook} from '@testing-library/react-hooks'
+import {renderHook} from '@testing-library/react'
import {mock} from 'jest-mock-extended'
import {Provider} from 'react-redux'
import {useWizardNavigation} from '../useWizardNavigation'
diff --git a/frontend/src/old-pages/Logs/__tests__/LogStreamsTable.test.tsx b/frontend/src/old-pages/Logs/__tests__/LogStreamsTable.test.tsx
index 75119d83..2334a651 100644
--- a/frontend/src/old-pages/Logs/__tests__/LogStreamsTable.test.tsx
+++ b/frontend/src/old-pages/Logs/__tests__/LogStreamsTable.test.tsx
@@ -10,7 +10,7 @@
// limitations under the License.
import {Store} from '@reduxjs/toolkit'
-import {render, RenderResult} from '@testing-library/react'
+import {render, RenderResult, waitFor} from '@testing-library/react'
import userEvent from '@testing-library/user-event'
import {mock} from 'jest-mock-extended'
import {I18nextProvider, initReactI18next} from 'react-i18next'
@@ -142,7 +142,7 @@ describe('given a component to show the log streams list and a cluster name', ()
describe('when the user selects a log stream', () => {
it('should call the selection handler with the selected log stream name', async () => {
- await userEvent.click(screen.getByRole('radio'))
+ await waitFor(() => userEvent.click(screen.getByRole('radio')))
expect(mockOnLogStreamSelect).toHaveBeenCalledTimes(1)
expect(mockOnLogStreamSelect).toHaveBeenCalledWith(
'hostname.instanceId.logIdentifier',