diff --git a/package-lock.json b/package-lock.json
index 7caa230..befbf0b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -40,7 +40,6 @@
"prettier": "^2.4.1",
"react": "^16.14.0",
"react-dom": "^16.14.0",
- "react-router-dom": "^6.30.4",
"sass": "^1.77.6",
"ts-jest": "^29.1.5",
"typescript": "^5.4.5",
@@ -1254,6 +1253,106 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@cloudscape-design/browser-test-tools": {
+ "version": "3.0.143",
+ "resolved": "https://registry.npmjs.org/@cloudscape-design/browser-test-tools/-/browser-test-tools-3.0.143.tgz",
+ "integrity": "sha512-L5L+lw5R8/QcMORItsXZao/IAFgBH/tlgx2shE3C3RuD9Zgx1ULuFC1V1p4Z6oVMgkVSfw/Vpo2a9PSDpBMUsA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/client-device-farm": "^3.996.0",
+ "@types/pngjs": "^6.0.4",
+ "@wdio/globals": "^9.23.0",
+ "@wdio/types": "^9.24.0",
+ "get-stream": "^6.0.1",
+ "lodash": "^4.18.1",
+ "p-retry": "^4.6.2",
+ "pixelmatch": "^5.3.0",
+ "pngjs": "^6.0.0",
+ "wait-on": "^8.0.5",
+ "webdriverio": "^9.28.0"
+ }
+ },
+ "node_modules/@cloudscape-design/build-tools": {
+ "version": "3.0.0",
+ "resolved": "git+ssh://git@github.com/cloudscape-design/build-tools.git#e5adde61e22b2cd8a0c206ee7305ea4e53f15ace",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "lodash": "^4.18.1",
+ "minimatch": "^10.2.4",
+ "query-string": "^9.4.1"
+ },
+ "bin": {
+ "prepare-package-lock": "lib/scripts/prepare-package-lock.js"
+ },
+ "peerDependencies": {
+ "react": ">=16.14.0",
+ "stylelint": "^16.8.1"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "stylelint": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@cloudscape-design/build-tools/node_modules/balanced-match": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "18 || 20 || >=22"
+ }
+ },
+ "node_modules/@cloudscape-design/build-tools/node_modules/brace-expansion": {
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz",
+ "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^4.0.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ }
+ },
+ "node_modules/@cloudscape-design/build-tools/node_modules/minimatch": {
+ "version": "10.2.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz",
+ "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "brace-expansion": "^5.0.8"
+ },
+ "engines": {
+ "node": "18 || 20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@cloudscape-design/jest-preset": {
+ "version": "2.0.62",
+ "resolved": "https://registry.npmjs.org/@cloudscape-design/jest-preset/-/jest-preset-2.0.62.tgz",
+ "integrity": "sha512-/70LygVEXNu3l/B7MXXV5zve06+zBskxni7wMgW+YmTMwcNYdhm1B6gqSnJHlusZ/i4RDvXVWZqxCYtHnHJUdw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/plugin-transform-modules-commonjs": "^7.9.0",
+ "lodash": "^4.18.1"
+ },
+ "peerDependencies": {
+ "babel-jest": ">=24",
+ "jest": ">=24"
+ }
+ },
"node_modules/@csstools/color-helpers": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz",
@@ -3389,16 +3488,6 @@
"spacetrim": "0.11.59"
}
},
- "node_modules/@remix-run/router": {
- "version": "1.23.3",
- "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.3.tgz",
- "integrity": "sha512-4An71tdz9X8+3sI4Qqqd2LWd9vS39J7sqd9EU4Scw7TJE/qB10Flv/UuqbPVgfQV9XoK8Np6jNquZitnZq5i+Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.0.0"
- }
- },
"node_modules/@rolldown/binding-android-arm64": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.3.tgz",
@@ -5246,18 +5335,6 @@
}
}
},
- "node_modules/@wdio/utils/node_modules/agent-base": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-9.0.0.tgz",
- "integrity": "sha512-TQf59BsZnytt8GdJKLPfUZ54g/iaUL2OWDSFCCvMOhsHduDQxO8xC4PNeyIkVcA5KwL2phPSv0douC0fgWzmnA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">= 20"
- }
- },
"node_modules/@wdio/utils/node_modules/ansi-styles": {
"version": "6.2.3",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
@@ -5304,38 +5381,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@wdio/utils/node_modules/data-uri-to-buffer": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-8.0.0.tgz",
- "integrity": "sha512-6UHfyCux51b8PTGDgveqtz1tvphBku5DrMKKJbFAZAJOI2zsjDpDoYE1+QGj7FOMS4BdTFNJsJiR3zEB0xH0yQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@wdio/utils/node_modules/degenerator": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-7.0.1.tgz",
- "integrity": "sha512-ABErK0IefDSyHjlPH7WUEenIAX2rPPnrDcDM+TS3z3+zu9TfyKKi07BQM+8rmxpdE2y1v5fjjdoAS/x4D2U60w==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "ast-types": "^0.13.4",
- "escodegen": "^2.1.0",
- "esprima": "^4.0.1"
- },
- "engines": {
- "node": ">= 20"
- },
- "peerDependencies": {
- "quickjs-wasi": "^2.2.0"
- }
- },
"node_modules/@wdio/utils/node_modules/emoji-regex": {
"version": "10.6.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
@@ -5343,69 +5388,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@wdio/utils/node_modules/get-uri": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-8.0.1.tgz",
- "integrity": "sha512-/5N/P4Lrh0p/mDwlDRi7Y1+P2o/OyzZI3l6Iz1Ov6XXwwm1y3RlZLuo3gVgML99djrEDtV980bBxSuOeHLk8ww==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "basic-ftp": "^5.3.1",
- "data-uri-to-buffer": "8.0.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@wdio/utils/node_modules/http-proxy-agent": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-9.1.0.tgz",
- "integrity": "sha512-2NxoveTT58mjYT4n3RPTEfCZGLMbidoO8XEieXfpSYxu+PQJ1qpx4ypwH6N+uF9twBPIvRRgvkvW5HUTYWENig==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "agent-base": "9.0.0",
- "debug": "^4.3.4",
- "proxy-agent-negotiate": "1.1.0"
- },
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@wdio/utils/node_modules/https-proxy-agent": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-9.1.0.tgz",
- "integrity": "sha512-ag87y7cJJ9/3+GxFr8Oy4O5faDsGRGnBGsJj/YjOSsSx/5eadKLYTMPlzuR6obgoCDDm0abAAZitXXQkMOPSpA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "agent-base": "9.0.0",
- "debug": "^4.3.4",
- "proxy-agent-negotiate": "1.1.0"
- },
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@wdio/utils/node_modules/lru-cache": {
- "version": "7.18.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
- "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
- "dev": true,
- "license": "ISC",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/@wdio/utils/node_modules/modern-tar": {
"version": "0.8.4",
"resolved": "https://registry.npmjs.org/modern-tar/-/modern-tar-0.8.4.tgz",
@@ -5416,98 +5398,6 @@
"node": ">=18.0.0"
}
},
- "node_modules/@wdio/utils/node_modules/pac-proxy-agent": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-9.1.0.tgz",
- "integrity": "sha512-1aU+1mpj3DrQPfo3gh+3Gap3G5x+axnMx1P/y0ZF2ch7kb2meyOCAH8K2k9d27ROsTE7TnAerzxqF9aon2jqnA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "agent-base": "9.0.0",
- "debug": "^4.3.4",
- "get-uri": "8.0.1",
- "http-proxy-agent": "9.1.0",
- "https-proxy-agent": "9.1.0",
- "pac-resolver": "9.0.1",
- "quickjs-wasi": "^2.2.0",
- "socks-proxy-agent": "10.1.0"
- },
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@wdio/utils/node_modules/pac-resolver": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-9.0.1.tgz",
- "integrity": "sha512-lJbS008tmkj08VhoM8Hzuv/VE5tK9MS0OIQ/7+s0lIF+BYhiQWFYzkSpML7lXs9iBu2jfmzBTLzhe9n6BX+dYw==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "degenerator": "7.0.1",
- "netmask": "^2.0.2"
- },
- "engines": {
- "node": ">= 20"
- },
- "peerDependencies": {
- "quickjs-wasi": "^2.2.0"
- }
- },
- "node_modules/@wdio/utils/node_modules/proxy-agent": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-8.0.2.tgz",
- "integrity": "sha512-idLLRewuemWd7GH/BDJzGiB0dWGfT2SQs3jy6NtZtGWU9uPTTSdeC1/cdbqLwgzhfv027daGFuXX426e2Eg20A==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "agent-base": "9.0.0",
- "debug": "^4.3.4",
- "http-proxy-agent": "9.1.0",
- "https-proxy-agent": "9.1.0",
- "lru-cache": "^7.14.1",
- "pac-proxy-agent": "9.1.0",
- "proxy-from-env": "^2.0.0",
- "socks-proxy-agent": "10.1.0"
- },
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@wdio/utils/node_modules/proxy-from-env": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz",
- "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@wdio/utils/node_modules/socks-proxy-agent": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-10.1.0.tgz",
- "integrity": "sha512-WlMj/67cEJ6MDI1OcsnjuYKDNDoyPCCYZ249kuuXPiMDw9F8PXkVaQ7YWu3siTydfQ/4BEZcvGzu+aYvz7dDCQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "agent-base": "9.0.0",
- "debug": "^4.3.4",
- "socks": "^2.8.3"
- },
- "engines": {
- "node": ">= 20"
- }
- },
"node_modules/@wdio/utils/node_modules/string-width": {
"version": "8.2.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.2.tgz",
@@ -5961,21 +5851,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/ast-types": {
- "version": "0.13.4",
- "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
- "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "tslib": "^2.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/async": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
@@ -6240,18 +6115,6 @@
"node": ">=6.0.0"
}
},
- "node_modules/basic-ftp": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.3.1.tgz",
- "integrity": "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=10.0.0"
- }
- },
"node_modules/boolbase": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
@@ -7753,30 +7616,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/escodegen": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
- "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
- "dev": true,
- "license": "BSD-2-Clause",
- "optional": true,
- "peer": true,
- "dependencies": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2"
- },
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
- },
- "engines": {
- "node": ">=6.0"
- },
- "optionalDependencies": {
- "source-map": "~0.6.1"
- }
- },
"node_modules/eslint": {
"version": "8.57.1",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
@@ -8873,18 +8712,6 @@
"bser": "2.1.1"
}
},
- "node_modules/fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "pend": "~1.2.0"
- }
- },
"node_modules/file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -9788,18 +9615,6 @@
"node": ">= 0.4"
}
},
- "node_modules/ip-address": {
- "version": "10.3.1",
- "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.3.1.tgz",
- "integrity": "sha512-1e9d3kb97NHJTIJDZW9rKqW2h6+dFa50Dy0fpPSMQp2ADje5gvKsXmdiK6dwY5t76TaTt5+P5N1Y/LoToIxP6g==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">= 12"
- }
- },
"node_modules/is-array-buffer": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz",
@@ -14438,18 +14253,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/netmask": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.1.1.tgz",
- "integrity": "sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">= 0.4.0"
- }
- },
"node_modules/nice-try": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
@@ -15174,15 +14977,6 @@
"license": "MIT",
"peer": true
},
- "node_modules/pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
- },
"node_modules/picocolors": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
@@ -15453,26 +15247,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/proxy-agent-negotiate": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-agent-negotiate/-/proxy-agent-negotiate-1.1.0.tgz",
- "integrity": "sha512-N8IBcM3UgCVzz2L2Lqv8DVntDnnC8/hiV4nEDUPkqq72TPUgYWjQc+bdZlBPZK9LzPAvOY//gAt0S0DApoOXWQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">= 20"
- },
- "peerDependencies": {
- "kerberos": "^2.0.0"
- },
- "peerDependenciesMeta": {
- "kerberos": {
- "optional": true
- }
- }
- },
"node_modules/punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
@@ -15546,15 +15320,6 @@
],
"license": "MIT"
},
- "node_modules/quickjs-wasi": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/quickjs-wasi/-/quickjs-wasi-2.2.0.tgz",
- "integrity": "sha512-zQxXmQMrEoD3S+jQdYsloq4qAuaxKFHZj6hHqOYGwB2iQZH+q9e/lf5zQPXCKOk0WJuAjzRFbO4KwHIp2D05Iw==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
- },
"node_modules/react": {
"version": "16.14.0",
"resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
@@ -15611,40 +15376,6 @@
"license": "MIT",
"peer": true
},
- "node_modules/react-router": {
- "version": "6.30.4",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.4.tgz",
- "integrity": "sha512-SVUsDe+DybHM/WmYKIVYhZh1o5Dcuf16yM6WjG02Q9XVFMZIJyHYhwrr6bFBXZkVP6z69kNkMyBCujt8FaFLJA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@remix-run/router": "1.23.3"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "react": ">=16.8"
- }
- },
- "node_modules/react-router-dom": {
- "version": "6.30.4",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.4.tgz",
- "integrity": "sha512-q4HvNl+mmDdkS0g+MqiBZNteQJCuimWoOyHMy4T/RQLAn9Z29+E91QXRaxOujeMl2HTzRSS0KFPd7lxX3PjV0Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@remix-run/router": "1.23.3",
- "react-router": "6.30.4"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "react": ">=16.8",
- "react-dom": ">=16.8"
- }
- },
"node_modules/read-pkg": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
@@ -16545,36 +16276,6 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/smart-buffer": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
- "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">= 6.0.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/socks": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.9.tgz",
- "integrity": "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "ip-address": "^10.1.1",
- "smart-buffer": "^4.2.0"
- },
- "engines": {
- "node": ">= 10.0.0",
- "npm": ">= 3.0.0"
- }
- },
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -18352,24 +18053,6 @@
"dev": true,
"license": "ISC"
},
- "node_modules/yaml": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
- "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
- "dev": true,
- "license": "ISC",
- "optional": true,
- "peer": true,
- "bin": {
- "yaml": "bin.mjs"
- },
- "engines": {
- "node": ">= 14.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/eemeli"
- }
- },
"node_modules/yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
@@ -18444,31 +18127,6 @@
"node": ">=8"
}
},
- "node_modules/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
- }
- },
- "node_modules/yauzl/node_modules/buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": "*"
- }
- },
"node_modules/yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
diff --git a/package.json b/package.json
index e2e1bed..b392ffd 100644
--- a/package.json
+++ b/package.json
@@ -133,7 +133,6 @@
"prettier": "^2.4.1",
"react": "^16.14.0",
"react-dom": "^16.14.0",
- "react-router-dom": "^6.30.4",
"sass": "^1.77.6",
"ts-jest": "^29.1.5",
"typescript": "^5.4.5",
diff --git a/test-pages/src/index.tsx b/test-pages/src/index.tsx
index 75cfdda..6d75bed 100644
--- a/test-pages/src/index.tsx
+++ b/test-pages/src/index.tsx
@@ -1,36 +1,64 @@
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
-import React from 'react';
+import React, { useState, useEffect } from 'react';
import ReactDOM from 'react-dom';
-import { BrowserRouter, Routes, Route, Link } from 'react-router-dom';
import pages from './pages-index';
import './index.css';
+function getPathname() {
+ return window.location.pathname;
+}
+
+function App() {
+ const [pathname, setPathname] = useState(getPathname);
+
+ useEffect(() => {
+ function onPopState() {
+ setPathname(getPathname());
+ }
+ window.addEventListener('popstate', onPopState);
+ return () => window.removeEventListener('popstate', onPopState);
+ }, []);
+
+ function navigate(path: string) {
+ window.history.pushState(null, '', path);
+ setPathname(path);
+ }
+
+ const matched = pages.find(({ name }) => pathname === `/${name}`);
+
+ if (matched) {
+ return (
+