diff --git a/locales/data.json b/locales/data.json index 95ddb2291..d8ec70c40 100644 --- a/locales/data.json +++ b/locales/data.json @@ -3071,6 +3071,12 @@ "value": "groupBy" } ], + "detailsUnusedCapacityLabel": [ + { + "type": 0, + "value": "Unused capacity" + } + ], "detailsUnusedRequestsLabel": [ { "type": 0, @@ -3095,12 +3101,6 @@ "value": "% of capacity)" } ], - "detailsUnusedUsageLabel": [ - { - "type": 0, - "value": "Unused capacity" - } - ], "detailsUsageCapacity": [ { "type": 0, @@ -11826,6 +11826,14 @@ } ] }, + "core": { + "value": [ + { + "type": 0, + "value": "core" + } + ] + }, "core_hours": { "value": [ { @@ -11932,6 +11940,24 @@ "value": "Usage cost" } ], + "usageSubtitle": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "countUnits" + }, + { + "type": 0, + "value": " maximum" + } + ], "various": [ { "type": 0, diff --git a/locales/translations.json b/locales/translations.json index 252a7e590..edf80df01 100644 --- a/locales/translations.json +++ b/locales/translations.json @@ -213,9 +213,9 @@ "detailsMoreClusters": ", {value} more...", "detailsResourceNames": "{value, select, account {Account names} aws_category {Cost category names} cluster {Cluster names} gcp_project {GCP project names} group {Group} name {Name} node {Node names} org_unit_id {Organizational unit names} payer_tenant_id {Account names} product_service {Service names} project {Project names} region {Region names} resource_location {Region names} service {Service names} service_name {Service names} status {Status} subscription_guid {Account names} source_type {Source type} tag {Tag names} other {}}", "detailsSummaryModalTitle": "{groupBy, select, account {{name} accounts} aws_category {{name} cost categories} cluster {{name} clusters} gcp_project {{name} GCP projects} node {{name} nodes} org_unit_id {{name} organizational units} payer_tenant_id {{name} accounts} product_service {{name} services} project {{name} projects} region {{name} regions} resource_location {{name} regions} service {{name} services} service_name {{name} services} subscription_guid {{name} accounts} tag {{name} tags} other {}}", + "detailsUnusedCapacityLabel": "Unused capacity", "detailsUnusedRequestsLabel": "Unrequested capacity", "detailsUnusedUnits": "{units} ({percentage}% of capacity)", - "detailsUnusedUsageLabel": "Unused capacity", "detailsUsageCapacity": "Capacity - {value} {units}", "detailsUsageLimit": "Limit - {value} {units}", "detailsUsageRequests": "Requests - {value} {units}", @@ -543,10 +543,11 @@ "toolBarPriceListMeasurementPlaceHolder": "Filter by measurements", "toolBarPriceListMetricPlaceHolder": "Filter by metrics", "unitTooltips": "{units, select, byte_ms {{value} Byte-ms} core_hours {{value} core-hours} gb {{value} GB} gb_hours {{value} GB-hours} gb_mo {{value} GB-month} gb_ms {{value} GB-ms} gibibyte_month {{value} GiB-month} hour {{value} hours} hrs {{value} hours} ms {{value} milliseconds} vm_hours {{value} VM-hours} other {{value}}}", - "units": "{units, select, byte_ms {Byte-ms} core_hours {core-hours} gb {GB} gb_hours {GB-hours} gb_mo {GB-month} gb_ms {GB-ms} gibibyte_month {GiB-month} hour {hours} hrs {hours} ms {milliseconds} vm_hours {VM-hours} other {}}", + "units": "{units, select, byte_ms {Byte-ms} core {core} core_hours {core-hours} gb {GB} gb_hours {GB-hours} gb_mo {GB-month} gb_ms {GB-ms} gibibyte_month {GiB-month} hour {hours} hrs {hours} ms {milliseconds} vm_hours {VM-hours} other {}}", "usage": "Usage", "usageCostDesc": "The portion of cost calculated by applying hourly and/or monthly price list rates to metrics.", "usageCostTitle": "Usage cost", + "usageSubtitle": "{count} {countUnits} maximum", "various": "Various", "volumeTitle": "Volume", "workerUnallocated": "Worker unallocated", diff --git a/package-lock.json b/package-lock.json index 101212e5f..3fa9b7553 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,10 +17,10 @@ "@patternfly/react-styles": "4.92.6", "@patternfly/react-table": "4.113.0", "@patternfly/react-tokens": "4.94.6", - "@redhat-cloud-services/frontend-components": "^3.9.37", + "@redhat-cloud-services/frontend-components": "^3.11.0", "@redhat-cloud-services/frontend-components-notifications": "^3.2.14", "@redhat-cloud-services/frontend-components-translations": "^3.2.6", - "@redhat-cloud-services/frontend-components-utilities": "^3.5.1", + "@redhat-cloud-services/frontend-components-utilities": "^3.7.0", "@redhat-cloud-services/rbac-client": "^1.2.3", "@unleash/proxy-client-react": "^3.6.0", "axios": "^1.4.0", @@ -31,20 +31,20 @@ "react": "^17.0.2", "react-bootstrap": "^2.7.4", "react-dom": "^17.0.2", - "react-intl": "^6.4.2", - "react-redux": "^8.0.7", - "react-router-dom": "^6.11.2", + "react-intl": "^6.4.4", + "react-redux": "^8.1.0", + "react-router-dom": "^6.13.0", "redux": "^4.2.1", "redux-thunk": "^2.4.2", "typesafe-actions": "^5.1.0", "unleash-proxy-client": "^2.5.0", - "victory-core": "36.6.7", + "victory-core": "^36.6.11", "xstate": "^4.37.2" }, "devDependencies": { - "@formatjs/cli": "^6.1.2", + "@formatjs/cli": "^6.1.3", "@redhat-cloud-services/eslint-config-redhat-cloud-services": "^1.3.0", - "@redhat-cloud-services/frontend-components-config": "^5.0.1", + "@redhat-cloud-services/frontend-components-config": "^5.0.2", "@testing-library/react": "^12.1.5", "@testing-library/user-event": "^14.4.3", "@types/jest": "^29.5.2", @@ -53,13 +53,13 @@ "@types/react-dom": "^17.0.9", "@types/react-redux": "^7.1.25", "@types/react-router-dom": "^5.3.3", - "@typescript-eslint/eslint-plugin": "^5.59.9", - "@typescript-eslint/parser": "^5.59.9", + "@typescript-eslint/eslint-plugin": "^5.60.0", + "@typescript-eslint/parser": "^5.60.0", "@xstate/test": "^0.5.1", "aphrodite": "^2.4.0", "copy-webpack-plugin": "^11.0.0", - "eslint": "^8.41.0", - "eslint-plugin-formatjs": "^4.10.2", + "eslint": "^8.42.0", + "eslint-plugin-formatjs": "^4.10.3", "eslint-plugin-jest-dom": "^5.0.1", "eslint-plugin-jsdoc": "^46.2.6", "eslint-plugin-markdown": "^3.0.0", @@ -817,18 +817,18 @@ } }, "node_modules/@eslint/js": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", - "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", + "version": "8.42.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.42.0.tgz", + "integrity": "sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@formatjs/cli": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.1.2.tgz", - "integrity": "sha512-npYK86T/6KAGloIRsX9jKjTkm9PIchGv5cPK9sE4+/kPfml0vFmLoVFxYkHu25FV5CMf0jnvodnLOIkhH46kvQ==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.1.3.tgz", + "integrity": "sha512-PdTXZTY8LqxwmvFqdifn89gjXnPUpGtGyFs0BnoeLuOuxZFSnBfIs5WQCVMaJnr1+0vNNlXyT0VAIAwjRpf6BA==", "dev": true, "bin": { "formatjs": "bin/formatjs" @@ -846,52 +846,52 @@ } }, "node_modules/@formatjs/ecma402-abstract": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.15.0.tgz", - "integrity": "sha512-7bAYAv0w4AIao9DNg0avfOLTCPE9woAgs6SpXuMq11IN3A+l+cq8ghczwqSZBM11myvPSJA7vLn72q0rJ0QK6Q==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.0.tgz", + "integrity": "sha512-6ueQTeJZtwKjmh23bdkq/DMqH4l4bmfvtQH98blOSbiXv/OUiyijSW6jU22IT8BNM1ujCaEvJfTtyCYVH38EMQ==", "dependencies": { - "@formatjs/intl-localematcher": "0.2.32", + "@formatjs/intl-localematcher": "0.4.0", "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==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz", + "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==", "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.4.0.tgz", - "integrity": "sha512-6Dh5Z/gp4F/HovXXu/vmd0If5NbYLB5dZrmhWVNb+BOGOEU3wt7Z/83KY1dtd7IDhAnYHasbmKE1RbTE0J+3hw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.0.tgz", + "integrity": "sha512-yT6at0qc0DANw9qM/TU8RZaCtfDXtj4pZM/IC2WnVU80yAcliS3KVDiuUt4jSQAeFL9JS5bc2hARnFmjPdA6qw==", "dependencies": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/icu-skeleton-parser": "1.4.0", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/icu-skeleton-parser": "1.6.0", "tslib": "^2.4.0" } }, "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.4.0.tgz", - "integrity": "sha512-Qq347VM616rVLkvN6QsKJELazRyNlbCiN47LdH0Mc5U7E2xV0vatiVhGqd3KFgbc055BvtnUXR7XX60dCGFuWg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.0.tgz", + "integrity": "sha512-eMmxNpoX/J1IPUjPGSZwo0Wh+7CEvdEMddP2Jxg1gQJXfGfht/FdW2D5XDFj3VMbOTUQlDIdZJY7uC6O6gjPoA==", "dependencies": { - "@formatjs/ecma402-abstract": "1.15.0", + "@formatjs/ecma402-abstract": "1.17.0", "tslib": "^2.4.0" } }, "node_modules/@formatjs/intl": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.7.2.tgz", - "integrity": "sha512-ziiQfnXwY0/rXhtohSAmYMqDjRsihoMKdl8H2aA+FvxG9638E0XrvfBFCb+1HhimNiuqRz5fTY7F/bZtsJxsjA==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/fast-memoize": "2.0.1", - "@formatjs/icu-messageformat-parser": "2.4.0", - "@formatjs/intl-displaynames": "6.3.2", - "@formatjs/intl-listformat": "7.2.2", - "intl-messageformat": "10.3.5", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.9.0.tgz", + "integrity": "sha512-Ym0trUoC/VO6wQu4YHa0H1VR2tEixFRmwZgADkDLm7nD+vv1Ob+/88mUAoT0pwvirFqYKgUKEwp1tFepqyqvVA==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/fast-memoize": "2.2.0", + "@formatjs/icu-messageformat-parser": "2.6.0", + "@formatjs/intl-displaynames": "6.5.0", + "@formatjs/intl-listformat": "7.4.0", + "intl-messageformat": "10.5.0", "tslib": "^2.4.0" }, "peerDependencies": { @@ -904,40 +904,40 @@ } }, "node_modules/@formatjs/intl-displaynames": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.3.2.tgz", - "integrity": "sha512-kBOh0O7QYKLUqaZujLSEF2+au017plPp63R6Hrokl+oDtLyTt9y9pEuCTbOKh/P8CC9THnDLKRKgeVWZw5Ek8A==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.5.0.tgz", + "integrity": "sha512-sg/nR8ILEdUl+2sWu6jc1nQ5s04yucGlH1RVfatW8TSJ5uG3Yy3vgigi8NNC/BuhcncUNPWqSpTCSI1hA+rhiw==", "dependencies": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/intl-localematcher": "0.2.32", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/intl-localematcher": "0.4.0", "tslib": "^2.4.0" } }, "node_modules/@formatjs/intl-listformat": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.2.2.tgz", - "integrity": "sha512-YIruRGwUrmgVOXjWi6VbwPcRNBkEfgK2DFjyyqopCmpfJ+39vnl46oLpVchErnuXs6kkARy5GcGaGV7xRsH4lw==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.4.0.tgz", + "integrity": "sha512-ifupb+balZUAF/Oh3QyGRqPRWGSKwWoMPR0cYZEG7r61SimD+m38oFQqVx/3Fp7LfQFF11m7IS+MlxOo2sKINA==", "dependencies": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/intl-localematcher": "0.2.32", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/intl-localematcher": "0.4.0", "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==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.0.tgz", + "integrity": "sha512-bRTd+rKomvfdS4QDlVJ6TA/Jx1F2h/TBVO5LjvhQ7QPPHp19oPNMIum7W2CMEReq/zPxpmCeB31F9+5gl/qtvw==", "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@formatjs/ts-transformer": { - "version": "3.13.2", - "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.13.2.tgz", - "integrity": "sha512-d1Q+ZgIPQfXxAVZrZ+bmdGGibzz8T83mrPMftWwAMc2bcFjdKpA79b9/pZNhaEW5ZCtXkLhuadgDEoa4ZNxNEA==", + "version": "3.13.3", + "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.13.3.tgz", + "integrity": "sha512-W6+huH4dLYx8eZfZue6fcreNzLZHoPboreqJSkickYCKIOicI35zC0Txb4xCT6kau/DXAKTpNEln3V2NgX6Igg==", "dev": true, "dependencies": { - "@formatjs/icu-messageformat-parser": "2.5.0", + "@formatjs/icu-messageformat-parser": "2.6.0", "@types/json-stable-stringify": "^1.0.32", "@types/node": "14 || 16 || 17", "chalk": "^4.0.0", @@ -954,46 +954,6 @@ } } }, - "node_modules/@formatjs/ts-transformer/node_modules/@formatjs/ecma402-abstract": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.16.0.tgz", - "integrity": "sha512-qIH2cmG/oHGrVdApbqDf6/YR+B2A4NdkBjKLeq369OMVkqMFsC5oPSP1xpiyL1cAn+PbNEZHxwOVMYD/C76c6g==", - "dev": true, - "dependencies": { - "@formatjs/intl-localematcher": "0.3.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@formatjs/ts-transformer/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.5.0.tgz", - "integrity": "sha512-8AwKRkVIZzVlvZwio1TcLVvUbJw0up1joa8//JIxKVeflqKiZwfzCGAelZt/4hHCEQf9NECose//nODnmBEkNQ==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.16.0", - "@formatjs/icu-skeleton-parser": "1.5.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@formatjs/ts-transformer/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.5.0.tgz", - "integrity": "sha512-R/wOg/hxh3JWNB4LHYfNtIe8PC39mkzplh6gtrqCY33EqYeUFEGOYTWJrkXNcoRXlZWQtfrH6REch5r57tAyMQ==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.16.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@formatjs/ts-transformer/node_modules/@formatjs/intl-localematcher": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.3.0.tgz", - "integrity": "sha512-NFoxXX3dtZ6B53NlCErq181NxN/noMZOWKHfcEPQRNfV0a19THxyjxu2RTSNS3532wGm6fOdid5qsBQWg0Rhtw==", - "dev": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, "node_modules/@formatjs/ts-transformer/node_modules/@types/node": { "version": "17.0.45", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", @@ -1071,9 +1031,9 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -2371,9 +2331,9 @@ } }, "node_modules/@redhat-cloud-services/frontend-components": { - "version": "3.9.37", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components/-/frontend-components-3.9.37.tgz", - "integrity": "sha512-5r/upwYAeK6SgB0Yx4sYaA1WKW6/obp+trLQJW54xedVeklEzap7u0pymPnJfshMPFQPnQVWgzNYkEaDTtAuTA==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components/-/frontend-components-3.11.0.tgz", + "integrity": "sha512-fcISIg1IH7+8soKQ8kbdsznYWpRo7fGQEHUKsgsA3aGRj2lKHAHqqLHASPGqGKRX0hzX+hgLcB2jk8k7cF0vPA==", "dependencies": { "@redhat-cloud-services/frontend-components-utilities": "^3.2.25", "@redhat-cloud-services/types": "^0.0.24", @@ -2396,9 +2356,9 @@ } }, "node_modules/@redhat-cloud-services/frontend-components-config": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-config/-/frontend-components-config-5.0.1.tgz", - "integrity": "sha512-PTP8P1yTqB490jFwkBXcUAlTvaJOAacX3flf1CX6TPuQbtErETRrSn6i9RNQkDkDNN4cu/ZRzEjdwOGH7LaOPg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-config/-/frontend-components-config-5.0.2.tgz", + "integrity": "sha512-tbD5pELEX0Dk3vJoAfKdpYgoAHRL24PeGRLIBV0CaE1JD/zF3rbPYxy8Ukox/Z9aekZ+WGgwQ0rFn43T4Csk1A==", "dev": true, "dependencies": { "@pmmmwh/react-refresh-webpack-plugin": "^0.5.8", @@ -2651,9 +2611,9 @@ } }, "node_modules/@redhat-cloud-services/frontend-components-utilities": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-utilities/-/frontend-components-utilities-3.5.1.tgz", - "integrity": "sha512-6Y4rTaEGLlDOPXH6Hmu0mGFCNLQXosHzpaaIHqYfs+tBJdwikjtnuMoJ8u0Wfz2UEpyTc9oeXxKanq1zGifuUQ==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-utilities/-/frontend-components-utilities-3.7.0.tgz", + "integrity": "sha512-v8cXuZHoUEvSBaigYGDKZw6+r6ts8Z1kBP1Jc0CXAQxuPxGjTq+BweTIYa+zO3y8Gqc0y0DOq7x9EBe+EpC2cw==", "dependencies": { "@redhat-cloud-services/types": "^0.0.24", "@sentry/browser": "^5.30.0", @@ -2706,9 +2666,9 @@ "integrity": "sha512-P50stc+mnWLycID46/AKmD/760r5N1eoam//O6MUVriqVorUdht7xkUL78aJZU1vw8WW6xlrDHwz3F6BM148qg==" }, "node_modules/@remix-run/router": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.6.2.tgz", - "integrity": "sha512-LzqpSrMK/3JBAVBI9u3NWtOhWNw5AMQfrUFYB0+bDHTSw17z++WJLsPsxAuK+oSddsxk4d7F/JcdDPM1M5YAhA==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.6.3.tgz", + "integrity": "sha512-EXJysQ7J3veRECd0kZFQwYYd5sJMcq2O/m60zu1W2l3oVQ9xtub8jTOtYRE0+M2iomyG/W3Ps7+vp2kna0C27Q==", "engines": { "node": ">=14" } @@ -3771,15 +3731,15 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.9.tgz", - "integrity": "sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.0.tgz", + "integrity": "sha512-78B+anHLF1TI8Jn/cD0Q00TBYdMgjdOn980JfAVa9yw5sop8nyTfVOQAv6LWywkOGLclDBtv5z3oxN4w7jxyNg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.9", - "@typescript-eslint/type-utils": "5.59.9", - "@typescript-eslint/utils": "5.59.9", + "@typescript-eslint/scope-manager": "5.60.0", + "@typescript-eslint/type-utils": "5.60.0", + "@typescript-eslint/utils": "5.60.0", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -3838,14 +3798,14 @@ "dev": true }, "node_modules/@typescript-eslint/parser": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.9.tgz", - "integrity": "sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.0.tgz", + "integrity": "sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.59.9", - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/typescript-estree": "5.59.9", + "@typescript-eslint/scope-manager": "5.60.0", + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/typescript-estree": "5.60.0", "debug": "^4.3.4" }, "engines": { @@ -3865,13 +3825,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz", - "integrity": "sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz", + "integrity": "sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/visitor-keys": "5.59.9" + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3882,13 +3842,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz", - "integrity": "sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.0.tgz", + "integrity": "sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.9", - "@typescript-eslint/utils": "5.59.9", + "@typescript-eslint/typescript-estree": "5.60.0", + "@typescript-eslint/utils": "5.60.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -3909,9 +3869,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.9.tgz", - "integrity": "sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", + "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3922,13 +3882,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz", - "integrity": "sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz", + "integrity": "sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/visitor-keys": "5.59.9", + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3961,9 +3921,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -3982,17 +3942,17 @@ "dev": true }, "node_modules/@typescript-eslint/utils": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.9.tgz", - "integrity": "sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.0.tgz", + "integrity": "sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.9", - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/typescript-estree": "5.59.9", + "@typescript-eslint/scope-manager": "5.60.0", + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/typescript-estree": "5.60.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -4041,12 +4001,12 @@ "dev": true }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz", - "integrity": "sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", + "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.9", + "@typescript-eslint/types": "5.60.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -7606,16 +7566,16 @@ } }, "node_modules/eslint": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", - "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", + "version": "8.42.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.42.0.tgz", + "integrity": "sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.41.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/js": "8.42.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -7790,13 +7750,13 @@ } }, "node_modules/eslint-plugin-formatjs": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.10.2.tgz", - "integrity": "sha512-wUwFdZKI1m9d+QGaYKLw7OYM+/Bh0y7TVZfI0XuTikPTYUSrHW+VV8hK2e6UJIjkjGfozZYikBPESKgAtOOlfA==", + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.10.3.tgz", + "integrity": "sha512-EHKuEMCmWhAiMdCc8oZU8qBAvnvHPUiJuhGxPqA+GX2Nb7GBsGm2o616KYnSSffDisK+v0E9TDCrS8oJ0QLgcw==", "dev": true, "dependencies": { - "@formatjs/icu-messageformat-parser": "2.5.0", - "@formatjs/ts-transformer": "3.13.2", + "@formatjs/icu-messageformat-parser": "2.6.0", + "@formatjs/ts-transformer": "3.13.3", "@types/eslint": "7 || 8", "@types/picomatch": "^2.3.0", "@typescript-eslint/typescript-estree": "5.59.0", @@ -7811,46 +7771,6 @@ "eslint": "7 || 8" } }, - "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/ecma402-abstract": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.16.0.tgz", - "integrity": "sha512-qIH2cmG/oHGrVdApbqDf6/YR+B2A4NdkBjKLeq369OMVkqMFsC5oPSP1xpiyL1cAn+PbNEZHxwOVMYD/C76c6g==", - "dev": true, - "dependencies": { - "@formatjs/intl-localematcher": "0.3.0", - "tslib": "^2.4.0" - } - }, - "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.5.0.tgz", - "integrity": "sha512-8AwKRkVIZzVlvZwio1TcLVvUbJw0up1joa8//JIxKVeflqKiZwfzCGAelZt/4hHCEQf9NECose//nODnmBEkNQ==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.16.0", - "@formatjs/icu-skeleton-parser": "1.5.0", - "tslib": "^2.4.0" - } - }, - "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.5.0.tgz", - "integrity": "sha512-R/wOg/hxh3JWNB4LHYfNtIe8PC39mkzplh6gtrqCY33EqYeUFEGOYTWJrkXNcoRXlZWQtfrH6REch5r57tAyMQ==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.16.0", - "tslib": "^2.4.0" - } - }, - "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/intl-localematcher": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.3.0.tgz", - "integrity": "sha512-NFoxXX3dtZ6B53NlCErq181NxN/noMZOWKHfcEPQRNfV0a19THxyjxu2RTSNS3532wGm6fOdid5qsBQWg0Rhtw==", - "dev": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, "node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/types": { "version": "5.59.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.0.tgz", @@ -10524,13 +10444,13 @@ } }, "node_modules/intl-messageformat": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.5.tgz", - "integrity": "sha512-6kPkftF8Jg3XJCkGKa5OD+nYQ+qcSxF4ZkuDdXZ6KGG0VXn+iblJqRFyDdm9VvKcMyC0Km2+JlVQffFM52D0YA==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.0.tgz", + "integrity": "sha512-AvojYuOaRb6r2veOKfTVpxH9TrmjSdc5iR9R5RgBwrDZYSmAAFVT+QLbW3C4V7Qsg0OguMp67Q/EoUkxZzXRGw==", "dependencies": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/fast-memoize": "2.0.1", - "@formatjs/icu-messageformat-parser": "2.4.0", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/fast-memoize": "2.2.0", + "@formatjs/icu-messageformat-parser": "2.6.0", "tslib": "^2.4.0" } }, @@ -15794,19 +15714,19 @@ "integrity": "sha512-xTYf9zFim2pEif/Fw16dBiXpe0hoy5PxcD8+OwBnTtNLfIm3g6WxhKNurY+6OmdH1u6Ta/W/Vl6vjbYP1MFnDg==" }, "node_modules/react-intl": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.2.tgz", - "integrity": "sha512-q8QyLZfbyqV3Ifa7vtjRrgfSQPGTR6Fi+u9tP/CuzhUPl9DJEPIrvUFhlBryKtRW2qNASqchaP/79Obip+h6oA==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/icu-messageformat-parser": "2.4.0", - "@formatjs/intl": "2.7.2", - "@formatjs/intl-displaynames": "6.3.2", - "@formatjs/intl-listformat": "7.2.2", + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.4.tgz", + "integrity": "sha512-/C9Sl/5//ohfkNG6AWlJuf4BhTXsbzyk93K62A4zRhSPANyOGpKZ+fWhN+TLfFd5YjDUHy+exU/09y0w1bO4Xw==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/icu-messageformat-parser": "2.6.0", + "@formatjs/intl": "2.9.0", + "@formatjs/intl-displaynames": "6.5.0", + "@formatjs/intl-listformat": "7.4.0", "@types/hoist-non-react-statics": "^3.3.1", "@types/react": "16 || 17 || 18", "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "10.3.5", + "intl-messageformat": "10.5.0", "tslib": "^2.4.0" }, "peerDependencies": { @@ -15830,9 +15750,9 @@ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, "node_modules/react-redux": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.7.tgz", - "integrity": "sha512-1vRQuCQI5Y2uNmrMXg81RXKiBHY3jBzvCvNmZF437O/Z9/pZ+ba2uYHbemYXb3g8rjsacBGo+/wmfrQKzMhJsg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.0.tgz", + "integrity": "sha512-CtHZzAOxi7GQvTph4dVLWwZHAWUjV2kMEQtk50OrN8z3gKxpWg3Tz7JfDw32N3Rpd7fh02z73cF6yZkK467gbQ==", "dependencies": { "@babel/runtime": "^7.12.1", "@types/hoist-non-react-statics": "^3.3.1", @@ -15886,11 +15806,11 @@ } }, "node_modules/react-router": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.11.2.tgz", - "integrity": "sha512-74z9xUSaSX07t3LM+pS6Un0T55ibUE/79CzfZpy5wsPDZaea1F8QkrsiyRnA2YQ7LwE/umaydzXZV80iDCPkMg==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.13.0.tgz", + "integrity": "sha512-Si6KnfEnJw7gUQkNa70dlpI1bul46FuSxX5t5WwlUBxE25DAz2BjVkwaK8Y2s242bQrZPXCpmwLPtIO5pv4tXg==", "dependencies": { - "@remix-run/router": "1.6.2" + "@remix-run/router": "1.6.3" }, "engines": { "node": ">=14" @@ -15900,12 +15820,12 @@ } }, "node_modules/react-router-dom": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.11.2.tgz", - "integrity": "sha512-JNbKtAeh1VSJQnH6RvBDNhxNwemRj7KxCzc5jb7zvDSKRnPWIFj9pO+eXqjM69gQJ0r46hSz1x4l9y0651DKWw==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.13.0.tgz", + "integrity": "sha512-6Nqoqd7fgwxxVGdbiMHTpDHCYPq62d7Wk1Of7B82vH7ZPwwsRaIa22zRZKPPg413R5REVNiyuQPKDG1bubcOFA==", "dependencies": { - "@remix-run/router": "1.6.2", - "react-router": "6.11.2" + "@remix-run/router": "1.6.3", + "react-router": "6.13.0" }, "engines": { "node": ">=14" @@ -18154,20 +18074,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-area/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-axis": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-axis/-/victory-axis-36.6.8.tgz", @@ -18181,20 +18087,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-axis/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-bar": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-bar/-/victory-bar-36.6.8.tgz", @@ -18209,20 +18101,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-bar/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-brush-container": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-brush-container/-/victory-brush-container-36.6.8.tgz", @@ -18237,20 +18115,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-brush-container/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-chart": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-chart/-/victory-chart-36.6.8.tgz", @@ -18268,29 +18132,15 @@ "react": ">=16.6.0" } }, - "node_modules/victory-chart/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-core": { - "version": "36.6.7", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.7.tgz", - "integrity": "sha512-cpqjpVKk0DDCtCyT+LPaDqk+CxXL6lemRnarUn1DUYWcaUTHAYkdG8Gk2ExrPsKNw2mfpMCwlrvKSD6Bh/XXOA==", + "version": "36.6.11", + "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.11.tgz", + "integrity": "sha512-aYhFIRu8NQMwW/JbgqoAG7w0lUYbTB1Achx4mmBc6aL8RMkv6LhD/PFwjT3TLpH0AoEs3Rpty2g0UQ+7ulE7dA==", "dependencies": { "lodash": "^4.17.21", "prop-types": "^15.8.1", "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.7" + "victory-vendor": "^36.6.11" }, "peerDependencies": { "react": ">=16.6.0" @@ -18313,20 +18163,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-create-container/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-cursor-container": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-cursor-container/-/victory-cursor-container-36.6.8.tgz", @@ -18340,20 +18176,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-cursor-container/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-group": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-group/-/victory-group-36.6.8.tgz", @@ -18369,20 +18191,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-group/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-legend": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-legend/-/victory-legend-36.6.8.tgz", @@ -18396,20 +18204,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-legend/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-line": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-line/-/victory-line-36.6.8.tgz", @@ -18424,20 +18218,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-line/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-pie": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-pie/-/victory-pie-36.6.8.tgz", @@ -18452,20 +18232,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-pie/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-polar-axis": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-polar-axis/-/victory-polar-axis-36.6.8.tgz", @@ -18479,20 +18245,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-polar-axis/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-scatter": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-scatter/-/victory-scatter-36.6.8.tgz", @@ -18506,20 +18258,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-scatter/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-selection-container": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-selection-container/-/victory-selection-container-36.6.8.tgz", @@ -18533,20 +18271,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-selection-container/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-shared-events": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-shared-events/-/victory-shared-events-36.6.8.tgz", @@ -18562,20 +18286,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-shared-events/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-stack": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-stack/-/victory-stack-36.6.8.tgz", @@ -18591,20 +18301,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-stack/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-tooltip": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-tooltip/-/victory-tooltip-36.6.8.tgz", @@ -18618,24 +18314,10 @@ "react": ">=16.6.0" } }, - "node_modules/victory-tooltip/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-vendor": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.6.8.tgz", - "integrity": "sha512-H3kyQ+2zgjMPvbPqAl7Vwm2FD5dU7/4bCTQakFQnpIsfDljeOMDojRsrmJfwh4oAlNnWhpAf+mbAoLh8u7dwyQ==", + "version": "36.6.11", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.6.11.tgz", + "integrity": "sha512-nT8kCiJp8dQh8g991J/R5w5eE2KnO8EAIP0xocWlh9l2okngMWglOPoMZzJvek8Q1KUc4XE/mJxTZnvOB1sTYg==", "dependencies": { "@types/d3-array": "^3.0.3", "@types/d3-ease": "^3.0.0", @@ -18669,20 +18351,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-voronoi-container/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-zoom-container": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-zoom-container/-/victory-zoom-container-36.6.8.tgz", @@ -18696,20 +18364,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-zoom-container/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", @@ -20204,103 +19858,103 @@ } }, "@eslint/js": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", - "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", + "version": "8.42.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.42.0.tgz", + "integrity": "sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==", "dev": true }, "@formatjs/cli": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.1.2.tgz", - "integrity": "sha512-npYK86T/6KAGloIRsX9jKjTkm9PIchGv5cPK9sE4+/kPfml0vFmLoVFxYkHu25FV5CMf0jnvodnLOIkhH46kvQ==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.1.3.tgz", + "integrity": "sha512-PdTXZTY8LqxwmvFqdifn89gjXnPUpGtGyFs0BnoeLuOuxZFSnBfIs5WQCVMaJnr1+0vNNlXyT0VAIAwjRpf6BA==", "dev": true, "requires": {} }, "@formatjs/ecma402-abstract": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.15.0.tgz", - "integrity": "sha512-7bAYAv0w4AIao9DNg0avfOLTCPE9woAgs6SpXuMq11IN3A+l+cq8ghczwqSZBM11myvPSJA7vLn72q0rJ0QK6Q==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.0.tgz", + "integrity": "sha512-6ueQTeJZtwKjmh23bdkq/DMqH4l4bmfvtQH98blOSbiXv/OUiyijSW6jU22IT8BNM1ujCaEvJfTtyCYVH38EMQ==", "requires": { - "@formatjs/intl-localematcher": "0.2.32", + "@formatjs/intl-localematcher": "0.4.0", "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==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz", + "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==", "requires": { "tslib": "^2.4.0" } }, "@formatjs/icu-messageformat-parser": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.4.0.tgz", - "integrity": "sha512-6Dh5Z/gp4F/HovXXu/vmd0If5NbYLB5dZrmhWVNb+BOGOEU3wt7Z/83KY1dtd7IDhAnYHasbmKE1RbTE0J+3hw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.0.tgz", + "integrity": "sha512-yT6at0qc0DANw9qM/TU8RZaCtfDXtj4pZM/IC2WnVU80yAcliS3KVDiuUt4jSQAeFL9JS5bc2hARnFmjPdA6qw==", "requires": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/icu-skeleton-parser": "1.4.0", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/icu-skeleton-parser": "1.6.0", "tslib": "^2.4.0" } }, "@formatjs/icu-skeleton-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.4.0.tgz", - "integrity": "sha512-Qq347VM616rVLkvN6QsKJELazRyNlbCiN47LdH0Mc5U7E2xV0vatiVhGqd3KFgbc055BvtnUXR7XX60dCGFuWg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.0.tgz", + "integrity": "sha512-eMmxNpoX/J1IPUjPGSZwo0Wh+7CEvdEMddP2Jxg1gQJXfGfht/FdW2D5XDFj3VMbOTUQlDIdZJY7uC6O6gjPoA==", "requires": { - "@formatjs/ecma402-abstract": "1.15.0", + "@formatjs/ecma402-abstract": "1.17.0", "tslib": "^2.4.0" } }, "@formatjs/intl": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.7.2.tgz", - "integrity": "sha512-ziiQfnXwY0/rXhtohSAmYMqDjRsihoMKdl8H2aA+FvxG9638E0XrvfBFCb+1HhimNiuqRz5fTY7F/bZtsJxsjA==", - "requires": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/fast-memoize": "2.0.1", - "@formatjs/icu-messageformat-parser": "2.4.0", - "@formatjs/intl-displaynames": "6.3.2", - "@formatjs/intl-listformat": "7.2.2", - "intl-messageformat": "10.3.5", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.9.0.tgz", + "integrity": "sha512-Ym0trUoC/VO6wQu4YHa0H1VR2tEixFRmwZgADkDLm7nD+vv1Ob+/88mUAoT0pwvirFqYKgUKEwp1tFepqyqvVA==", + "requires": { + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/fast-memoize": "2.2.0", + "@formatjs/icu-messageformat-parser": "2.6.0", + "@formatjs/intl-displaynames": "6.5.0", + "@formatjs/intl-listformat": "7.4.0", + "intl-messageformat": "10.5.0", "tslib": "^2.4.0" } }, "@formatjs/intl-displaynames": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.3.2.tgz", - "integrity": "sha512-kBOh0O7QYKLUqaZujLSEF2+au017plPp63R6Hrokl+oDtLyTt9y9pEuCTbOKh/P8CC9THnDLKRKgeVWZw5Ek8A==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.5.0.tgz", + "integrity": "sha512-sg/nR8ILEdUl+2sWu6jc1nQ5s04yucGlH1RVfatW8TSJ5uG3Yy3vgigi8NNC/BuhcncUNPWqSpTCSI1hA+rhiw==", "requires": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/intl-localematcher": "0.2.32", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/intl-localematcher": "0.4.0", "tslib": "^2.4.0" } }, "@formatjs/intl-listformat": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.2.2.tgz", - "integrity": "sha512-YIruRGwUrmgVOXjWi6VbwPcRNBkEfgK2DFjyyqopCmpfJ+39vnl46oLpVchErnuXs6kkARy5GcGaGV7xRsH4lw==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.4.0.tgz", + "integrity": "sha512-ifupb+balZUAF/Oh3QyGRqPRWGSKwWoMPR0cYZEG7r61SimD+m38oFQqVx/3Fp7LfQFF11m7IS+MlxOo2sKINA==", "requires": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/intl-localematcher": "0.2.32", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/intl-localematcher": "0.4.0", "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==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.0.tgz", + "integrity": "sha512-bRTd+rKomvfdS4QDlVJ6TA/Jx1F2h/TBVO5LjvhQ7QPPHp19oPNMIum7W2CMEReq/zPxpmCeB31F9+5gl/qtvw==", "requires": { "tslib": "^2.4.0" } }, "@formatjs/ts-transformer": { - "version": "3.13.2", - "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.13.2.tgz", - "integrity": "sha512-d1Q+ZgIPQfXxAVZrZ+bmdGGibzz8T83mrPMftWwAMc2bcFjdKpA79b9/pZNhaEW5ZCtXkLhuadgDEoa4ZNxNEA==", + "version": "3.13.3", + "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.13.3.tgz", + "integrity": "sha512-W6+huH4dLYx8eZfZue6fcreNzLZHoPboreqJSkickYCKIOicI35zC0Txb4xCT6kau/DXAKTpNEln3V2NgX6Igg==", "dev": true, "requires": { - "@formatjs/icu-messageformat-parser": "2.5.0", + "@formatjs/icu-messageformat-parser": "2.6.0", "@types/json-stable-stringify": "^1.0.32", "@types/node": "14 || 16 || 17", "chalk": "^4.0.0", @@ -20309,46 +19963,6 @@ "typescript": "^4.7 || 5" }, "dependencies": { - "@formatjs/ecma402-abstract": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.16.0.tgz", - "integrity": "sha512-qIH2cmG/oHGrVdApbqDf6/YR+B2A4NdkBjKLeq369OMVkqMFsC5oPSP1xpiyL1cAn+PbNEZHxwOVMYD/C76c6g==", - "dev": true, - "requires": { - "@formatjs/intl-localematcher": "0.3.0", - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-messageformat-parser": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.5.0.tgz", - "integrity": "sha512-8AwKRkVIZzVlvZwio1TcLVvUbJw0up1joa8//JIxKVeflqKiZwfzCGAelZt/4hHCEQf9NECose//nODnmBEkNQ==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.16.0", - "@formatjs/icu-skeleton-parser": "1.5.0", - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-skeleton-parser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.5.0.tgz", - "integrity": "sha512-R/wOg/hxh3JWNB4LHYfNtIe8PC39mkzplh6gtrqCY33EqYeUFEGOYTWJrkXNcoRXlZWQtfrH6REch5r57tAyMQ==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.16.0", - "tslib": "^2.4.0" - } - }, - "@formatjs/intl-localematcher": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.3.0.tgz", - "integrity": "sha512-NFoxXX3dtZ6B53NlCErq181NxN/noMZOWKHfcEPQRNfV0a19THxyjxu2RTSNS3532wGm6fOdid5qsBQWg0Rhtw==", - "dev": true, - "requires": { - "tslib": "^2.4.0" - } - }, "@types/node": { "version": "17.0.45", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", @@ -20407,9 +20021,9 @@ } }, "@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -21374,9 +20988,9 @@ } }, "@redhat-cloud-services/frontend-components": { - "version": "3.9.37", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components/-/frontend-components-3.9.37.tgz", - "integrity": "sha512-5r/upwYAeK6SgB0Yx4sYaA1WKW6/obp+trLQJW54xedVeklEzap7u0pymPnJfshMPFQPnQVWgzNYkEaDTtAuTA==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components/-/frontend-components-3.11.0.tgz", + "integrity": "sha512-fcISIg1IH7+8soKQ8kbdsznYWpRo7fGQEHUKsgsA3aGRj2lKHAHqqLHASPGqGKRX0hzX+hgLcB2jk8k7cF0vPA==", "requires": { "@redhat-cloud-services/frontend-components-utilities": "^3.2.25", "@redhat-cloud-services/types": "^0.0.24", @@ -21386,9 +21000,9 @@ } }, "@redhat-cloud-services/frontend-components-config": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-config/-/frontend-components-config-5.0.1.tgz", - "integrity": "sha512-PTP8P1yTqB490jFwkBXcUAlTvaJOAacX3flf1CX6TPuQbtErETRrSn6i9RNQkDkDNN4cu/ZRzEjdwOGH7LaOPg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-config/-/frontend-components-config-5.0.2.tgz", + "integrity": "sha512-tbD5pELEX0Dk3vJoAfKdpYgoAHRL24PeGRLIBV0CaE1JD/zF3rbPYxy8Ukox/Z9aekZ+WGgwQ0rFn43T4Csk1A==", "dev": true, "requires": { "@pmmmwh/react-refresh-webpack-plugin": "^0.5.8", @@ -21579,9 +21193,9 @@ } }, "@redhat-cloud-services/frontend-components-utilities": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-utilities/-/frontend-components-utilities-3.5.1.tgz", - "integrity": "sha512-6Y4rTaEGLlDOPXH6Hmu0mGFCNLQXosHzpaaIHqYfs+tBJdwikjtnuMoJ8u0Wfz2UEpyTc9oeXxKanq1zGifuUQ==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-utilities/-/frontend-components-utilities-3.7.0.tgz", + "integrity": "sha512-v8cXuZHoUEvSBaigYGDKZw6+r6ts8Z1kBP1Jc0CXAQxuPxGjTq+BweTIYa+zO3y8Gqc0y0DOq7x9EBe+EpC2cw==", "requires": { "@redhat-cloud-services/types": "^0.0.24", "@sentry/browser": "^5.30.0", @@ -21628,9 +21242,9 @@ "integrity": "sha512-P50stc+mnWLycID46/AKmD/760r5N1eoam//O6MUVriqVorUdht7xkUL78aJZU1vw8WW6xlrDHwz3F6BM148qg==" }, "@remix-run/router": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.6.2.tgz", - "integrity": "sha512-LzqpSrMK/3JBAVBI9u3NWtOhWNw5AMQfrUFYB0+bDHTSw17z++WJLsPsxAuK+oSddsxk4d7F/JcdDPM1M5YAhA==" + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.6.3.tgz", + "integrity": "sha512-EXJysQ7J3veRECd0kZFQwYYd5sJMcq2O/m60zu1W2l3oVQ9xtub8jTOtYRE0+M2iomyG/W3Ps7+vp2kna0C27Q==" }, "@restart/hooks": { "version": "0.4.9", @@ -22602,15 +22216,15 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.9.tgz", - "integrity": "sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.0.tgz", + "integrity": "sha512-78B+anHLF1TI8Jn/cD0Q00TBYdMgjdOn980JfAVa9yw5sop8nyTfVOQAv6LWywkOGLclDBtv5z3oxN4w7jxyNg==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.9", - "@typescript-eslint/type-utils": "5.59.9", - "@typescript-eslint/utils": "5.59.9", + "@typescript-eslint/scope-manager": "5.60.0", + "@typescript-eslint/type-utils": "5.60.0", + "@typescript-eslint/utils": "5.60.0", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -22646,53 +22260,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.9.tgz", - "integrity": "sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.0.tgz", + "integrity": "sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.9", - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/typescript-estree": "5.59.9", + "@typescript-eslint/scope-manager": "5.60.0", + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/typescript-estree": "5.60.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz", - "integrity": "sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz", + "integrity": "sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/visitor-keys": "5.59.9" + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0" } }, "@typescript-eslint/type-utils": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz", - "integrity": "sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.0.tgz", + "integrity": "sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.59.9", - "@typescript-eslint/utils": "5.59.9", + "@typescript-eslint/typescript-estree": "5.60.0", + "@typescript-eslint/utils": "5.60.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.9.tgz", - "integrity": "sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", + "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz", - "integrity": "sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz", + "integrity": "sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/visitor-keys": "5.59.9", + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -22710,9 +22324,9 @@ } }, "semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -22727,17 +22341,17 @@ } }, "@typescript-eslint/utils": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.9.tgz", - "integrity": "sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.0.tgz", + "integrity": "sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.9", - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/typescript-estree": "5.59.9", + "@typescript-eslint/scope-manager": "5.60.0", + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/typescript-estree": "5.60.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -22769,12 +22383,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz", - "integrity": "sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", + "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.9", + "@typescript-eslint/types": "5.60.0", "eslint-visitor-keys": "^3.3.0" }, "dependencies": { @@ -25477,16 +25091,16 @@ } }, "eslint": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", - "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", + "version": "8.42.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.42.0.tgz", + "integrity": "sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.41.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/js": "8.42.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -25704,13 +25318,13 @@ } }, "eslint-plugin-formatjs": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.10.2.tgz", - "integrity": "sha512-wUwFdZKI1m9d+QGaYKLw7OYM+/Bh0y7TVZfI0XuTikPTYUSrHW+VV8hK2e6UJIjkjGfozZYikBPESKgAtOOlfA==", + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.10.3.tgz", + "integrity": "sha512-EHKuEMCmWhAiMdCc8oZU8qBAvnvHPUiJuhGxPqA+GX2Nb7GBsGm2o616KYnSSffDisK+v0E9TDCrS8oJ0QLgcw==", "dev": true, "requires": { - "@formatjs/icu-messageformat-parser": "2.5.0", - "@formatjs/ts-transformer": "3.13.2", + "@formatjs/icu-messageformat-parser": "2.6.0", + "@formatjs/ts-transformer": "3.13.3", "@types/eslint": "7 || 8", "@types/picomatch": "^2.3.0", "@typescript-eslint/typescript-estree": "5.59.0", @@ -25722,46 +25336,6 @@ "unicode-emoji-utils": "^1.1.1" }, "dependencies": { - "@formatjs/ecma402-abstract": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.16.0.tgz", - "integrity": "sha512-qIH2cmG/oHGrVdApbqDf6/YR+B2A4NdkBjKLeq369OMVkqMFsC5oPSP1xpiyL1cAn+PbNEZHxwOVMYD/C76c6g==", - "dev": true, - "requires": { - "@formatjs/intl-localematcher": "0.3.0", - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-messageformat-parser": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.5.0.tgz", - "integrity": "sha512-8AwKRkVIZzVlvZwio1TcLVvUbJw0up1joa8//JIxKVeflqKiZwfzCGAelZt/4hHCEQf9NECose//nODnmBEkNQ==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.16.0", - "@formatjs/icu-skeleton-parser": "1.5.0", - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-skeleton-parser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.5.0.tgz", - "integrity": "sha512-R/wOg/hxh3JWNB4LHYfNtIe8PC39mkzplh6gtrqCY33EqYeUFEGOYTWJrkXNcoRXlZWQtfrH6REch5r57tAyMQ==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.16.0", - "tslib": "^2.4.0" - } - }, - "@formatjs/intl-localematcher": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.3.0.tgz", - "integrity": "sha512-NFoxXX3dtZ6B53NlCErq181NxN/noMZOWKHfcEPQRNfV0a19THxyjxu2RTSNS3532wGm6fOdid5qsBQWg0Rhtw==", - "dev": true, - "requires": { - "tslib": "^2.4.0" - } - }, "@typescript-eslint/types": { "version": "5.59.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.0.tgz", @@ -27637,13 +27211,13 @@ "dev": true }, "intl-messageformat": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.5.tgz", - "integrity": "sha512-6kPkftF8Jg3XJCkGKa5OD+nYQ+qcSxF4ZkuDdXZ6KGG0VXn+iblJqRFyDdm9VvKcMyC0Km2+JlVQffFM52D0YA==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.0.tgz", + "integrity": "sha512-AvojYuOaRb6r2veOKfTVpxH9TrmjSdc5iR9R5RgBwrDZYSmAAFVT+QLbW3C4V7Qsg0OguMp67Q/EoUkxZzXRGw==", "requires": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/fast-memoize": "2.0.1", - "@formatjs/icu-messageformat-parser": "2.4.0", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/fast-memoize": "2.2.0", + "@formatjs/icu-messageformat-parser": "2.6.0", "tslib": "^2.4.0" } }, @@ -31521,19 +31095,19 @@ "integrity": "sha512-xTYf9zFim2pEif/Fw16dBiXpe0hoy5PxcD8+OwBnTtNLfIm3g6WxhKNurY+6OmdH1u6Ta/W/Vl6vjbYP1MFnDg==" }, "react-intl": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.2.tgz", - "integrity": "sha512-q8QyLZfbyqV3Ifa7vtjRrgfSQPGTR6Fi+u9tP/CuzhUPl9DJEPIrvUFhlBryKtRW2qNASqchaP/79Obip+h6oA==", - "requires": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/icu-messageformat-parser": "2.4.0", - "@formatjs/intl": "2.7.2", - "@formatjs/intl-displaynames": "6.3.2", - "@formatjs/intl-listformat": "7.2.2", + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.4.tgz", + "integrity": "sha512-/C9Sl/5//ohfkNG6AWlJuf4BhTXsbzyk93K62A4zRhSPANyOGpKZ+fWhN+TLfFd5YjDUHy+exU/09y0w1bO4Xw==", + "requires": { + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/icu-messageformat-parser": "2.6.0", + "@formatjs/intl": "2.9.0", + "@formatjs/intl-displaynames": "6.5.0", + "@formatjs/intl-listformat": "7.4.0", "@types/hoist-non-react-statics": "^3.3.1", "@types/react": "16 || 17 || 18", "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "10.3.5", + "intl-messageformat": "10.5.0", "tslib": "^2.4.0" } }, @@ -31548,9 +31122,9 @@ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, "react-redux": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.7.tgz", - "integrity": "sha512-1vRQuCQI5Y2uNmrMXg81RXKiBHY3jBzvCvNmZF437O/Z9/pZ+ba2uYHbemYXb3g8rjsacBGo+/wmfrQKzMhJsg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.0.tgz", + "integrity": "sha512-CtHZzAOxi7GQvTph4dVLWwZHAWUjV2kMEQtk50OrN8z3gKxpWg3Tz7JfDw32N3Rpd7fh02z73cF6yZkK467gbQ==", "requires": { "@babel/runtime": "^7.12.1", "@types/hoist-non-react-statics": "^3.3.1", @@ -31574,20 +31148,20 @@ "dev": true }, "react-router": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.11.2.tgz", - "integrity": "sha512-74z9xUSaSX07t3LM+pS6Un0T55ibUE/79CzfZpy5wsPDZaea1F8QkrsiyRnA2YQ7LwE/umaydzXZV80iDCPkMg==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.13.0.tgz", + "integrity": "sha512-Si6KnfEnJw7gUQkNa70dlpI1bul46FuSxX5t5WwlUBxE25DAz2BjVkwaK8Y2s242bQrZPXCpmwLPtIO5pv4tXg==", "requires": { - "@remix-run/router": "1.6.2" + "@remix-run/router": "1.6.3" } }, "react-router-dom": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.11.2.tgz", - "integrity": "sha512-JNbKtAeh1VSJQnH6RvBDNhxNwemRj7KxCzc5jb7zvDSKRnPWIFj9pO+eXqjM69gQJ0r46hSz1x4l9y0651DKWw==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.13.0.tgz", + "integrity": "sha512-6Nqoqd7fgwxxVGdbiMHTpDHCYPq62d7Wk1Of7B82vH7ZPwwsRaIa22zRZKPPg413R5REVNiyuQPKDG1bubcOFA==", "requires": { - "@remix-run/router": "1.6.2", - "react-router": "6.11.2" + "@remix-run/router": "1.6.3", + "react-router": "6.13.0" } }, "react-transition-group": { @@ -33295,19 +32869,6 @@ "prop-types": "^15.8.1", "victory-core": "^36.6.8", "victory-vendor": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-axis": { @@ -33318,19 +32879,6 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-bar": { @@ -33342,19 +32890,6 @@ "prop-types": "^15.8.1", "victory-core": "^36.6.8", "victory-vendor": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-brush-container": { @@ -33366,19 +32901,6 @@ "prop-types": "^15.8.1", "react-fast-compare": "^3.2.0", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-chart": { @@ -33393,30 +32915,17 @@ "victory-core": "^36.6.8", "victory-polar-axis": "^36.6.8", "victory-shared-events": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-core": { - "version": "36.6.7", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.7.tgz", - "integrity": "sha512-cpqjpVKk0DDCtCyT+LPaDqk+CxXL6lemRnarUn1DUYWcaUTHAYkdG8Gk2ExrPsKNw2mfpMCwlrvKSD6Bh/XXOA==", + "version": "36.6.11", + "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.11.tgz", + "integrity": "sha512-aYhFIRu8NQMwW/JbgqoAG7w0lUYbTB1Achx4mmBc6aL8RMkv6LhD/PFwjT3TLpH0AoEs3Rpty2g0UQ+7ulE7dA==", "requires": { "lodash": "^4.17.21", "prop-types": "^15.8.1", "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.7" + "victory-vendor": "^36.6.11" } }, "victory-create-container": { @@ -33431,19 +32940,6 @@ "victory-selection-container": "^36.6.8", "victory-voronoi-container": "^36.6.8", "victory-zoom-container": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-cursor-container": { @@ -33454,19 +32950,6 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-group": { @@ -33479,19 +32962,6 @@ "react-fast-compare": "^3.2.0", "victory-core": "^36.6.8", "victory-shared-events": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-legend": { @@ -33502,19 +32972,6 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-line": { @@ -33526,19 +32983,6 @@ "prop-types": "^15.8.1", "victory-core": "^36.6.8", "victory-vendor": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-pie": { @@ -33550,19 +32994,6 @@ "prop-types": "^15.8.1", "victory-core": "^36.6.8", "victory-vendor": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-polar-axis": { @@ -33573,19 +33004,6 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-scatter": { @@ -33596,19 +33014,6 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-selection-container": { @@ -33619,19 +33024,6 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-shared-events": { @@ -33644,19 +33036,6 @@ "prop-types": "^15.8.1", "react-fast-compare": "^3.2.0", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-stack": { @@ -33669,19 +33048,6 @@ "react-fast-compare": "^3.2.0", "victory-core": "^36.6.8", "victory-shared-events": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-tooltip": { @@ -33692,25 +33058,12 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-vendor": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.6.8.tgz", - "integrity": "sha512-H3kyQ+2zgjMPvbPqAl7Vwm2FD5dU7/4bCTQakFQnpIsfDljeOMDojRsrmJfwh4oAlNnWhpAf+mbAoLh8u7dwyQ==", + "version": "36.6.11", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.6.11.tgz", + "integrity": "sha512-nT8kCiJp8dQh8g991J/R5w5eE2KnO8EAIP0xocWlh9l2okngMWglOPoMZzJvek8Q1KUc4XE/mJxTZnvOB1sTYg==", "requires": { "@types/d3-array": "^3.0.3", "@types/d3-ease": "^3.0.0", @@ -33739,19 +33092,6 @@ "react-fast-compare": "^3.2.0", "victory-core": "^36.6.8", "victory-tooltip": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-zoom-container": { @@ -33762,19 +33102,6 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "w3c-xmlserializer": { diff --git a/package.json b/package.json index 5a5557ab4..d777173bb 100644 --- a/package.json +++ b/package.json @@ -52,10 +52,10 @@ "@patternfly/react-styles": "4.92.6", "@patternfly/react-table": "4.113.0", "@patternfly/react-tokens": "4.94.6", - "@redhat-cloud-services/frontend-components": "^3.9.37", + "@redhat-cloud-services/frontend-components": "^3.11.0", "@redhat-cloud-services/frontend-components-notifications": "^3.2.14", "@redhat-cloud-services/frontend-components-translations": "^3.2.6", - "@redhat-cloud-services/frontend-components-utilities": "^3.5.1", + "@redhat-cloud-services/frontend-components-utilities": "^3.7.0", "@redhat-cloud-services/rbac-client": "^1.2.3", "@unleash/proxy-client-react": "^3.6.0", "axios": "^1.4.0", @@ -66,20 +66,20 @@ "react": "^17.0.2", "react-bootstrap": "^2.7.4", "react-dom": "^17.0.2", - "react-intl": "^6.4.2", - "react-redux": "^8.0.7", - "react-router-dom": "^6.11.2", + "react-intl": "^6.4.4", + "react-redux": "^8.1.0", + "react-router-dom": "^6.13.0", "redux": "^4.2.1", "redux-thunk": "^2.4.2", "typesafe-actions": "^5.1.0", "unleash-proxy-client": "^2.5.0", - "victory-core": "36.6.7", + "victory-core": "^36.6.11", "xstate": "^4.37.2" }, "devDependencies": { - "@formatjs/cli": "^6.1.2", + "@formatjs/cli": "^6.1.3", "@redhat-cloud-services/eslint-config-redhat-cloud-services": "^1.3.0", - "@redhat-cloud-services/frontend-components-config": "^5.0.1", + "@redhat-cloud-services/frontend-components-config": "^5.0.2", "@testing-library/react": "^12.1.5", "@testing-library/user-event": "^14.4.3", "@types/jest": "^29.5.2", @@ -88,13 +88,13 @@ "@types/react-dom": "^17.0.9", "@types/react-redux": "^7.1.25", "@types/react-router-dom": "^5.3.3", - "@typescript-eslint/eslint-plugin": "^5.59.9", - "@typescript-eslint/parser": "^5.59.9", + "@typescript-eslint/eslint-plugin": "^5.60.0", + "@typescript-eslint/parser": "^5.60.0", "@xstate/test": "^0.5.1", "aphrodite": "^2.4.0", "copy-webpack-plugin": "^11.0.0", - "eslint": "^8.41.0", - "eslint-plugin-formatjs": "^4.10.2", + "eslint": "^8.42.0", + "eslint-plugin-formatjs": "^4.10.3", "eslint-plugin-jest-dom": "^5.0.1", "eslint-plugin-jsdoc": "^46.2.6", "eslint-plugin-markdown": "^3.0.0", @@ -116,8 +116,8 @@ "webpack-bundle-analyzer": "^4.9.0" }, "overrides": { - "eslint": "^8.41.0", - "react-intl": "^6.4.2" + "eslint": "^8.42.0", + "react-intl": "^6.4.4" }, "insights": { "appname": "cost-management" diff --git a/src/api/reports/report.ts b/src/api/reports/report.ts index 4e5266660..2b81d41a6 100644 --- a/src/api/reports/report.ts +++ b/src/api/reports/report.ts @@ -1,7 +1,11 @@ import type { PagedMetaData, PagedResponse } from 'api/api'; export interface ReportValue { + count?: number; + count_units?: string; units?: string; + unused?: number; + unused_percent?: number; value?: number; } diff --git a/src/components/async/asyncComponent.test.tsx b/src/components/async/asyncComponent.test.tsx index 49bb17755..42552e5dc 100644 --- a/src/components/async/asyncComponent.test.tsx +++ b/src/components/async/asyncComponent.test.tsx @@ -1,4 +1,5 @@ -import { render, screen, waitFor } from '@testing-library/react'; +/* eslint-disable testing-library/no-unnecessary-act */ +import { act, render, screen, waitFor } from '@testing-library/react'; import React from 'react'; import asyncComponent from './asyncComponent'; @@ -8,23 +9,28 @@ const UnwrappedComponent = props =>
{props.quote || 'Unwrapped'}
; test('renders empty while loading', async () => { const loader = jest.fn(() => Promise.resolve(UnwrappedComponent)); const Wrapped = asyncComponent(loader); - render(); - expect(loader).toBeCalled(); - expect(screen.queryByText(/unwrapped/i)).toBeNull(); + await act(async () => { + render(); + expect(screen.queryByText(/unwrapped/i)).toBeNull(); + }); }); test('component is loaded on mount', async () => { const loader = jest.fn(() => Promise.resolve(UnwrappedComponent)); const Wrapped = asyncComponent(loader); - render(); + await act(async () => { + render(); + }); await waitFor(() => expect(loader).toHaveBeenCalled); expect(screen.getByText('Unwrapped')).not.toBeNull(); }); test('component with default export is used', async () => { - const loader = jest.fn(() => Promise.resolve({ default: UnwrappedComponent })); + const loader = jest.fn(() => Promise.resolve(UnwrappedComponent)); const Wrapped = asyncComponent(loader); - render(); + await act(async () => { + render(); + }); await waitFor(() => expect(loader).toHaveBeenCalled); expect(screen.getByText('Unwrapped')).not.toBeNull(); }); @@ -32,17 +38,21 @@ test('component with default export is used', async () => { test('only loades the component once', async () => { const loader = jest.fn(() => Promise.resolve(UnwrappedComponent)); const Wrapped = asyncComponent(loader); - const view = render(); - view.rerender(); + await act(async () => { + const view = render(); + view.rerender(); + }); await waitFor(() => expect(loader).toHaveBeenCalled); expect(loader).toHaveBeenCalledTimes(1); }); test('spreads props to wrapped component', async () => { const loader = jest.fn(() => Promise.resolve(UnwrappedComponent)); - const Wrapped = asyncComponent(loader); + const Wrapped = asyncComponent(loader); const quote = 'The only winning move is not to play.'; - render(); + await act(async () => { + render(); + }); await waitFor(() => expect(loader).toHaveBeenCalled); expect(screen.getByText(quote)).not.toBeNull(); }); diff --git a/src/components/drawers/optimzations/optimizationsContent.tsx b/src/components/drawers/optimzations/optimizationsContent.tsx index 3c1f5059b..f526ef571 100644 --- a/src/components/drawers/optimzations/optimizationsContent.tsx +++ b/src/components/drawers/optimzations/optimizationsContent.tsx @@ -77,9 +77,14 @@ class OptimizationsContentBase extends React.Component { - return value ? value.toFixed(1) : ; + return value !== undefined ? value : ; }; private getOriginalValue = (amount, variation) => { - return amount && variation ? (amount - variation).toFixed(1) : ; + return amount !== undefined && variation !== undefined ? amount - variation : ; }; private getRecommendationTerm = (): RecommendationItem => { diff --git a/src/locales/messages.ts b/src/locales/messages.ts index 030c115a1..30a33919a 100644 --- a/src/locales/messages.ts +++ b/src/locales/messages.ts @@ -1255,6 +1255,11 @@ export default defineMessages({ description: ', {value} more...', id: 'detailsSummaryModalTitle', }, + detailsUnusedCapacityLabel: { + defaultMessage: 'Unused capacity', + description: 'Unused capacity', + id: 'detailsUnusedCapacityLabel', + }, detailsUnusedRequestsLabel: { defaultMessage: 'Unrequested capacity', description: 'Unrequested capacity', @@ -1265,11 +1270,6 @@ export default defineMessages({ description: '{units} ({percentage}% of capacity)', id: 'detailsUnusedUnits', }, - detailsUnusedUsageLabel: { - defaultMessage: 'Unused capacity', - description: 'Unused capacity', - id: 'detailsUnusedUsageLabel', - }, detailsUsageCapacity: { defaultMessage: 'Capacity - {value} {units}', description: 'Capacity - {value} {units}', @@ -3329,6 +3329,7 @@ export default defineMessages({ defaultMessage: '{units, select, ' + 'byte_ms {Byte-ms} ' + + 'core {core} ' + 'core_hours {core-hours} ' + 'gb {GB} ' + 'gb_hours {GB-hours} ' + @@ -3358,6 +3359,11 @@ export default defineMessages({ description: 'Usage cost', id: 'usageCostTitle', }, + usageSubtitle: { + defaultMessage: '{count} {countUnits} maximum', + description: '{count} {countUnits} maximum', + id: 'usageSubtitle', + }, various: { defaultMessage: 'Various', description: 'Various', diff --git a/src/routes/components/charts/common/chartDatum.ts b/src/routes/components/charts/common/chartDatum.ts index 69e0389d2..98f007662 100644 --- a/src/routes/components/charts/common/chartDatum.ts +++ b/src/routes/components/charts/common/chartDatum.ts @@ -77,8 +77,10 @@ export function transformReport( }, []); } else { chartDatums = computedItems.map(i => { - const val = i[reportItem][reportItemValue] ? i[reportItem][reportItemValue].value : i[reportItem].value; - return createReportDatum(val, i, idKey, reportItem, reportItemValue); + if (i[reportItem]) { + const val = i[reportItem][reportItemValue] ? i[reportItem][reportItemValue].value : i[reportItem].value; + return createReportDatum(val, i, idKey, reportItem, reportItemValue); + } }); } return idKey === 'date' ? padChartDatums(chartDatums, datumType) : chartDatums; @@ -112,8 +114,8 @@ export function fillChartDatums(datums: ChartDatum[], datumType): ChartDatum[] { if (!datums || datums.length === 0) { return result; } - const firstDate = new Date(datums[0].key + 'T00:00:00'); - const lastDate = new Date(datums[datums.length - 1].key + 'T00:00:00'); + const firstDate = new Date(datums[0] ? datums[0].key + 'T00:00:00' : undefined); + const lastDate = new Date(datums[datums.length - 1] ? datums[datums.length - 1].key + 'T00:00:00' : undefined); const padDate = startOfMonth(firstDate); let prevChartDatum; @@ -156,8 +158,8 @@ export function padChartDatums(datums: ChartDatum[], datumType): ChartDatum[] { if (!datums || datums.length === 0) { return result; } - const firstDate = new Date(datums[0].key + 'T00:00:00'); - const lastDate = new Date(datums[datums.length - 1].key + 'T00:00:00'); + const firstDate = new Date(datums[0] ? datums[0].key + 'T00:00:00' : undefined); + const lastDate = new Date(datums[datums.length - 1] ? datums[datums.length - 1].key + 'T00:00:00' : undefined); // Pad start for missing data let padDate = startOfMonth(firstDate); diff --git a/src/routes/components/charts/historicalCostChart/__snapshots__/historicalCostChart.test.tsx.snap b/src/routes/components/charts/historicalCostChart/__snapshots__/historicalCostChart.test.tsx.snap index a8c0d5720..6401aa7c6 100644 --- a/src/routes/components/charts/historicalCostChart/__snapshots__/historicalCostChart.test.tsx.snap +++ b/src/routes/components/charts/historicalCostChart/__snapshots__/historicalCostChart.test.tsx.snap @@ -329,17 +329,17 @@ exports[`null previous and current reports are handled 1`] = ` Cost (no data) @@ -698,17 +698,17 @@ exports[`reports are formatted to datums 1`] = ` Cost ({dateRange}){"dateRange":""} diff --git a/src/routes/components/charts/historicalTrendChart/__snapshots__/historicalTrendChart.test.tsx.snap b/src/routes/components/charts/historicalTrendChart/__snapshots__/historicalTrendChart.test.tsx.snap index 484415978..97fffa9ec 100644 --- a/src/routes/components/charts/historicalTrendChart/__snapshots__/historicalTrendChart.test.tsx.snap +++ b/src/routes/components/charts/historicalTrendChart/__snapshots__/historicalTrendChart.test.tsx.snap @@ -293,12 +293,12 @@ exports[`null previous and current reports are handled 1`] = ` @@ -313,10 +313,10 @@ exports[`null previous and current reports are handled 1`] = ` style="fill: #8bc1f7;" /> Usage (no data) @@ -646,12 +646,12 @@ exports[`reports are formatted to datums 1`] = ` @@ -666,10 +666,10 @@ exports[`reports are formatted to datums 1`] = ` style="fill: #8bc1f7;" /> Cost ({dateRange}){"dateRange":""} diff --git a/src/routes/components/charts/historicalUsageChart/__snapshots__/historicalUsageChart.test.tsx.snap b/src/routes/components/charts/historicalUsageChart/__snapshots__/historicalUsageChart.test.tsx.snap index d2f9c23c8..15de8cfb3 100644 --- a/src/routes/components/charts/historicalUsageChart/__snapshots__/historicalUsageChart.test.tsx.snap +++ b/src/routes/components/charts/historicalUsageChart/__snapshots__/historicalUsageChart.test.tsx.snap @@ -114,13 +114,11 @@ exports[`reports are formatted to datums 1`] = ` @@ -420,27 +416,27 @@ exports[`reports are formatted to datums 1`] = ` style="fill: #8bc1f7;" /> Usage ({dateRange}){"dateRange":""} @@ -528,7 +524,7 @@ exports[`reports are formatted to datums 1`] = ` dx="0" id="exampleUsageChart-legend-ChartLabel-2" x="30.8" - y="127.875" + y="110.97" > - Requests ({dateRange}){"dateRange":""} + Requests (no data) - Requests ({dateRange}){"dateRange":""} + Requests (no data) Limit (no data) diff --git a/src/routes/components/charts/historicalUsageChart/historicalUsageChart.test.tsx b/src/routes/components/charts/historicalUsageChart/historicalUsageChart.test.tsx index 8d2c3c72c..ce91d6972 100644 --- a/src/routes/components/charts/historicalUsageChart/historicalUsageChart.test.tsx +++ b/src/routes/components/charts/historicalUsageChart/historicalUsageChart.test.tsx @@ -31,7 +31,7 @@ test('reports are formatted to datums', () => { render(); /* eslint-disable-next-line testing-library/no-node-access */ expect(screen.getByText(props.title).parentElement).toMatchSnapshot(); - expect(screen.getAllByText(/no data/i).length).toBe(2); + expect(screen.getAllByText(/no data/i).length).toBe(4); }); test('null previous and current reports are handled', () => { diff --git a/src/routes/components/charts/trendChart/__snapshots__/trendChart.test.tsx.snap b/src/routes/components/charts/trendChart/__snapshots__/trendChart.test.tsx.snap index a315c8396..caccd3d0b 100644 --- a/src/routes/components/charts/trendChart/__snapshots__/trendChart.test.tsx.snap +++ b/src/routes/components/charts/trendChart/__snapshots__/trendChart.test.tsx.snap @@ -276,12 +276,12 @@ exports[`reports are formatted to datums 1`] = ` @@ -296,7 +296,7 @@ exports[`reports are formatted to datums 1`] = ` style="fill: #d2d2d2;" /> @@ -347,7 +343,7 @@ exports[`reports are formatted to datums 1`] = ` style="fill: #d2d2d2;" /> - Requests ({dateRange}){"dateRange":""} + Requests (no data) - Requests ({dateRange}){"dateRange":""} + Requests (no data) diff --git a/src/routes/components/costType/costType.tsx b/src/routes/components/costType/costType.tsx index 0be78621f..a5d52da41 100644 --- a/src/routes/components/costType/costType.tsx +++ b/src/routes/components/costType/costType.tsx @@ -43,7 +43,7 @@ type CostTypeProps = CostTypeOwnProps & CostTypeDispatchProps & CostTypeStatePro // eslint-disable-next-line no-shadow export const enum CostTypes { - amortized = 'savingsplan_effective_cost', + amortized = 'calculated_amortized_cost', blended = 'blended_cost', unblended = 'unblended_cost', } diff --git a/src/routes/components/reports/reportSummary/reportSummaryItem.test.tsx b/src/routes/components/reports/reportSummary/reportSummaryItem.test.tsx index 7f89e880a..e635b6404 100644 --- a/src/routes/components/reports/reportSummary/reportSummaryItem.test.tsx +++ b/src/routes/components/reports/reportSummary/reportSummaryItem.test.tsx @@ -19,7 +19,7 @@ test('formats value', () => { expect(screen.getByText(/label/i)).not.toBeNull(); expect( screen.getByText( - '{value} {units} ({percent} %){"percent":"10","units":"{units, select, byte_ms {Byte-ms} core_hours {core-hours} gb {GB} gb_hours {GB-hours} gb_mo {GB-month} gb_ms {GB-ms} gibibyte_month {GiB-month} hour {hours} hrs {hours} ms {milliseconds} vm_hours {VM-hours} other {}}{}","value":100}' + '{value} {units} ({percent} %){"percent":"10","units":"{units, select, byte_ms {Byte-ms} core {core} core_hours {core-hours} gb {GB} gb_hours {GB-hours} gb_mo {GB-month} gb_ms {GB-ms} gibibyte_month {GiB-month} hour {hours} hrs {hours} ms {milliseconds} vm_hours {VM-hours} other {}}{}","value":100}' ) ).not.toBeNull(); expect(screen.getByRole('progressbar').getAttribute('aria-valuenow')).toBe('10'); diff --git a/src/routes/costModels/components/inputs/rateInput.tsx b/src/routes/costModels/components/inputs/rateInput.tsx index e063c2a1f..b64e695a9 100644 --- a/src/routes/costModels/components/inputs/rateInput.tsx +++ b/src/routes/costModels/components/inputs/rateInput.tsx @@ -43,8 +43,10 @@ const RateInputBase: React.FC = ({ isRequired style={style} fieldId={fieldId} - label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : label} - helperTextInvalid={helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : helpText} + label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : (label as string)} + helperTextInvalid={ + helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : (helpText as string) + } validated={validated} > diff --git a/src/routes/costModels/components/inputs/selector.tsx b/src/routes/costModels/components/inputs/selector.tsx index 35dc427c0..7129c8a60 100644 --- a/src/routes/costModels/components/inputs/selector.tsx +++ b/src/routes/costModels/components/inputs/selector.tsx @@ -83,8 +83,10 @@ const SelectorBase: React.FC = ({ isRequired={isRequired} style={style} fieldId={id} - label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : label} - helperTextInvalid={helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : helpText} + label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : (label as string)} + helperTextInvalid={ + helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : (helpText as string) + } validated={isInvalid ? 'error' : 'default'} > = ({ isRequired={isRequired} style={style} fieldId={id} - label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : label} - helperTextInvalid={helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : helpText} + label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : (label as string)} + helperTextInvalid={ + helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : (helpText as string) + } validated={validated} > = ({ canWrite, costModels, intl, - {rows.map((r, rowIndex) => ( + {rows.map((r: any, rowIndex) => ( {r} diff --git a/src/routes/settings/costModels/costModelWizard/sources.tsx b/src/routes/settings/costModels/costModelWizard/sources.tsx index f1bbcab20..f3e947998 100644 --- a/src/routes/settings/costModels/costModelWizard/sources.tsx +++ b/src/routes/settings/costModels/costModelWizard/sources.tsx @@ -10,14 +10,14 @@ class Sources extends React.Component { constructor(props) { super(props); this.fetchData = () => { - const { type, query, page, perPage, fetchSources } = this.context; + const { type, query, page, perPage, fetchSources } = this.context as any; const sourceType = type === 'Azure' ? 'Azure' : type; fetchSources(sourceType, query, page, perPage); }; } public componentDidMount() { - const { dataFetched } = this.context; + const { dataFetched } = this.context as any; if (dataFetched) { return; } @@ -25,11 +25,11 @@ class Sources extends React.Component { } public renderContent() { - if (this.context.loading) { + if ((this.context as any).loading) { return ; } - if (this.context.apiError) { + if ((this.context as any).apiError) { return ; } return ; diff --git a/src/routes/settings/settings.tsx b/src/routes/settings/settings.tsx index 4d0ae0c52..bd920c778 100644 --- a/src/routes/settings/settings.tsx +++ b/src/routes/settings/settings.tsx @@ -6,6 +6,7 @@ import type { UserAccess } from 'api/userAccess'; import { UserAccessType } from 'api/userAccess'; import type { AxiosError } from 'axios'; import messages from 'locales/messages'; +import type { RefObject } from 'react'; import React, { useState } from 'react'; import { useIntl } from 'react-intl'; import { useSelector } from 'react-redux'; @@ -53,7 +54,7 @@ export const getIdKeyForTab = (tab: SettingsTab) => { }; interface AvailableTab { - contentRef: React.ReactNode; + contentRef: RefObject; tab: SettingsTab; } @@ -81,7 +82,7 @@ const Settings: React.FC = ({ chrome }) => { const intl = useIntl(); const getAvailableTabs = () => { - const availableTabs = [ + const availableTabs: AvailableTab[] = [ { contentRef: React.createRef(), tab: SettingsTab.costModels, diff --git a/src/routes/utils/computedReport/getComputedReportItems.ts b/src/routes/utils/computedReport/getComputedReportItems.ts index c9a77cea4..c50ccafba 100644 --- a/src/routes/utils/computedReport/getComputedReportItems.ts +++ b/src/routes/utils/computedReport/getComputedReportItems.ts @@ -97,77 +97,111 @@ function getClusters(val, item?: any) { } function getCostData(val, key, item?: any) { + const defaultUnits = 'USD'; return { - distributed: { - value: - (item && item[key] && item[key].distributed ? item[key].distributed.value : 0) + - (val[key] && val[key].distributed ? val[key].distributed.value : 0), - units: val && val[key] && val[key].distributed ? val[key].distributed.units : 'USD', - }, - markup: { - value: - (item && item[key] && item[key].markup ? item[key].markup.value : 0) + - (val[key] && val[key].markup ? val[key].markup.value : 0), - units: val && val[key] && val[key].markup ? val[key].markup.units : 'USD', - }, - platformDistributed: { - value: - (item && item[key] && item[key].platform_distributed ? item[key].platform_distributed.value : 0) + - (val[key] && val[key].platform_distributed ? val[key].platform_distributed.value : 0), - units: val && val[key] && val[key].platform_distributed ? val[key].platform_distributed.units : 'USD', - }, - raw: { - value: - (item && item[key] && item[key].raw ? item[key].raw.value : 0) + - (val[key] && val[key].raw ? val[key].raw.value : 0), - units: val && val[key] && val[key].raw ? val[key].raw.units : 'USD', - }, - total: { - value: - (item && item[key] && item[key].total ? item[key].total.value : 0) + - (val[key] && val[key].total ? Number(val[key].total.value) : 0), - units: val && val[key] && val[key].total ? val[key].total.units : null, - }, - usage: { - value: - (item && item[key] && item[key].usage ? item[key].usage.value : 0) + - (val[key] && val[key].usage ? Number(val[key].usage.value) : 0), - units: val && val[key] && val[key].usage ? val[key].usage.units : null, - }, - workerUnallocatedDistributed: { - value: - (item && item[key] && item[key].worker_unallocated_distributed - ? item[key].worker_unallocated_distributed.value - : 0) + - (val[key] && val[key].worker_unallocated_distributed - ? Number(val[key].worker_unallocated_distributed.value) - : 0), - units: - val && val[key] && val[key].worker_unallocated_distributed - ? val[key].worker_unallocated_distributed.units - : null, - }, + ...(val[key] && + val[key].distributed && { + distributed: { + value: val[key].distributed.value + (item && item[key]?.distributed ? item[key].distributed.value : 0), + units: val[key].distributed.units ? val[key].distributed.units : defaultUnits, + }, + }), + ...(val[key] && + val[key].markup && { + markup: { + value: val[key].markup.value + (item && item[key]?.markup ? item[key].markup.value : 0), + units: val[key].markup.units ? val[key].markup.units : defaultUnits, + }, + }), + ...(val[key] && + val[key].platform_distributed && { + platformDistributed: { + value: + val[key].platform_distributed.value + + (item && item[key]?.platform_distributed ? item[key].platform_distributed.value : 0), + units: val[key].platform_distributed.units ? val[key].platform_distributed.units : defaultUnits, + }, + }), + ...(val[key] && + val[key].total && { + raw: { + value: val[key].raw.value + (item && item[key]?.raw ? item[key].raw.value : 0), + units: val[key].raw.units ? val[key].raw.units : defaultUnits, + }, + }), + ...(val[key] && + val[key].total && { + total: { + value: val[key].total.value + (item && item[key]?.total ? item[key].total.value : 0), + units: val[key].total.units ? val[key].total.units : defaultUnits, + }, + }), + ...(val[key] && + val[key].usage && { + usage: { + value: val[key].usage.value + (item && item[key]?.usage ? item[key].usage.value : 0), + units: val[key].usage.units ? val[key].usage.units : defaultUnits, + }, + }), + ...(val[key] && + val[key].worker_unallocated_distributed && { + workerUnallocatedDistributed: { + value: + val[key].worker_unallocated_distributed.value + + (item && item[key]?.worker_unallocated_distributed ? item[key].worker_unallocated_distributed.value : 0), + units: val[key].worker_unallocated_distributed.units + ? val[key].worker_unallocated_distributed.units + : defaultUnits, + }, + }), }; } function getUsageData(val, item?: any) { + const defaultUnits = 'Core-Hours'; return { - capacity: { - value: (item && item.capacity ? item.capacity.value : 0) + (val.capacity ? val.capacity.value : 0), - units: val && val.capacity ? val.capacity.units : 'Core-Hours', - }, - limit: { - value: (item && item.limit ? item.limit.value : 0) + (val.limit ? val.limit.value : 0), - units: val && val.limit ? val.limit.units : 'Core-Hours', - }, - request: { - value: (item && item.request ? item.request.value : 0) + (val.request ? val.request.value : 0), - units: val && val.request ? val.request.units : 'Core-Hours', - }, - usage: { - value: (item && item.usage ? item.usage.value : 0) + (val.usage ? val.usage.value : 0), - units: val && val.usage ? val.usage.units : 'Core-Hours', - }, + ...(val.capacity && { + capacity: { + value: val.capacity.value + (item?.capacity ? item.capacity.value : 0), + units: val.capacity.units ? val.capacity.units : defaultUnits, + ...(val.capacity.count !== undefined && { + count: val.capacity.count + (item?.capacity ? item.capacity.count : 0), + }), + ...(val.capacity.count_units && { + count_units: val.capacity.count_units, + }), + ...(val.capacity.unused !== undefined && { + unused: val.capacity.unused + (item?.capacity ? item.capacity.unused : 0), + }), + ...(val.capacity.unused_percent !== undefined && { + unused_percent: val.capacity.unused_percent + (item?.capacity ? item.capacity.unused_percent : 0), + }), + }, + }), + ...(val.limit && { + limit: { + value: val.limit.value + (item?.limit ? item.limit.value : 0), + units: val.limit.units ? val.limit.units : defaultUnits, + }, + }), + ...(val.request && { + request: { + value: val.request.value + (item?.request ? item.request.value : 0), + units: val.request.units ? val.request.units : defaultUnits, + ...(val.request.unused !== undefined && { + unused: val.request.unused + (item?.request ? item.request.unused : 0), + }), + ...(val.request.unused_percent !== undefined && { + unused_percent: val.request.unused_percent + (item?.request ? item.request.unused_percent : 0), + }), + }, + }), + ...(val.usage && { + usage: { + value: val.usage.value + (item?.usage ? item.usage.value : 0), + units: val.usage.units ? val.usage.units : defaultUnits, + }, + }), }; } diff --git a/src/utils/format.ts b/src/utils/format.ts index fd900b540..b43d34ed9 100644 --- a/src/utils/format.ts +++ b/src/utils/format.ts @@ -228,6 +228,7 @@ export const unitsLookupKey = (units): string => { switch (lookup) { case 'byte_ms': + case 'core': case 'core_hours': case 'gb': case 'gb_hours':