From 5ea7d9e24e36eb7b70407fb2cb7efdf9d8ea137e Mon Sep 17 00:00:00 2001 From: Dan Labrecque Date: Fri, 30 Aug 2024 14:14:52 -0400 Subject: [PATCH] PatternFly v6 milestone --- package-lock.json | 992 +++++++++++++----- package.json | 18 +- src/app.tsx | 4 +- src/appEntry.tsx | 2 +- .../components/charts/common/chartUtils.ts | 2 +- .../components/charts/theme/theme-utils.ts | 2 +- .../components/dataTable/dataTable.scss | 12 +- .../components/dataTable/dataTable.styles.ts | 24 +- src/routes/components/dataTable/dataTable.tsx | 12 +- .../components/dataTable/selectableTable.tsx | 12 +- .../components/dataToolbar/basicToolbar.tsx | 5 +- .../components/dataToolbar/dataToolbar.scss | 6 +- .../dataToolbar/dataToolbar.styles.ts | 14 - .../components/dataToolbar/utils/category.tsx | 12 +- .../components/dataToolbar/utils/common.ts | 8 +- .../components/dataToolbar/utils/custom.tsx | 4 +- .../components/page/loading/loading.tsx | 2 +- .../page/noOptimizations/noOptimizations.tsx | 2 +- .../noOptimizations/noOptimizationsState.tsx | 21 +- .../page/notAuthorized/notAuthorized.tsx | 2 +- .../page/notAuthorized/notAuthorizedState.tsx | 4 +- .../page/notAvailable/notAvailable.tsx | 2 +- .../page/notConfigured/notConfigured.tsx | 2 +- .../page/notConfigured/notConfiguredState.tsx | 22 +- .../components/page/notFound/notFound.tsx | 6 +- .../components/page/welcome/welcome.tsx | 2 +- .../components/page/welcome/welcomeState.tsx | 21 +- .../perspective/perspective.styles.ts | 4 +- .../resourceTypeahead/resourceFetch.tsx | 4 +- .../resourceTypeahead/resourceInput.tsx | 9 +- .../components/selectWrapper/select.styles.ts | 4 +- .../selectWrapper/selectWrapper.scss | 4 +- .../emptyFilterState/emptyFilterState.tsx | 11 +- .../emptyValueState/emptyValueState.scss | 2 +- .../state/errorState/errorState.tsx | 17 +- .../state/loadingState/loadingState.tsx | 5 +- .../optimizedState/optimizedState.styles.ts | 8 - .../state/optimizedState/optimizedState.tsx | 24 +- .../optimizationsBreakdown.styles.ts | 28 +- .../optimizationsBreakdown.tsx | 37 +- .../optimizationsBreakdownChart.styles.ts | 8 +- .../optimizationsBreakdownChart.tsx | 2 +- .../optimizationsBreakdownHeader.styles.ts | 23 +- .../optimizationsBreakdownHeader.tsx | 53 +- ...ptimizationsBreakdownUtilization.styles.ts | 10 +- .../optimizationsBreakdownUtilization.tsx | 64 +- .../optimizationsDetails.styles.ts | 14 - .../optimizationsDetails.tsx | 33 +- .../optimizationsDetailsHeader.styles.ts | 19 +- .../optimizationsDetailsHeader.tsx | 65 +- .../optimizations.styles.ts | 4 +- .../optimizationsSummary.scss | 4 +- .../optimizationsSummary.tsx | 5 +- .../optimizationsTable/optimizationsTable.tsx | 6 +- .../optimizationsToolbar.tsx | 6 +- .../optimizationsBadgeStaging.tsx | 2 +- .../optimizationsLinkStaging.tsx | 2 +- .../optimizationsSummaryStaging.tsx | 2 +- .../optimizationsTableStaging.tsx | 2 +- .../accountSettings/accountSettingsActions.ts | 2 +- src/store/rootReducer.ts | 2 +- src/store/store.ts | 2 +- src/styles/global.css | 4 +- src/styles/revert.css | 12 +- src/styles/theme.ts | 31 +- 65 files changed, 1079 insertions(+), 670 deletions(-) delete mode 100644 src/routes/components/dataToolbar/dataToolbar.styles.ts delete mode 100644 src/routes/components/state/optimizedState/optimizedState.styles.ts delete mode 100644 src/routes/optimizations/optimizationsDetails/optimizationsDetails.styles.ts diff --git a/package-lock.json b/package-lock.json index ce0b802..5a90f12 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,13 +10,14 @@ "hasInstallScript": true, "license": "GNU AGPLv3", "dependencies": { - "@patternfly/patternfly": "5.4.2", - "@patternfly/react-charts": "7.4.8", - "@patternfly/react-component-groups": "5.5.5", - "@patternfly/react-core": "5.4.12", - "@patternfly/react-icons": "5.4.2", - "@patternfly/react-table": "5.4.13", - "@patternfly/react-tokens": "5.4.1", + "@ausuliv/frontend-components-notifications": "^4.1.6", + "@patternfly/patternfly": "6.1.0", + "@patternfly/react-charts": "8.1.0", + "@patternfly/react-component-groups": "6.1.0", + "@patternfly/react-core": "6.1.0", + "@patternfly/react-icons": "6.1.0", + "@patternfly/react-table": "6.1.0", + "@patternfly/react-tokens": "6.1.0", "@redhat-cloud-services/frontend-components": "^5.1.2", "@redhat-cloud-services/frontend-components-notifications": "^4.1.9", "@redhat-cloud-services/frontend-components-translations": "^3.2.14", @@ -117,6 +118,106 @@ "node": ">=6.0.0" } }, + "node_modules/@ausuliv/frontend-components": { + "version": "4.2.12", + "resolved": "https://registry.npmjs.org/@ausuliv/frontend-components/-/frontend-components-4.2.12.tgz", + "integrity": "sha512-f8FkVMPy/1uD/pEZyc6NA9BWGzlWO31c3pBFVubPuHeb8AmdA9CdVWDyY5cFx07WgbrEPtXlzHNWyTkMycT85g==", + "license": "Apache-2.0", + "dependencies": { + "@ausuliv/frontend-components-utilities": "^4.0.10", + "@patternfly/react-component-groups": "6.0.0-prerelease.4", + "@redhat-cloud-services/types": "^0.0.24", + "@scalprum/core": "^0.7.0", + "@scalprum/react-core": "^0.7.0", + "classnames": "^2.2.5", + "sanitize-html": "^2.7.2" + }, + "peerDependencies": { + "@patternfly/react-core": "6.0.0-prerelease.21", + "@patternfly/react-icons": "6.0.0-prerelease.7", + "@patternfly/react-table": "6.0.0-prerelease.22", + "lodash": "^4.17.15", + "prop-types": "^15.6.2", + "react": "^18.2.0", + "react-content-loader": "^6.2.0", + "react-dom": "^18.2.0", + "react-redux": ">=7.0.0", + "react-router-dom": "^5.0.0 || ^6.0.0" + } + }, + "node_modules/@ausuliv/frontend-components-notifications": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@ausuliv/frontend-components-notifications/-/frontend-components-notifications-4.1.6.tgz", + "integrity": "sha512-z2QFI2olDv7ypHhvzs8rFGv7HGhYgfu9Fd8Vjk312yzsUxXGiaDdSVdzwKxvKH9IVgBVeR3MZSyNFPvVTlzKKg==", + "license": "Apache-2.0", + "dependencies": { + "@ausuliv/frontend-components": "^4.2.9", + "@ausuliv/frontend-components-utilities": "^4.0.11", + "redux-promise-middleware": "6.1.3" + }, + "peerDependencies": { + "@patternfly/react-core": "6.0.0-prerelease.21", + "@patternfly/react-icons": "6.0.0-prerelease.7", + "prop-types": "^15.6.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-redux": ">=7.2.9", + "redux": ">=4.2.0" + } + }, + "node_modules/@ausuliv/frontend-components-utilities": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/@ausuliv/frontend-components-utilities/-/frontend-components-utilities-4.0.14.tgz", + "integrity": "sha512-VTv1tnnY1DcxZZR9XsVgXzM6OEqubsxb5GBV6JpH6UJPZ97cRrijLvNm49FyinUP3ZdUEJkiEC7RZSeDqWHktQ==", + "license": "Apache-2.0", + "dependencies": { + "@redhat-cloud-services/rbac-client": "^1.0.100", + "@redhat-cloud-services/types": "^0.0.24", + "@sentry/browser": "^5.30.0", + "awesome-debounce-promise": "^2.1.0", + "axios": "^0.28.1", + "commander": "^2.20.3", + "mkdirp": "^1.0.4", + "p-all": "^5.0.0", + "react-content-loader": "^6.2.0" + }, + "peerDependencies": { + "@patternfly/react-core": "6.0.0-prerelease.21", + "@patternfly/react-table": "6.0.0-prerelease.22", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-redux": ">=7.0.0", + "react-router-dom": "^5.0.0 || ^6.0.0" + } + }, + "node_modules/@ausuliv/frontend-components-utilities/node_modules/axios": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.28.1.tgz", + "integrity": "sha512-iUcGA5a7p0mVb4Gm/sy+FSECNkPFT4y7wt6OM/CDpO/OnNCvSs3PoMG8ibrC9jRoGYU0gUK5pXVC4NPXq6lHRQ==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/@ausuliv/frontend-components/node_modules/@patternfly/react-component-groups": { + "version": "6.0.0-prerelease.4", + "resolved": "https://registry.npmjs.org/@patternfly/react-component-groups/-/react-component-groups-6.0.0-prerelease.4.tgz", + "integrity": "sha512-0NDPUaIaX5AqaLWo1QrTqiLI7LMkBr5qgC9ZP9nacWGtNhBhIc4pJfcAjvyr/jb8AtJQdDEMnTAUSZkj7aMmZw==", + "license": "MIT", + "dependencies": { + "@patternfly/react-core": "^6.0.0-prerelease.21", + "@patternfly/react-icons": "^6.0.0-prerelease.7", + "@patternfly/react-table": "^6.0.0-prerelease.22", + "clsx": "^2.1.1", + "react-jss": "^10.10.0" + }, + "peerDependencies": { + "react": "^17 || ^18", + "react-dom": "^17 || ^18" + } + }, "node_modules/@babel/code-frame": { "version": "7.26.2", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", @@ -133,9 +234,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz", - "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", + "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", "dev": true, "license": "MIT", "engines": { @@ -184,14 +285,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz", - "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", + "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.3", - "@babel/types": "^7.26.3", + "@babel/parser": "^7.26.5", + "@babel/types": "^7.26.5", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -201,13 +302,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", - "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.9", + "@babel/compat-data": "^7.26.5", "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -260,9 +361,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", - "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", "dev": true, "license": "MIT", "engines": { @@ -314,13 +415,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", - "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", + "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.26.3" + "@babel/types": "^7.26.5" }, "bin": { "parser": "bin/babel-parser.js" @@ -596,17 +697,17 @@ } }, "node_modules/@babel/traverse": { - "version": "7.26.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz", - "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.5.tgz", + "integrity": "sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.3", - "@babel/parser": "^7.26.3", + "@babel/generator": "^7.26.5", + "@babel/parser": "^7.26.5", "@babel/template": "^7.25.9", - "@babel/types": "^7.26.3", + "@babel/types": "^7.26.5", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -625,9 +726,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", - "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", + "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", "dev": true, "license": "MIT", "dependencies": { @@ -2179,54 +2280,107 @@ } }, "node_modules/@patternfly/patternfly": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-5.4.2.tgz", - "integrity": "sha512-+BaokNR8/AmTYMESxby9UtQXPGACg449BXQd0KejAvW/uGxlgO6mY1X1205DeBEHoK3e/vXkYXjvZPpv/tcxSA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-6.1.0.tgz", + "integrity": "sha512-w+QazL8NHKkg5j01eotblsswKxQQSYB0CN3yBXQL9ScpHdp/fK8M6TqWbKZNRpf+NqhMxcH/om8eR0N/fDCJqw==", "license": "MIT" }, "node_modules/@patternfly/react-charts": { - "version": "7.4.8", - "resolved": "https://registry.npmjs.org/@patternfly/react-charts/-/react-charts-7.4.8.tgz", - "integrity": "sha512-Rv2ajbb7kmwcrZIolcaH8RzIMx3+6ldtJlKQoChmNggXGgKFtg3/QBlc9Qj+14LW0LSQ12ZprmRvHZ/Viyq+Qw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-charts/-/react-charts-8.1.0.tgz", + "integrity": "sha512-nywK5d4WLCOyw3pcSlMHcGQezyHClwzsLEegO58QMh0GvsM2DvEsylpsJdQZIE3ApMd+RVu97XZD21EQKxpIiA==", "license": "MIT", "dependencies": { - "@patternfly/react-styles": "^5.4.1", - "@patternfly/react-tokens": "^5.4.1", + "@patternfly/react-styles": "^6.1.0", + "@patternfly/react-tokens": "^6.1.0", "hoist-non-react-statics": "^3.3.2", "lodash": "^4.17.21", - "tslib": "^2.7.0", - "victory-area": "^37.3.4", - "victory-axis": "^37.3.4", - "victory-bar": "^37.3.4", - "victory-box-plot": "^37.3.4", - "victory-chart": "^37.3.4", - "victory-core": "^37.3.4", - "victory-create-container": "^37.3.4", - "victory-cursor-container": "^37.3.4", - "victory-group": "^37.3.4", - "victory-legend": "^37.3.4", - "victory-line": "^37.3.4", - "victory-pie": "^37.3.4", - "victory-scatter": "^37.3.4", - "victory-stack": "^37.3.4", - "victory-tooltip": "^37.3.4", - "victory-voronoi-container": "^37.3.4", - "victory-zoom-container": "^37.3.4" + "tslib": "^2.8.1" }, "peerDependencies": { "react": "^17 || ^18", - "react-dom": "^17 || ^18" + "react-dom": "^17 || ^18", + "victory-area": "^37.3.3", + "victory-axis": "^37.3.2", + "victory-bar": "^37.3.2", + "victory-box-plot": "^37.3.2", + "victory-chart": "^37.3.3", + "victory-core": "^37.3.2", + "victory-create-container": "^37.3.2", + "victory-cursor-container": "^37.3.2", + "victory-group": "^37.3.2", + "victory-legend": "^37.3.2", + "victory-line": "^37.3.2", + "victory-pie": "^37.3.2", + "victory-scatter": "^37.3.2", + "victory-stack": "^37.3.2", + "victory-tooltip": "^37.3.2", + "victory-voronoi-container": "^37.3.2", + "victory-zoom-container": "^37.3.2" + }, + "peerDependenciesMeta": { + "victory-area": { + "optional": true + }, + "victory-axis": { + "optional": true + }, + "victory-bar": { + "optional": true + }, + "victory-box-plot": { + "optional": true + }, + "victory-chart": { + "optional": true + }, + "victory-core": { + "optional": true + }, + "victory-create-container": { + "optional": true + }, + "victory-cursor-container": { + "optional": true + }, + "victory-group": { + "optional": true + }, + "victory-legend": { + "optional": true + }, + "victory-line": { + "optional": true + }, + "victory-pie": { + "optional": true + }, + "victory-scatter": { + "optional": true + }, + "victory-stack": { + "optional": true + }, + "victory-tooltip": { + "optional": true + }, + "victory-voronoi-container": { + "optional": true + }, + "victory-zoom-container": { + "optional": true + } } }, "node_modules/@patternfly/react-component-groups": { - "version": "5.5.5", - "resolved": "https://registry.npmjs.org/@patternfly/react-component-groups/-/react-component-groups-5.5.5.tgz", - "integrity": "sha512-Cgp1XxyBWnEDKAQsP+B7A4wlz6Bcp0bjwSMamdOiCR4GALtpBXXGrv6daAomoVCkL9l3zibcAfm/o9d9XBE9Ag==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-component-groups/-/react-component-groups-6.1.0.tgz", + "integrity": "sha512-8RkQv9wQk+D+nUMFtl4uk0ddMvxZ/+jFwnnXe2fw/BulouDVbpKRI24C1S8i1OQHr3++CbocBmmWRV0iw9Kvlw==", "license": "MIT", "dependencies": { - "@patternfly/react-core": "^5.4.1", - "@patternfly/react-icons": "^5.4.0", - "@patternfly/react-table": "^5.4.1", + "@patternfly/react-core": "^6.0.0", + "@patternfly/react-icons": "^6.0.0", + "@patternfly/react-table": "^6.0.0", "clsx": "^2.1.1", "react-jss": "^10.10.0" }, @@ -2236,17 +2390,17 @@ } }, "node_modules/@patternfly/react-core": { - "version": "5.4.12", - "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-5.4.12.tgz", - "integrity": "sha512-RI1xS1JGJdE/FvpkMzawaE21oeTc/e+WbxvFXqZfLhTz60P8RzVG1nYWXDL747Onkz3SYtY79PhQ8nsLeO5sJQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-6.1.0.tgz", + "integrity": "sha512-zj0lJPZxQanXKD8ae2kYnweT0kpp1CzpHYAkaBjTrw2k6ZMfr/UPlp0/ugCjWEokBqh79RUADLkKJJPce/yoSQ==", "license": "MIT", "dependencies": { - "@patternfly/react-icons": "^5.4.2", - "@patternfly/react-styles": "^5.4.1", - "@patternfly/react-tokens": "^5.4.1", + "@patternfly/react-icons": "^6.1.0", + "@patternfly/react-styles": "^6.1.0", + "@patternfly/react-tokens": "^6.1.0", "focus-trap": "7.6.2", - "react-dropzone": "^14.2.3", - "tslib": "^2.7.0" + "react-dropzone": "^14.3.5", + "tslib": "^2.8.1" }, "peerDependencies": { "react": "^17 || ^18", @@ -2254,9 +2408,9 @@ } }, "node_modules/@patternfly/react-icons": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-5.4.2.tgz", - "integrity": "sha512-CMQ5oHYzW6TPVTs2jpNJmP2vGCAKR/YeTPwHGO9dLkAUej1IcIxtCCWK2Fdo2UJsnBjuZihasyw2b6ehvbUm9Q==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-6.1.0.tgz", + "integrity": "sha512-V1w/j19YmOgvh72IRRf1p07k+u4M5+9P+o/IxunlF0fWzLDX4Hf+utBI11A8cRfUzpQN7eLw/vZIS3BLM8Ge3Q==", "license": "MIT", "peerDependencies": { "react": "^17 || ^18", @@ -2264,23 +2418,23 @@ } }, "node_modules/@patternfly/react-styles": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-5.4.1.tgz", - "integrity": "sha512-XA8PXksD8uiA3RTwxdUwJXOCf+V6sVd+2HKapWAdRLvtSV+Sdk7NgCvalb4IAQncsddLopjPQD8gAHA298+N8w==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-6.1.0.tgz", + "integrity": "sha512-JQ3zIl5SFiSB0YWVYibcUwgZdsp6Wn8hkfZ7KhtCjHFccSDdJexPOXVV1O9f2h4PfxTlY3YntZ81ZsguBx/Q7A==", "license": "MIT" }, "node_modules/@patternfly/react-table": { - "version": "5.4.13", - "resolved": "https://registry.npmjs.org/@patternfly/react-table/-/react-table-5.4.13.tgz", - "integrity": "sha512-cYw+pgpZXKGg3dZxudteUURqmj5O0ec7aNE80NLqFTcnI0MAOnfrFzCNApXJErn+MjD0VolMcC+H48eaRkT8TA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-table/-/react-table-6.1.0.tgz", + "integrity": "sha512-eC8mKkvFR0btfv6yEOvE+J4gBXU8ZGe9i2RSezBM+MJaXEQt/CKRjV+SAB5EeE3PyBYKG8yYDdsOoNmaPxxvSA==", "license": "MIT", "dependencies": { - "@patternfly/react-core": "^5.4.12", - "@patternfly/react-icons": "^5.4.2", - "@patternfly/react-styles": "^5.4.1", - "@patternfly/react-tokens": "^5.4.1", + "@patternfly/react-core": "^6.1.0", + "@patternfly/react-icons": "^6.1.0", + "@patternfly/react-styles": "^6.1.0", + "@patternfly/react-tokens": "^6.1.0", "lodash": "^4.17.21", - "tslib": "^2.7.0" + "tslib": "^2.8.1" }, "peerDependencies": { "react": "^17 || ^18", @@ -2288,9 +2442,9 @@ } }, "node_modules/@patternfly/react-tokens": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-5.4.1.tgz", - "integrity": "sha512-eygdHE7Krta1mijAv/E8RHiKIgysD0eeNTo8EXUYC8/M4e5K6sqpr2p6rQBF8QiRMN8FnbXvZT3K2OQ28pYt9Q==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-6.1.0.tgz", + "integrity": "sha512-t1UcHbOa4txczTR5UlnG4XcAAdnDSfSlCaOddw/HTqRF59pn2ks2JUu9sfnFRZ8SiAAxKRiYdX5bT7Mf4R24+w==", "license": "MIT" }, "node_modules/@pkgjs/parseargs": { @@ -2522,27 +2676,133 @@ "react-router-dom": "^5.0.0 || ^6.0.0" } }, - "node_modules/@redhat-cloud-services/javascript-clients-shared": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/javascript-clients-shared/-/javascript-clients-shared-1.2.7.tgz", - "integrity": "sha512-DfH1Sdjwc9YYVM2wLznnNfC3+DFpdH8Ak59LW93KQWaPAn8ZHDoEXi/TZ8MisEgWTQv7jpsDVtlVQwOWkzKhUA==", + "node_modules/@redhat-cloud-services/frontend-components-utilities/node_modules/@redhat-cloud-services/types": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/types/-/types-1.0.19.tgz", + "integrity": "sha512-rRAIqLdtqZsBjY//kXfCY8VHEvw1LQxjdLaMRyr1qyGXZZTopl5itFcyOIJkQfeLuBYVibork1pYUI6Czxy3EQ==", + "license": "Apache-2.0" + }, + "node_modules/@redhat-cloud-services/frontend-components-utilities/node_modules/@sentry/browser": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.120.3.tgz", + "integrity": "sha512-i9vGcK9N8zZ/JQo1TCEfHHYZ2miidOvgOABRUc9zQKhYdcYQB2/LU1kqlj77Pxdxf4wOa9137d6rPrSn9iiBxg==", + "license": "MIT", + "dependencies": { + "@sentry-internal/feedback": "7.120.3", + "@sentry-internal/replay-canvas": "7.120.3", + "@sentry-internal/tracing": "7.120.3", + "@sentry/core": "7.120.3", + "@sentry/integrations": "7.120.3", + "@sentry/replay": "7.120.3", + "@sentry/types": "7.120.3", + "@sentry/utils": "7.120.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@redhat-cloud-services/frontend-components-utilities/node_modules/@sentry/core": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.120.3.tgz", + "integrity": "sha512-vyy11fCGpkGK3qI5DSXOjgIboBZTriw0YDx/0KyX5CjIjDDNgp5AGgpgFkfZyiYiaU2Ww3iFuKo4wHmBusz1uA==", + "license": "MIT", + "dependencies": { + "@sentry/types": "7.120.3", + "@sentry/utils": "7.120.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@redhat-cloud-services/frontend-components-utilities/node_modules/@sentry/types": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.120.3.tgz", + "integrity": "sha512-C4z+3kGWNFJ303FC+FxAd4KkHvxpNFYAFN8iMIgBwJdpIl25KZ8Q/VdGn0MLLUEHNLvjob0+wvwlcRBBNLXOow==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@redhat-cloud-services/frontend-components-utilities/node_modules/@sentry/utils": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.120.3.tgz", + "integrity": "sha512-UDAOQJtJDxZHQ5Nm1olycBIsz2wdGX8SdzyGVHmD8EOQYAeDZQyIlQYohDe9nazdIOQLZCIc3fU0G9gqVLkaGQ==", + "license": "MIT", + "dependencies": { + "@sentry/types": "7.120.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@redhat-cloud-services/frontend-components/node_modules/@patternfly/react-component-groups": { + "version": "5.5.8", + "resolved": "https://registry.npmjs.org/@patternfly/react-component-groups/-/react-component-groups-5.5.8.tgz", + "integrity": "sha512-v31FyvzewWiLVMOR8S4GgD1S+ZWqBPEawPkJG6Ja4BpF5dFJeke6lUovdEPTs4NQEUtBytF6Tsww38XGL6NaaA==", + "license": "MIT", + "dependencies": { + "@patternfly/react-core": "^5.4.1", + "@patternfly/react-icons": "^5.4.0", + "@patternfly/react-table": "^5.4.1", + "clsx": "^2.1.1", + "react-jss": "^10.10.0" + }, + "peerDependencies": { + "react": "^17 || ^18", + "react-dom": "^17 || ^18" + } + }, + "node_modules/@redhat-cloud-services/frontend-components/node_modules/@redhat-cloud-services/types": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/types/-/types-1.0.19.tgz", + "integrity": "sha512-rRAIqLdtqZsBjY//kXfCY8VHEvw1LQxjdLaMRyr1qyGXZZTopl5itFcyOIJkQfeLuBYVibork1pYUI6Czxy3EQ==", + "license": "Apache-2.0" + }, + "node_modules/@redhat-cloud-services/frontend-components/node_modules/@scalprum/core": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@scalprum/core/-/core-0.8.1.tgz", + "integrity": "sha512-bRbquESsjUvgu3QHA9aDIK5uTu7XoXjzqoxAmDmytnedzg8LFk/iNKs/bx4lSP2rufxx8iFkdVVvN3sM1W6a4A==", "license": "Apache-2.0", "dependencies": { - "axios": "^1.7.2", + "@openshift/dynamic-plugin-sdk": "^5.0.1", "tslib": "^2.6.2" } }, + "node_modules/@redhat-cloud-services/frontend-components/node_modules/@scalprum/react-core": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@scalprum/react-core/-/react-core-0.9.3.tgz", + "integrity": "sha512-AnBoFLZl+qYB9XnAJBHYZJTHHRFWCW6iYAojGkiqtD4luyiEMmd6SaCv2s8xs/b6l/KKkG2FU272sIYqb/FkAQ==", + "license": "Apache-2.0", + "dependencies": { + "@openshift/dynamic-plugin-sdk": "^5.0.1", + "@scalprum/core": "^0.8.1", + "lodash": "^4.17.0" + }, + "peerDependencies": { + "react": ">=16.8.0 || >=17.0.0 || ^18.0.0", + "react-dom": ">=16.8.0 || >=17.0.0 || ^18.0.0" + } + }, "node_modules/@redhat-cloud-services/rbac-client": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/rbac-client/-/rbac-client-2.2.11.tgz", - "integrity": "sha512-3LLW5XtBMqcdlYJ4lAFo7MaGnHXUBP01O3kty4ocU69EPjiip6/Gtj83vAx5hkgAWX9h6ZEntTDeDuU/ZfGdKQ==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/rbac-client/-/rbac-client-1.4.5.tgz", + "integrity": "sha512-7kryZfzEYuw1V7c8bO5esXnfeYQO4Skz1XhluJ2whZNji8HcVbwDjBsQxy0+ndaSVirh5d86fufb00vK6fyUjw==", "license": "Apache-2.0", "dependencies": { - "@redhat-cloud-services/javascript-clients-shared": "^1.2.4", - "axios": "^1.7.2", + "axios": "^0.27.2", "tslib": "^2.6.2" } }, + "node_modules/@redhat-cloud-services/rbac-client/node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, "node_modules/@redhat-cloud-services/tsc-transform-imports": { "version": "1.0.21", "resolved": "https://registry.npmjs.org/@redhat-cloud-services/tsc-transform-imports/-/tsc-transform-imports-1.0.21.tgz", @@ -2605,9 +2865,9 @@ } }, "node_modules/@redhat-cloud-services/types": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/types/-/types-1.0.19.tgz", - "integrity": "sha512-rRAIqLdtqZsBjY//kXfCY8VHEvw1LQxjdLaMRyr1qyGXZZTopl5itFcyOIJkQfeLuBYVibork1pYUI6Czxy3EQ==", + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/types/-/types-0.0.24.tgz", + "integrity": "sha512-P50stc+mnWLycID46/AKmD/760r5N1eoam//O6MUVriqVorUdht7xkUL78aJZU1vw8WW6xlrDHwz3F6BM148qg==", "license": "Apache-2.0" }, "node_modules/@reduxjs/toolkit": { @@ -2635,18 +2895,18 @@ } }, "node_modules/@remix-run/router": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.21.0.tgz", - "integrity": "sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.21.1.tgz", + "integrity": "sha512-KeBYSwohb8g4/wCcnksvKTYlg69O62sQeLynn2YE+5z7JWEj95if27kclW9QqbrlsQ2DINI8fjbV3zyuKfwjKg==", "license": "MIT", "engines": { "node": ">=14.0.0" } }, "node_modules/@scalprum/core": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@scalprum/core/-/core-0.8.1.tgz", - "integrity": "sha512-bRbquESsjUvgu3QHA9aDIK5uTu7XoXjzqoxAmDmytnedzg8LFk/iNKs/bx4lSP2rufxx8iFkdVVvN3sM1W6a4A==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@scalprum/core/-/core-0.7.0.tgz", + "integrity": "sha512-zvrPXexI+bxHGFY/teuwPI5yjnOuiq8uT+RDsrm3gnpr1AqZQVUiGdskl1ON/ci5lSs1kNadmXceF1BTKlicwg==", "license": "Apache-2.0", "dependencies": { "@openshift/dynamic-plugin-sdk": "^5.0.1", @@ -2654,13 +2914,13 @@ } }, "node_modules/@scalprum/react-core": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/@scalprum/react-core/-/react-core-0.9.3.tgz", - "integrity": "sha512-AnBoFLZl+qYB9XnAJBHYZJTHHRFWCW6iYAojGkiqtD4luyiEMmd6SaCv2s8xs/b6l/KKkG2FU272sIYqb/FkAQ==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@scalprum/react-core/-/react-core-0.7.1.tgz", + "integrity": "sha512-CdLSwg46MYyDqCjWGuim/u0HF6GaPPGxXRD6AkWCkB4o3feBep+2zRAjzNfi3IlhNufWaiswxLpThhTLG4cgMg==", "license": "Apache-2.0", "dependencies": { "@openshift/dynamic-plugin-sdk": "^5.0.1", - "@scalprum/core": "^0.8.1", + "@scalprum/core": "^0.7.0", "lodash": "^4.17.0" }, "peerDependencies": { @@ -2669,131 +2929,359 @@ } }, "node_modules/@sentry-internal/feedback": { - "version": "7.120.2", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.120.2.tgz", - "integrity": "sha512-AAKW/Qii2qFA/jIZc9HK/CgQLfJ/9zBCqC9FF3bUTnAxzZAbJHO1TLnHqDl5k5wYtt449NrpObHORpopSk7TBg==", + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.120.3.tgz", + "integrity": "sha512-ewJJIQ0mbsOX6jfiVFvqMjokxNtgP3dNwUv+4nenN+iJJPQsM6a0ocro3iscxwVdbkjw5hY3BUV2ICI5Q0UWoA==", "license": "MIT", "dependencies": { - "@sentry/core": "7.120.2", - "@sentry/types": "7.120.2", - "@sentry/utils": "7.120.2" + "@sentry/core": "7.120.3", + "@sentry/types": "7.120.3", + "@sentry/utils": "7.120.3" }, "engines": { "node": ">=12" } }, + "node_modules/@sentry-internal/feedback/node_modules/@sentry/core": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.120.3.tgz", + "integrity": "sha512-vyy11fCGpkGK3qI5DSXOjgIboBZTriw0YDx/0KyX5CjIjDDNgp5AGgpgFkfZyiYiaU2Ww3iFuKo4wHmBusz1uA==", + "license": "MIT", + "dependencies": { + "@sentry/types": "7.120.3", + "@sentry/utils": "7.120.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry-internal/feedback/node_modules/@sentry/types": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.120.3.tgz", + "integrity": "sha512-C4z+3kGWNFJ303FC+FxAd4KkHvxpNFYAFN8iMIgBwJdpIl25KZ8Q/VdGn0MLLUEHNLvjob0+wvwlcRBBNLXOow==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry-internal/feedback/node_modules/@sentry/utils": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.120.3.tgz", + "integrity": "sha512-UDAOQJtJDxZHQ5Nm1olycBIsz2wdGX8SdzyGVHmD8EOQYAeDZQyIlQYohDe9nazdIOQLZCIc3fU0G9gqVLkaGQ==", + "license": "MIT", + "dependencies": { + "@sentry/types": "7.120.3" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@sentry-internal/replay-canvas": { - "version": "7.120.2", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.120.2.tgz", - "integrity": "sha512-2Xm9rJxUA5/CCUYRHNH4VxG13eQpXvM05/cHQKn+pmjaPq/+3fbOHrZZM84gF1FSHjeN8Kg1igoMSekU2kavOQ==", + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.120.3.tgz", + "integrity": "sha512-s5xy+bVL1eDZchM6gmaOiXvTqpAsUfO7122DxVdEDMtwVq3e22bS2aiGa8CUgOiJkulZ+09q73nufM77kOmT/A==", "license": "MIT", "dependencies": { - "@sentry/core": "7.120.2", - "@sentry/replay": "7.120.2", - "@sentry/types": "7.120.2", - "@sentry/utils": "7.120.2" + "@sentry/core": "7.120.3", + "@sentry/replay": "7.120.3", + "@sentry/types": "7.120.3", + "@sentry/utils": "7.120.3" }, "engines": { "node": ">=12" } }, + "node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/core": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.120.3.tgz", + "integrity": "sha512-vyy11fCGpkGK3qI5DSXOjgIboBZTriw0YDx/0KyX5CjIjDDNgp5AGgpgFkfZyiYiaU2Ww3iFuKo4wHmBusz1uA==", + "license": "MIT", + "dependencies": { + "@sentry/types": "7.120.3", + "@sentry/utils": "7.120.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/types": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.120.3.tgz", + "integrity": "sha512-C4z+3kGWNFJ303FC+FxAd4KkHvxpNFYAFN8iMIgBwJdpIl25KZ8Q/VdGn0MLLUEHNLvjob0+wvwlcRBBNLXOow==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/utils": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.120.3.tgz", + "integrity": "sha512-UDAOQJtJDxZHQ5Nm1olycBIsz2wdGX8SdzyGVHmD8EOQYAeDZQyIlQYohDe9nazdIOQLZCIc3fU0G9gqVLkaGQ==", + "license": "MIT", + "dependencies": { + "@sentry/types": "7.120.3" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@sentry-internal/tracing": { - "version": "7.120.2", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.120.2.tgz", - "integrity": "sha512-eo2F8cP6X+vr54Mp6vu+NoQEDz0M5O24Tz8jPY0T1CpiWdwCmHb7Sln+oLXeQ3/LlWdVQihBfKDBZfBdUfsBTg==", + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.120.3.tgz", + "integrity": "sha512-Ausx+Jw1pAMbIBHStoQ6ZqDZR60PsCByvHdw/jdH9AqPrNE9xlBSf9EwcycvmrzwyKspSLaB52grlje2cRIUMg==", "license": "MIT", "dependencies": { - "@sentry/core": "7.120.2", - "@sentry/types": "7.120.2", - "@sentry/utils": "7.120.2" + "@sentry/core": "7.120.3", + "@sentry/types": "7.120.3", + "@sentry/utils": "7.120.3" }, "engines": { "node": ">=8" } }, - "node_modules/@sentry/browser": { - "version": "7.120.2", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.120.2.tgz", - "integrity": "sha512-o5ll2Yv5MfnblbWxTvMlKK3RVXIbeJ+SPC+uw12b4j/pkrQg+/y7dyTLBXh6t0EgokSOsRUyYosQwSvxG/xs/Q==", + "node_modules/@sentry-internal/tracing/node_modules/@sentry/core": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.120.3.tgz", + "integrity": "sha512-vyy11fCGpkGK3qI5DSXOjgIboBZTriw0YDx/0KyX5CjIjDDNgp5AGgpgFkfZyiYiaU2Ww3iFuKo4wHmBusz1uA==", "license": "MIT", "dependencies": { - "@sentry-internal/feedback": "7.120.2", - "@sentry-internal/replay-canvas": "7.120.2", - "@sentry-internal/tracing": "7.120.2", - "@sentry/core": "7.120.2", - "@sentry/integrations": "7.120.2", - "@sentry/replay": "7.120.2", - "@sentry/types": "7.120.2", - "@sentry/utils": "7.120.2" + "@sentry/types": "7.120.3", + "@sentry/utils": "7.120.3" }, "engines": { "node": ">=8" } }, - "node_modules/@sentry/core": { - "version": "7.120.2", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.120.2.tgz", - "integrity": "sha512-eurLBFQJC7WWWYoEna25Z9I/GJjqAmH339tv52XP8sqXV7B5hRcHDcfrsT/UGHpU316M24p3lWhj0eimtCZ0SQ==", + "node_modules/@sentry-internal/tracing/node_modules/@sentry/types": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.120.3.tgz", + "integrity": "sha512-C4z+3kGWNFJ303FC+FxAd4KkHvxpNFYAFN8iMIgBwJdpIl25KZ8Q/VdGn0MLLUEHNLvjob0+wvwlcRBBNLXOow==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry-internal/tracing/node_modules/@sentry/utils": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.120.3.tgz", + "integrity": "sha512-UDAOQJtJDxZHQ5Nm1olycBIsz2wdGX8SdzyGVHmD8EOQYAeDZQyIlQYohDe9nazdIOQLZCIc3fU0G9gqVLkaGQ==", "license": "MIT", "dependencies": { - "@sentry/types": "7.120.2", - "@sentry/utils": "7.120.2" + "@sentry/types": "7.120.3" }, "engines": { "node": ">=8" } }, + "node_modules/@sentry/browser": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-5.30.0.tgz", + "integrity": "sha512-rOb58ZNVJWh1VuMuBG1mL9r54nZqKeaIlwSlvzJfc89vyfd7n6tQ1UXMN383QBz/MS5H5z44Hy5eE+7pCrYAfw==", + "license": "BSD-3-Clause", + "dependencies": { + "@sentry/core": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@sentry/core": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "license": "BSD-3-Clause", + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/core/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@sentry/hub": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/hub/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, "node_modules/@sentry/integrations": { - "version": "7.120.2", - "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.120.2.tgz", - "integrity": "sha512-bMvL2fD3TGLM5YAUoQ2Qz6bYeVU8f7YRFNSjKNxK4EbvFgAU9j1FD6EKg0V0RNOJYnJjGIZYMmcWTXBbVTJL6w==", + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.120.3.tgz", + "integrity": "sha512-6i/lYp0BubHPDTg91/uxHvNui427df9r17SsIEXa2eKDwQ9gW2qRx5IWgvnxs2GV/GfSbwcx4swUB3RfEWrXrQ==", "license": "MIT", "dependencies": { - "@sentry/core": "7.120.2", - "@sentry/types": "7.120.2", - "@sentry/utils": "7.120.2", + "@sentry/core": "7.120.3", + "@sentry/types": "7.120.3", + "@sentry/utils": "7.120.3", "localforage": "^1.8.1" }, "engines": { "node": ">=8" } }, + "node_modules/@sentry/integrations/node_modules/@sentry/core": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.120.3.tgz", + "integrity": "sha512-vyy11fCGpkGK3qI5DSXOjgIboBZTriw0YDx/0KyX5CjIjDDNgp5AGgpgFkfZyiYiaU2Ww3iFuKo4wHmBusz1uA==", + "license": "MIT", + "dependencies": { + "@sentry/types": "7.120.3", + "@sentry/utils": "7.120.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/integrations/node_modules/@sentry/types": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.120.3.tgz", + "integrity": "sha512-C4z+3kGWNFJ303FC+FxAd4KkHvxpNFYAFN8iMIgBwJdpIl25KZ8Q/VdGn0MLLUEHNLvjob0+wvwlcRBBNLXOow==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/integrations/node_modules/@sentry/utils": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.120.3.tgz", + "integrity": "sha512-UDAOQJtJDxZHQ5Nm1olycBIsz2wdGX8SdzyGVHmD8EOQYAeDZQyIlQYohDe9nazdIOQLZCIc3fU0G9gqVLkaGQ==", + "license": "MIT", + "dependencies": { + "@sentry/types": "7.120.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/minimal": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "license": "BSD-3-Clause", + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/minimal/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, "node_modules/@sentry/replay": { - "version": "7.120.2", - "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.120.2.tgz", - "integrity": "sha512-UAw0anHwXeej0Rfx+7qZVbRb3rj3mQ0DuHqdpPTSd9WpfRGOvCfthMIKD7rfHX7GjMnPMgdmsaU8K3lpe60h+w==", + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.120.3.tgz", + "integrity": "sha512-CjVq1fP6bpDiX8VQxudD5MPWwatfXk8EJ2jQhJTcWu/4bCSOQmHxnnmBM+GVn5acKUBCodWHBN+IUZgnJheZSg==", "license": "MIT", "dependencies": { - "@sentry-internal/tracing": "7.120.2", - "@sentry/core": "7.120.2", - "@sentry/types": "7.120.2", - "@sentry/utils": "7.120.2" + "@sentry-internal/tracing": "7.120.3", + "@sentry/core": "7.120.3", + "@sentry/types": "7.120.3", + "@sentry/utils": "7.120.3" }, "engines": { "node": ">=12" } }, - "node_modules/@sentry/types": { - "version": "7.120.2", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.120.2.tgz", - "integrity": "sha512-FWVoiblHQJ892GaOqdXx/5/n5XDLF28z81vJ0lCY49PMh8waz8LJ0b9RSmt9tasSDl0OQ7eUlPl1xu1jTrv1NA==", + "node_modules/@sentry/replay/node_modules/@sentry/core": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.120.3.tgz", + "integrity": "sha512-vyy11fCGpkGK3qI5DSXOjgIboBZTriw0YDx/0KyX5CjIjDDNgp5AGgpgFkfZyiYiaU2Ww3iFuKo4wHmBusz1uA==", "license": "MIT", + "dependencies": { + "@sentry/types": "7.120.3", + "@sentry/utils": "7.120.3" + }, "engines": { "node": ">=8" } }, - "node_modules/@sentry/utils": { - "version": "7.120.2", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.120.2.tgz", - "integrity": "sha512-jgnQlw11mRfQrQRAXbq4zEd+tbYwHel5eqeS/oU6EImXRjmHNtS79nB8MHvJeQu1FMCpFs1Ymrrs5FICwS6VeQ==", + "node_modules/@sentry/replay/node_modules/@sentry/types": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.120.3.tgz", + "integrity": "sha512-C4z+3kGWNFJ303FC+FxAd4KkHvxpNFYAFN8iMIgBwJdpIl25KZ8Q/VdGn0MLLUEHNLvjob0+wvwlcRBBNLXOow==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/replay/node_modules/@sentry/utils": { + "version": "7.120.3", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.120.3.tgz", + "integrity": "sha512-UDAOQJtJDxZHQ5Nm1olycBIsz2wdGX8SdzyGVHmD8EOQYAeDZQyIlQYohDe9nazdIOQLZCIc3fU0G9gqVLkaGQ==", "license": "MIT", "dependencies": { - "@sentry/types": "7.120.2" + "@sentry/types": "7.120.3" }, "engines": { "node": ">=8" } }, + "node_modules/@sentry/types": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/utils": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "license": "BSD-3-Clause", + "dependencies": { + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/utils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, "node_modules/@sideway/address": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", @@ -3424,9 +3912,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.4.tgz", - "integrity": "sha512-5kz9ScmzBdzTgB/3susoCgfqNDzBjvLL4taparufgSvlwjdLy6UyUy9T/tCpYd2GIdIilCatC4iSQS0QSYHt0w==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.5.tgz", + "integrity": "sha512-GLZPrd9ckqEBFMcVM/qRFAP0Hg3qiVEojgEFsx/N/zKXsBzbGF6z5FBDpZ0+Xhp1xr+qRZYjfGr1cWHB9oFHSA==", "dev": true, "license": "MIT", "dependencies": { @@ -3641,9 +4129,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.10.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz", - "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==", + "version": "22.10.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz", + "integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==", "dev": true, "license": "MIT", "dependencies": { @@ -3661,9 +4149,9 @@ } }, "node_modules/@types/picomatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-3.0.1.tgz", - "integrity": "sha512-1MRgzpzY0hOp9pW/kLRxeQhUWwil6gnrUYd3oEpeYBqp/FexhaCPv3F8LsYr47gtUU45fO2cm1dbwkSrHEo8Uw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-3.0.2.tgz", + "integrity": "sha512-n0i8TD3UDB7paoMMxA3Y65vUncFJXjcUf7lQY7YyKGl6031FNjfsLs6pdLFCy2GNFxItPJG8GvvpbZc2skH7WA==", "dev": true, "license": "MIT" }, @@ -5406,9 +5894,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001690", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz", - "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==", + "version": "1.0.30001692", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001692.tgz", + "integrity": "sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==", "dev": true, "funding": [ { @@ -6969,9 +7457,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.79", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.79.tgz", - "integrity": "sha512-nYOxJNxQ9Om4EC88BE4pPoNI8xwSFf8pU/BAeOl4Hh/b/i6V4biTAzwV7pXi3ARKeoYO5JZKMIXTryXSVer5RA==", + "version": "1.5.83", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.83.tgz", + "integrity": "sha512-LcUDPqSt+V0QmI47XLzZrz5OqILSMGsPFkDYus22rIbgorSvBYEFqq854ltTmUdHkY92FSdAAvsh4jWEULMdfQ==", "dev": true, "license": "ISC" }, @@ -6988,6 +7476,13 @@ "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", @@ -7187,9 +7682,9 @@ "license": "MIT" }, "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -9094,9 +9589,9 @@ } }, "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.9.tgz", + "integrity": "sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw==", "dev": true, "license": "MIT" }, @@ -13081,6 +13576,33 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/p-all": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-all/-/p-all-5.0.0.tgz", + "integrity": "sha512-pofqu/1FhCVa+78xNAptCGc9V45exFz2pvBRyIvgXkNM0Rh18Py7j8pQuSjA+zpabI46v9hRjNWmL9EAFcEbpw==", + "license": "MIT", + "dependencies": { + "p-map": "^6.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-all/node_modules/p-map": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-6.0.0.tgz", + "integrity": "sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -13568,9 +14090,9 @@ } }, "node_modules/postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", "funding": [ { "type": "opencollective", @@ -13587,7 +14109,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", + "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -14107,12 +14629,12 @@ } }, "node_modules/react-router": { - "version": "6.28.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.1.tgz", - "integrity": "sha512-2omQTA3rkMljmrvvo6WtewGdVh45SpL9hGiCI9uUrwGGfNFDIvGK4gYJsKlJoNVi6AQZcopSCballL+QGOm7fA==", + "version": "6.28.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.2.tgz", + "integrity": "sha512-BgFY7+wEGVjHCiqaj2XiUBQ1kkzfg6UoKYwEe0wv+FF+HNPCxtS/MVPvLAPH++EsuCMReZl9RYVGqcHLk5ms3A==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.21.0" + "@remix-run/router": "1.21.1" }, "engines": { "node": ">=14.0.0" @@ -14122,13 +14644,13 @@ } }, "node_modules/react-router-dom": { - "version": "6.28.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.28.1.tgz", - "integrity": "sha512-YraE27C/RdjcZwl5UCqF/ffXnZDxpJdk9Q6jw38SZHjXs7NNdpViq2l2c7fO7+4uWaEfcwfGCv3RSg4e1By/fQ==", + "version": "6.28.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.28.2.tgz", + "integrity": "sha512-O81EWqNJWqvlN/a7eTudAdQm0TbI7hw+WIi7OwwMcTn5JMyZ0ibTFNGz+t+Lju0df4LcqowCegcrK22lB1q9Kw==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.21.0", - "react-router": "6.28.1" + "@remix-run/router": "1.21.1", + "react-router": "6.28.2" }, "engines": { "node": ">=14.0.0" @@ -14533,9 +15055,9 @@ } }, "node_modules/rimraf/node_modules/glob": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", - "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz", + "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", "dev": true, "license": "ISC", "dependencies": { @@ -14832,9 +15354,9 @@ } }, "node_modules/sass": { - "version": "1.83.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.83.1.tgz", - "integrity": "sha512-EVJbDaEs4Rr3F0glJzFSOvtg2/oy2V/YrGFPqPY24UqcLDWcI9ZY5sN+qyO3c/QCZwzgfirvhXvINiJCE/OLcA==", + "version": "1.83.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.83.4.tgz", + "integrity": "sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA==", "dev": true, "license": "MIT", "dependencies": { @@ -14910,13 +15432,13 @@ } }, "node_modules/sass/node_modules/readdirp": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", - "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", + "integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==", "dev": true, "license": "MIT", "engines": { - "node": ">= 14.16.0" + "node": ">= 14.18.0" }, "funding": { "type": "individual", @@ -15557,9 +16079,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.20", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", - "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", + "version": "3.0.21", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", + "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", "dev": true, "license": "CC0-1.0" }, @@ -15708,20 +16230,6 @@ "node": ">=8" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, "node_modules/string.prototype.matchall": { "version": "4.0.12", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", @@ -16376,9 +16884,9 @@ } }, "node_modules/ts-loader": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", - "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.2.tgz", + "integrity": "sha512-Qo4piXvOTWcMGIgRiuFa6nHNm+54HbYaZCKqc9eeZCLRy3XqafQgwX2F7mofrbJG3g7EEb+lkiR+z2Lic2s3Zw==", "dev": true, "license": "MIT", "dependencies": { @@ -17650,9 +18158,9 @@ } }, "node_modules/webpack-dev-middleware/node_modules/memfs": { - "version": "4.15.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.15.3.tgz", - "integrity": "sha512-vR/g1SgqvKJgAyYla+06G4p/EOcEmwhYuVb1yc1ixcKf8o/sh7Zngv63957ZSNd1xrZJoinmNyDf2LzuP8WJXw==", + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.0.tgz", + "integrity": "sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg==", "dev": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 7126882..22ccdd3 100644 --- a/package.json +++ b/package.json @@ -49,13 +49,14 @@ "verify": "npm-run-all build lint test" }, "dependencies": { - "@patternfly/patternfly": "5.4.2", - "@patternfly/react-charts": "7.4.8", - "@patternfly/react-component-groups": "5.5.5", - "@patternfly/react-core": "5.4.12", - "@patternfly/react-icons": "5.4.2", - "@patternfly/react-table": "5.4.13", - "@patternfly/react-tokens": "5.4.1", + "@patternfly/patternfly": "6.1.0", + "@patternfly/react-charts": "8.1.0", + "@patternfly/react-component-groups": "6.1.0", + "@patternfly/react-core": "6.1.0", + "@patternfly/react-icons": "6.1.0", + "@patternfly/react-table": "6.1.0", + "@patternfly/react-tokens": "6.1.0", + "@ausuliv/frontend-components-notifications": "^4.1.6", "@redhat-cloud-services/frontend-components": "^5.1.2", "@redhat-cloud-services/frontend-components-notifications": "^4.1.9", "@redhat-cloud-services/frontend-components-translations": "^3.2.14", @@ -131,6 +132,9 @@ "typescript": "^5.7.3" }, "overrides": { + "@patternfly/react-core": "6.1.0", + "@patternfly/react-icons": "6.1.0", + "@patternfly/react-table": "6.1.0", "@typescript-eslint/eslint-plugin": "^8.20.0", "eslint": "^9.18.0", "react-intl": "^7.1.1", diff --git a/src/app.tsx b/src/app.tsx index fec7429..70872ec 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -1,8 +1,8 @@ import './app.scss'; +import NotificationsPortal from '@ausuliv/frontend-components-notifications/NotificationPortal'; +import { notificationsReducer } from '@ausuliv/frontend-components-notifications/redux'; import { useChrome } from '@redhat-cloud-services/frontend-components/useChrome'; -import NotificationsPortal from '@redhat-cloud-services/frontend-components-notifications/NotificationPortal'; -import { notificationsReducer } from '@redhat-cloud-services/frontend-components-notifications/redux'; import { getRegistry } from '@redhat-cloud-services/frontend-components-utilities/Registry'; import React, { useEffect, useLayoutEffect } from 'react'; import { invalidateSession } from 'utils/sessionStorage'; diff --git a/src/appEntry.tsx b/src/appEntry.tsx index 149af41..5ff2715 100644 --- a/src/appEntry.tsx +++ b/src/appEntry.tsx @@ -4,7 +4,7 @@ import '@patternfly/patternfly/patternfly-addons.css'; import './styles/global.css'; -import NotificationsPortal from '@redhat-cloud-services/frontend-components-notifications/NotificationPortal'; +import NotificationsPortal from '@ausuliv/frontend-components-notifications/NotificationPortal'; import IntlProvider from '@redhat-cloud-services/frontend-components-translations/Provider'; import { getLocale } from 'components/i18n'; import React from 'react'; diff --git a/src/routes/components/charts/common/chartUtils.ts b/src/routes/components/charts/common/chartUtils.ts index f7c0453..a1ff02b 100644 --- a/src/routes/components/charts/common/chartUtils.ts +++ b/src/routes/components/charts/common/chartUtils.ts @@ -1,4 +1,4 @@ -import { getInteractiveLegendItemStyles } from '@patternfly/react-charts'; +import { getInteractiveLegendItemStyles } from '@patternfly/react-charts/victory'; import { intl } from 'components/i18n'; import messages from 'locales/messages'; import type { FormatOptions, Formatter } from 'utils/format'; diff --git a/src/routes/components/charts/theme/theme-utils.ts b/src/routes/components/charts/theme/theme-utils.ts index ad25d7c..acb773b 100644 --- a/src/routes/components/charts/theme/theme-utils.ts +++ b/src/routes/components/charts/theme/theme-utils.ts @@ -1,4 +1,4 @@ -import { ChartThemeColor, getCustomTheme } from '@patternfly/react-charts'; +import { ChartThemeColor, getCustomTheme } from '@patternfly/react-charts/victory'; import { default as ChartTheme } from './theme-koku-mfe'; diff --git a/src/routes/components/dataTable/dataTable.scss b/src/routes/components/dataTable/dataTable.scss index d97c63d..c3a019b 100644 --- a/src/routes/components/dataTable/dataTable.scss +++ b/src/routes/components/dataTable/dataTable.scss @@ -4,13 +4,13 @@ div { display: block; margin-right: 0; - margin-bottom: var(--pf-v5-global--spacer--xs); + margin-bottom: var(--pf-t--global--spacer--xs); &.iconOverride { &.decrease { - color: var(--pf-v5-global--success-color--100); + color: var(--pf-t--global--color--status--success--default); } &.increase { - color: var(--pf-v5-global--danger-color--100); + color: var(--pf-t--global--color--status--danger--default); } .fa-sort-up { margin-left: 10px; @@ -19,10 +19,10 @@ margin-left: 10px; } .fa-sort-up::before { - color: var(--pf-v5-global--danger-color--100); + color: var(--pf-t--global--color--status--danger--default); } .fa-sort-down::before { - color: var(--pf-v5-global--success-color--100); + color: var(--pf-t--global--color--status--success--default); } span { margin-right: -17px !important; @@ -32,7 +32,7 @@ } .tableOverride { - &.pf-v5-c-table tbody .pf-v5-c-table__check input { + &.pf-v6-c-table tbody .pf-v6-c-table__check input { margin-top: .40rem; } } diff --git a/src/routes/components/dataTable/dataTable.styles.ts b/src/routes/components/dataTable/dataTable.styles.ts index 9519faa..5171644 100644 --- a/src/routes/components/dataTable/dataTable.styles.ts +++ b/src/routes/components/dataTable/dataTable.styles.ts @@ -1,9 +1,9 @@ -import global_BackgroundColor_light_100 from '@patternfly/react-tokens/dist/js/global_BackgroundColor_light_100'; -import global_disabled_color_100 from '@patternfly/react-tokens/dist/js/global_disabled_color_100'; -import global_FontSize_xs from '@patternfly/react-tokens/dist/js/global_FontSize_xs'; -import global_spacer_3xl from '@patternfly/react-tokens/dist/js/global_spacer_3xl'; -import global_spacer_sm from '@patternfly/react-tokens/dist/js/global_spacer_sm'; -import global_spacer_xs from '@patternfly/react-tokens/dist/js/global_spacer_xs'; +import t_global_BackgroundColor_light_100 from '@patternfly/react-tokens/dist/js/t_global_background_color_100'; +import t_global_color_disabled_100 from '@patternfly/react-tokens/dist/js/t_global_color_disabled_100'; +import t_global_font_size_xs from '@patternfly/react-tokens/dist/js/t_global_font_size_xs'; +import t_global_spacer_3xl from '@patternfly/react-tokens/dist/js/t_global_spacer_3xl'; +import t_global_spacer_sm from '@patternfly/react-tokens/dist/js/t_global_spacer_sm'; +import t_global_spacer_xs from '@patternfly/react-tokens/dist/js/t_global_spacer_xs'; import type React from 'react'; export const styles = { @@ -17,10 +17,10 @@ export const styles = { minWidth: '50px', }, emptyState: { - backgroundColor: global_BackgroundColor_light_100.value, + backgroundColor: t_global_BackgroundColor_light_100.value, display: 'flex', justifyContent: 'center', - paddingTop: global_spacer_3xl.value, + paddingTop: t_global_spacer_3xl.value, height: '35vh', width: '100%', }, @@ -28,11 +28,11 @@ export const styles = { position: 'relative', }, infoArrowDesc: { - bottom: global_spacer_xs.value, + bottom: t_global_spacer_xs.value, }, infoDescription: { - color: global_disabled_color_100.value, - fontSize: global_FontSize_xs.value, + color: t_global_color_disabled_100.value, + fontSize: t_global_font_size_xs.value, }, lastItem: { textAlign: 'right', @@ -50,6 +50,6 @@ export const styles = { width: '1%', }, warningIcon: { - paddingLeft: global_spacer_sm.var, + paddingLeft: t_global_spacer_sm.var, }, } as { [className: string]: React.CSSProperties }; diff --git a/src/routes/components/dataTable/dataTable.tsx b/src/routes/components/dataTable/dataTable.tsx index 09d11a9..ffcb982 100644 --- a/src/routes/components/dataTable/dataTable.tsx +++ b/src/routes/components/dataTable/dataTable.tsx @@ -1,13 +1,6 @@ import './dataTable.scss'; -import { - Bullseye, - EmptyState, - EmptyStateBody, - EmptyStateHeader, - EmptyStateIcon, - Spinner, -} from '@patternfly/react-core'; +import { Bullseye, EmptyState, EmptyStateBody, Spinner } from '@patternfly/react-core'; import { CalculatorIcon } from '@patternfly/react-icons/dist/esm/icons/calculator-icon'; import type { ThProps } from '@patternfly/react-table'; import { SortByDirection, Table, TableVariant, Tbody, Td, Th, Thead, Tr } from '@patternfly/react-table'; @@ -58,8 +51,7 @@ class DataTable extends React.Component { return emptyState ? ( emptyState ) : ( - - } /> + {intl.formatMessage(messages.detailsEmptyState)} ); diff --git a/src/routes/components/dataTable/selectableTable.tsx b/src/routes/components/dataTable/selectableTable.tsx index a9cb610..305a420 100644 --- a/src/routes/components/dataTable/selectableTable.tsx +++ b/src/routes/components/dataTable/selectableTable.tsx @@ -1,11 +1,4 @@ -import { - Bullseye, - EmptyState, - EmptyStateBody, - EmptyStateHeader, - EmptyStateIcon, - Spinner, -} from '@patternfly/react-core'; +import { Bullseye, EmptyState, EmptyStateBody, Spinner } from '@patternfly/react-core'; import { CalculatorIcon } from '@patternfly/react-icons/dist/esm/icons/calculator-icon'; import type { ThProps } from '@patternfly/react-table'; import { SortByDirection, Table, TableVariant, Tbody, Td, Th, Thead, Tr } from '@patternfly/react-table'; @@ -53,8 +46,7 @@ class SelectableTable extends React.Component { return emptyState; } return ( - - } /> + {intl.formatMessage(messages.detailsEmptyState)} ); diff --git a/src/routes/components/dataToolbar/basicToolbar.tsx b/src/routes/components/dataToolbar/basicToolbar.tsx index a3b76aa..80e53bb 100644 --- a/src/routes/components/dataToolbar/basicToolbar.tsx +++ b/src/routes/components/dataToolbar/basicToolbar.tsx @@ -14,7 +14,6 @@ import { isEqual } from 'routes/utils/equal'; import type { Filter } from 'routes/utils/filter'; import { createMapStateToProps } from 'store/common'; -import { styles } from './dataToolbar.styles'; import { getCategoryInput, getCategorySelect, @@ -278,7 +277,7 @@ export class BasicToolbarBase extends React.Component +
)}{' '} {actions && {actions}} - + {pagination} diff --git a/src/routes/components/dataToolbar/dataToolbar.scss b/src/routes/components/dataToolbar/dataToolbar.scss index e6d8b1b..45a3a07 100644 --- a/src/routes/components/dataToolbar/dataToolbar.scss +++ b/src/routes/components/dataToolbar/dataToolbar.scss @@ -3,15 +3,15 @@ // Workaround for https://github.com/patternfly/patternfly-react/issues/4477 // and https://github.com/patternfly/patternfly-react/issues/6371 .selectOverride { - .pf-v5-c-menu-toggle { + .pf-v6-c-menu-toggle { min-width: 250px; } } .toolbarOverride { - .pf-v5-c-button.pf-m-control::after { + .pf-v6-c-button.pf-m-control::after { border-left: none; } // Alternative workaround to overriding table sticky style - // --pf-v5-c-toolbar--ZIndex: auto; z-index: 301; + // --pf-v6-c-toolbar--ZIndex: auto; z-index: 301; } diff --git a/src/routes/components/dataToolbar/dataToolbar.styles.ts b/src/routes/components/dataToolbar/dataToolbar.styles.ts deleted file mode 100644 index 6950113..0000000 --- a/src/routes/components/dataToolbar/dataToolbar.styles.ts +++ /dev/null @@ -1,14 +0,0 @@ -import global_BackgroundColor_light_100 from '@patternfly/react-tokens/dist/js/global_BackgroundColor_light_100'; -import global_spacer_md from '@patternfly/react-tokens/dist/js/global_spacer_md'; -import type React from 'react'; - -export const styles = { - export: { - marginRight: global_spacer_md.value, - }, - toolbarContainer: { - backgroundColor: global_BackgroundColor_light_100.value, - paddingBottom: global_spacer_md.value, - paddingTop: global_spacer_md.value, - }, -} as { [className: string]: React.CSSProperties }; diff --git a/src/routes/components/dataToolbar/utils/category.tsx b/src/routes/components/dataToolbar/utils/category.tsx index 5849fca..4ef818f 100644 --- a/src/routes/components/dataToolbar/utils/category.tsx +++ b/src/routes/components/dataToolbar/utils/category.tsx @@ -1,4 +1,4 @@ -import type { ToolbarChipGroup } from '@patternfly/react-core'; +import type { ToolbarLabelGroup } from '@patternfly/react-core'; import { SearchInput, ToolbarFilter, ToolbarItem } from '@patternfly/react-core'; import { FilterIcon } from '@patternfly/react-icons/dist/esm/icons/filter-icon'; import type { ResourcePathsType, ResourceType } from 'api/resources/resource'; @@ -49,8 +49,8 @@ export const getCategoryInput = ({ return ( @@ -79,7 +79,7 @@ export const getCategoryInput = ({ ); }; -export const getDefaultCategoryOptions = (): ToolbarChipGroup[] => { +export const getDefaultCategoryOptions = (): ToolbarLabelGroup[] => { return [{ name: intl.formatMessage(messages.names, { count: 1 }), key: 'name' }]; }; @@ -170,7 +170,7 @@ export const getCategorySelect = ({ isDisabled, onCategorySelect, }: { - categoryOptions?: ToolbarChipGroup[]; // Options for category menu + categoryOptions?: ToolbarLabelGroup[]; // Options for category menu currentCategory?: string; filters?: Filters; isDisabled?: boolean; @@ -197,7 +197,7 @@ export const getCategorySelect = ({ ); }; -export const getCategorySelectOptions = (categoryOptions: ToolbarChipGroup[]): SelectWrapperOption[] => { +export const getCategorySelectOptions = (categoryOptions: ToolbarLabelGroup[]): SelectWrapperOption[] => { const options: SelectWrapperOption[] = []; categoryOptions.map(option => { diff --git a/src/routes/components/dataToolbar/utils/common.ts b/src/routes/components/dataToolbar/utils/common.ts index 52b4256..ac6dae0 100644 --- a/src/routes/components/dataToolbar/utils/common.ts +++ b/src/routes/components/dataToolbar/utils/common.ts @@ -1,4 +1,4 @@ -import type { ToolbarChipGroup } from '@patternfly/react-core'; +import type { ToolbarLabelGroup } from '@patternfly/react-core'; import type { Query } from 'api/queries/query'; import { intl } from 'components/i18n'; import messages from 'locales/messages'; @@ -10,11 +10,11 @@ export interface Filters { [key: string]: Filter[] | { [key: string]: Filter[] }; } -export interface ToolbarChipGroupExt extends ToolbarChipGroup { +export interface ToolbarChipGroupExt extends ToolbarLabelGroup { ariaLabelKey?: string; placeholderKey?: string; selectClassName?: string; // A selector from routes/components/dataToolbar/dataToolbar.scss - selectOptions?: ToolbarChipGroup[]; + selectOptions?: ToolbarLabelGroup[]; } export const defaultFilters = { @@ -90,7 +90,7 @@ export const getChips = (filters: Filter[]): string[] => { return chips; }; -export const getDefaultCategory = (categoryOptions: ToolbarChipGroup[], groupBy: string, query: Query) => { +export const getDefaultCategory = (categoryOptions: ToolbarLabelGroup[], groupBy: string, query: Query) => { if (!categoryOptions) { return 'name'; } diff --git a/src/routes/components/dataToolbar/utils/custom.tsx b/src/routes/components/dataToolbar/utils/custom.tsx index 76b3769..e32528e 100644 --- a/src/routes/components/dataToolbar/utils/custom.tsx +++ b/src/routes/components/dataToolbar/utils/custom.tsx @@ -39,8 +39,8 @@ export const getCustomSelect = ({ return ( diff --git a/src/routes/components/page/loading/loading.tsx b/src/routes/components/page/loading/loading.tsx index 99af646..84c4d07 100644 --- a/src/routes/components/page/loading/loading.tsx +++ b/src/routes/components/page/loading/loading.tsx @@ -19,7 +19,7 @@ const Loading = ({ body, heading, title }: LoadingProps) => { )} - + diff --git a/src/routes/components/page/noOptimizations/noOptimizations.tsx b/src/routes/components/page/noOptimizations/noOptimizations.tsx index 57780fd..aaa6dbe 100644 --- a/src/routes/components/page/noOptimizations/noOptimizations.tsx +++ b/src/routes/components/page/noOptimizations/noOptimizations.tsx @@ -18,7 +18,7 @@ const NoOptimizations = ({ title }: NoOptimizationsProps) => { )} - + diff --git a/src/routes/components/page/noOptimizations/noOptimizationsState.tsx b/src/routes/components/page/noOptimizations/noOptimizationsState.tsx index 4b78a71..5287d3a 100644 --- a/src/routes/components/page/noOptimizations/noOptimizationsState.tsx +++ b/src/routes/components/page/noOptimizations/noOptimizationsState.tsx @@ -1,10 +1,4 @@ -import { - EmptyState, - EmptyStateBody, - EmptyStateHeader, - EmptyStateIcon, - EmptyStateVariant, -} from '@patternfly/react-core'; +import { EmptyState, EmptyStateBody, EmptyStateVariant } from '@patternfly/react-core'; import messages from 'locales/messages'; import React from 'react'; import type { WrappedComponentProps } from 'react-intl'; @@ -22,12 +16,13 @@ class NoOptimizationsStateBase extends React.Component - } - headingLevel="h1" - /> + {intl.formatMessage(messages.noOptimizationsDesc)} ); diff --git a/src/routes/components/page/notAuthorized/notAuthorized.tsx b/src/routes/components/page/notAuthorized/notAuthorized.tsx index ca01b15..96febf7 100644 --- a/src/routes/components/page/notAuthorized/notAuthorized.tsx +++ b/src/routes/components/page/notAuthorized/notAuthorized.tsx @@ -19,7 +19,7 @@ const NotAuthorized = ({ pathname, title }: NotAuthorizedProps) => { )} - + diff --git a/src/routes/components/page/notAuthorized/notAuthorizedState.tsx b/src/routes/components/page/notAuthorized/notAuthorizedState.tsx index 74fc9fc..13b9fcc 100644 --- a/src/routes/components/page/notAuthorized/notAuthorizedState.tsx +++ b/src/routes/components/page/notAuthorized/notAuthorizedState.tsx @@ -1,4 +1,4 @@ -import UnAuthorized from '@patternfly/react-component-groups/dist/esm/NotAuthorized'; +import UnauthorizedAccess from '@patternfly/react-component-groups/dist/esm/UnauthorizedAccess'; import messages from 'locales/messages'; import React from 'react'; import type { WrappedComponentProps } from 'react-intl'; @@ -30,7 +30,7 @@ class NotAuthorizedStateBase extends React.Component; + return ; } } diff --git a/src/routes/components/page/notAvailable/notAvailable.tsx b/src/routes/components/page/notAvailable/notAvailable.tsx index 953d1f6..80c8eae 100644 --- a/src/routes/components/page/notAvailable/notAvailable.tsx +++ b/src/routes/components/page/notAvailable/notAvailable.tsx @@ -17,7 +17,7 @@ const NotAvailable = ({ title }: NotAvailableProps) => { )} - + diff --git a/src/routes/components/page/notConfigured/notConfigured.tsx b/src/routes/components/page/notConfigured/notConfigured.tsx index 524fe77..cee4b51 100644 --- a/src/routes/components/page/notConfigured/notConfigured.tsx +++ b/src/routes/components/page/notConfigured/notConfigured.tsx @@ -18,7 +18,7 @@ const NotConfigured = ({ title }: NotConfiguredProps) => { )} - + diff --git a/src/routes/components/page/notConfigured/notConfiguredState.tsx b/src/routes/components/page/notConfigured/notConfiguredState.tsx index e994953..3cb4f3e 100644 --- a/src/routes/components/page/notConfigured/notConfiguredState.tsx +++ b/src/routes/components/page/notConfigured/notConfiguredState.tsx @@ -1,11 +1,4 @@ -import { - ClipboardCopy, - EmptyState, - EmptyStateBody, - EmptyStateHeader, - EmptyStateIcon, - EmptyStateVariant, -} from '@patternfly/react-core'; +import { ClipboardCopy, EmptyState, EmptyStateBody, EmptyStateVariant } from '@patternfly/react-core'; import messages from 'locales/messages'; import React from 'react'; import { useIntl } from 'react-intl'; @@ -47,12 +40,13 @@ const NotConfiguredState: React.FC = () => { }; return ( - - } - headingLevel="h1" - /> + {intl.formatMessage(messages.notConfiguredDesc)} {intl.formatMessage(messages.notConfiguredNamespace, { clipboard: getNamespaceClipboard() })} diff --git a/src/routes/components/page/notFound/notFound.tsx b/src/routes/components/page/notFound/notFound.tsx index 9084e9b..645530d 100644 --- a/src/routes/components/page/notFound/notFound.tsx +++ b/src/routes/components/page/notFound/notFound.tsx @@ -1,11 +1,11 @@ +import { MissingPage } from '@patternfly/react-component-groups/dist/esm/MissingPage'; import { PageSection } from '@patternfly/react-core'; -import { InvalidObject } from '@redhat-cloud-services/frontend-components/InvalidObject'; import React from 'react'; const NotFound = () => { return ( - - + + ); }; diff --git a/src/routes/components/page/welcome/welcome.tsx b/src/routes/components/page/welcome/welcome.tsx index 9ca951c..49a3d08 100644 --- a/src/routes/components/page/welcome/welcome.tsx +++ b/src/routes/components/page/welcome/welcome.tsx @@ -16,7 +16,7 @@ const Welcome = ({ title }: WelcomeOwnProps) => { )} - + diff --git a/src/routes/components/page/welcome/welcomeState.tsx b/src/routes/components/page/welcome/welcomeState.tsx index 49a2ffe..cc52643 100644 --- a/src/routes/components/page/welcome/welcomeState.tsx +++ b/src/routes/components/page/welcome/welcomeState.tsx @@ -1,10 +1,4 @@ -import { - EmptyState, - EmptyStateBody, - EmptyStateHeader, - EmptyStateIcon, - EmptyStateVariant, -} from '@patternfly/react-core'; +import { EmptyState, EmptyStateBody, EmptyStateVariant } from '@patternfly/react-core'; import { PlusCircleIcon } from '@patternfly/react-icons/dist/esm/icons/plus-circle-icon'; import messages from 'locales/messages'; import React from 'react'; @@ -18,12 +12,13 @@ class WelcomeStateBase extends React.Component { const { intl } = this.props; return ( - - } - headingLevel="h5" - /> + {intl.formatMessage(messages.welcomeInfo, { url: ( diff --git a/src/routes/components/perspective/perspective.styles.ts b/src/routes/components/perspective/perspective.styles.ts index b8ebe1d..366622f 100644 --- a/src/routes/components/perspective/perspective.styles.ts +++ b/src/routes/components/perspective/perspective.styles.ts @@ -1,4 +1,4 @@ -import global_spacer_md from '@patternfly/react-tokens/dist/js/global_spacer_md'; +import t_global_spacer_md from '@patternfly/react-tokens/dist/js/t_global_spacer_md'; import type React from 'react'; export const styles = { @@ -8,7 +8,7 @@ export const styles = { }, perspectiveLabel: { marginBottom: 0, - marginRight: global_spacer_md.var, + marginRight: t_global_spacer_md.var, whiteSpace: 'nowrap', }, perspectiveOptionLabel: { diff --git a/src/routes/components/resourceTypeahead/resourceFetch.tsx b/src/routes/components/resourceTypeahead/resourceFetch.tsx index 62ca952..7e2838e 100644 --- a/src/routes/components/resourceTypeahead/resourceFetch.tsx +++ b/src/routes/components/resourceTypeahead/resourceFetch.tsx @@ -1,4 +1,4 @@ -import type { ToolbarChipGroup } from '@patternfly/react-core'; +import type { ToolbarLabelGroup } from '@patternfly/react-core'; import type { Query } from 'api/queries/query'; import { getQuery } from 'api/queries/query'; import type { Resource } from 'api/resources/resource'; @@ -56,7 +56,7 @@ const ResourceFetch: React.FC = ({ }) => { const { resource, resourceFetchStatus } = useMapToProps({ resourcePathsType, resourceType, search }); - const getOptions = (): ToolbarChipGroup[] => { + const getOptions = (): ToolbarLabelGroup[] => { let options = []; if (resource && resource.data && resource.data.length > 0 && resourceFetchStatus !== FetchStatus.inProgress) { options = resource.data.map(item => { diff --git a/src/routes/components/resourceTypeahead/resourceInput.tsx b/src/routes/components/resourceTypeahead/resourceInput.tsx index 75f935c..5ea9cd6 100644 --- a/src/routes/components/resourceTypeahead/resourceInput.tsx +++ b/src/routes/components/resourceTypeahead/resourceInput.tsx @@ -1,4 +1,4 @@ -import type { ToolbarChipGroup } from '@patternfly/react-core'; +import type { ToolbarLabelGroup } from '@patternfly/react-core'; import { Button, Divider, @@ -23,7 +23,7 @@ interface ResourceInputOwnProps { isDisabled?: boolean; onChange?: (evt: FormEvent, value: string) => void; onClear?: () => void; - options?: ToolbarChipGroup[]; + options?: ToolbarLabelGroup[]; onSelect?: (value: string) => void; placeholder?: string; search?: string; @@ -69,12 +69,11 @@ const ResourceInput: React.FC = ({ {search && search.length && ( + /> )} diff --git a/src/routes/components/selectWrapper/select.styles.ts b/src/routes/components/selectWrapper/select.styles.ts index 0adf343..87dad96 100644 --- a/src/routes/components/selectWrapper/select.styles.ts +++ b/src/routes/components/selectWrapper/select.styles.ts @@ -1,8 +1,8 @@ -import global_spacer_sm from '@patternfly/react-tokens/dist/js/global_spacer_sm'; +import t_global_spacer_sm from '@patternfly/react-tokens/dist/js/t_global_spacer_sm'; import type React from 'react'; export const styles = { badge: { - marginLeft: global_spacer_sm.var, + marginLeft: t_global_spacer_sm.var, }, } as { [className: string]: React.CSSProperties }; diff --git a/src/routes/components/selectWrapper/selectWrapper.scss b/src/routes/components/selectWrapper/selectWrapper.scss index c89b9bb..7e1cf3b 100644 --- a/src/routes/components/selectWrapper/selectWrapper.scss +++ b/src/routes/components/selectWrapper/selectWrapper.scss @@ -2,10 +2,10 @@ // Workaround for missing "position" property .selectWrapper { - .pf-v5-c-menu-toggle { + .pf-v6-c-menu-toggle { max-width: unset; } - .pf-v5-c-menu-toggle__text { + .pf-v6-c-menu-toggle__text { width: max-content; } } diff --git a/src/routes/components/state/emptyFilterState/emptyFilterState.tsx b/src/routes/components/state/emptyFilterState/emptyFilterState.tsx index 7370aec..0c308fb 100644 --- a/src/routes/components/state/emptyFilterState/emptyFilterState.tsx +++ b/src/routes/components/state/emptyFilterState/emptyFilterState.tsx @@ -1,5 +1,5 @@ import type { MessageDescriptor } from '@formatjs/intl/src/types'; -import { Bullseye, EmptyState, EmptyStateBody, EmptyStateHeader, EmptyStateIcon } from '@patternfly/react-core'; +import { Bullseye, EmptyState, EmptyStateBody } from '@patternfly/react-core'; import { SearchIcon } from '@patternfly/react-icons/dist/esm/icons/search-icon'; import type { Query } from 'api/queries/query'; import { parseQuery } from 'api/queries/query'; @@ -101,10 +101,12 @@ const EmptyFilterStateBase: React.FC = ({ } else if (showEmptyState2) { return ; } else { - return ; + return null; } }; + const item = getItem(); + return (
= ({ ...(showMargin ? styles.containerMargin : {}), }} > - - {getItem()} - + + {item} {intl.formatMessage(subTitle)}
diff --git a/src/routes/components/state/emptyValueState/emptyValueState.scss b/src/routes/components/state/emptyValueState/emptyValueState.scss index ada2615..eb0faca 100644 --- a/src/routes/components/state/emptyValueState/emptyValueState.scss +++ b/src/routes/components/state/emptyValueState/emptyValueState.scss @@ -1,5 +1,5 @@ @import url("~@patternfly/patternfly/base/patternfly-variables.css"); .emptyValueContainer { - font-size: var(--pf-v5-global--FontSize--sm); + font-size: var(--pf-t--global--font--size--sm); } diff --git a/src/routes/components/state/errorState/errorState.tsx b/src/routes/components/state/errorState/errorState.tsx index fc3f60c..dafbc2b 100644 --- a/src/routes/components/state/errorState/errorState.tsx +++ b/src/routes/components/state/errorState/errorState.tsx @@ -1,10 +1,4 @@ -import { - EmptyState, - EmptyStateBody, - EmptyStateHeader, - EmptyStateIcon, - EmptyStateVariant, -} from '@patternfly/react-core'; +import { EmptyState, EmptyStateBody, EmptyStateVariant } from '@patternfly/react-core'; import { ErrorCircleOIcon } from '@patternfly/react-icons/dist/esm/icons/error-circle-o-icon'; import { LockIcon } from '@patternfly/react-icons/dist/esm/icons/lock-icon'; import type { AxiosError } from 'axios'; @@ -29,8 +23,13 @@ const ErrorStateBase: React.FC = ({ error, icon = ErrorCircleOI } return ( - - } headingLevel="h5" /> + {subTitle} ); diff --git a/src/routes/components/state/loadingState/loadingState.tsx b/src/routes/components/state/loadingState/loadingState.tsx index 17a3f21..293d92d 100644 --- a/src/routes/components/state/loadingState/loadingState.tsx +++ b/src/routes/components/state/loadingState/loadingState.tsx @@ -1,4 +1,4 @@ -import { EmptyState, EmptyStateBody, EmptyStateHeader, EmptyStateVariant, Spinner } from '@patternfly/react-core'; +import { EmptyState, EmptyStateBody, EmptyStateVariant, Spinner } from '@patternfly/react-core'; import { intl as defaultIntl } from 'components/i18n'; import messages from 'locales/messages'; import React from 'react'; @@ -19,9 +19,8 @@ const LoadingStateBase: React.FC = ({ heading = intl.formatMessage(messages.loadingStateTitle), }) => { return ( - + - {body} ); diff --git a/src/routes/components/state/optimizedState/optimizedState.styles.ts b/src/routes/components/state/optimizedState/optimizedState.styles.ts deleted file mode 100644 index e1c6d9b..0000000 --- a/src/routes/components/state/optimizedState/optimizedState.styles.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { global_success_color_100 } from '@patternfly/react-tokens/dist/js/global_success_color_100'; -import type React from 'react'; - -export const styles = { - icon: { - color: global_success_color_100.var, - }, -} as { [className: string]: React.CSSProperties }; diff --git a/src/routes/components/state/optimizedState/optimizedState.tsx b/src/routes/components/state/optimizedState/optimizedState.tsx index eddbcf7..3b21213 100644 --- a/src/routes/components/state/optimizedState/optimizedState.tsx +++ b/src/routes/components/state/optimizedState/optimizedState.tsx @@ -1,10 +1,4 @@ -import { - EmptyState, - EmptyStateBody, - EmptyStateHeader, - EmptyStateIcon, - EmptyStateVariant, -} from '@patternfly/react-core'; +import { EmptyState, EmptyStateBody, EmptyStateVariant } from '@patternfly/react-core'; import { CheckCircleIcon } from '@patternfly/react-icons/dist/esm/icons/check-circle-icon'; import { intl as defaultIntl } from 'components/i18n'; import messages from 'locales/messages'; @@ -12,8 +6,6 @@ import React from 'react'; import type { WrappedComponentProps } from 'react-intl'; import { injectIntl } from 'react-intl'; -import { styles } from './optimizedState.styles'; - interface LoadingStateProps extends WrappedComponentProps { body?: string; heading?: string; @@ -28,12 +20,14 @@ const LoadingStateBase: React.FC = ({ heading = intl.formatMessage(messages.optimizedStateTitle), }) => { return ( - - } - titleText={heading} - /> + {body} ); diff --git a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdown.styles.ts b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdown.styles.ts index f1e9ed7..c8dff60 100644 --- a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdown.styles.ts +++ b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdown.styles.ts @@ -1,38 +1,32 @@ -import global_BackgroundColor_light_100 from '@patternfly/react-tokens/dist/js/global_BackgroundColor_light_100'; -import global_spacer_lg from '@patternfly/react-tokens/dist/js/global_spacer_lg'; -import global_spacer_md from '@patternfly/react-tokens/dist/js/global_spacer_md'; +import t_global_BackgroundColor_light_100 from '@patternfly/react-tokens/dist/js/t_global_background_color_100'; +import t_global_spacer_lg from '@patternfly/react-tokens/dist/js/t_global_spacer_lg'; +import t_global_spacer_sm from '@patternfly/react-tokens/dist/js/t_global_spacer_sm'; import type React from 'react'; export const styles = { alertContainer: { - marginBottom: global_spacer_lg.value, + marginBottom: t_global_spacer_lg.value, }, codeBlock: { display: 'flex', }, - container: { - minHeight: '100vh', - }, currentActions: { height: '36px', }, + headerContainer: { + paddingBottom: 0, + }, optimizedState: { minHeight: '285px', }, - pagination: { - backgroundColor: global_BackgroundColor_light_100.value, - paddingBottom: global_spacer_md.value, - paddingTop: global_spacer_md.value, + paginationContainer: { + marginTop: t_global_spacer_sm.var, }, projectLink: { padding: 0, }, - tabs: { - backgroundColor: global_BackgroundColor_light_100.value, - paddingLeft: global_spacer_lg.value, - }, utilizationContainer: { - backgroundColor: global_BackgroundColor_light_100.value, - marginTop: global_spacer_lg.value, + backgroundColor: t_global_BackgroundColor_light_100.value, + marginTop: t_global_spacer_lg.value, }, } as { [className: string]: React.CSSProperties }; diff --git a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdown.tsx b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdown.tsx index 9b2ba17..c5dc6e3 100644 --- a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdown.tsx +++ b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdown.tsx @@ -15,7 +15,7 @@ import { useDispatch, useSelector } from 'react-redux'; import { useLocation } from 'react-router-dom'; import type { AnyAction } from 'redux'; import type { ThunkDispatch } from 'redux-thunk'; -import { Loading } from 'routes/components/page/loading'; +import { LoadingState } from 'routes/components/state/loadingState'; import type { RootState } from 'store'; import { FetchStatus } from 'store/common'; import { rosActions, rosSelectors } from 'store/ros'; @@ -241,22 +241,24 @@ const OptimizationsBreakdown: React.FC = () => { const [availableTabs] = useState(getAvailableTabs()); return ( -
- -
{getTabs(availableTabs)}
- + <> + + + + {getTabs(availableTabs)} + {isLoading ? ( - @@ -267,8 +269,7 @@ const OptimizationsBreakdown: React.FC = () => {
)}
- . -
+ ); }; diff --git a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownChart.styles.ts b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownChart.styles.ts index 5f013f1..7bdf66f 100644 --- a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownChart.styles.ts +++ b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownChart.styles.ts @@ -1,16 +1,16 @@ import { chart_color_blue_100 } from '@patternfly/react-tokens/dist/js/chart_color_blue_100'; import { chart_color_blue_200 } from '@patternfly/react-tokens/dist/js/chart_color_blue_200'; import { chart_color_blue_400 } from '@patternfly/react-tokens/dist/js/chart_color_blue_400'; -import { chart_color_red_200 } from '@patternfly/react-tokens/dist/js/chart_color_red_200'; +import { t_global_color_status_danger_200 } from '@patternfly/react-tokens/dist/js/t_global_color_status_danger_200'; export const chartStyles = { limit: { fill: 'none', }, - limitColorScale: [chart_color_red_200.value], + limitColorScale: [t_global_color_status_danger_200.var], request: { fill: 'none', }, - requestColorScale: [chart_color_blue_400.value], - usageColorScale: [chart_color_blue_100.value, chart_color_blue_200.value], + requestColorScale: [chart_color_blue_400.var], + usageColorScale: [chart_color_blue_100.var, chart_color_blue_200.var], }; diff --git a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownChart.tsx b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownChart.tsx index e97d161..8dc6250 100644 --- a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownChart.tsx +++ b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownChart.tsx @@ -10,7 +10,7 @@ import { ChartScatter, createContainer, getInteractiveLegendEvents, -} from '@patternfly/react-charts'; +} from '@patternfly/react-charts/victory'; import messages from 'locales/messages'; import React, { useEffect, useMemo, useState } from 'react'; import { useIntl } from 'react-intl'; diff --git a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownHeader.styles.ts b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownHeader.styles.ts index 67f7826..84a8d54 100644 --- a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownHeader.styles.ts +++ b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownHeader.styles.ts @@ -1,20 +1,15 @@ -import global_BackgroundColor_light_100 from '@patternfly/react-tokens/dist/js/global_BackgroundColor_light_100'; -import global_FontSize_md from '@patternfly/react-tokens/dist/js/global_FontSize_md'; -import global_spacer_lg from '@patternfly/react-tokens/dist/js/global_spacer_lg'; -import global_spacer_md from '@patternfly/react-tokens/dist/js/global_spacer_md'; -import global_spacer_sm from '@patternfly/react-tokens/dist/js/global_spacer_sm'; +import t_global_font_size_md from '@patternfly/react-tokens/dist/js/t_global_font_size_md'; +import t_global_spacer_lg from '@patternfly/react-tokens/dist/js/t_global_spacer_lg'; +import t_global_spacer_md from '@patternfly/react-tokens/dist/js/t_global_spacer_md'; +import t_global_spacer_sm from '@patternfly/react-tokens/dist/js/t_global_spacer_sm'; import type React from 'react'; export const styles = { description: { - marginTop: global_spacer_lg.var, - }, - header: { - backgroundColor: global_BackgroundColor_light_100.var, - padding: global_spacer_lg.var, + marginTop: t_global_spacer_lg.var, }, infoIcon: { - fontSize: global_FontSize_md.value, + fontSize: t_global_font_size_md.value, }, infoTitle: { fontWeight: 'bold', @@ -22,15 +17,15 @@ export const styles = { title: { alignItems: 'center', display: 'flex', - marginTop: global_spacer_md.var, + marginTop: t_global_spacer_md.var, }, toolbar: { display: 'flex', justifyContent: 'space-between', - marginTop: global_spacer_lg.var, + marginTop: t_global_spacer_lg.var, }, warningIcon: { - paddingLeft: global_spacer_sm.var, + paddingLeft: t_global_spacer_sm.var, paddingTop: '2px', }, } as { [className: string]: React.CSSProperties }; diff --git a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownHeader.tsx b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownHeader.tsx index d989a78..1c9a9ee 100644 --- a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownHeader.tsx +++ b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownHeader.tsx @@ -1,13 +1,4 @@ -import { - Icon, - TextContent, - TextList, - TextListItem, - TextListItemVariants, - TextListVariants, - Title, - TitleSizes, -} from '@patternfly/react-core'; +import { Content, ContentVariants, Icon, Title, TitleSizes } from '@patternfly/react-core'; import { ExclamationTriangleIcon } from '@patternfly/react-icons/dist/esm/icons/exclamation-triangle-icon'; import type { RecommendationReportData } from 'api/ros/recommendations'; import messages from 'locales/messages'; @@ -70,42 +61,42 @@ const OptimizationsBreakdownHeader: React.FC const workloadType = report?.workload_type ? report.workload_type : ''; return ( - - - + + + {intl.formatMessage(messages.optimizationsValues, { value: 'last_reported' })} - - {lastReported} - + + {lastReported} + {intl.formatMessage(messages.optimizationsValues, { value: 'cluster' })} - - {cluster} - + + {cluster} + {intl.formatMessage(messages.optimizationsValues, { value: 'project' })} - - + + - - + + {intl.formatMessage(messages.optimizationsValues, { value: 'workload_type' })} - - {workloadType} - + + {workloadType} + {intl.formatMessage(messages.optimizationsValues, { value: 'workload' })} - - {workload} - - + + {workload} + + ); }; return ( -
+
{getBackToLink()}
diff --git a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownUtilization.styles.ts b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownUtilization.styles.ts index be5cc17..52de399 100644 --- a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownUtilization.styles.ts +++ b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownUtilization.styles.ts @@ -1,5 +1,5 @@ -import global_spacer_md from '@patternfly/react-tokens/dist/js/global_spacer_md'; -import global_spacer_sm from '@patternfly/react-tokens/dist/js/global_spacer_sm'; +import t_global_spacer_md from '@patternfly/react-tokens/dist/js/t_global_spacer_md'; +import t_global_spacer_sm from '@patternfly/react-tokens/dist/js/t_global_spacer_sm'; export const chartStyles = { chartHeight: 350, @@ -13,8 +13,8 @@ export const styles = { display: 'flex', }, dividerContainer: { - marginRight: `-${global_spacer_sm.value}`, - paddingBottom: global_spacer_md.value, - paddingTop: global_spacer_md.value, + marginRight: `-${t_global_spacer_sm.value}`, + paddingBottom: t_global_spacer_md.value, + paddingTop: t_global_spacer_md.value, }, } as { [className: string]: React.CSSProperties }; diff --git a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownUtilization.tsx b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownUtilization.tsx index a1c6ab4..e3c8e94 100644 --- a/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownUtilization.tsx +++ b/src/routes/optimizations/optimizationsBreakdown/optimizationsBreakdownUtilization.tsx @@ -125,38 +125,40 @@ const OptimizationsBreakdownUtilization: React.FC<OptimizationsBreakdownUtilizat }; return ( - <Grid hasGutter> - <GridItem xl={6}> - <div style={styles.container}> - <div style={styles.cardContainer}> - <Card isPlain> - <CardTitle> - <Title headingLevel="h2" size={TitleSizes.lg}> - {intl.formatMessage(messages.cpuUtilization)} - - - {getChart(UsageType.cpuUsage, RecommendationType.cpu)} - + + + +
+
+ + + + {intl.formatMessage(messages.cpuUtilization)} + + + {getChart(UsageType.cpuUsage, RecommendationType.cpu)} + +
+
- -
- - - - - - {intl.formatMessage(messages.memoryUtilization)} - - - {getChart(UsageType.memoryUsage, RecommendationType.memory)} - - - + + + + + + {intl.formatMessage(messages.memoryUtilization)} + + + {getChart(UsageType.memoryUsage, RecommendationType.memory)} + + + + ); }; diff --git a/src/routes/optimizations/optimizationsDetails/optimizationsDetails.styles.ts b/src/routes/optimizations/optimizationsDetails/optimizationsDetails.styles.ts deleted file mode 100644 index bcd3af1..0000000 --- a/src/routes/optimizations/optimizationsDetails/optimizationsDetails.styles.ts +++ /dev/null @@ -1,14 +0,0 @@ -import global_BackgroundColor_light_100 from '@patternfly/react-tokens/dist/js/global_BackgroundColor_light_100'; -import global_spacer_md from '@patternfly/react-tokens/dist/js/global_spacer_md'; -import type React from 'react'; - -export const styles = { - container: { - minHeight: '100vh', - }, - pagination: { - backgroundColor: global_BackgroundColor_light_100.value, - paddingBottom: global_spacer_md.value, - paddingTop: global_spacer_md.value, - }, -} as { [className: string]: React.CSSProperties }; diff --git a/src/routes/optimizations/optimizationsDetails/optimizationsDetails.tsx b/src/routes/optimizations/optimizationsDetails/optimizationsDetails.tsx index 7ce925f..70e123c 100644 --- a/src/routes/optimizations/optimizationsDetails/optimizationsDetails.tsx +++ b/src/routes/optimizations/optimizationsDetails/optimizationsDetails.tsx @@ -1,8 +1,7 @@ -import { PageSection } from '@patternfly/react-core'; +import { Card, CardBody, PageSection } from '@patternfly/react-core'; import React from 'react'; import { OptimizationsTable } from 'routes/optimizations/optimizationsTable'; -import { styles } from './optimizationsDetails.styles'; import { OptimizationsDetailsHeader } from './optimizationsDetailsHeader'; interface OptimizationsDetailsOwnProps { @@ -23,19 +22,25 @@ const OptimizationsDetails: React.FC = ({ projectPath, }) => { return ( -
- - - + <> + + -
+ + + + + + + + ); }; diff --git a/src/routes/optimizations/optimizationsDetails/optimizationsDetailsHeader.styles.ts b/src/routes/optimizations/optimizationsDetails/optimizationsDetailsHeader.styles.ts index d82039c..5a7b19e 100644 --- a/src/routes/optimizations/optimizationsDetails/optimizationsDetailsHeader.styles.ts +++ b/src/routes/optimizations/optimizationsDetails/optimizationsDetailsHeader.styles.ts @@ -1,22 +1,15 @@ -import global_BackgroundColor_light_100 from '@patternfly/react-tokens/dist/js/global_BackgroundColor_light_100'; -import global_FontSize_md from '@patternfly/react-tokens/dist/js/global_FontSize_md'; -import global_spacer_lg from '@patternfly/react-tokens/dist/js/global_spacer_lg'; -import global_spacer_sm from '@patternfly/react-tokens/dist/js/global_spacer_sm'; +import t_global_font_size_md from '@patternfly/react-tokens/dist/js/t_global_font_size_md'; +import t_global_spacer_sm from '@patternfly/react-tokens/dist/js/t_global_spacer_sm'; import type React from 'react'; export const styles = { - header: { - backgroundColor: global_BackgroundColor_light_100.var, - padding: global_spacer_lg.var, - }, - headerContent: { - display: 'flex', - justifyContent: 'space-between', + headerContainer: { + paddingBottom: 0, }, infoIcon: { - fontSize: global_FontSize_md.value, + fontSize: t_global_font_size_md.value, }, title: { - paddingBottom: global_spacer_sm.var, + paddingBottom: t_global_spacer_sm.var, }, } as { [className: string]: React.CSSProperties }; diff --git a/src/routes/optimizations/optimizationsDetails/optimizationsDetailsHeader.tsx b/src/routes/optimizations/optimizationsDetails/optimizationsDetailsHeader.tsx index 6b13f78..dbcceed 100644 --- a/src/routes/optimizations/optimizationsDetails/optimizationsDetailsHeader.tsx +++ b/src/routes/optimizations/optimizationsDetails/optimizationsDetailsHeader.tsx @@ -16,40 +16,37 @@ const OptimizationsDetailsHeader: React.FC = () const intl = useIntl(); return ( -
-
- - {intl.formatMessage(messages.optimizations)} - <span style={styles.infoIcon}> - <Popover - aria-label={intl.formatMessage(messages.optimizationsInfoArialLabel)} - enableFlip - bodyContent={ - <> - <p>{intl.formatMessage(messages.optimizationsInfoTitle)}</p> - <br /> - <p> - {intl.formatMessage(messages.optimizationsInfoDesc, { - learnMore: ( - <a href={intl.formatMessage(messages.docsOptimizations)} rel="noreferrer" target="_blank"> - {intl.formatMessage(messages.learnMore)} - </a> - ), - })} - </p> - </> - } - > - <Button - aria-label={intl.formatMessage(messages.optimizationsInfoButtonArialLabel)} - variant={ButtonVariant.plain} - > - <OutlinedQuestionCircleIcon /> - </Button> - </Popover> - </span> - -
+
+ + {intl.formatMessage(messages.optimizations)} + <span style={styles.infoIcon}> + <Popover + aria-label={intl.formatMessage(messages.optimizationsInfoArialLabel)} + enableFlip + bodyContent={ + <> + <p>{intl.formatMessage(messages.optimizationsInfoTitle)}</p> + <br /> + <p> + {intl.formatMessage(messages.optimizationsInfoDesc, { + learnMore: ( + <a href={intl.formatMessage(messages.docsOptimizations)} rel="noreferrer" target="_blank"> + {intl.formatMessage(messages.learnMore)} + </a> + ), + })} + </p> + </> + } + > + <Button + icon={<OutlinedQuestionCircleIcon />} + aria-label={intl.formatMessage(messages.optimizationsInfoButtonArialLabel)} + variant={ButtonVariant.plain} + /> + </Popover> + </span> +
); }; diff --git a/src/routes/optimizations/optimizationsSummary/optimizations.styles.ts b/src/routes/optimizations/optimizationsSummary/optimizations.styles.ts index cf85bac..de2d9e3 100644 --- a/src/routes/optimizations/optimizationsSummary/optimizations.styles.ts +++ b/src/routes/optimizations/optimizationsSummary/optimizations.styles.ts @@ -1,8 +1,8 @@ -import global_FontSize_md from '@patternfly/react-tokens/dist/js/global_FontSize_md'; +import t_global_font_size_md from '@patternfly/react-tokens/dist/js/t_global_font_size_md'; import type React from 'react'; export const styles = { infoIcon: { - fontSize: global_FontSize_md.value, + fontSize: t_global_font_size_md.value, }, } as { [className: string]: React.CSSProperties }; diff --git a/src/routes/optimizations/optimizationsSummary/optimizationsSummary.scss b/src/routes/optimizations/optimizationsSummary/optimizationsSummary.scss index 7a01575..1954db4 100644 --- a/src/routes/optimizations/optimizationsSummary/optimizationsSummary.scss +++ b/src/routes/optimizations/optimizationsSummary/optimizationsSummary.scss @@ -2,8 +2,8 @@ .skeleton { height: 125px; - margin-bottom: var(--pf-v5-global--spacer--md); - margin-top: var(--pf-v5-global--spacer--md); + margin-bottom: var(--pf-t--global--font--size--md); + margin-top: var(--pf-t--global--font--size--md); } .summary { diff --git a/src/routes/optimizations/optimizationsSummary/optimizationsSummary.tsx b/src/routes/optimizations/optimizationsSummary/optimizationsSummary.tsx index bb02412..191735d 100644 --- a/src/routes/optimizations/optimizationsSummary/optimizationsSummary.tsx +++ b/src/routes/optimizations/optimizationsSummary/optimizationsSummary.tsx @@ -81,11 +81,10 @@ const OptimizationsSummary: React.FC = ({ } > + /> diff --git a/src/routes/optimizations/optimizationsTable/optimizationsTable.tsx b/src/routes/optimizations/optimizationsTable/optimizationsTable.tsx index a7aca80..eb5120a 100644 --- a/src/routes/optimizations/optimizationsTable/optimizationsTable.tsx +++ b/src/routes/optimizations/optimizationsTable/optimizationsTable.tsx @@ -11,9 +11,9 @@ import { useDispatch, useSelector } from 'react-redux'; import { useLocation } from 'react-router-dom'; import type { AnyAction } from 'redux'; import type { ThunkDispatch } from 'redux-thunk'; -import { Loading } from 'routes/components/page/loading'; import { NotAvailable } from 'routes/components/page/notAvailable'; import { NotConfigured } from 'routes/components/page/notConfigured'; +import { LoadingState } from 'routes/components/state/loadingState'; import { styles } from 'routes/optimizations/optimizationsBreakdown/optimizationsBreakdown.styles'; import { getOrderById, getOrderByValue } from 'routes/utils/orderBy'; import * as queryUtils from 'routes/utils/query'; @@ -198,14 +198,14 @@ const OptimizationsTable: React.FC = ({ <> {getToolbar()} {reportFetchStatus === FetchStatus.inProgress ? ( - ) : ( <> {getTable()} -
{getPagination(isDisabled, true)}
+
{getPagination(isDisabled, true)}
)} diff --git a/src/routes/optimizations/optimizationsTable/optimizationsToolbar.tsx b/src/routes/optimizations/optimizationsTable/optimizationsToolbar.tsx index 0254434..ddddeb6 100644 --- a/src/routes/optimizations/optimizationsTable/optimizationsToolbar.tsx +++ b/src/routes/optimizations/optimizationsTable/optimizationsToolbar.tsx @@ -1,4 +1,4 @@ -import type { ToolbarChipGroup } from '@patternfly/react-core'; +import type { ToolbarLabelGroup } from '@patternfly/react-core'; import type { RosQuery } from 'api/queries/rosQuery'; import messages from 'locales/messages'; import React from 'react'; @@ -20,7 +20,7 @@ interface OptimizationsToolbarOwnProps { } interface OptimizationsToolbarState { - categoryOptions?: ToolbarChipGroup[]; + categoryOptions?: ToolbarLabelGroup[]; } type OptimizationsToolbarProps = OptimizationsToolbarOwnProps & WrappedComponentProps; @@ -35,7 +35,7 @@ class OptimizationsToolbarBase extends React.Component { + private getCategoryOptions = (): ToolbarLabelGroup[] => { const { hideCluster, hideProject, intl } = this.props; const options = [ diff --git a/src/routes/staging/optimizations/optimizationsBadgeStaging.tsx b/src/routes/staging/optimizations/optimizationsBadgeStaging.tsx index 288d8f9..35ca134 100644 --- a/src/routes/staging/optimizations/optimizationsBadgeStaging.tsx +++ b/src/routes/staging/optimizations/optimizationsBadgeStaging.tsx @@ -14,7 +14,7 @@ const OptimizationsBadgeStaging: React.FC = () = const projectFilter = 'openshift'; return ( - + ); diff --git a/src/routes/staging/optimizations/optimizationsLinkStaging.tsx b/src/routes/staging/optimizations/optimizationsLinkStaging.tsx index a807316..e0f6988 100644 --- a/src/routes/staging/optimizations/optimizationsLinkStaging.tsx +++ b/src/routes/staging/optimizations/optimizationsLinkStaging.tsx @@ -33,7 +33,7 @@ const OptimizationsLinkStaging: React.FC = () => }); return ( - + ); diff --git a/src/routes/staging/optimizations/optimizationsSummaryStaging.tsx b/src/routes/staging/optimizations/optimizationsSummaryStaging.tsx index f7f93f8..b2fce5a 100644 --- a/src/routes/staging/optimizations/optimizationsSummaryStaging.tsx +++ b/src/routes/staging/optimizations/optimizationsSummaryStaging.tsx @@ -12,7 +12,7 @@ type OptimizationsSummaryStagingProps = OptimizationsSummaryStagingOwnProps; const OptimizationsSummaryStaging: React.FC = () => { return ( - + ); diff --git a/src/routes/staging/optimizations/optimizationsTableStaging.tsx b/src/routes/staging/optimizations/optimizationsTableStaging.tsx index 7179c13..50e5c6e 100644 --- a/src/routes/staging/optimizations/optimizationsTableStaging.tsx +++ b/src/routes/staging/optimizations/optimizationsTableStaging.tsx @@ -34,7 +34,7 @@ const OptimizationsDetailsStaging: React.FC = const projectFilter = 'openshift'; return ( - + *, -.pf-v5-l-grid .pf-v5-l-grid__item { +.pf-v6-l-grid > *, +.pf-v6-l-grid .pf-v6-l-grid__item { min-height: 0; min-width: 0; } diff --git a/src/styles/revert.css b/src/styles/revert.css index 4f16bad..95151f8 100644 --- a/src/styles/revert.css +++ b/src/styles/revert.css @@ -1,10 +1,10 @@ /* For testing only */ /* https://developer.mozilla.org/en-US/docs/Web/CSS/revert */ -[class*="pf-v5-c"], -[class*="pf-v5-c"] *, -[class*="pf-v5-l"], -[class*="pf-v5-l"] *, -[class*="pf-v5-u"], -[class*="pf-v5-u"] * { +[class*="pf-v6-c"], +[class*="pf-v6-c"] *, +[class*="pf-v6-l"], +[class*="pf-v6-l"] *, +[class*="pf-v6-u"], +[class*="pf-v6-u"] * { all: revert; } diff --git a/src/styles/theme.ts b/src/styles/theme.ts index 01dbc9f..55c7a49 100644 --- a/src/styles/theme.ts +++ b/src/styles/theme.ts @@ -1,29 +1,26 @@ -import global_BackgroundColor_light_100 from '@patternfly/react-tokens/dist/js/global_BackgroundColor_light_100'; -import global_BoxShadow_sm_right from '@patternfly/react-tokens/dist/js/global_BoxShadow_sm_right'; -import global_breakpoint_lg from '@patternfly/react-tokens/dist/js/global_breakpoint_lg'; -import global_breakpoint_md from '@patternfly/react-tokens/dist/js/global_breakpoint_md'; -import global_breakpoint_sm from '@patternfly/react-tokens/dist/js/global_breakpoint_sm'; -import global_breakpoint_xl from '@patternfly/react-tokens/dist/js/global_breakpoint_xl'; -import global_breakpoint_xs from '@patternfly/react-tokens/dist/js/global_breakpoint_xs'; -import global_Color_dark_100 from '@patternfly/react-tokens/dist/js/global_Color_dark_100'; +import t_global_background_color_100 from '@patternfly/react-tokens/dist/js/t_global_background_color_100'; +import t_global_box_shadow_sm_right from '@patternfly/react-tokens/dist/js/t_global_box_shadow_sm_right'; +import t_global_breakpoint_lg from '@patternfly/react-tokens/dist/js/t_global_breakpoint_lg'; +import t_global_breakpoint_md from '@patternfly/react-tokens/dist/js/t_global_breakpoint_md'; +import t_global_breakpoint_sm from '@patternfly/react-tokens/dist/js/t_global_breakpoint_sm'; +import t_global_breakpoint_xl from '@patternfly/react-tokens/dist/js/t_global_breakpoint_xl'; +import t_global_breakpoint_xs from '@patternfly/react-tokens/dist/js/t_global_breakpoint_xs'; const createBreakpoint = (size: string) => `@media (min-width: ${size})`; const breakpoints = { - xs: createBreakpoint(global_breakpoint_xs.value), - sm: createBreakpoint(global_breakpoint_sm.value), - md: createBreakpoint(global_breakpoint_md.value), - lg: createBreakpoint(global_breakpoint_lg.value), - xl: createBreakpoint(global_breakpoint_xl.value), + xs: createBreakpoint(t_global_breakpoint_xs.value), + sm: createBreakpoint(t_global_breakpoint_sm.value), + md: createBreakpoint(t_global_breakpoint_md.value), + lg: createBreakpoint(t_global_breakpoint_lg.value), + xl: createBreakpoint(t_global_breakpoint_xl.value), }; export const theme = { breakpoints, page_breakpoint: breakpoints.md, page_masthead_height: 70, - page_sidebar_background: global_BackgroundColor_light_100.value, - page_sidebar_boxShadow: global_BoxShadow_sm_right.value, + page_sidebar_background: t_global_background_color_100.value, + page_sidebar_boxShadow: t_global_box_shadow_sm_right.value, page_sidebar_width: 300, - verticalNav_color: global_Color_dark_100.value, - verticalNav_link_color: global_Color_dark_100.value, };