{"version":3,"file":"static/chunks/4442.b22946139268e9ef.js","mappings":"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","sources":["webpack://_N_E/./components/Button/Button.js","webpack://_N_E/./components/Button/index.js","webpack://_N_E/./constants/breakpoints.js","webpack://_N_E/./constants/index.js","webpack://_N_E/./containers/BasePage/BaseContext.js","webpack://_N_E/./components/NavigationFavorite/NavigationFavorite.js","webpack://_N_E/./components/NavigationFavorite/index.js","webpack://_N_E/./components/NavigationSearch/NavigationSearch.js","webpack://_N_E/./components/NavigationSearch/index.js","webpack://_N_E/./components/Navigation/Navigation.js","webpack://_N_E/./components/Navigation/index.js","webpack://_N_E/./components/ButtonToggle/ButtonToggle.js","webpack://_N_E/./components/ButtonToggle/index.js","webpack://_N_E/./components/NavigationMobile/NavigationMobile.js","webpack://_N_E/./components/NavigationMobile/index.js","webpack://_N_E/./components/Footer/Footer.js","webpack://_N_E/./components/Footer/index.js","webpack://_N_E/./components/BasicLogo/BasicLogo.js","webpack://_N_E/./components/BasicLogo/index.js","webpack://_N_E/./components/NewsletterSignup/NewsletterSignup.js","webpack://_N_E/./components/NewsletterSignup/index.js","webpack://_N_E/./transitions/SlideInFromTop/SlideInFromTop.js","webpack://_N_E/./transitions/SlideInFromTop/index.js","webpack://_N_E/./components/CrisisInformationBar/CrisisInformationBar.js","webpack://_N_E/./components/CrisisInformationBar/index.js","webpack://_N_E/./components/GlobalSiteSwitcher/GlobalSiteSwitcher.js","webpack://_N_E/./components/GlobalSiteSwitcher/index.js","webpack://_N_E/./components/WagtailUserbar/WagtailUserbar.js","webpack://_N_E/./components/WagtailUserbar/index.js","webpack://_N_E/./containers/BasePage/BasePage.js","webpack://_N_E/./containers/BasePage/index.js","webpack://_N_E/./containers/BasePage/state.js","webpack://_N_E/./transitions/FadeIn/FadeIn.js","webpack://_N_E/./transitions/FadeIn/index.js","webpack://_N_E/./utils/api.js","webpack://_N_E/./utils/bookmarks.js","webpack://_N_E/./utils/cookies.js","webpack://_N_E/./utils/isEmpty.js","webpack://_N_E/./utils/localStorage.js","webpack://_N_E/./utils/url.js","webpack://_N_E/./utils/useMediaQuery.js","webpack://_N_E/./components/BasicLogo/BasicLogo.module.scss","webpack://_N_E/./components/Button/Button.module.scss","webpack://_N_E/./components/ButtonToggle/ButtonToggle.module.scss","webpack://_N_E/./components/CrisisInformationBar/CrisisInformationBar.module.scss","webpack://_N_E/./components/Footer/Footer.module.scss","webpack://_N_E/./components/GlobalSiteSwitcher/GlobalSiteSwitcher.module.scss","webpack://_N_E/./components/Navigation/Navigation.module.scss","webpack://_N_E/./components/NavigationFavorite/NavigationFavorite.module.scss","webpack://_N_E/./components/NavigationMobile/NavigationMobile.module.scss","webpack://_N_E/./components/NavigationSearch/NavigationSearch.module.scss","webpack://_N_E/./components/NewsletterSignup/NewsletterSignup.module.scss","webpack://_N_E/./containers/BasePage/BasePage.module.scss","webpack://_N_E/./transitions/FadeIn/FadeIn.module.scss","webpack://_N_E/./transitions/SlideInFromTop/SlideInFromTop.module.scss"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './Button.module.scss';\nimport classNames from 'classnames';\n\nconst Button = ({\n children = '',\n link,\n href,\n label = '',\n text = '',\n title = '',\n onClick = () => {},\n icon = '',\n type = '',\n className = '',\n minWidth = null,\n isDownload = false,\n untranslatedModifiers = [],\n attrs = {},\n}) => {\n const linkHref = href || link || undefined;\n const Tag = linkHref ? 'a' : 'button';\n\n let props = {\n href: linkHref,\n };\n let iconClasses;\n\n if (onClick) {\n props.onClick = onClick;\n }\n\n if (label) {\n props['aria-label'] = label;\n }\n\n if (isDownload) {\n props.download = true;\n props.target = '_self';\n }\n\n const classes = classNames(\n styles['Button'],\n {\n [styles['Button--Link']]: linkHref,\n [styles[`Button--${type}`]]: type,\n [styles['Button--HasIcon']]: icon,\n },\n untranslatedModifiers.map((x) => styles[x]),\n className\n );\n\n iconClasses = classNames(\n styles['Button__Icon'],\n styles[`Button__Icon--${icon}`]\n );\n\n const minWidthStyle = minWidth ? { minWidth } : {};\n\n return (\n <Tag {...props} {...attrs} style={minWidthStyle} className={classes}>\n {text || title || children}\n {icon && <span className={iconClasses} aria-hidden={true} />}\n </Tag>\n );\n};\n\nButton.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n link: PropTypes.string,\n href: PropTypes.string,\n text: PropTypes.string,\n title: PropTypes.string,\n label: PropTypes.string,\n onClick: PropTypes.func,\n icon: PropTypes.string,\n type: PropTypes.string,\n className: PropTypes.string,\n minWidth: PropTypes.string,\n isDownload: PropTypes.bool,\n untranslatedModifiers: PropTypes.arrayOf(PropTypes.string),\n attrs: PropTypes.object,\n};\n\nexport default Button;\n","import Button from './Button';\n\nexport default Button;\n","const breakpoints = {\n s: 375,\n sm: 414,\n m: 768,\n l: 1280,\n xl: 1440,\n xxl: 1680,\n};\n\nexport default breakpoints;\n","import breakpoints from './breakpoints';\n\nexport { breakpoints };\n","import { createContext } from 'react';\n\n// Default values must be empty, default values are instead added to BaseWrap default props\nconst BaseContext = createContext({\n googleMapsApiKey: '',\n isStorybook: false,\n});\n\nexport default BaseContext;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useTranslation } from 'next-i18next';\n\nimport * as bookmarks from '../../utils/bookmarks';\n\nimport styles from './NavigationFavorite.module.scss';\n\nconst NavigationFavorite = ({\n favoritesPageUrl,\n onHover,\n onHoverLeave,\n hasMouseOverThisItem,\n mouseOverItem,\n}) => {\n const { t } = useTranslation('common');\n const [isActive, setIsActive] = useState(false);\n const [favoritesCount, setFavoritesCount] = useState(0);\n\n const handleBookmarksUpdated = (updatedBookmarks) =>\n setFavoritesCount(updatedBookmarks.length);\n\n useEffect(() => {\n setFavoritesCount(bookmarks.getBookmarks().length);\n\n setIsActive(\n typeof window !== 'undefined' &&\n window.location.href === favoritesPageUrl\n );\n\n bookmarks.onBookmarksUpdated(handleBookmarksUpdated);\n return () => {\n bookmarks.removeOnBookmarksUpdated(handleBookmarksUpdated);\n };\n }, [favoritesPageUrl]);\n\n const favoriteClasses = classNames(styles['NavigationFavorite'], {\n [styles['NavigationFavorite--Filled']]: favoritesCount > 0,\n [styles['NavigationFavorite--Active']]: isActive,\n [styles['NavigationFavorite--Fade']]:\n !hasMouseOverThisItem && mouseOverItem !== undefined,\n });\n\n return (\n <a\n className={favoriteClasses}\n onMouseOver={onHover}\n onFocus={onHover}\n onMouseLeave={onHoverLeave}\n href={favoritesPageUrl}\n data-number={favoritesCount < 100 ? favoritesCount : 99}>\n <span className=\"sr-only\">{t('navigationfavorite.link')}</span>\n {favoritesCount > 0 && (\n <span className={styles['NavigationFavorite__NumberContainer']}>\n <span className=\"NavigaationFavorite__Number\">\n {favoritesCount < 100 ? favoritesCount : 99}\n </span>\n </span>\n )}\n </a>\n );\n};\n\nNavigationFavorite.propTypes = {\n favoritesPageUrl: PropTypes.string,\n onHover: PropTypes.func,\n onHoverLeave: PropTypes.func,\n hasMouseOverThisItem: PropTypes.bool,\n mouseOverItem: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n};\n\nNavigationFavorite.defaultProps = {\n favoritesPageUrl: '',\n};\n\nexport default NavigationFavorite;\n","import NavigationFavorite from './NavigationFavorite';\n\nexport default NavigationFavorite;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './NavigationSearch.module.scss';\nimport { useTranslation } from 'next-i18next';\nimport { getSearchSuggestions } from '../../utils/api';\nimport classNames from 'classnames';\nimport FadeIn from '../../transitions/FadeIn';\n\nconst useDebounce = (value, delay = 250) => {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const timeout = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => clearTimeout(timeout);\n }, [delay, value]);\n\n return debouncedValue;\n};\n\n/*\n * Suggestions should be shown only when:\n * - NavigationSearch is focussed and there are suggestions\n * - A search suggestion is focused\n */\n\nconst NavigationSearch = ({ searchPageUrl, onClose }) => {\n const { t } = useTranslation('common');\n const [searchInput, setSearchInput] = useState('');\n const [suggestions, setSuggestions] = useState([]);\n const [showSuggestions, setShowSuggestions] = useState(false);\n const [focussed, setFocussed] = useState('');\n const debouncedInput = useDebounce(searchInput);\n\n useEffect(() => {\n const getItems = async () => {\n const items = await getSearchSuggestions(debouncedInput, '');\n setSuggestions(items);\n };\n if (debouncedInput) {\n getItems();\n }\n }, [debouncedInput]);\n\n /* Key handling */\n useEffect(() => {\n const handleBlockScroll = (e) => {\n if (e.keyCode === 40 || e.keyCode === 38) {\n e.preventDefault();\n }\n // const UP = 38;\n // const DOWN = 40;\n };\n const handleKeyPress = (e) => {\n const UP = 38;\n const DOWN = 40;\n const ESC = 27;\n const ENTER = 13;\n const currentElement = document.activeElement;\n const keyCode = e.keyCode;\n const isLink = currentElement\n ? currentElement.classList.value.indexOf(\n styles['NavigationSearch__Link']\n ) > -1\n : '';\n const isSearch = currentElement.id === 'search';\n\n if (isSearch && keyCode === DOWN) {\n document\n .querySelector(\n '#suggestions .NavigationSearch__Link:first-of-type'\n )\n .focus();\n }\n\n if (isSearch && keyCode === ENTER && searchInput) {\n window.location.href = `${searchPageUrl}?query=${encodeURIComponent(\n searchInput\n )}`;\n }\n\n // We are at the first suggestion and press up\n if (\n !isSearch &&\n isLink &&\n keyCode === UP &&\n !currentElement.parentElement.previousSibling\n ) {\n // Takes the links parent (li) and finds its next sibling (li)\n // and finds its link and focusses\n document.querySelector('.NavigationSearch__Input').focus();\n currentElement.parentElement.previousSibling\n .querySelector('a')\n .focus();\n }\n\n // We are not at the first suggestion and press up\n if (\n !isSearch &&\n isLink &&\n keyCode === UP &&\n currentElement.parentElement.previousSibling\n ) {\n // Takes the links parent (li) and finds its previous sibling (li)\n // and finds its link and focusses\n currentElement.parentElement.previousSibling\n .querySelector('a')\n .focus();\n }\n\n // We are not at a link and press down\n if (\n !isSearch &&\n isLink &&\n keyCode === DOWN &&\n currentElement.parentElement.nextSibling\n ) {\n // Takes the links parent (li) and finds its next sibling (li)\n // and finds its link and focusses\n currentElement.parentElement.nextSibling\n .querySelector('a')\n .focus();\n }\n\n if (keyCode === ESC) {\n onClose();\n setShowSuggestions(false);\n document.body.classList.remove('Dimmed');\n document.body.classList.remove('NavSearching');\n }\n };\n\n document.addEventListener('keyup', handleKeyPress);\n document.addEventListener('keydown', handleBlockScroll);\n\n return () => {\n document.removeEventListener('keyup', handleKeyPress);\n document.removeEventListener('keydown', handleBlockScroll);\n };\n }, [searchInput, searchPageUrl, onClose]);\n\n useEffect(() => {\n const handleFocus = (e) => {\n setFocussed(e.target);\n };\n const handleClick = (e) => {\n if (e.target && e.target.classList.contains('Dimmed')) {\n onClose();\n setShowSuggestions(false);\n document.body.classList.remove('Dimmed');\n document.body.classList.remove('NavSearching');\n }\n };\n\n document.addEventListener('focusin', handleFocus, true);\n document.addEventListener('click', handleClick, true);\n document.querySelector('.NavigationSearch__Input').focus();\n\n return () => {\n document.removeEventListener('focusin', handleFocus, true);\n document.removeEventListener('click', handleClick, true);\n };\n }, [onClose]);\n\n useEffect(() => {\n // if (suggestions.length < 1) {\n // setShowSuggestions(false);\n // document.body.classList.remove('Dimmed');\n // return;\n // }\n const focusShouldShow =\n (focussed && focussed.id == 'search') ||\n focussed.localName == 'li' ||\n (focussed &&\n focussed.classList.contains(\n styles['NavigationSearch__Link']\n )) ||\n (focussed &&\n focussed.classList.contains(\n styles['NavigationSearch__Button']\n )) ||\n (focussed &&\n focussed.classList.contains(\n styles['NavigationSearch__Cancel']\n )) ||\n (focussed &&\n focussed.classList.contains(styles['NavigationSearch__Reset']));\n\n if (focusShouldShow) {\n setShowSuggestions(true);\n document.body.classList.add('Dimmed');\n document.body.classList.add('NavSearching');\n } else {\n setShowSuggestions(false);\n document.body.classList.remove('Dimmed');\n document.body.classList.remove('NavSearching');\n }\n }, [suggestions, focussed]);\n\n const suggestionsClasses = classNames(\n styles['NavigationSearch__Suggestions'],\n {\n [styles['NavigationSearch__Suggestions--HasSuggestions']]: true,\n }\n );\n const wrapperClasses = classNames(styles['NavigationSearch__Wrap'], {\n [styles['NavigationSearch__Wrap--ShowsSuggestions']]: showSuggestions,\n });\n\n return (\n <div className={styles['NavigationSearch']}>\n <div className={wrapperClasses}>\n <input\n className={\n styles['NavigationSearch__Input'] +\n ' NavigationSearch__Input'\n }\n value={searchInput}\n placeholder={t('search.placeholder')}\n id=\"search\"\n onChange={(e) => setSearchInput(e.target.value)}\n />\n {searchInput !== '' && (\n <button\n onClick={() => setSearchInput('')}\n className={styles['NavigationSearch__Reset']}\n aria-label={t('search.resetSearchAriaLabel')}></button>\n )}\n <button\n className={styles['NavigationSearch__Button']}\n aria-label={t('search.searchAriaLabel')}\n onClick={() => {\n window.location.href = `${searchPageUrl}?query=${encodeURIComponent(\n searchInput\n )}`;\n }}></button>\n\n <button\n className={styles['NavigationSearch__Cancel']}\n aria-label={t('search.searchAriaClose')}\n onClick={() => {\n onClose();\n setShowSuggestions(false);\n document.body.classList.remove('Dimmed');\n document.body.classList.remove('NavSearching');\n }}></button>\n\n <FadeIn visible={showSuggestions}>\n <div\n role=\"region\"\n aria-live=\"polite\"\n id=\"suggestions\"\n className={suggestionsClasses}>\n <ol>\n {suggestions.map((item) => {\n return (\n <li key={item.href}>\n <a\n className={\n styles['NavigationSearch__Link']\n }\n href={item.href}>\n {item.title}\n </a>\n </li>\n );\n })}\n {searchInput && (\n <li\n className={\n styles['NavigationSearch__SearchLink']\n }>\n <a\n className={\n styles['NavigationSearch__Link']\n }\n href={`${searchPageUrl}?query=${encodeURIComponent(\n searchInput\n )}`}>\n {`Search: \"${searchInput}\"`}\n </a>\n </li>\n )}\n </ol>\n </div>\n </FadeIn>\n </div>\n </div>\n );\n};\n\nNavigationSearch.propTypes = {\n searchPageUrl: PropTypes.string,\n onClose: PropTypes.func,\n};\n\nNavigationSearch.defaultProps = { searchPageUrl: '', onClose: () => {} };\n\nexport default NavigationSearch;\n","import NavigationSearch from './NavigationSearch';\n\nexport default NavigationSearch;\n","import React, { useState, useCallback, useEffect, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport NavigationFavorite from '../NavigationFavorite';\nimport NavigationSearch from '../NavigationSearch';\nimport FadeIn from '../../transitions/FadeIn';\nimport { CookieStateContext } from '../../containers/BasePage/state';\nimport { useTranslation } from 'next-i18next';\nimport classNames from 'classnames';\n\nimport styles from './Navigation.module.scss';\n\nconst Navigation = ({\n menu = [],\n searchPageUrl,\n favoritesPageUrl,\n languages = [],\n isSearchActive,\n pageType,\n}) => {\n const { t } = useTranslation('common');\n const [activeMenuItem, setActiveMenuItem] = useState(undefined);\n const [langSwitchIsOpen, setLangSwitchIsOpen] = useState(false);\n const [showSearch, setShowSearch] = useState(false);\n\n const { state } = useContext(CookieStateContext) || {};\n const cookieConsent = state?.categories?.includes('functionality');\n\n const logotypeClasses = classNames(styles['Navigation__Logotype'], {\n [styles['Navigation__Logotype--Fade']]: activeMenuItem !== undefined,\n });\n\n const bylineClasses = classNames(styles['Navigation__Byline'], {\n [styles['Navigation__Byline--Fade']]: activeMenuItem !== undefined,\n });\n\n const searchClasses = classNames(styles['Navigation__Search'], {\n [styles['Navigation__Search--Active']]: isSearchActive,\n });\n\n const serviceMenuClasses = classNames(styles['Navigation__ServiceMenu'], {\n [styles['Navigation__ServiceMenu--Fade']]:\n activeMenuItem !== undefined && activeMenuItem !== 'languages',\n [styles['Navigation__ServiceMenu--Active']]:\n activeMenuItem !== undefined && activeMenuItem === 'languages',\n });\n\n const navClasses = classNames(styles['Navigation'], {\n [styles['Navigation--HomePage']]: pageType == 'HomePage',\n });\n\n const navigationContainerClasses = classNames(\n styles['Navigation__Container'],\n 'Navigation__Container',\n {\n [styles['Navigation__Container--IsSearching']]: showSearch,\n }\n );\n\n useEffect(() => {\n const handleScroll = () => {\n if (window.scrollY > 75) {\n setActiveMenuItem(undefined);\n }\n };\n\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, []);\n\n useEffect(() => {\n const handleBlockScroll = (e) => {\n if (e.keyCode === 40 || e.keyCode === 38) {\n e.preventDefault();\n }\n // const UP = 38;\n // const DOWN = 40;\n };\n const handleKeyPress = (e) => {\n const ESC = 27;\n const UP = 38;\n const DOWN = 40;\n const currentElement = document.activeElement;\n const isButton = currentElement\n ? currentElement.classList.value.indexOf(\n styles['Navigation__ActiveLanguage']\n ) > -1\n : '';\n const isLink = currentElement\n ? currentElement.classList.value.indexOf(\n styles['Navigation__LanguageLink']\n ) > -1\n : '';\n const keyCode = e.keyCode;\n\n if (keyCode === ESC) {\n setActiveMenuItem(undefined);\n setLangSwitchIsOpen(false);\n }\n\n // We are at the first suggestion and press up\n if (isLink && keyCode === UP && !currentElement.previousSibling) {\n currentElement.parentElement.previousSibling.focus();\n }\n\n // We are not at the first suggestion and press up\n if (isLink && keyCode === UP && currentElement.previousSibling) {\n currentElement.previousSibling.focus();\n }\n\n // We are on the language dropdown button\n if (isButton && keyCode === DOWN) {\n currentElement.nextSibling.querySelector('a').focus();\n }\n\n // We press down inside dropdown\n if (isLink && keyCode === DOWN && currentElement.nextSibling) {\n currentElement.nextSibling.focus();\n }\n\n // We are on last item\n if (isLink && keyCode === DOWN && !currentElement.nextSibling) {\n currentElement.focus();\n }\n };\n\n document.addEventListener('keyup', handleKeyPress);\n if (langSwitchIsOpen) {\n document.removeEventListener('keydown', handleBlockScroll);\n }\n\n return () => {\n document.removeEventListener('keyup', handleKeyPress);\n if (langSwitchIsOpen) {\n document.removeEventListener('keydown', handleBlockScroll);\n }\n };\n }, [langSwitchIsOpen]);\n\n const activateSearch = () => {\n if (\n typeof window !== 'undefined' &&\n window.location.pathname !== '/' &&\n searchPageUrl.indexOf(window.location.pathname) > -1\n ) {\n document\n .querySelector('.SearchFilter__HeadingLabel')\n .scrollIntoView({\n behavior: 'smooth',\n });\n } else {\n setShowSearch(true);\n }\n };\n\n const handleClickItem = (item) => {\n setLangSwitchIsOpen(false);\n\n if (item === activeMenuItem) {\n setActiveMenuItem(undefined);\n return;\n }\n\n setActiveMenuItem(item);\n };\n\n const handleLangSwitch = () => {\n setActiveMenuItem(undefined);\n setLangSwitchIsOpen(!langSwitchIsOpen);\n };\n\n return (\n <nav role=\"navigation\" className={navClasses}>\n <div className={navigationContainerClasses}>\n <FadeIn visible={showSearch}>\n <NavigationSearch\n searchPageUrl={searchPageUrl}\n onClose={useCallback(() => setShowSearch(false), [])}\n />\n </FadeIn>\n {!showSearch && (\n <>\n <div className={logotypeClasses}>\n {typeof window !== 'undefined' &&\n window.location.pathname !== '/' && (\n <a href=\"/\">\n <span className=\"sr-only\">\n {t('navigation.logo')}\n </span>\n </a>\n )}\n </div>\n\n <div className={styles['Navigation__MenuWrap']}>\n <div className={bylineClasses}>\n {t('navigation.byline')}\n </div>\n <div className={styles['Navigation__Menu']}>\n {menu.map((item, idx) => (\n <NavItem\n key={idx}\n navId={`nav-id-${idx}`}\n idx={idx}\n onClickItem={() => {\n handleClickItem(item);\n }}\n isActive={item === activeMenuItem}\n activeMenuItem={activeMenuItem}\n {...item}\n />\n ))}\n\n {searchPageUrl && (\n <button\n className={searchClasses}\n onKeyUp={(e) => {\n const DOWN = 40;\n const ENTER = 13;\n const SPACE = 32;\n if (\n [DOWN, ENTER, SPACE].indexOf(\n e.keyCode\n ) > -1\n ) {\n activateSearch();\n }\n }}\n onClick={() => activateSearch()}>\n <span className=\"sr-only\">\n {t('navigation.search')}\n </span>\n </button>\n )}\n\n {favoritesPageUrl && cookieConsent && (\n <NavigationFavorite\n favoritesPageUrl={favoritesPageUrl}\n />\n )}\n\n <div className={serviceMenuClasses}>\n <LanguageSwitch\n languages={languages}\n handleLangSwitch={handleLangSwitch}\n langSwitchIsOpen={langSwitchIsOpen}\n />\n </div>\n </div>\n </div>\n </>\n )}\n </div>\n </nav>\n );\n};\n\nconst LanguageSwitch = ({ languages, handleLangSwitch, langSwitchIsOpen }) => {\n const { t } = useTranslation('common');\n const activeLanguage = languages.filter((l) => l.isActive)[0];\n\n const switchMenuClass = classNames(styles['Navigation__LanguageMenu'], {\n [styles['Navigation__LanguageMenu--Open']]: langSwitchIsOpen,\n });\n\n const languageSwitcherClasses = classNames(\n styles['Navigation__LanguageSwitcher'],\n {\n [styles['Navigation__LanguageSwitcher--Open']]: langSwitchIsOpen,\n }\n );\n\n if (!activeLanguage) {\n return null;\n }\n\n return (\n <div className={languageSwitcherClasses}>\n <button\n onClick={handleLangSwitch}\n aria-expanded={langSwitchIsOpen}\n aria-controls=\"language-switch\"\n className={styles['Navigation__ActiveLanguage']}>\n {t(`navigation.languages.${activeLanguage.langCode}`)}\n </button>\n <div\n id=\"language-switch\"\n aria-hidden={!langSwitchIsOpen}\n className={switchMenuClass}>\n {languages.map((item, idx) => {\n const checkBoxClass = classNames(\n styles['Navigation__Checkbox'],\n {\n [styles['Navigation__Checkbox--Active']]:\n item.isActive,\n }\n );\n\n return (\n <a\n className={styles['Navigation__LanguageLink']}\n key={idx}\n lang={item.langCode}\n href={item.href}>\n <span\n className={checkBoxClass}\n aria-hidden={true}\n />\n {t(`navigation.languages.${item.langCode}`)}\n </a>\n );\n })}\n </div>\n </div>\n );\n};\n\nconst NavItem = ({\n title,\n href,\n pageType,\n items,\n onClickItem,\n isActive,\n activeMenuItem,\n navId,\n}) => {\n const linkClass = classNames(styles['Navigation__NavLink'], {\n [styles[`Navigation__NavLink--${pageType}`]]: pageType,\n [styles['Navigation__NavLink--ActivePage']]: isActive,\n });\n\n if (pageType === 'Explore') {\n onClickItem = undefined;\n }\n\n return (\n <>\n {items && items.length > 0 ? (\n <>\n <button\n className={styles['Navigation__NavItem']}\n aria-expanded={isActive}\n onClick={onClickItem}>\n <span className={linkClass}>{title}</span>\n </button>\n <Dropdown\n navId={navId}\n visible={isActive}\n items={items}\n title={title}\n href={href}\n activeMenuItem={activeMenuItem}\n />\n </>\n ) : (\n <a className={linkClass} href={href}>\n {title}\n </a>\n )}\n </>\n );\n};\n\nconst Dropdown = ({ items, visible, navId, title, href, activeMenuItem }) => {\n const dropdownClasses = classNames(styles['Navigation__Dropdown'], {\n [styles['Navigation__Dropdown--Visible']]: visible,\n [styles['Navigation__Dropdown--FadeOut']]:\n activeMenuItem !== undefined && activeMenuItem === false,\n });\n\n let newItems = items.filter((item) => item.items.length > 0);\n\n return (\n <div id={navId} className={dropdownClasses}>\n <div className={styles['Navigation__DropdownWrap']}>\n <div className={styles['Navigation__DropdownContainer']}>\n <div className={styles['Navigation__DropdownHeader']}>\n <a\n href={href}\n className={\n styles['Navigation__DropdownHeaderLink']\n }>\n <span>{title}</span>\n </a>\n </div>\n {newItems.map((lists, index) => (\n <div\n className={styles['Navigation__DropdownOuterList']}\n key={index}>\n {lists.items &&\n lists.items.map((list, listIndex) => (\n <DropdownList {...list} key={listIndex} />\n ))}\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n};\n\nconst DropdownList = ({ label, links, showArrowIcon }) => (\n <div className={styles['Navigation__DropdownInnerWrap']}>\n <h2 className={styles['Navigation__DropdownListTitle']}>{label}</h2>\n\n <ul>\n {links &&\n links.map((item, index) => {\n const linkClasses = classNames(\n styles['Navigation__DropdownLink'],\n {\n [styles['Navigation__DropdownLink--Arrow']]:\n showArrowIcon,\n [styles['Navigation__DropdownLink--City']]:\n !showArrowIcon && item.type === 'city',\n [styles['Navigation__DropdownLink--Region']]:\n !showArrowIcon && item.type === 'region',\n }\n );\n\n return (\n <li key={index}>\n <a className={linkClasses} href={item.href}>\n {item.title}\n </a>\n </li>\n );\n })}\n </ul>\n </div>\n);\n\nDropdownList.propTypes = {\n label: PropTypes.string,\n links: PropTypes.array,\n showArrowIcon: PropTypes.bool,\n};\n\nNavItem.propTypes = {\n idx: PropTypes.number,\n title: PropTypes.string,\n href: PropTypes.string,\n pageType: PropTypes.string,\n items: PropTypes.array,\n active: PropTypes.bool,\n isActive: PropTypes.bool,\n onClickItem: PropTypes.func,\n navId: PropTypes.string,\n};\n\nDropdown.propTypes = {\n items: PropTypes.array,\n visible: PropTypes.bool,\n navId: PropTypes.string,\n};\n\nLanguageSwitch.propTypes = {\n languages: PropTypes.array,\n setLangSwitchIsOpen: PropTypes.func,\n langSwitchIsOpen: PropTypes.bool,\n};\n\nNavigation.propTypes = {\n menu: PropTypes.array,\n searchPageUrl: PropTypes.string,\n favoritesPageUrl: PropTypes.string,\n languages: PropTypes.array,\n pageType: PropTypes.string,\n isSearchActive: PropTypes.bool,\n};\n\nexport default Navigation;\n","import Navigation from './Navigation';\n\nexport default Navigation;\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport styles from './ButtonToggle.module.scss';\n\nconst ButtonToggle = ({ onClick, className, untranslatedClassNames = [] }) => {\n const translatedClassNames = untranslatedClassNames.map((x) => styles[x]);\n return (\n <button\n className={classNames(className, translatedClassNames)}\n onClick={onClick}\n />\n );\n};\n\nButtonToggle.propTypes = {\n props: PropTypes.shape({\n className: PropTypes.string,\n onClick: PropTypes.func,\n }),\n rawModifiers: PropTypes.arrayOf(PropTypes.string),\n};\n\nButtonToggle.defaultProps = {\n className: styles['ButtonToggle'],\n rawModifiers: [],\n};\n\nexport default ButtonToggle;\n","import ButtonToggle from './ButtonToggle';\n\nexport default ButtonToggle;\n","import React, { useState, useCallback, useContext } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport styles from './NavigationMobile.module.scss';\n\nimport NavigationFavorite from '../NavigationFavorite';\nimport NavigationSearch from '../NavigationSearch';\nimport FadeIn from '../../transitions/FadeIn';\nimport { CookieStateContext } from '../../containers/BasePage/state';\nimport ButtonToggle from '../ButtonToggle';\nimport { useTranslation } from 'next-i18next';\n\nconst NavigationMobile = ({\n menu,\n searchPageUrl,\n favoritesPageUrl,\n languages,\n handleDisable,\n}) => {\n const { t } = useTranslation('common');\n const [menuIsOpen, setMenuIsOpen] = useState(false);\n const [showSearch, setShowSearch] = useState(false);\n const handleMenuToggle = useCallback(() => {\n handleDisable();\n setMenuIsOpen((menuIsOpen) => !menuIsOpen);\n }, [handleDisable]);\n\n const { state } = useContext(CookieStateContext) || {};\n const cookieConsent = state?.categories?.includes('functionality');\n\n const menuClasses = classNames(styles['NavigationMobile'], {\n [styles['NavigationMobile--Open']]: menuIsOpen,\n ['NavigationMobile--Open']: menuIsOpen, // for headroom styling\n });\n\n return (\n <nav className={menuClasses}>\n <div className={styles['NavigationMobile__Container']}>\n <FadeIn visible={showSearch}>\n <NavigationSearch\n searchPageUrl={searchPageUrl}\n onClose={() => setShowSearch(false)}\n />\n </FadeIn>\n {!showSearch && (\n <>\n <a\n href=\"/\"\n className={styles['NavigationMobile__Logotype']}>\n <span className=\"sr-only\">\n Visit Sweden Logotype\n </span>\n </a>\n <div className={styles['NavigationMobile__Actions']}>\n <button\n className={styles['NavigationMobile__Search']}\n onClick={() => {\n if (\n typeof window !== 'undefined' &&\n window.location.pathname !== '/' &&\n searchPageUrl.indexOf(\n window.location.pathname\n ) > -1\n ) {\n document\n .querySelector(\n '.SearchFilter__HeadingLabel'\n )\n .scrollIntoView({\n behavior: 'smooth',\n });\n } else {\n setShowSearch(true);\n }\n }}>\n <span className=\"sr-only\">\n {t('navigation.search')}\n </span>\n </button>\n\n {favoritesPageUrl && cookieConsent && (\n <NavigationFavorite\n favoritesPageUrl={favoritesPageUrl}\n />\n )}\n\n <button\n className={styles['NavigationMobile__Toggle']}\n onClick={handleMenuToggle}>\n {menuIsOpen ? (\n <span className=\"sr-only\">\n {t('navigation.close')}\n </span>\n ) : (\n <span className=\"sr-only\">\n {t('navigation.open')}\n </span>\n )}\n </button>\n </div>\n </>\n )}\n </div>\n <div className={styles['NavigationMobile__ItemsContainer']}>\n <div className={styles['NavigationMobile__Items']}>\n {menu.map((item, index) => (\n <SubNavigation key={index} {...item} />\n ))}\n\n <MobileLanguageSwitcher languages={languages} />\n </div>\n </div>\n </nav>\n );\n};\n\nNavigationMobile.propTypes = {\n menu: PropTypes.array,\n searchPageUrl: PropTypes.string,\n favoritesPageUrl: PropTypes.string,\n languages: PropTypes.array,\n handleDisable: PropTypes.func,\n};\n\nNavigationMobile.defaultProps = {\n menu: [],\n languages: [],\n searchPageUrl: '',\n favoritesPageUrl: '',\n handleDisable: () => false,\n};\n\nconst MobileLanguageSwitcher = ({ languages }) => {\n const { t } = useTranslation('common');\n const [subMenuIsOpen, setSubMenuIsOpen] = useState(false);\n const handleSubMenuToggle = useCallback((e) => {\n e.preventDefault();\n setSubMenuIsOpen((subMenuIsOpen) => !subMenuIsOpen);\n }, []);\n const activeLanguage = languages.filter((l) => l.isActive)[0] || {};\n\n let buttonToggleModifiers = ['ButtonToggle', 'ButtonToggle--Grey300'];\n\n if (!subMenuIsOpen) {\n buttonToggleModifiers = [\n ...buttonToggleModifiers,\n 'ButtonToggle--Language',\n ];\n }\n\n if (subMenuIsOpen) {\n buttonToggleModifiers = [\n ...buttonToggleModifiers,\n 'ButtonToggle--LanguageClose',\n ];\n }\n\n return (\n <>\n <div className={styles['NavigationMobile__ItemContainer']}>\n <div\n className={\n styles['NavigationMobile__Item'] +\n ' ' +\n styles['NavigationMobile__Item--TopLevel']\n }>\n <span className={styles['NavigationMobile__Language']}>\n {t('navigation.language')}\n </span>\n <span\n className={styles['NavigationMobile__ActiveLanguage']}>\n {activeLanguage.title}\n </span>\n <div className={styles['NavigationMobile__ButtonToggle']}>\n <ButtonToggle\n untranslatedClassNames={buttonToggleModifiers}\n onClick={handleSubMenuToggle}\n />\n </div>\n </div>\n </div>\n {subMenuIsOpen &&\n languages &&\n languages.map((language, index) => (\n <div\n key={index}\n className={classNames(\n styles['NavigationMobile__ItemContainer'],\n styles['NavigationMobile__ItemContainer--SubLevel'],\n styles['NavigationMobile__Item--Language']\n )}>\n <span\n className={classNames(\n styles['NavigationMobile__Checkbox'],\n {\n [styles[\n 'NavigationMobile__Checkbox--Active'\n ]]: language.isActive,\n }\n )}\n />\n {language.title}\n <a\n className={styles['NavigationMobile__ItemLink']}\n href={language.href}></a>\n </div>\n ))}\n </>\n );\n};\n\nMobileLanguageSwitcher.propTypes = {\n languages: PropTypes.array,\n};\n\nconst SubNavigation = ({ title, pageType, items, href }) => {\n const [subMenuIsOpen, setSubMenuIsOpen] = useState(false);\n const handleSubMenuToggle = useCallback((e) => {\n e.preventDefault();\n setSubMenuIsOpen((subMenuIsOpen) => !subMenuIsOpen);\n }, []);\n let buttonToggleClasses = ['ButtonToggle', 'ButtonToggle--Grey300'];\n\n if (!subMenuIsOpen) {\n buttonToggleClasses = [...buttonToggleClasses, 'ButtonToggle--Plus'];\n }\n\n if (subMenuIsOpen) {\n buttonToggleClasses = [...buttonToggleClasses, 'ButtonToggle--Minus'];\n }\n\n const topNavigationClasses = classNames(\n styles['NavigationMobile__Item'],\n styles['NavigationMobile__Item--TopLevel'],\n { [styles[`NavigationMobile__Item--${pageType}`]]: pageType }\n );\n\n const hasSubMenuLinkItems =\n items &&\n !!items.length &&\n items.some((firstLevelLists) => {\n return (\n firstLevelLists.items &&\n firstLevelLists.items.some((secondLevelLists) => {\n return (\n secondLevelLists.links &&\n !!secondLevelLists.links.length &&\n !!secondLevelLists.links.length\n );\n })\n );\n });\n\n return (\n <>\n <div className={styles['NavigationMobile__ItemContainer']}>\n <a className={topNavigationClasses} href={href}>\n {title}\n </a>\n {hasSubMenuLinkItems && (\n <div className={styles['NavigationMobile__ButtonToggle']}>\n <ButtonToggle\n untranslatedClassNames={buttonToggleClasses}\n onClick={handleSubMenuToggle}\n />\n </div>\n )}\n </div>\n {subMenuIsOpen &&\n items &&\n items.map((lists, listsIndex) => (\n <React.Fragment key={listsIndex}>\n {lists.items &&\n lists.items.map(\n ({ links, showArrowIcon }, listIndex) => (\n <React.Fragment key={listIndex}>\n {links &&\n links.map((link, linkIndex) => (\n <SubNavigationItem\n key={linkIndex}\n {...link}\n showArrowIcon={\n showArrowIcon\n }\n />\n ))}\n </React.Fragment>\n )\n )}\n </React.Fragment>\n ))}\n </>\n );\n};\n\nSubNavigation.propTypes = {\n title: PropTypes.string,\n href: PropTypes.string,\n pageType: PropTypes.string,\n items: PropTypes.array,\n};\n\nconst SubNavigationItem = ({\n title,\n href,\n pageType,\n isEditorial,\n type,\n showArrowIcon,\n}) => {\n const subNavigationClasses = classNames(\n styles['NavigationMobile__ItemContainer'],\n styles['NavigationMobile__ItemContainer--SubLevel'],\n {\n [styles[`NavigationMobile__Item--${pageType}`]]:\n pageType && !isEditorial,\n },\n { [styles['NavigationMobile__Item--Editorial']]: isEditorial },\n { [styles['Navigation__DropdownLink--Arrow']]: showArrowIcon },\n {\n [styles['NavigationMobile__Item--City']]:\n !showArrowIcon && type === 'city',\n },\n {\n [styles['NavigationMobile__Item--Region']]:\n !showArrowIcon && type === 'region',\n }\n );\n\n const subNavigationLinkClasses = classNames(\n styles['NavigationMobile__Item'],\n styles['NavigationMobile__Item--SubLevel']\n );\n\n return (\n <div className={subNavigationClasses}>\n <span className={subNavigationLinkClasses}>{title}</span>\n <a href={href} className={styles['NavigationMobile__ItemLink']}>\n <span className=\"sr-only\">{title}</span>\n </a>\n </div>\n );\n};\n\nSubNavigationItem.propTypes = {\n title: PropTypes.string,\n href: PropTypes.string,\n pageType: PropTypes.string,\n isEditorial: PropTypes.bool,\n type: PropTypes.string,\n showArrowIcon: PropTypes.bool,\n};\n\nexport default NavigationMobile;\n","import NavigationMobile from './NavigationMobile';\n\nexport default NavigationMobile;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'next-i18next';\n\nimport styles from './Footer.module.scss';\n\nconst Footer = ({\n footerMainMenu = [],\n footerPrivacyMenu = {\n items: [],\n copyrightYear: 2020,\n },\n socialMediaProfiles = [],\n}) => {\n return (\n <footer className={styles['Footer']}>\n <div className={styles['Footer__Container']}>\n <MainNav items={footerMainMenu} />\n <SocialNav profiles={socialMediaProfiles} />\n <PrivacyNav {...footerPrivacyMenu} />\n <SwedenLogotypes />\n </div>\n </footer>\n );\n};\n\nFooter.propTypes = {\n footerMainMenu: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n })\n ),\n footerPrivacyMenu: PropTypes.object,\n socialMediaProfiles: PropTypes.array,\n};\n\nconst SocialNav = ({ profiles = [] }) => {\n const { t } = useTranslation('common');\n return (\n <nav\n role=\"navigation\"\n aria-labelledby=\"socialFooterNav\"\n className={styles['Footer__SocialNav']}>\n <h2\n id=\"socialFooterNav\"\n className={styles['Footer__SocialNav__Heading']}>\n {t('footer.followus')}\n </h2>\n <div className={styles['Footer__SocialNav__Container']}>\n {profiles?.map((profile, i) => (\n <a\n key={i}\n href={profile.url}\n className={`${styles['Footer__SocialNav__Link']} ${\n styles[`Footer__SocialNav__Link--${profile.icon}`]\n }`}>\n <span className=\"sr-only\">\n {t(`footer.${profile.icon}`)}\n </span>\n </a>\n ))}\n </div>\n </nav>\n );\n};\n\nSocialNav.propTypes = {\n profiles: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n })\n ).isRequired,\n};\n\nconst MainNav = ({ items }) => {\n const { t } = useTranslation('common');\n return (\n <nav\n role=\"navigation\"\n aria-labelledby=\"mainFooterNav\"\n className={styles['Footer__MainNav']}>\n <h2 className=\"sr-only\" id=\"mainFooterNav\">\n {t('footer.mainNavHeader')}\n </h2>\n <ul className={styles['Footer__MainNav__Container']}>\n {items.map((item, i) => (\n <li key={i} className={styles['Footer__MainNav__Item']}>\n <a\n className={styles['Footer__MainNav__Link']}\n href={item.href}>\n {item.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n );\n};\n\nMainNav.propTypes = {\n items: PropTypes.array.isRequired,\n};\n\nconst SwedenLogotypes = () => {\n return (\n <div className={styles['Footer__SwedenLogotypes']}>\n <a\n className={styles['Footer__SwedenLogotypes__Link']}\n href=\"https://sweden.se\">\n <div\n className={\n styles['Footer__SwedenLogotypes__Logo'] +\n ' ' +\n styles['Footer__SwedenLogotypes__Logo--Sweden']\n }>\n <span className=\"sr-only\">Sweden.se</span>\n </div>\n </a>\n <div\n className={\n styles['Footer__SwedenLogotypes__Link'] +\n ' ' +\n styles['Footer__SwedenLogotypes__Link--Second']\n }>\n <div\n className={\n styles['Footer__SwedenLogotypes__Logo'] +\n ' ' +\n styles['Footer__SwedenLogotypes__Logo--VisitSweden']\n }>\n <span className=\"sr-only\">VisitSweden.com</span>\n </div>\n </div>\n </div>\n );\n};\n\nconst PrivacyNav = ({ items = [], copyrightYear }) => {\n const { t } = useTranslation('common');\n return (\n <nav\n role=\"navigation\"\n aria-labelledby=\"privacyFooterNav\"\n className={styles['Footer__PrivacyNav']}>\n <h2 id=\"privacyFooterNav\" className=\"sr-only\">\n {t('footer.privacyNavHeader')}\n </h2>\n <ul className={styles['Footer__PrivacyNav__Container']}>\n {items.map((item, i) => (\n <li key={i} className={styles['Footer__PrivacyNav__Item']}>\n <a\n className={styles['Footer__PrivacyNav__Link']}\n href={item.href}>\n {item.title}\n </a>\n </li>\n ))}\n </ul>\n <div className={styles['Footer__PrivacyNav__CopyrightNotice']}>\n {t('footer.copyright', { copyrightYear })}\n </div>\n </nav>\n );\n};\n\nPrivacyNav.propTypes = {\n items: PropTypes.array.isRequired,\n copyrightYear: PropTypes.number.isRequired,\n};\n\nexport default Footer;\n","import Footer from './Footer';\n\nexport default Footer;\n","import React from 'react';\nimport { useTranslation } from 'next-i18next';\n\nimport styles from './BasicLogo.module.scss';\n\nconst BasicLogo = () => {\n const { t } = useTranslation('common');\n return (\n <div className={styles['BasicLogo']}>\n <div className={styles['BasicLogo__Wrapper']}>\n <div className={styles['BasicLogo__Logotype']}>\n <a href=\"/\">\n <span className=\"sr-only\">{t('navigation.logo')}</span>\n </a>\n </div>\n </div>\n </div>\n );\n};\n\nexport default BasicLogo;\n","import BasicLogo from './BasicLogo';\n\nexport default BasicLogo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'next-i18next';\nimport styles from './NewsletterSignup.module.scss';\n\nconst NewsletterSignup = ({ newsletterUrl, hiddenInputName }) => {\n const { t } = useTranslation('common');\n const text = t('newsletterSignup.text');\n const placeholder = t('newsletterSignup.placeholder');\n const submitText = t('newsletterSignup.submitText');\n const label = t('newsletterSignup.label');\n\n return (\n <div className={styles['NewsletterSignup']}>\n <div className={styles['NewsletterSignup__Wrapper']}>\n <div className={styles['NewsletterSignup__Text']}>{text}</div>\n <div className={styles['NewsletterSignup__Input']}>\n <form\n action={newsletterUrl}\n method=\"post\"\n target=\"_blank\"\n noValidate={true}>\n <label className=\"sr-only\" htmlFor=\"signupEmail\">\n {label}\n </label>\n <input\n id=\"signupEmail\"\n type=\"email\"\n defaultValue=\"\"\n name=\"EMAIL\"\n placeholder={placeholder}\n />\n <div\n style={{ position: 'absolute', left: '-5000px' }}\n aria-hidden=\"true\">\n <input\n type=\"text\"\n name={hiddenInputName}\n tabIndex=\"-1\"\n value=\"\"\n readOnly={true}\n />\n </div>\n <input\n type=\"submit\"\n value={submitText}\n name=\"subscribe\"\n />\n </form>\n </div>\n </div>\n </div>\n );\n};\n\nNewsletterSignup.propTypes = {\n newsletterUrl: PropTypes.string,\n hiddenInputName: PropTypes.string,\n};\n\nNewsletterSignup.defaultProps = {\n text: '',\n newsletterUrl: '',\n placeholder: '',\n hiddenInputName: '',\n submitText: '',\n};\n\nexport default NewsletterSignup;\n","import NewsletterSignup from './NewsletterSignup';\n\nexport default NewsletterSignup;\n","import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport PropTypes from 'prop-types';\n\nimport styles from './SlideInFromTop.module.scss';\n\nconst SlideInFromTop = ({ children, visible, timeout, ...props }) => {\n return (\n <CSSTransition\n classNames={styles['SlideInFromTop']}\n in={visible}\n timeout={timeout}\n unmountOnExit\n {...props}>\n {children}\n </CSSTransition>\n );\n};\n\nSlideInFromTop.propTypes = {\n children: PropTypes.node,\n visible: PropTypes.bool,\n timeout: PropTypes.number,\n};\n\nSlideInFromTop.defaultProps = {\n children: '',\n visible: undefined,\n timeout: 300,\n};\n\nexport default SlideInFromTop;\n","import SlideInFromTop from './SlideInFromTop.js';\n\nexport default SlideInFromTop;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../Button';\nimport SlideInFromTop from '../../transitions/SlideInFromTop';\n\nimport { useTranslation } from 'next-i18next';\nimport { setCookie, getCookie } from '../../utils/cookies';\n\nimport styles from './CrisisInformationBar.module.scss';\n\nconst CrisisInformationBar = ({\n title = '',\n content = '',\n identifier = '',\n}) => {\n const { t } = useTranslation('common');\n const [hidden, setHidden] = useState(true);\n\n const dismissCrisisInformation = () => {\n setHidden(true);\n setCookie(identifier, true);\n };\n\n useEffect(() => {\n if (!getCookie(identifier)) {\n setHidden(false);\n }\n }, [identifier]);\n\n if (!title || !content) {\n return null;\n }\n\n return (\n <SlideInFromTop visible={!hidden}>\n <div className={styles['CrisisInformationBar']}>\n <div className={styles['CrisisInformationBar__Container']}>\n <div className={styles['CrisisInformationBar__Icon']} />\n <div className={styles['CrisisInformationBar__Content']}>\n <h3\n className={\n styles['CrisisInformationBar__Content__Title']\n }>\n {title}\n </h3>\n <div\n className={\n styles['CrisisInformationBar__Content__Text']\n }\n dangerouslySetInnerHTML={{ __html: content }}\n />\n </div>\n <div className={styles['CrisisInformationBar__Close']}>\n <Button\n icon=\"Arrow\"\n text={t('crisisinformationbar.close')}\n type={'Plain'}\n onClick={dismissCrisisInformation}></Button>\n </div>\n </div>\n </div>\n </SlideInFromTop>\n );\n};\n\nCrisisInformationBar.propTypes = {\n title: PropTypes.string,\n content: PropTypes.string,\n identifier: PropTypes.string,\n};\n\nexport default CrisisInformationBar;\n","import CrisisInformationBar from './CrisisInformationBar';\n\nexport default CrisisInformationBar;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './GlobalSiteSwitcher.module.scss';\n\nconst GlobalSiteSwitcher = ({ label = '', links = [] }) => {\n const [open, setOpen] = useState(false);\n\n if (!links.length) {\n return null;\n }\n\n const handleKeyDown = (e) => {\n const tabKey = 9;\n if (e.keyCode == tabKey) {\n return;\n }\n setOpen(!open);\n };\n\n return (\n <div className={styles['GlobalSiteSwitcher']}>\n <div className={styles['GlobalSiteSwitcher__Content']}>\n <button\n className={styles['GlobalSiteSwitcher__Button']}\n onClick={() => setOpen(!open)}>\n <span className={styles['GlobalSiteSwitcher__Label']}>\n {label}\n </span>\n <div\n className={classNames(\n styles['GlobalSiteSwitcher__Arrow'],\n {\n [styles['GlobalSiteSwitcher__Arrow--Open']]:\n open,\n }\n )}\n />\n </button>\n <ul\n className={classNames(styles['GlobalSiteSwitcher__Items'], {\n [styles['GlobalSiteSwitcher__Items--Open']]: open,\n })}>\n {links.map(({ value }, i) => (\n <li key={i}>\n <a\n className={styles['GlobalSiteSwitcher__Link']}\n href={value.href}>\n {value.title}\n </a>\n </li>\n ))}\n </ul>\n </div>\n </div>\n );\n};\n\nGlobalSiteSwitcher.propTypes = {\n label: PropTypes.string,\n links: PropTypes.array,\n};\n\nexport default GlobalSiteSwitcher;\n","import GlobalSiteSwitcher from './GlobalSiteSwitcher';\n\nexport default GlobalSiteSwitcher;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst WagtailUserbar = ({ html }) => {\n return (\n <div suppressHydrationWarning={true} dangerouslySetInnerHTML={{ __html: html }}/>\n );\n};\n\nWagtailUserbar.propTypes = {\n html: PropTypes.string.isRequired,\n};\n\nexport default WagtailUserbar;\n","import WagtailUserbar from './WagtailUserbar';\n\nexport default WagtailUserbar;\n","/* global CookieScript */\n\nimport React, { useState, useCallback, useEffect, useContext } from 'react';\nimport Head from 'next/head';\nimport useMediaQuery from '../../utils/useMediaQuery';\nimport PropTypes from 'prop-types';\nimport Headroom from 'react-headroom';\nimport classNames from 'classnames';\n\nimport Navigation from '../../components/Navigation';\nimport NavigationMobile from '../../components/NavigationMobile';\nimport Footer from '../../components/Footer';\n\nimport BasicLogo from '../../components/BasicLogo';\nimport NewsletterSignup from '../../components/NewsletterSignup';\nimport CrisisInformationBar from '../../components/CrisisInformationBar';\nimport GlobalSiteSwitcher from '../../components/GlobalSiteSwitcher';\nimport WagtailUserbar from '../../components/WagtailUserbar';\nimport smoothscroll from 'smoothscroll-polyfill';\nimport { useTranslation } from 'next-i18next';\n\nimport isEmpty from '../../utils/isEmpty';\nimport { isExternalUrl } from '../../utils/url';\n\nimport { breakpoints } from '../../constants';\nimport { useCookieStateContext, CookieStateContext } from './state';\nimport BaseContext from './BaseContext';\nimport styles from './BasePage.module.scss';\n\nexport default function BasePage({\n navigation,\n footerNavigation,\n children,\n crisisInformation,\n newsletterSignup,\n breadcrumbs,\n meta,\n siteSetting,\n hideNavigation = false,\n wagtailUserbar = null,\n seo,\n map = {},\n}) {\n // For handling base context in storybook it is added to all stories, check if\n // storybook settings exists, otherwise it is regular site and context can be created\n const {\n googleMapsApiKey: storybookGoogleMapsApiKey,\n isStorybook,\n ...restContext\n } = useContext(BaseContext);\n\n const { googleMapsApiKey } = map;\n const globalGoogleMapsApiKey =\n isStorybook && storybookGoogleMapsApiKey !== ''\n ? storybookGoogleMapsApiKey\n : googleMapsApiKey;\n const baseContext = {\n googleMapsApiKey: globalGoogleMapsApiKey,\n };\n\n const { t } = useTranslation('common');\n const { siteSwitcher } = siteSetting || {};\n\n const context = useCookieStateContext();\n const {\n handleCookieAcceptAll,\n handleCookieAcceptCategories,\n handleCookieRejectAll,\n } = context;\n\n useEffect(() => {\n if (meta && typeof window !== 'undefined') {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n contentgrouping: {\n area: meta.metaDataArea || '',\n region: meta.metaDataRegions || '',\n program: meta.metaDataInternalProgram || '',\n funding: meta.metaDataFunding || '',\n },\n });\n }\n }, [\n meta?.metaDataArea,\n meta?.metaDataFunding,\n meta?.metaDataInternalProgram,\n meta?.metaDataRegions,\n ]);\n\n useEffect(() => {\n smoothscroll.polyfill();\n }, []);\n\n useEffect(() => {\n /*\n * Open external links in new windows\n * this is against accessibility and best practice rules\n * but a requirement for this project\n */\n const links = document.querySelectorAll('a[href]');\n for (let i = 0; i < links.length; i++) {\n const isExternal = isExternalUrl(links[i].getAttribute('href'));\n\n if (isExternal) {\n links[i].setAttribute('target', '_blank');\n links[i].setAttribute('rel', 'noopener');\n }\n }\n }, []);\n\n useEffect(() => {\n const handleCookieScriptLoaded = () => {\n handleCookieAcceptCategories(\n CookieScript.instance.currentState().categories\n );\n };\n\n if (window.CookieScript && window.CookieScript.instance) {\n handleCookieScriptLoaded();\n }\n\n window.addEventListener('CookieScriptLoaded', handleCookieScriptLoaded);\n\n window.addEventListener('CookieScriptAccept', (e) => {\n const categories = e.detail?.categories;\n handleCookieAcceptCategories(categories);\n\n if (\n typeof gtag === 'function' &&\n categories.includes('targeting')\n ) {\n window.dataLayer.push({ event: 'consentGranted' });\n }\n });\n\n window.addEventListener('CookieScriptAcceptAll', () => {\n handleCookieAcceptAll();\n typeof gtag === 'function' &&\n window.dataLayer.push({ event: 'consentGranted' });\n });\n\n window.addEventListener('CookieScriptReject', () => {\n handleCookieRejectAll();\n });\n\n window.addEventListener('CookieScriptLoaded', function (e) {\n console.log('Global: CookieScriptLoaded event detected', e);\n });\n\n return () => {\n window.removeEventListener(\n 'CookieScriptLoaded',\n handleCookieScriptLoaded\n );\n window.removeEventListener(\n 'CookieScriptAccept',\n handleCookieAcceptCategories\n );\n window.removeEventListener(\n 'CookieScriptAcceptAll',\n handleCookieAcceptAll\n );\n window.removeEventListener(\n 'CookieScriptReject',\n handleCookieRejectAll\n );\n };\n }, []);\n\n const showBreadcrumbs =\n breadcrumbs && breadcrumbs.items && breadcrumbs.items.length > 1;\n\n const classes = classNames(styles['BasePage'], {\n [styles['BasePage--Breadcrumbs']]: showBreadcrumbs,\n });\n\n return (\n <>\n <Meta {...seo} />\n\n <BaseContext.Provider value={baseContext}>\n <CookieStateContext.Provider value={context}>\n <main className={classes}>\n <a\n className={styles['BasePage__SkipMain']}\n href=\"#main-content\">\n {t('base.skip')}\n </a>\n {!isEmpty(siteSwitcher) && !hideNavigation && (\n <GlobalSiteSwitcher {...siteSwitcher} />\n )}\n {hideNavigation ? (\n <BasicLogo />\n ) : (\n <Header\n navigation={navigation}\n crisisInformation={crisisInformation}\n />\n )}\n {children}\n {!isEmpty(newsletterSignup) && (\n <NewsletterSignup {...newsletterSignup} />\n )}\n <Footer {...footerNavigation} />\n {wagtailUserbar && (\n <WagtailUserbar {...wagtailUserbar} />\n )}\n </main>\n </CookieStateContext.Provider>\n </BaseContext.Provider>\n </>\n );\n}\n\nBasePage.propTypes = {\n children: PropTypes.node,\n navigation: PropTypes.object,\n newsletterSignup: PropTypes.object,\n footerNavigation: PropTypes.object,\n crisisInformation: PropTypes.object,\n breadcrumbs: PropTypes.object,\n meta: PropTypes.object,\n siteSetting: PropTypes.object,\n hideNavigation: PropTypes.bool,\n wagtailUserbar: PropTypes.object,\n};\n\nconst Header = ({ navigation, crisisInformation }) => {\n const [isHydrated, setIsHydrated] = useState(false);\n const [isDesktop, setIsDesktop] = useState(false);\n const [isDisabled, setIsDisabled] = useState(false);\n const handleDisable = useCallback(\n () => setIsDisabled((isDisabled) => !isDisabled),\n []\n );\n const headroomClasses = classNames({ 'Headroom--Sticky': isDisabled });\n\n useEffect(() => {\n const checkIfDesktop = () => {\n setIsDesktop(window.innerWidth >= breakpoints.l);\n };\n\n checkIfDesktop();\n window.addEventListener('resize', checkIfDesktop);\n\n setIsHydrated(true);\n\n return () => {\n window.removeEventListener('resize', checkIfDesktop);\n };\n }, []);\n\n if (!isHydrated) {\n return null;\n }\n\n return (\n <>\n <Headroom className={headroomClasses} disableInlineStyles={true}>\n {isDesktop ? (\n <Navigation {...navigation} />\n ) : (\n <NavigationMobile\n {...navigation}\n handleDisable={handleDisable}\n />\n )}\n <CrisisInformationBar {...crisisInformation} />\n </Headroom>\n </>\n );\n};\n\nHeader.propTypes = {\n navigation: PropTypes.object,\n crisisInformation: PropTypes.object,\n};\n\nconst Meta = ({\n seoHtmlTitle = '',\n seoMetaDescription = '',\n seoOgUrl = '',\n seoOgDescription = '',\n seoOgTitle = '',\n seoOgImage = null,\n seoOgType = '',\n seoTwitterTitle = '',\n seoTwitterDescription = '',\n seoTwitterUrl = '',\n seoTwitterImage = null,\n seoMetaRobots = '',\n seoCanonicalLink = '',\n ldJson = [],\n}) => {\n return (\n <Head>\n <title>{seoHtmlTitle}</title>\n\n {!!seoMetaDescription && (\n <meta name=\"description\" content={seoMetaDescription} />\n )}\n\n {!!seoOgUrl && <meta property=\"og:url\" content={seoOgUrl} />}\n\n {!!seoOgDescription && (\n <meta property=\"og:description\" content={seoOgDescription} />\n )}\n\n {!!seoOgTitle && <meta property=\"og:title\" content={seoOgTitle} />}\n\n {!!seoOgImage && <meta property=\"og:image\" content={seoOgImage} />}\n\n {!!seoOgType && <meta property=\"og:type\" content={seoOgType} />}\n\n {!!seoTwitterTitle && (\n <meta property=\"twitter:title\" content={seoTwitterTitle} />\n )}\n\n {!!seoTwitterDescription && (\n <meta\n property=\"twitter:description\"\n content={seoTwitterDescription}\n />\n )}\n\n {!!seoTwitterUrl && (\n <meta property=\"twitter:url\" content={seoTwitterUrl} />\n )}\n\n {!!seoTwitterImage && (\n <meta property=\"twitter:image\" content={seoTwitterImage} />\n )}\n\n {!!seoMetaRobots && <meta name=\"robots\" content={seoMetaRobots} />}\n\n <link rel=\"canonical\" href={seoCanonicalLink} />\n\n {ldJson &&\n ldJson.map((content, index) => (\n <script\n key={index}\n type=\"application/ld+json\"\n dangerouslySetInnerHTML={{ __html: content }}\n />\n ))}\n </Head>\n );\n};\n\nMeta.propTypes = {\n seoHtmlTitle: PropTypes.string,\n seoMetaDescription: PropTypes.string,\n seoOgUrl: PropTypes.string,\n seoOgDescription: PropTypes.string,\n seoOgTitle: PropTypes.string,\n seoOgImage: PropTypes.string,\n seoOgType: PropTypes.string,\n seoTwitterTitle: PropTypes.string,\n seoTwitterDescription: PropTypes.string,\n seoTwitterUrl: PropTypes.string,\n seoTwitterImage: PropTypes.string,\n seoMetaRobots: PropTypes.string,\n seoCanonicalLink: PropTypes.string,\n ldJson: PropTypes.array,\n};\n","import BasePage from './BasePage';\nimport React from 'react';\n\nexport const basePageWrap = (Component) => (props) => {\n return (\n <BasePage {...props} _class={Component.name}>\n <Component {...props} />\n </BasePage>\n );\n};\n\nexport default BasePage;\n","import { createContext, useReducer } from 'react';\n\nconst CookieStateContext = createContext(null);\n\nconst useCookieStateContext = (categories) => {\n const [state, dispatch] = useReducer(cookieReducer, {\n categories: categories,\n });\n\n const handleCookieAcceptAll = () => {\n dispatch({\n type: 'ACCEPT_ALL_COOKIES',\n });\n };\n\n const handleCookieAcceptCategories = (categories) => {\n dispatch({\n type: 'ACCEPT_CATEGORIES',\n payload: {\n categories,\n },\n });\n };\n\n const handleCookieRejectAll = () => {\n dispatch({\n type: 'REJECT_ALL_COOKIES',\n });\n };\n\n const context = {\n state,\n handleCookieAcceptAll,\n handleCookieAcceptCategories,\n handleCookieRejectAll,\n };\n\n return context;\n};\n\nconst cookieReducer = (state, action) => {\n switch (action.type) {\n case 'ACCEPT_ALL_COOKIES': {\n return {\n ...state,\n categories: [\n 'strict',\n 'performance',\n 'targeting',\n 'functionality',\n ],\n };\n }\n\n case 'ACCEPT_CATEGORIES': {\n return {\n ...state,\n categories: action.payload.categories,\n };\n }\n\n case 'REJECT_ALL_COOKIES': {\n return {\n ...state,\n categories: [],\n };\n }\n\n default:\n throw new Error(`Unknown action: ${action.type}`);\n }\n};\n\nexport { useCookieStateContext, CookieStateContext };\n","import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport PropTypes from 'prop-types';\n\nimport styles from './FadeIn.module.scss';\n\nconst FadeIn = ({\n children = '',\n visible = undefined,\n timeout = 300,\n ...props\n}) => {\n return (\n <CSSTransition\n classNames={styles['FadeIn']}\n in={visible}\n timeout={timeout}\n unmountOnExit\n {...props}>\n {children}\n </CSSTransition>\n );\n};\n\nFadeIn.propTypes = {\n children: PropTypes.node,\n visible: PropTypes.bool,\n timeout: PropTypes.number,\n};\n\nexport default FadeIn;\n","import FadeIn from './FadeIn.js';\n\nexport default FadeIn;\n","const basePath = '/wt/api/v1';\nconst endpoints = {\n getPageDataByIds: (ids, baseUrl = basePath) =>\n `${baseUrl}/bookmarks/?ids=${ids.join(',')}`,\n getSearchResults: (searchString, baseUrl = basePath) =>\n `${baseUrl}/search-filter/?${searchString}`,\n getSearchSuggestions: (searchString, parent, baseUrl = basePath) =>\n `${baseUrl}/search-filter-suggestions/?query=${searchString}&parent=${parent}`,\n sendSearchDupes: (baseUrl = basePath) => `${baseUrl}/dupes/`,\n sendArticleFeedback: (baseUrl = basePath) =>\n `${baseUrl}/articlefeedbackentry/`,\n sendArticleFeedbackComment: (feedbackId, baseUrl = basePath) =>\n `${baseUrl}/articlefeedbackentry/${feedbackId}/`,\n};\n\nconst getPageDataByIds = async (ids) => {\n const response = await fetch(endpoints.getPageDataByIds(ids));\n return await response.json();\n};\n\nconst getSearchResults = async (\n page,\n searchInput,\n activeChips,\n activeRegions,\n parent,\n pinnedCategory,\n sorting,\n abortController\n) => {\n let signal;\n\n if (abortController) {\n signal = abortController.signal;\n }\n\n let regions = '';\n if (activeRegions && activeRegions.length > 0) {\n regions = activeRegions.join(',');\n }\n\n let categories = '';\n if (activeChips && activeChips.length > 0) {\n categories = activeChips.join(',');\n }\n\n const searchString = `query=${searchInput}&categories=${categories}&parent=${parent}&page=${page}®ions=${regions}&pinned_category=${\n pinnedCategory || ''\n }&sorting=${sorting}`;\n return fetch(endpoints.getSearchResults(searchString), { signal });\n};\n\nconst getSearchSuggestions = async (searchString, parent) => {\n const response = await fetch(\n endpoints.getSearchSuggestions(searchString, parent)\n );\n return await response.json();\n};\n\nconst sendSearchDupes = async (\n searchString,\n honeypotValue,\n nonce,\n baseUrl = basePath\n) => {\n if (honeypotValue !== '') {\n return;\n }\n\n const csrf = getCookie('csrftoken');\n const response = await fetch(endpoints.sendSearchDupes(baseUrl), {\n method: 'POST',\n body: JSON.stringify({ query: searchString, honeypot: honeypotValue }),\n headers: {\n 'Content-Type': 'application/json',\n 'X-Nonce': nonce,\n ...(csrf && { 'X-Csrftoken': csrf }),\n },\n });\n return await response.json();\n};\n\nconst sendArticleFeedback = async (articleId, rating) => {\n const response = await fetch(endpoints.sendArticleFeedback(), {\n method: 'POST',\n body: JSON.stringify({ article: articleId, rating }),\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n return await response.json();\n};\n\nconst sendArticleFeedbackComment = async (feedbackId, comment) => {\n const response = await fetch(\n endpoints.sendArticleFeedbackComment(feedbackId),\n {\n method: 'PATCH',\n body: JSON.stringify({ comment }),\n headers: {\n 'Content-Type': 'application/json',\n },\n }\n );\n\n return await response.json();\n};\n\nconst getCookie = (name) => {\n let cookieValue = null;\n if (document.cookie && document.cookie !== '') {\n const cookies = document.cookie.split(';');\n for (let i = 0; i < cookies.length; i++) {\n const cookie = cookies[i].trim();\n // Does this cookie string begin with the name we want?\n if (cookie.substring(0, name.length + 1) === name + '=') {\n cookieValue = decodeURIComponent(\n cookie.substring(name.length + 1)\n );\n break;\n }\n }\n }\n return cookieValue;\n};\n\nexport {\n getPageDataByIds,\n getSearchResults,\n getSearchSuggestions,\n sendSearchDupes,\n sendArticleFeedback,\n sendArticleFeedbackComment,\n};\n","import storage from './localStorage';\nimport base64url from 'base64url';\n\n// init\n\nif (storage.getItem('bookmarks') === null) {\n storage.setItem('bookmarks', JSON.stringify([]));\n}\n\n// private\n\nconst getBookmarkBy = (propName, value) => {\n const foundBookmarks = getBookmarks().filter(\n (bookmark) => bookmark[propName] === value\n );\n\n return foundBookmarks.length ? foundBookmarks[0] : null;\n};\n\nconst removeBookmarkBy = (propName, value) => {\n const bookmarks = getBookmarks().filter(\n (bookmark) => bookmark[propName] !== value\n );\n\n storage.setItem('bookmarks', JSON.stringify(bookmarks));\n executeUpdateCallbacks();\n};\n\nlet cbs = [];\nconst executeUpdateCallbacks = () => {\n const updatedBookmarks = getBookmarks();\n cbs.forEach((cb) => cb(updatedBookmarks));\n};\n\n// public\n\nconst isBookmarked = (id) => getBookmark(id) !== null;\n\nconst getBookmarks = () => JSON.parse(storage.getItem('bookmarks'));\n\nconst getBookmarkIds = () =>\n getBookmarks().reduce(\n (ids, bookmark) => (bookmark.id ? [...ids, bookmark.id] : ids),\n []\n );\n\nconst hasBookmarks = () => getBookmarks().length > 0;\n\nconst getBookmark = (id) => getBookmarkBy('id', id);\n\nconst getBookmarkByUrl = (url) => getBookmarkBy('url', url);\n\nconst addBookmark = ({ id, url }) => {\n if (isBookmarked(id)) {\n return false;\n }\n\n let bookmarks = getBookmarks();\n\n storage.setItem(\n 'bookmarks',\n JSON.stringify([\n ...bookmarks,\n {\n id,\n url,\n },\n ])\n );\n\n executeUpdateCallbacks();\n\n return true;\n};\n\nconst removeBookmark = (id) => removeBookmarkBy('id', id);\n\nconst removeBookmarkByUrl = (url) => removeBookmarkBy('url', url);\n\nconst onBookmarksUpdated = (cb) => (cbs = [...cbs, cb]);\n\nconst removeOnBookmarksUpdated = (cb) => (cbs = cbs.filter((fn) => fn !== cb));\n\n// encode ids with a naive checksum to catch incorrectly/partially copied share urls\nconst encodeBookmarkIds = (bookmarkIds) => {\n const checksum = bookmarkIds.reduce((sum, id) => sum + id, 0);\n return base64url([...bookmarkIds, checksum].join(','));\n};\n\nconst decodeBookmarkIds = (data) => {\n let ids = base64url\n .decode(data)\n .split(',')\n .map((id) => Number(id));\n\n const checksum = ids.pop();\n const calcedChecksum = ids.reduce((sum, id) => sum + id, 0);\n\n if (checksum !== calcedChecksum) {\n return null;\n }\n\n return ids;\n};\n\nexport {\n isBookmarked,\n hasBookmarks,\n addBookmark,\n removeBookmark,\n removeBookmarkByUrl,\n getBookmark,\n getBookmarkByUrl,\n getBookmarks,\n getBookmarkIds,\n encodeBookmarkIds,\n decodeBookmarkIds,\n onBookmarksUpdated,\n removeOnBookmarksUpdated,\n};\n","const setCookie = (cname, cvalue) => {\n let d = new Date();\n d.setTime(d.getTime() + 365 * 24 * 60 * 60 * 1000);\n let expires = 'expires=' + d.toUTCString();\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';\n};\n\nconst getCookie = (name) => {\n if (typeof window === 'undefined') {\n return '';\n }\n\n name = name + '=';\n const cookie = document.cookie.split(';');\n for (let i = 0; i < cookie.length; i++) {\n let part = cookie[i];\n while (part.charAt(0) === ' ') {\n part = part.substring(1);\n }\n if (part.indexOf(name) === 0) {\n return part.substring(name.length, part.length);\n }\n }\n return '';\n};\n\nexport { setCookie, getCookie };\n","function isEmpty(variable) {\n const isArray = Array.isArray(variable);\n const isObject = typeof variable === 'object';\n const isString = typeof variable === 'string';\n const isBoolean = typeof variable === 'boolean';\n\n if (isBoolean) {\n return variable;\n }\n\n if (isArray && variable.length === 0) {\n return true;\n }\n\n if (!isArray && isObject && Object.keys(variable).length === 0) {\n return true;\n }\n\n if (isString && variable === '') {\n return true;\n }\n\n // this is probably a bool\n return false;\n}\n\nexport default isEmpty;\n","import {\n isSupported,\n CookieStorage,\n MemoryStorage,\n} from 'local-storage-fallback';\n\nlet storageInstance;\n\nif (isSupported('localStorage')) {\n storageInstance = window.localStorage;\n} else if (isSupported('cookieStorage')) {\n storageInstance = new CookieStorage();\n} else if (isSupported('sessionStorage')) {\n storageInstance = window.sessionStorage;\n} else {\n storageInstance = new MemoryStorage();\n}\n\nexport default storageInstance;\n","const isExternalUrl = (url) => {\n if (typeof window === 'undefined') {\n return false;\n }\n\n const isExternal = url.indexOf('://' + window.location.hostname) === -1;\n const isNotInternal = url[0] !== '/';\n const hasProtocol = url.indexOf('://') > 1;\n\n return url && isExternal && isNotInternal && hasProtocol;\n};\n\nconst objToQueryString = (obj) =>\n Object.keys(obj)\n .map((k) => `${encodeURIComponent(k)}=${encodeURIComponent(obj[k])}`)\n .join('&');\n\nconst searchToObj = (search) => {\n if (!search) {\n return {};\n }\n\n let obj = JSON.parse(\n '{\"' +\n decodeURI(search)\n .replace(/\\?/g, '')\n .replace(/\"/g, '\\\\\"')\n .replace(/&/g, '\",\"')\n .replace(/=/g, '\":\"') +\n '\"}'\n );\n\n return obj;\n};\n\nconst searchToMapObj = (search) => {\n // Used for Components/MapPage.js\n if (!search) {\n return {\n activeCategories: [],\n activeRegions: [],\n view: 'grid',\n };\n }\n\n search = search.substring(1);\n let obj = JSON.parse(\n '{\"' +\n decodeURI(search)\n .replace(/\\?/g, '')\n .replace(/\"/g, '\\\\\"')\n .replace(/&/g, '\",\"')\n .replace(/=/g, '\":\"') +\n '\"}'\n );\n let newObj = {};\n\n if (obj.categories) {\n newObj['activeCategories'] = decodeURIComponent(obj.categories).split(\n ','\n );\n }\n if (obj.regions) {\n newObj['activeRegions'] = decodeURIComponent(obj.regions).split(',');\n }\n if (obj.view) {\n newObj['view'] = obj.view;\n }\n\n return newObj;\n};\n\nconst searchToSearchObj = (search) => {\n // Used for Components/Search.js\n if (!search) {\n return {};\n }\n\n search = search.substring(1);\n let obj = JSON.parse(\n '{\"' +\n decodeURI(search)\n .replace(/\"/g, '\\\\\"')\n .replace(/&/g, '\",\"')\n .replace(/=/g, '\":\"') +\n '\"}'\n );\n let newObj = {};\n\n if (obj.query) {\n newObj['searchInput'] = obj.query;\n }\n if (obj.categories) {\n newObj['activeChips'] = decodeURIComponent(obj.categories).split(',');\n }\n if (obj.regions) {\n newObj['activeRegions'] = decodeURIComponent(obj.regions).split(',');\n }\n if (obj.view) {\n newObj['view'] = obj.view;\n }\n\n return newObj;\n};\n\nexport {\n objToQueryString,\n searchToMapObj,\n searchToSearchObj,\n searchToObj,\n isExternalUrl,\n};\n","import React from 'react';\n\n// This variable will be true once the server-side hydration is completed.\nlet hydrationCompleted = false;\n\nfunction useMediaQuery({ query, options = [] }) {\n // This defensive check is here for simplicity.\n // Most of the time, the match media logic isn't central to people tests.\n const supportMatchMedia =\n typeof window !== 'undefined' &&\n typeof window.matchMedia !== 'undefined';\n\n const {\n defaultMatches = false,\n noSsr = false,\n ssrMatchMedia = null,\n } = {\n ...options,\n };\n\n const [match, setMatch] = React.useState(() => {\n if ((hydrationCompleted || noSsr) && supportMatchMedia) {\n return window.matchMedia(query).matches;\n }\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n }\n\n // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n return defaultMatches;\n });\n\n React.useEffect(() => {\n hydrationCompleted = true;\n\n if (!supportMatchMedia) {\n return undefined;\n }\n\n const queryList = window.matchMedia(query);\n setMatch(queryList.matches);\n\n function handleMatchesChange() {\n setMatch(queryList.matches);\n }\n\n queryList.addListener(handleMatchesChange);\n return () => {\n queryList.removeListener(handleMatchesChange);\n };\n }, [query, supportMatchMedia]);\n\n return match;\n}\n\nexport default useMediaQuery;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"BasicLogo__Wrapper\":\"BasicLogo_BasicLogo__Wrapper__03bzg\",\"BasicLogo\":\"BasicLogo_BasicLogo__xKnLT\",\"BasicLogo__Logotype\":\"BasicLogo_BasicLogo__Logotype__WIPZl\",\"BasicLogo__Logotype--Fade\":\"BasicLogo_BasicLogo__Logotype--Fade__AGz43\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Button--Link\":\"Button_Button--Link__bQt_z\",\"Button\":\"Button_Button__rEY9D\",\"Button__Icon\":\"Button_Button__Icon__pc4w8\",\"Button--Plain\":\"Button_Button--Plain__9RTtr\",\"Button--Article\":\"Button_Button--Article__CBQ4n\",\"Button--HasIcon\":\"Button_Button--HasIcon__eV_L0\",\"Button--Primary\":\"Button_Button--Primary__8_dfX\",\"Button--SecondaryBlue\":\"Button_Button--SecondaryBlue__S3ouM\",\"Button__Icon--Share\":\"Button_Button__Icon--Share__ccH5n\",\"Button--Transparent\":\"Button_Button--Transparent__Hr0NL\",\"Button--PrimarySmall\":\"Button_Button--PrimarySmall__bNZn_\",\"Button--Secondary\":\"Button_Button--Secondary__rvAU1\",\"Button--SecondarySmall\":\"Button_Button--SecondarySmall__4Ieb_\",\"Button--WithMapExpanderHeight\":\"Button_Button--WithMapExpanderHeight__khoFX\",\"Button--IsShareButton\":\"Button_Button--IsShareButton___o0wU\",\"Button--InsideShareFeedbackSegment\":\"Button_Button--InsideShareFeedbackSegment__apnwk\",\"Button--CampaignCTA\":\"Button_Button--CampaignCTA__bJio8\",\"Button--WhiteOnBlue\":\"Button_Button--WhiteOnBlue__t057y\",\"Button--YellowOnWhite\":\"Button_Button--YellowOnWhite__xavpK\",\"Button--YellowOnBlue\":\"Button_Button--YellowOnBlue__da1hE\",\"Button__Icon--ArrowDownload\":\"Button_Button__Icon--ArrowDownload__kuMXR\",\"Button--BlueOnYellow\":\"Button_Button--BlueOnYellow__RMb_r\",\"Button--BlackOnYellow\":\"Button_Button--BlackOnYellow__jFxm1\",\"Button--BlackOnWhite\":\"Button_Button--BlackOnWhite__QUhVK\",\"Button__Icon--Arrow\":\"Button_Button__Icon--Arrow__5Pdxh\",\"Button__Icon--ArrowWhite\":\"Button_Button__Icon--ArrowWhite__Pbs3l\",\"Button__Icon--DiagonalArrow\":\"Button_Button__Icon--DiagonalArrow__UC061\",\"Button__Icon--ShareWhite\":\"Button_Button__Icon--ShareWhite__q159T\",\"Button__Icon--ShareBlue\":\"Button_Button__Icon--ShareBlue__D22s_\",\"Button__Icon--Plus\":\"Button_Button__Icon--Plus__Do71P\",\"Button__Icon--Play\":\"Button_Button__Icon--Play__kF1Sh\",\"Button__Icon--Bookmark\":\"Button_Button__Icon--Bookmark__bNilR\",\"Button__Icon--Bookmarked\":\"Button_Button__Icon--Bookmarked__DN0Rw\",\"Button__Icon--RoundClose\":\"Button_Button__Icon--RoundClose__6IUtG\",\"Button__Icon--Link\":\"Button_Button__Icon--Link__BZeDL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ButtonToggle\":\"ButtonToggle_ButtonToggle__sj7QY\",\"ButtonToggle--Grey300\":\"ButtonToggle_ButtonToggle--Grey300__6U_pU\",\"ButtonToggle--Plus\":\"ButtonToggle_ButtonToggle--Plus__FkUS_\",\"ButtonToggle--Minus\":\"ButtonToggle_ButtonToggle--Minus__WKzcw\",\"ButtonToggle--Language\":\"ButtonToggle_ButtonToggle--Language__1gqw6\",\"ButtonToggle--LanguageClose\":\"ButtonToggle_ButtonToggle--LanguageClose__49z4j\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CrisisInformationBar__Container\":\"CrisisInformationBar_CrisisInformationBar__Container__H4Wzm\",\"CrisisInformationBar__Content__Title\":\"CrisisInformationBar_CrisisInformationBar__Content__Title__xN_rd\",\"CrisisInformationBar\":\"CrisisInformationBar_CrisisInformationBar__02bAo\",\"CrisisInformationBar__Icon\":\"CrisisInformationBar_CrisisInformationBar__Icon__2z893\",\"CrisisInformationBar__Content\":\"CrisisInformationBar_CrisisInformationBar__Content__QorMq\",\"CrisisInformationBar__Content__Text\":\"CrisisInformationBar_CrisisInformationBar__Content__Text__iMx4A\",\"CrisisInformationBar__Close\":\"CrisisInformationBar_CrisisInformationBar__Close__DORHi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Footer__Container\":\"Footer_Footer__Container__38f4K\",\"Footer__SocialNav__Heading\":\"Footer_Footer__SocialNav__Heading__DnXXe\",\"Footer__MainNav__Link\":\"Footer_Footer__MainNav__Link___qQ_2\",\"Footer__PrivacyNav__CopyrightNotice\":\"Footer_Footer__PrivacyNav__CopyrightNotice__OB_ht\",\"Footer__PrivacyNav__Link\":\"Footer_Footer__PrivacyNav__Link___ytVM\",\"Footer\":\"Footer_Footer__MDr8W\",\"Footer__SocialNav\":\"Footer_Footer__SocialNav__iYQsL\",\"Footer__SocialNav__Container\":\"Footer_Footer__SocialNav__Container__W8KJx\",\"Footer__SocialNav__Link\":\"Footer_Footer__SocialNav__Link__HVNt2\",\"Footer__SocialNav__Link--Instagram\":\"Footer_Footer__SocialNav__Link--Instagram__AKbLn\",\"Footer__SocialNav__Link--Youtube\":\"Footer_Footer__SocialNav__Link--Youtube__gNFNw\",\"Footer__SocialNav__Link--Facebook\":\"Footer_Footer__SocialNav__Link--Facebook__2A20p\",\"Footer__SocialNav__Link--Weibo\":\"Footer_Footer__SocialNav__Link--Weibo__bhmwE\",\"Footer__SocialNav__Link--Wechat\":\"Footer_Footer__SocialNav__Link--Wechat__H4QtD\",\"Footer__SocialNav__Link--Pinterest\":\"Footer_Footer__SocialNav__Link--Pinterest__LJHRT\",\"Footer__SocialNav__Link--Tiktok\":\"Footer_Footer__SocialNav__Link--Tiktok__mjUgL\",\"Footer__SocialNav__Link--Threads\":\"Footer_Footer__SocialNav__Link--Threads__LDlrH\",\"Footer__MainNav\":\"Footer_Footer__MainNav__JLcR3\",\"Footer__MainNav__Container\":\"Footer_Footer__MainNav__Container__nsHdd\",\"Footer__MainNav__Item\":\"Footer_Footer__MainNav__Item__ahQya\",\"Footer__SwedenLogotypes\":\"Footer_Footer__SwedenLogotypes__x5SUq\",\"Footer__SwedenLogotypes__Logo\":\"Footer_Footer__SwedenLogotypes__Logo__ClSay\",\"Footer__SwedenLogotypes__Logo--Sweden\":\"Footer_Footer__SwedenLogotypes__Logo--Sweden__U_rLq\",\"Footer__SwedenLogotypes__Logo--VisitSweden\":\"Footer_Footer__SwedenLogotypes__Logo--VisitSweden__az35q\",\"Footer__SwedenLogotypes__Link\":\"Footer_Footer__SwedenLogotypes__Link__l96Dh\",\"Footer__SwedenLogotypes__Link--Second\":\"Footer_Footer__SwedenLogotypes__Link--Second__J86U4\",\"Footer__PrivacyNav\":\"Footer_Footer__PrivacyNav__oW5qT\",\"Footer__PrivacyNav__Container\":\"Footer_Footer__PrivacyNav__Container__VqyCW\",\"Footer__PrivacyNav__Item\":\"Footer_Footer__PrivacyNav__Item__0RLvy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"GlobalSiteSwitcher\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__PLiIx\",\"GlobalSiteSwitcher__Content\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Content__jo0f_\",\"GlobalSiteSwitcher__Button\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Button__43_ir\",\"GlobalSiteSwitcher__Label\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Label__Rtfdb\",\"GlobalSiteSwitcher__Arrow\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Arrow__e3qQe\",\"GlobalSiteSwitcher__Arrow--Open\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Arrow--Open__xjqc3\",\"GlobalSiteSwitcher__Items\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Items__F9d1V\",\"GlobalSiteSwitcher__Items--Open\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Items--Open__q6sa_\",\"GlobalSiteSwitcher__Link\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Link__m1Gqr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Navigation__Container\":\"Navigation_Navigation__Container__YurPz\",\"Navigation__NavLink\":\"Navigation_Navigation__NavLink__Tmm7c\",\"Navigation__DropdownLink\":\"Navigation_Navigation__DropdownLink___6rTF\",\"Navigation__DropdownHeaderLink\":\"Navigation_Navigation__DropdownHeaderLink__7Vk78\",\"Navigation__DropdownListTitle\":\"Navigation_Navigation__DropdownListTitle__sZ_ph\",\"Navigation__Byline\":\"Navigation_Navigation__Byline__IBhVP\",\"Navigation__LanguageLink\":\"Navigation_Navigation__LanguageLink__0DFaz\",\"Navigation__ActiveLanguage\":\"Navigation_Navigation__ActiveLanguage__6FLbP\",\"Navigation\":\"Navigation_Navigation__59ap5\",\"headroom--scrolled\":\"Navigation_headroom--scrolled__z8R9k\",\"Navigation--HomePage\":\"Navigation_Navigation--HomePage__xeK4J\",\"Navigation__Container--IsSearching\":\"Navigation_Navigation__Container--IsSearching__Z48oU\",\"Navigation__NavItem\":\"Navigation_Navigation__NavItem__MplOY\",\"Navigation__Logotype\":\"Navigation_Navigation__Logotype__Q30u8\",\"Navigation__Logotype--Fade\":\"Navigation_Navigation__Logotype--Fade__hUiCY\",\"Navigation__Byline--Fade\":\"Navigation_Navigation__Byline--Fade__i0YrF\",\"Navigation__Menu\":\"Navigation_Navigation__Menu__NdYYA\",\"Navigation__Search\":\"Navigation_Navigation__Search__szgQ0\",\"Navigation__Search--Active\":\"Navigation_Navigation__Search--Active__H_Zzg\",\"Navigation__Search--Fade\":\"Navigation_Navigation__Search--Fade__gXGXE\",\"Navigation__MenuWrap\":\"Navigation_Navigation__MenuWrap__pb3Ih\",\"Navigation__ServiceMenu\":\"Navigation_Navigation__ServiceMenu__iruK5\",\"Navigation__ServiceMenu--Fade\":\"Navigation_Navigation__ServiceMenu--Fade__8EqEh\",\"Navigation__LanguageSwitcher\":\"Navigation_Navigation__LanguageSwitcher__4OG9u\",\"Navigation__LanguageMenu\":\"Navigation_Navigation__LanguageMenu___J8jb\",\"Navigation__LanguageMenu--Open\":\"Navigation_Navigation__LanguageMenu--Open__8wPB7\",\"Navigation__Checkbox\":\"Navigation_Navigation__Checkbox__AinDx\",\"Navigation__Checkbox--Active\":\"Navigation_Navigation__Checkbox--Active__ojPXz\",\"Navigation__NavLink--ActivePage\":\"Navigation_Navigation__NavLink--ActivePage__4XFly\",\"Navigation__NavLink--Explore\":\"Navigation_Navigation__NavLink--Explore__MMPn2\",\"Navigation__NavLink--Fade\":\"Navigation_Navigation__NavLink--Fade__inANw\",\"Navigation__Dropdown\":\"Navigation_Navigation__Dropdown__aNPEg\",\"Navigation__Dropdown--Visible\":\"Navigation_Navigation__Dropdown--Visible__wdzTC\",\"Navigation__DropdownWrap\":\"Navigation_Navigation__DropdownWrap__lVbcL\",\"Navigation__DropdownContainer\":\"Navigation_Navigation__DropdownContainer__KPT7R\",\"Navigation__DropdownOuterList\":\"Navigation_Navigation__DropdownOuterList__Rbbtb\",\"fadeInMenu\":\"Navigation_fadeInMenu__RY3F3\",\"Navigation__DropdownHeader\":\"Navigation_Navigation__DropdownHeader__qjpSN\",\"Navigation__DropdownInnerWrap\":\"Navigation_Navigation__DropdownInnerWrap__KVc2E\",\"Navigation__DropdownLink--Arrow\":\"Navigation_Navigation__DropdownLink--Arrow__a5XQZ\",\"Navigation__DropdownLink--Region\":\"Navigation_Navigation__DropdownLink--Region__Q_Pli\",\"Navigation__DropdownLink--City\":\"Navigation_Navigation__DropdownLink--City__1g_Dt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"NavigationFavorite\":\"NavigationFavorite_NavigationFavorite__bEUnq\",\"NavigationFavorite--Fade\":\"NavigationFavorite_NavigationFavorite--Fade__xQD_n\",\"NavigationFavorite--Filled\":\"NavigationFavorite_NavigationFavorite--Filled__GxCeQ\",\"NavigationFavorite__NumberContainer\":\"NavigationFavorite_NavigationFavorite__NumberContainer__S_Mff\",\"NavigationFavorite__Number\":\"NavigationFavorite_NavigationFavorite__Number__zUDY3\",\"NavigationFavorite--Active\":\"NavigationFavorite_NavigationFavorite--Active__d4xWz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"NavigationMobile__Item--TopLevel\":\"NavigationMobile_NavigationMobile__Item--TopLevel__9YxRh\",\"NavigationMobile__Item--SubLevel\":\"NavigationMobile_NavigationMobile__Item--SubLevel__AuAff\",\"NavigationMobile\":\"NavigationMobile_NavigationMobile__y1_04\",\"NavigationMobile--Open\":\"NavigationMobile_NavigationMobile--Open__k3ngl\",\"NavigationMobile__Container\":\"NavigationMobile_NavigationMobile__Container__4wKi7\",\"NavigationMobile__Logotype\":\"NavigationMobile_NavigationMobile__Logotype__qjQ_Y\",\"NavigationMobile__Actions\":\"NavigationMobile_NavigationMobile__Actions__JNwbr\",\"NavigationMobile__Search\":\"NavigationMobile_NavigationMobile__Search__XxvCY\",\"NavigationMobile__Favorite\":\"NavigationMobile_NavigationMobile__Favorite__FWJ8z\",\"NavigationMobile__Favorite--Filled\":\"NavigationMobile_NavigationMobile__Favorite--Filled__SRRkk\",\"NavigationMobile__Favorite--Active\":\"NavigationMobile_NavigationMobile__Favorite--Active__cHPok\",\"NavigationMobile__Toggle\":\"NavigationMobile_NavigationMobile__Toggle__GSX6Q\",\"NavigationMobile__ItemsContainer\":\"NavigationMobile_NavigationMobile__ItemsContainer__HZ0QD\",\"NavigationMobile__Items\":\"NavigationMobile_NavigationMobile__Items__0rvqm\",\"NavigationMobile__ItemContainer\":\"NavigationMobile_NavigationMobile__ItemContainer__sgL6P\",\"NavigationMobile__ItemContainer--SubLevel\":\"NavigationMobile_NavigationMobile__ItemContainer--SubLevel__VHX14\",\"NavigationMobile__ItemLink\":\"NavigationMobile_NavigationMobile__ItemLink__bnrr3\",\"NavigationMobile__ButtonToggle\":\"NavigationMobile_NavigationMobile__ButtonToggle__3CPWK\",\"NavigationMobile__ActiveLanguage\":\"NavigationMobile_NavigationMobile__ActiveLanguage__CC5wt\",\"NavigationMobile__Item\":\"NavigationMobile_NavigationMobile__Item__d1A_W\",\"NavigationMobile__Item--Language\":\"NavigationMobile_NavigationMobile__Item--Language__sH7cr\",\"NavigationMobile__Item--Explore\":\"NavigationMobile_NavigationMobile__Item--Explore__MI28Z\",\"NavigationMobile__Item--Destination\":\"NavigationMobile_NavigationMobile__Item--Destination__BRiGy\",\"NavigationMobile__Item--City\":\"NavigationMobile_NavigationMobile__Item--City__sjBRo\",\"NavigationMobile__Item--Editorial\":\"NavigationMobile_NavigationMobile__Item--Editorial__V5vaP\",\"NavigationMobile__Item--Region\":\"NavigationMobile_NavigationMobile__Item--Region__gpYjx\",\"NavigationMobile__Checkbox\":\"NavigationMobile_NavigationMobile__Checkbox__PdWl2\",\"NavigationMobile__Checkbox--Active\":\"NavigationMobile_NavigationMobile__Checkbox--Active__3RA_e\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"NavigationSearch__Link\":\"NavigationSearch_NavigationSearch__Link__S_KtB\",\"NavigationSearch\":\"NavigationSearch_NavigationSearch__ehJjD\",\"NavigationSearch__Wrap\":\"NavigationSearch_NavigationSearch__Wrap__QDzQI\",\"NavigationSearch__Wrap--ShowsSuggestions\":\"NavigationSearch_NavigationSearch__Wrap--ShowsSuggestions__u9qZ5\",\"NavigationSearch__Button\":\"NavigationSearch_NavigationSearch__Button__RVIsZ\",\"NavigationSearch__Cancel\":\"NavigationSearch_NavigationSearch__Cancel__D3p8S\",\"NavigationSearch__Input\":\"NavigationSearch_NavigationSearch__Input__vj7Nq\",\"NavigationSearch__Reset\":\"NavigationSearch_NavigationSearch__Reset__5k8Em\",\"NavigationSearch__Suggestions\":\"NavigationSearch_NavigationSearch__Suggestions__hhKIL\",\"NavigationSearch__Suggestions--HasSuggestions\":\"NavigationSearch_NavigationSearch__Suggestions--HasSuggestions__x56sb\",\"NavigationSearch__SearchLink\":\"NavigationSearch_NavigationSearch__SearchLink__qZcBV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"NewsletterSignup__Wrapper\":\"NewsletterSignup_NewsletterSignup__Wrapper__fQULp\",\"NewsletterSignup__Input\":\"NewsletterSignup_NewsletterSignup__Input__y33jz\",\"NewsletterSignup__Text\":\"NewsletterSignup_NewsletterSignup__Text__6qPCD\",\"NewsletterSignup\":\"NewsletterSignup_NewsletterSignup__MpAvm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"BasePage__SkipMain\":\"BasePage_BasePage__SkipMain__ZyR_U\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"FadeIn-enter\":\"FadeIn_FadeIn-enter__TrlPo\",\"FadeIn-enter-active\":\"FadeIn_FadeIn-enter-active__y1MJV\",\"FadeIn-exit\":\"FadeIn_FadeIn-exit__9POsF\",\"FadeIn-exit-active\":\"FadeIn_FadeIn-exit-active__cgrMo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SlideInFromTop-enter\":\"SlideInFromTop_SlideInFromTop-enter__h7Hom\",\"SlideInFromTop-enter-active\":\"SlideInFromTop_SlideInFromTop-enter-active__ZQ3P7\",\"SlideInFromTop-exit\":\"SlideInFromTop_SlideInFromTop-exit__74hyf\",\"SlideInFromTop-exit-active\":\"SlideInFromTop_SlideInFromTop-exit-active__teHJf\"};"],"names":["Button","iconClasses","children","link","href","label","text","title","onClick","icon","type","className","minWidth","isDownload","untranslatedModifiers","attrs","param","linkHref","undefined","Tag","props","download","target","classes","classNames","styles","concat","map","x","jsx_runtime","jsxs","style","jsx","span","aria-hidden","propTypes","PropTypes","components_Button","constants_breakpoints","s","sm","m","l","xl","xxl","BaseContext","createContext","googleMapsApiKey","isStorybook","__webpack_exports__","Z","NavigationFavorite","favoritesPageUrl","onHover","onHoverLeave","hasMouseOverThisItem","mouseOverItem","t","useTranslation","isActive","setIsActive","useState","favoritesCount","setFavoritesCount","handleBookmarksUpdated","updatedBookmarks","length","useEffect","bookmarks","window","location","favoriteClasses","a","onMouseOver","onFocus","onMouseLeave","data-number","defaultProps","useDebounce","value","delay","debouncedValue","setDebouncedValue","timeout","setTimeout","clearTimeout","NavigationSearch","searchPageUrl","onClose","searchInput","setSearchInput","suggestions","setSuggestions","showSuggestions","setShowSuggestions","focussed","setFocussed","debouncedInput","getItems","getSearchSuggestions","handleBlockScroll","e","keyCode","preventDefault","handleKeyPress","currentElement","document","activeElement","isLink","classList","indexOf","isSearch","id","querySelector","focus","encodeURIComponent","parentElement","previousSibling","nextSibling","body","remove","addEventListener","removeEventListener","handleFocus","handleClick","contains","localName","add","suggestionsClasses","wrapperClasses","div","input","placeholder","onChange","button","aria-label","FadeIn","visible","role","aria-live","ol","li","item","Navigation","state","menu","languages","isSearchActive","pageType","activeMenuItem","setActiveMenuItem","langSwitchIsOpen","setLangSwitchIsOpen","showSearch","setShowSearch","useContext","CookieStateContext","cookieConsent","categories","includes","logotypeClasses","bylineClasses","searchClasses","serviceMenuClasses","navClasses","navigationContainerClasses","handleScroll","scrollY","isButton","activateSearch","pathname","scrollIntoView","behavior","handleClickItem","nav","useCallback","Fragment","idx","NavItem","navId","onClickItem","onKeyUp","LanguageSwitch","handleLangSwitch","activeLanguage","filter","switchMenuClass","languageSwitcherClasses","aria-expanded","aria-controls","langCode","checkBoxClass","lang","items","linkClass","Dropdown","dropdownClasses","newItems","lists","index","list","listIndex","react","createElement","DropdownList","key","links","showArrowIcon","h2","ul","linkClasses","active","ButtonToggle","untranslatedClassNames","translatedClassNames","rawModifiers","NavigationMobile","handleDisable","menuIsOpen","setMenuIsOpen","handleMenuToggle","menuClasses","SubNavigation","MobileLanguageSwitcher","subMenuIsOpen","setSubMenuIsOpen","handleSubMenuToggle","buttonToggleModifiers","language","buttonToggleClasses","topNavigationClasses","hasSubMenuLinkItems","some","firstLevelLists","secondLevelLists","listsIndex","React","linkIndex","SubNavigationItem","isEditorial","subNavigationClasses","subNavigationLinkClasses","Footer","footerMainMenu","footerPrivacyMenu","copyrightYear","socialMediaProfiles","footer","MainNav","SocialNav","profiles","PrivacyNav","SwedenLogotypes","isRequired","aria-labelledby","profile","i","url","components_BasicLogo","NewsletterSignup","newsletterUrl","hiddenInputName","submitText","form","action","method","noValidate","htmlFor","defaultValue","name","position","left","tabIndex","readOnly","SlideInFromTop","_param","CSSTransition","in","unmountOnExit","CrisisInformationBar","content","identifier","hidden","setHidden","getCookie","h3","dangerouslySetInnerHTML","__html","setCookie","GlobalSiteSwitcher","open","setOpen","WagtailUserbar","html","suppressHydrationWarning","BasePage","navigation","footerNavigation","crisisInformation","newsletterSignup","breadcrumbs","meta","siteSetting","hideNavigation","wagtailUserbar","seo","storybookGoogleMapsApiKey","restContext","siteSwitcher","context","useCookieStateContext","handleCookieAcceptAll","handleCookieAcceptCategories","handleCookieRejectAll","dataLayer","push","contentgrouping","area","metaDataArea","region","metaDataRegions","program","metaDataInternalProgram","funding","metaDataFunding","smoothscroll","querySelectorAll","isExternalUrl","getAttribute","setAttribute","handleCookieScriptLoaded","CookieScript","instance","currentState","detail","gtag","event","console","log","showBreadcrumbs","Meta","Provider","main","isEmpty","BasicLogo","Header","isHydrated","setIsHydrated","isDesktop","setIsDesktop","isDisabled","setIsDisabled","headroomClasses","checkIfDesktop","innerWidth","breakpoints","Headroom","disableInlineStyles","seoHtmlTitle","seoMetaDescription","seoOgUrl","seoOgDescription","seoOgTitle","seoOgImage","seoOgType","seoTwitterTitle","seoTwitterDescription","seoTwitterUrl","seoTwitterImage","seoMetaRobots","seoCanonicalLink","ldJson","Head","property","rel","script","basePageWrap","_class","Component","containers_BasePage","dispatch","useReducer","cookieReducer","payload","_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_1__","_","_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_2__","transitions_FadeIn","basePath","ids","baseUrl","join","searchString","parent","feedbackId","getPageDataByIds","response","fetch","endpoints","json","getSearchResults","page","activeChips","activeRegions","pinnedCategory","sorting","abortController","signal","regions","sendSearchDupes","honeypotValue","nonce","csrf","JSON","stringify","query","honeypot","headers","_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_0__","sendArticleFeedback","articleId","rating","article","sendArticleFeedbackComment","comment","cookieValue","cookie","cookies","split","trim","substring","decodeURIComponent","storage","getItem","setItem","getBookmarkBy","propName","foundBookmarks","getBookmarks","bookmark","removeBookmarkBy","executeUpdateCallbacks","cbs","forEach","cb","isBookmarked","getBookmark","parse","getBookmarkIds","reduce","hasBookmarks","addBookmark","removeBookmark","onBookmarksUpdated","removeOnBookmarksUpdated","fn","encodeBookmarkIds","checksum","bookmarkIds","sum","base64url","decodeBookmarkIds","data","Number","pop","cname","cvalue","d","Date","setTime","getTime","expires","toUTCString","part","charAt","variable","isArray","Array","isObject","isString","Object","keys","storageInstance","isSupported","localStorage","CookieStorage","sessionStorage","MemoryStorage","isExternal","hostname","isNotInternal","hasProtocol","objToQueryString","obj","k","searchToObj","decodeURI","search","replace","searchToMapObj","activeCategories","view","newObj","searchToSearchObj","hydrationCompleted","options","supportMatchMedia","matchMedia","defaultMatches","noSsr","ssrMatchMedia","_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_1__","match","setMatch","matches","queryList","handleMatchesChange","addListener","removeListener","module","exports"],"sourceRoot":""}