diff --git a/frontend/package-lock.json b/frontend/package-lock.json index a9b90ba824..7935b8dc65 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1216,9 +1216,9 @@ } }, "@patternfly/patternfly": { - "version": "4.219.2", - "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-4.219.2.tgz", - "integrity": "sha512-SZ+9ig6DVygwM6fpldYhRjoyr9KMJTit/ZMyWCUE7DfpTqEr69wQnOaGxfvNlH1UV6G7Z+ALZXeck3Dy1nb9Vw==" + "version": "4.221.2", + "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-4.221.2.tgz", + "integrity": "sha512-4R35CKnZJY6/sN6vzYaAwkEaYWIo2IZv4y2s39ZNh4QkK1pBTWmH6URUYOxNhc5qrU9MjFNdMCNepBciM3SugQ==" }, "@patternfly/quickstarts": { "version": "2.3.1", @@ -1258,23 +1258,23 @@ } }, "@patternfly/react-catalog-view-extension": { - "version": "4.92.55", - "resolved": "https://registry.npmjs.org/@patternfly/react-catalog-view-extension/-/react-catalog-view-extension-4.92.55.tgz", - "integrity": "sha512-MWxOo7rFrY5DbOglBGhK5VEbhVAl37k2rW1elm0WdU6Jveb3DPAqbgLEGemtgdQTIEfCQPZ5daSK5AqDMyitew==", + "version": "4.93.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-catalog-view-extension/-/react-catalog-view-extension-4.93.0.tgz", + "integrity": "sha512-pV7jC06RB+nSqp6VGzdPr0SvCAJcTo97HgQCnXTLnh+gzUMLupmZOQ3g2XoAAAqCivdVfRqZ+Gm4yXqis/rmFA==", "requires": { - "@patternfly/patternfly": "4.219.2", - "@patternfly/react-core": "^4.258.3", - "@patternfly/react-styles": "^4.91.10" + "@patternfly/patternfly": "4.221.2", + "@patternfly/react-core": "^4.264.0", + "@patternfly/react-styles": "^4.92.0" } }, "@patternfly/react-core": { - "version": "4.258.3", - "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-4.258.3.tgz", - "integrity": "sha512-2l+GWxuIwJinhYoNv4mQdVQOmbDXRdyPIMjBFm/HTKLXxhGLSoIYlgVGy/On/ViaBSZGh5e/I5H74aC8naMGPA==", + "version": "4.264.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-4.264.0.tgz", + "integrity": "sha512-tK0BMWxw8nhukev40HZ6q6d02pDnjX7oyA91vHa18aakJUKBWMaerqpG4NZVMoh0tPKX3aLNj+zyCwDALFAZZw==", "requires": { - "@patternfly/react-icons": "^4.92.10", - "@patternfly/react-styles": "^4.91.10", - "@patternfly/react-tokens": "^4.93.10", + "@patternfly/react-icons": "^4.93.0", + "@patternfly/react-styles": "^4.92.0", + "@patternfly/react-tokens": "^4.94.0", "focus-trap": "6.9.2", "react-dropzone": "9.0.0", "tippy.js": "5.1.2", @@ -1282,41 +1282,41 @@ } }, "@patternfly/react-icons": { - "version": "4.92.10", - "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-4.92.10.tgz", - "integrity": "sha512-vwCy7b+OyyuvLDSLqLUG2DkJZgMDogjld8tJTdAaG8HiEhC1sJPZac+5wD7AuS3ym/sQolS4vYtNiVDnMEORxA==" + "version": "4.93.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-4.93.0.tgz", + "integrity": "sha512-OH0vORVioL+HLWMEog8/3u8jsiMCeJ0pFpvRKRhy5Uk4CdAe40k1SOBvXJP6opr+O8TLbz0q3bm8Jsh/bPaCuQ==" }, "@patternfly/react-styles": { - "version": "4.91.10", - "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-4.91.10.tgz", - "integrity": "sha512-fAG4Vjp63ohiR92F4e/Gkw5q1DSSckHKqdnEF75KUpSSBORzYP0EKMpupSd6ItpQFJw3iWs3MJi3/KIAAfU1Jw==" + "version": "4.92.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-4.92.0.tgz", + "integrity": "sha512-B/f6iyu8UEN1+wRxdC4sLIhvJeyL8SqInDXZmwOIqK8uPJ8Lze7qrbVhkkVzbMF37/oDPVa6dZH8qZFq062LEA==" }, "@patternfly/react-table": { - "version": "4.111.33", - "resolved": "https://registry.npmjs.org/@patternfly/react-table/-/react-table-4.111.33.tgz", - "integrity": "sha512-h5feSvjaoPwirRkLQePYm4NWXoYRfH0F9/WCdgStp1JAiCRVUqH8jDEZORv3xuFfMeFh4Vuq+WPEJu0B4VM5BQ==", - "requires": { - "@patternfly/react-core": "^4.258.3", - "@patternfly/react-icons": "^4.92.10", - "@patternfly/react-styles": "^4.91.10", - "@patternfly/react-tokens": "^4.93.10", + "version": "4.111.45", + "resolved": "https://registry.npmjs.org/@patternfly/react-table/-/react-table-4.111.45.tgz", + "integrity": "sha512-HiMwonrJS8CDbltHRt87oM2+M6YUbGiuiKkFgc8pkglKSfkZ25juUZq5QMFCPynIK7cqbtM8zaqCOVf1T2aUPg==", + "requires": { + "@patternfly/react-core": "^4.264.0", + "@patternfly/react-icons": "^4.93.0", + "@patternfly/react-styles": "^4.92.0", + "@patternfly/react-tokens": "^4.94.0", "lodash": "^4.17.19", "tslib": "^2.0.0" } }, "@patternfly/react-tokens": { - "version": "4.93.10", - "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-4.93.10.tgz", - "integrity": "sha512-F+j1irDc9M6zvY6qNtDryhbpnHz3R8ymHRdGelNHQzPTIK88YSWEnT1c9iUI+uM/iuZol7sJmO5STtg2aPIDRQ==" + "version": "4.94.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-4.94.0.tgz", + "integrity": "sha512-fYXxUJZnzpn89K2zzHF0cSncZZVGKrohdb5f5T1wzxwU2NZPVGpvr88xhm+V2Y/fSrrTPwXcP3IIdtNOOtJdZw==" }, "@patternfly/react-virtualized-extension": { - "version": "4.88.55", - "resolved": "https://registry.npmjs.org/@patternfly/react-virtualized-extension/-/react-virtualized-extension-4.88.55.tgz", - "integrity": "sha512-cYwxFZKQksmi78ArQ1Dtsf5nGPff5oIC/uFkT9qFk7Bi2TEUMDArq8eeXs5nL+5jJZo3xl+L2MMGQJ7tyd/4Ug==", + "version": "4.88.67", + "resolved": "https://registry.npmjs.org/@patternfly/react-virtualized-extension/-/react-virtualized-extension-4.88.67.tgz", + "integrity": "sha512-yxdel4SiPGherk7As/gicV+YxwnVCTgFrlZ7kZb1HMHfS0AaeYX9zaAiZPZipRUUbKK3u/zSZdhtKyhBsnL2Eg==", "requires": { - "@patternfly/react-core": "^4.258.3", - "@patternfly/react-icons": "^4.92.10", - "@patternfly/react-styles": "^4.91.10", + "@patternfly/react-core": "^4.264.0", + "@patternfly/react-icons": "^4.93.0", + "@patternfly/react-styles": "^4.92.0", "linear-layout-vector": "0.0.1", "react-virtualized": "^9.21.1", "tslib": "^2.0.0" @@ -2074,13 +2074,13 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { @@ -2218,7 +2218,7 @@ "alphanum-sort": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", "dev": true }, "amdefine": { @@ -2909,7 +2909,7 @@ "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==" + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" }, "camelcase-keys": { "version": "2.1.0", @@ -3179,7 +3179,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true } } @@ -3493,7 +3493,7 @@ "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", @@ -3503,7 +3503,7 @@ "css-color-names": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", "dev": true }, "css-declaration-sorter": { @@ -3738,13 +3738,13 @@ "cssnano-util-get-arguments": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw==", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", "dev": true }, "cssnano-util-get-match": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw==", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", "dev": true }, "cssnano-util-raw-cache": { @@ -4966,7 +4966,7 @@ "execa": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { "cross-spawn": "^5.0.1", "get-stream": "^3.0.0", @@ -5695,7 +5695,7 @@ "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, "get-symbol-description": { "version": "1.0.0", @@ -5810,7 +5810,7 @@ "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", "dev": true, "optional": true }, @@ -6013,13 +6013,13 @@ "hsl-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", "dev": true }, "hsla-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", "dev": true }, "html-encoding-sniffer": { @@ -6554,7 +6554,7 @@ "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==" + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, "ip": { "version": "1.1.5", @@ -6658,7 +6658,7 @@ "is-color-stop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", "dev": true, "requires": { "css-color-names": "^0.0.4", @@ -8863,7 +8863,7 @@ "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { "invert-kv": "^1.0.0" } @@ -8952,7 +8952,7 @@ "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, "lodash.merge": { @@ -8970,7 +8970,7 @@ "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, "log-symbols": { @@ -9014,13 +9014,13 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { @@ -9088,7 +9088,7 @@ "lz-string": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==", + "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", "dev": true }, "make-error": { @@ -9141,7 +9141,7 @@ "mem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha512-nOBDrc/wgpkd3X/JOhMqYR+/eLqlfLP4oQfoBA6QExIxEl+GU01oyEkwWyueyO8110pUKijtiHGhEmYoOn88oQ==", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { "mimic-fn": "^1.0.0" } @@ -11674,7 +11674,7 @@ "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==" + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "requires-port": { "version": "1.0.0", @@ -11742,13 +11742,13 @@ "rgb-regex": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", "dev": true }, "rgba-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", "dev": true }, "rimraf": { @@ -12646,7 +12646,7 @@ "simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", "dev": true, "requires": { "is-arrayish": "^0.3.1" @@ -13647,7 +13647,7 @@ "timsort": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", "dev": true }, "tippy.js": { @@ -14009,7 +14009,7 @@ "uniqs": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", "dev": true }, "unique-filename": { @@ -15452,7 +15452,7 @@ "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" @@ -15461,12 +15461,12 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { "number-is-nan": "^1.0.0" } @@ -15474,7 +15474,7 @@ "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -15484,7 +15484,7 @@ "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" } diff --git a/frontend/package.json b/frontend/package.json index 818bc4427d..9e5007dfd8 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -38,14 +38,14 @@ "dependencies": { "@openshift/dynamic-plugin-sdk": "^1.0.0-alpha12", "@openshift/dynamic-plugin-sdk-utils": "^1.0.0-alpha17", - "@patternfly/patternfly": "4.219.2", + "@patternfly/patternfly": "4.221.2", "@patternfly/quickstarts": "^2.3.1", - "@patternfly/react-catalog-view-extension": "4.92.55", - "@patternfly/react-core": "4.258.3", - "@patternfly/react-icons": "4.92.10", - "@patternfly/react-styles": "4.91.10", - "@patternfly/react-table": "4.111.33", - "@patternfly/react-virtualized-extension": "4.88.55", + "@patternfly/react-catalog-view-extension": "4.93.0", + "@patternfly/react-core": "4.264.0", + "@patternfly/react-icons": "4.93.0", + "@patternfly/react-styles": "4.92.0", + "@patternfly/react-table": "4.111.45", + "@patternfly/react-virtualized-extension": "4.88.67", "@types/classnames": "^2.3.1", "axios": "^0.21.1", "classnames": "^2.2.6", diff --git a/frontend/src/app/App.scss b/frontend/src/app/App.scss index e2d73d4d92..560cba789a 100644 --- a/frontend/src/app/App.scss +++ b/frontend/src/app/App.scss @@ -3,129 +3,15 @@ html, body, #root { } .odh-dashboard { - &__error-body { - text-align: left; - white-space: pre; - } - - &__display-error { - white-space: pre-wrap; - } - - &__external-link { - > svg { - margin-left: var(--pf-global--spacer--xs); - } - } - - &__notification-drawer { - .pf-c-notification-drawer__list-item-header-title { - font-size: 1em; - } - &__item-remove { - padding-bottom: 0; - padding-top: 0; - } - .pf-c-notification-drawer__list-item-description.m-is-hidden { - display: none; - } - } - - &__notifications { - position: fixed; - right: var(--pf-global--spacer--sm); - z-index: 2000; - .pf-c-alert { - margin-top: var(--pf-global--spacer--sm); - .pf-c-alert__action .pf-c-button { - padding-top: 0; - padding-bottom: 0; - } - } - &__message { - .pf-c-notification-drawer__list & { - margin-left: var(--pf-global--spacer--lg); - } - } - &__list { - list-style: disc; - margin-left: 20px; - margin-bottom: var(--pf-global--spacer--sm); - } - } - &__favorite { - cursor: pointer; - position: relative; - &__outer { - fill: var(--pf-global--disabled-color--100); - .m-is-favorite & { - fill: var(--pf-global--palette--gold-200); - } - } - &__inner { - fill: var(--pf-global--BackgroundColor--100); - position: absolute; - top: 5px; - left: 2px; - width: calc(1em - 4px); - height: calc(1em - 4px); - .m-is-favorite & { - fill: var(--pf-global--palette--gold-200); - } - } - } - .pf-c-page__main { - height: 100%; - } - .pf-c-drawer__content { - overflow-y: auto; - } - .pf-c-page__main-section { - .pf-l-gallery { - --pf-l-gallery--GridTemplateColumns--max-on-xl: 330px; - --pf-l-gallery--GridTemplateColumns--max-on-lg: 330px; - --pf-l-gallery--GridTemplateColumns--max-on-md: 330px; - --pf-l-gallery--GridTemplateColumns--max-on-sm: 330px; - --pf-l-gallery--GridTemplateColumns--max: 330px; - } - } - // PF Overrides - .pf-c-page__header { - .pf-c-brand { - height: 36px; - } - .pf-c-dropdown__toggle { - .pf-c-dropdown__toggle-icon { - margin-left: var(--pf-global--spacer--xs); - } - &:before { - visibility: hidden; - } - } - } - .pf-c-drawer.pf-m-inline { + &__page-content { + border: 1px solid var(--pf-global--BorderColor--100); + display: flex; flex: 1; + margin: var(--pf-global--spacer--md); } - // Bootstrap Overrides (Bootstrap pulled in by @cloudmosaic/quickstarts) - code { - color: initial; - background-color: initial; - } - - // PF Overrides - &.pf-c-page { - // TODO: Using the PF var doesn't work for some reason. - // @media (min-width: var(--pf-global--breakpoint--md)) { - @media (min-width: 768px) { - grid-template-columns: max-content 1fr; - grid-template-areas: "header header" "nav main"; - } - } - .pf-c-app-launcher__group-title { font-size: 13px; } - .pf-c-app-launcher__menu-item-external-icon { opacity: 1; color: var(--pf-global--icon--Color--light); @@ -138,10 +24,12 @@ html, body, #root { .pf-c-dropdown, .pf-c-dropdown__menu-item, .pf-c-dropdown__toggle, + .pf-c-select, + .pf-c-select__menu-item, + .pf-c-select__toggle, + .pf-c-text-input-group, .pf-c-form-control { - font-size: 14px; + font-size: var(--pf-global--FontSize--sm); height: auto; } } - - diff --git a/frontend/src/app/App.tsx b/frontend/src/app/App.tsx index 543cc9a6fe..06d30b265c 100644 --- a/frontend/src/app/App.tsx +++ b/frontend/src/app/App.tsx @@ -12,7 +12,6 @@ import { StackItem, } from '@patternfly/react-core'; import { detectUser } from '../redux/actions/actions'; -import { useDesktopWidth } from '../utilities/useDesktopWidth'; import Header from './Header'; import AppRoutes from './AppRoutes'; import NavSidebar from './NavSidebar'; @@ -29,8 +28,6 @@ import { useAppDispatch } from '../redux/hooks'; import './App.scss'; const App: React.FC = () => { - const isDeskTop = useDesktopWidth(); - const [isNavOpen, setIsNavOpen] = React.useState(isDeskTop); const [notificationsOpen, setNotificationsOpen] = React.useState(false); const { username, userError, isAllowed } = useUser(); const dispatch = useAppDispatch(); @@ -46,14 +43,6 @@ const App: React.FC = () => { dispatch(detectUser()); }, [dispatch]); - React.useEffect(() => { - setIsNavOpen(isDeskTop); - }, [isDeskTop]); - - const onNavToggle = () => { - setIsNavOpen(!isNavOpen); - }; - if (!username || !configLoaded || !dashboardConfig) { // We lack the critical data to startup the app if (userError || fetchConfigError) { @@ -96,15 +85,13 @@ const App: React.FC = () => { return ( setNotificationsOpen(!notificationsOpen)} />} sidebar={isAllowed ? : undefined} notificationDrawer={ setNotificationsOpen(false)} />} diff --git a/frontend/src/app/AppContext.ts b/frontend/src/app/AppContext.ts index 3e9c204a85..99dedc7f38 100644 --- a/frontend/src/app/AppContext.ts +++ b/frontend/src/app/AppContext.ts @@ -2,17 +2,11 @@ import * as React from 'react'; import { BuildStatus, DashboardConfig } from '../types'; type AppContextProps = { - isNavOpen: boolean; - setIsNavOpen: (isNavOpen: boolean) => void; - onNavToggle: () => void; buildStatuses: BuildStatus[]; dashboardConfig: DashboardConfig; }; const defaultAppContext: AppContextProps = { - isNavOpen: true, - setIsNavOpen: () => undefined, - onNavToggle: () => undefined, buildStatuses: [], // At runtime dashboardConfig is never null -- DO NOT DO THIS usually dashboardConfig: null as unknown as DashboardConfig, diff --git a/frontend/src/app/AppNotificationDrawer.tsx b/frontend/src/app/AppNotificationDrawer.tsx index aef517bb2e..9b69435b3f 100644 --- a/frontend/src/app/AppNotificationDrawer.tsx +++ b/frontend/src/app/AppNotificationDrawer.tsx @@ -49,12 +49,9 @@ const AppNotificationDrawer: React.FC = ({ onClose } dispatch(removeNotification(notification)); }; - // FIXME: Remove blank item from NotificationDrawerHeader when https://github.com/patternfly/patternfly-react/issues/5924 is resolved return ( - - - {` `} - + + {notifications.length ? ( @@ -69,20 +66,16 @@ const AppNotificationDrawer: React.FC = ({ onClose } variant={notification.status} title={notification.title} > -
- -
+ {notification.message} diff --git a/frontend/src/app/Header.tsx b/frontend/src/app/Header.tsx index c3c5f6a50b..29d6806562 100644 --- a/frontend/src/app/Header.tsx +++ b/frontend/src/app/Header.tsx @@ -1,39 +1,45 @@ import React from 'react'; -import { Brand, PageHeader } from '@patternfly/react-core'; +import { + Brand, + Masthead, + MastheadBrand, + MastheadContent, + MastheadMain, + MastheadToggle, + PageToggleButton, +} from '@patternfly/react-core'; import HeaderTools from './HeaderTools'; import { ODH_LOGO, ODH_PRODUCT_NAME } from '../utilities/const'; -import { useAppContext } from './AppContext'; import { useUser } from '../redux/selectors'; -import { useNavigate } from 'react-router-dom'; +import { BarsIcon } from '@patternfly/react-icons'; +import { Link } from 'react-router-dom'; type HeaderProps = { onNotificationsClick: () => void; }; const Header: React.FC = ({ onNotificationsClick }) => { - const { isNavOpen, onNavToggle } = useAppContext(); const { isAllowed } = useUser(); - const navigate = useNavigate(); return ( - - } - logoProps={{ - onClick: (e: MouseEvent) => { - e.preventDefault(); - navigate('/'); - }, - href: '/', - }} - headerTools={} - showNavToggle={isAllowed} - isNavOpen={isNavOpen} - onNavToggle={onNavToggle} - /> + + {isAllowed && ( + + + + + + )} + + }> + + + + + + + + + ); }; diff --git a/frontend/src/app/HeaderTools.tsx b/frontend/src/app/HeaderTools.tsx index 03df36c461..b25d8f325d 100644 --- a/frontend/src/app/HeaderTools.tsx +++ b/frontend/src/app/HeaderTools.tsx @@ -4,12 +4,13 @@ import { DropdownPosition, DropdownToggle, NotificationBadge, - PageHeaderTools, - PageHeaderToolsGroup, - PageHeaderToolsItem, DropdownItem, + Toolbar, + ToolbarContent, + ToolbarGroup, + ToolbarItem, } from '@patternfly/react-core'; -import { CaretDownIcon, ExternalLinkAltIcon, QuestionCircleIcon } from '@patternfly/react-icons'; +import { ExternalLinkAltIcon, QuestionCircleIcon } from '@patternfly/react-icons'; import { COMMUNITY_LINK, DOC_LINK, SUPPORT_LINK } from '../utilities/const'; import { AppNotification } from '../redux/types'; import AppLauncher from './AppLauncher'; @@ -56,13 +57,11 @@ const HeaderTools: React.FC = ({ onNotificationsClick }) => { - Documentation - + Documentation , ); } @@ -71,13 +70,11 @@ const HeaderTools: React.FC = ({ onNotificationsClick }) => { - Support - + Support , ); } @@ -86,62 +83,64 @@ const HeaderTools: React.FC = ({ onNotificationsClick }) => { - Community - + Community , ); } return ( - - - {!dashboardConfig.spec.dashboardConfig.disableAppLauncher ? : null} - - - - {helpMenuItems.length > 0 ? ( - - setHelpMenuOpen(!helpMenuOpen)} - toggleIndicator={CaretDownIcon} - > - - - } - isOpen={helpMenuOpen} - dropdownItems={helpMenuItems} - /> - - ) : null} - + + + + {!dashboardConfig.spec.dashboardConfig.disableAppLauncher ? ( + + + + ) : null} + + + + {helpMenuItems.length > 0 ? ( + + setHelpMenuOpen(!helpMenuOpen)} + > + + + } + isOpen={helpMenuOpen} + dropdownItems={helpMenuItems} + /> + + ) : null} + + setUserMenuOpen(!userMenuOpen)} - toggleIndicator={CaretDownIcon} - > + setUserMenuOpen(!userMenuOpen)}> {userName} } isOpen={userMenuOpen} dropdownItems={userMenuItems} /> - - - + + + ); }; diff --git a/frontend/src/app/NavSidebar.tsx b/frontend/src/app/NavSidebar.tsx index a5f2809b19..82884d046a 100644 --- a/frontend/src/app/NavSidebar.tsx +++ b/frontend/src/app/NavSidebar.tsx @@ -44,12 +44,12 @@ const NavGroup: React.FC<{ item: NavDataGroup; pathname: string }> = ({ item, pa }; const NavSidebar: React.FC = () => { - const { isNavOpen, dashboardConfig } = useAppContext(); + const { dashboardConfig } = useAppContext(); const routerLocation = useLocation(); const { isAdmin } = useUser(); const userNavData = getNavBarData(isAdmin, dashboardConfig); const nav = ( -