From 3773297b09c88bd167dc4e2b077d5f3a32881820 Mon Sep 17 00:00:00 2001 From: stigus Date: Wed, 11 Oct 2023 10:55:50 +0200 Subject: [PATCH 1/2] =?UTF-8?q?-=20Lagt=20til=20konfetti=20dersom=20en=20b?= =?UTF-8?q?estilling=20g=C3=A5r=20gjennom=20uten=20noen=20feil=20-=20Refak?= =?UTF-8?q?torert=20komponenter=20til=20=C3=A5=20bruke=20useGruppeById=20i?= =?UTF-8?q?stedenfor=20=C3=A5=20sende=20ned=20som=20props,=20slik=20at=20r?= =?UTF-8?q?endering=20ikke=20skjer=20i=20de=20=C3=B8vre=20komponentene=20#?= =?UTF-8?q?deploy-test-frontend?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/js/package-lock.json | 643 +++++++++++++----- apps/dolly-frontend/src/main/js/package.json | 3 +- .../gjenopprett/GjenopprettGruppe.tsx | 7 +- .../sammendrag/BestillingSammendrag.tsx | 2 +- .../miljoeStatus/MiljoeStatus.cy.tsx | 17 +- .../sammendrag/miljoeStatus/MiljoeStatus.tsx | 1 + .../BestillingProgresjon.tsx | 1 - .../BestillingResultat/BestillingResultat.tsx | 22 + .../bestilling/statusListe/StatusListe.tsx | 4 +- .../redigerGruppe/RedigerGruppe.tsx | 10 +- .../BestillingListe/BestillingListe.tsx | 4 +- .../src/main/js/src/pages/gruppe/Gruppe.tsx | 6 +- .../gruppe/GruppeHeader/GruppeHeader.tsx | 11 +- .../pages/gruppe/PersonListe/PersonListe.tsx | 6 +- .../src/main/js/src/utils/hooks/useBruker.tsx | 2 +- .../js/src/utils/hooks/useOrganisasjoner.tsx | 5 +- 16 files changed, 559 insertions(+), 185 deletions(-) diff --git a/apps/dolly-frontend/src/main/js/package-lock.json b/apps/dolly-frontend/src/main/js/package-lock.json index 3c207d9a14f..7ce1d6a0def 100644 --- a/apps/dolly-frontend/src/main/js/package-lock.json +++ b/apps/dolly-frontend/src/main/js/package-lock.json @@ -1,12 +1,12 @@ { "name": "dolly", - "version": "2.5.21", + "version": "2.5.23", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "dolly", - "version": "2.5.21", + "version": "2.5.23", "license": "ISC", "dependencies": { "@babel/preset-flow": "^7.18.6", @@ -32,6 +32,7 @@ "rc-progress": "^3.4.0", "rc-tooltip": "^6.0.1", "react": "^18.2.0", + "react-confetti-explosion": "^2.1.2", "react-datepicker": "^4.8.0", "react-day-picker": "^8.1.0", "react-dom": "^18.2.0", @@ -320,9 +321,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", - "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -2101,6 +2102,11 @@ "stylis": "4.2.0" } }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", @@ -2137,23 +2143,28 @@ "stylis": "4.2.0" } }, + "node_modules/@emotion/cache/node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, "node_modules/@emotion/hash": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" }, "node_modules/@emotion/is-prop-valid": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", - "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.7.3.tgz", + "integrity": "sha512-uxJqm/sqwXw3YPA5GXX365OBcJGFtxUVkB6WyezqFHlNe9jqUWH5ur2O2M8dGBz61kn1g3ZBlzUunFQXQIClhA==", "dependencies": { - "@emotion/memoize": "^0.8.1" + "@emotion/memoize": "0.7.1" } }, "node_modules/@emotion/memoize": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", - "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.1.tgz", + "integrity": "sha512-Qv4LTqO11jepd5Qmlp3M1YEjBumoTHcHFdgPTQ+sFlIL5myi/7xu/POwP7IRu6odBdmLXdtIs1D6TuW6kbwbbg==" }, "node_modules/@emotion/react": { "version": "11.11.1", @@ -2190,6 +2201,11 @@ "csstype": "^3.0.2" } }, + "node_modules/@emotion/serialize/node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, "node_modules/@emotion/sheet": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", @@ -2968,16 +2984,16 @@ "optional": true }, "node_modules/@navikt/aksel-icons": { - "version": "5.6.3", - "resolved": "https://npm.pkg.github.com/download/@navikt/aksel-icons/5.6.3/5270b4d69ced1fd5d071a9cbb79a19f034adc125", - "integrity": "sha512-MVlgZH96qcCHgwUKMsNCOrMubAT9Me6Z28tlqvHY44OZx3M2wz2U/qV2NiogUcWVxSA1OVBgx2/9vyJacpIuMQ==", + "version": "5.6.5", + "resolved": "https://npm.pkg.github.com/download/@navikt/aksel-icons/5.6.5/b3ccad41f712cd660d0451bbcd912b1e082d3387", + "integrity": "sha512-Qoc1Zf9l8uHXPuUk+yJmVooj2hvSWWt4T3scV+u9OMB6eSCQyTCmRT8lP6m3K+WvGrRNPn2hKZ/wS3qs2OB/UA==", "dev": true, "license": "MIT" }, "node_modules/@navikt/ds-css": { - "version": "5.6.3", - "resolved": "https://npm.pkg.github.com/download/@navikt/ds-css/5.6.3/aa618ef975c8361f06874c3c12a05e145e0146ba", - "integrity": "sha512-dlC9ir7EmlGBtGHi6yyLpfNlNFhHWq1dLHFR6zy0nzyyGoTKPSzrHZqzhacO0/r/DZEIpeoPJuwkLslCmt4PPQ==", + "version": "5.6.5", + "resolved": "https://npm.pkg.github.com/download/@navikt/ds-css/5.6.5/4967fecc5f9d4b5b0cd0b0c0878160407b58a81c", + "integrity": "sha512-0TANUGV+SglwJN0a9/V7y9QVFSY1HFQ4YIblZ5YlWHUeGaNZQKqgokRbujohkpUQDznsvviHP+7zlK2fco/kow==", "dev": true, "license": "MIT" }, @@ -2999,15 +3015,15 @@ } }, "node_modules/@navikt/ds-react": { - "version": "5.6.3", - "resolved": "https://npm.pkg.github.com/download/@navikt/ds-react/5.6.3/d9e45a4994a4a06e861fe1da7cecdbe3d44a3cc5", - "integrity": "sha512-dGqwOXFA7DGSyF38iI/GBCNucEuS6ShEy/1lbGa580Tu7cVXVI3Bjs1pJ1hv0XWReoGHfjCgT0ZhbXtV56SODg==", + "version": "5.6.5", + "resolved": "https://npm.pkg.github.com/download/@navikt/ds-react/5.6.5/2a23b44e68953fa75a00aafc4f8e8a68a274c549", + "integrity": "sha512-d7HVYOu6xP39pAan8wh6C6262d4759DCvFHvO9L/u0tniBwwTtgVBDD8cPrm+ebk/gbMYv779jpy0n1bJsy8gA==", "dev": true, "license": "MIT", "dependencies": { "@floating-ui/react": "0.25.4", - "@navikt/aksel-icons": "^5.6.3", - "@navikt/ds-tokens": "^5.6.3", + "@navikt/aksel-icons": "^5.6.5", + "@navikt/ds-tokens": "^5.6.5", "@radix-ui/react-tabs": "1.0.0", "@radix-ui/react-toggle-group": "1.0.0", "clsx": "^1.2.1", @@ -3147,9 +3163,9 @@ } }, "node_modules/@navikt/ds-tokens": { - "version": "5.6.3", - "resolved": "https://npm.pkg.github.com/download/@navikt/ds-tokens/5.6.3/4a8a1619a6815d55226077deb858991d6a7cd5f6", - "integrity": "sha512-/G4to/cg2v4WuTBO8uHS7dwtWBYXFFuq4HwN5JdZcwjPCQxFzcMfYB4lNzDhbn1BboFRyUTkos1yH9iDALa7pg==", + "version": "5.6.5", + "resolved": "https://npm.pkg.github.com/download/@navikt/ds-tokens/5.6.5/3879e449285bd163b6d051a04347f69f722c6be4", + "integrity": "sha512-1je2bmXmEEHctasnJ8ElRQqoQqATD+IDi1waEBuLeRspyBGbvbsu3LU1Y//zCqqkWRnMOqWDRnLN46V2/hFe2A==", "dev": true, "license": "MIT" }, @@ -3229,11 +3245,11 @@ } }, "node_modules/@opentelemetry/context-zone": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.17.0.tgz", - "integrity": "sha512-J/bnE7StSPVV3yJKOsW7ndvB5nx4lP8ElsbdTD+exGRsOjdFURhLsTlDokFhRP6Ek1k/3uKJ6xn7seLpVBCSpA==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.17.1.tgz", + "integrity": "sha512-BNmQE1hAEYM8EXJDgbUdv8r6adnM557fdPvdNoDN41XCIdSKrtNWS4Ors5tK7okszTMr33pqJrHZInD4VpHlPA==", "dependencies": { - "@opentelemetry/context-zone-peer-dep": "1.17.0", + "@opentelemetry/context-zone-peer-dep": "1.17.1", "zone.js": "^0.11.0" }, "engines": { @@ -3241,9 +3257,9 @@ } }, "node_modules/@opentelemetry/context-zone-peer-dep": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.17.0.tgz", - "integrity": "sha512-wY6uicvDRaTi/hI9HQk6KbuI01gh0m6aMokSAOxlB+pWGyvBlITxy05zl9sC/Y94GRwRVrab4aYNWrlgdSoHbQ==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.17.1.tgz", + "integrity": "sha512-HCSznYzaBatWVCxPixeBVIFNGMt7vD7yJcoR6V2SB5/vQnjvzHimNrRpcr0xEgC6kTA9XAqDwovkvs+qlflByw==", "engines": { "node": ">=14" }, @@ -3253,11 +3269,11 @@ } }, "node_modules/@opentelemetry/core": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.17.0.tgz", - "integrity": "sha512-tfnl3h+UefCgx1aeN2xtrmr6BmdWGKXypk0pflQR0urFS40aE88trnkOMc2HTJZbMrqEEl4HsaBeFhwLVXsrJg==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.17.1.tgz", + "integrity": "sha512-I6LrZvl1FF97FQXPR0iieWQmKnGxYtMbWA1GrAXnLUR+B1Hn2m8KqQNEIlZAucyv00GBgpWkpllmULmZfG8P3g==", "dependencies": { - "@opentelemetry/semantic-conventions": "1.17.0" + "@opentelemetry/semantic-conventions": "1.17.1" }, "engines": { "node": ">=14" @@ -3356,12 +3372,12 @@ } }, "node_modules/@opentelemetry/instrumentation-document-load": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-document-load/-/instrumentation-document-load-0.33.1.tgz", - "integrity": "sha512-FyLe5i85likVEp36ZewtM8jIZ8/7w55yz9tVoBBJHlTRCVZutff2EhVVCnGHx4etnMvuF+Es8CU2tTsnlCtl5g==", + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-document-load/-/instrumentation-document-load-0.33.2.tgz", + "integrity": "sha512-9RaEdaGBB5MS327dpBinfNcNuHcHZvqqLXsf4C+j92UZeIgKE2tuYuvbcSruDeECW6PdYknX7wtnJNAFXyRSMg==", "dependencies": { "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.41.2", + "@opentelemetry/instrumentation": "^0.44.0", "@opentelemetry/sdk-trace-base": "^1.0.0", "@opentelemetry/sdk-trace-web": "^1.15.0", "@opentelemetry/semantic-conventions": "^1.0.0" @@ -3373,6 +3389,54 @@ "@opentelemetry/api": "^1.3.0" } }, + "node_modules/@opentelemetry/instrumentation-document-load/node_modules/@opentelemetry/instrumentation": { + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.44.0.tgz", + "integrity": "sha512-B6OxJTRRCceAhhnPDBshyQO7K07/ltX3quOLu0icEvPK9QZ7r9P1y0RQX8O5DxB4vTv4URRkxkg+aFU/plNtQw==", + "dependencies": { + "@types/shimmer": "^1.0.2", + "import-in-the-middle": "1.4.2", + "require-in-the-middle": "^7.1.1", + "semver": "^7.5.2", + "shimmer": "^1.2.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation-document-load/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@opentelemetry/instrumentation-document-load/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@opentelemetry/instrumentation-document-load/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "node_modules/@opentelemetry/instrumentation-fetch": { "version": "0.41.2", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.41.2.tgz", @@ -3684,12 +3748,12 @@ } }, "node_modules/@opentelemetry/resources": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.17.0.tgz", - "integrity": "sha512-+u0ciVnj8lhuL/qGRBPeVYvk7fL+H/vOddfvmOeJaA1KC+5/3UED1c9KoZQlRsNT5Kw1FaK8LkY2NVLYfOVZQw==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.17.1.tgz", + "integrity": "sha512-M2e5emqg5I7qRKqlzKx0ROkcPyF8PbcSaWEdsm72od9txP7Z/Pl8PDYOyu80xWvbHAWk5mDxOF6v3vNdifzclA==", "dependencies": { - "@opentelemetry/core": "1.17.0", - "@opentelemetry/semantic-conventions": "1.17.0" + "@opentelemetry/core": "1.17.1", + "@opentelemetry/semantic-conventions": "1.17.1" }, "engines": { "node": ">=14" @@ -3805,13 +3869,13 @@ } }, "node_modules/@opentelemetry/sdk-trace-base": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.17.0.tgz", - "integrity": "sha512-2T5HA1/1iE36Q9eg6D4zYlC4Y4GcycI1J6NsHPKZY9oWfAxWsoYnRlkPfUqyY5XVtocCo/xHpnJvGNHwzT70oQ==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.17.1.tgz", + "integrity": "sha512-pfSJJSjZj5jkCJUQZicSpzN8Iz9UKMryPWikZRGObPnJo6cUSoKkjZh6BM3j+D47G4olMBN+YZKYqkFM1L6zNA==", "dependencies": { - "@opentelemetry/core": "1.17.0", - "@opentelemetry/resources": "1.17.0", - "@opentelemetry/semantic-conventions": "1.17.0" + "@opentelemetry/core": "1.17.1", + "@opentelemetry/resources": "1.17.1", + "@opentelemetry/semantic-conventions": "1.17.1" }, "engines": { "node": ">=14" @@ -3821,13 +3885,13 @@ } }, "node_modules/@opentelemetry/sdk-trace-web": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.17.0.tgz", - "integrity": "sha512-vvE0zcco5tuOi16PsG6QkLOfEuzGAdzSLQPQgzRa6OGOo6ZeCpQ2JP+1U5a0pliAhmWYpVsW9u8T0qAYrHh3Bw==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.17.1.tgz", + "integrity": "sha512-Nle48xE1eaR6lRqyOvUlIwW/C2Bz6pptHzlHqrd+a6tGSLWEP1ZhPfuJbNeq/tWX5PX2RgeOsLlvPLEEBKeKxg==", "dependencies": { - "@opentelemetry/core": "1.17.0", - "@opentelemetry/sdk-trace-base": "1.17.0", - "@opentelemetry/semantic-conventions": "1.17.0" + "@opentelemetry/core": "1.17.1", + "@opentelemetry/sdk-trace-base": "1.17.1", + "@opentelemetry/semantic-conventions": "1.17.1" }, "engines": { "node": ">=14" @@ -3837,9 +3901,9 @@ } }, "node_modules/@opentelemetry/semantic-conventions": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.17.0.tgz", - "integrity": "sha512-+fguCd2d8d2qruk0H0DsCEy2CTK3t0Tugg7MhZ/UQMvmewbZLNnJ6heSYyzIZWG5IPfAXzoj4f4F/qpM7l4VBA==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.17.1.tgz", + "integrity": "sha512-xbR2U+2YjauIuo42qmE8XyJK6dYeRMLJuOlUP5SO4auET4VtOHOzgkRVOq+Ik18N+Xf3YPcqJs9dZMiDddz1eQ==", "engines": { "node": ">=14" } @@ -4629,9 +4693,9 @@ "dev": true }, "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-YIQtIg4PKr7ZyqNPZObpxfHsHEmuB8dXCxd6qVcGuQVDK2bpsF7bYNnBJ4Nn7giuACZg+WewExgrtAJ3XnA4Xw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.3.tgz", + "integrity": "sha512-Wny3a2UXn5FEA1l7gc6BbpoV5mD1XijZqgkp4TRgDCDL5r3B5ieOFGUX5h3n78Tr1MEG7BfvoM8qeztdvNU0fw==", "dependencies": { "@types/react": "*", "hoist-non-react-statics": "^3.3.0" @@ -4669,10 +4733,13 @@ } }, "node_modules/@types/node": { - "version": "20.8.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.3.tgz", - "integrity": "sha512-jxiZQFpb+NlH5kjW49vXxvxTjeeqlbsnTAdBTKpzEdPs9itay7MscYXz3Fo9VYFEsfQ6LJFitHad3faerLAjCw==", - "dev": true + "version": "20.8.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.4.tgz", + "integrity": "sha512-ZVPnqU58giiCjSxjVUESDtdPk4QR5WQhhINbc9UBrKLU68MX5BF6kbQzTrkwbolyr0X8ChBpXfavr5mZFKZQ5A==", + "dev": true, + "dependencies": { + "undici-types": "~5.25.1" + } }, "node_modules/@types/parse-json": { "version": "4.0.0", @@ -4685,9 +4752,9 @@ "integrity": "sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==" }, "node_modules/@types/react": { - "version": "18.2.25", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.25.tgz", - "integrity": "sha512-24xqse6+VByVLIr+xWaQ9muX1B4bXJKXBbjszbld/UEDslGLY53+ZucF44HCmLbMPejTzGG9XgR+3m2/Wqu1kw==", + "version": "18.2.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.28.tgz", + "integrity": "sha512-ad4aa/RaaJS3hyGz0BGegdnSRXQBkd1CCYDCdNjBPg90UUpLgo+WlJqb9fMYUxtehmzF3PJaTWqRZjko6BRzBg==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -4695,9 +4762,9 @@ } }, "node_modules/@types/react-datepicker": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/@types/react-datepicker/-/react-datepicker-4.15.1.tgz", - "integrity": "sha512-6/LthK0pTDBKjjVJqA2ygY3jJsHH7uZXIk8WPQcGHUiFOQLOKIv3krOxFZ2mt3BB3guMB6jVTc6ansQAd0r7xQ==", + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/@types/react-datepicker/-/react-datepicker-4.15.2.tgz", + "integrity": "sha512-l6L+t/fnaE4/Vqq52bBCSyo2YKgqqfqZDAdjpBJfHCphgf5++BO2k9yOtXGNU2VMAETZtijF921Mlr5TcRUc0A==", "dev": true, "dependencies": { "@popperjs/core": "^2.9.2", @@ -4707,9 +4774,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.11.tgz", - "integrity": "sha512-zq6Dy0EiCuF9pWFW6I6k6W2LdpUixLE4P6XjXU1QHLfak3GPACQfLwEuHzY5pOYa4hzj1d0GxX/P141aFjZsyg==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.13.tgz", + "integrity": "sha512-eJIUv7rPP+EC45uNYp/ThhSpE16k22VJUknt5OLoH9tbXoi8bMhwLf5xRuWMywamNbWzhrSmU7IBJfPup1+3fw==", "dev": true, "dependencies": { "@types/react": "*" @@ -4844,16 +4911,16 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.4.tgz", - "integrity": "sha512-DAbgDXwtX+pDkAHwiGhqP3zWUGpW49B7eqmgpPtg+BKJXwdct79ut9+ifqOFPJGClGKSHXn2PTBatCnldJRUoA==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.5.tgz", + "integrity": "sha512-JhtAwTRhOUcP96D0Y6KYnwig/MRQbOoLGXTON2+LlyB/N35SP9j1boai2zzwXb7ypKELXMx3DVk9UTaEq1vHEw==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.7.4", - "@typescript-eslint/type-utils": "6.7.4", - "@typescript-eslint/utils": "6.7.4", - "@typescript-eslint/visitor-keys": "6.7.4", + "@typescript-eslint/scope-manager": "6.7.5", + "@typescript-eslint/type-utils": "6.7.5", + "@typescript-eslint/utils": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -4912,15 +4979,15 @@ "dev": true }, "node_modules/@typescript-eslint/parser": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.4.tgz", - "integrity": "sha512-I5zVZFY+cw4IMZUeNCU7Sh2PO5O57F7Lr0uyhgCJmhN/BuTlnc55KxPonR4+EM3GBdfiCyGZye6DgMjtubQkmA==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.5.tgz", + "integrity": "sha512-bIZVSGx2UME/lmhLcjdVc7ePBwn7CLqKarUBL4me1C5feOd663liTGjMBGVcGr+BhnSLeP4SgwdvNnnkbIdkCw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.7.4", - "@typescript-eslint/types": "6.7.4", - "@typescript-eslint/typescript-estree": "6.7.4", - "@typescript-eslint/visitor-keys": "6.7.4", + "@typescript-eslint/scope-manager": "6.7.5", + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/typescript-estree": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5", "debug": "^4.3.4" }, "engines": { @@ -4940,13 +5007,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.4.tgz", - "integrity": "sha512-SdGqSLUPTXAXi7c3Ob7peAGVnmMoGzZ361VswK2Mqf8UOYcODiYvs8rs5ILqEdfvX1lE7wEZbLyELCW+Yrql1A==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.5.tgz", + "integrity": "sha512-GAlk3eQIwWOJeb9F7MKQ6Jbah/vx1zETSDw8likab/eFcqkjSD7BI75SDAeC5N2L0MmConMoPvTsmkrg71+B1A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.4", - "@typescript-eslint/visitor-keys": "6.7.4" + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4957,13 +5024,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.4.tgz", - "integrity": "sha512-n+g3zi1QzpcAdHFP9KQF+rEFxMb2KxtnJGID3teA/nxKHOVi3ylKovaqEzGBbVY2pBttU6z85gp0D00ufLzViQ==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.5.tgz", + "integrity": "sha512-Gs0qos5wqxnQrvpYv+pf3XfcRXW6jiAn9zE/K+DlmYf6FcpxeNYN0AIETaPR7rHO4K2UY+D0CIbDP9Ut0U4m1g==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.7.4", - "@typescript-eslint/utils": "6.7.4", + "@typescript-eslint/typescript-estree": "6.7.5", + "@typescript-eslint/utils": "6.7.5", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -4984,9 +5051,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.4.tgz", - "integrity": "sha512-o9XWK2FLW6eSS/0r/tgjAGsYasLAnOWg7hvZ/dGYSSNjCh+49k5ocPN8OmG5aZcSJ8pclSOyVKP2x03Sj+RrCA==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.5.tgz", + "integrity": "sha512-WboQBlOXtdj1tDFPyIthpKrUb+kZf2VroLZhxKa/VlwLlLyqv/PwUNgL30BlTVZV1Wu4Asu2mMYPqarSO4L5ZQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4997,13 +5064,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.4.tgz", - "integrity": "sha512-ty8b5qHKatlNYd9vmpHooQz3Vki3gG+3PchmtsA4TgrZBKWHNjWfkQid7K7xQogBqqc7/BhGazxMD5vr6Ha+iQ==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.5.tgz", + "integrity": "sha512-NhJiJ4KdtwBIxrKl0BqG1Ur+uw7FiOnOThcYx9DpOGJ/Abc9z2xNzLeirCG02Ig3vkvrc2qFLmYSSsaITbKjlg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.4", - "@typescript-eslint/visitor-keys": "6.7.4", + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -5057,17 +5124,17 @@ "dev": true }, "node_modules/@typescript-eslint/utils": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.4.tgz", - "integrity": "sha512-PRQAs+HUn85Qdk+khAxsVV+oULy3VkbH3hQ8hxLRJXWBEd7iI+GbQxH5SEUSH7kbEoTp6oT1bOwyga24ELALTA==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.5.tgz", + "integrity": "sha512-pfRRrH20thJbzPPlPc4j0UNGvH1PjPlhlCMq4Yx7EGjV7lvEeGX0U6MJYe8+SyFutWgSHsdbJ3BXzZccYggezA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.7.4", - "@typescript-eslint/types": "6.7.4", - "@typescript-eslint/typescript-estree": "6.7.4", + "@typescript-eslint/scope-manager": "6.7.5", + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/typescript-estree": "6.7.5", "semver": "^7.5.4" }, "engines": { @@ -5115,12 +5182,12 @@ "dev": true }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.4.tgz", - "integrity": "sha512-pOW37DUhlTZbvph50x5zZCkFn3xzwkGtNoJHzIM3svpiSkJzwOYr/kVBaXmf+RAQiUDs1AHEZVNPg6UJCJpwRA==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.5.tgz", + "integrity": "sha512-3MaWdDZtLlsexZzDSdQWsFQ9l9nL8B80Z4fImSpyllFC/KLqWQRdEcB+gGGO+N3Q2uL40EsG66wZLsohPxNXvg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/types": "6.7.5", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -5635,12 +5702,12 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", - "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.2", + "@babel/helper-define-polyfill-provider": "^0.4.3", "semver": "^6.3.1" }, "peerDependencies": { @@ -5648,11 +5715,11 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.4.tgz", - "integrity": "sha512-9l//BZZsPR+5XjyJMPtZSK4jv0BsTO1zDac2GC6ygx9WLGlcsnRd1Co0B2zT5fF5Ic6BZy+9m3HNZ3QcOeDKfg==", + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz", + "integrity": "sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2", + "@babel/helper-define-polyfill-provider": "^0.4.3", "core-js-compat": "^3.32.2" }, "peerDependencies": { @@ -5660,11 +5727,11 @@ } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", - "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2" + "@babel/helper-define-polyfill-provider": "^0.4.3" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -5917,9 +5984,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001546", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001546.tgz", - "integrity": "sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw==", + "version": "1.0.30001547", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001547.tgz", + "integrity": "sha512-W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA==", "funding": [ { "type": "opencollective", @@ -6373,6 +6440,16 @@ "hyphenate-style-name": "^1.0.3" } }, + "node_modules/css-jss": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/css-jss/-/css-jss-10.10.0.tgz", + "integrity": "sha512-YyMIS/LsSKEGXEaVJdjonWe18p4vXLo8CMA4FrW/kcaEyqdIGKCFXao31gbJddXEdIxSXFFURWrenBJPlKTgAA==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "^10.10.0", + "jss-preset-default": "^10.10.0" + } + }, "node_modules/css-to-react-native": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", @@ -6395,6 +6472,15 @@ "node": ">=8.0.0" } }, + "node_modules/css-vendor": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", + "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", + "dependencies": { + "@babel/runtime": "^7.8.3", + "is-in-browser": "^1.0.2" + } + }, "node_modules/csstype": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", @@ -7025,9 +7111,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.544", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.544.tgz", - "integrity": "sha512-54z7squS1FyFRSUqq/knOFSptjjogLZXbKcYk3B0qkE1KZzvqASwRZnY2KzZQJqIYLVD38XZeoiMRflYSwyO4w==" + "version": "1.4.549", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.549.tgz", + "integrity": "sha512-gpXfJslSi4hYDkA0mTLEpYKRv9siAgSUgZ+UWyk+J5Cttpd1ThCVwdclzIwQSclz3hYn049+M2fgrP1WpvF8xg==" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -7523,9 +7609,9 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.0.tgz", - "integrity": "sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz", + "integrity": "sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==", "dev": true, "dependencies": { "prettier-linter-helpers": "^1.0.0", @@ -7616,12 +7702,12 @@ } }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -9150,6 +9236,11 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/is-in-browser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==" + }, "node_modules/is-inside-container": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", @@ -9567,6 +9658,158 @@ "verror": "1.10.0" } }, + "node_modules/jss": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz", + "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "csstype": "^3.0.2", + "is-in-browser": "^1.1.3", + "tiny-warning": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/jss" + } + }, + "node_modules/jss-plugin-camel-case": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz", + "integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "hyphenate-style-name": "^1.0.3", + "jss": "10.10.0" + } + }, + "node_modules/jss-plugin-compose": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-compose/-/jss-plugin-compose-10.10.0.tgz", + "integrity": "sha512-F5kgtWpI2XfZ3Z8eP78tZEYFdgTIbpA/TMuX3a8vwrNolYtN1N4qJR/Ob0LAsqIwCMLojtxN7c7Oo/+Vz6THow==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0", + "tiny-warning": "^1.0.2" + } + }, + "node_modules/jss-plugin-default-unit": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz", + "integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0" + } + }, + "node_modules/jss-plugin-expand": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-expand/-/jss-plugin-expand-10.10.0.tgz", + "integrity": "sha512-ymT62W2OyDxBxr7A6JR87vVX9vTq2ep5jZLIdUSusfBIEENLdkkc0lL/Xaq8W9s3opUq7R0sZQpzRWELrfVYzA==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0" + } + }, + "node_modules/jss-plugin-extend": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-extend/-/jss-plugin-extend-10.10.0.tgz", + "integrity": "sha512-sKYrcMfr4xxigmIwqTjxNcHwXJIfvhvjTNxF+Tbc1NmNdyspGW47Ey6sGH8BcQ4FFQhLXctpWCQSpDwdNmXSwg==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0", + "tiny-warning": "^1.0.2" + } + }, + "node_modules/jss-plugin-global": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz", + "integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0" + } + }, + "node_modules/jss-plugin-nested": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz", + "integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0", + "tiny-warning": "^1.0.2" + } + }, + "node_modules/jss-plugin-props-sort": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz", + "integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0" + } + }, + "node_modules/jss-plugin-rule-value-function": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz", + "integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0", + "tiny-warning": "^1.0.2" + } + }, + "node_modules/jss-plugin-rule-value-observable": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-observable/-/jss-plugin-rule-value-observable-10.10.0.tgz", + "integrity": "sha512-ZLMaYrR3QE+vD7nl3oNXuj79VZl9Kp8/u6A1IbTPDcuOu8b56cFdWRZNZ0vNr8jHewooEeq2doy8Oxtymr2ZPA==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0", + "symbol-observable": "^1.2.0" + } + }, + "node_modules/jss-plugin-template": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-template/-/jss-plugin-template-10.10.0.tgz", + "integrity": "sha512-ocXZBIOJOA+jISPdsgkTs8wwpK6UbsvtZK5JI7VUggTD6LWKbtoxUzadd2TpfF+lEtlhUmMsCkTRNkITdPKa6w==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0", + "tiny-warning": "^1.0.2" + } + }, + "node_modules/jss-plugin-vendor-prefixer": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz", + "integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "css-vendor": "^2.0.8", + "jss": "10.10.0" + } + }, + "node_modules/jss-preset-default": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-10.10.0.tgz", + "integrity": "sha512-GL175Wt2FGhjE+f+Y3aWh+JioL06/QWFgZp53CbNNq6ZkVU0TDplD8Bxm9KnkotAYn3FlplNqoW5CjyLXcoJ7Q==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0", + "jss-plugin-camel-case": "10.10.0", + "jss-plugin-compose": "10.10.0", + "jss-plugin-default-unit": "10.10.0", + "jss-plugin-expand": "10.10.0", + "jss-plugin-extend": "10.10.0", + "jss-plugin-global": "10.10.0", + "jss-plugin-nested": "10.10.0", + "jss-plugin-props-sort": "10.10.0", + "jss-plugin-rule-value-function": "10.10.0", + "jss-plugin-rule-value-observable": "10.10.0", + "jss-plugin-template": "10.10.0", + "jss-plugin-vendor-prefixer": "10.10.0" + } + }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -11050,9 +11293,9 @@ } }, "node_modules/rc-tooltip": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.1.0.tgz", - "integrity": "sha512-9FahatMgGyfLcroN9z52XYGzbfz0HiqfFvFq3USHE1ywdL/2f+gZCDzJ5Ndg2HFYu/NRy2sl4X33PoN1eQ+1sw==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.1.1.tgz", + "integrity": "sha512-YoxL0Ev4htsX37qgN23eKr0L5PIRpZaLVL9GX6aJ4x6UEnwgXZYUNCAEHfKlKT3eD1felDq3ob4+Cn9lprLDBw==", "dependencies": { "@babel/runtime": "^7.11.2", "@rc-component/trigger": "^1.17.0", @@ -11092,10 +11335,23 @@ "node": ">=0.10.0" } }, + "node_modules/react-confetti-explosion": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/react-confetti-explosion/-/react-confetti-explosion-2.1.2.tgz", + "integrity": "sha512-4UzDFBajAGXmF9TSJoRMO2QOBCIXc66idTxH8l7Mkul48HLGtk+tMzK9HYDYsy7Zmw5sEGchi2fbn4AJUuLrZw==", + "dependencies": { + "lodash": "^4.17.21", + "react-jss": "^10.9.2" + }, + "peerDependencies": { + "react": "^18.x", + "react-dom": "^18.x" + } + }, "node_modules/react-datepicker": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-4.19.0.tgz", - "integrity": "sha512-p2IVcOdtMDGvaq27yBGQm43rWnPVJ3w6EMGOmNoG3Gh/Li9maDIfrAWJUeLXDXAxYbXkIsQRs5SwrHvKP65juA==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-4.20.0.tgz", + "integrity": "sha512-I29yHN9SabUDSy7Xq3P8+E8E+D2vyeuYAYYWWjeMisGGtsatltV4CSHodyA7W9z0BuGycc/bhSClDbizx4gZHA==", "dependencies": { "@popperjs/core": "^2.11.8", "classnames": "^2.2.6", @@ -11122,6 +11378,11 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/react-display-name": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/react-display-name/-/react-display-name-0.2.5.tgz", + "integrity": "sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg==" + }, "node_modules/react-dom": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", @@ -11206,6 +11467,27 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, + "node_modules/react-jss": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-10.10.0.tgz", + "integrity": "sha512-WLiq84UYWqNBF6579/uprcIUnM1TSywYq6AIjKTTTG5ziJl9Uy+pwuvpN3apuyVwflMbD60PraeTKT7uWH9XEQ==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "@emotion/is-prop-valid": "^0.7.3", + "css-jss": "10.10.0", + "hoist-non-react-statics": "^3.2.0", + "is-in-browser": "^1.1.3", + "jss": "10.10.0", + "jss-preset-default": "10.10.0", + "prop-types": "^15.6.0", + "shallow-equal": "^1.2.0", + "theming": "^3.3.0", + "tiny-warning": "^1.0.2" + }, + "peerDependencies": { + "react": ">=16.8.6" + } + }, "node_modules/react-lifecycles-compat": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", @@ -11761,9 +12043,9 @@ "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" }, "node_modules/resolve": { - "version": "1.22.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", - "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -12067,9 +12349,9 @@ "dev": true }, "node_modules/sass": { - "version": "1.69.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.0.tgz", - "integrity": "sha512-l3bbFpfTOGgQZCLU/gvm1lbsQ5mC/WnLz3djL2v4WCJBDrWm58PO+jgngcGRNnKUh6wSsdm50YaovTqskZ0xDQ==", + "version": "1.69.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.2.tgz", + "integrity": "sha512-48lDtG/9OuSQZ9oNmJMUXI2QdCakAWrAGjpX/Fy6j4Og8dEAyE598x5GqCqnHkwV7+I5w8DJpqjm581q5HNh3w==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -12165,6 +12447,11 @@ "node": ">=6.9" } }, + "node_modules/shallow-equal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" + }, "node_modules/shallowequal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", @@ -12693,6 +12980,19 @@ } } }, + "node_modules/styled-components/node_modules/@emotion/is-prop-valid": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", + "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/styled-components/node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, "node_modules/styled-components/node_modules/stylis": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz", @@ -12753,6 +13053,14 @@ "react": "^16.11.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/synckit": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", @@ -12834,6 +13142,23 @@ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, + "node_modules/theming": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/theming/-/theming-3.3.0.tgz", + "integrity": "sha512-u6l4qTJRDaWZsqa8JugaNt7Xd8PPl9+gonZaIe28vAhqgHMIG/DOyFPqiKN/gQLQYj05tHv+YQdNILL4zoiAVA==", + "dependencies": { + "hoist-non-react-statics": "^3.3.0", + "prop-types": "^15.5.8", + "react-display-name": "^0.2.4", + "tiny-warning": "^1.0.2" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.3" + } + }, "node_modules/throttle-debounce": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz", @@ -13217,6 +13542,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici-types": { + "version": "5.25.3", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", + "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==", + "dev": true + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", diff --git a/apps/dolly-frontend/src/main/js/package.json b/apps/dolly-frontend/src/main/js/package.json index deb61cf04d8..5de394b9e2a 100644 --- a/apps/dolly-frontend/src/main/js/package.json +++ b/apps/dolly-frontend/src/main/js/package.json @@ -1,6 +1,6 @@ { "name": "dolly", - "version": "2.5.21", + "version": "2.5.23", "description": "", "main": "index.js", "scripts": { @@ -39,6 +39,7 @@ "rc-progress": "^3.4.0", "rc-tooltip": "^6.0.1", "react": "^18.2.0", + "react-confetti-explosion": "^2.1.2", "react-datepicker": "^4.8.0", "react-day-picker": "^8.1.0", "react-dom": "^18.2.0", diff --git a/apps/dolly-frontend/src/main/js/src/components/bestilling/gjenopprett/GjenopprettGruppe.tsx b/apps/dolly-frontend/src/main/js/src/components/bestilling/gjenopprett/GjenopprettGruppe.tsx index 17653677764..0ad063a651e 100644 --- a/apps/dolly-frontend/src/main/js/src/components/bestilling/gjenopprett/GjenopprettGruppe.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/bestilling/gjenopprett/GjenopprettGruppe.tsx @@ -6,19 +6,20 @@ import { GjenopprettModal } from '@/components/bestilling/gjenopprett/Gjenoppret import { DollyApi } from '@/service/Api' import { useCurrentBruker } from '@/utils/hooks/useBruker' import { useBestilteMiljoerForGruppe } from '@/utils/hooks/useBestilling' -import { Gruppe } from '@/utils/hooks/useGruppe' +import { useGruppeById } from '@/utils/hooks/useGruppe' import { setUpdateNow } from '@/ducks/finnPerson' import Loading from '@/components/ui/loading/Loading' import React from 'react' type GjenopprettGruppeProps = { onClose: any - gruppe: Gruppe + gruppeId: string } -export const GjenopprettGruppe = ({ onClose, gruppe }: GjenopprettGruppeProps) => { +export const GjenopprettGruppe = ({ onClose, gruppeId }: GjenopprettGruppeProps) => { const dispatch = useDispatch() const { currentBruker } = useCurrentBruker() + const { gruppe } = useGruppeById(gruppeId) const { miljoer, loading } = useBestilteMiljoerForGruppe(gruppe.id) const brukertype = currentBruker?.brukertype diff --git a/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/BestillingSammendrag.tsx b/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/BestillingSammendrag.tsx index bbfeed5e6b4..b3c22eff2e4 100644 --- a/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/BestillingSammendrag.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/BestillingSammendrag.tsx @@ -3,7 +3,7 @@ import React, { Suspense } from 'react' import Loading from '@/components/ui/loading/Loading' const Bestillingskriterier = React.lazy( - () => import('@/components/bestilling/sammendrag/kriterier/Bestillingskriterier') + () => import('@/components/bestilling/sammendrag/kriterier/Bestillingskriterier'), ) export default function BestillingSammendrag({ bestilling }) { diff --git a/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/miljoeStatus/MiljoeStatus.cy.tsx b/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/miljoeStatus/MiljoeStatus.cy.tsx index ee234de93cd..096871b0dda 100644 --- a/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/miljoeStatus/MiljoeStatus.cy.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/miljoeStatus/MiljoeStatus.cy.tsx @@ -1,6 +1,16 @@ import React from 'react' import MiljoeStatus from './MiljoeStatus' import { gjeldendeBrukerMock } from '../../../../../cypress/mocks/BasicMocks' +import styled from 'styled-components' +import ConfettiExplosion from 'react-confetti-explosion' + +const StyledConfettiExplosion = styled(ConfettiExplosion)` + display: unset; + align-items: center; + align-content: center; + align-self: center; + text-align: center; +` const mockedBestilling = { id: 123, @@ -81,6 +91,11 @@ const mockedBestilling = { describe('', () => { it('renders', () => { - cy.mount() + cy.mount( +
+ + +
, + ) }) }) diff --git a/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/miljoeStatus/MiljoeStatus.tsx b/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/miljoeStatus/MiljoeStatus.tsx index a2fbdc7d000..e4ccb091a57 100644 --- a/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/miljoeStatus/MiljoeStatus.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/miljoeStatus/MiljoeStatus.tsx @@ -3,6 +3,7 @@ import FagsystemStatus from './fagsystemStatus/FagsystemStatus' import ApiFeilmelding from '@/components/ui/apiFeilmelding/ApiFeilmelding' import antallIdenterOpprettet from '@/components/bestilling/utils/antallIdenterOpprettet' import * as _ from 'lodash-es' +import React from 'react' export type Miljostatus = { bestilling: { diff --git a/apps/dolly-frontend/src/main/js/src/components/bestilling/statusListe/BestillingProgresjon/BestillingProgresjon.tsx b/apps/dolly-frontend/src/main/js/src/components/bestilling/statusListe/BestillingProgresjon/BestillingProgresjon.tsx index ceeebc5eb0a..8ac0be39869 100644 --- a/apps/dolly-frontend/src/main/js/src/components/bestilling/statusListe/BestillingProgresjon/BestillingProgresjon.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/bestilling/statusListe/BestillingProgresjon/BestillingProgresjon.tsx @@ -35,7 +35,6 @@ export const BestillingProgresjon = ({ setOrgStatus(detaljertStatus) } } - const harBestillingFeilet = (sistOppdatertState: Date) => { const liveTimeStamp = new Date().getTime() const oldTimeStamp = new Date(sistOppdatertState).getTime() diff --git a/apps/dolly-frontend/src/main/js/src/components/bestilling/statusListe/BestillingResultat/BestillingResultat.tsx b/apps/dolly-frontend/src/main/js/src/components/bestilling/statusListe/BestillingResultat/BestillingResultat.tsx index 5976a769bb5..32bc80e3422 100644 --- a/apps/dolly-frontend/src/main/js/src/components/bestilling/statusListe/BestillingResultat/BestillingResultat.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/bestilling/statusListe/BestillingResultat/BestillingResultat.tsx @@ -11,6 +11,16 @@ import { REGEX_BACKEND_GRUPPER, useMatchMutate } from '@/utils/hooks/useMutate' import { Bestillingsstatus } from '@/utils/hooks/useOrganisasjoner' import { BestillingStatus } from '@/components/bestilling/statusListe/BestillingProgresjon/BestillingStatus' import { CypressSelector } from '../../../../../cypress/mocks/Selectors' +import ConfettiExplosion from 'react-confetti-explosion' +import React from 'react' +import styled from 'styled-components' + +const StyledConfettiExplosion = styled(ConfettiExplosion)` + align-items: center; + align-content: center; + align-self: center; + text-align: center; +` type ResultatProps = { bestilling: Bestillingsstatus @@ -18,6 +28,13 @@ type ResultatProps = { erOrganisasjon: boolean } +const bestillingHarFeil = (bestilling: Bestillingsstatus) => { + const statuser = bestilling?.status?.map( + (fagsystem) => fagsystem.statuser?.some((status) => status?.melding !== 'OK'), + ) + return statuser?.some((value) => value) +} + export default function BestillingResultat({ bestilling, lukkBestilling, @@ -55,6 +72,11 @@ export default function BestillingResultat({ label="Hvordan var din opplevelse med bruk av Dolly?" feedbackFor="Bruk av Dolly etter bestilling" /> + {bestilling.ferdig && !bestillingHarFeil(bestilling) && ( +
+ +
+ )}
{harIdenterOpprettet && ( diff --git a/apps/dolly-frontend/src/main/js/src/components/bestilling/statusListe/StatusListe.tsx b/apps/dolly-frontend/src/main/js/src/components/bestilling/statusListe/StatusListe.tsx index b12ce0abc7d..49bb5eca391 100644 --- a/apps/dolly-frontend/src/main/js/src/components/bestilling/statusListe/StatusListe.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/bestilling/statusListe/StatusListe.tsx @@ -21,7 +21,7 @@ const StatusListe = ({ bestillingListe, cancelBestilling, isCanceling }: StatusP const nyBestillingListe = Object.values(bestillinger).filter( (bestilling) => !bestilling?.ferdig || - (bestilling?.ferdig && nyeBestillinger.some((best) => best?.id === bestilling?.id)) + (bestilling?.ferdig && nyeBestillinger.some((best) => best?.id === bestilling?.id)), ) setNyeBestillinger(nyBestillingListe) } @@ -56,7 +56,7 @@ const StatusListe = ({ bestillingListe, cancelBestilling, isCanceling }: StatusP bestillingID={bestilling.id} erOrganisasjon={_has(bestilling, 'organisasjonNummer')} cancelBestilling={cancelBestilling} - onFinishBestilling={(bestilling) => setTimeout(() => onFinishBestilling(bestilling), 200)} + onFinishBestilling={onFinishBestilling} /> )) diff --git a/apps/dolly-frontend/src/main/js/src/components/redigerGruppe/RedigerGruppe.tsx b/apps/dolly-frontend/src/main/js/src/components/redigerGruppe/RedigerGruppe.tsx index 6c65a2f8c56..ec0c304f108 100644 --- a/apps/dolly-frontend/src/main/js/src/components/redigerGruppe/RedigerGruppe.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/redigerGruppe/RedigerGruppe.tsx @@ -9,13 +9,10 @@ import './RedigerGruppe.less' import { useNavigate } from 'react-router-dom' import { REGEX_BACKEND_GRUPPER, useMatchMutate } from '@/utils/hooks/useMutate' import { CypressSelector } from '../../../cypress/mocks/Selectors' +import { useGruppeById } from '@/utils/hooks/useGruppe' type Props = { - gruppe: { - id: number - navn: string - hensikt: string - } + gruppeId?: string createGruppe: (arg0: any) => any createOrUpdateFetching: boolean updateGruppe: (arg0: number, arg1: any) => any @@ -25,7 +22,7 @@ type Props = { } } const RedigerGruppe = ({ - gruppe, + gruppeId, createGruppe, createOrUpdateFetching, updateGruppe, @@ -33,6 +30,7 @@ const RedigerGruppe = ({ error, }: Props): JSX.Element => { const navigate = useNavigate() + const { gruppe } = useGruppeById(gruppeId) const erRedigering = Boolean(getIn(gruppe, 'id', false)) const mutate = useMatchMutate() diff --git a/apps/dolly-frontend/src/main/js/src/pages/gruppe/BestillingListe/BestillingListe.tsx b/apps/dolly-frontend/src/main/js/src/pages/gruppe/BestillingListe/BestillingListe.tsx index 5e63e72881a..f77c4ee34e2 100644 --- a/apps/dolly-frontend/src/main/js/src/pages/gruppe/BestillingListe/BestillingListe.tsx +++ b/apps/dolly-frontend/src/main/js/src/pages/gruppe/BestillingListe/BestillingListe.tsx @@ -9,6 +9,7 @@ import Spinner from '@/components/ui/loading/Spinner' import { ErrorBoundary } from '@/components/ui/appError/ErrorBoundary' import bestillingStatusMapper from '@/ducks/bestillingStatus/bestillingStatusMapper' import { CypressSelector } from '../../../../cypress/mocks/Selectors' +import { useGruppeById } from '@/utils/hooks/useGruppe' const ikonTypeMap = { Ferdig: 'feedback-check-circle', @@ -25,12 +26,13 @@ export default function BestillingListe({ navigerBestillingId, visBestilling, sidetall, - gruppeInfo, + gruppeId, sideStoerrelse, }) { if (!bestillingerById) { return null } + const { gruppe: gruppeInfo } = useGruppeById(gruppeId) const bestillingListe = Object.values(bestillingerById) if (bestillingListe.length === 0) { diff --git a/apps/dolly-frontend/src/main/js/src/pages/gruppe/Gruppe.tsx b/apps/dolly-frontend/src/main/js/src/pages/gruppe/Gruppe.tsx index 46c95e98887..cb45dc8a5df 100644 --- a/apps/dolly-frontend/src/main/js/src/pages/gruppe/Gruppe.tsx +++ b/apps/dolly-frontend/src/main/js/src/pages/gruppe/Gruppe.tsx @@ -100,7 +100,7 @@ export default ({ const erLaast = gruppe.erLaast return (
- + {ikkeFerdigBestillinger && ( // @ts-ignore @@ -186,7 +186,7 @@ export default ({ @@ -196,7 +196,7 @@ export default ({ iLaastGruppe={erLaast} brukertype={brukertype} bestillingerById={bestillingerById} - gruppeInfo={gruppe} + gruppeId={gruppeId} /> )}
diff --git a/apps/dolly-frontend/src/main/js/src/pages/gruppe/GruppeHeader/GruppeHeader.tsx b/apps/dolly-frontend/src/main/js/src/pages/gruppe/GruppeHeader/GruppeHeader.tsx index 4a129faaf4b..8a2fc70faa3 100644 --- a/apps/dolly-frontend/src/main/js/src/pages/gruppe/GruppeHeader/GruppeHeader.tsx +++ b/apps/dolly-frontend/src/main/js/src/pages/gruppe/GruppeHeader/GruppeHeader.tsx @@ -14,7 +14,7 @@ import { TagsButton } from '@/components/ui/button/Tags/TagsButton' import { GjenopprettGruppe } from '@/components/bestilling/gjenopprett/GjenopprettGruppe' import { Hjelpetekst } from '@/components/hjelpetekst/Hjelpetekst' import { bottom } from '@popperjs/core' -import { Gruppe } from '@/utils/hooks/useGruppe' +import { useGruppeById } from '@/utils/hooks/useGruppe' import { useCurrentBruker } from '@/utils/hooks/useBruker' import { FlyttPersonButton } from '@/components/ui/button/FlyttPersonButton/FlyttPersonButton' import { LeggTilPaaGruppe } from '@/pages/gruppe/LeggTilPaaGruppe/LeggTilPaaGruppe' @@ -23,7 +23,7 @@ import Icon from '@/components/ui/icon/Icon' import { CypressSelector } from '../../../../cypress/mocks/Selectors' type GruppeHeaderProps = { - gruppe: Gruppe + gruppeId: string laasGruppe: Function isLockingGruppe: boolean deleteGruppe: Function @@ -35,7 +35,7 @@ type GruppeHeaderProps = { } const GruppeHeader = ({ - gruppe, + gruppeId, deleteGruppe, isDeletingGruppe, getGruppeExcelFil, @@ -50,6 +50,7 @@ const GruppeHeader = ({ const { currentBruker: { brukertype }, } = useCurrentBruker() + const { gruppe } = useGruppeById(gruppeId) const erLaast = gruppe.erLaast @@ -147,9 +148,9 @@ const GruppeHeader = ({
- {visRedigerState && } + {visRedigerState && } {viserGjenopprettModal && ( - + )} ) diff --git a/apps/dolly-frontend/src/main/js/src/pages/gruppe/PersonListe/PersonListe.tsx b/apps/dolly-frontend/src/main/js/src/pages/gruppe/PersonListe/PersonListe.tsx index edecda7baa7..8ac99698262 100644 --- a/apps/dolly-frontend/src/main/js/src/pages/gruppe/PersonListe/PersonListe.tsx +++ b/apps/dolly-frontend/src/main/js/src/pages/gruppe/PersonListe/PersonListe.tsx @@ -18,6 +18,7 @@ import { useBestillingerGruppe } from '@/utils/hooks/useBestilling' import { CypressSelector } from '../../../../cypress/mocks/Selectors' import PersonVisningConnector from '@/pages/gruppe/PersonVisning/PersonVisningConnector' import { DollyCopyButton } from '@/components/ui/button/CopyButton/DollyCopyButton' +import { useGruppeById } from '@/utils/hooks/useGruppe' const PersonIBrukButtonConnector = React.lazy( () => import('@/components/ui/button/PersonIBrukButton/PersonIBrukButtonConnector'), @@ -33,7 +34,7 @@ const ikonTypeMap = { export default function PersonListe({ isFetching, search, - gruppeInfo, + gruppeId, identer, sidetall, sideStoerrelse, @@ -51,7 +52,8 @@ export default function PersonListe({ const [selectedIdent, setSelectedIdent] = useState(null) const [identListe, setIdentListe] = useState([]) const dispatch = useDispatch() - const { bestillingerById: bestillingStatuser } = useBestillingerGruppe(gruppeInfo.id) + const { bestillingerById: bestillingStatuser } = useBestillingerGruppe(gruppeId) + const { gruppe: gruppeInfo } = useGruppeById(gruppeId) const personListe = useMemo( () => sokSelector(selectPersonListe(identer, bestillingStatuser, fagsystem), search), diff --git a/apps/dolly-frontend/src/main/js/src/utils/hooks/useBruker.tsx b/apps/dolly-frontend/src/main/js/src/utils/hooks/useBruker.tsx index a08969af96f..379c6b2904c 100644 --- a/apps/dolly-frontend/src/main/js/src/utils/hooks/useBruker.tsx +++ b/apps/dolly-frontend/src/main/js/src/utils/hooks/useBruker.tsx @@ -92,7 +92,7 @@ export const useOrganisasjonTilgang = () => { const { data, isLoading, error } = useSWR( getOrganisasjonTilgangUrl(orgnummer), - fetcher + fetcher, ) return { diff --git a/apps/dolly-frontend/src/main/js/src/utils/hooks/useOrganisasjoner.tsx b/apps/dolly-frontend/src/main/js/src/utils/hooks/useOrganisasjoner.tsx index 2e8674f115e..bb4b9c93503 100644 --- a/apps/dolly-frontend/src/main/js/src/utils/hooks/useOrganisasjoner.tsx +++ b/apps/dolly-frontend/src/main/js/src/utils/hooks/useOrganisasjoner.tsx @@ -82,8 +82,9 @@ const fasteDataFallback = [ export type Bestillingsstatus = { id: number environments: string[] - antallIdenter: number - antallLevert: number + antallIdenter?: number + antallIdenterOpprettet?: number + antallLevert?: number bestilling: any bruker: any gruppeId: number From b4c3ae8046bc7e602ff6994354c69a01c55aeb32 Mon Sep 17 00:00:00 2001 From: stigus Date: Wed, 11 Oct 2023 15:26:32 +0200 Subject: [PATCH 2/2] Fikset cypress tester etter nytt oppsett for henting av grupper #deploy-test-frontend --- apps/dolly-frontend/src/main/js/cypress/support/e2e.ts | 6 ++++-- .../main/js/src/pages/gruppe/GruppeHeader/GruppeHeader.tsx | 6 +++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/dolly-frontend/src/main/js/cypress/support/e2e.ts b/apps/dolly-frontend/src/main/js/cypress/support/e2e.ts index ad2291bdf9f..a0bdb8387ee 100644 --- a/apps/dolly-frontend/src/main/js/cypress/support/e2e.ts +++ b/apps/dolly-frontend/src/main/js/cypress/support/e2e.ts @@ -47,7 +47,8 @@ const hentGrupper = new RegExp(/api\/v1\/gruppe\?pageNo/) const histark = new RegExp(/testnav-histark-proxy\/api\//) const personFragmentSearch = new RegExp(/\/testnav-pdl-forvalter\/api\/v1\/identiteter\?fragment/) const personFragmentNaviger = new RegExp(/dolly-backend\/api\/v1\/ident\/naviger\/12345678912/) -const hentGruppe = new RegExp(/\/api\/v1\/gruppe\/1/) +const hentGruppeEn = new RegExp(/\/api\/v1\/gruppe\/1/) +const hentGruppeTo = new RegExp(/\/api\/v1\/gruppe\/2/) const hentGruppeBestilling = new RegExp(/dolly-backend\/api\/v1\/bestilling\/gruppe\/1/) const pdlPersonBolk = new RegExp(/\/api\/v2\/personer\/identer/) const pdlPersonEnkelt = new RegExp(/person-service\/api\/v2\/personer\/ident/) @@ -102,7 +103,8 @@ beforeEach(() => { cy.intercept({ method: 'GET', url: personFragmentNaviger }, personFragmentNavigerMock) cy.intercept({ method: 'GET', url: hentGrupper }, paginerteGrupperMock) cy.intercept({ method: 'GET', url: histark }, histarkMock) - cy.intercept({ method: 'GET', url: hentGruppe }, eksisterendeGruppeMock) + cy.intercept({ method: 'GET', url: hentGruppeEn }, eksisterendeGruppeMock) + cy.intercept({ method: 'GET', url: hentGruppeTo }, nyGruppeMock) cy.intercept({ method: 'GET', url: hentGruppeBestilling }, backendBestillingerMock) cy.intercept({ method: 'POST', url: lagNyGruppe }, { statusCode: 201, body: nyGruppeMock }) cy.intercept({ method: 'GET', url: pdlPersonBolk }, pdlBulkpersonerMock) diff --git a/apps/dolly-frontend/src/main/js/src/pages/gruppe/GruppeHeader/GruppeHeader.tsx b/apps/dolly-frontend/src/main/js/src/pages/gruppe/GruppeHeader/GruppeHeader.tsx index 8a2fc70faa3..5b7c817912e 100644 --- a/apps/dolly-frontend/src/main/js/src/pages/gruppe/GruppeHeader/GruppeHeader.tsx +++ b/apps/dolly-frontend/src/main/js/src/pages/gruppe/GruppeHeader/GruppeHeader.tsx @@ -21,6 +21,7 @@ import { LeggTilPaaGruppe } from '@/pages/gruppe/LeggTilPaaGruppe/LeggTilPaaGrup import cn from 'classnames' import Icon from '@/components/ui/icon/Icon' import { CypressSelector } from '../../../../cypress/mocks/Selectors' +import Loading from '@/components/ui/loading/Loading' type GruppeHeaderProps = { gruppeId: string @@ -50,8 +51,11 @@ const GruppeHeader = ({ const { currentBruker: { brukertype }, } = useCurrentBruker() - const { gruppe } = useGruppeById(gruppeId) + const { gruppe, loading } = useGruppeById(gruppeId) + if (loading) { + return + } const erLaast = gruppe.erLaast const headerClass = erLaast ? 'gruppe-header-laast' : 'gruppe-header'