diff --git a/.storybook/main.ts b/.storybook/main.ts index 991699cd5c..83a74d4f54 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -3,6 +3,7 @@ import type { StorybookConfig } from '@storybook/react-vite'; const config: StorybookConfig = { stories: ['../packages/**/*.stories.@(j|t)s?(x)'], addons: [ + '@storybook/addon-outline', '@storybook/addon-actions', '@storybook/addon-controls', '@storybook/addon-interactions', diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index 76b86176db..e24fa709d1 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -8,7 +8,6 @@ import React from 'react'; import { Provider } from 'react-redux'; import { MemoryRouter } from 'react-router-dom'; -// @ts-ignore const { VITE_LOCAL_STORYBOOK } = import.meta.env; initialize({ @@ -21,6 +20,9 @@ initialize({ const queryClient = new QueryClient(); const preview: Preview = { + parameters: { + margin: '40px' + }, decorators: [ Story => { const store = configureStore(); @@ -28,14 +30,22 @@ const preview: Preview = { -
- -
+
); }, + // Decorator som legger på ekstra margin. Kan overstyrast med parameter på komponentnivå/enkeltstories ved behov. + // Feks viss ein lager stories for komponenter som skal vise på toppnivå på sida kan det vere lurt å sette parameter + // layout: "fullscreen", som også fjerner margin her. + (Story, {parameters}) => { + return parameters.margin !== null && parameters.layout !== 'fullscreen' ? +
+ +
: + + }, ], loaders: [ async context => { diff --git a/README.md b/README.md index 3b551c7f99..0a26c0af1b 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ Aktiveres ved å definere en eller flere features i `.env.development`fil i _env ## Pakkeoppdatering ### Avhengigheter som må ha samme versjon + Noen sub-pakker i dette prosjekt har avhengigheter til kode fra [ft-frontend-saksbehandling](https://github.com/navikt/ft-frontend-saksbehandling). Samtidig har disse sub-pakkene felles avhengigheter med koden i [ft-frontend-saksbehandling](https://github.com/navikt/ft-frontend-saksbehandling). @@ -71,7 +72,10 @@ Kode som legges inn her blir kontrollert av en strengere tsconfig.json. Gammel k det motsatte skal ikke skje, kode under _packages/v2_ skal aldri importere kode som ikke ligger under _v2_. På denne måten får vi gjort en gradvis overgang til bedre kontrollert typescript. +Mer info om dette i [v2/README](./packages/v2/README.md) + ## Bygg og utrulling + Ved merge av **PR til master** branch blir koden bygd inn i et Docker image og rulla ut til testmiljø på https://k9.dev.intern.nav.no. Etter godkjenning i pipeline blir samme Docker image rulla ut i produksjon på https://k9.intern.nav.no/. @@ -80,6 +84,7 @@ skjer automatisk ved merge av **PR til dev-next1** branch. Denne utrulling lever hver nye utrulling her stenges servicen ned inntil det skjer en ny utrulling. ### Storybook + Katalog med brukergrensesnitt-komponenter blir publisert i storybook på https://navikt.github.io/k9-sak-web/ ## For NAV-ansatte diff --git a/_mocks/featureToggles.ts b/_mocks/featureToggles.ts index 2209e5d8a2..cb8d1e4c1c 100644 --- a/_mocks/featureToggles.ts +++ b/_mocks/featureToggles.ts @@ -46,8 +46,8 @@ export const featureTogglesFactory = () => [ value: process.env.VITE_AKSJONSPUNKT_9015, }, { - key: "ALDERSVILKAR_KRONISK_SYK", - value: process.env.VITE_ALDERSVILKAR_KRONISK_SYK + key: 'ALDERSVILKAR_KRONISK_SYK', + value: process.env.VITE_ALDERSVILKAR_KRONISK_SYK, }, { key: 'FRITEKST_REDIGERING', @@ -80,5 +80,9 @@ export const featureTogglesFactory = () => [ { key: 'UTVIDET_VARSELFELT', value: process.env.VITE_UTVIDET_VARSELFELT, - } + }, + { + key: 'SKILL_UT_PRIVATPERSON', + value: process.env.VITE_SKILL_UT_PRIVATPERSON, + }, ]; diff --git a/deploy/dev-fss-k9saksbehandling.yml b/deploy/dev-fss-k9saksbehandling.yml index fad9b01ca0..58611014c0 100644 --- a/deploy/dev-fss-k9saksbehandling.yml +++ b/deploy/dev-fss-k9saksbehandling.yml @@ -109,3 +109,5 @@ spec: value: "true" - name: UTVIDET_VARSELFELT value: "true" + - name: SKILL_UT_PRIVATPERSON + value: "true" diff --git a/deploy/prod-fss-k9saksbehandling.yml b/deploy/prod-fss-k9saksbehandling.yml index 1bd4e8da07..c315db1805 100644 --- a/deploy/prod-fss-k9saksbehandling.yml +++ b/deploy/prod-fss-k9saksbehandling.yml @@ -106,3 +106,5 @@ spec: value: "false" - name: UTVIDET_VARSELFELT value: "true" + - name: SKILL_UT_PRIVATPERSON + value: "false" diff --git a/envDir/.env.development b/envDir/.env.development index 71e32718b9..d8b57743ab 100644 --- a/envDir/.env.development +++ b/envDir/.env.development @@ -16,3 +16,4 @@ VITE_FIX_SOKNADSFRIST_KALENDER_OG_READONLY=true VITE_INKLUDER_KALENDER_PILS=true VITE_OVERSTYRING_UTTAK=true VITE_NYE_NOKKELTALL=true +VITE_SKILL_UT_PRIVATPERSON=true diff --git a/feature-toggles.json b/feature-toggles.json index 95521b80d6..87b84bd75c 100644 --- a/feature-toggles.json +++ b/feature-toggles.json @@ -86,5 +86,9 @@ { "key": "UTVIDET_VARSELFELT", "value": "${UTVIDET_VARSELFELT}" + }, + { + "key": "SKILL_UT_PRIVATPERSON", + "value": "${SKILL_UT_PRIVATPERSON}" } ] diff --git a/package.json b/package.json index 638d0aba03..0a82079955 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "storybook": "VITE_LOCAL_STORYBOOK=true storybook dev -p 9001", "build-storybook": "storybook build -o .static_storybook", "build-storybook-test": "VITE_LOCAL_STORYBOOK=true storybook build --test -o .static_storybook", - "prepare": "husky install", + "prepare": "husky", "sentry-release": "(SENTRY_RELEASE=$(git rev-parse --short HEAD); node ./scripts/sentry-release.cjs)" }, "workspaces": [ @@ -43,16 +43,16 @@ ], "dependencies": { "@hookform/error-message": "^2.0.1", - "@navikt/aksel-icons": "6.13.0", - "@navikt/ds-css": "6.13.0", - "@navikt/ds-react": "6.13.0", - "@navikt/ds-tailwind": "^6.13.0", - "@navikt/familie-endringslogg": "13.1.1", - "@navikt/ft-plattform-komponenter": "3.0.4", + "@navikt/aksel-icons": "6.16.3", + "@navikt/ds-css": "6.16.3", + "@navikt/ds-react": "6.16.3", + "@navikt/ds-tailwind": "^6.16.3", + "@navikt/familie-endringslogg": "13.1.2", + "@navikt/ft-plattform-komponenter": "3.0.8", "@popperjs/core": "2.11.8", - "@sentry/browser": "8.27.0", - "@sentry/react": "^8.27.0", - "axios": "1.7.5", + "@sentry/browser": "8.28.0", + "@sentry/react": "^8.28.0", + "axios": "1.7.7", "date-fns": "3.6.0", "date-fns-tz": "3.1.3", "history": "5.3.0", @@ -61,13 +61,13 @@ "postcss-import": "^16.1.0", "react": "18.3.1", "react-dom": "18.3.1", - "react-router": "6.26.0", - "react-router-dom": "6.26.0", + "react-router": "6.26.1", + "react-router-dom": "6.26.1", "vite-plugin-svgr": "4.2.0" }, "devDependencies": { - "@playwright/test": "^1.46.1", - "@sentry/cli": "2.34.1", + "@playwright/test": "^1.47.0", + "@sentry/cli": "2.35.0", "@storybook/addon-a11y": "^8.2.9", "@storybook/addon-actions": "^8.2.9", "@storybook/addon-docs": "^8.2.9", @@ -85,7 +85,7 @@ "@testing-library/user-event": "14.5.2", "@types/history": "5.0.0", "@types/prop-types": "15.7.12", - "@types/react": "18.3.3", + "@types/react": "18.3.5", "@types/react-collapse": "5.0.4", "@types/react-router-dom": "5.3.3", "@types/redux-form": "8.3.11", @@ -95,16 +95,16 @@ "cross-env": "7.0.3", "eslint": "9.9.1", "eslint-config-prettier": "9.1.0", - "eslint-plugin-jsx-a11y": "6.9.0", - "eslint-plugin-react": "7.35.0", + "eslint-plugin-jsx-a11y": "6.10.0", + "eslint-plugin-react": "7.35.2", "eslint-plugin-vitest": "~0.5.4", "globals": "^15.9.0", "husky": "9.1.5", - "jsdom": "24.1.1", - "lint-staged": "15.2.9", - "msw": "2.4.1", + "jsdom": "24.1.3", + "lint-staged": "15.2.10", + "msw": "2.4.2", "msw-storybook-addon": "^2.0.3", - "postcss": "^8.4.41", + "postcss": "^8.4.45", "prettier": "3.3.3", "react-popper": "2.3.0", "storybook": "^8.2.9", @@ -115,13 +115,13 @@ "typed-css-modules": "^0.9.1", "typescript": "5.5.4", "typescript-eslint": "^7.18.0", - "vite": "^5.4.2", + "vite": "^5.4.3", "vite-plugin-html": "^3.2.2", "vitest": "2.0.5", "vitest-axe": "0.1.0" }, "resolutions": { - "postcss": "8.4.41", + "postcss": "8.4.45", "parse-url": "8.1.0", "@types/react": "17" }, diff --git a/packages/behandling-felles/package.json b/packages/behandling-felles/package.json index 51a27744de..42d5523362 100644 --- a/packages/behandling-felles/package.json +++ b/packages/behandling-felles/package.json @@ -16,7 +16,7 @@ "@k9-sak-web/modal-sett-pa-vent": "1.0.0", "@k9-sak-web/rest-api-hooks": "1.0.0", "@k9-sak-web/types": "1.0.0", - "@navikt/ft-plattform-komponenter": "3.0.4", + "@navikt/ft-plattform-komponenter": "3.0.8", "classnames": "2.5.1", "react": "18.3.1", "react-intl": "6.6.8", diff --git a/packages/behandling-frisinn/package.json b/packages/behandling-frisinn/package.json index eca812fa12..9b6379dd90 100644 --- a/packages/behandling-frisinn/package.json +++ b/packages/behandling-frisinn/package.json @@ -18,8 +18,8 @@ "@k9-sak-web/rest-api": "1.0.0", "@k9-sak-web/rest-api-hooks": "1.0.0", "@k9-sak-web/types": "1.0.0", - "@navikt/ft-fakta-beregning-redesign": "1.2.21", - "@navikt/ft-prosess-beregningsgrunnlag": "6.5.26", + "@navikt/ft-fakta-beregning-redesign": "1.2.27", + "@navikt/ft-prosess-beregningsgrunnlag": "6.5.32", "react": "18.3.1", "react-intl": "6.6.8" } diff --git a/packages/behandling-omsorgspenger/package.json b/packages/behandling-omsorgspenger/package.json index fc170eb445..a15858bf4a 100644 --- a/packages/behandling-omsorgspenger/package.json +++ b/packages/behandling-omsorgspenger/package.json @@ -31,9 +31,9 @@ "@k9-sak-web/rest-api": "1.0.0", "@k9-sak-web/rest-api-hooks": "1.0.0", "@k9-sak-web/types": "1.0.0", - "@navikt/ft-fakta-beregning-redesign": "1.2.21", - "@navikt/ft-fakta-fordel-beregningsgrunnlag": "7.5.22", - "@navikt/ft-prosess-beregningsgrunnlag": "6.5.26", + "@navikt/ft-fakta-beregning-redesign": "1.2.27", + "@navikt/ft-fakta-fordel-beregningsgrunnlag": "7.5.29", + "@navikt/ft-prosess-beregningsgrunnlag": "6.5.32", "react": "18.3.1", "react-intl": "6.6.8" } diff --git a/packages/behandling-opplaeringspenger/package.json b/packages/behandling-opplaeringspenger/package.json index 8bd4071d32..043a8b8e5c 100644 --- a/packages/behandling-opplaeringspenger/package.json +++ b/packages/behandling-opplaeringspenger/package.json @@ -35,10 +35,10 @@ "@k9-sak-web/rest-api-hooks": "1.0.0", "@k9-sak-web/sak-app": "1.0.0", "@k9-sak-web/types": "1.0.0", - "@navikt/ft-fakta-beregning-redesign": "1.2.21", - "@navikt/ft-fakta-fordel-beregningsgrunnlag": "7.5.22", - "@navikt/ft-prosess-beregningsgrunnlag": "6.5.26", - "axios": "1.7.5", + "@navikt/ft-fakta-beregning-redesign": "1.2.27", + "@navikt/ft-fakta-fordel-beregningsgrunnlag": "7.5.29", + "@navikt/ft-prosess-beregningsgrunnlag": "6.5.32", + "axios": "1.7.7", "react": "18.3.1", "react-intl": "6.6.8" } diff --git a/packages/behandling-pleiepenger-sluttfase/package.json b/packages/behandling-pleiepenger-sluttfase/package.json index c2ef7d1848..f3e9a71224 100644 --- a/packages/behandling-pleiepenger-sluttfase/package.json +++ b/packages/behandling-pleiepenger-sluttfase/package.json @@ -16,7 +16,6 @@ "@fpsak-frontend/prosess-varsel-om-revurdering": "1.0.0", "@fpsak-frontend/prosess-vedtak": "1.0.0", "@fpsak-frontend/prosess-vilkar-opptjening-oms": "1.0.0", - "@fpsak-frontend/prosess-vilkar-sokers-opplysningsplikt": "1.0.0", "@fpsak-frontend/shared-components": "1.0.0", "@fpsak-frontend/utils": "1.0.0", "@k9-sak-web/behandling-felles": "1.0.0", @@ -31,10 +30,10 @@ "@k9-sak-web/rest-api-hooks": "1.0.0", "@k9-sak-web/sak-app": "1.0.0", "@k9-sak-web/types": "1.0.0", - "@navikt/ft-fakta-beregning-redesign": "1.2.21", - "@navikt/ft-fakta-fordel-beregningsgrunnlag": "7.5.22", - "@navikt/ft-prosess-beregningsgrunnlag": "6.5.26", - "axios": "1.7.5", + "@navikt/ft-fakta-beregning-redesign": "1.2.27", + "@navikt/ft-fakta-fordel-beregningsgrunnlag": "7.5.29", + "@navikt/ft-prosess-beregningsgrunnlag": "6.5.32", + "axios": "1.7.7", "react": "18.3.1", "react-intl": "6.6.8" } diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SokersOpplysningspliktPanelDef.tsx b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SokersOpplysningspliktPanelDef.tsx deleted file mode 100644 index afef0f901c..0000000000 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SokersOpplysningspliktPanelDef.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import React from 'react'; - -import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; -import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import SokersOpplysningspliktVilkarProsessIndex from '@fpsak-frontend/prosess-vilkar-sokers-opplysningsplikt'; -import { ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; -import { Aksjonspunkt, Behandling } from '@k9-sak-web/types'; - -class SokersOpplysningspliktPanelDef extends ProsessStegPanelDef { - getId = () => 'SOKERS_OPPLYSNINGSPLIKT'; - - getTekstKode = () => 'Inngangsvilkar.Opptjeningsvilkaret'; - - getKomponent = props => ; - - getAksjonspunktKoder = () => [ - aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_OVST, - aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_MANU, - ]; - - getAksjonspunktTekstkoder = () => [ - 'SokersOpplysningspliktForm.UtfyllendeOpplysninger', - 'SokersOpplysningspliktForm.UtfyllendeOpplysninger', - ]; - - getVilkarKoder = () => [vilkarType.SOKERSOPPLYSNINGSPLIKT]; - - getOverstyrVisningAvKomponent = ({ - behandling, - aksjonspunkterForSteg, - }: { - behandling: Behandling; - aksjonspunkterForSteg: Aksjonspunkt[]; - }) => { - const isRevurdering = behandlingType.REVURDERING === behandling.type; - const hasAp = aksjonspunkterForSteg.some(ap => ap.definisjon === aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_MANU); - return !(isRevurdering && !hasAp); - }; - - getData = ({ soknad }) => ({ soknad }); -} - -export default SokersOpplysningspliktPanelDef; diff --git a/packages/behandling-pleiepenger/package.json b/packages/behandling-pleiepenger/package.json index d2d2050a0c..587eb9ad31 100644 --- a/packages/behandling-pleiepenger/package.json +++ b/packages/behandling-pleiepenger/package.json @@ -17,7 +17,6 @@ "@fpsak-frontend/prosess-varsel-om-revurdering": "1.0.0", "@fpsak-frontend/prosess-vedtak": "1.0.0", "@fpsak-frontend/prosess-vilkar-opptjening-oms": "1.0.0", - "@fpsak-frontend/prosess-vilkar-sokers-opplysningsplikt": "1.0.0", "@fpsak-frontend/shared-components": "1.0.0", "@fpsak-frontend/utils": "1.0.0", "@k9-sak-web/behandling-felles": "1.0.0", @@ -36,10 +35,10 @@ "@k9-sak-web/sak-app": "1.0.0", "@k9-sak-web/types": "1.0.0", "@navikt/diagnosekoder": "^1.2024.0", - "@navikt/ft-fakta-beregning-redesign": "1.2.21", - "@navikt/ft-fakta-fordel-beregningsgrunnlag": "7.5.22", - "@navikt/ft-prosess-beregningsgrunnlag": "6.5.26", - "axios": "1.7.5", + "@navikt/ft-fakta-beregning-redesign": "1.2.27", + "@navikt/ft-fakta-fordel-beregningsgrunnlag": "7.5.29", + "@navikt/ft-prosess-beregningsgrunnlag": "6.5.32", + "axios": "1.7.7", "react": "18.3.1", "react-intl": "6.6.8" } diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SokersOpplysningspliktPanelDef.tsx b/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SokersOpplysningspliktPanelDef.tsx deleted file mode 100644 index afef0f901c..0000000000 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SokersOpplysningspliktPanelDef.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import React from 'react'; - -import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; -import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import SokersOpplysningspliktVilkarProsessIndex from '@fpsak-frontend/prosess-vilkar-sokers-opplysningsplikt'; -import { ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; -import { Aksjonspunkt, Behandling } from '@k9-sak-web/types'; - -class SokersOpplysningspliktPanelDef extends ProsessStegPanelDef { - getId = () => 'SOKERS_OPPLYSNINGSPLIKT'; - - getTekstKode = () => 'Inngangsvilkar.Opptjeningsvilkaret'; - - getKomponent = props => ; - - getAksjonspunktKoder = () => [ - aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_OVST, - aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_MANU, - ]; - - getAksjonspunktTekstkoder = () => [ - 'SokersOpplysningspliktForm.UtfyllendeOpplysninger', - 'SokersOpplysningspliktForm.UtfyllendeOpplysninger', - ]; - - getVilkarKoder = () => [vilkarType.SOKERSOPPLYSNINGSPLIKT]; - - getOverstyrVisningAvKomponent = ({ - behandling, - aksjonspunkterForSteg, - }: { - behandling: Behandling; - aksjonspunkterForSteg: Aksjonspunkt[]; - }) => { - const isRevurdering = behandlingType.REVURDERING === behandling.type; - const hasAp = aksjonspunkterForSteg.some(ap => ap.definisjon === aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_MANU); - return !(isRevurdering && !hasAp); - }; - - getData = ({ soknad }) => ({ soknad }); -} - -export default SokersOpplysningspliktPanelDef; diff --git a/packages/behandling-tilbakekreving/package.json b/packages/behandling-tilbakekreving/package.json index b91e2db417..7233a302ff 100644 --- a/packages/behandling-tilbakekreving/package.json +++ b/packages/behandling-tilbakekreving/package.json @@ -16,8 +16,8 @@ "@k9-sak-web/rest-api": "1.0.0", "@k9-sak-web/rest-api-hooks": "1.0.0", "@k9-sak-web/types": "1.0.0", - "@navikt/ft-kodeverk": "^2.4.15", - "@navikt/ft-prosess-tilbakekreving-foreldelse": "3.3.21", + "@navikt/ft-kodeverk": "^2.4.17", + "@navikt/ft-prosess-tilbakekreving-foreldelse": "3.3.27", "react": "18.3.1", "react-intl": "6.6.8" } diff --git a/packages/fakta-etablert-tilsyn/package.json b/packages/fakta-etablert-tilsyn/package.json index 22fd040b55..b318c7a95e 100644 --- a/packages/fakta-etablert-tilsyn/package.json +++ b/packages/fakta-etablert-tilsyn/package.json @@ -10,14 +10,14 @@ "dev": "vite serve" }, "devDependencies": { - "vite": "^5.4.2", + "vite": "^5.4.3", "vite-plugin-node-polyfills": "^0.22.0" }, "dependencies": { - "@navikt/ds-css": "6.13.0", + "@navikt/ds-css": "6.16.3", "@navikt/ds-icons": "3.4.3", - "@navikt/ds-react": "6.13.0", - "@navikt/ft-plattform-komponenter": "3.0.4", + "@navikt/ds-react": "6.16.3", + "@navikt/ft-plattform-komponenter": "3.0.8", "@popperjs/core": "2.11.8", "classnames": "2.5.1", "dayjs": "1.11.13", @@ -25,7 +25,7 @@ "react": "18.3.1", "react-collapse": "5.1.1", "react-dom": "18.3.1", - "react-hook-form": "7.52.2", + "react-hook-form": "7.53.0", "react-popper": "2.3.0" }, "msw": { diff --git a/packages/fakta-inntektsmelding/package.json b/packages/fakta-inntektsmelding/package.json index fddad23a57..9f9989e591 100644 --- a/packages/fakta-inntektsmelding/package.json +++ b/packages/fakta-inntektsmelding/package.json @@ -10,23 +10,23 @@ "author": "NAV IT", "license": "MIT", "devDependencies": { - "msw": "2.4.1", - "vite": "^5.4.2", + "msw": "2.4.2", + "vite": "^5.4.3", "vite-plugin-node-polyfills": "^0.22.0" }, "dependencies": { - "@navikt/ds-css": "6.13.0", + "@navikt/ds-css": "6.16.3", "@navikt/ds-icons": "3.4.3", - "@navikt/ds-react": "6.13.0", - "@navikt/ft-form-hooks": "5.0.0", - "@navikt/ft-plattform-komponenter": "3.0.4", + "@navikt/ds-react": "6.16.3", + "@navikt/ft-form-hooks": "5.0.5", + "@navikt/ft-plattform-komponenter": "3.0.8", "@popperjs/core": "2.11.8", "classnames": "2.5.1", "dayjs": "1.11.13", "react": "18.3.1", "react-collapse": "5.1.1", "react-dom": "18.3.1", - "react-hook-form": "7.52.2", + "react-hook-form": "7.53.0", "react-popper": "2.3.0" }, "msw": { diff --git a/packages/fakta-institusjon/package.json b/packages/fakta-institusjon/package.json index 000fb0ea07..3d3c7714a6 100644 --- a/packages/fakta-institusjon/package.json +++ b/packages/fakta-institusjon/package.json @@ -7,7 +7,7 @@ "dependencies": { "@fpsak-frontend/form": "*", "@k9-sak-web/types": "*", - "@navikt/ft-plattform-komponenter": "3.0.4", + "@navikt/ft-plattform-komponenter": "3.0.8", "formik": "2.4.6" } } diff --git "a/packages/fakta-medisinsk-vilk\303\245r/package.json" "b/packages/fakta-medisinsk-vilk\303\245r/package.json" index 2ba9b2ba26..4b011445e2 100644 --- "a/packages/fakta-medisinsk-vilk\303\245r/package.json" +++ "b/packages/fakta-medisinsk-vilk\303\245r/package.json" @@ -11,26 +11,26 @@ }, "devDependencies": { "cors": "^2.8.5", - "msw": "2.4.1", - "vite": "^5.4.2", + "msw": "2.4.2", + "vite": "^5.4.3", "vite-plugin-node-polyfills": "^0.22.0" }, "dependencies": { "@fpsak-frontend/form": "1.0.0", "@navikt/diagnosekoder": "^1.2024.0", - "@navikt/ds-css": "6.13.0", + "@navikt/ds-css": "6.16.3", "@navikt/ds-icons": "3.4.3", - "@navikt/ds-react": "6.13.0", - "@navikt/ft-plattform-komponenter": "3.0.4", + "@navikt/ds-react": "6.16.3", + "@navikt/ft-plattform-komponenter": "3.0.8", "@popperjs/core": "2.11.8", - "@tanstack/react-query": "^5.52.3", - "axios": "1.7.5", + "@tanstack/react-query": "^5.55.0", + "axios": "1.7.7", "classnames": "2.5.1", "dayjs": "1.11.13", "react": "18.3.1", "react-collapse": "5.1.1", "react-dom": "18.3.1", - "react-hook-form": "7.52.2", + "react-hook-form": "7.53.0", "react-outside-click-handler": "1.3.0", "react-popper": "2.3.0" }, diff --git a/packages/fakta-medlemskap/package.json b/packages/fakta-medlemskap/package.json index 5e3614c01b..71c8c7165d 100644 --- a/packages/fakta-medlemskap/package.json +++ b/packages/fakta-medlemskap/package.json @@ -12,8 +12,8 @@ "@fpsak-frontend/shared-components": "1.0.0", "@fpsak-frontend/utils": "1.0.0", "@k9-sak-web/fakta-felles": "1.0.0", - "@navikt/ft-form-hooks": "5.0.0", - "@navikt/ft-plattform-komponenter": "3.0.4", + "@navikt/ft-form-hooks": "5.0.5", + "@navikt/ft-plattform-komponenter": "3.0.8", "i18n-iso-countries": "7.11.3", "moment": "2.30.1", "prop-types": "15.8.1", diff --git a/packages/fakta-medlemskap/src/MedlemskapFaktaIndex.stories.tsx b/packages/fakta-medlemskap/src/MedlemskapFaktaIndex.stories.tsx index 4b02ad973d..e3ed4f1e64 100644 --- a/packages/fakta-medlemskap/src/MedlemskapFaktaIndex.stories.tsx +++ b/packages/fakta-medlemskap/src/MedlemskapFaktaIndex.stories.tsx @@ -151,6 +151,68 @@ const medlemskap = { }, ], }; + +const periodeMed5020 = { + vurderingsdato: '2018-11-07', + personopplysninger: { + fnr: null, + aktoerId: '1615078487209', + diskresjonskode: null, + nummer: null, + navBrukerKjonn: { + kode: 'K', + kodeverk: 'BRUKER_KJOENN', + }, + statsborgerskap: { + kode: 'NOR', + kodeverk: 'LANDKODER', + navn: 'Norge', + }, + avklartPersonstatus: { + orginalPersonstatus: { + kode: 'BOSA', + kodeverk: 'PERSONSTATUS_TYPE', + }, + overstyrtPersonstatus: { + kode: 'BOSA', + kodeverk: 'PERSONSTATUS_TYPE', + }, + }, + personstatus: { + kode: 'BOSA', + kodeverk: 'PERSONSTATUS_TYPE', + }, + sivilstand: { + kode: 'UGIF', + kodeverk: 'SIVILSTAND_TYPE', + }, + navn: 'Mygg Robust', + dodsdato: null, + fodselsdato: '1966-08-02', + adresser: [], + region: { + kode: 'NORDEN', + kodeverk: 'REGION', + }, + annenPart: null, + ektefelle: null, + barn: [], + barnSoktFor: [], + barnFraTpsRelatertTilSoknad: [], + harVerge: false, + }, + aksjonspunkter: ['5020'], + årsaker: ['SKJÆRINGSTIDSPUNKT'], + oppholdsrettVurdering: null, + erEosBorger: null, + lovligOppholdVurdering: null, + bosattVurdering: null, + medlemskapManuellVurderingType: null, + begrunnelse: null, +}; + +const medlemskapAp5020 = { ...medlemskap, perioder: [periodeMed5020] }; + const fagsakPerson = {}; const merknaderFraBeslutter = { @@ -187,7 +249,7 @@ export const VisAksjonspunktForAvklaringOmBrukerErBosatt = args => ( VisAksjonspunktForAvklaringOmBrukerErBosatt.args = { behandling, - medlemskap, + medlemskap: medlemskapAp5020, soknad, arbeidsforhold, fagsakPerson, diff --git a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdINorgeOgAdresserFaktaPanel.tsx b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdINorgeOgAdresserFaktaPanel.tsx index 45cf75b4c5..bb42dec438 100644 --- a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdINorgeOgAdresserFaktaPanel.tsx +++ b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdINorgeOgAdresserFaktaPanel.tsx @@ -53,7 +53,6 @@ const lagOppholdIUtland = (utlandsOpphold: Opphold['utlandsopphold']) => interface OppholdINorgeOgAdresserFaktaPanelProps { readOnly: boolean; - // alleKodeverk: { [key: string]: KodeverkMedNavn[] }; alleMerknaderFraBeslutter: MerknaderFraBeslutter; } diff --git a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/StatusForBorgerFaktaPanel.spec.tsx b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/StatusForBorgerFaktaPanel.spec.tsx index 6c811b73cb..1132acb6b5 100644 --- a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/StatusForBorgerFaktaPanel.spec.tsx +++ b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/StatusForBorgerFaktaPanel.spec.tsx @@ -4,7 +4,6 @@ import { Aksjonspunkt } from '@k9-sak-web/types'; import { screen } from '@testing-library/react'; import React from 'react'; import { FormProvider, useForm } from 'react-hook-form'; - import { Periode } from './Periode'; import StatusForBorgerFaktaPanel from './StatusForBorgerFaktaPanel'; diff --git a/packages/fakta-om-barnet/package.json b/packages/fakta-om-barnet/package.json index fdb01efb13..84d81b56f2 100644 --- a/packages/fakta-om-barnet/package.json +++ b/packages/fakta-om-barnet/package.json @@ -10,20 +10,20 @@ "dev": "vite serve" }, "devDependencies": { - "msw": "2.4.1", - "vite": "^5.4.2", + "msw": "2.4.2", + "vite": "^5.4.3", "vite-plugin-node-polyfills": "^0.22.0" }, "dependencies": { - "@navikt/ds-react": "6.13.0", - "@navikt/ft-plattform-komponenter": "3.0.4", + "@navikt/ds-react": "6.16.3", + "@navikt/ft-plattform-komponenter": "3.0.8", "@popperjs/core": "2.11.8", "classnames": "2.5.1", "dayjs": "1.11.13", "react": "18.3.1", "react-collapse": "5.1.1", "react-dom": "18.3.1", - "react-hook-form": "7.52.2", + "react-hook-form": "7.53.0", "react-popper": "2.3.0", "tailwindcss": "^3.4.10" }, diff --git a/packages/fakta-omsorgen-for/package.json b/packages/fakta-omsorgen-for/package.json index 2bcc90ddb6..a7d8d06f75 100644 --- a/packages/fakta-omsorgen-for/package.json +++ b/packages/fakta-omsorgen-for/package.json @@ -10,16 +10,16 @@ "dev": "vite serve" }, "devDependencies": { - "msw": "2.4.1", - "vite": "^5.4.2", + "msw": "2.4.2", + "vite": "^5.4.3", "vite-plugin-node-polyfills": "^0.22.0" }, "dependencies": { - "@navikt/ds-css": "6.13.0", + "@navikt/ds-css": "6.16.3", "@navikt/ds-icons": "3.4.3", - "@navikt/ds-react": "6.13.0", - "@navikt/fnrvalidator": "2.1.0", - "@navikt/ft-plattform-komponenter": "3.0.4", + "@navikt/ds-react": "6.16.3", + "@navikt/fnrvalidator": "2.1.2", + "@navikt/ft-plattform-komponenter": "3.0.8", "@popperjs/core": "2.11.8", "classnames": "2.5.1", "dayjs": "1.11.13", @@ -27,7 +27,7 @@ "react": "18.3.1", "react-collapse": "5.1.1", "react-dom": "18.3.1", - "react-hook-form": "7.52.2", + "react-hook-form": "7.53.0", "react-intl": "6.6.8", "react-popper": "2.3.0" }, diff --git a/packages/fakta-opplaering/package.json b/packages/fakta-opplaering/package.json index 62ff08d54d..990bf7e5a0 100644 --- a/packages/fakta-opplaering/package.json +++ b/packages/fakta-opplaering/package.json @@ -9,8 +9,8 @@ "@fpsak-frontend/utils": "*", "@k9-sak-web/types": "*", "@navikt/ds-icons": "3.4.3", - "@navikt/ds-react": "6.13.0", - "@navikt/ft-plattform-komponenter": "3.0.4", + "@navikt/ds-react": "6.16.3", + "@navikt/ft-plattform-komponenter": "3.0.8", "classnames": "2.5.1", "dayjs": "1.11.13", "formik": "2.4.6", diff --git a/packages/fakta-overstyr-beregning/package.json b/packages/fakta-overstyr-beregning/package.json index d22a0d71e0..69e79cf77b 100644 --- a/packages/fakta-overstyr-beregning/package.json +++ b/packages/fakta-overstyr-beregning/package.json @@ -9,7 +9,7 @@ "@fpsak-frontend/shared-components": "1.0.0", "@fpsak-frontend/utils": "workspace:^", "@k9-sak-web/types": "workspace:^", - "@navikt/ds-react": "6.13.0", + "@navikt/ds-react": "6.16.3", "date-fns": "3.6.0", "formik": "2.4.6", "react": "18.3.1", diff --git a/packages/form/package.json b/packages/form/package.json index ae6ce376b6..f1e5c103ad 100644 --- a/packages/form/package.json +++ b/packages/form/package.json @@ -8,12 +8,12 @@ "dependencies": { "@fpsak-frontend/shared-components": "1.0.0", "@fpsak-frontend/utils": "1.0.0", - "@navikt/ft-plattform-komponenter": "3.0.4", + "@navikt/ft-plattform-komponenter": "3.0.8", "classnames": "2.5.1", "formik": "2.4.6", "moment": "2.30.1", "react": "18.3.1", - "react-hook-form": "7.52.2", + "react-hook-form": "7.53.0", "react-intl": "6.6.8", "react-redux": "9.1.2", "redux": "5.0.1", diff --git a/packages/mocks/mockdata/utenlandsoppholdMock.js b/packages/mocks/mockdata/utenlandsoppholdMock.js index fb91b7ed16..6f895d4446 100644 --- a/packages/mocks/mockdata/utenlandsoppholdMock.js +++ b/packages/mocks/mockdata/utenlandsoppholdMock.js @@ -78,6 +78,22 @@ const utenlandsopphold = { region: 'EOS', // REGION årsak: 'INGEN', }, + { + periode: `${dayjs().subtract(52, 'day').format('YYYY-MM-DD')}/${dayjs() + .subtract(47, 'day') + .format('YYYY-MM-DD')}`, + landkode: 'XXK', // LANDKODER + region: 'ANNET', // REGION + årsak: 'INGEN', + }, + { + periode: `${dayjs().subtract(59, 'day').format('YYYY-MM-DD')}/${dayjs() + .subtract(55, 'day') + .format('YYYY-MM-DD')}`, + landkode: 'GBR', // LANDKODER + region: 'EOS', // REGION + årsak: 'INGEN', + }, ], }; diff --git a/packages/prosess-aarskvantum-oms/package.json b/packages/prosess-aarskvantum-oms/package.json index 9c6f83349c..d3c90a0393 100644 --- a/packages/prosess-aarskvantum-oms/package.json +++ b/packages/prosess-aarskvantum-oms/package.json @@ -19,7 +19,7 @@ "react-dom": "18.3.1", "react-intl": "6.6.8", "react-redux": "9.1.2", - "react-router-dom": "6.26.0", + "react-router-dom": "6.26.1", "redux-form": "8.3.10" }, "devDependencies": { diff --git a/packages/prosess-avregning/src/components/AvregningPanel.jsx b/packages/prosess-avregning/src/components/AvregningPanel.jsx index 04e6adcd77..ded0eac012 100644 --- a/packages/prosess-avregning/src/components/AvregningPanel.jsx +++ b/packages/prosess-avregning/src/components/AvregningPanel.jsx @@ -201,7 +201,12 @@ export class AvregningPanelImpl extends Component { { case fagsakYtelseType.OMSORGSPENGER: case fagsakYtelseType.OMSORGSPENGER_KRONISK_SYKT_BARN: case fagsakYtelseType.OMSORGSPENGER_MIDLERTIDIG_ALENE: + case fagsakYtelseType.OMSORGSPENGER_ALENE_OM_OMSORGEN: return [ { kode: '9-2', navn: '§ 9-2' }, { kode: '9-3', navn: '§ 9-3' }, diff --git a/packages/prosess-omsorgsdager/package.json b/packages/prosess-omsorgsdager/package.json index 6e1417a377..9a296e3fc5 100644 --- a/packages/prosess-omsorgsdager/package.json +++ b/packages/prosess-omsorgsdager/package.json @@ -10,18 +10,18 @@ "dev": "vite serve" }, "devDependencies": { - "vite": "^5.4.2", + "vite": "^5.4.3", "vite-plugin-node-polyfills": "^0.22.0", "vitest-axe": "^0.1.0" }, "dependencies": { - "@navikt/ds-css": "6.13.0", - "@navikt/ds-react": "6.13.0", + "@navikt/ds-css": "6.16.3", + "@navikt/ds-react": "6.16.3", "classnames": "2.5.1", "dayjs": "1.11.13", "lodash": "4.17.21", "react": "18.3.1", "react-dom": "18.3.1", - "react-hook-form": "7.52.2" + "react-hook-form": "7.53.0" } } diff --git a/packages/prosess-tilkjent-ytelse/i18n/nb_NO.json b/packages/prosess-tilkjent-ytelse/i18n/nb_NO.json index 0ce535742f..4a279d17e4 100644 --- a/packages/prosess-tilkjent-ytelse/i18n/nb_NO.json +++ b/packages/prosess-tilkjent-ytelse/i18n/nb_NO.json @@ -40,6 +40,7 @@ "TilkjentYtelse.NyPeriode.TilSoker": "Til søker", "TilkjentYtelse.NyPeriode.Refusjon": "Refusjon", "TilkjentYtelse.NyPeriode.Arbeidsgiver": "Arbeidsgiver", + "TilkjentYtelse.NyPeriode.ArbeidsgiverPrivatperson": "Arbeidsgiver (privatperson)", "TilkjentYtelse.NyPeriode.Arbeidsforhold": "Arbeidsforhold", "TilkjentYtelse.NyPeriode.AktivitetsStatus": "Aktivitetsstatus", "TilkjentYtelse.NyPeriode.Inntektskategori": "Inntektskategori", diff --git a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYteleseUtils.ts b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYteleseUtils.ts index ebc8809ec7..7ebb8de934 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYteleseUtils.ts +++ b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYteleseUtils.ts @@ -1,4 +1,5 @@ import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; +import { ArbeidsgiverOpplysningerPerId } from '@k9-sak-web/types'; export const getAktivitet = (aktivitetStatus, kodeverkNavnFraKode) => // hvis valgtAndel ikke satt ennå return tom string. @@ -10,7 +11,7 @@ export const getInntektskategori = (inntektkategori, kodeverkNavnFraKode) => const getEndCharFromId = id => (id ? `...${id.substring(id.length - 4, id.length)}` : ''); -export const createVisningsnavnForAndel = (andel, kodeverkNavnFraKode, arbeidsgiverOpplysningerPerId) => { +export const createArbeidsgiverVisningsnavnForAndel = (andel, kodeverkNavnFraKode, arbeidsgiverOpplysningerPerId) => { if (!andel) return ''; let identifikator; @@ -18,8 +19,6 @@ export const createVisningsnavnForAndel = (andel, kodeverkNavnFraKode, arbeidsgi identifikator = andel.arbeidsgiverOrgnr; } else if (andel.arbeidsgiver?.arbeidsgiverOrgnr) { identifikator = andel.arbeidsgiver.arbeidsgiverOrgnr; - } else if (andel.arbeidsgiver?.identifikator) { - identifikator = andel.arbeidsgiver.identifikator; } if (!identifikator) { @@ -38,4 +37,33 @@ export const createVisningsnavnForAndel = (andel, kodeverkNavnFraKode, arbeidsgi return `${navn} (${identifikator})${getEndCharFromId(andel.eksternArbeidsforholdId)}`; }; -export default createVisningsnavnForAndel; +export const createPrivatarbeidsgiverVisningsnavnForAndel = ( + andel, + getKodeverknavn, + arbeidsgiverOpplysningerPerId: ArbeidsgiverOpplysningerPerId, +) => { + if (!andel) return ''; + + let identifikator; + if (andel.arbeidsgiverPersonIdent) { + identifikator = andel.arbeidsgiverPersonIdent; + } else if (andel.arbeidsgiver?.arbeidsgiverPersonIdent) { + identifikator = andel.arbeidsgiver.arbeidsgiverPersonIdent; + } + + if (identifikator == null) { + return ''; + } + + const arbeidsgiverOpplysninger = Object.values(arbeidsgiverOpplysningerPerId).find( + v => v?.personIdentifikator === identifikator, + ); + + const navn = arbeidsgiverOpplysninger != null ? arbeidsgiverOpplysninger?.navn : ''; + + if (!navn) { + return `${identifikator}${getEndCharFromId(andel.eksternArbeidsforholdId)}`; + } + + return `${navn} (${identifikator})${getEndCharFromId(andel.eksternArbeidsforholdId)}`; +}; diff --git a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.spec.tsx b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.spec.tsx index fcce10693d..9728a36b2d 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.spec.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.spec.tsx @@ -41,6 +41,7 @@ describe('', () => { arbeidsgiver: '973861778', arbeidsgiverOrgnr: '', aktivitetStatus: '', + arbeidsgiverPersonIdent: '', arbeidsforholdId: '', eksternArbeidsforholdId: '', arbeidsgiverNavn: '', diff --git a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.tsx b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.tsx index 02a4f7afb2..5c461b62db 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.tsx @@ -6,7 +6,7 @@ import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import moment from 'moment'; import React, { Component, RefObject } from 'react'; import { WrappedComponentProps, injectIntl } from 'react-intl'; -import { createVisningsnavnForAndel } from './TilkjentYteleseUtils'; +import { createArbeidsgiverVisningsnavnForAndel } from './TilkjentYteleseUtils'; import TilkjentYtelseTimelineData from './TilkjentYtelseTimelineData'; import styles from './tilkjentYtelse.module.css'; @@ -63,7 +63,11 @@ const createTooltipContent = (intl, item, kodeverkNavnFraKode, arbeidsgiverOpply formatMessage( { id: 'Timeline.tooltip.dagsatsPerAndel' }, { - arbeidsgiver: createVisningsnavnForAndel(andel, kodeverkNavnFraKode, arbeidsgiverOpplysningerPerId), + arbeidsgiver: createArbeidsgiverVisningsnavnForAndel( + andel, + kodeverkNavnFraKode, + arbeidsgiverOpplysningerPerId, + ), dagsatsPerAndel: Number(andel.refusjon) + Number(andel.tilSoker), }, ), diff --git a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimeLineData.spec.tsx b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimeLineData.spec.tsx index eaaf319c87..64a27e607e 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimeLineData.spec.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimeLineData.spec.tsx @@ -2,7 +2,7 @@ import { renderWithIntl } from '@fpsak-frontend/utils-test/test-utils'; import { screen } from '@testing-library/react'; import React from 'react'; import messages from '../../i18n/nb_NO.json'; -import createVisningsnavnForAndel from './TilkjentYteleseUtils'; +import { createArbeidsgiverVisningsnavnForAndel } from './TilkjentYteleseUtils'; import { PeriodeMedId } from './TilkjentYtelse'; import TilkjentYtelseTimeLineData from './TilkjentYtelseTimelineData'; @@ -73,6 +73,8 @@ describe('', () => { ); expect(screen.getByText('Aktivitetsstatus:')).toBeInTheDocument(); - expect(createVisningsnavnForAndel(selectedItemDataFL.andeler[0], kodeverkNavnFraKode, {})).toBe('Frilans'); + expect(createArbeidsgiverVisningsnavnForAndel(selectedItemDataFL.andeler[0], kodeverkNavnFraKode, {})).toBe( + 'Frilans', + ); }); }); diff --git a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimelineData.tsx b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimelineData.tsx index b9d73551a0..397754a8b0 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimelineData.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimelineData.tsx @@ -7,7 +7,8 @@ import moment from 'moment'; import React, { useEffect } from 'react'; import { FormattedMessage, useIntl } from 'react-intl'; import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; -import { createVisningsnavnForAndel, getAktivitet } from './TilkjentYteleseUtils'; + +import { createArbeidsgiverVisningsnavnForAndel, getAktivitet } from './TilkjentYteleseUtils'; import { PeriodeMedId } from './TilkjentYtelse'; import styles from './tilkjentYtelse.module.css'; import UtbetalingsgradDetaljer from './UtbetalingsgradDetaljer'; @@ -155,7 +156,7 @@ const TilkjentYtelseTimeLineData = ({ id="Timeline.tooltip.dagsatsPerAndel" key={`index${index + 1}`} values={{ - arbeidsgiver: createVisningsnavnForAndel( + arbeidsgiver: createArbeidsgiverVisningsnavnForAndel( andel, kodeverkNavnFraKode, arbeidsgiverOpplysningerPerId, @@ -176,7 +177,7 @@ const TilkjentYtelseTimeLineData = ({ id="Timeline.tooltip.dagsatsPerAndel" key={`index${index + 1}`} values={{ - arbeidsgiver: createVisningsnavnForAndel( + arbeidsgiver: createArbeidsgiverVisningsnavnForAndel( andel, kodeverkNavnFraKode, arbeidsgiverOpplysningerPerId, @@ -196,13 +197,17 @@ const TilkjentYtelseTimeLineData = ({ {andeler.map((andel, index) => { - const label = createVisningsnavnForAndel(andel, kodeverkNavnFraKode, arbeidsgiverOpplysningerPerId); + const label = createArbeidsgiverVisningsnavnForAndel( + andel, + kodeverkNavnFraKode, + arbeidsgiverOpplysningerPerId, + ); return ; })} {andeler.map((andel, index) => (
diff --git a/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/Andeler.tsx b/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/Andeler.tsx index 12ff42e11d..fa2fea18b0 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/Andeler.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/Andeler.tsx @@ -4,7 +4,11 @@ import React from 'react'; import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import { WrappedComponentProps, useIntl } from 'react-intl'; import { FieldArrayFieldsProps, FieldArrayMetaProps } from 'redux-form'; -import { createVisningsnavnForAndel, getInntektskategori } from '../TilkjentYteleseUtils'; +import { + createArbeidsgiverVisningsnavnForAndel, + createPrivatarbeidsgiverVisningsnavnForAndel, + getInntektskategori, +} from '../TilkjentYteleseUtils'; interface OwnProps { fields: FieldArrayFieldsProps; @@ -25,6 +29,7 @@ interface OwnProps { const headerTextCodes = [ 'TilkjentYtelse.NyPeriode.Inntektskategori', 'TilkjentYtelse.NyPeriode.Arbeidsgiver', + 'TilkjentYtelse.NyPeriode.ArbeidsgiverPrivatperson', 'TilkjentYtelse.NyPeriode.TilSoker', 'TilkjentYtelse.NyPeriode.Refusjon', 'TilkjentYtelse.NyPeriode.Ubetalingsgrad', @@ -61,7 +66,12 @@ const Andeler = ({ fields, meta, arbeidsgivere }: Partial & WrappedCom {fields.map((fieldId: string, index: number, field: FieldArrayFieldsProps) => { const andel = field.get(index); const inntektskategori = getInntektskategori(andel.inntektskategori, kodeverkNavnFraKode); - const arbeidsgiver = createVisningsnavnForAndel(andel, kodeverkNavnFraKode, arbeidsgivere); + const arbeidsgiver = createArbeidsgiverVisningsnavnForAndel(andel, kodeverkNavnFraKode, arbeidsgivere); + const arbeidsgiverPrivatperson = createPrivatarbeidsgiverVisningsnavnForAndel( + andel, + kodeverkNavnFraKode, + arbeidsgivere, + ); return ( @@ -71,6 +81,9 @@ const Andeler = ({ fields, meta, arbeidsgivere }: Partial & WrappedCom {arbeidsgiver} + + {arbeidsgiverPrivatperson} + {andel.tilSoker} diff --git a/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/NyAndel.tsx b/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/NyAndel.tsx index d083617bca..6d88eb76f3 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/NyAndel.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/NyAndel.tsx @@ -2,7 +2,7 @@ import addCircleIcon from '@fpsak-frontend/assets/images/add-circle.svg'; import { InputField, SelectField } from '@fpsak-frontend/form'; import inntektskategorier from '@fpsak-frontend/kodeverk/src/inntektskategorier'; import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; -import { FlexColumn, FlexRow, Image, PeriodFieldArray } from '@fpsak-frontend/shared-components'; +import { FlexColumn, FlexRow, Image, PeriodFieldArray, useFeatureToggles } from '@fpsak-frontend/shared-components'; import { hasValidDecimal, maxValue, minValue, required } from '@fpsak-frontend/utils'; import { ArbeidsgiverOpplysningerPerId, KodeverkMedNavn } from '@k9-sak-web/types'; import React, { useState } from 'react'; @@ -11,6 +11,7 @@ import { FieldArrayFieldsProps, FieldArrayMetaProps } from 'redux-form'; import NyArbeidsgiverModal from './NyArbeidsgiverModal'; import styles from './periode.module.css'; +import {atLeastOneRequired} from "@fpsak-frontend/utils/src/validation/validators"; const minValue0 = minValue(0); const maxValue100 = maxValue(100); @@ -25,6 +26,28 @@ const mapArbeidsgivere = (arbeidsgivere: ArbeidsgiverOpplysningerPerId) => )) : []; +const mapArbeidsgivereOrg = (arbeidsgivere: ArbeidsgiverOpplysningerPerId) => + arbeidsgivere + ? Object.values(arbeidsgivere) + .filter(arbeidsgiver => arbeidsgiver.personIdentifikator == null) // erPrivatPerson returneres ikke fra backend + .map(({ navn, identifikator }) => ( + + )) + : []; + +const mapArbeidsgiverePrivatperson = (arbeidsgivere: ArbeidsgiverOpplysningerPerId) => + arbeidsgivere + ? Object.values(arbeidsgivere) + .filter(arbeidsgiver => arbeidsgiver.personIdentifikator != null) // erPrivatPerson returneres ikke fra backend + .map(({ navn, personIdentifikator }) => ( + + )) + : []; + const getInntektskategori = alleKodeverk => { const aktivitetsstatuser = alleKodeverk[kodeverkTyper.INNTEKTSKATEGORI]; return aktivitetsstatuser.map(ik => ( @@ -71,6 +94,8 @@ export const NyAndel = ({ behandlingVersjon, }: OwnProps & WrappedComponentProps) => { const [isOpen, setOpen] = useState(false); + const [featureToggles] = useFeatureToggles(); + const skillUtPrivatperson = featureToggles?.SKILL_UT_PRIVATPERSON; const allFields = fields.getAll(); @@ -101,24 +126,37 @@ export const NyAndel = ({ /> {!erSN && !erFL && ( - - -
setOpen(true)} - onKeyDown={() => setOpen(true)} - className={styles.addArbeidsforhold} - role="button" - tabIndex={0} - > - Ny arbeidsgiver -
-
+ <> + + atLeastOneRequired(value, values.arbeidsgiverPersonIdent)] + : [required]} + selectValues={skillUtPrivatperson ? mapArbeidsgivereOrg(arbeidsgivere) : mapArbeidsgivere(arbeidsgivere)} + /> +
setOpen(true)} + onKeyDown={() => setOpen(true)} + className={styles.addArbeidsforhold} + role="button" + tabIndex={0} + > + Ny arbeidsgiver +
+
+ {skillUtPrivatperson && ( + atLeastOneRequired(value, values.arbeidsgiverOrgnr)]} + selectValues={mapArbeidsgiverePrivatperson(arbeidsgivere)} + /> + )} + )} ({ kodeverk: 'INNTEKTSKATEGORI', }, arbeidsgiverOrgnr: andel.arbeidsgiverOrgnr, + arbeidsgiverPersonIdent: andel.arbeidsgiverPersonIdent, tilSoker: andel.tilSoker, refusjon: andel.refusjon || 0, utbetalingsgrad: andel.utbetalingsgrad || 100, diff --git a/packages/prosess-uttak/package.json b/packages/prosess-uttak/package.json index e07daf2448..675c9e1002 100644 --- a/packages/prosess-uttak/package.json +++ b/packages/prosess-uttak/package.json @@ -10,23 +10,23 @@ "author": "NAV IT", "license": "MIT", "devDependencies": { - "vite": "^5.4.2", + "vite": "^5.4.3", "vite-plugin-node-polyfills": "^0.22.0" }, "dependencies": { "@hookform/resolvers": "^3.9.0", - "@navikt/ds-css": "6.13.0", - "@navikt/ds-react": "6.13.0", - "@navikt/ft-form-hooks": "5.0.0", - "@navikt/ft-form-validators": "2.3.18", - "@navikt/ft-plattform-komponenter": "3.0.4", + "@navikt/ds-css": "6.16.3", + "@navikt/ds-react": "6.16.3", + "@navikt/ft-form-hooks": "5.0.5", + "@navikt/ft-form-validators": "2.3.22", + "@navikt/ft-plattform-komponenter": "3.0.8", "@popperjs/core": "2.11.8", "classnames": "2.5.1", "dayjs": "1.11.13", "react": "18.3.1", "react-collapse": "5.1.1", "react-dom": "18.3.1", - "react-hook-form": "7.52.2", + "react-hook-form": "7.53.0", "react-popper": "2.3.0", "yup": "1.4.0" } diff --git a/packages/prosess-vedtak-tilbakekreving/src/components/brev/TilbakekrevingEditerVedtaksbrevPanel.spec.tsx b/packages/prosess-vedtak-tilbakekreving/src/components/brev/TilbakekrevingEditerVedtaksbrevPanel.spec.tsx index 3182678123..cc23ca67ee 100644 --- a/packages/prosess-vedtak-tilbakekreving/src/components/brev/TilbakekrevingEditerVedtaksbrevPanel.spec.tsx +++ b/packages/prosess-vedtak-tilbakekreving/src/components/brev/TilbakekrevingEditerVedtaksbrevPanel.spec.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; import { screen } from '@testing-library/react'; import TilbakekrevingEditerVedtaksbrevPanel from './TilbakekrevingEditerVedtaksbrevPanel'; -import {K9sakApiKeys, requestApi} from "@k9-sak-web/sak-app/src/data/k9sakApi"; +import { K9sakApiKeys, requestApi } from '@k9-sak-web/sak-app/src/data/k9sakApi'; describe('', () => { const vedtaksbrevAvsnitt = [ diff --git a/packages/prosess-vedtak-tilbakekreving/src/components/brev/TilbakekrevingVedtakUtdypendeTekstPanel.spec.tsx b/packages/prosess-vedtak-tilbakekreving/src/components/brev/TilbakekrevingVedtakUtdypendeTekstPanel.spec.tsx index 9a191aff5f..ae8dd772f0 100644 --- a/packages/prosess-vedtak-tilbakekreving/src/components/brev/TilbakekrevingVedtakUtdypendeTekstPanel.spec.tsx +++ b/packages/prosess-vedtak-tilbakekreving/src/components/brev/TilbakekrevingVedtakUtdypendeTekstPanel.spec.tsx @@ -4,7 +4,7 @@ import React from 'react'; import { intlMock } from '../../../i18n'; import messages from '../../../i18n/nb_NO.json'; import { TilbakekrevingVedtakUtdypendeTekstPanel } from './TilbakekrevingVedtakUtdypendeTekstPanel'; -import {K9sakApiKeys, requestApi} from "@k9-sak-web/sak-app/src/data/k9sakApi"; +import { K9sakApiKeys, requestApi } from '@k9-sak-web/sak-app/src/data/k9sakApi'; describe('', () => { it('skal vise lenke for å skrive inn tekst når felt ikke har verdi og en ikke er i readonly-modus', () => { diff --git a/packages/prosess-vedtak-tilbakekreving/src/components/brev/TilbakekrevingVedtakUtdypendeTekstPanel.tsx b/packages/prosess-vedtak-tilbakekreving/src/components/brev/TilbakekrevingVedtakUtdypendeTekstPanel.tsx index 33338ca162..a7cca6cd52 100644 --- a/packages/prosess-vedtak-tilbakekreving/src/components/brev/TilbakekrevingVedtakUtdypendeTekstPanel.tsx +++ b/packages/prosess-vedtak-tilbakekreving/src/components/brev/TilbakekrevingVedtakUtdypendeTekstPanel.tsx @@ -1,6 +1,6 @@ import addCircleIcon from '@fpsak-frontend/assets/images/add-circle.svg'; import { behandlingFormValueSelector, TextAreaField } from '@fpsak-frontend/form'; -import {Image, useFeatureToggles, VerticalSpacer} from '@fpsak-frontend/shared-components'; +import { Image, useFeatureToggles, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { hasValidText, maxLength, minLength, required } from '@fpsak-frontend/utils'; import { Detail } from '@navikt/ds-react'; import React, { useState } from 'react'; @@ -32,11 +32,13 @@ export const TilbakekrevingVedtakUtdypendeTekstPanel = ({ fritekstPakrevet, maximumLength, }: OwnProps & WrappedComponentProps) => { - const [featureToggles] = useFeatureToggles() - const utvidetVarseltekst = featureToggles?.UTVIDET_VARSELTEKST + const [featureToggles] = useFeatureToggles(); + const utvidetVarseltekst = featureToggles?.UTVIDET_VARSELTEKST; const [isTextfieldHidden, hideTextField] = useState(isEmpty && !fritekstPakrevet); const valideringsRegler = fritekstPakrevet ? valideringsreglerPakrevet : valideringsregler; - valideringsRegler.push(maximumLength ? maxLength(maximumLength) : (utvidetVarseltekst ? maxLength12000 : maxLength4000)); + valideringsRegler.push( + maximumLength ? maxLength(maximumLength) : utvidetVarseltekst ? maxLength12000 : maxLength4000, + ); return ( <> {isTextfieldHidden && !readOnly && ( diff --git a/packages/prosess-vilkar-alder/package.json b/packages/prosess-vilkar-alder/package.json index e5648bd44c..13ebc7eecf 100644 --- a/packages/prosess-vilkar-alder/package.json +++ b/packages/prosess-vilkar-alder/package.json @@ -9,10 +9,10 @@ "@fpsak-frontend/shared-components": "1.0.0", "@fpsak-frontend/utils": "1.0.0", "@k9-sak-web/types": "1.0.0", - "@navikt/ft-form-hooks": "5.0.0", - "@navikt/ft-form-validators": "2.3.18", + "@navikt/ft-form-hooks": "5.0.5", + "@navikt/ft-form-validators": "2.3.22", "react": "18.3.1", - "react-hook-form": "7.52.2", + "react-hook-form": "7.53.0", "react-intl": "6.6.8" } } diff --git a/packages/prosess-vilkar-opptjening-oms/package.json b/packages/prosess-vilkar-opptjening-oms/package.json index 935c0de59f..dfd7ba3fbf 100644 --- a/packages/prosess-vilkar-opptjening-oms/package.json +++ b/packages/prosess-vilkar-opptjening-oms/package.json @@ -11,7 +11,7 @@ "@fpsak-frontend/utils": "1.0.0", "@k9-sak-web/prosess-felles": "1.0.0", "@k9-sak-web/types": "1.0.0", - "@navikt/ft-plattform-komponenter": "3.0.4", + "@navikt/ft-plattform-komponenter": "3.0.8", "classnames": "2.5.1", "dayjs": "1.11.13", "lodash": "4.17.21", diff --git a/packages/prosess-vilkar-overstyring/package.json b/packages/prosess-vilkar-overstyring/package.json index 5c406d86e5..b4056d422d 100644 --- a/packages/prosess-vilkar-overstyring/package.json +++ b/packages/prosess-vilkar-overstyring/package.json @@ -13,7 +13,7 @@ "@k9-sak-web/prosess-felles": "1.0.0", "@k9-sak-web/sak-app": "1.0.0", "@k9-sak-web/types": "1.0.0", - "@navikt/ft-plattform-komponenter": "3.0.4", + "@navikt/ft-plattform-komponenter": "3.0.8", "classnames": "2.5.1", "moment": "2.30.1", "react": "18.3.1", diff --git a/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.tsx b/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.tsx index d7966b4232..6f31f117e8 100644 --- a/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.tsx +++ b/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.tsx @@ -1,13 +1,12 @@ -import React, { SetStateAction, useEffect, useState } from 'react'; -import classNames from 'classnames/bind'; -import { RawIntlProvider, createIntl, createIntlCache } from 'react-intl'; - import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { useFeatureToggles } from '@fpsak-frontend/shared-components'; import { dateFormat } from '@fpsak-frontend/utils'; import hentAktivePerioderFraVilkar from '@fpsak-frontend/utils/src/hentAktivePerioderFraVilkar'; import { Aksjonspunkt, Behandling, SubmitCallback, Vilkar } from '@k9-sak-web/types'; import { SideMenu } from '@navikt/ft-plattform-komponenter'; +import classNames from 'classnames/bind'; +import React, { SetStateAction, useEffect, useState } from 'react'; +import { RawIntlProvider, createIntl, createIntlCache } from 'react-intl'; import VilkarresultatMedOverstyringFormPeriodisert from './components-periodisert/VilkarresultatMedOverstyringFormPeriodisert'; import VilkarresultatMedOverstyringForm from './components/VilkarresultatMedOverstyringForm'; import VilkarresultatMedOverstyringHeader from './components/VilkarresultatMedOverstyringHeader'; diff --git a/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedOverstyringFormPeriodisert.tsx b/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedOverstyringFormPeriodisert.tsx index db56861f64..bfd168a9ff 100644 --- a/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedOverstyringFormPeriodisert.tsx +++ b/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedOverstyringFormPeriodisert.tsx @@ -1,6 +1,3 @@ -import React, { FunctionComponent, SetStateAction, useEffect } from 'react'; -import { FormattedMessage } from 'react-intl'; -import moment from 'moment'; import advarselIkonUrl from '@fpsak-frontend/assets/images/advarsel_ny.svg'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import BehandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; @@ -19,7 +16,10 @@ import { Aksjonspunkt, SubmitCallback } from '@k9-sak-web/types'; import Vilkarperiode from '@k9-sak-web/types/src/vilkarperiode'; import { BodyShort, Button, Label } from '@navikt/ds-react'; import { Form } from '@navikt/ft-form-hooks'; +import moment from 'moment'; +import React, { FunctionComponent, SetStateAction, useEffect } from 'react'; import { useForm } from 'react-hook-form'; +import { FormattedMessage } from 'react-intl'; import { VilkarresultatMedOverstyringFormState } from './FormState'; import OverstyrBekreftKnappPanel from './OverstyrBekreftKnappPanel'; import { VilkarresultatMedBegrunnelse } from './VilkarresultatMedBegrunnelse'; diff --git a/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx b/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx index ad8056c7de..ad1e540e5a 100644 --- a/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx +++ b/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx @@ -1,6 +1,3 @@ -import React, { SetStateAction, useEffect } from 'react'; -import { FormattedMessage } from 'react-intl'; -import moment from 'moment'; import advarselIkonUrl from '@fpsak-frontend/assets/images/advarsel_ny.svg'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import BehandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; @@ -19,7 +16,10 @@ import { Aksjonspunkt, SubmitCallback } from '@k9-sak-web/types'; import Vilkarperiode from '@k9-sak-web/types/src/vilkarperiode'; import { BodyShort, Button, Label } from '@navikt/ds-react'; import { Form } from '@navikt/ft-form-hooks'; +import moment from 'moment'; +import React, { SetStateAction, useEffect } from 'react'; import { useForm } from 'react-hook-form'; +import { FormattedMessage } from 'react-intl'; import { VilkarresultatMedOverstyringFormState } from './FormState'; import OverstyrBekreftKnappPanel from './OverstyrBekreftKnappPanel'; import VilkarresultatMedBegrunnelse from './VilkarresultatMedBegrunnelse'; diff --git a/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringHeader.tsx b/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringHeader.tsx index ec4b82084f..a7e840e619 100644 --- a/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringHeader.tsx +++ b/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringHeader.tsx @@ -1,13 +1,12 @@ -import React, { SetStateAction } from 'react'; -import { FormattedMessage } from 'react-intl'; -import { Detail, Heading, Label } from '@navikt/ds-react'; import avslattImage from '@fpsak-frontend/assets/images/avslaatt_hover.svg'; import innvilgetImage from '@fpsak-frontend/assets/images/innvilget_hover.svg'; -import keyUtgraetImage from '@fpsak-frontend/assets/images/key-1-rotert-utgraet.svg'; import keyImage from '@fpsak-frontend/assets/images/key-1-rotert.svg'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { FlexColumn, FlexContainer, FlexRow, Image, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { Aksjonspunkt } from '@k9-sak-web/types'; +import { Button, Detail, Heading, Label } from '@navikt/ds-react'; +import React, { SetStateAction } from 'react'; +import { FormattedMessage } from 'react-intl'; import styles from './vilkarresultatMedOverstyringForm.module.css'; import { Lovreferanse } from '@k9-sak-web/gui/shared/lovreferanse/Lovreferanse.js'; @@ -92,20 +91,16 @@ const VilkarresultatMedOverstyringHeader = ({ {erVilkarOk !== undefined && !isHidden(kanOverstyreAccess.isEnabled, aksjonspunktCodes, overstyringApKode) && ( - <> - {!erOverstyrt && !overrideReadOnly && ( - - - - - )} - {(erOverstyrt || overrideReadOnly) && ( - - - - - )} - + + +