{"version":3,"file":"selvtest.Bb7XURYC.js","sources":["../../../node_modules/@helsenorge/designsystem-react/theme/grid.js","../../../src/selvtest/types/enum.ts","../../../node_modules/@helsenorge/designsystem-react/hooks/useBreakpoint.js","../../../src/selvtest/utils/Icons/ArrowLeft.tsx","../../../src/selvtest/utils/Icons/ArrowRight.tsx","../../../src/selvtest/utils/Icons/ChevronLeft.tsx","../../../src/selvtest/utils/Icons/ChevronRight.tsx","../../../src/selvtest/utils/Icons/TopMenuArrow.tsx","../../../src/selvtest/components/title/index.tsx","../../../src/selvtest/components/button/index.tsx","../../../node_modules/@helsenorge/designsystem-react/hooks/useIntersectionObserver.js","../../../node_modules/@helsenorge/designsystem-react/hooks/useIsVisible.js","../../../node_modules/@helsenorge/designsystem-react/utils/debounce.js","../../../node_modules/@helsenorge/designsystem-react/hooks/useLayoutEvent.js","../../../node_modules/@helsenorge/designsystem-react/hooks/useSize.js","../../../node_modules/@helsenorge/designsystem-react/hooks/useOutsideEvent.js","../../../src/selvtest/redux/hooks.ts","../../../src/selvtest/redux/selectors.ts","../../../src/selvtest/components/wrapper/external-questionnaire/index.tsx","../../../src/selvtest/containers/svarside/helper.ts","../../../src/selvtest/utils/analytics.ts","../../../src/selvtest/utils/api-utils.ts","../../../src/selvtest/redux/selvtestSlice.ts","../../../src/selvtest/utils/helper.ts","../../../src/selvtest/utils/Icons/SelvtestLogo.tsx","../../../src/selvtest/utils/navigate.ts","../../../src/selvtest/components/wrapper/index.tsx","../../../src/selvtest/components/wrapper/content/index.tsx","../../../src/selvtest/components/wrapper/inner/index.tsx","../../../src/selvtest/containers/hvem-er-du/index.tsx","../../../src/selvtest/containers/inngangsside/index.tsx","../../../src/selvtest/components/exit-section/index.tsx","../../../src/selvtest/containers/kan-ikke-hjelpe/index.tsx","../../../src/selvtest/utils/Icons/HdirLogo.tsx","../../../src/selvtest/containers/om-verktoyet/index.tsx","../../../src/selvtest/utils/Icons/Quiz/dyr.tsx","../../../src/selvtest/utils/Icons/Quiz/Familie.tsx","../../../src/selvtest/utils/Icons/Quiz/IkkeVil.tsx","../../../src/selvtest/utils/Icons/Quiz/Sarbar.tsx","../../../src/selvtest/utils/Icons/Quiz/Sover.tsx","../../../src/selvtest/utils/Icons/Tema/AndresGrenser.tsx","../../../src/selvtest/utils/Icons/Tema/BilderOgVideoer.tsx","../../../src/selvtest/utils/Icons/Tema/Onanering.tsx","../../../src/selvtest/utils/Icons/Tema/Pedofili.tsx","../../../src/selvtest/utils/Icons/Tema/Porno.tsx","../../../src/selvtest/utils/Icons/Tema/Samtykke.tsx","../../../src/selvtest/utils/Icons/Tema/SeksuellLavalder.tsx","../../../src/selvtest/utils/Icons/Tema/TankerOgFantasier.tsx","../../../src/selvtest/containers/temavalg/iconSelection.tsx","../../../src/selvtest/components/icon-display/index.tsx","../../../src/selvtest/utils/useHistoryListen.ts","../../../src/selvtest/containers/quiz/index.tsx","../../../src/selvtest/containers/quiz-inngangsside/index.tsx","../../../node_modules/@helsenorge/designsystem-react/components/Loader/index.js","../../../src/selvtest/utils/chatCardId.ts","../../../src/selvtest/utils/Icons/ChatCard/ChatBubble.tsx","../../../src/selvtest/utils/Icons/ChatCard/Phone.tsx","../../../src/selvtest/components/chat-cards/index.tsx","../../../src/selvtest/components/finn-ut-mer/index.tsx","../../../node_modules/@helsenorge/designsystem-react/components/DictionaryTrigger/index.js","../../../node_modules/@helsenorge/designsystem-react/utils/refs.js","../../../node_modules/@helsenorge/designsystem-react/components/Icons/X.js","../../../node_modules/@helsenorge/designsystem-react/Close.js","../../../node_modules/@helsenorge/designsystem-react/hooks/useInterval.js","../../../node_modules/@helsenorge/designsystem-react/PopOver.js","../../../node_modules/@helsenorge/designsystem-react/HelpBubble.js","../../../src/selvtest/components/keyword-info-display/index.tsx","../../../src/selvtest/utils/Icons/ArrowUpRight.tsx","../../../src/selvtest/utils/Icons/Video.tsx","../../../src/selvtest/components/les-mer-list/index.tsx","../../../src/selvtest/containers/svarside/index.tsx","../../../src/selvtest/containers/tema/index.tsx","../../../src/selvtest/components/temavalg-button/index.tsx","../../../src/selvtest/containers/temavalg/index.tsx","../../../src/selvtest/redux/store.ts","../../../src/selvtest/index.tsx"],"sourcesContent":["const breakpoints = {\n xxs: 0,\n xs: 360,\n sm: 564,\n md: 768,\n lg: 1088,\n xl: 1450\n};\nconst containerMaxWidths = {\n sm: 528,\n md: 612,\n lg: 1056\n};\nconst screen = {\n xxs: `(min-width: ${breakpoints.xxs}px)`,\n xs: `(min-width: ${breakpoints.xs}px)`,\n sm: `(min-width: ${breakpoints.sm}px)`,\n md: `(min-width: ${breakpoints.md}px)`,\n lg: `(min-width: ${breakpoints.lg}px)`,\n xl: `(min-width: ${breakpoints.xl}px)`\n};\nexport {\n breakpoints,\n containerMaxWidths,\n screen\n};\n//# sourceMappingURL=grid.js.map\n","export const enum ChoicesType {\n normal = 1,\n checkbox = 2,\n}\nexport const enum NavigationType {\n forward = 1,\n back = 2,\n start = 3,\n exit = 4,\n button = 5,\n}\n\nexport enum ResponseLevel {\n gronn = 1,\n gul = 2,\n rod = 3,\n}\nexport enum ResponseType {\n prosesspavirkning = 1,\n prosessforberedelser = 2,\n pavirkning = 3,\n introending = 4,\n}\n\nexport enum PageType {\n quizsvar = 1,\n quizstart = 2,\n}\n\nexport const pageTypeMapping = (pagesEnum: PageType): string => {\n if (pagesEnum === PageType.quizstart) return '/quizsvar';\n else return '/quizstart';\n};\n\nexport enum SvarsideEnum {\n quizsvar_en = '/quizsvar/en',\n quizsvar_to = '/quizsvar/to',\n quizsvar_tre = '/quizsvar/tre',\n quizsvar_en_en = '/quizsvar/en_en',\n quizsvar_en_to = '/quizsvar/en_to',\n quizsvar_to_to = '/quizsvar/to_to',\n quizsvar_to_tre = '/quizsvar/to_tre',\n quizsvar_en_tre = '/quizsvar/en_tre',\n quizsvar_to_en = '/quizsvar/to_en',\n quizsvar_noytral = '/quizsvar/noytral',\n}\n","import { useState, useEffect } from \"react\";\nimport { breakpoints, screen } from \"../theme/grid.js\";\nvar Breakpoint = ((Breakpoint2) => {\n Breakpoint2[Breakpoint2[\"xxs\"] = breakpoints.xxs] = \"xxs\";\n Breakpoint2[Breakpoint2[\"xs\"] = breakpoints.xs] = \"xs\";\n Breakpoint2[Breakpoint2[\"sm\"] = breakpoints.sm] = \"sm\";\n Breakpoint2[Breakpoint2[\"md\"] = breakpoints.md] = \"md\";\n Breakpoint2[Breakpoint2[\"lg\"] = breakpoints.lg] = \"lg\";\n Breakpoint2[Breakpoint2[\"xl\"] = breakpoints.xl] = \"xl\";\n return Breakpoint2;\n})(Breakpoint || {});\nconst useBreakpoint = () => {\n const [breakpoint, setBreakpoint] = useState(Breakpoint.xxs);\n useEffect(() => {\n var _a;\n const handleMediaQueryEvent = (event) => {\n switch (event.media) {\n case screen.xl:\n setBreakpoint(event.matches ? Breakpoint.xl : Breakpoint.lg);\n return;\n case screen.lg:\n setBreakpoint(event.matches ? Breakpoint.lg : Breakpoint.md);\n return;\n case screen.md:\n setBreakpoint(event.matches ? Breakpoint.md : Breakpoint.sm);\n return;\n case screen.sm:\n setBreakpoint(event.matches ? Breakpoint.sm : Breakpoint.xs);\n return;\n case screen.xs:\n setBreakpoint(event.matches ? Breakpoint.xs : Breakpoint.xxs);\n return;\n default:\n setBreakpoint(Breakpoint.xxs);\n return;\n }\n };\n const mediaQueryList = Object.entries(screen).reverse().map(([size, mediaQuery]) => {\n return { breakpoint: Breakpoint[size], mediaQuery: window.matchMedia(mediaQuery) };\n });\n mediaQueryList.forEach((x) => {\n if (x.mediaQuery.addEventListener) {\n x.mediaQuery.addEventListener(\"change\", handleMediaQueryEvent);\n } else if (x.mediaQuery.addListener) {\n x.mediaQuery.addListener(handleMediaQueryEvent);\n }\n });\n const initialBreakpoint = ((_a = mediaQueryList.find((x) => x.mediaQuery.matches)) == null ? void 0 : _a.breakpoint) ?? breakpoint;\n setBreakpoint(initialBreakpoint);\n return () => {\n mediaQueryList.forEach((x) => {\n if (x.mediaQuery.removeEventListener) {\n x.mediaQuery.removeEventListener(\"change\", handleMediaQueryEvent);\n } else if (x.mediaQuery.removeListener) {\n x.mediaQuery.removeListener(handleMediaQueryEvent);\n }\n });\n };\n }, []);\n return breakpoint;\n};\nexport {\n Breakpoint,\n useBreakpoint\n};\n//# sourceMappingURL=useBreakpoint.js.map\n","import type { JSX } from 'react';\n\nimport { IconProps } from './Icon';\n\nconst ArrowLeft = ({ size = { width: 40, height: 40 }, color }: IconProps): JSX.Element => (\n \n \n \n \n \n);\n\nexport default ArrowLeft;\n","import type { JSX } from 'react';\n\nimport { IconProps } from './Icon';\n\nconst ArrowRight = ({ size = { width: 40, height: 0 }, color }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default ArrowRight;\n","import type { JSX } from 'react';\n\nimport { IconProps } from './Icon';\n\nconst ChevronLeft = ({ size = { width: 40, height: 40 }, color }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default ChevronLeft;\n","import type { JSX } from 'react';\n\nimport { IconProps } from './Icon';\n\nconst ChevronRight = ({ size = { width: 40, height: 40 }, color = 'black' }: IconProps): JSX.Element => (\n \n \n \n \n \n);\n\nexport default ChevronRight;\n","import type { JSX } from 'react';\n\nimport { IconProps } from './Icon';\n\nconst ArrowRight = ({ size = { width: 40, height: 40 }, color }: IconProps): JSX.Element => (\n \n \n \n \n \n);\n\nexport default ArrowRight;\n","import { FC, ReactNode } from 'react';\n\nimport classnames from 'classnames';\n\nimport styles from './styles.module.scss';\n\ninterface TitleProps {\n className?: string;\n color?: 'white' | 'black';\n htmlMarkup?: 'h1' | 'h2' | 'h3' | 'div';\n visualHeading?: 'h1' | 'h1-entry' | 'h1-alternate' | 'h2' | 'h2-alternate' | 'h3' | 'h3-entry' | 'h4';\n /** Gives a unique id to the title */\n id?: string;\n subHeading?: string | null;\n infoSymbol?: boolean;\n children: ReactNode;\n}\n\nexport const Title: FC = ({\n className,\n color = 'white',\n htmlMarkup = 'h1',\n visualHeading = htmlMarkup,\n children,\n id,\n subHeading,\n infoSymbol,\n}) => {\n const titleClass = classnames(\n styles.title,\n {\n [styles['title--black']]: color === 'black',\n [styles[`title--h1-entry`]]: visualHeading === 'h1-entry',\n [styles[`title--h1-alternate`]]: visualHeading === 'h1-alternate',\n [styles[`title--h2`]]: visualHeading === 'h2',\n [styles[`title--h2-alternate`]]: visualHeading === 'h2-alternate',\n [styles[`title--h3`]]: visualHeading === 'h3',\n [styles[`title--h3-entry`]]: visualHeading === 'h3-entry',\n [styles[`title--h4`]]: visualHeading === 'h4',\n [styles['title--inline']]: infoSymbol,\n },\n className\n );\n const HtmlMarkupTag = htmlMarkup;\n return (\n <>\n
\n \n {children}\n \n {infoSymbol && {'ⓘ'}}\n
\n {subHeading && (\n
\n {subHeading}\n
\n )}\n \n );\n};\n","import { FC, ReactNode } from 'react';\nimport type { JSX } from 'react';\n\nimport classnames from 'classnames';\n\nimport { useBreakpoint } from '@helsenorge/designsystem-react/hooks/useBreakpoint';\nimport { breakpoints } from '@helsenorge/designsystem-react/theme/grid';\n\nimport ArrowLeft from '../../utils/Icons/ArrowLeft';\nimport ArrowRight from '../../utils/Icons/ArrowRight';\nimport ChevronLeft from '../../utils/Icons/ChevronLeft';\nimport ChevronRight from '../../utils/Icons/ChevronRight';\nimport { IconProps } from '../../utils/Icons/Icon';\nimport TopMenuArrow from '../../utils/Icons/TopMenuArrow';\nimport { Title } from '../title';\n\nimport styles from './styles.module.scss';\n\ntype ButtonVariant = 'main' | 'main-large' | 'secondary' | 'secondary-top-menu' | 'link';\ntype ButtonColor = 'normal' | 'inverted';\n\ninterface ButtonProps {\n /** Button variant - changes the color appearance */\n variant?: ButtonVariant;\n /** Button color */\n color?: ButtonColor;\n /** Show arrow icon to the right of the label */\n rightArrow?: boolean;\n /** Show arrow icon to the left of the label - only supported for variant secondary button */\n leftArrow?: boolean;\n /** Makes the button scale to full width of its parent element. */\n fluid?: boolean;\n /** Adds custom classes to the element. */\n className?: string;\n\n /** Adds custom form-id to the element. */\n form?: string;\n\n /** Function that triggers on click. */\n onClick?: () => void;\n\n /** Button Title */\n title?: string;\n\n // Allows buttom to change type\n type?: 'button' | 'submit' | 'reset';\n\n /** Sets the content of the button. */\n children: ReactNode;\n}\n\nconst getRightIcon = (variant: ButtonVariant, iconSpecs: IconProps): JSX.Element | undefined => {\n if (variant === 'main') return ;\n else if (variant === 'main-large')\n return (\n \n \n \n );\n else if (variant === 'secondary') return ;\n};\nconst getLeftIcon = (variant: ButtonVariant, iconSpecs: IconProps): JSX.Element | undefined => {\n if (variant === 'main') return ;\n else if (variant === 'secondary') return ;\n else if (variant === 'secondary-top-menu') return ;\n};\nexport const Button: FC = (props: ButtonProps) => {\n const {\n color = 'normal',\n variant = 'main',\n rightArrow = false,\n leftArrow = false,\n fluid = false,\n onClick,\n title,\n type = 'button',\n className,\n form,\n children,\n } = props;\n const secondary = variant === 'secondary' || variant === 'secondary-top-menu';\n const link = variant === 'link';\n const inverted = color === 'inverted';\n const breakpoint = useBreakpoint();\n const iconSize = breakpoint < breakpoints.md ? { width: 25, height: 25 } : { width: 40, height: 40 };\n const largeIconSize = breakpoint < breakpoints.xl ? { width: 37, height: 37 } : { width: 86, height: 86 };\n const mainVariant = variant === 'main';\n const mainLargeVariant = variant === 'main-large';\n const leftIcon = leftArrow && getLeftIcon(variant, { size: iconSize, color: 'black' });\n const rightIcon = rightArrow && getRightIcon(variant, { size: mainLargeVariant ? largeIconSize : iconSize, color: 'black' });\n\n const buttonClasses = classnames(\n styles.button,\n {\n [styles['button--main']]: mainVariant,\n [styles['button--main-large']]: mainLargeVariant,\n [styles['button--secondary']]: secondary,\n [styles['button--secondary-top-menu']]: variant === 'secondary-top-menu',\n [styles['button--secondary--right']]: secondary && rightArrow,\n [styles['button--link']]: link,\n [styles['button--fluid']]: fluid,\n [styles['button--inverted']]: inverted,\n },\n className\n );\n\n return (\n \n );\n};\n","import { useEffect } from \"react\";\nconst useIntersectionObserver = (ref, callback, options) => {\n useEffect(() => {\n const intersectionObserver = new IntersectionObserver(callback, options);\n if (ref == null ? void 0 : ref.current) {\n intersectionObserver.observe(ref.current);\n }\n return () => {\n if (ref == null ? void 0 : ref.current) {\n intersectionObserver.unobserve(ref.current);\n } else {\n intersectionObserver.disconnect();\n }\n };\n }, [ref, options]);\n};\nexport {\n useIntersectionObserver\n};\n//# sourceMappingURL=useIntersectionObserver.js.map\n","import { useState } from \"react\";\nimport { useIntersectionObserver } from \"./useIntersectionObserver.js\";\nconst useIsVisible = (ref, threshold = 1, options, initial = false) => {\n const [isVisible, setIsVisible] = useState(initial);\n const handleIntersectChange = (entries) => {\n setIsVisible(threshold === 0 ? entries[0].intersectionRatio !== threshold : entries[0].intersectionRatio >= threshold);\n };\n useIntersectionObserver(ref, handleIntersectChange, { threshold, ...options });\n return isVisible;\n};\nexport {\n useIsVisible\n};\n//# sourceMappingURL=useIsVisible.js.map\n","function debounce(func, wait) {\n let timeout;\n const debouncedFunc = (args) => new Promise((resolve) => {\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n resolve(func(args));\n }, wait);\n });\n const teardown = () => {\n timeout && clearTimeout(timeout);\n };\n return [debouncedFunc, teardown];\n}\nexport {\n debounce\n};\n//# sourceMappingURL=debounce.js.map\n","import { useEffect } from \"react\";\nimport { debounce } from \"../utils/debounce.js\";\nconst useLayoutEvent = (callback, events = [\"layoutchange\", \"resize\", \"orientationchange\"], debounceMs = 10) => {\n useEffect(() => {\n if (typeof window !== \"object\") return;\n const [debouncedCallback, teardown] = debounce(callback, debounceMs);\n events.forEach((eventName) => window.addEventListener(eventName, debouncedCallback));\n debouncedCallback();\n return () => {\n teardown();\n events.forEach((eventName) => window.removeEventListener(eventName, debouncedCallback));\n };\n }, []);\n};\nexport {\n useLayoutEvent\n};\n//# sourceMappingURL=useLayoutEvent.js.map\n","import { useRef, useState, useEffect } from \"react\";\nimport { debounce } from \"../utils/debounce.js\";\nconst useSize = (ref) => {\n const ticking = useRef(false);\n const [size, setSize] = useState();\n useEffect(() => {\n if (typeof ResizeObserver !== \"undefined\") {\n const resizeObserver = new ResizeObserver((entries) => {\n if (!ticking.current) {\n window.requestAnimationFrame(() => {\n setSize(entries[0].target.getBoundingClientRect());\n ticking.current = false;\n });\n }\n ticking.current = true;\n });\n if (ref == null ? void 0 : ref.current) {\n resizeObserver.observe(ref == null ? void 0 : ref.current);\n }\n return () => {\n if (ref == null ? void 0 : ref.current) {\n resizeObserver.unobserve(ref.current);\n } else {\n resizeObserver.disconnect();\n }\n };\n } else if (typeof window === \"object\") {\n const handleLayoutEvent = () => {\n (ref == null ? void 0 : ref.current) && setSize(ref.current.getBoundingClientRect());\n };\n const events = [\"layoutchange\", \"resize\", \"orientationchange\"];\n const debounceMs = 10;\n const [debouncedCallback, teardown] = debounce(handleLayoutEvent, debounceMs);\n events.forEach((eventName) => window.addEventListener(eventName, debouncedCallback));\n debouncedCallback();\n return () => {\n teardown();\n events.forEach((eventName) => window.removeEventListener(eventName, debouncedCallback));\n };\n }\n }, [ref == null ? void 0 : ref.current]);\n return size;\n};\nexport {\n useSize\n};\n//# sourceMappingURL=useSize.js.map\n","import { useEffect } from \"react\";\nconst useOutsideEvent = (ref, handleClick, events = [\"mousedown\"]) => {\n const handleOutsideEvent = (event) => {\n if (ref.current && !event.composedPath().includes(ref.current)) {\n handleClick(event);\n }\n };\n useEffect(() => {\n events.forEach((eventName) => document.addEventListener(eventName, handleOutsideEvent));\n return () => {\n events.forEach((eventName) => document.removeEventListener(eventName, handleOutsideEvent));\n };\n }, [ref, handleClick, events]);\n};\nexport {\n useOutsideEvent\n};\n//# sourceMappingURL=useOutsideEvent.js.map\n","import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';\n\nimport type { RootState, AppDispatch } from './store';\n// Use throughout your app instead of plain `useDispatch` and `useSelector`\nexport const useAppDispatch: () => AppDispatch = useDispatch;\nexport const useAppSelector: TypedUseSelectorHook = useSelector;\n","import { AnalyticsData, Choice, IntroChoiceUrlEnum, Keyword, LinkValues, PageContent } from './selvtestSlice';\nimport { RootState } from './store';\n\nexport const selectPage = (state: RootState, url: string): PageContent | undefined => state.pages?.find(p => p.urlPath === url);\n\nexport const selectTemaValg = (state: RootState, url: string): PageContent | undefined => state.pages?.find(p => p.urlPath === url);\n\nexport const selectSpecificPage = (state: RootState, url: string | null): PageContent | undefined =>\n state.pages?.find(p => p.urlPath === url);\nexport const selectSessionId = (state: RootState): string | undefined => state.sessionId;\nexport const selectCurrentPage = (state: RootState): string | null => state.currentPage;\nexport const selectChosenAnswers = (state: RootState): Choice[] | null => state.chosenAnswers;\nexport const selectPoppedUrls = (state: RootState): string[] | null => state.poppedUrls;\nexport const selectIntroChoiceUrl = (state: RootState): IntroChoiceUrlEnum | null => state.introChoiceUrl;\nexport const selectLane = (state: RootState): string | undefined => state.lane;\nexport const selectLaneData = (state: RootState): PageContent | undefined => state.pages?.find(p => p.urlPath === state.lane);\nexport const selectPageByUrlPath = (state: RootState, urlPath: string | null): PageContent | undefined =>\n state.pages?.find(p => p.urlPath === urlPath);\nexport const selectAnsweredIntro = (state: RootState): boolean => state.answeredIntro;\nexport const selectExternalQuestionnaire = (state: RootState): LinkValues | undefined =>\n state.externalLinks?.find(l => l.linkName === 'externalQuestionnaire')?.linkValues;\nexport const selectExternalTilgjengelighetserklaering = (state: RootState): LinkValues | undefined =>\n state.externalLinks?.find(l => l.linkName === 'externalTilgjengelighetserklaering')?.linkValues;\nexport const selectKeywords = (state: RootState): Keyword[] | null => state.keywords;\n\nexport const selectAnalyticsData = (state: RootState): AnalyticsData => state.analyticsData;\n","import { FC } from 'react';\n\nimport { breakpoints } from '@helsenorge/designsystem-react/theme/grid';\n\nimport { useBreakpoint } from '@helsenorge/designsystem-react';\n\nimport { useAppSelector } from '../../../redux/hooks';\nimport { selectExternalQuestionnaire } from '../../../redux/selectors';\n\nimport styles from './styles.module.scss';\n\nexport const ExternalQuestionnaire: FC = () => {\n const breakpoint = useBreakpoint();\n const isMobileOrTablet = breakpoint <= breakpoints.md;\n const externalQuestionaire = useAppSelector(selectExternalQuestionnaire);\n\n const url = isMobileOrTablet ? externalQuestionaire?.mobileLink : externalQuestionaire?.webLink;\n const title = externalQuestionaire?.linkText;\n return (\n \n {title}\n \n );\n};\n","export const findPathName = (pathname: string): string => {\n return pathname.replace('/', '');\n};\nexport const findPathNameNoHash = (pathname: string): string => {\n return pathname.replace('#/', '');\n};\n","import { CustomData, pushToDataLayer } from '@helsenorge/framework-utils/adobe-analytics';\n\nimport { AnalyticsData } from '../redux/selvtestSlice';\n\nexport const trackAnalyticsData = (data: AnalyticsData): void => {\n const payload: CustomData = {\n event: 'quiz',\n quiz: {\n quizName: 'Hva er innafor',\n ...data,\n },\n };\n\n pushToDataLayer(payload);\n};\n","import { UtvidetInformasjonVeiledningstjeneste } from '../types/verktoynetcoreentities';\n\nimport { get } from '@helsenorge/framework-utils/hn-proxy-service';\n\nimport fallback from '../__data__/selvtest_23_14.json';\nimport { ExternalLink, Keyword, PageContent } from '../redux/selvtestSlice';\n\ndeclare global {\n interface Window {\n selvtestConfig: CmsContentType;\n }\n}\ninterface CmsContentType {\n pages: PageContent[] | null;\n externalLinks: ExternalLink[];\n keywords: Keyword[];\n}\n\nexport const getInitialSelvtestData = (): CmsContentType => {\n const cmsData = window?.selvtestConfig;\n\n return cmsData?.pages !== null ? cmsData : fallback;\n};\n\nexport const getChatCardData = async (id: string): Promise => {\n return await get('verktoynetcore', 'api/v1/UtvidetInformasjonVeiledningstjeneste', {\n VerktoyId: id,\n });\n};\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\n\nimport { ChoicesType, NavigationType, PageType, ResponseLevel, ResponseType as ChoiceResponseType, pageTypeMapping } from '../types/enum';\n\nimport { trackAnalyticsData } from '../utils/analytics';\nimport { getInitialSelvtestData } from '../utils/api-utils';\n\nexport interface Choice {\n id: number;\n type?: ChoicesType;\n title?: string;\n ingress?: string;\n text?: string;\n icon?: string;\n value?: boolean | null;\n responseLevel?: ResponseLevel;\n responseType?: ChoiceResponseType;\n navigateTo: string;\n}\nexport interface Resource {\n title: string | null;\n text: string | null;\n navigateTo: string;\n}\nexport interface Navigation {\n text: string | null;\n type: NavigationType;\n navigateTo: string | null;\n}\n\nexport interface Exit {\n exitTitle: string | null;\n exitIngress: string | null;\n}\n\nexport interface PageContent {\n urlPath: string;\n title: string;\n subtitle: string | null;\n analyticsId?: string;\n ingress1?: string | null;\n ingress2?: string | null;\n choices?: Choice[] | null;\n extraChoices?: Choice[] | null;\n resources?: Resource[] | null;\n chatcardId?: string;\n exit?: Exit[] | null;\n navigationButtons?: Navigation[] | null;\n type?: PageType | null;\n}\n\nexport interface LinkValues {\n linkText: string;\n webLink: string;\n mobileLink: string;\n}\n\nexport type ExternalLink = {\n linkName: string;\n linkValues: LinkValues;\n};\nexport type Keyword = {\n keyword: string;\n info: string;\n};\nexport enum IntroChoiceUrlEnum {\n temavalg = '/temavalg',\n quizinngang = '/quiztemavalg',\n}\n\nexport type AnalyticsData = Record;\n\nexport interface SelvtestState {\n sessionId?: string;\n pages: PageContent[] | null;\n currentPage: string | null;\n chosenAnswers: Choice[] | null;\n poppedUrls: string[] | null;\n introChoiceUrl: IntroChoiceUrlEnum | null;\n lane: string | undefined;\n answeredIntro: boolean;\n analyticsData: AnalyticsData;\n externalLinks: ExternalLink[] | null;\n keywords: Keyword[] | null;\n}\nconst initialData = getInitialSelvtestData();\n\nexport const selvtestInitialState: SelvtestState = Object.assign(\n {\n sessionId: undefined,\n pages: null,\n currentPage: null,\n chosenAnswers: null,\n poppedUrls: null,\n introChoiceUrl: IntroChoiceUrlEnum.temavalg,\n lane: undefined,\n answeredIntro: false,\n analyticsData: {},\n externalLinks: null,\n keywords: null,\n },\n initialData\n);\n\nconst selvtest = createSlice({\n name: 'selvtest',\n initialState: selvtestInitialState,\n reducers: {\n setPage(state: SelvtestState, action: PayloadAction): void {\n state.currentPage = action.payload;\n },\n setSessionId(state: SelvtestState, action: PayloadAction): void {\n state.sessionId = action.payload;\n },\n addAnswers(state: SelvtestState, action: PayloadAction): void {\n state.chosenAnswers = state.chosenAnswers ? [...state.chosenAnswers, ...action.payload] : action.payload;\n },\n setAnswers(state: SelvtestState, action: PayloadAction): void {\n state.chosenAnswers = action.payload;\n },\n removePoppedAnswers(state: SelvtestState): void {\n if (state.chosenAnswers && state.chosenAnswers.length > 0 && state.poppedUrls && state.poppedUrls.length > 0) {\n state.chosenAnswers.splice(state.chosenAnswers.length - state.poppedUrls.length, state.poppedUrls.length);\n state.poppedUrls = null;\n state.currentPage = null;\n }\n },\n addPoppedUrl(state: SelvtestState, action: PayloadAction): void {\n // Om det skal være mulig å poppe forover (Skiller browser forward fra å skrive inn hash manuelt)\n const canPopForward =\n state.chosenAnswers &&\n state.chosenAnswers.length > 0 &&\n state.chosenAnswers.some(ca => {\n const isQuizAnswerHash = action.payload.includes(pageTypeMapping(PageType.quizsvar));\n return isQuizAnswerHash ? ca.navigateTo.includes(pageTypeMapping(PageType.quizsvar)) : ca.navigateTo === action.payload;\n });\n const filteredPageForward = state.pages?.filter(p => p.urlPath === state.currentPage)[0];\n let allChoicesForward: Choice[] = [];\n // Sjekker om urlen vi skal til matcher forrige side sine knappeurl (da har vi beveget oss forover under history.pop)\n let poppedForward = false;\n if (state.currentPage && canPopForward && filteredPageForward) {\n if (filteredPageForward.choices) {\n allChoicesForward = [...filteredPageForward.choices];\n }\n if (filteredPageForward?.extraChoices) {\n allChoicesForward = [...allChoicesForward, ...filteredPageForward.extraChoices];\n }\n poppedForward = allChoicesForward.some(c => {\n const isQuizAnswerHash = action.payload.includes(pageTypeMapping(PageType.quizsvar));\n return isQuizAnswerHash ? c.navigateTo.includes(pageTypeMapping(PageType.quizsvar)) : c.navigateTo === action.payload;\n });\n }\n\n // Sjekker om urlen vi kom fra matcher denne siden sine knappeurl (da har vi beveget oss bakover under history.pop)\n const filteredPages: PageContent | undefined = state.pages?.filter(p => p.urlPath === action.payload)[0];\n\n let allChoices: Choice[] = [];\n let poppedBack = false;\n\n if (state.currentPage && filteredPages) {\n if (filteredPages.choices) {\n allChoices = [...filteredPages.choices];\n }\n if (filteredPages.extraChoices) {\n allChoices = [...allChoices, ...filteredPages.extraChoices];\n }\n poppedBack = allChoices.some(c => {\n const isQuizAnswerHash = state.currentPage?.includes(pageTypeMapping(PageType.quizsvar));\n return isQuizAnswerHash ? c.navigateTo.includes(pageTypeMapping(PageType.quizsvar)) : c.navigateTo === state.currentPage;\n });\n }\n\n if (poppedForward && state.poppedUrls && state.poppedUrls.length > 0) {\n state.poppedUrls.pop();\n } else if (poppedBack) {\n state.poppedUrls = state.poppedUrls ? [...state.poppedUrls, action.payload] : [action.payload];\n }\n\n if (!poppedForward && !poppedBack) {\n state.sessionId = selvtestInitialState.sessionId;\n state.currentPage = selvtestInitialState.currentPage;\n state.chosenAnswers = selvtestInitialState.chosenAnswers;\n state.poppedUrls = selvtestInitialState.poppedUrls;\n window.location.hash = '/';\n }\n },\n setPoppedUrls(state: SelvtestState, action: PayloadAction): void {\n state.poppedUrls = action.payload;\n },\n setIntroChoiceUrl(state: SelvtestState, action: PayloadAction): void {\n state.introChoiceUrl = action.payload;\n },\n setLane(state: SelvtestState, action: PayloadAction): void {\n state.lane = action.payload;\n },\n setAnsweredIntro(state: SelvtestState, action: PayloadAction): void {\n state.answeredIntro = action.payload;\n\n trackAnalyticsData(state.analyticsData);\n },\n setAnalyticsData(state: SelvtestState, action: PayloadAction<{ id: string; value: string }>): void {\n state.analyticsData[action.payload.id] = action.payload.value;\n },\n },\n});\nexport const {\n setPage,\n setSessionId,\n addAnswers,\n setAnswers,\n removePoppedAnswers,\n addPoppedUrl,\n setPoppedUrls,\n setIntroChoiceUrl,\n setLane,\n setAnsweredIntro,\n setAnalyticsData,\n} = selvtest.actions;\n\nexport default selvtest.reducer;\n","import { IntroChoiceUrlEnum } from '../redux/selvtestSlice';\n\nexport const harQuizInngang = (url: string | null): boolean => {\n if (url === IntroChoiceUrlEnum.quizinngang) {\n return true;\n }\n return false;\n};\nexport const noHashUrl = (url?: string): string | undefined => {\n return url?.split('#/')[1];\n};\n","import type { JSX } from 'react';\n\nimport { IconProps } from './Icon';\n\nconst SelvtestLogo = ({ size = { width: 251, height: 230 } }: IconProps): JSX.Element => (\n \n {'Hva er innafor logo'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default SelvtestLogo;\n","import { NavigateFunction } from 'react-router-dom';\n\nexport const safeNavigate = (navigate: NavigateFunction, navigateTo?: string | null): void => {\n const redirect = navigateTo?.includes('https');\n if (redirect && navigateTo) {\n window.location.href = navigateTo;\n } else {\n if (navigateTo) {\n navigate(navigateTo);\n }\n }\n};\n","import { FC, ReactNode, useEffect, useRef, useState } from 'react';\n\nimport classnames from 'classnames';\nimport { useDispatch } from 'react-redux';\nimport { useNavigate, useLocation } from 'react-router-dom';\n\nimport { NavigationType } from '../../types/enum';\n\nimport { useBreakpoint } from '@helsenorge/designsystem-react/hooks/useBreakpoint';\nimport { breakpoints } from '@helsenorge/designsystem-react/theme/grid';\n\nimport { pushToDataLayer, CustomData } from '@helsenorge/framework-utils/adobe-analytics';\n\nimport { ExternalQuestionnaire } from './external-questionnaire';\nimport { findPathName } from '../../containers/svarside/helper';\nimport { useAppSelector } from '../../redux/hooks';\nimport { selectIntroChoiceUrl, selectLane, selectPage, selectPageByUrlPath } from '../../redux/selectors';\nimport { Navigation, setPage } from '../../redux/selvtestSlice';\nimport { harQuizInngang } from '../../utils/helper';\nimport SelvtestLogo from '../../utils/Icons/SelvtestLogo';\nimport { safeNavigate } from '../../utils/navigate';\nimport { Button } from '../button';\n\nimport styles from './styles.module.scss';\n\nexport type BackgroundVariant = 'gradient' | 'dark';\nexport type ShowLogo = 'never' | 'all-viewports' | 'only-mobile';\nexport type TopMenu = 'hide' | 'show' | 'show-extra-spacing';\n\ninterface WrapperProps {\n absoluteNavigation?: boolean;\n backgroundVariant?: BackgroundVariant;\n topRowClassNames?: string;\n showLogo?: ShowLogo;\n noTopPadding?: boolean;\n topMenu?: TopMenu;\n onClickBack?: () => void;\n onClickForward?: () => void;\n wrapperClassNames?: string;\n tilbakemelding?: boolean;\n children: ReactNode;\n}\n\nexport const Wrapper: FC = ({\n backgroundVariant,\n topRowClassNames,\n showLogo = 'never',\n noTopPadding,\n topMenu = 'show',\n onClickBack,\n onClickForward,\n children,\n wrapperClassNames,\n tilbakemelding,\n}) => {\n const [firstFrame, setFirstFrame] = useState(true);\n const breakpoint = useBreakpoint();\n const mobile = breakpoint < breakpoints.md;\n const noLogo = showLogo === 'never' || (showLogo === 'only-mobile' && !mobile);\n const location = useLocation();\n const localState = useAppSelector(state => selectPage(state, location.pathname));\n const introChoiceUrl = useAppSelector(selectIntroChoiceUrl);\n const pickedLane = !!useAppSelector(selectLane);\n\n const temaUrl = useAppSelector(state => selectPageByUrlPath(state, introChoiceUrl))?.urlPath;\n const params = findPathName(location.pathname);\n const erQuizSvarside = params.split('quizsvar/').length > 1;\n const erTemaSvarside = params.split('temabeskrivelse/').length > 1;\n\n const navigate = useNavigate();\n const dispatch = useDispatch();\n const isDark = backgroundVariant === 'dark';\n\n const showTopMenu = topMenu === 'show' || topMenu === 'show-extra-spacing';\n const ref = useRef(null);\n\n useEffect(() => {\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n ref.current?.focus();\n window.scrollTo(0, 0);\n }, [location.pathname]);\n\n useEffect(() => {\n dispatch(setPage(location.pathname));\n setFirstFrame(false);\n\n const payload: CustomData = {\n selvtestside: { name: localState?.urlPath ?? location.pathname },\n };\n\n pushToDataLayer(payload);\n }, [dispatch, localState?.urlPath, location.pathname]);\n\n const backClicked = (navigateBack: Navigation): void => {\n if (onClickBack) {\n onClickBack();\n } else {\n safeNavigate(navigate, navigateBack.navigateTo);\n }\n };\n\n const navigateBack = localState?.navigationButtons && localState.navigationButtons.find(e => e.type === NavigationType.back);\n const navigateForward = localState?.navigationButtons && localState.navigationButtons.find(e => e.type === NavigationType.forward);\n const wrapperClasses = classnames(\n styles.wrapper,\n {\n [styles['wrapper--no-top-row']]: !showTopMenu && noLogo,\n [styles['wrapper--no-top-padding']]: noTopPadding,\n [styles['wrapper--dark']]: isDark,\n },\n wrapperClassNames\n );\n const wrapperTopRowClasses = classnames(\n styles['wrapper__top-row'],\n {\n [styles['wrapper__top-row--extra-spacing']]: topMenu === 'show-extra-spacing',\n },\n topRowClassNames\n );\n const showTemaUrlNav = pickedLane || erQuizSvarside || erTemaSvarside;\n\n const navigationButtons = (\n <>\n \n {showTopMenu && (\n safeNavigate(navigate, '/')}\n >\n {'Startsiden'}\n \n )}\n {showTemaUrlNav && introChoiceUrl && temaUrl && (\n safeNavigate(navigate, temaUrl)}\n >\n {harQuizInngang(introChoiceUrl) ? 'Situasjonene' : 'Temaene'}\n \n )}\n {!erQuizSvarside && navigateBack && navigateBack.text && (\n \n )}\n \n \n );\n\n if (firstFrame) return
;\n return (\n
\n \n {tilbakemelding && }\n {(showTopMenu || navigateBack || !noLogo) && (\n <>\n {navigationButtons}\n {!noLogo && (\n
\n
\n
\n \n
\n
\n )}\n \n )}\n\n {children}\n {navigateForward && navigateForward.text && (\n \n )}\n
\n );\n};\n","import { FC, ReactNode } from 'react';\n\nimport classnames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nexport type ContentDirection = 'row' | 'column';\n\nexport interface ContentWrapperProps {\n direction?: ContentDirection;\n classNames?: string;\n children?: ReactNode;\n gridClass?: boolean;\n}\n\nexport const ContentWrapper: FC = props => {\n const { gridClass = true, direction, children, classNames } = props;\n const contentWrapperClasses = classnames(\n styles['content-wrapper'],\n {\n [styles['content-wrapper__grid']]: gridClass,\n [styles['content-wrapper--column']]: direction === 'column',\n },\n classNames\n );\n\n return
{children}
;\n};\nexport default ContentWrapper;\n","import { FC, ReactNode } from 'react';\n\nimport classnames from 'classnames';\n\nimport styles from '../styles.module.scss';\n\nexport interface WrapperInnerProps {\n variant?: 'normal' | 'extra-wide';\n alignLeft?: boolean;\n classNames?: string;\n children?: ReactNode;\n}\n\nexport const WrapperInner: FC = ({ variant = 'normal', alignLeft, classNames, children }) => {\n const innterWrapperClasses = classnames(\n styles.wrapper__inner,\n { [styles['wrapper__inner--align-left']]: alignLeft, [styles['wrapper__inner--extra-wide']]: variant === 'extra-wide' },\n classNames\n );\n\n return
{children}
;\n};\nexport default WrapperInner;\n","import { FC } from 'react';\n\nimport { useDispatch } from 'react-redux';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { ResponseType as ChoiceResponseType } from '../../types/enum';\n\nimport { Button } from '../../components/button';\nimport { Title } from '../../components/title';\nimport { Wrapper } from '../../components/wrapper';\nimport ContentWrapper from '../../components/wrapper/content';\nimport WrapperInner from '../../components/wrapper/inner';\nimport { useAppSelector } from '../../redux/hooks';\nimport { selectIntroChoiceUrl, selectPage } from '../../redux/selectors';\nimport { setAnsweredIntro, setAnalyticsData } from '../../redux/selvtestSlice';\nimport { harQuizInngang } from '../../utils/helper';\nimport { safeNavigate } from '../../utils/navigate';\n\nexport const HvemErDu: FC = () => {\n const dispatch = useDispatch();\n const location = useLocation();\n const pageContent = useAppSelector(state => selectPage(state, location.pathname));\n const introChoiceUrl = useAppSelector(selectIntroChoiceUrl);\n const quiz = harQuizInngang(introChoiceUrl);\n const path = quiz ? '/quizinngang' : introChoiceUrl;\n const temaTitle = pageContent?.title;\n const choices = pageContent?.choices;\n const navigate = useNavigate();\n\n return (\n {\n navigate(-1);\n }}\n >\n \n {temaTitle}\n\n \n {choices &&\n choices.map((tema, index) => {\n return (\n {\n if (pageContent.analyticsId && tema.text) {\n dispatch(setAnalyticsData({ id: pageContent.analyticsId, value: tema.text }));\n }\n if (tema.responseType === ChoiceResponseType.introending) {\n dispatch(setAnsweredIntro(true));\n safeNavigate(navigate, path ?? tema.navigateTo);\n } else {\n safeNavigate(navigate, tema.navigateTo);\n }\n }}\n >\n {tema.text}\n \n );\n })}\n \n \n \n );\n};\nexport default HvemErDu;\n","import { FC, useEffect } from 'react';\n\nimport { useDispatch } from 'react-redux';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { NavigationType } from '../../types/enum';\n\nimport { breakpoints } from '@helsenorge/designsystem-react/theme/grid';\n\nimport { useBreakpoint } from '@helsenorge/designsystem-react';\nimport SafeHTML from '@helsenorge/framework-utils/components/safe-html';\n\nimport { Button } from '../../components/button';\nimport { Title } from '../../components/title';\nimport { Wrapper } from '../../components/wrapper';\nimport WrapperInner from '../../components/wrapper/inner';\nimport { useAppSelector } from '../../redux/hooks';\nimport { selectAnsweredIntro, selectPage } from '../../redux/selectors';\nimport { Choice, IntroChoiceUrlEnum, setIntroChoiceUrl, setLane } from '../../redux/selvtestSlice';\nimport { safeNavigate } from '../../utils/navigate';\n\nimport styles from './styles.module.scss';\n\nexport const Inngangside: FC = () => {\n const dispatch = useDispatch();\n const location = useLocation();\n const localState = useAppSelector(state => selectPage(state, location.pathname));\n const answeredIntro = useAppSelector(selectAnsweredIntro);\n const breakpoint = useBreakpoint();\n const mobile = breakpoint < breakpoints.md;\n const title = localState?.title;\n const ingress1 = localState?.ingress1;\n const choices = localState?.choices;\n const navigateOmVerktoyet = choices && choices[2];\n const navigateForward = localState?.navigationButtons && localState.navigationButtons.find(e => e.type === NavigationType.forward);\n const navigate = useNavigate();\n\n useEffect(() => {\n dispatch(setLane(undefined));\n }, [dispatch]);\n\n if (typeof localState === 'undefined') {\n return null;\n }\n\n const introButtonOnClick = (choice: Choice): void => {\n dispatch(\n setIntroChoiceUrl(choice.navigateTo === IntroChoiceUrlEnum.temavalg ? IntroChoiceUrlEnum.temavalg : IntroChoiceUrlEnum.quizinngang)\n );\n if (!answeredIntro) {\n safeNavigate(navigate, 'hva-beskriver-deg-best');\n } else {\n safeNavigate(navigate, choice.navigateTo);\n }\n };\n\n return (\n safeNavigate(navigate, navigateForward?.navigateTo)}\n >\n \n {title && {title}}\n
\n {ingress1 && (\n

\n \n

\n )}\n
\n
\n {choices &&\n choices.slice(0, 2).map((choice, index) => {\n const firstElement = index === 0;\n return (\n introButtonOnClick(choice)}\n variant={'main-large'}\n rightArrow={!mobile}\n title={choice.title}\n >\n {choice.ingress}\n \n );\n })}\n
\n
\n
\n {navigateOmVerktoyet?.title && (\n
\n
{navigateOmVerktoyet.title}
\n
\n {navigateOmVerktoyet.ingress}\n \n
\n
\n )}\n
\n \n );\n};\n","import { FC } from 'react';\n\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { NavigationType } from '../../types/enum';\n\nimport { Button } from '../../components/button';\nimport { Title } from '../../components/title';\nimport { useAppSelector } from '../../redux/hooks';\nimport { selectIntroChoiceUrl, selectPage } from '../../redux/selectors';\nimport { harQuizInngang } from '../../utils/helper';\nimport { safeNavigate } from '../../utils/navigate';\n\nimport styles from './styles.module.scss';\n\nexport const ExitSection: FC = () => {\n const location = useLocation();\n const localState = useAppSelector(state => selectPage(state, location.pathname));\n const introChoiceUrl = useAppSelector(selectIntroChoiceUrl);\n const quizFarge = harQuizInngang(introChoiceUrl);\n const exit = localState?.exit;\n\n const navigateExit = localState?.navigationButtons && localState.navigationButtons.filter(e => e.type === NavigationType.exit);\n const navigate = useNavigate();\n\n return (\n
\n {exit &&\n exit.map((e, index) => {\n const nExit = navigateExit && Array.isArray(navigateExit) ? navigateExit[index] : navigateExit;\n return (\n
\n {e.exitTitle && (\n \n {e.exitTitle}\n \n )}\n {e.exitIngress &&
{e.exitIngress}
}\n {nExit && (\n \n )}\n
\n );\n })}\n
\n );\n};\n\nexport default ExitSection;\n","import { FC, useEffect } from 'react';\n\nimport classnames from 'classnames';\nimport { useDispatch } from 'react-redux';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { NavigationType, PageType } from '../../types/enum';\n\nimport SafeHTML from '@helsenorge/framework-utils/components/safe-html';\n\nimport ExitSection from '../../components/exit-section';\nimport { Title } from '../../components/title';\nimport { Wrapper } from '../../components/wrapper';\nimport WrapperInner from '../../components/wrapper/inner';\nimport { useAppSelector } from '../../redux/hooks';\nimport { selectAnalyticsData, selectAnsweredIntro, selectIntroChoiceUrl, selectPage } from '../../redux/selectors';\nimport { setAnsweredIntro } from '../../redux/selvtestSlice';\nimport { trackAnalyticsData } from '../../utils/analytics';\nimport { safeNavigate } from '../../utils/navigate';\n\nimport styles from './styles.module.scss';\n\nexport const KanIkkeHjelpe: FC = () => {\n const dispatch = useDispatch();\n const location = useLocation();\n const localState = useAppSelector(state => selectPage(state, location.pathname));\n const introChoiceUrl = useAppSelector(selectIntroChoiceUrl);\n const answeredIntro = useAppSelector(selectAnsweredIntro);\n const analyticsData = useAppSelector(selectAnalyticsData);\n\n const pageType = localState?.type;\n const isQuizPage = pageType && pageType === PageType.quizsvar;\n const temaTitle = localState?.title;\n const temaText1 = localState?.ingress1;\n\n const navigateForward = localState?.navigationButtons && localState.navigationButtons.find(e => e.type === NavigationType.forward);\n\n const navigate = useNavigate();\n\n useEffect(() => {\n if (!isQuizPage && answeredIntro) {\n safeNavigate(navigate, '/');\n } else {\n trackAnalyticsData(analyticsData);\n }\n }, [navigate, isQuizPage, answeredIntro]);\n\n return (\n {\n dispatch(setAnsweredIntro(true));\n safeNavigate(navigate, introChoiceUrl ?? navigateForward?.navigateTo);\n }}\n onClickBack={() => {\n navigate(-1);\n }}\n >\n \n
\n {temaTitle}\n
\n {temaText1 && (\n
\n \n
\n )}\n \n
\n \n );\n};\nexport default KanIkkeHjelpe;\n","import type { JSX } from 'react';\n\nimport { IconProps } from './Icon';\n\nconst HdirLogo = ({ size = { width: 100, height: 100 } }: IconProps): JSX.Element => (\n \n {'Helsedirektoratet logo'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default HdirLogo;\n","import { FC } from 'react';\n\nimport classnames from 'classnames';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { NavigationType } from '../../types/enum';\n\nimport AnchorLink from '@helsenorge/designsystem-react/components/AnchorLink';\nimport { useBreakpoint } from '@helsenorge/designsystem-react/hooks/useBreakpoint';\nimport { breakpoints } from '@helsenorge/designsystem-react/theme/grid';\n\nimport SafeHTML from '@helsenorge/framework-utils/components/safe-html';\n\nimport { Title } from '../../components/title';\nimport { Wrapper } from '../../components/wrapper';\nimport WrapperInner from '../../components/wrapper/inner';\nimport { useAppSelector } from '../../redux/hooks';\nimport { selectExternalTilgjengelighetserklaering, selectPage } from '../../redux/selectors';\nimport HdirLogo from '../../utils/Icons/HdirLogo';\nimport { safeNavigate } from '../../utils/navigate';\n\nimport styles from './styles.module.scss';\n\nexport const OmVerktoyet: FC = () => {\n const breakpoint = useBreakpoint();\n const mobile = breakpoint < breakpoints.md;\n const location = useLocation();\n const localState = useAppSelector(state => selectPage(state, location.pathname));\n const tilgjengelighetserklaering = useAppSelector(selectExternalTilgjengelighetserklaering);\n\n const title = localState?.title;\n const subtitle = localState?.subtitle;\n const ingress1 = localState?.ingress1;\n const ingress2 = localState?.ingress2;\n\n const navigate = useNavigate();\n\n const navigateBack = localState?.navigationButtons && localState.navigationButtons.find(e => e.type === NavigationType.back);\n const navigateForward = localState?.navigationButtons && localState.navigationButtons.find(e => e.type === NavigationType.forward);\n\n return (\n safeNavigate(navigate, navigateForward?.navigateTo)}\n onClickBack={() => {\n if (navigateBack?.navigateTo) {\n safeNavigate(navigate, navigateBack.navigateTo);\n } else {\n navigate(-1);\n }\n }}\n >\n \n
\n {title && {title}}\n {ingress1 && (\n
\n \n {tilgjengelighetserklaering && (\n

\n \n {tilgjengelighetserklaering.linkText}\n \n

\n )}\n
\n )}\n {subtitle &&
{subtitle}
}\n {ingress2 && (\n
\n \n
\n )}\n
\n {!mobile && (\n
\n \n
\n )}\n
\n \n );\n};\nexport default OmVerktoyet;\n","import type { JSX } from 'react';\n\nimport { IconProps } from '../Icon';\n\nimport './dyr.scss';\n\nconst Dyr = ({ size }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default Dyr;\n","import type { JSX } from 'react';\n\nimport { IconProps } from '../Icon';\n\nconst Familie = ({ size }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n);\n\nexport default Familie;\n","import type { JSX } from 'react';\n\nimport { IconProps } from '../Icon';\nconst IkkeVil = ({ size }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n);\n\nexport default IkkeVil;\n","import type { JSX } from 'react';\n\nimport { IconProps } from '../Icon';\n\nconst Sarbar = ({ size }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default Sarbar;\n","import type { JSX } from 'react';\n\nimport { IconProps } from '../Icon';\n\nconst Sover = ({ size }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n);\n\nexport default Sover;\n","import type { JSX } from 'react';\n\nimport { IconProps } from '../Icon';\n\nconst AndresGrenser = ({ size = { width: 100, height: 0 } }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n \n \n);\n\nexport default AndresGrenser;\n","import type { JSX } from 'react';\n\nimport { IconProps } from '../Icon';\n\nconst BilderOgVideo = ({ size }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default BilderOgVideo;\n","import type { JSX } from 'react';\n\nimport { IconProps } from '../Icon';\n\nconst Onanering = ({ size }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default Onanering;\n","import type { JSX } from 'react';\n\nimport { IconProps } from '../Icon';\n\nconst Pedofili = ({ size }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default Pedofili;\n","import type { JSX } from 'react';\n\nimport { IconProps } from '../Icon';\n\nconst Porno = ({ size }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default Porno;\n","import type { JSX } from 'react';\n\nimport { IconProps } from '../Icon';\n\nconst Samtykke = ({ size }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n \n \n);\n\nexport default Samtykke;\n","import type { JSX } from 'react';\n\nimport { IconProps } from '../Icon';\n\nconst SeksuellLavalder = ({ size }: IconProps): JSX.Element => (\n \n \n \n \n \n \n);\n\nexport default SeksuellLavalder;\n","import type { JSX } from 'react';\n\nimport { IconProps } from '../Icon';\n\nconst TankerOgFantasier = ({ size }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n);\n\nexport default TankerOgFantasier;\n","import type { JSX } from 'react';\n\nimport Dyr from '../../utils/Icons/Quiz/dyr';\nimport Familie from '../../utils/Icons/Quiz/Familie';\nimport IkkeVil from '../../utils/Icons/Quiz/IkkeVil';\nimport Sarbar from '../../utils/Icons/Quiz/Sarbar';\nimport Sover from '../../utils/Icons/Quiz/Sover';\nimport AndresGrenser from '../../utils/Icons/Tema/AndresGrenser';\nimport BilderOgVideo from '../../utils/Icons/Tema/BilderOgVideoer';\nimport Onanering from '../../utils/Icons/Tema/Onanering';\nimport Pedofili from '../../utils/Icons/Tema/Pedofili';\nimport Porno from '../../utils/Icons/Tema/Porno';\nimport Samtykke from '../../utils/Icons/Tema/Samtykke';\nimport SeksuellLavalder from '../../utils/Icons/Tema/SeksuellLavalder';\nimport TankerOgFantasier from '../../utils/Icons/Tema/TankerOgFantasier';\n\nexport const getIcon = (tema?: string): JSX.Element | null => {\n switch (tema) {\n case 'Onanering':\n return ;\n case 'Mine_og_andres_grenser':\n return ;\n case 'Tanker_og_fantasier':\n return ;\n case 'Pedofili':\n return ;\n case 'Porno_og_gaming':\n return ;\n case 'Seksuell_lavalder':\n return ;\n case 'Samtykke':\n return ;\n case 'Bilder_og_video':\n return ;\n case 'Ikke_vil':\n return ;\n case 'Dyr_dukke':\n return ;\n case 'Familie':\n return ;\n case 'Sover':\n return ;\n case 'Sarbar':\n return ;\n default:\n return null;\n }\n};\n","import { cloneElement, JSXElementConstructor, ReactElement } from 'react';\nimport type { JSX } from 'react';\n\nimport classnames from 'classnames';\nimport { useLocation } from 'react-router-dom';\n\nimport { NavigationType } from '../../types/enum';\n\nimport { breakpoints } from '@helsenorge/designsystem-react/theme/grid';\n\nimport { useBreakpoint } from '@helsenorge/designsystem-react';\n\nimport { findPathName, findPathNameNoHash } from '../../containers/svarside/helper';\nimport { getIcon } from '../../containers/temavalg/iconSelection';\nimport { useAppSelector } from '../../redux/hooks';\nimport { selectIntroChoiceUrl, selectLane, selectSpecificPage } from '../../redux/selectors';\nimport { IntroChoiceUrlEnum } from '../../redux/selvtestSlice';\nimport { RootState } from '../../redux/store';\nimport { IconProps } from '../../utils/Icons/Icon';\n\nimport styles from './styles.module.scss';\n\ninterface Props {\n erSvarSide?: boolean;\n text?: string;\n}\nexport const IconDisplay = (props: Props): JSX.Element => {\n const introChoiceUrl = useAppSelector(selectIntroChoiceUrl);\n const quiz = introChoiceUrl === IntroChoiceUrlEnum.quizinngang;\n const temaer = useAppSelector((state: RootState) => selectSpecificPage(state, introChoiceUrl));\n const lane = useAppSelector(selectLane);\n const location = useLocation();\n const params = lane ? findPathNameNoHash(lane) : findPathName(location.pathname);\n //Fix for refresh på side\n const paramEtterRefresh = useAppSelector(state => selectSpecificPage(state, location.pathname))?.navigationButtons?.find(\n nav => nav.type === NavigationType.back\n )?.navigateTo;\n const tema = temaer?.choices?.find(c => c.navigateTo === params) ?? temaer?.choices?.find(c => c.navigateTo === paramEtterRefresh);\n\n const breakpoint = useBreakpoint();\n const mobile = breakpoint < breakpoints.md;\n const temavalgClasses = classnames(styles['icon-display'], { [styles['icon-display--quiz']]: quiz });\n const HtmlMarkup = quiz || props.erSvarSide ? 'div' : 'h2';\n\n if (tema || props.text) {\n const renderIcon = (icon: string): ReactElement> | null => {\n let iconSize = { width: 90, height: 90 };\n if (mobile) {\n iconSize = { width: 45, height: 45 };\n }\n\n return icon ? cloneElement(getIcon(icon) as ReactElement, { size: iconSize }) : null;\n };\n const svarsidetekst = (): JSX.Element => {\n return (\n
\n
{'Spørsmål:'}
\n
{props.text}
\n
\n );\n };\n\n return (\n
\n {tema?.icon &&
{renderIcon(tema.icon)}
}\n {(tema?.text || props.text) && (\n \n {props.text ? svarsidetekst() : tema?.text}\n \n )}\n
\n );\n }\n return <>;\n};\n","import { useEffect } from 'react';\n\nimport { useLocation, useNavigationType } from 'react-router-dom';\n\nimport { PageType, pageTypeMapping } from '../types/enum';\n\nimport { useAppDispatch } from '../redux/hooks';\nimport { addPoppedUrl, setPage } from '../redux/selvtestSlice';\n\nexport const useHistoryListen = (): void => {\n const location = useLocation();\n const navigationType = useNavigationType();\n const dispatch = useAppDispatch();\n\n useEffect(() => {\n const isQuizPage = location.pathname.startsWith('/quiz/') || location.pathname.includes(pageTypeMapping(PageType.quizsvar));\n if (navigationType === 'POP' && isQuizPage) {\n // Vi holder på en liste av sider vi har gått tilbake fra - slik at vi kan slette svarene derfra\n dispatch(addPoppedUrl(location.pathname));\n // Settes nåværende side etter addPoppedUrl har brukt forrige nåværende side i sjekken sin\n dispatch(setPage(location.pathname));\n } else if (navigationType === 'PUSH' && isQuizPage) {\n dispatch(setPage(location.pathname));\n }\n }, [location, navigationType, dispatch]);\n};\n","import { FC, ReactNode, useEffect } from 'react';\nimport type { JSX } from 'react';\n\nimport classnames from 'classnames';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport { Action } from 'redux';\nimport { ThunkDispatch } from 'redux-thunk';\n\nimport { ChoicesType, NavigationType, PageType, ResponseLevel, ResponseType, SvarsideEnum } from '../../types/enum';\n\nimport { Button } from '../../components/button';\nimport { IconDisplay } from '../../components/icon-display';\nimport { Title } from '../../components/title';\nimport { Wrapper } from '../../components/wrapper';\nimport ContentWrapper from '../../components/wrapper/content';\nimport { WrapperInner } from '../../components/wrapper/inner';\nimport { useAppDispatch, useAppSelector } from '../../redux/hooks';\nimport { selectChosenAnswers, selectPoppedUrls, selectSpecificPage } from '../../redux/selectors';\nimport {\n addAnswers,\n Choice,\n IntroChoiceUrlEnum,\n removePoppedAnswers,\n setAnswers,\n setIntroChoiceUrl,\n setLane,\n setPoppedUrls,\n} from '../../redux/selvtestSlice';\nimport { RootState } from '../../redux/store';\nimport { safeNavigate } from '../../utils/navigate';\nimport { useHistoryListen } from '../../utils/useHistoryListen';\n\nimport styles from './styles.module.scss';\n\n// Denne bruker ThunkDispatch for å passe på at det ventes med å kjøre andre funksjoner før etter dette er gjort\nexport const removePoppedAnswersHandler = () => {\n return async (dispatch: ThunkDispatch): Promise => {\n dispatch(removePoppedAnswers());\n };\n};\n\nexport const Quiz: FC = () => {\n const navigate = useNavigate();\n useHistoryListen();\n const dispatch = useAppDispatch();\n const location = useLocation();\n const localState = useAppSelector((state: RootState) => selectSpecificPage(state, location.pathname));\n const chosenAnswers = useAppSelector(selectChosenAnswers);\n const poppedUrls = useAppSelector(selectPoppedUrls);\n const title = localState?.title;\n const choices = localState?.choices;\n const extraChoices = localState?.extraChoices;\n\n useEffect(() => {\n dispatch(setIntroChoiceUrl(IntroChoiceUrlEnum.quizinngang));\n const isEntryQuizPage = localState?.type === PageType.quizstart;\n const shouldResetAnswers = chosenAnswers && (!poppedUrls || chosenAnswers.length > poppedUrls.length);\n window.addEventListener('beforeunload', onUnload);\n dispatch(setLane(localState?.urlPath));\n\n if (isEntryQuizPage && shouldResetAnswers) {\n dispatch(setAnswers(null));\n dispatch(setPoppedUrls(null));\n }\n\n return (): void => {\n window.removeEventListener('beforeunload', onUnload);\n };\n }, [dispatch, chosenAnswers, poppedUrls, localState?.type, localState?.urlPath]);\n\n const onUnload = (event: BeforeUnloadEvent): void | string => {\n const confirmationMessage = 'advarsel';\n event.returnValue = confirmationMessage;\n return event.returnValue;\n };\n\n const handleButtonAnswer = (c: Choice): void => {\n dispatch(removePoppedAnswersHandler());\n dispatch(addAnswers([c]));\n if (c.navigateTo.includes('quizsvar')) {\n decideAnswerPage(c);\n } else {\n navigate(c.navigateTo);\n }\n };\n\n const decideAnswerPage = (lastChoice: Choice): void => {\n const allAnswers = chosenAnswers ? [...chosenAnswers, lastChoice] : [lastChoice];\n let pavirkningLevel = -1;\n let prosessPavirkningLevel = -1;\n let prosessForberedelserLevel = -1;\n\n allAnswers.forEach(a => {\n if (!a.responseLevel) {\n return;\n }\n if (a.responseType === ResponseType.pavirkning && a.responseLevel > pavirkningLevel) {\n pavirkningLevel = a.responseLevel;\n } else if (a.responseType === ResponseType.prosesspavirkning && a.responseLevel > prosessPavirkningLevel) {\n prosessPavirkningLevel = a.responseLevel; //bekymret\n } else if (a.responseType === ResponseType.prosessforberedelser && a.responseLevel > prosessForberedelserLevel) {\n prosessForberedelserLevel = a.responseLevel; //grad\n }\n });\n\n if (pavirkningLevel === ResponseLevel.gronn) {\n navigate(SvarsideEnum.quizsvar_en);\n } else if (pavirkningLevel === ResponseLevel.gul) {\n navigate(SvarsideEnum.quizsvar_to);\n } else if (pavirkningLevel === ResponseLevel.rod) {\n navigate(SvarsideEnum.quizsvar_tre);\n } else if (prosessPavirkningLevel === ResponseLevel.gronn && prosessForberedelserLevel === ResponseLevel.gronn) {\n navigate(SvarsideEnum.quizsvar_en_en);\n } else if (prosessPavirkningLevel === ResponseLevel.gronn && prosessForberedelserLevel === ResponseLevel.gul) {\n navigate(SvarsideEnum.quizsvar_en_to);\n } else if (prosessPavirkningLevel >= ResponseLevel.gul && prosessForberedelserLevel === ResponseLevel.gul) {\n navigate(SvarsideEnum.quizsvar_to_to);\n } else if (prosessPavirkningLevel >= ResponseLevel.gul && prosessForberedelserLevel === ResponseLevel.rod) {\n navigate(SvarsideEnum.quizsvar_to_tre);\n } else if (prosessPavirkningLevel === ResponseLevel.gronn && prosessForberedelserLevel === ResponseLevel.rod) {\n navigate(SvarsideEnum.quizsvar_en_tre);\n } else if (prosessPavirkningLevel >= ResponseLevel.gul && prosessForberedelserLevel === ResponseLevel.gronn) {\n navigate(SvarsideEnum.quizsvar_to_en);\n } else {\n navigate(SvarsideEnum.quizsvar_noytral);\n }\n };\n\n const choicesRender =\n choices &&\n choices.map(c => {\n if (c.type === ChoicesType.normal) {\n return (\n \n );\n }\n });\n const extraChoicesRender =\n extraChoices &&\n extraChoices.map(c => {\n if (c.type === ChoicesType.normal) {\n return (\n \n );\n }\n });\n\n const choicesLength = choicesRender?.length ?? 0;\n const extraChoicesLength = extraChoicesRender?.length ?? 0;\n const fewChoices = choicesLength + extraChoicesLength <= 2;\n\n const navigateForward = localState?.navigationButtons && localState.navigationButtons.find(e => e.type === NavigationType.forward);\n\n const renderContent = (contentToRender: ReactNode, renderTitle: boolean, contentWrapperClasses?: string): JSX.Element => {\n return (\n \n {renderTitle && }\n {renderTitle && title && {title}}\n {\n
\n {contentToRender && {contentToRender}}\n
\n }\n
\n );\n };\n\n return (\n safeNavigate(navigate, navigateForward?.navigateTo)}\n onClickBack={() => {\n navigate(-1);\n }}\n >\n {choicesRender && renderContent(choicesRender, true)}\n {extraChoicesRender && renderContent(extraChoicesRender, false, styles['content-wrapper--extra-content'])}\n \n );\n};\n","import { FC, useEffect } from 'react';\n\nimport classnames from 'classnames';\nimport { useDispatch } from 'react-redux';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { Button } from '../../components/button';\nimport { Title } from '../../components/title';\nimport { Wrapper } from '../../components/wrapper';\nimport WrapperInner from '../../components/wrapper/inner';\nimport { useAppSelector } from '../../redux/hooks';\nimport { selectPage } from '../../redux/selectors';\nimport { IntroChoiceUrlEnum, setIntroChoiceUrl, setLane } from '../../redux/selvtestSlice';\nimport { safeNavigate } from '../../utils/navigate';\n\nimport styles from './styles.module.scss';\n\nexport const QuizInngangside: FC = () => {\n const location = useLocation();\n const localState = useAppSelector(state => selectPage(state, location.pathname));\n\n const title = localState?.title;\n const subTitle = localState?.subtitle;\n const choices = localState?.choices;\n const navigate = useNavigate();\n\n const dispatch = useDispatch();\n useEffect(() => {\n dispatch(setLane(undefined));\n dispatch(setIntroChoiceUrl(IntroChoiceUrlEnum.quizinngang));\n }, [dispatch]);\n\n return (\n {\n navigate(-1);\n }}\n >\n \n \n \n {title}\n \n \n {subTitle}\n \n \n\n
\n {choices &&\n choices.map(choice => {\n return (\n \n );\n })}\n
\n
\n \n );\n};\n","import { jsx, jsxs } from \"react/jsx-runtime\";\nimport { useState, useRef, useEffect } from \"react\";\nimport classNames from \"classnames\";\nimport { ZIndex, AnalyticsId } from \"../../constants.js\";\nimport { u as uuid } from \"../../uuid.js\";\nimport loaderStyles from \"./styles.module.scss\";\nvar Overlay = /* @__PURE__ */ ((Overlay2) => {\n Overlay2[\"screen\"] = \"screen\";\n Overlay2[\"parent\"] = \"parent\";\n return Overlay2;\n})(Overlay || {});\nconst Loader = (props) => {\n const {\n overlay,\n size = \"small\",\n className = \"\",\n labelId = uuid(),\n testId,\n center,\n inline,\n ariaLabelledById,\n ariaLabel = \"Laster inn\"\n } = props;\n const color = props.overlay ? \"white\" : props.color || \"neutral\";\n const showLoader = () => {\n if (overlay === \"parent\" || inline) {\n return false;\n }\n return true;\n };\n const [display, setDisplay] = useState(showLoader());\n const isSmall = size === \"small\";\n const isMedium = size === \"medium\";\n const isLarge = size === \"large\";\n const loaderWrapperClasses = classNames({\n [loaderStyles[\"loader-wrapper--center\"]]: center,\n [loaderStyles[\"loader-wrapper--overlay\"]]: overlay,\n [loaderStyles[\"loader-wrapper--overlay-screen\"]]: overlay === \"screen\",\n [loaderStyles[\"loader-wrapper--overlay-parent\"]]: overlay === \"parent\" && display,\n [loaderStyles[\"loader-wrapper--inline\"]]: inline && display\n });\n const loaderClasses = classNames(\n loaderStyles.loader,\n {\n [loaderStyles[\"loader--small\"]]: isSmall,\n [loaderStyles[\"loader--medium\"]]: isMedium,\n [loaderStyles[\"loader--large\"]]: isLarge\n },\n className\n );\n const loaderDotClasses = classNames(loaderStyles.loader__dot, {\n [loaderStyles[\"loader__dot--small\"]]: isSmall,\n [loaderStyles[\"loader__dot--medium\"]]: isMedium,\n [loaderStyles[\"loader__dot--large\"]]: isLarge,\n [loaderStyles[\"loader__dot--banana\"]]: color === \"banana\",\n [loaderStyles[\"loader__dot--cherry\"]]: color === \"cherry\",\n [loaderStyles[\"loader__dot--kiwi\"]]: color === \"kiwi\",\n [loaderStyles[\"loader__dot--neutral\"]]: color === \"neutral\",\n [loaderStyles[\"loader__dot--plum\"]]: color === \"plum\",\n [loaderStyles[\"loader__dot--black\"]]: color === \"black\",\n [loaderStyles[\"loader__dot--white\"]]: color === \"white\"\n });\n const wrapperRef = useRef(null);\n useEffect(() => {\n var _a, _b, _c, _d;\n if (overlay === \"parent\" && ((_b = (_a = wrapperRef.current) == null ? void 0 : _a.parentElement) == null ? void 0 : _b.style)) {\n wrapperRef.current.parentElement.style.position = \"relative\";\n setDisplay(true);\n }\n if (inline && ((_d = (_c = wrapperRef.current) == null ? void 0 : _c.parentElement) == null ? void 0 : _d.style)) {\n wrapperRef.current.parentElement.style.display = \"flex\";\n setDisplay(true);\n }\n }, []);\n return /* @__PURE__ */ jsx(\"div\", { className: loaderWrapperClasses, ref: wrapperRef, style: overlay === \"screen\" ? { zIndex: ZIndex.OverlayScreen } : {}, children: display && /* @__PURE__ */ jsxs(\n \"div\",\n {\n \"data-testid\": testId,\n \"data-analyticsid\": AnalyticsId.Loader,\n role: \"progressbar\",\n \"aria-labelledby\": ariaLabelledById || labelId,\n className: loaderClasses,\n children: [\n /* @__PURE__ */ jsx(\"div\", { className: loaderDotClasses }),\n /* @__PURE__ */ jsx(\"div\", { className: loaderDotClasses }),\n /* @__PURE__ */ jsx(\"div\", { className: loaderDotClasses }),\n /* @__PURE__ */ jsx(\"div\", { className: loaderDotClasses }),\n !ariaLabelledById && /* @__PURE__ */ jsx(\"span\", { id: labelId, className: loaderStyles[\"loader__hidden-text\"], children: ariaLabel })\n ]\n }\n ) });\n};\nexport {\n Overlay,\n Loader as default\n};\n//# sourceMappingURL=index.js.map\n","/// \n\n//Id til Sex og Samfunn verktøy i ulike miljøer:\nconst environmentSpecificChatCardId: Record = {\n 'mas-02': 'edc148f5-325d-4320-a2f0-bf8b9445e72c',\n test1: 'e0ed1673-ae78-44ff-a027-48252045d0dd',\n test2: 'd86279e2-64f9-46fd-80b8-3dedf961368b',\n '': 'a68c3e61-a1cc-4a62-aff5-59b674559948',\n};\n\nfunction getEnvironmentSpecificId(): string {\n const environment = window.HN?.Rest?.Environment;\n return environment ? environmentSpecificChatCardId[environment] : environmentSpecificChatCardId[''];\n}\n\nfunction doesIdExist(givenId: string): boolean {\n return Object.values(environmentSpecificChatCardId).includes(givenId);\n}\n\nexport const getChatCardId = (givenId: string | undefined): string => {\n //Gitt at id-en ikke er en av de angitte id-ene antar vi at den er ny. Ny id skal brukes\n if (givenId && !doesIdExist(givenId)) {\n return givenId;\n } else {\n //gitt id er en av id-ene vi har brukt tidligere. Om id-en angitt er til feil miljø så retter vi det.\n return getEnvironmentSpecificId();\n }\n};\n","import type { JSX } from 'react';\n\nimport { IconProps } from '../Icon';\n\nconst ChatBubble = ({ size = { width: 53, height: 53 } }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default ChatBubble;\n","import type { JSX } from 'react';\n\nimport { IconProps } from '../Icon';\n\nconst Phone = ({ size = { width: 50, height: 50 } }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default Phone;\n","import { FunctionComponent, ReactNode, useEffect, useState } from 'react';\nimport type { JSX } from 'react';\n\nimport classnames from 'classnames';\n\nimport { Apningstid, UtvidetInformasjonVeiledningstjeneste } from '../../types/verktoynetcoreentities';\n\nimport Loader from '@helsenorge/designsystem-react/components/Loader';\n\nimport { getChatCardData } from '../../utils/api-utils';\nimport { getChatCardId } from '../../utils/chatCardId';\nimport ChatBubble from '../../utils/Icons/ChatCard/ChatBubble';\nimport Phone from '../../utils/Icons/ChatCard/Phone';\nimport { Title } from '../title';\n\nimport styles from './styles.module.scss';\n\nconst getDayText = (index: number): string => {\n const daysArray = ['Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag', 'Søndag'];\n return daysArray[index - 1];\n};\n\nconst isWithinTime = (currentTime: string, fromTime?: string | null, toTime?: string | null): boolean => {\n if (!fromTime || !toTime) return false;\n return currentTime >= fromTime && currentTime <= toTime;\n};\n\n// Finner den første som har høyere dag index, ellers finn den første lavere\nconst getNextOpenDay = (currentDayIndex: number, openDays: Apningstid[]): Apningstid | undefined => {\n return (\n openDays.find(od => {\n return od.Dag > currentDayIndex && (typeof od.FraKl !== 'undefined' || od.ApenHeleDagen);\n }) ??\n openDays.find(od => {\n return od.Dag < currentDayIndex && (typeof od.FraKl !== 'undefined' || od.ApenHeleDagen);\n })\n );\n};\n\nconst getOpenClosedTexts = (openDates: Apningstid[]): { statusText: string; timeText: string } => {\n const currentDate = new Date();\n // Lokaliserer og garanterer 0 før tidspunkt - f.eks. blir 9:50 til 09:50\n const currentTime =\n currentDate.getHours().toLocaleString('nb-NO').padStart(2, '0') +\n ':' +\n currentDate.getMinutes().toLocaleString('nb-NO').padStart(2, '0');\n // Setter startindex til mandag (1), og sluttindex til søndag (7)\n const currentDayIndex = currentDate.getDay() === 0 ? 7 : currentDate.getDay();\n const currentOpenDate = openDates.find(od => od.Dag === currentDayIndex);\n const currentOpenFromTime = currentOpenDate?.FraKl;\n const currentOpenToTime = currentOpenDate?.TilKl;\n\n const isAfterOpeningHours =\n !currentOpenDate?.ApenHeleDagen && (!currentOpenToTime || typeof currentOpenToTime === 'undefined' || currentTime >= currentOpenToTime);\n const currentlyOpen = !isAfterOpeningHours && isWithinTime(currentTime, currentOpenFromTime, currentOpenToTime);\n const nextOpenDate = isAfterOpeningHours ? getNextOpenDay(currentDayIndex, openDates) : undefined;\n\n const statusText = currentlyOpen ? 'Åpent' : 'Stengt';\n const timeText = currentlyOpen\n ? `Stenger: ${currentOpenToTime}`\n : `Åpner: ${nextOpenDate ? getDayText(nextOpenDate.Dag) : ''} ${nextOpenDate?.FraKl ?? currentOpenFromTime}`;\n\n return { statusText: statusText, timeText: timeText };\n};\n\ntype ChatCardsTexts = {\n openClosed: { status: string; time: string };\n title: { text: string; href: string };\n topics: string[];\n tabs: { buttons: string[]; content: ReactNode[] };\n bubbleContact: { href: string; ariaLabel: string };\n phoneContact: { href: string; ariaLabel: string };\n};\n\ninterface ChatCardProps {\n texts: ChatCardsTexts;\n}\n\nconst ChatCard: FunctionComponent = (props: ChatCardProps) => {\n const { texts } = props;\n\n const [selectedTab, setSelectedTab] = useState(0);\n\n const openClosedTextClasses = classnames(\n styles['chat-card__header__open-closed-text'],\n styles['chat-card__header__open-closed-text--bold']\n );\n\n const renderTabButton = (text: string, index: number): JSX.Element => {\n const tabButtonClasses = classnames(styles['chat-card__tab-button'], {\n [styles['chat-card__tab-button--active']]: selectedTab === index,\n });\n\n return (\n \n );\n };\n\n const renderTabContent = (children: ReactNode, index: number): JSX.Element => {\n const tabContentClasses = classnames(styles['chat-card__tab-content'], {\n [styles['chat-card__tab-content--active']]: selectedTab === index,\n });\n\n return (\n
\n {children}\n
\n );\n };\n\n return (\n
\n
\n {texts.openClosed && (\n

\n {texts.openClosed.status}\n {' - '}\n {texts.openClosed.time}\n

\n )}\n {texts.title && (\n \n {texts.title.text}\n \n )}\n {texts.topics && (\n
\n {texts.topics.map((topic, index) => {\n return (\n \n {topic}\n \n );\n })}\n
\n )}\n
\n {texts.tabs && (\n
\n
\n
\n {texts.tabs.buttons.map((button, index) => {\n return renderTabButton(button, index);\n })}\n
\n {texts.tabs.content.map((c, index) => {\n return renderTabContent(c, index);\n })}\n
\n
\n )}\n
\n {texts.bubbleContact && (\n \n {}\n \n )}\n {texts.phoneContact && (\n \n {}\n \n )}\n
\n
\n );\n};\n\nexport interface ChatCardsProps {\n cardId: string;\n}\n\nexport const ChatCards: FunctionComponent = (props: ChatCardsProps) => {\n const { cardId } = props;\n\n const [chatCardData, setChatCardData] = useState();\n const [error, setError] = useState();\n const chatLoaderId = 'chat-loader';\n\n useEffect(() => {\n fetchCardData();\n }, []);\n\n const getChatCardText = (): ChatCardsTexts | undefined => {\n if (!chatCardData || typeof chatCardData.Apningstid === 'undefined') return;\n const openTime = chatCardData.Apningstid;\n const openClosedTexts = getOpenClosedTexts(openTime);\n\n const newChatCardsText = {\n openClosed: { status: openClosedTexts.statusText, time: openClosedTexts.timeText },\n title: {\n text: chatCardData.Navn,\n href: chatCardData.Lenker[0],\n },\n topics: chatCardData.Sokeord.map(so => so.toUpperCase()) /* ['SEX', 'KJØNNSSYKDOMMER', 'KJØNNSIDENTITET'], */,\n tabs: {\n buttons: ['Info', 'Åpningstider', 'Bemanning'],\n content: [\n

\n {chatCardData.Ingress ?? chatCardData.Beskrivelse}\n

,\n
\n {renderOpenDays(chatCardData)}\n
,\n

\n {chatCardData.BemanningTypeNavn\n ? `Det er ${chatCardData.BemanningTypeNavn} som bemanner denne.`\n : 'Det er ikke informasjon om bemanningen.'}\n

,\n ],\n },\n bubbleContact: {\n href: chatCardData.Lenker[0],\n ariaLabel: `Åpne chat for ${chatCardData.Navn}`,\n },\n phoneContact: {\n href: `tel:${chatCardData.Telefon}`,\n ariaLabel: `Ring ${chatCardData.Navn} på nummer ${chatCardData.Telefon}}`,\n },\n };\n\n // setChatCardText(newChatCardsText);\n return newChatCardsText;\n };\n\n const fetchCardData = async (): Promise => {\n try {\n const chatCardJson = await getChatCardData(getChatCardId(cardId));\n const chatCardJsonString = JSON.stringify(chatCardJson);\n const newChatCardData: UtvidetInformasjonVeiledningstjeneste = JSON.parse(chatCardJsonString)[\n 'Veiledningstjeneste'\n ] as UtvidetInformasjonVeiledningstjeneste;\n\n newChatCardData.Apningstid = newChatCardData.Apningstid.map((at: Apningstid) => {\n at.FraKl = at.FraKl ? at.FraKl.slice(0, -3) : '';\n at.TilKl = at.TilKl ? at.TilKl.slice(0, -3) : '';\n return at;\n });\n\n setChatCardData(newChatCardData);\n } catch {\n setError('Kunne ikke hente chattetjenester, prøv igjen.');\n }\n };\n\n const renderOpenDays = (cardData: UtvidetInformasjonVeiledningstjeneste): JSX.Element[] => {\n const dddtArray = [];\n\n for (let i = 1; i < 7; i++) {\n const ot = cardData.Apningstid.find(at => at.Dag === i);\n const dt =
{getDayText(i)}
;\n const dd =
{ot?.FraKl ? ot.FraKl + ' - ' + ot.TilKl : 'Stengt'}
;\n dddtArray.push(dt, dd);\n }\n\n return dddtArray;\n };\n\n const chatCardText = getChatCardText();\n\n return (\n
\n \n {'Du kan snakke med:'}\n \n
\n
    \n
  • {'helsesykepleier på skolen'}
  • \n
  • {'helsestasjon for ungdom'}
  • \n
  • {'fastlegen'}
  • \n
  • {'en voksen du stoler på'}
  • \n
\n
\n {chatCardText && (\n
\n \n {'Du kan også ta kontakt med en av tjenestene under:'}\n \n \n
\n )}\n {!chatCardText && !error && (\n <>\n \n {'Laster inn chattetjenester.'}\n \n \n \n )}\n {error && {error}}\n
\n );\n};\n\nexport default ChatCards;\n","import { FC } from 'react';\n\nimport classNames from 'classnames';\n\nimport { breakpoints } from '@helsenorge/designsystem-react/theme/grid';\n\nimport { useBreakpoint } from '@helsenorge/designsystem-react';\n\nimport svarsideStyles from '../../containers/svarside/styles.module.scss';\n\nimport styles from './styles.module.scss';\n\nexport const FinnUtMer: FC = () => {\n const containerClass = classNames(svarsideStyles['svarside-container'], styles['finn-ut-mer']);\n const breakpoint = useBreakpoint();\n const isMobileOrTablet = breakpoint < breakpoints.md;\n return (\n
\n {isMobileOrTablet &&
}\n \n
\n
\n
\n
{'ung.no'}
\n

{'Spørsmål og svar-tjenesten'}

\n
\n {\n 'På ung.no/oss kan du lese hva andre har spurt om eller lurt på. Du kan også selv sende inn spørsmål og få svar fra fagpersoner.'\n }\n
\n
\n
\n
\n \n {isMobileOrTablet &&
}\n \n
\n
\n
\n
{'ung.no'}
\n

{'Les mer om tema “Sex” på ung.no'}

\n
\n {'På ung.no/Sex kan du lese artikler, se videoer og lese spørsmål andre har stilt.'}\n
\n
\n
\n
\n \n
\n );\n};\n","import { jsx } from \"react/jsx-runtime\";\nimport React from \"react\";\nimport classNames from \"classnames\";\nimport { AnalyticsId } from \"../../constants.js\";\nimport styles from \"./styles.module.scss\";\nconst DictionaryTrigger = React.forwardRef(\n ({ children, selected = false, className, testId, ...rest }, ref) => {\n const triggerClasses = classNames(styles.dictionarytrigger, className);\n return /* @__PURE__ */ jsx(\n \"button\",\n {\n type: \"button\",\n \"data-testid\": testId,\n \"data-analyticsid\": AnalyticsId.DictionaryTrigger,\n className: triggerClasses,\n \"aria-expanded\": selected,\n ref,\n ...rest,\n children\n }\n );\n }\n);\nDictionaryTrigger.displayName = \"DictionaryTrigger\";\nexport {\n DictionaryTrigger as default\n};\n//# sourceMappingURL=index.js.map\n","const mergeRefs = (refs) => {\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref != null && ref !== void 0) {\n ref.current = value;\n }\n });\n };\n};\nconst isMutableRefObject = (ref) => {\n return typeof ref !== \"function\" && ref !== null;\n};\nexport {\n isMutableRefObject,\n mergeRefs\n};\n//# sourceMappingURL=refs.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { g as getIcon } from \"../../Icon.js\";\nconst X = ({ size, isHovered }) => {\n const normal = /* @__PURE__ */ jsx(\"path\", { d: \"M25.403 24l10.259-10.259-1.403-1.403L24 22.597l-10.259-10.26-1.403 1.403L22.597 24 12.338 34.26l1.403 1.403L24 25.403l10.259 10.259 1.403-1.403z\" });\n const normalHover = /* @__PURE__ */ jsx(\"path\", { d: \"M24 22.597L12.327 10.924l-1.403 1.402L22.597 24 10.923 35.674l1.403 1.402L24 25.403l11.674 11.673 1.403-1.402L25.403 24l11.673-11.674-1.403-1.402z\" });\n const xSmall = /* @__PURE__ */ jsx(\"path\", { d: \"M25.773 24l10.432-10.432-1.772-1.773-10.432 10.433-10.433-10.433-1.773 1.772L22.229 24 11.795 34.433l1.773 1.772 10.433-10.433 10.432 10.433 1.772-1.773z\" });\n const xSmallHover = /* @__PURE__ */ jsx(\"path\", { d: \"M24 22.227L11.781 10.008l-1.772 1.772 12.219 12.219-12.22 12.22 1.772 1.772L24 25.771l12.22 12.22 1.772-1.772-12.22-12.22L37.991 11.78l-1.772-1.772z\" });\n const xxSmall = /* @__PURE__ */ jsx(\"path\", { d: \"M36.3746 13.6056 34.3946 11.6256 24.0006 22.0196 13.6066 11.6256 11.6266 13.6056 22.0206 23.9996 11.6266 34.3936 13.6066 36.3736 24.0006 25.9796 34.3946 36.3736 36.3746 34.3936 25.9806 23.9996\" });\n const xxSmallHover = /* @__PURE__ */ jsx(\"path\", { d: \"M39.0362 10.9454 37.0562 8.9654 24.0002 22.0194 10.9442 8.9654 8.9642 10.9454 22.0202 23.9994 8.9642 37.0554 10.9442 39.0354 24.0002 25.9814 37.0562 39.0354 39.0362 37.0554 25.9802 23.9994\" });\n return getIcon({ size, isHovered, normal, normalHover, xSmall, xSmallHover, xxSmall, xxSmallHover });\n};\nexport {\n X as default\n};\n//# sourceMappingURL=X.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport React from \"react\";\nimport classNames from \"classnames\";\nimport { AnalyticsId } from \"./constants.js\";\nimport { useBreakpoint, Breakpoint } from \"./hooks/useBreakpoint.js\";\nimport { useHover } from \"./hooks/useHover.js\";\nimport { palette } from \"./theme/palette.js\";\nimport { mergeRefs } from \"./utils/refs.js\";\nimport { I as Icon } from \"./Icon.js\";\nimport X from \"./components/Icons/X.js\";\nimport styles from \"./components/Close/styles.module.scss\";\nconst Close = React.forwardRef(function ButtonForwardedRef(props, ref) {\n const { small, testId, ariaLabel = \"Lukk\", onClick, className, color = palette.blueberry600 } = props;\n const breakpoint = useBreakpoint();\n const { hoverRef, isHovered } = useHover();\n const iconSize = breakpoint === Breakpoint.xs || small ? 38 : 48;\n const closeClasses = classNames(styles.close, { [styles[\"close--small\"]]: small }, className);\n return /* @__PURE__ */ jsx(\n \"button\",\n {\n ref: mergeRefs([ref, hoverRef]),\n \"data-testid\": testId,\n \"data-analyticsid\": AnalyticsId.Close,\n className: closeClasses,\n \"aria-label\": ariaLabel,\n onClick,\n type: \"button\",\n children: /* @__PURE__ */ jsx(Icon, { svgIcon: X, color, size: iconSize, isHovered })\n }\n );\n});\nexport {\n Close as C\n};\n//# sourceMappingURL=Close.js.map\n","import { useEffect } from \"react\";\nconst useInterval = (callback, frequency = 10) => {\n useEffect(() => {\n const timer = setInterval(callback, frequency);\n return () => {\n clearInterval(timer);\n };\n }, [callback, frequency]);\n};\nexport {\n useInterval\n};\n//# sourceMappingURL=useInterval.js.map\n","import { jsxs, Fragment, jsx } from \"react/jsx-runtime\";\nimport React, { useRef, useState, useEffect } from \"react\";\nimport classNames from \"classnames\";\nimport { ZIndex, AnalyticsId } from \"./constants.js\";\nimport { useInterval } from \"./hooks/useInterval.js\";\nimport { useIsVisible } from \"./hooks/useIsVisible.js\";\nimport { useLayoutEvent } from \"./hooks/useLayoutEvent.js\";\nimport { useSize } from \"./hooks/useSize.js\";\nimport { mergeRefs } from \"./utils/refs.js\";\nimport styles from \"./components/PopOver/styles.module.scss\";\nconst BUBBLE_WIDTH_PX = 373;\nconst WINDOW_MARGIN_PX = 12;\nconst BUBBLE_VERTICAL_OFFSET_PX = 16;\nconst ARROW_WIDTH_PX = 20;\nconst ARROW_VERTICAL_OFFSET_PX = 4;\nconst ARROW_HORIZONTAL_MARGIN_PX = 12;\nconst getVerticalPosition = (controllerSize, bubbleSize, variant) => {\n if (variant !== PopOverVariant.positionautomatic) {\n return variant;\n }\n if (controllerSize.top > bubbleSize.height + BUBBLE_VERTICAL_OFFSET_PX) {\n return PopOverVariant.positionabove;\n } else {\n return PopOverVariant.positionbelow;\n }\n};\nconst getControllerLeftCenterPx = (controllerSize) => controllerSize.left + controllerSize.width / 2;\nconst getControllerRightCenterPx = (controllerSize) => document.documentElement.clientWidth - controllerSize.right + controllerSize.width / 2;\nconst getBubbleLeftPx = (controllerSize, bubbleSize) => {\n const controllerHorizontalCenterPx = getControllerLeftCenterPx(controllerSize);\n return controllerHorizontalCenterPx - bubbleSize.width / 2;\n};\nconst getBubbleRightPx = (controllerSize, bubbleSize) => {\n const bubbleLeftPx = getBubbleLeftPx(controllerSize, bubbleSize);\n return bubbleLeftPx + bubbleSize.width;\n};\nconst getBubbleLeftVisible = (controllerSize, bubbleSize) => {\n const bubbleLeftPx = getBubbleLeftPx(controllerSize, bubbleSize);\n return bubbleLeftPx > WINDOW_MARGIN_PX;\n};\nconst getBubbleRightIsVisible = (controllerSize, bubbleSize) => {\n const bubbleRightPx = getBubbleRightPx(controllerSize, bubbleSize);\n return bubbleRightPx < document.documentElement.clientWidth - WINDOW_MARGIN_PX;\n};\nconst getHorizontalPosition = (controllerSize, bubbleSize) => {\n if (!getBubbleRightIsVisible(controllerSize, bubbleSize)) {\n return \"right\";\n }\n if (!getBubbleLeftVisible(controllerSize, bubbleSize)) {\n return \"left\";\n }\n return \"floating\";\n};\nconst getBubbleAbovePx = (controllerSize, bubbleSize) => controllerSize.top - BUBBLE_VERTICAL_OFFSET_PX - bubbleSize.height;\nconst getBubbleBelowPx = (controllerSize) => controllerSize.bottom + BUBBLE_VERTICAL_OFFSET_PX;\nconst getBubbleWidth = () => document.documentElement.clientWidth - WINDOW_MARGIN_PX * 2;\nconst getBubbleFitsInWindow = () => {\n return document.documentElement.clientWidth > BUBBLE_WIDTH_PX + WINDOW_MARGIN_PX * 2;\n};\nconst getArrowTopxPx = (controllerSize) => controllerSize.top - BUBBLE_VERTICAL_OFFSET_PX - ARROW_VERTICAL_OFFSET_PX;\nconst getArrowLeftPx = (controllerSize) => getControllerLeftCenterPx(controllerSize) - ARROW_WIDTH_PX / 2;\nconst getArrowRightPx = (controllerSize) => getControllerRightCenterPx(controllerSize) - ARROW_WIDTH_PX / 2;\nconst getBubblePosition = (controllerSize, bubbleSize, variant) => {\n const horizontalPosition = getHorizontalPosition(controllerSize, bubbleSize);\n const verticalPosition = getVerticalPosition(controllerSize, bubbleSize, variant);\n if (horizontalPosition === \"left\") {\n if (verticalPosition === PopOverVariant.positionabove) {\n return \"leftabove\";\n }\n return \"leftbelow\";\n }\n if (horizontalPosition === \"right\") {\n if (verticalPosition === PopOverVariant.positionabove) {\n return \"rightabove\";\n }\n return \"rightbelow\";\n }\n if (verticalPosition === PopOverVariant.positionabove) {\n return \"floatingabove\";\n }\n return \"floatingbelow\";\n};\nconst getBubbleStyle = (controllerSize, bubbleSize, variant) => {\n const bubblePosition = getBubblePosition(controllerSize, bubbleSize, variant);\n const bubbleWidth = !getBubbleFitsInWindow() ? getBubbleWidth() : void 0;\n if (bubblePosition === \"leftabove\") {\n return {\n left: WINDOW_MARGIN_PX,\n top: getBubbleAbovePx(controllerSize, bubbleSize),\n width: bubbleWidth\n };\n }\n if (bubblePosition === \"leftbelow\") {\n return { left: WINDOW_MARGIN_PX, top: getBubbleBelowPx(controllerSize), width: bubbleWidth };\n }\n if (bubblePosition === \"rightabove\") {\n return { right: WINDOW_MARGIN_PX, top: getBubbleAbovePx(controllerSize, bubbleSize), width: bubbleWidth };\n }\n if (bubblePosition === \"rightbelow\") {\n return { right: WINDOW_MARGIN_PX, top: getBubbleBelowPx(controllerSize), width: bubbleWidth };\n }\n if (bubblePosition === \"floatingbelow\") {\n return { left: getBubbleLeftPx(controllerSize, bubbleSize), top: getBubbleBelowPx(controllerSize), width: bubbleWidth };\n }\n return { left: getBubbleLeftPx(controllerSize, bubbleSize), top: getBubbleAbovePx(controllerSize, bubbleSize), width: bubbleWidth };\n};\nconst getArrowStyle = (bubbleStyle, controllerSize, verticalPosition) => {\n const leftPx = getArrowLeftPx(controllerSize);\n const rightPx = getArrowRightPx(controllerSize);\n const minLeftPx = bubbleStyle.left + ARROW_HORIZONTAL_MARGIN_PX;\n const minRightPx = bubbleStyle.right + ARROW_HORIZONTAL_MARGIN_PX;\n if (bubbleStyle.right) {\n if (verticalPosition === PopOverVariant.positionabove) {\n return {\n right: rightPx > minRightPx ? rightPx : minRightPx,\n top: getArrowTopxPx(controllerSize)\n };\n }\n return {\n right: rightPx > minRightPx ? rightPx : minRightPx,\n top: controllerSize.bottom\n };\n }\n if (verticalPosition === PopOverVariant.positionabove) {\n return {\n left: leftPx > minLeftPx ? leftPx : minLeftPx,\n top: getArrowTopxPx(controllerSize)\n };\n }\n return {\n left: leftPx > minLeftPx ? leftPx : minLeftPx,\n top: controllerSize.bottom\n };\n};\nvar PopOverVariant = /* @__PURE__ */ ((PopOverVariant2) => {\n PopOverVariant2[\"positionautomatic\"] = \"positionautomatic\";\n PopOverVariant2[\"positionbelow\"] = \"positionbelow\";\n PopOverVariant2[\"positionabove\"] = \"positionabove\";\n return PopOverVariant2;\n})(PopOverVariant || {});\nconst PopOver = React.forwardRef((props, ref) => {\n const {\n id,\n children,\n controllerRef,\n popOverRef,\n show = false,\n className = \"\",\n variant = \"positionautomatic\",\n role,\n testId,\n arrowClassName,\n zIndex = ZIndex.PopOver\n } = props;\n const bubbleRef = popOverRef || useRef(null);\n const arrowRef = useRef(null);\n const bubbleSize = useSize(bubbleRef);\n const [controllerSize, setControllerSize] = useState();\n const controllerisVisible = useIsVisible(bubbleRef, 0);\n const updateControllerSize = () => {\n var _a;\n setControllerSize((_a = controllerRef.current) == null ? void 0 : _a.getBoundingClientRect());\n };\n useInterval(updateControllerSize, 500);\n useLayoutEvent(updateControllerSize, [\"scroll\", \"resize\"], 10);\n useEffect(() => {\n updateControllerSize();\n }, []);\n const isTooltip = role === \"tooltip\";\n const popOverClasses = classNames(styles.popover, { [styles[\"popover--visible\"]]: isTooltip ? show : controllerisVisible }, className);\n const verticalPosition = controllerSize && bubbleSize && getVerticalPosition(controllerSize, bubbleSize, variant);\n const arrowClasses = classNames(styles.popover__arrow, arrowClassName, {\n [styles[\"popover__arrow--over\"]]: verticalPosition === \"positionbelow\",\n [styles[\"popover__arrow--under\"]]: verticalPosition === \"positionabove\",\n [styles[\"popover__arrow--visible\"]]: isTooltip ? show : controllerisVisible\n });\n const bubbleStyle = controllerSize && bubbleSize && getBubbleStyle(controllerSize, bubbleSize, variant);\n const arrowStyle = bubbleStyle && controllerSize && verticalPosition && getArrowStyle(bubbleStyle, controllerSize, verticalPosition);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"div\",\n {\n id,\n ref: mergeRefs([ref, bubbleRef]),\n className: popOverClasses,\n style: { ...bubbleStyle, zIndex },\n \"data-testid\": testId,\n \"data-analyticsid\": AnalyticsId.PopOver,\n role,\n children\n }\n ),\n /* @__PURE__ */ jsx(\"div\", { ref: arrowRef, className: arrowClasses, style: { ...arrowStyle, zIndex } })\n ] });\n});\nPopOver.displayName = \"PopOver\";\nexport {\n PopOverVariant as P,\n PopOver as a\n};\n//# sourceMappingURL=PopOver.js.map\n","import { jsx, jsxs } from \"react/jsx-runtime\";\nimport React from \"react\";\nimport classNames from \"classnames\";\nimport { AnalyticsId } from \"./constants.js\";\nimport { A as AnchorLink } from \"./AnchorLink.js\";\nimport { C as Close } from \"./Close.js\";\nimport { P as PopOverVariant, a as PopOver } from \"./PopOver.js\";\nimport styles from \"./components/HelpBubble/styles.module.scss\";\nconst HelpBubbleVariant = PopOverVariant;\nconst HelpBubble = React.forwardRef((props, ref) => {\n const {\n children,\n className = \"\",\n noCloseButton,\n linkText = \"Mer hjelp\",\n linkUrl,\n linkTarget,\n onLinkClick,\n onClose,\n closeAriaLabel,\n // Props passed on to PopOver\n showBubble,\n helpBubbleId,\n variant,\n controllerRef,\n role,\n testId\n } = props;\n const isTooltip = role === \"tooltip\";\n if (!showBubble && !isTooltip) {\n return null;\n }\n const helpBubbleClasses = classNames(styles.helpbubble, className);\n const contentClasses = classNames(styles.helpbubble__content, {\n [styles[\"helpbubble__content--close\"]]: !noCloseButton && !isTooltip\n });\n const renderLink = () => {\n if (isTooltip) {\n return;\n }\n if (onLinkClick && linkText) {\n return /* @__PURE__ */ jsx(\"button\", { className: styles.helpbubble__link, onClick: onLinkClick, type: \"button\", children: linkText });\n } else if (linkUrl && linkText) {\n return /* @__PURE__ */ jsx(AnchorLink, { href: linkUrl, target: linkTarget, children: linkText });\n }\n };\n const renderCloseButton = () => {\n if (noCloseButton || isTooltip) {\n return;\n }\n return /* @__PURE__ */ jsx(\"div\", { className: styles.helpbubble__close, children: /* @__PURE__ */ jsx(Close, { small: true, onClick: onClose, ariaLabel: closeAriaLabel }) });\n };\n return /* @__PURE__ */ jsx(\n PopOver,\n {\n id: helpBubbleId,\n variant,\n controllerRef,\n role,\n ref,\n show: isTooltip && showBubble,\n testId,\n children: /* @__PURE__ */ jsxs(\"div\", { className: helpBubbleClasses, \"data-analyticsid\": AnalyticsId.HelpBubble, children: [\n renderCloseButton(),\n /* @__PURE__ */ jsxs(\"div\", { className: contentClasses, children: [\n children,\n renderLink()\n ] })\n ] })\n }\n );\n});\nHelpBubble.displayName = \"HelpBubble\";\nexport {\n HelpBubble as H,\n HelpBubbleVariant as a\n};\n//# sourceMappingURL=HelpBubble.js.map\n","import { FC, useRef, useState } from 'react';\n\nimport DictionaryTrigger from '@helsenorge/designsystem-react/components/DictionaryTrigger';\nimport HelpBubble from '@helsenorge/designsystem-react/components/HelpBubble';\n\nimport { useOutsideEvent } from '@helsenorge/designsystem-react';\nimport SafeHTML from '@helsenorge/framework-utils/components/safe-html';\n\nimport { useAppSelector } from '../../redux/hooks';\nimport { selectKeywords } from '../../redux/selectors';\n\nimport styles from './styles.module.scss';\ninterface KeywordInfoDisplayProps {\n inputString: string;\n identifier?: string;\n}\n\nexport const KeywordInfoDisplay: FC = ({ inputString, identifier }) => {\n const keywords = useAppSelector(selectKeywords) || [];\n const [isOpen, setIsOpen] = useState(false);\n\n const escapedKeywords = keywords.map(keyword => keyword.keyword.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'));\n const regex = new RegExp(`\\\\b(${escapedKeywords.join('|')})\\\\b`, 'gi');\n\n const controllerRef = useRef(null);\n const bubbleRef = useRef(null);\n useOutsideEvent(bubbleRef, () => setIsOpen(false));\n\n const parts = inputString.split(regex);\n const text = parts.map((part, index) => {\n const key = identifier ? `${identifier}-${index}` : String(index);\n\n if (index % 2 === 1) {\n const keyword = part;\n const info = keywords.find(kw => kw.keyword === keyword)?.info || 'Mangler informasjon';\n return (\n \n setIsOpen(!isOpen)}>\n \n \n setIsOpen(false)}\n controllerRef={controllerRef}\n showBubble={isOpen}\n >\n \n \n \n );\n } else {\n return (\n \n \n \n );\n }\n });\n\n return (\n
\n {text}\n
\n );\n};\n","import type { JSX } from 'react';\n\nimport { IconProps } from './Icon';\n\nconst ArrowUpRight = ({ size = { width: 40, height: 40 } }: IconProps): JSX.Element => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default ArrowUpRight;\n","import type { JSX } from 'react';\n\nimport { IconProps } from './Icon';\n\nconst VideoIcon = ({ size = { width: 40, height: 40 } }: IconProps): JSX.Element => (\n \n \n \n \n \n \n);\n\nexport default VideoIcon;\n","import { FC } from 'react';\n\nimport classNames from 'classnames';\n\nimport { useBreakpoint } from '@helsenorge/designsystem-react/hooks/useBreakpoint';\nimport { breakpoints } from '@helsenorge/designsystem-react/theme/grid';\n\nimport { Resource } from '../../redux/selvtestSlice';\nimport ArrowUpRight from '../../utils/Icons/ArrowUpRight';\nimport VideoIcon from '../../utils/Icons/Video';\nimport { Title } from '../title';\n\nimport styles from './styles.module.scss';\n\ninterface Props {\n resource: Resource[];\n}\n\nexport const LesMerList: FC = ({ resource }: Props) => {\n const breakpoint = useBreakpoint();\n const iconSize = breakpoint < breakpoints.md ? { width: 25, height: 25 } : { width: 40, height: 40 };\n\n if (!resource || resource.length === 0) {\n return null;\n }\n const isYoutube = (href: string): boolean => href.includes('youtube.com') || href.includes('youtu.be');\n const isUngNo = (href: string): boolean => href.includes('ung.no');\n return (\n
\n \n {'Vil du lese mer?'}\n \n
    \n {resource.map((child, index) => {\n return (\n
  • \n \n
    \n \n {child.title}\n \n
    {child.text}
    \n
    \n {isYoutube(child.navigateTo) && (\n \n \n \n )}\n
    \n {isYoutube(child.navigateTo) ? 'Se mer' : 'Les mer'}\n {isUngNo(child.navigateTo) && ' på Ung.no'}\n \n
    \n \n
  • \n );\n })}\n
\n
\n );\n};\n\nexport default LesMerList;\n","import { FC, useEffect } from 'react';\n\nimport classnames from 'classnames';\nimport { useDispatch } from 'react-redux';\nimport { useNavigate, useLocation } from 'react-router-dom';\n\nimport { NavigationType, SvarsideEnum } from '../../types/enum';\n\nimport { findPathName } from './helper';\nimport ChatCards from '../../components/chat-cards';\nimport ExitSection from '../../components/exit-section';\nimport { FinnUtMer } from '../../components/finn-ut-mer';\nimport { IconDisplay } from '../../components/icon-display';\nimport { KeywordInfoDisplay } from '../../components/keyword-info-display';\nimport LesMerList from '../../components/les-mer-list';\nimport { Title } from '../../components/title';\nimport { Wrapper } from '../../components/wrapper';\nimport WrapperInner from '../../components/wrapper/inner';\nimport { useAppSelector } from '../../redux/hooks';\nimport { selectPage, selectSpecificPage } from '../../redux/selectors';\nimport { IntroChoiceUrlEnum, setIntroChoiceUrl } from '../../redux/selvtestSlice';\nimport { RootState } from '../../redux/store';\nimport { useHistoryListen } from '../../utils/useHistoryListen';\n\nimport styles from './styles.module.scss';\n\nexport const SvarSide: FC = () => {\n useHistoryListen();\n const location = useLocation();\n const localState = useAppSelector(state => selectPage(state, location.pathname));\n\n const params = findPathName(location.pathname);\n\n const temaTitle = localState?.title;\n const subtitle = localState?.subtitle;\n const temaText1 = localState?.ingress1;\n const temaText2 = localState?.ingress2;\n const resources = localState?.resources;\n const chatCardIds = localState?.chatcardId;\n const erQuizSvarside = params.split('temabeskrivelse').length === 1;\n\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch(setIntroChoiceUrl(erQuizSvarside ? IntroChoiceUrlEnum.quizinngang : IntroChoiceUrlEnum.temavalg));\n }, [dispatch, erQuizSvarside]);\n\n const navigateBack = localState?.navigationButtons && localState.navigationButtons.find(e => e.type === NavigationType.back);\n const navigateBackTo = navigateBack?.navigateTo;\n const temaState = useAppSelector((state: RootState) => (navigateBackTo ? selectSpecificPage(state, navigateBack.navigateTo) : undefined));\n const temaResources = temaState?.resources;\n\n const combinedResources = [...(resources ?? []), ...(temaResources ?? [])];\n\n const navigate = useNavigate();\n\n const textClasses = classnames(styles['svarside-container__text'], styles['svarside-container__text--undertekst']);\n const merInfo = erQuizSvarside ? : combinedResources ? : null;\n const svarsideGrønnGrønn = SvarsideEnum.quizsvar_en_en === params;\n const svarsideGrønnGul = SvarsideEnum.quizsvar_en_to === params;\n const alternativeView = svarsideGrønnGrønn || svarsideGrønnGul;\n const first = alternativeView ? : !!chatCardIds && ;\n const second = merInfo;\n const third = alternativeView ? !!chatCardIds && : ;\n\n return (\n {\n navigate(-1);\n }}\n >\n \n
\n
{erQuizSvarside ? {temaTitle} : }
\n
\n {temaText1 && erQuizSvarside && (\n
\n \n
\n )}\n {temaText1 && !erQuizSvarside && (\n
\n
\n {'Svar: '}\n
\n \n <KeywordInfoDisplay inputString={temaText1} identifier=\"temaText1\" />\n \n
\n )}\n\n {temaText2 && (\n
\n \n
\n )}\n {(temaText1 || temaText2) && subtitle && (\n
\n \n {subtitle}\n \n
\n )}\n {first}\n {second}\n
\n {third}\n
\n
\n \n );\n};\nexport default SvarSide;\n","import { FC } from 'react';\n\nimport classnames from 'classnames';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { Button } from '../../components/button';\nimport { IconDisplay } from '../../components/icon-display';\nimport { Wrapper } from '../../components/wrapper';\nimport ContentWrapper from '../../components/wrapper/content';\nimport wrapperStyles from '../../components/wrapper/content/styles.module.scss';\nimport WrapperInner from '../../components/wrapper/inner';\nimport { useAppSelector } from '../../redux/hooks';\nimport { selectPage } from '../../redux/selectors';\nimport { safeNavigate } from '../../utils/navigate';\n\nimport styles from './styles.module.scss';\n\nexport const Tema: FC = () => {\n const location = useLocation();\n const localState = useAppSelector(state => selectPage(state, location.pathname));\n\n const temaValg = localState?.choices;\n const navigate = useNavigate();\n const ulClasses = classnames(wrapperStyles['content-wrapper__grid'], styles.liste);\n const liste =\n temaValg &&\n temaValg.map((tema, index) => {\n return (\n
  • \n {\n safeNavigate(navigate, tema.navigateTo);\n }}\n >\n {tema.text}\n \n
  • \n );\n });\n return (\n {\n navigate(-1);\n }}\n >\n \n \n\n \n
      {liste}
    \n
    \n
    \n \n );\n};\nexport default Tema;\n","import { cloneElement, FC, JSXElementConstructor, ReactElement, ReactNode } from 'react';\n\nimport classnames from 'classnames';\n\nimport { useBreakpoint } from '@helsenorge/designsystem-react/hooks/useBreakpoint';\nimport { breakpoints } from '@helsenorge/designsystem-react/theme/grid';\n\nimport { useAppSelector } from '../../redux/hooks';\nimport { selectIntroChoiceUrl } from '../../redux/selectors';\nimport { IntroChoiceUrlEnum } from '../../redux/selvtestSlice';\nimport { IconProps } from '../../utils/Icons/Icon';\n\nimport styles from './styles.module.scss';\n\ninterface TemaValgButtonProps {\n /** Icon to display */\n icon?: ReactNode;\n /** Adds custom classes to the element. */\n className?: string;\n /** Function that triggers on click. */\n onClick?: () => void;\n /** Sets the content of the button. */\n children: ReactNode;\n}\n\nexport const TemaValgButton: FC = ({ icon, className, onClick, children }) => {\n const breakpoint = useBreakpoint();\n const quiz = useAppSelector(selectIntroChoiceUrl) === IntroChoiceUrlEnum.quizinngang;\n const mobile = breakpoint < breakpoints.md;\n const temavalgClasses = classnames(styles['temavalg-button'], className, { [styles['temavalg-button--quiz']]: quiz });\n\n const renderIcon = (): ReactElement> | null => {\n let iconSize = { width: 180, height: 180 };\n if (mobile) {\n iconSize = { width: 83, height: 83 };\n }\n\n return icon ? cloneElement(icon as ReactElement, { size: iconSize }) : null;\n };\n\n return (\n \n );\n};\n","import { FC, useEffect } from 'react';\n\nimport classnames from 'classnames';\nimport { useDispatch } from 'react-redux';\nimport { useNavigate, useLocation } from 'react-router-dom';\n\nimport { getIcon } from './iconSelection';\nimport { TemaValgButton } from '../../components/temavalg-button';\nimport { Title } from '../../components/title';\nimport { Wrapper } from '../../components/wrapper';\nimport WrapperInner from '../../components/wrapper/inner';\nimport { useAppSelector } from '../../redux/hooks';\nimport { selectPage } from '../../redux/selectors';\nimport { IntroChoiceUrlEnum, setIntroChoiceUrl, setLane } from '../../redux/selvtestSlice';\nimport { safeNavigate } from '../../utils/navigate';\nimport { findPathName } from '../svarside/helper';\n\nimport styles from './styles.module.scss';\n\nexport const TemaValg: FC = () => {\n const location = useLocation();\n const localState = useAppSelector(state => selectPage(state, location.pathname));\n const params = findPathName(location.pathname);\n const erQuizSvarside = params !== 'temavalg';\n\n const temaTitle = localState?.title;\n const temaValg = localState?.choices;\n const temaValgLength = temaValg ? temaValg.length : 0;\n const navigate = useNavigate();\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch(setLane(undefined));\n }, [dispatch]);\n\n useEffect(() => {\n dispatch(setIntroChoiceUrl(erQuizSvarside ? IntroChoiceUrlEnum.quizinngang : IntroChoiceUrlEnum.temavalg));\n }, [dispatch, erQuizSvarside]);\n\n return (\n \n \n {temaTitle}\n
    \n {temaValg?.map((tema, index) => {\n return (\n {\n dispatch(setLane('#' + tema.navigateTo));\n safeNavigate(navigate, tema.navigateTo);\n }}\n >\n {tema.text}\n \n );\n })}\n
    \n
    \n
    \n );\n};\nexport default TemaValg;\n","import { configureStore, EnhancedStore, StoreEnhancer, ThunkDispatch, Tuple, UnknownAction } from '@reduxjs/toolkit';\n\nimport selvtest, { SelvtestState } from './selvtestSlice';\n\nexport function setupStore(preloadedState?: RootState): EnhancedStore<\n SelvtestState,\n UnknownAction,\n Tuple<\n [\n StoreEnhancer<{\n dispatch: ThunkDispatch;\n }>,\n StoreEnhancer,\n ]\n >\n> {\n return configureStore({\n reducer: selvtest,\n preloadedState,\n devTools: process.env.NODE_ENV !== 'production',\n });\n}\nexport type RootState = ReturnType;\nexport type AppStore = ReturnType;\nexport type AppDispatch = AppStore['dispatch'];\n","import { FC } from 'react';\n\nimport { createRoot } from 'react-dom/client';\nimport { Provider } from 'react-redux';\nimport { RouteObject, RouterProvider, createHashRouter } from 'react-router-dom';\n\nimport HvemErDu from './containers/hvem-er-du';\nimport { Inngangside } from './containers/inngangsside';\nimport KanIkkeHjelpe from './containers/kan-ikke-hjelpe';\nimport OmVerktoyet from './containers/om-verktoyet';\nimport { Quiz } from './containers/quiz';\nimport { QuizInngangside } from './containers/quiz-inngangsside';\nimport { SvarSide } from './containers/svarside';\nimport { Tema } from './containers/tema';\nimport { TemaValg } from './containers/temavalg';\nimport { setupStore } from './redux/store';\n\nconst anchor: Element | null = document.getElementById('selvtest-app');\n\nexport const routes: RouteObject[] = [\n { path: '/', element: },\n { path: '/om-verktoyet', element: },\n { path: '/hva-beskriver-deg-best', element: },\n { path: '/hvor-gammel-er-du', element: },\n { path: '/for-ung', element: },\n { path: '/for-gammel', element: },\n { path: '/quiz/*', element: },\n { path: '/quizinngang', element: },\n { path: '/quiztemavalg', element: },\n { path: '/quizbeklager', element: },\n { path: '/quizsvar/*', element: },\n { path: '/temavalg', element: },\n { path: '/temavalg/*', element: },\n { path: '/temabeskrivelse/*', element: },\n];\n\nconst router = createHashRouter(routes);\n\nconst Root: FC = () => ;\n\nconst root = createRoot(anchor!);\nroot.render(\n \n \n \n);\n"],"names":["breakpoints","screen","ChoicesType","NavigationType","ResponseLevel","ResponseType","PageType","pageTypeMapping","pagesEnum","SvarsideEnum","useState","Breakpoint","Breakpoint2","useBreakpoint","breakpoint","setBreakpoint","useEffect","_a","handleMediaQueryEvent","event","mediaQueryList","size","mediaQuery","x","initialBreakpoint","ArrowLeft","color","jsx","ArrowRight","jsxs","ChevronLeft","ChevronRight","Title","className","htmlMarkup","visualHeading","children","id","subHeading","infoSymbol","titleClass","classnames","styles","HtmlMarkupTag","Fragment","getRightIcon","variant","iconSpecs","_b","_d","_c","getLeftIcon","TopMenuArrow","Button","props","rightArrow","leftArrow","fluid","onClick","title","type","form","secondary","link","inverted","iconSize","largeIconSize","mainVariant","mainLargeVariant","leftIcon","rightIcon","buttonClasses","useIntersectionObserver","ref","callback","options","intersectionObserver","useIsVisible","threshold","initial","isVisible","setIsVisible","entries","debounce","func","wait","timeout","args","resolve","useLayoutEvent","events","debounceMs","debouncedCallback","teardown","eventName","useRef","useSize","ticking","setSize","resizeObserver","handleLayoutEvent","useOutsideEvent","handleClick","handleOutsideEvent","useAppDispatch","useDispatch","useAppSelector","useSelector","selectPage","state","url","p","selectSpecificPage","selectChosenAnswers","selectPoppedUrls","selectIntroChoiceUrl","selectLane","selectPageByUrlPath","urlPath","selectAnsweredIntro","selectExternalQuestionnaire","l","selectExternalTilgjengelighetserklaering","selectKeywords","selectAnalyticsData","ExternalQuestionnaire","isMobileOrTablet","externalQuestionaire","findPathName","pathname","findPathNameNoHash","trackAnalyticsData","data","payload","pushToDataLayer","getInitialSelvtestData","cmsData","fallback","getChatCardData","get","IntroChoiceUrlEnum","initialData","selvtestInitialState","selvtest","createSlice","action","canPopForward","ca","filteredPageForward","allChoicesForward","poppedForward","c","filteredPages","allChoices","poppedBack","setPage","setSessionId","addAnswers","setAnswers","removePoppedAnswers","addPoppedUrl","setPoppedUrls","setIntroChoiceUrl","setLane","setAnsweredIntro","setAnalyticsData","selvtest$1","harQuizInngang","SelvtestLogo","safeNavigate","navigate","navigateTo","Wrapper","backgroundVariant","topRowClassNames","showLogo","noTopPadding","topMenu","onClickBack","onClickForward","wrapperClassNames","tilbakemelding","firstFrame","setFirstFrame","mobile","noLogo","location","useLocation","localState","introChoiceUrl","pickedLane","temaUrl","params","erQuizSvarside","erTemaSvarside","useNavigate","dispatch","isDark","showTopMenu","backClicked","navigateBack","e","navigateForward","wrapperClasses","wrapperTopRowClasses","showTemaUrlNav","navigationButtons","ContentWrapper","gridClass","direction","classNames","contentWrapperClasses","WrapperInner","alignLeft","innterWrapperClasses","HvemErDu","pageContent","quiz","path","temaTitle","choices","tema","index","ChoiceResponseType","Inngangside","answeredIntro","ingress1","navigateOmVerktoyet","introButtonOnClick","choice","SafeHTML","firstElement","ExitSection","quizFarge","exit","navigateExit","nExit","KanIkkeHjelpe","analyticsData","pageType","isQuizPage","temaText1","HdirLogo","OmVerktoyet","tilgjengelighetserklaering","subtitle","ingress2","AnchorLink","Dyr","Familie","IkkeVil","Sarbar","Sover","AndresGrenser","BilderOgVideo","Onanering","Pedofili","Porno","Samtykke","SeksuellLavalder","TankerOgFantasier","getIcon","cloneElement","IconDisplay","temaer","lane","paramEtterRefresh","nav","_f","_e","temavalgClasses","HtmlMarkup","renderIcon","icon","svarsidetekst","useHistoryListen","navigationType","useNavigationType","removePoppedAnswersHandler","Quiz","chosenAnswers","poppedUrls","extraChoices","isEntryQuizPage","shouldResetAnswers","onUnload","confirmationMessage","handleButtonAnswer","decideAnswerPage","lastChoice","allAnswers","pavirkningLevel","prosessPavirkningLevel","prosessForberedelserLevel","a","choicesRender","extraChoicesRender","choicesLength","extraChoicesLength","fewChoices","renderContent","contentToRender","renderTitle","QuizInngangside","subTitle","Loader","overlay","labelId","uuid","testId","center","inline","ariaLabelledById","ariaLabel","showLoader","display","setDisplay","isSmall","isMedium","isLarge","loaderWrapperClasses","loaderStyles","loaderClasses","loaderDotClasses","wrapperRef","ZIndex","AnalyticsId","environmentSpecificChatCardId","getEnvironmentSpecificId","environment","doesIdExist","givenId","getChatCardId","ChatBubble","Phone","getDayText","isWithinTime","currentTime","fromTime","toTime","getNextOpenDay","currentDayIndex","openDays","od","getOpenClosedTexts","openDates","currentDate","currentOpenDate","currentOpenFromTime","currentOpenToTime","isAfterOpeningHours","currentlyOpen","nextOpenDate","statusText","timeText","ChatCard","texts","selectedTab","setSelectedTab","openClosedTextClasses","renderTabButton","text","tabButtonClasses","renderTabContent","tabContentClasses","topic","button","ChatCards","cardId","chatCardData","setChatCardData","error","setError","chatLoaderId","fetchCardData","getChatCardText","openTime","openClosedTexts","so","renderOpenDays","chatCardJson","chatCardJsonString","newChatCardData","at","cardData","dddtArray","i","ot","dt","dd","chatCardText","FinnUtMer","containerClass","svarsideStyles","React","DictionaryTrigger","selected","rest","triggerClasses","mergeRefs","refs","value","X","isHovered","Close","small","palette","hoverRef","useHover","closeClasses","Icon","useInterval","frequency","timer","BUBBLE_WIDTH_PX","WINDOW_MARGIN_PX","BUBBLE_VERTICAL_OFFSET_PX","ARROW_WIDTH_PX","ARROW_VERTICAL_OFFSET_PX","ARROW_HORIZONTAL_MARGIN_PX","getVerticalPosition","controllerSize","bubbleSize","PopOverVariant","getControllerLeftCenterPx","getControllerRightCenterPx","getBubbleLeftPx","getBubbleRightPx","getBubbleLeftVisible","getBubbleRightIsVisible","getHorizontalPosition","getBubbleAbovePx","getBubbleBelowPx","getBubbleWidth","getBubbleFitsInWindow","getArrowTopxPx","getArrowLeftPx","getArrowRightPx","getBubblePosition","horizontalPosition","verticalPosition","getBubbleStyle","bubblePosition","bubbleWidth","getArrowStyle","bubbleStyle","leftPx","rightPx","minLeftPx","minRightPx","PopOverVariant2","PopOver","controllerRef","popOverRef","show","role","arrowClassName","zIndex","bubbleRef","arrowRef","setControllerSize","controllerisVisible","updateControllerSize","isTooltip","popOverClasses","arrowClasses","arrowStyle","HelpBubble","noCloseButton","linkText","linkUrl","linkTarget","onLinkClick","onClose","closeAriaLabel","showBubble","helpBubbleId","helpBubbleClasses","contentClasses","renderLink","renderCloseButton","KeywordInfoDisplay","inputString","identifier","keywords","isOpen","setIsOpen","escapedKeywords","keyword","regex","part","key","info","kw","ArrowUpRight","VideoIcon","LesMerList","resource","isYoutube","href","isUngNo","child","SvarSide","temaText2","resources","chatCardIds","navigateBackTo","temaState","temaResources","combinedResources","textClasses","merInfo","svarsideGrønnGrønn","svarsideGrønnGul","alternativeView","first","second","third","Tema","temaValg","ulClasses","wrapperStyles","liste","TemaValgButton","TemaValg","temaValgLength","setupStore","preloadedState","configureStore","anchor","routes","router","createHashRouter","Root","RouterProvider","root","createRoot","Provider"],"mappings":"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","x_google_ignoreList":[0,2,10,11,12,13,14,15,53,59,60,61,62,63,64,65]}