{"version":3,"file":"index.DvWJEPjr.js","sources":["../../../src/shared/blocks/VideoBlock/VideoBlock.tsx","../../../src/shared/url-utils.ts","../../../src/verktoy/behandlingsvalgsammenlikningwrapper/index.tsx","../../../src/content-helper/contentMapper.tsx","../../../src/behandlingsvalg/behandlingsbeskrivelseblock/index.tsx","../../../src/shared/blocks/VideoBlock/VideoBlockPortableText.tsx","../../../src/shared/blocks/VideoMatriseBlock/VideoMatriseBlock.tsx","../../../src/shared/blocks/VideoMatriseBlock/VideoMatriseBlockPortableText.tsx","../../../src/shared/language.ts","../../../src/store/behandlingsvalgApi.ts","../../../src/store/hooks.ts","../../../src/store/reducers/breadcrumb.ts","../../../src/store/samvalgsverktoyApi.ts","../../../src/shared/useAdditionalPageContent.ts","../../../src/shared/videoLanguageMapper.ts","../../../src/behandlingsvalg/index.tsx","../../../src/page-container/index.tsx","../../../src/store/reducer.ts","../../../src/store/index.ts","../../../src/verktoy/creditsBlock/index.tsx","../../../src/verktoy/samvalgtrinnBlock/index.tsx","../../../src/verktoy/index.tsx","../../../src/index.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\n\nimport VideoSpiller, { Props } from '@helsenorge/core-cms/videospiller';\nimport { VimeoSubtitleLanguageCodes } from '@helsenorge/core-cms/videospiller/constants';\n\nexport interface VideoBlockProps extends Props {\n subtitleLanguageCode: VimeoSubtitleLanguageCodes;\n}\n\nconst VideoFeatureBlock: React.FunctionComponent = ({ subtitleLanguageCode, ...rest }) => (\n \n);\n\nexport default VideoFeatureBlock;\n","/**\n * Returnerer relativ URL for bruk med react-router \n * @param absoluteUrl Komplett URL til en samvalgsside, f.eks. https://tjenester-hn-mas-01.int-hn.nhn.no/samvalg/graves-sykdom/kirurgi\n * @returns Relativ URL\n */\nexport const getRelativePath = (absoluteUrl: string): string => {\n const pathname = new URL(absoluteUrl).pathname;\n const queryString = new URL(absoluteUrl).search;\n\n return '/' + pathname.split('/').splice(2).join('/') + queryString;\n};\n","import React, { useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { BehandlingsvalgSammenlikningBlockDto } from '../../types/cms';\n\nimport FormGroup from '@helsenorge/designsystem-react/components/FormGroup';\nimport RadioButton from '@helsenorge/designsystem-react/components/RadioButton';\nimport Spacer from '@helsenorge/designsystem-react/components/Spacer';\nimport Title from '@helsenorge/designsystem-react/components/Title';\n\nimport BehandlingsvalgSammenlikningBlock, {\n BehandlingsvalgSammenlikningBlockAppearance,\n} from '@helsenorge/core-cms/behandlingsvalg/behandlingsvalgsammenlikningblock';\nimport { PortableTextBlocks } from '@helsenorge/core-cms/richtext/portable-text-utils';\n\nimport styles from './styles.module.scss';\n\ninterface Props {\n showComparisonAsTable?: boolean;\n showTreatmentLinks?: boolean;\n sammenlikningsBlockArray?: BehandlingsvalgSammenlikningBlockDto[];\n procedureTitle: string;\n benefitsTitle: string;\n disadvantagesTitle: string;\n selectionLegend: string;\n cardSelectionTitle: string;\n tableSelectionTitle: string;\n}\n\nconst BehandlingsvalgSammenlikningWrapper: React.FunctionComponent> = ({\n showComparisonAsTable,\n showTreatmentLinks = true,\n sammenlikningsBlockArray,\n procedureTitle,\n benefitsTitle,\n disadvantagesTitle,\n selectionLegend,\n cardSelectionTitle,\n tableSelectionTitle,\n}: React.PropsWithChildren) => {\n const isSingleBlock = sammenlikningsBlockArray && sammenlikningsBlockArray.length === 1;\n const [displayStyle, setDisplayStyle] = useState(isSingleBlock ? 'card' : 'table');\n\n const handleRadioChange: React.ChangeEventHandler = event => {\n setDisplayStyle(event.target.value as BehandlingsvalgSammenlikningBlockAppearance);\n };\n\n const renderBehandlingsvalgSammenlikningBlock = (\n sammenlikningsBlock: BehandlingsvalgSammenlikningBlockDto,\n key: number,\n content?: PortableTextBlocks\n ): JSX.Element | null => {\n if (!content) {\n return null;\n }\n return (\n
\n {!isSingleBlock && }\n \n
\n );\n };\n\n return (\n <>\n {!showComparisonAsTable && !isSingleBlock && (\n \n \n \n \n )}\n {sammenlikningsBlockArray && displayStyle === 'table' && (\n
\n \n {procedureTitle}\n \n
\n {sammenlikningsBlockArray.map((sammenlikningsBlock, index) =>\n renderBehandlingsvalgSammenlikningBlock(sammenlikningsBlock, index, sammenlikningsBlock.implementation)\n )}\n
\n\n \n {benefitsTitle}\n \n
\n {sammenlikningsBlockArray.map((sammenlikningsBlock, index) =>\n renderBehandlingsvalgSammenlikningBlock(sammenlikningsBlock, index, sammenlikningsBlock.advantages)\n )}\n
\n\n \n {disadvantagesTitle}\n \n
\n {sammenlikningsBlockArray.map((sammenlikningsBlock, index) =>\n renderBehandlingsvalgSammenlikningBlock(sammenlikningsBlock, index, sammenlikningsBlock.disadvantages)\n )}\n
\n
\n )}\n {sammenlikningsBlockArray &&\n displayStyle === 'card' &&\n sammenlikningsBlockArray.map((sammenlikningsBlock, index) => {\n return (\n
\n {!isSingleBlock && }\n \n
\n );\n })}\n \n );\n};\n\nexport default BehandlingsvalgSammenlikningWrapper;\n","import { BehandlingsvalgSammenlikningBlockDto } from '../types/cms';\n\nimport Spacer from '@helsenorge/designsystem-react/components/Spacer';\n\nimport BehandlingsvalgVelgeBlock from '@helsenorge/core-cms/behandlingsvalg/behandlingsvalgvelgeblock';\nimport BehandlingsvalgIntroBlock from '@helsenorge/core-cms/behandlingsvalg/introblock';\nimport RefleksjonsBlock from '@helsenorge/core-cms/behandlingsvalg/refleksjonsblock';\nimport ImageBlock from '@helsenorge/core-cms/image';\nimport PortableText from '@helsenorge/core-cms/richtext';\nimport { CardsPerRow } from '@helsenorge/core-cms/types/entities';\nimport { FasteTeksterDto } from '@helsenorge/core-cms/types/entities/cms.v1entities';\nimport VideoMatrise from '@helsenorge/core-cms/videomatrise';\nimport { VimeoSubtitleLanguageCodes } from '@helsenorge/core-cms/videospiller/constants';\n\nimport VideoFeatureBlock from '../shared/blocks/VideoBlock/VideoBlock';\nimport { getRelativePath } from '../shared/url-utils';\nimport BehandlingsvalgSammenlikningWrapper from '../verktoy/behandlingsvalgsammenlikningwrapper';\n\nexport const contentMapper = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n contentBlock: any,\n key: number,\n sammenlikningsBlockArray?: BehandlingsvalgSammenlikningBlockDto[],\n showTreatmentLinks?: boolean,\n fasteTekster?: FasteTeksterDto,\n subtitleLanguageCode?: VimeoSubtitleLanguageCodes\n): JSX.Element | null => {\n if (contentBlock.type === 'BehandlingsvalgIntroBlock') {\n return (\n
\n \n \n
\n );\n } else if (contentBlock.type === 'BehandlingsvalgVelgeBlock') {\n return (\n
\n \n \n
\n );\n } else if (contentBlock.type === 'BehandlingsvalgSammenlikningWrapper' && fasteTekster) {\n return (\n
\n \n \n
\n );\n } else if (contentBlock.type === 'RefleksjonBlock') {\n return (\n
\n \n \n
\n );\n } else if (contentBlock._type === 'TextBlock' || contentBlock._type === 'block') {\n return (\n
\n \n
\n );\n } else if (contentBlock._type === 'VideoBlock') {\n return (\n
\n \n \n
\n );\n } else if (contentBlock._type === 'VideoMatriseBlock') {\n return (\n
\n \n \n
\n );\n } else if (contentBlock._type === 'ImageBlock') {\n return (\n
\n \n \n
\n );\n } else if (contentBlock._type) {\n return (\n
\n \n \n
\n );\n }\n\n return null;\n};\n","import PortableText from '@helsenorge/core-cms/richtext';\nimport { BehandlingsvalgBeskrivelseBlockDto } from '@helsenorge/core-cms/types/entities/cms.v1entities';\nimport { VimeoSubtitleLanguageCodes } from '@helsenorge/core-cms/videospiller/constants';\n\nimport { contentMapper } from '../../content-helper/contentMapper';\n\ninterface Props {\n /* Introduksjon til behandlingsvalget */\n introduction?: BehandlingsvalgBeskrivelseBlockDto['introduction'];\n /* Hovedinnholdet til behandlingsvalget */\n mainContent?: BehandlingsvalgBeskrivelseBlockDto['mainContent'];\n /* Avsluttende innhold for behandlingsvalget */\n ending?: BehandlingsvalgBeskrivelseBlockDto['avslutning'];\n subtitleLanguageCode?: VimeoSubtitleLanguageCodes;\n}\n\nconst BehandlingsBeskrivelseBlock: React.FunctionComponent = ({\n introduction,\n mainContent,\n ending,\n subtitleLanguageCode,\n}: Props) => {\n return (\n <>\n {introduction &&\n introduction.map((contentBlock, index) => {\n return contentMapper(contentBlock, index, [], false, undefined, subtitleLanguageCode);\n })}\n {mainContent &&\n mainContent.map((contentBlock, index) => {\n return contentMapper(contentBlock, index, [], false, undefined, subtitleLanguageCode);\n })}\n {ending && }\n \n );\n};\n\nexport default BehandlingsBeskrivelseBlock;\n","/* eslint-disable react/prop-types */\nimport { PortableTextTypeComponent } from '@portabletext/react';\n\nimport { VimeoSubtitleLanguageCodes } from '@helsenorge/core-cms/videospiller/constants';\n\nimport VideoBlockComponent, { VideoBlockProps } from './VideoBlock';\n\nexport interface VideoBlockPortableText extends VideoBlockProps {\n _type: 'VideoBlockPortableText';\n subtitleLanguageCode: VimeoSubtitleLanguageCodes;\n}\n\nconst VideoBlockPortableText: PortableTextTypeComponent = ({ value }) => {\n return ;\n};\n\nexport default VideoBlockPortableText;\n","/* eslint-disable react/prop-types */\n\nimport VideoMatrise, { Props } from '@helsenorge/core-cms/videomatrise';\nimport { VimeoSubtitleLanguageCodes } from '@helsenorge/core-cms/videospiller/constants';\n\nexport interface VideoMatriseBlockProps extends Props {\n subtitleLanguageCode: VimeoSubtitleLanguageCodes;\n}\n\nconst VideoMatriseBlock: React.FunctionComponent = ({ subtitleLanguageCode, ...rest }) => (\n \n);\n\nexport default VideoMatriseBlock;\n","/* eslint-disable react/prop-types */\nimport { PortableTextTypeComponent } from '@portabletext/react';\n\nimport { VimeoSubtitleLanguageCodes } from '@helsenorge/core-cms/videospiller/constants';\n\nimport VideoMatriseBlockComponent, { VideoMatriseBlockProps } from './VideoMatriseBlock';\n\nexport interface VideoMatriseBlockPortableText extends VideoMatriseBlockProps {\n _type: 'VideoMatriseBlockPortableText';\n subtitleLanguageCode: VimeoSubtitleLanguageCodes;\n}\n\nconst VideoMatriseBlockPortableText: PortableTextTypeComponent = ({ value }) => {\n return ;\n};\n\nexport default VideoMatriseBlockPortableText;\n","import LanguageLocales from '@helsenorge/core-utils/constants/languages';\n\n// FIXME: FLYTT TIL CORE\nexport const mapLanguageLocaleToCultureName = (languageLocale: LanguageLocales | undefined): string | undefined => {\n if (!languageLocale) return undefined;\n\n switch (languageLocale) {\n case LanguageLocales.NORWEGIAN:\n return 'no';\n case LanguageLocales.NORWEGIAN_NYNORSK:\n return 'nn';\n case LanguageLocales.ENGLISH:\n return 'en';\n case LanguageLocales.LITHUANIAN:\n return 'lt';\n case LanguageLocales.POLISH:\n return 'pl';\n case LanguageLocales.RUSSIAN:\n return 'ru';\n case LanguageLocales.ROMANIAN:\n return 'ro';\n case LanguageLocales.SAMI_NORTHERN:\n return 'se';\n default:\n return undefined;\n }\n};\n","import { createApi } from '@reduxjs/toolkit/query/react';\n\nimport { BehandlingsvalgDto } from '../types/cms';\n\nimport LanguageLocales from '@helsenorge/core-utils/constants/languages';\nimport { getBaseQuery } from '@helsenorge/framework-utils/cms-content-api-service';\nimport { CmsContentApiVersions } from '@helsenorge/framework-utils/types/entities';\n\nconst behandlingsvalgApi = createApi({\n reducerPath: 'behandlingsvalgApi',\n baseQuery: getBaseQuery,\n endpoints: builder => ({\n getBehandlingsvalg: builder.query({\n query: ({ behandlingsvalgNavn, language }) => [\n 'behandlingsvalg',\n { navn: behandlingsvalgNavn, languageCode: language },\n CmsContentApiVersions.V2,\n ],\n }),\n }),\n});\n\nexport const { useGetBehandlingsvalgQuery } = behandlingsvalgApi;\n\nexport default behandlingsvalgApi;\n","import { useDispatch, useSelector } from 'react-redux';\n\nimport type { RootState, AppDispatch } from '.';\n\nexport const useAppDispatch = useDispatch.withTypes();\n\nexport const useAppSelector = useSelector.withTypes();\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\n\nimport { PageLinkModel } from '@helsenorge/core-cms/types/entities/cms.v1entities';\nimport { BreadcrumbLink } from '@helsenorge/core-framework/breadcrumb';\n\nconst initialState: BreadcrumbLink = {\n name: 'Samvalg',\n url: '/',\n renderAsRouterLink: true,\n};\n\nconst breadcrumbSlice = createSlice({\n name: 'breadcrumb',\n initialState,\n reducers: {\n breadcrumbChanged(state, action: PayloadAction) {\n state.name = action.payload.displayName;\n state.url = action.payload.url;\n state.renderAsRouterLink = false;\n },\n },\n});\n\nexport const { breadcrumbChanged } = breadcrumbSlice.actions;\n\nexport default breadcrumbSlice.reducer;\n","import { createApi } from '@reduxjs/toolkit/query/react';\n\nimport { SamvalgsverktoyDto } from '../types/cms';\n\nimport LanguageLocales from '@helsenorge/core-utils/constants/languages';\nimport { getBaseQuery } from '@helsenorge/framework-utils/cms-content-api-service';\nimport { CmsContentApiVersions } from '@helsenorge/framework-utils/types/entities';\n\nconst samvalgsverktoyApi = createApi({\n reducerPath: 'samvalgsverktoyApi',\n baseQuery: getBaseQuery,\n endpoints: builder => ({\n getSamvalgsverktoy: builder.query({\n query: ({ verktoyNavn, language }) => ['samvalgsverktoy', { navn: verktoyNavn, languageCode: language }, CmsContentApiVersions.V2],\n }),\n }),\n});\n\nexport const { useGetSamvalgsverktoyQuery } = samvalgsverktoyApi;\n\nexport default samvalgsverktoyApi;\n","import { useEffect } from 'react';\n\nimport { useDispatch } from 'react-redux';\nimport { useNavigate, useParams, useSearchParams } from 'react-router-dom';\n\nimport { BehandlingsvalgDto, SamvalgsverktoyDto } from '../types/cms';\n\nimport { mapCultureNameToLanguageLocale } from '@helsenorge/core-cms/shared/language';\nimport { LanguageModel } from '@helsenorge/core-cms/types/entities/cms.v1entities';\nimport { LanguageLocales } from '@helsenorge/core-utils/constants/languages';\nimport { getUserLanguage } from '@helsenorge/framework-utils/hn-language';\nimport { getPath } from '@helsenorge/framework-utils/hn-page';\nimport { allowedLanguagesReplaced, languageChanged, selectCurrentLanguage, selectLanguages } from '@helsenorge/framework-utils/language';\nimport { HNeventSetDriftsmeldingPath, HNeventSetNoMarginFooter } from '@helsenorge/framework-utils/web-component/events';\n\nimport { mapLanguageLocaleToCultureName } from './language';\nimport { getRelativePath } from './url-utils';\nimport { useGetBehandlingsvalgQuery } from '../store/behandlingsvalgApi';\nimport { useAppSelector } from '../store/hooks';\nimport { breadcrumbChanged } from '../store/reducers/breadcrumb';\nimport { useGetSamvalgsverktoyQuery } from '../store/samvalgsverktoyApi';\n\nexport interface AdditionalPageContent {\n verktoyPage: SamvalgsverktoyDto | undefined;\n isVerktoyPageError: boolean;\n behandlingsvalgPage: BehandlingsvalgDto | undefined;\n isBehandlingsvalgError: boolean;\n}\n\nexport const useAdditionalPageContent = (): AdditionalPageContent => {\n const { verktoynavn: verktoyNavn, behandlingsvalgnavn: behandlingsvalgNavn } = useParams<{\n verktoynavn: string;\n behandlingsvalgnavn: string;\n }>();\n const [searchParams] = useSearchParams();\n const languageCode = searchParams.get('languageCode');\n const currentLanguage = useAppSelector(state => selectCurrentLanguage(state.language));\n\n const mappedLanguageCode = mapCultureNameToLanguageLocale(languageCode) ?? currentLanguage;\n const languages = useAppSelector(state => selectLanguages(state.language));\n const userLanguage = getUserLanguage();\n const dispatch = useDispatch();\n const navigate = useNavigate();\n\n const { data: verktoyPage, isError: isVerktoyPageError } = useGetSamvalgsverktoyQuery({\n verktoyNavn: verktoyNavn ?? '',\n language: mapCultureNameToLanguageLocale(languageCode) ?? LanguageLocales.NORWEGIAN,\n });\n const { data: behandlingsvalgPage, isError: isBehandlingsvalgError } = useGetBehandlingsvalgQuery(\n {\n behandlingsvalgNavn: behandlingsvalgNavn ?? '',\n language: mapCultureNameToLanguageLocale(languageCode) ?? LanguageLocales.NORWEGIAN,\n },\n { skip: !behandlingsvalgNavn }\n );\n\n const page = behandlingsvalgPage || verktoyPage;\n\n const navigateToResolvedUrl = (languageVersions: LanguageModel[] | undefined, language: LanguageLocales): void => {\n const mappedLanguage = mapLanguageLocaleToCultureName(language);\n const matchingVersion = languageVersions?.find(lang => mappedLanguage === lang.cultureName);\n if (matchingVersion?.resolvedUrl) {\n const basePath = getRelativePath(matchingVersion.resolvedUrl);\n const url = new URL(matchingVersion.resolvedUrl);\n const searchParams = new URLSearchParams(url.search);\n const pathParts = basePath\n .split('/')\n .filter(part => part)\n .map(part => part.split('?'))[0];\n\n const newPath =\n behandlingsvalgNavn && !pathParts.includes(behandlingsvalgNavn) ? `/${pathParts[0]}/${behandlingsvalgNavn}` : `/${pathParts[0]}`;\n if (searchParams.toString()) {\n navigate(`${newPath}?${searchParams.toString()}`, { replace: true });\n } else {\n navigate(newPath, { replace: true });\n }\n }\n };\n\n useEffect(() => {\n if (!page?.languageVersions) return;\n\n const availableLanguages = page.languageVersions\n .map(lang => mapCultureNameToLanguageLocale(lang.cultureName))\n .filter(Boolean) as LanguageLocales[];\n\n dispatch(allowedLanguagesReplaced(availableLanguages));\n if (availableLanguages.includes(mappedLanguageCode)) {\n dispatch(languageChanged(mappedLanguageCode));\n }\n }, [page?.languageVersions, mappedLanguageCode, dispatch]);\n\n useEffect(() => {\n if (!page?.languageVersions || !languages.includes(currentLanguage) || !languages.includes(mappedLanguageCode)) return;\n\n if (userLanguage && userLanguage !== currentLanguage && userLanguage === mappedLanguageCode) {\n dispatch(languageChanged(userLanguage));\n navigateToResolvedUrl(page.languageVersions, userLanguage);\n } else {\n navigateToResolvedUrl(page.languageVersions, currentLanguage);\n }\n }, [currentLanguage, page?.languageVersions, mappedLanguageCode, userLanguage]);\n\n useEffect(() => {\n HNeventSetNoMarginFooter();\n }, []);\n\n useEffect(() => {\n const id = setTimeout((): void => {\n HNeventSetDriftsmeldingPath(`${getPath()}_${verktoyNavn}`);\n }, 500);\n\n return (): void => {\n clearTimeout(id);\n };\n }, [verktoyNavn]);\n\n useEffect(() => {\n if (!page) return;\n dispatch(breadcrumbChanged(page.breadCrumb));\n }, [page?.breadCrumb]);\n\n return { verktoyPage, isVerktoyPageError, behandlingsvalgPage, isBehandlingsvalgError };\n};\n","import { LanguageModel } from '@helsenorge/core-cms/types/entities/cms.v1entities';\nimport { VimeoSubtitleLanguageCodes } from '@helsenorge/core-cms/videospiller/constants';\n\nexport const videoLanguageMapper = (languageModels: LanguageModel[]): VimeoSubtitleLanguageCodes => {\n const language = languageModels.find(lang => lang.isCurrentLanguage === true);\n const cultureName = language?.cultureName ?? 'nb';\n\n switch (cultureName) {\n case 'nn':\n return VimeoSubtitleLanguageCodes.NORWEGIAN_NYNORSK;\n case 'en':\n return VimeoSubtitleLanguageCodes.ENGLISH;\n case 'se':\n return VimeoSubtitleLanguageCodes.SAMI_NORTHERN;\n case 'lt':\n return VimeoSubtitleLanguageCodes.LITHUANIAN;\n case 'pl':\n return VimeoSubtitleLanguageCodes.POLISH;\n case 'ru':\n return VimeoSubtitleLanguageCodes.RUSSIAN;\n case 'ro':\n return VimeoSubtitleLanguageCodes.ROMANIAN;\n default:\n return VimeoSubtitleLanguageCodes.NORWEGIAN;\n }\n};\n","import React, { useMemo } from 'react';\n\nimport { PortableTextComponents } from '@portabletext/react';\nimport classNames from 'classnames';\nimport { Helmet, HelmetProps } from 'react-helmet';\n\nimport ExpanderList from '@helsenorge/designsystem-react/components/ExpanderList';\nimport Spacer from '@helsenorge/designsystem-react/components/Spacer';\nimport Title from '@helsenorge/designsystem-react/components/Title';\nimport designsystemtypography from '@helsenorge/designsystem-react/scss/typography.module.scss';\n\nimport RessursBlock from '@helsenorge/core-cms/behandlingsvalg/ressursblock';\nimport PortableText from '@helsenorge/core-cms/richtext';\nimport { globalComponents } from '@helsenorge/core-cms/richtext/portable-text-utils';\nimport UserFeedback from '@helsenorge/core-cms/userfeedback';\nimport NotFound from '@helsenorge/core-framework/page-not-found';\nimport { getSidetittelId } from '@helsenorge/framework-utils/hn-page';\n\nimport BehandlingsBeskrivelseBlock from './behandlingsbeskrivelseblock';\nimport VideoBlockPortableText from '../shared/blocks/VideoBlock/VideoBlockPortableText';\nimport VideoMatriseBlockPortableText from '../shared/blocks/VideoMatriseBlock/VideoMatriseBlockPortableText';\nimport { useAdditionalPageContent } from '../shared/useAdditionalPageContent';\nimport { videoLanguageMapper } from '../shared/videoLanguageMapper';\n\nimport behandlingsvalgStyles from './styles.module.scss';\n\nconst createVideoBlockComponent = (subtitleLanguageCode: string): PortableTextComponents => ({\n types: {\n ...globalComponents.types,\n // eslint-disable-next-line react/prop-types\n VideoBlock: props => ,\n VideoMatriseBlock: props => (\n // eslint-disable-next-line react/prop-types\n \n ),\n },\n});\n\nconst Behandlingsvalg: React.FunctionComponent = () => {\n const { behandlingsvalgPage, isBehandlingsvalgError: isError } = useAdditionalPageContent();\n\n const subtitleLanguageCode = useMemo(\n () => behandlingsvalgPage?.languageVersions && videoLanguageMapper(behandlingsvalgPage.languageVersions),\n [behandlingsvalgPage?.languageVersions]\n );\n\n const videoBlockComponent = useMemo(\n () => subtitleLanguageCode && createVideoBlockComponent(subtitleLanguageCode),\n [subtitleLanguageCode]\n );\n if (isError) return ;\n if (!behandlingsvalgPage) return null;\n\n const meta: HelmetProps['meta'] = [\n {\n name: 'description',\n content: behandlingsvalgPage?.metaData.metaDescription,\n },\n { name: 'keywords', content: behandlingsvalgPage?.metaData.keywords },\n ];\n\n const introWrapperClasses = classNames('row', behandlingsvalgStyles['introduksjon-wrapper']);\n const behandlingsvalgWrapperClasses = classNames(behandlingsvalgStyles['behandlingsvalg-wrapper']);\n\n return (\n <>\n \n
\n
\n
\n \n {behandlingsvalgPage.title}\n \n

\n {behandlingsvalgPage.introduction}\n

\n
\n
\n
\n {behandlingsvalgPage.contentArea && behandlingsvalgPage.contentArea.length > 0 && (\n
\n
\n
\n
\n {behandlingsvalgPage.titleMainContentArea && (\n <>\n \n {behandlingsvalgPage.titleMainContentArea}\n \n \n \n )}\n \n {behandlingsvalgPage.contentArea\n .filter(mainContentBlock => mainContentBlock.title && mainContentBlock.type === 'BehandlingsvalgBeskrivelseBlock')\n .map(mainContentBlock => {\n const blockTitle = mainContentBlock.title ? mainContentBlock.title : '';\n return (\n \n \n \n );\n })}\n \n
\n
\n
\n
\n )}\n
\n {behandlingsvalgPage.otherContent &&\n behandlingsvalgPage.otherContent.length > 0 &&\n behandlingsvalgPage.otherContent.map((content, index) => {\n if (content._type === 'VideoBlock') {\n return (\n
\n
\n \n \n
\n
\n );\n } else if (content._type === 'VideoMatriseBlock') {\n return (\n
\n
\n \n \n
\n
\n );\n } else if (content.type === 'ResourceBlock') {\n return (\n
\n
\n \n \n
\n
\n );\n } else if (content.type === 'ImageBlock') {\n return (\n
\n
\n \n \n
\n
\n );\n }\n })}\n
\n {!behandlingsvalgPage.hideUserFeedbackBlock && }\n \n );\n};\n\nexport default Behandlingsvalg;\n","import React from 'react';\n\nimport { ScrollRestoration } from 'react-router-dom';\n\nimport { BreadcrumbLink } from '@helsenorge/core-framework/breadcrumb';\nimport PageRoot from '@helsenorge/core-framework/pageroot/index';\nimport { getSidetittelId } from '@helsenorge/framework-utils/hn-page';\n\nimport { useAppSelector } from '../store/hooks';\n\ninterface Props {\n breadcrumbLink?: BreadcrumbLink;\n children: React.ReactNode;\n}\n\nconst PageContainer: React.FunctionComponent = ({ children }: Props) => {\n const breadcrumb = useAppSelector(state => state.breadcrumb);\n\n return (\n \n \n {children}\n \n );\n};\nexport default PageContainer;\n","import { combineReducers } from 'redux';\n\nimport cmsTjenesteTekster from '@helsenorge/framework-utils/cms-tjeneste-tekster';\nimport language from '@helsenorge/framework-utils/language';\nimport resources from '@helsenorge/framework-utils/resources';\n\nimport behandlingsvalgApi from './behandlingsvalgApi';\nimport breadcrumb from './reducers/breadcrumb';\nimport samvalgsverktoyApi from './samvalgsverktoyApi';\n\nconst rootReducer = combineReducers({\n breadcrumb,\n cmsTjenesteTekster,\n language,\n resources,\n [samvalgsverktoyApi.reducerPath]: samvalgsverktoyApi.reducer,\n [behandlingsvalgApi.reducerPath]: behandlingsvalgApi.reducer,\n});\n\nexport default rootReducer;\n","import { configureStore } from '@reduxjs/toolkit';\n\nimport behandlingsvalgApi from './behandlingsvalgApi';\nimport rootReducer from './reducer';\nimport samvalgsverktoyApi from './samvalgsverktoyApi';\n\nexport const store = configureStore({\n reducer: rootReducer,\n middleware: getDefaultMiddleware => getDefaultMiddleware().concat(samvalgsverktoyApi.middleware).concat(behandlingsvalgApi.middleware),\n});\n\nexport type RootState = ReturnType;\n\nexport type AppDispatch = typeof store.dispatch;\n","import classNames from 'classnames';\n\nimport { SamvalgsverktoyDto } from '../../types/cms';\n\nimport Spacer from '@helsenorge/designsystem-react/components/Spacer';\nimport Title from '@helsenorge/designsystem-react/components/Title';\n\nimport PortableText from '@helsenorge/core-cms/richtext';\nimport { FasteTeksterDto } from '@helsenorge/core-cms/types/entities/cms.v1entities';\nimport { formatCET, DateFormat } from '@helsenorge/core-utils/date-fns-utils';\n\nimport styles from './styles.module.scss';\n\ninterface Props {\n sistFagligOppdatert: Date;\n nesteFagligOppdatering: Date;\n innholdLevertAv: SamvalgsverktoyDto['innholdLevertAv'];\n utvikletAv: SamvalgsverktoyDto['utvikletAv'];\n finansiertAv: SamvalgsverktoyDto['finansiertAv'];\n bidragsyterOgInteresser: SamvalgsverktoyDto['bidragsyterOgInteresser'];\n fasteTekster: FasteTeksterDto;\n}\n\nconst CreditsBlock: React.FC = ({\n sistFagligOppdatert,\n nesteFagligOppdatering,\n innholdLevertAv,\n utvikletAv,\n finansiertAv,\n bidragsyterOgInteresser,\n fasteTekster,\n}: Props) => {\n if (\n fasteTekster &&\n (sistFagligOppdatert || nesteFagligOppdatering || innholdLevertAv || utvikletAv || finansiertAv || bidragsyterOgInteresser)\n ) {\n const sistFagligOppdatertFormat = formatCET(sistFagligOppdatert, DateFormat.ShortDate);\n const nesteFagligOppdateringFormat = formatCET(nesteFagligOppdatering, DateFormat.ShortDate);\n\n return (\n <>\n
\n
\n
\n {sistFagligOppdatertFormat && sistFagligOppdatertFormat !== 'Invalid Date' && (\n
\n \n \n {fasteTekster.lastUpdate}\n \n \n

{sistFagligOppdatertFormat}

\n
\n )}\n {nesteFagligOppdateringFormat && nesteFagligOppdateringFormat !== 'Invalid Date' && (\n
\n \n \n {fasteTekster.nextUpdate}\n \n \n

{nesteFagligOppdateringFormat}

\n
\n )}\n {innholdLevertAv && innholdLevertAv.length > 0 && (\n
\n \n \n {fasteTekster.contentProvidedBy}\n \n \n {innholdLevertAv.map((levertAvContent, index) => {\n return ;\n })}\n
\n )}\n {utvikletAv && utvikletAv.length > 0 && (\n
\n \n \n {fasteTekster.developedBy}\n \n \n {utvikletAv.map((utvikletAvContent, index) => {\n return ;\n })}\n
\n )}\n {finansiertAv && finansiertAv.length > 0 && (\n
\n \n \n {fasteTekster.financedBy}\n \n \n {finansiertAv.map((finansiertAvContent, index) => {\n return ;\n })}\n
\n )}\n {bidragsyterOgInteresser && bidragsyterOgInteresser.length > 0 && (\n
\n \n \n {fasteTekster.contributorsAndInterests}\n \n \n {bidragsyterOgInteresser.map((bidragsystereContent, index) => {\n return ;\n })}\n
\n )}\n
\n
\n \n \n );\n } else {\n return null;\n }\n};\n\nexport default CreditsBlock;\n","import React, { useEffect, useState } from 'react';\n\nimport { BehandlingsvalgSammenlikningBlockDto, SamvalgstrinnBlockDto, SamvalgstrinnBlockMainContent } from '../../types/cms';\n\nimport Button from '@helsenorge/designsystem-react/components/Button';\nimport Icon from '@helsenorge/designsystem-react/components/Icon';\nimport Printer from '@helsenorge/designsystem-react/components/Icons/Printer';\nimport Spacer from '@helsenorge/designsystem-react/components/Spacer';\n\nimport { FasteTeksterDto } from '@helsenorge/core-cms/types/entities/cms.v1entities';\nimport { VimeoSubtitleLanguageCodes } from '@helsenorge/core-cms/videospiller/constants';\n\nimport { contentMapper } from '../../content-helper/contentMapper';\nimport { getRelativePath } from '../../shared/url-utils';\n\nimport styles from './styles.module.scss';\n\ninterface Props {\n /** PortableText block for introduksjon */\n intro?: SamvalgstrinnBlockDto['introduction'];\n /** Blocker med hovedinnhold */\n mainContent?: SamvalgstrinnBlockDto['mainContent'];\n /** PortableText block for avsluttning */\n additionalContent?: SamvalgstrinnBlockDto['additionalContent'];\n showTreatmentLinks?: boolean;\n showComparisonAsTable?: boolean;\n showPrint?: boolean;\n fasteTekster: FasteTeksterDto;\n subtitleLanguageCode?: VimeoSubtitleLanguageCodes;\n}\n\nconst isBehandlingsvalgSammenlikningBlock = (block: SamvalgstrinnBlockMainContent): block is BehandlingsvalgSammenlikningBlockDto =>\n block.type === 'BehandlingsvalgSammenlikningBlock';\n\nconst SamvalgtrinnBlock: React.FunctionComponent> = ({\n intro,\n mainContent,\n additionalContent,\n showTreatmentLinks,\n showPrint,\n fasteTekster,\n subtitleLanguageCode,\n}: React.PropsWithChildren) => {\n const [sammenlikningsBlockArray, setSammenlikningsBlockArray] = useState([]);\n const [updatedMainContent, setUpdatedMainContent] = useState([]);\n\n const sammenlikningsBlockArrayHandler = (): void => {\n if (mainContent) {\n const filteredBlocks = mainContent.filter(isBehandlingsvalgSammenlikningBlock).map(mainContentBlock => ({\n ...mainContentBlock,\n treatmentUrl: getRelativePath(mainContentBlock.treatmentLink),\n treatmentUrlTitle: `${fasteTekster.moreAbout} ${mainContentBlock.treatmentLinkTitle}`,\n }));\n\n setSammenlikningsBlockArray(filteredBlocks);\n\n if (filteredBlocks.length > 0) {\n let insertedWrapper = false;\n const newMainContent = mainContent\n .map(mainContentBlock => {\n if (mainContentBlock.type === 'BehandlingsvalgSammenlikningBlock') {\n if (!insertedWrapper) {\n insertedWrapper = true;\n return { type: 'BehandlingsvalgSammenlikningWrapper' } as BehandlingsvalgSammenlikningBlockDto;\n }\n return null; // Remove subsequent BehandlingsvalgSammenlikningBlock\n }\n return mainContentBlock;\n })\n .filter(Boolean) as SamvalgstrinnBlockMainContent[];\n\n setUpdatedMainContent(newMainContent);\n } else {\n setUpdatedMainContent(mainContent);\n }\n }\n };\n\n useEffect(() => {\n sammenlikningsBlockArrayHandler();\n }, [mainContent, fasteTekster]);\n\n return (\n
\n {intro &&\n intro.map((introContentBlock, index) => {\n return contentMapper(introContentBlock, index, [], showTreatmentLinks, undefined, subtitleLanguageCode);\n })}\n {updatedMainContent &&\n updatedMainContent.map((mainContentBlock, index) => {\n return contentMapper(mainContentBlock, index, sammenlikningsBlockArray, showTreatmentLinks, fasteTekster, subtitleLanguageCode);\n })}\n {additionalContent && (\n
\n {additionalContent.map((additionalContentBlock, index) => {\n return contentMapper(additionalContentBlock, index, [], showTreatmentLinks, undefined, subtitleLanguageCode);\n })}\n
\n )}\n {showPrint && (\n <>\n \n \n \n )}\n
\n );\n};\n\nexport default SamvalgtrinnBlock;\n","import { useMemo } from 'react';\n\nimport { PortableTextComponents } from '@portabletext/react';\nimport classNames from 'classnames';\nimport { parseJSON } from 'date-fns';\nimport { Helmet, HelmetProps } from 'react-helmet';\n\nimport ExpanderList from '@helsenorge/designsystem-react/components/ExpanderList';\nimport Spacer from '@helsenorge/designsystem-react/components/Spacer';\nimport Title from '@helsenorge/designsystem-react/components/Title';\nimport designsystemtypography from '@helsenorge/designsystem-react/scss/typography.module.scss';\n\nimport ReferanseBlock from '@helsenorge/core-cms/behandlingsvalg/referanseblock';\nimport RessursBlock from '@helsenorge/core-cms/behandlingsvalg/ressursblock';\nimport PortableText from '@helsenorge/core-cms/richtext';\nimport { globalComponents } from '@helsenorge/core-cms/richtext/portable-text-utils';\nimport UserFeedback from '@helsenorge/core-cms/userfeedback';\nimport NotFound from '@helsenorge/core-framework/page-not-found';\nimport { getSidetittelId } from '@helsenorge/framework-utils/hn-page';\n\nimport CreditsBlock from './creditsBlock';\nimport SamvalgtrinnBlock from './samvalgtrinnBlock/index';\nimport VideoBlockPortableText from '../shared/blocks/VideoBlock/VideoBlockPortableText';\nimport VideoMatriseBlockPortableText from '../shared/blocks/VideoMatriseBlock/VideoMatriseBlockPortableText';\nimport { useAdditionalPageContent } from '../shared/useAdditionalPageContent';\nimport { videoLanguageMapper } from '../shared/videoLanguageMapper';\n\nimport styles from './styles.module.scss';\n\nconst createVideoBlockComponent = (subtitleLanguageCode: string): PortableTextComponents => ({\n types: {\n ...globalComponents.types,\n // eslint-disable-next-line react/prop-types\n VideoBlock: props => ,\n VideoMatriseBlock: props => (\n // eslint-disable-next-line react/prop-types\n \n ),\n },\n});\n\nconst Verktoy: React.FunctionComponent = () => {\n const { verktoyPage, isVerktoyPageError: isError } = useAdditionalPageContent();\n\n const subtitleLanguageCode = useMemo(\n () => verktoyPage?.languageVersions && videoLanguageMapper(verktoyPage?.languageVersions),\n [verktoyPage?.languageVersions]\n );\n const videoBlockComponent = useMemo(\n () => subtitleLanguageCode && createVideoBlockComponent(subtitleLanguageCode),\n [subtitleLanguageCode]\n );\n\n if (isError) return ;\n if (!verktoyPage) return null;\n\n const meta: HelmetProps['meta'] = [\n {\n name: 'description',\n content: verktoyPage.metaData.metaDescription,\n },\n { name: 'keywords', content: verktoyPage.metaData.keywords },\n ];\n\n const introWrapperClasses = classNames('col-md-10 offset-md-1 col-lg-8 offset-lg-2', styles['introduksjon-wrapper']);\n\n return (\n <>\n \n
\n
\n
\n \n {verktoyPage.title}\n \n

{verktoyPage.introduction}

\n
\n
\n
\n\n
\n
\n
\n
\n \n {verktoyPage.samvalgSteps\n ?.filter(trinnBlock => trinnBlock.title)\n .map((trinnBlock, i) => {\n const title = verktoyPage.showStepNumber === true ? `${i + 1}. ${trinnBlock.title}` : trinnBlock.title;\n return (\n \n \n \n );\n })}\n \n
\n
\n
\n
\n
\n {verktoyPage.otherContent?.map((otherContent, index) => {\n if (otherContent._type === 'VideoBlock') {\n return (\n
\n
\n \n \n
\n
\n );\n } else if (otherContent._type === 'VideoMatriseBlock') {\n return (\n
\n
\n \n \n
\n
\n );\n } else if (otherContent.type === 'ResourceBlock') {\n return (\n
\n
\n \n \n
\n
\n );\n } else if (otherContent._type === 'ImageBlock') {\n return (\n
\n
\n \n \n
\n
\n );\n }\n })}\n
\n
\n \n {verktoyPage.references && verktoyPage.referencesHeader && (\n \n )}\n
\n
\n {verktoyPage && (\n
\n \n
\n )}\n
\n {verktoyPage && !verktoyPage.hideUserFeedbackBlock && }\n \n );\n};\n\nexport default Verktoy;\n","import React from 'react';\n\nimport ReactDOM from 'react-dom/client';\nimport { Provider } from 'react-redux';\nimport { createBrowserRouter, RouterProvider } from 'react-router-dom';\n\nimport { getPath } from '@helsenorge/framework-utils/hn-page';\n\nimport '@helsenorge/designsystem-react/scss/helsenorge.scss';\n\nimport BehandlingsvalgPage from './behandlingsvalg';\nimport PageContainer from './page-container';\nimport { store } from './store';\nimport VerktoyPage from './verktoy';\n\nasync function enableMocking(): Promise {\n if (import.meta.env.MODE !== 'mocks') {\n return;\n }\n\n const { worker } = await import('./mocks/browser');\n\n return worker.start({\n onUnhandledRequest: 'bypass',\n });\n}\n\nenableMocking().then(() => {\n const router = createBrowserRouter(\n [\n {\n path: '/:verktoynavn',\n element: (\n \n \n \n ),\n },\n {\n path: '/:verktoynavn/:behandlingsvalgnavn',\n element: (\n \n \n \n ),\n },\n ],\n { basename: '/' + getPath() }\n );\n\n ReactDOM.createRoot(document.getElementById('main-content-wrapper')!).render(\n \n \n \n \n \n );\n});\n"],"names":["VideoFeatureBlock","subtitleLanguageCode","rest","jsx","VideoSpiller","getRelativePath","absoluteUrl","pathname","queryString","useState","BehandlingsvalgSammenlikningWrapper","showComparisonAsTable","showTreatmentLinks","sammenlikningsBlockArray","procedureTitle","benefitsTitle","disadvantagesTitle","selectionLegend","cardSelectionTitle","tableSelectionTitle","isSingleBlock","displayStyle","setDisplayStyle","handleRadioChange","event","renderBehandlingsvalgSammenlikningBlock","sammenlikningsBlock","key","content","jsxs","classNames","styles","Spacer","BehandlingsvalgSammenlikningBlock","Fragment","FormGroup","RadioButton","Title","index","contentMapper","contentBlock","fasteTekster","BehandlingsvalgIntroBlock","_a","BehandlingsvalgVelgeBlock","RefleksjonsBlock","PortableText","VideoMatrise","CardsPerRow","ImageBlock","BehandlingsBeskrivelseBlock","introduction","mainContent","ending","VideoBlockPortableText","value","VideoBlockComponent","VideoMatriseBlock","VideoMatriseBlockPortableText","VideoMatriseBlockComponent","mapLanguageLocaleToCultureName","languageLocale","LanguageLocales","behandlingsvalgApi","createApi","getBaseQuery","builder","behandlingsvalgNavn","language","CmsContentApiVersions","useGetBehandlingsvalgQuery","useDispatch","useAppSelector","useSelector","initialState","breadcrumbSlice","createSlice","state","action","breadcrumbChanged","breadcrumb","samvalgsverktoyApi","verktoyNavn","useGetSamvalgsverktoyQuery","useEffect","useAdditionalPageContent","useParams","searchParams","useSearchParams","languageCode","currentLanguage","selectCurrentLanguage","mappedLanguageCode","mapCultureNameToLanguageLocale","languages","selectLanguages","userLanguage","getUserLanguage","dispatch","navigate","useNavigate","verktoyPage","isVerktoyPageError","_b","behandlingsvalgPage","isBehandlingsvalgError","_c","page","navigateToResolvedUrl","languageVersions","mappedLanguage","matchingVersion","lang","basePath","url","pathParts","part","newPath","availableLanguages","allowedLanguagesReplaced","languageChanged","HNeventSetNoMarginFooter","id","HNeventSetDriftsmeldingPath","getPath","videoLanguageMapper","languageModels","VimeoSubtitleLanguageCodes","useMemo","createVideoBlockComponent","globalComponents","props","Behandlingsvalg","isError","videoBlockComponent","NotFound","meta","introWrapperClasses","behandlingsvalgStyles","behandlingsvalgWrapperClasses","Helmet","getSidetittelId","designsystemtypography","ExpanderList","mainContentBlock","blockTitle","RessursBlock","UserFeedback","PageContainer","children","PageRoot","ScrollRestoration","rootReducer","combineReducers","cmsTjenesteTekster","resources","store","configureStore","getDefaultMiddleware","CreditsBlock","sistFagligOppdatert","nesteFagligOppdatering","innholdLevertAv","utvikletAv","finansiertAv","bidragsyterOgInteresser","sistFagligOppdatertFormat","formatCET","DateFormat","nesteFagligOppdateringFormat","levertAvContent","utvikletAvContent","finansiertAvContent","bidragsystereContent","isBehandlingsvalgSammenlikningBlock","block","SamvalgtrinnBlock","intro","additionalContent","showPrint","setSammenlikningsBlockArray","updatedMainContent","setUpdatedMainContent","sammenlikningsBlockArrayHandler","filteredBlocks","insertedWrapper","newMainContent","introContentBlock","additionalContentBlock","Button","Icon","Printer","Verktoy","trinnBlock","i","title","otherContent","ReferanseBlock","parseJSON","React","enableMocking","router","createBrowserRouter","VerktoyPage","BehandlingsvalgPage","ReactDOM","Provider","RouterProvider"],"mappings":"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"}