{"version":3,"file":"static/js/386.dc9ff4ec.chunk.js","mappings":"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","sources":["platformui/Person/index.js","platformui/Share/index.js","platformui/Forms/textarea.js","platformui/SearchArticleList/item.js","platformui/AOListBlock/index.js","platformui/Base/Sensors/track.js","platformui/Containers/withSensitiveImage.js","platformui/Forms/checkbox.js","platformui/Modal/index.js","platformui/Forms/input.js","platformui/SearchArticleList/item-list.js","platformui/PrintSidebar/index.js","platformui/Contact-card/find-us/index.js","platformui/Forms/label.js","platformui/FormatDateTime/index.js","platformui/Containers/withGoogleMapsAPI.js","platformui/PrintIframe/index.js","platformui/SearchEntryFormBlock/entryform-searchfield.js","platformui/Teaser/index.js","platformui/Contact-card/unit/ownerAndFinancing.js","platformui/TabPanel/index.js","platformui/SearchArticleList/index.js","platformui/Tabs/index.js","platformui/Forms/field.js","platformui/ArticleFooter/index.js","platformui/Buttons/LinkButton/index.js","platformui/Section/index.js","platformui/AOListBlock/list.js","platformui/ImageBlock/index.js","blocks/manuel-page-list-block.js","platformui/Chapter/index.js","platformui/Containers/withToolbarButtonList.js","platformui/AOListBlock/aolist.js","platformui/Buttons/index.js","platformui/ReadingAid/index.js","blocks/search-article-list-block.js","platformui/Image/index.js","platformui/LanguagePanel/index.js","platformui/Forms/radio.js","platformui/SearchArticleList/button.js","platformui/ArticleFooter/regionarticlefooter.js","platformui/ArticleList/index.js","platformui/MediaGallery/components/video.js","platformui/Maps/index.js","platformui/Base/Sensors/isInRange.js","platformui/Forms/helpers.js","platformui/AOListBlock/navigation.js","platformui/Teaser/list-view-toggler.js","platformui/Hooks/usePagination.js","platformui/MediaGallery/components/pagination.js","platformui/Progressbar/index.js","platformui/SearchEntryFormBlock/index.js","platformui/CollapsibleText/index.js","platformui/Containers/withLazyLoad.js","platformui/MediaGallery/components/content.js","platformui/Forms/error.js","platformui/Hooks/useMatomoTrackEventOnChange.js","platformui/AdjustableLinkBlock/index.js","platformui/Intro/index.js","platformui/DescriptionList/index.js","blocks/intro-block.js","platformui/Containers/withKeepTabFocus.js","platformui/Forms/select.js","platformui/TextBlock/RegionalHighlightTextBlock/index.js","blocks/page-list-block.js","platformui/MediaGallery/index.js","platformui/HighLight/index.js","platformui/Chapter/view.js","platformui/Containers/toggleContainer.js","platformui/SearchArticleList/heading.js","platformui/Chapter/responsive-images.js","platformui/Base/Sensors/viewport.js","platformui/Containers/withAnchorNav.js","platformui/ImageZoom/index.js","platformui/ToggleChapter/index.js","platformui/Containers/withSrcSets.js","platformui/MediaGallery/components/image.js","platformui/Typeahead/index.js","platformui/IDSDescriptionList/index.js","platformui/Contact-card/components/timelist.js"],"sourcesContent":["import React from 'react';\r\nimport { node } from 'prop-types';\r\n\r\nconst Person = (props) => {\r\n return (\r\n \r\n {props.FirstName} {props.LastName} {props.Title} {props.Workplace}{' '}\r\n {props.City}\r\n \r\n );\r\n};\r\n\r\nexport const propTypes = {\r\n FirstName: node,\r\n LastName: node,\r\n Title: node,\r\n Workplace: node,\r\n City: node,\r\n};\r\n\r\nPerson.propTypes = propTypes;\r\n\r\nexport default Person;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport PrintSidebar from '../PrintSidebar';\r\nimport useWindowLocationHref from '../Hooks/useWindowLocation';\r\n\r\nconst Share = ({ ShareChannels, Translations, PrintsideBarEnabled }) => {\r\n if (!ShareChannels) return null;\r\n const href = useWindowLocationHref();\r\n\r\n return (\r\n
\r\n

{Translations && Translations.share}

\r\n \r\n
\r\n );\r\n};\r\n\r\nShare.propTypes = {\r\n ShareChannels: PropTypes.array,\r\n Translations: PropTypes.object,\r\n PrintsideBarEnabled: PropTypes.bool,\r\n};\r\n\r\nexport default Share;\r\n","import React, { useRef, useState, useEffect } from 'react';\r\nimport classNames from 'classnames';\r\nimport { getAriaDescribedBy } from './helpers';\r\n\r\nconst Textarea = (props) => {\r\n const [charsLeft, setCharsLeft] = useState(\r\n props.maxLength && props.value\r\n ? props.maxLength - props.value.length\r\n : props.maxLength\r\n );\r\n\r\n const textarea = useRef();\r\n\r\n function getValue() {\r\n return textarea.current.value;\r\n }\r\n\r\n function getCharsLeft() {\r\n return props.maxLength ? props.maxLength - getLength() : null;\r\n }\r\n\r\n function getLength() {\r\n return getValue().length;\r\n }\r\n\r\n useEffect(() => {\r\n setCharsLeft(getCharsLeft());\r\n }, []);\r\n\r\n function handleKeyUp() {\r\n setCharsLeft(getCharsLeft());\r\n }\r\n\r\n const {\r\n value,\r\n className,\r\n classes,\r\n removeFocus,\r\n disabled,\r\n children,\r\n onBlur,\r\n maxLength,\r\n error,\r\n maxLengthTranslation,\r\n name,\r\n ...rest\r\n } = props;\r\n\r\n const charsClasses = classNames({\r\n [`${className}__chars`]: true,\r\n [`${className}__chars--disabled`]: disabled,\r\n });\r\n\r\n return (\r\n
\r\n {children}\r\n {maxLength && (\r\n \r\n {charsLeft} {maxLengthTranslation}\r\n \r\n )}\r\n
\r\n {\r\n removeFocus();\r\n onBlur(e);\r\n }}\r\n onKeyUp={() => {\r\n handleKeyUp();\r\n }}\r\n {...rest}\r\n />\r\n
\r\n {error}\r\n
\r\n );\r\n};\r\n\r\nexport default Textarea;\r\n","import React from 'react';\r\nimport T from 'prop-types';\r\nimport { LazyLoadImage } from '../Image';\r\nimport classnames from 'classnames';\r\nimport FormatDateTime from '../FormatDateTime';\r\nimport HeadingElement from './heading';\r\n\r\nconst propTypes = {\r\n Heading: T.string,\r\n Url: T.string,\r\n Date: T.string,\r\n Text: T.string,\r\n Image: T.string,\r\n};\r\n\r\nconst Item = (props) => {\r\n const { Image, Heading, Url, Date, Text } = props;\r\n\r\n const infoType = `search-list__type--${props.item.InformationType}`;\r\n const classNames = classnames({\r\n 'search-list__item': true,\r\n 'search-list__item--has-img': Boolean(Image),\r\n [infoType]: props.item.InformationType,\r\n });\r\n\r\n return (\r\n
  • \r\n {Image && (\r\n \r\n )}\r\n
    \r\n {props.item.Vignette && (\r\n {props.item.Vignette}\r\n )}\r\n {Date && }\r\n {\r\n \r\n {Heading}\r\n \r\n }\r\n {Text &&

    {Text}

    }\r\n
    \r\n
  • \r\n );\r\n};\r\n\r\nItem.propTypes = propTypes;\r\n\r\nexport default Item;\r\n","import React from 'react';\r\nimport T from 'prop-types';\r\nimport AOList from './aolist';\r\n\r\nconst AOListBlock = (props) => {\r\n const ao = [\r\n 'a',\r\n 'b',\r\n 'c',\r\n 'd',\r\n 'e',\r\n 'f',\r\n 'g',\r\n 'h',\r\n 'i',\r\n 'j',\r\n 'k',\r\n 'l',\r\n 'm',\r\n 'n',\r\n 'o',\r\n 'p',\r\n 'q',\r\n 'r',\r\n 's',\r\n 't',\r\n 'u',\r\n 'v',\r\n 'w',\r\n 'x',\r\n 'y',\r\n 'z',\r\n 'å',\r\n 'ä',\r\n 'ö',\r\n ];\r\n\r\n if (props.ActivateDigitGrouping) {\r\n ao.unshift('#');\r\n }\r\n const dataPrintSidebarTitle = props.CurrentPageProps?.Content?.Translations?.aolistblock || '';\r\n\r\n return (\r\n {\r\n const listitem = props.AOList.Items.find(\r\n (x) => x.Key.toLowerCase() === item.Key.toLowerCase()\r\n );\r\n return listitem && listitem.Items;\r\n }}\r\n id={props.UniqueBlockId}\r\n list={props.AOList.Items}\r\n dataPrintSidebarTitle={dataPrintSidebarTitle}\r\n />\r\n );\r\n};\r\n\r\nAOListBlock.propTypes = {\r\n Items: T.arrayOf(\r\n T.shape({\r\n Key: T.string,\r\n })\r\n ),\r\n UniqueBlockId: T.string,\r\n};\r\n\r\nexport default AOListBlock;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\n\r\nexport default (WrappedComponent) => {\r\n const handles = [];\r\n\r\n const Track = (props) => {\r\n const [isWithinTrac, setIsWithinTrac] = useState();\r\n const [isTrackBottom, setIsTrackBottom] = useState();\r\n\r\n const nodeRef = useRef();\r\n\r\n const getBoundingClientRect = (node) => node.getBoundingClientRect();\r\n\r\n const getParentNode = () => nodeRef && nodeRef.current?.parentNode;\r\n\r\n const getFirstChild = () => nodeRef.current?.firstChild;\r\n\r\n const isComponentWithinTrack = () => {\r\n if (!getParentNode()) return;\r\n\r\n const parentRect = getBoundingClientRect(getParentNode());\r\n const comp = getBoundingClientRect(getFirstChild());\r\n const trackBottom =\r\n window.pageYOffset + parentRect.top + parentRect.height - comp.height;\r\n\r\n if (parentRect.top < 1 && window.pageYOffset < trackBottom) {\r\n if (!isWithinTrac) {\r\n setIsWithinTrac(true);\r\n setIsTrackBottom(false);\r\n }\r\n } else {\r\n if (isWithinTrac) {\r\n setIsWithinTrac(false);\r\n setIsTrackBottom(window.pageYOffset >= trackBottom);\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n handles.push(isComponentWithinTrack);\r\n requestAnimationFrame(() => {\r\n isComponentWithinTrack();\r\n });\r\n }, [isTrackBottom]);\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n let ticking = false;\r\n const throttleScroll = () => {\r\n ticking =\r\n ticking ||\r\n requestAnimationFrame(() => {\r\n ticking = false;\r\n handles.map((handle) => handle());\r\n });\r\n };\r\n\r\n if (typeof window !== 'undefined') {\r\n window.addEventListener('scroll', throttleScroll, false);\r\n window.addEventListener('resize', throttleScroll, false);\r\n }\r\n\r\n return Track;\r\n};\r\n","import React, { useState, useContext } from 'react';\r\nimport * as Cookies from '../Base/Cookies';\r\nimport { CookieContext } from '../Context/cookies';\r\n\r\nconst COOKIE_NAME = 'showSensitiveImages';\r\nexport default (WrappedComponent) => {\r\n const SensitiveImage = (props) => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const handleShowSensitiveImages = (cookieContext) => {\r\n if (cookieContext.isAllowed('ShowSensitiveImagesCookie')) {\r\n Cookies.eraseCookie(COOKIE_NAME);\r\n Cookies.createCookie(COOKIE_NAME, 'true');\r\n }\r\n\r\n setIsLoading(true);\r\n\r\n setTimeout(() => {\r\n location.reload();\r\n }, 1200);\r\n };\r\n\r\n const cookieContext = useContext(CookieContext);\r\n\r\n const cookieData = props.CurrentPageProps.cookies;\r\n const hideSensitiveImage =\r\n Cookies.parseCookieData(COOKIE_NAME, cookieData) === 'false' &&\r\n props.IsSensitiveInContext &&\r\n props.CurrentPageProps.IsEditMode === false;\r\n\r\n return (\r\n \r\n handleShowSensitiveImages(cookieContext)\r\n }\r\n showSensitiveImageIsLoading={isLoading}\r\n />\r\n );\r\n };\r\n\r\n return SensitiveImage;\r\n};\r\n","import { node } from 'prop-types';\r\n\r\nconst Checkbox = (props) => {\r\n return props.children;\r\n};\r\n\r\nCheckbox.propTypes = {\r\n /** The only thing that renders */\r\n children: node,\r\n};\r\n\r\nexport default Checkbox;\r\n","import React, { useState, useEffect, createContext } from 'react';\r\nimport withKeepTabFocus from '../Containers/withKeepTabFocus';\r\nimport classNames from 'classnames';\r\n\r\nconst context = createContext({});\r\n\r\nconst { Provider, Consumer } = context;\r\n\r\nconst OpenModalButton = ({\r\n id,\r\n children,\r\n className,\r\n clickCallback,\r\n fullScreen,\r\n tabIndex,\r\n ariaLabel,\r\n}) => {\r\n const clickHandler = (changeModal) => {\r\n changeModal(id);\r\n if (clickCallback !== undefined) clickCallback();\r\n if (fullScreen) document.body.classList.add('no-scroll');\r\n };\r\n\r\n return (\r\n \r\n {({ changeModal, activeModalId }) => (\r\n clickHandler(changeModal)}\r\n >\r\n {children}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst CloseModalButton = ({ children, className, id }) => (\r\n \r\n {({ closeModal }) => (\r\n closeModal(id)}\r\n >\r\n {children}\r\n \r\n )}\r\n \r\n);\r\n\r\nconst ModalPanelInner = withKeepTabFocus(({ children, ...props }) => {\r\n return React.cloneElement(children, { ...props });\r\n});\r\n\r\nconst ModalPanel = ({ whenActive, children, hideWithCss }) => (\r\n \r\n {({ activeModalId }) =>\r\n activeModalId === whenActive || hideWithCss ? (\r\n \r\n {children}\r\n \r\n ) : null\r\n }\r\n \r\n);\r\n\r\nconst Modal = (props) => {\r\n const [activeModalId, setActiveModalId] = useState('');\r\n const fullScreenModal = props.fullScreen;\r\n\r\n const changeModal = (newModalId) => {\r\n setActiveModalId(activeModalId === newModalId ? '' : newModalId);\r\n };\r\n\r\n const closeModal = (id) => {\r\n setActiveModalId('');\r\n if (\r\n props.noScroll === true &&\r\n document.body.classList.contains('no-scroll')\r\n )\r\n document.body.classList.remove('no-scroll');\r\n if (document.querySelector(`[data-buttonid='open${id}']`))\r\n document.querySelector(`[data-buttonid='open${id}']`).focus();\r\n };\r\n\r\n const escCloseHandler = (e) => {\r\n if (activeModalId !== '') {\r\n if (e.keyCode === 27) {\r\n e.preventDefault();\r\n closeModal();\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n const handleClick = (e) => {\r\n if (activeModalId !== '') {\r\n if (e.target.className === 'category-lists-modal__modal-panel') {\r\n closeModal();\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener('keydown', (e) => escCloseHandler(e));\r\n document.addEventListener('mousedown', (e) => handleClick(e));\r\n }, [activeModalId]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n document.removeEventListener('keydown', escCloseHandler());\r\n document.removeEventListener('mousedown', handleClick());\r\n };\r\n }, []);\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nModal.defaultProps = {\r\n noScroll: true,\r\n};\r\n\r\nexport default Modal;\r\nexport { OpenModalButton, CloseModalButton, ModalPanel, Consumer };\r\n","import React from 'react';\r\nimport T from 'prop-types';\r\nimport { getAriaDescribedBy } from './helpers';\r\n\r\n/** All other props will be spread to the element */\r\nconst Input = (props) => {\r\n const { value, error, removeFocus, classes, name, onBlur, ...rest } = props;\r\n return (\r\n
    \r\n {\r\n removeFocus();\r\n onBlur(e);\r\n }}\r\n defaultValue={value}\r\n {...getAriaDescribedBy(error, name)}\r\n name={name}\r\n id={name}\r\n />\r\n {error}\r\n
    \r\n );\r\n};\r\n\r\nInput.propTypes = {\r\n /** Used for name and id property. */\r\n name: T.string.isRequired,\r\n /** Used for wrapping
    classnamae. */\r\n classes: T.string,\r\n /** Error message. */\r\n error: T.node,\r\n /** Used for defaultValue prop (react) */\r\n value: T.oneOfType([T.string, T.number]),\r\n};\r\n\r\nexport default Input;\r\n","import React, { Fragment } from 'react';\r\nimport T from 'prop-types';\r\nimport Item from './item';\r\nimport Button from './button';\r\n\r\nconst propTypes = {\r\n LinkText: T.string,\r\n LinkUrl: T.string,\r\n /** See component */\r\n SearchHits: T.array,\r\n};\r\n\r\nconst ItemList = (props) => {\r\n const { SearchResult } = props;\r\n const { SearchHits } = SearchResult;\r\n\r\n return (\r\n \r\n
      \r\n {SearchHits.map((item, index) => {\r\n return ;\r\n })}\r\n
    \r\n \r\n \r\n
    \r\n

    \r\n {Translations.printsidebartitle}\r\n

    \r\n \r\n {Translations.printsidebarclose}\r\n \r\n \r\n
    \r\n
    \r\n

    \r\n {Translations.printsidebarselectiontitle}\r\n

    \r\n
    \r\n {Translations.printsidebarselectionparts && (\r\n handleRadioChange(0)}\r\n >\r\n \r\n {Translations.printsidebarselectionparts}\r\n
    \r\n )}\r\n {Translations.printsidebarselectionwholepage && (\r\n handleRadioChange(1)}\r\n >\r\n \r\n {Translations.printsidebarselectionwholepage}\r\n
    \r\n )}\r\n
    \r\n \r\n {selectedRadio !== 1 && (\r\n
    \r\n

    {Translations.printsidebarselectionwhatparts}

    \r\n
    \r\n {printableItems &&\r\n printableItems.map((item, index) => {\r\n if (!item?.innerText) return;\r\n let content = (\r\n \r\n );\r\n return (\r\n handlePrintSelection(item)}\r\n >\r\n \r\n {content}\r\n
    \r\n );\r\n })}\r\n
    \r\n \r\n )}\r\n
    \r\n {selectedRadio === 1 ? (\r\n setPrintClicked(true)}\r\n >\r\n \r\n {Translations.printbuttonwholepage}\r\n \r\n ) : (\r\n setPrintClicked(true)}\r\n >\r\n \r\n {Translations.printbuttonparts}\r\n \r\n )}\r\n
    \r\n \r\n {printClicked && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default PrintSidebar;\r\n","import React, { Fragment } from 'react';\r\nimport classNames from 'classnames';\r\nimport ToggleContainer from '../../Containers/toggleContainer';\r\nimport { isSmallViewport } from '../../Hooks/useMedia';\r\nimport ExpandableButton from '../../Buttons';\r\n\r\nconst Label = (props) => {\r\n if (!props.data) return null;\r\n\r\n return
    {props.label}
    ;\r\n};\r\n\r\nconst Value = (props) => {\r\n if (!props.data) return null;\r\n\r\n return
    {props.data}
    ;\r\n};\r\n\r\nconst ValueLink = (props) => {\r\n if (!props.data) return null;\r\n const matomoTrackingClass = 'hitta-oss';\r\n return (\r\n
    \r\n \r\n {props.data}\r\n \r\n
    \r\n );\r\n};\r\n\r\nconst AccessibilityUrl = (props) => {\r\n if (!props.url) return null;\r\n const matomoTrackingClass = 'accessibilityurl';\r\n return (\r\n
    \r\n \r\n {props.text}\r\n \r\n
    \r\n );\r\n};\r\n\r\nconst FindUs = (props) => {\r\n const Card = props;\r\n const isSmall = isSmallViewport();\r\n \r\n return (\r\n
    \r\n
    \r\n
    \r\n {Card.Location && Card.Location.latitude && Card.Location.longitude && (\r\n
    \r\n
    \r\n
    \r\n \r\n {Card.Translations.biggermaptravelplanner}\r\n \r\n
    \r\n\r\n {Card.StaticMapUrl && (\r\n \r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n {Card.Address && Card.Translations.visitoraddress && (\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {Card.County && Card.Translations.county && (\r\n \r\n \r\n )}\r\n\r\n {Card.PostalAddress && Card.Translations.postaladdress && (\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {Card.WebsiteUrl && Card.Translations.websiteurl && (\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {Card.AccessibilityUrl && Card.Translations.accessibilityurl && (\r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {({ open, toggle }) => (\r\n \r\n {!isSmall &&\r\n (Card.IndoorRouteDescription || Card.RoadDescription) && (\r\n

    \r\n \r\n

    \r\n )}\r\n \r\n {(Card.IndoorRouteDescription || Card.RoadDescription) && (\r\n
    \r\n

    \r\n {Card.Translations.roaddescription}\r\n

    \r\n {Card.RoadDescription && (\r\n
    \r\n

    {Card.Translations.outdoorroutedescription}

    \r\n {Card.RoadDescription.map((description, index) => (\r\n

    {description}

    \r\n ))}\r\n
    \r\n )}\r\n {Card.IndoorRouteDescription && (\r\n
    \r\n

    {Card.Translations.indoorroutedescription}

    \r\n {Card.IndoorRouteDescription.map(\r\n (description, index) => (\r\n

    {description}

    \r\n )\r\n )}\r\n
    \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nFindUs.defaultProps = {\r\n wrapperClasses: 'row',\r\n mapGrid: 'columns large-6 large-push-6',\r\n addressGrid: 'columns large-6',\r\n};\r\n\r\nexport default FindUs;\r\n","import React from 'react';\r\nimport { string, node, bool } from 'prop-types';\r\n\r\nconst Label = (props) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport const propTypes = {\r\n label: node,\r\n children: node,\r\n required: bool,\r\n className: string,\r\n htmlFor: string,\r\n};\r\n\r\nLabel.propTypes = propTypes;\r\n\r\nexport default Label;\r\n","import React from 'react';\r\n\r\nconst formatDate = (date, year, month, day) => {\r\n if (!date) return null;\r\n\r\n let options = {\r\n year: year,\r\n month: month,\r\n day: day,\r\n };\r\n let fmDate = new Date(date.toString()).toLocaleDateString('sv-SE', options);\r\n\r\n return fmDate.toUpperCase();\r\n};\r\n\r\nconst FormatDateTime = ({ date, year, month, day }) => {\r\n return (\r\n \r\n );\r\n};\r\nFormatDateTime.defaultProps = {\r\n year: 'numeric',\r\n month: 'long',\r\n day: 'numeric',\r\n};\r\n\r\nexport default FormatDateTime;\r\n","import React, { Component } from 'react';\r\nimport { loadScript } from '../Base/Async';\r\n\r\nexport default (WrappedComponent, libraries) => {\r\n return class withGoogleMapsAPI extends Component {\r\n shouldLoadMapsApi = typeof window !== 'undefined' && typeof google === 'undefined';\r\n\r\n state = {\r\n googleMapsAPIIsLoading: true,\r\n isError: false,\r\n google: null,\r\n };\r\n\r\n componentDidMount() {\r\n const pwtMapsIsReady = () => {\r\n this.setState({\r\n googleMapsAPIIsLoading: false,\r\n google: window.google,\r\n });\r\n };\r\n window.pwtMapsIsReady = pwtMapsIsReady.bind(this);\r\n\r\n if (!this.shouldLoadMapsApi) {\r\n pwtMapsIsReady();\r\n return;\r\n }\r\n\r\n const { mapApiKey } = this.props;\r\n loadScript(\r\n 'pwt-googlemaps-script',\r\n `https://maps.googleapis.com/maps/api/js?key=${mapApiKey}${libraries}&callback=pwtMapsIsReady`,\r\n (error) => {\r\n if (error) {\r\n this.setState({\r\n googleMapsAPIIsLoading: false,\r\n isError: true,\r\n });\r\n return;\r\n }\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n };\r\n};\r\n","import React, { useRef, useEffect } from 'react';\r\n\r\nconst PrintIframe = (props) => {\r\n const { SelectedRadio, PrintableItems, CheckedItems, SetPrintClicked } =\r\n props;\r\n const iframeRef = useRef(null);\r\n\r\n const prepareContent = () => {\r\n if (iframeRef.current) {\r\n const doc =\r\n iframeRef.current.contentDocument ||\r\n iframeRef.current.contentWindow.document;\r\n\r\n var printItems = PrintableItems;\r\n\r\n if (SelectedRadio !== 1) {\r\n const filteredItems = PrintableItems?.filter((item) => {\r\n return CheckedItems?.includes(item);\r\n });\r\n printItems = filteredItems;\r\n }\r\n\r\n const styleElements = Array.from(\r\n document.querySelectorAll('style')\r\n ).filter((style) => style.id !== 'onetrust-style');\r\n var styleContent = styleElements.map((style) => style.outerHTML).join('');\r\n\r\n const headerMainDiv = document.querySelector('.c-header__main');\r\n const headerMainHTML = headerMainDiv ? headerMainDiv.outerHTML : '';\r\n const regionLabel = document.querySelector('.regionlabel');\r\n const regionLabelHTML = regionLabel ? regionLabel.outerHTML : '';\r\n\r\n const outerHTML =\r\n printItems?.map((item) => item.outerHTML).join('') ?? '';\r\n\r\n const updatedOuterHTML = outerHTML.replace(\r\n /\\/\\/play\\.media/g,\r\n 'https://play.media'\r\n );\r\n\r\n doc.open();\r\n doc.write(`\r\n \r\n \r\n ${styleContent}\r\n \r\n \r\n \r\n ${headerMainHTML}\r\n ${regionLabelHTML}\r\n ${updatedOuterHTML}\r\n \r\n \r\n `);\r\n\r\n const elements = doc?.querySelectorAll('.regional-container');\r\n elements?.forEach((element) => element.remove());\r\n doc.close();\r\n }\r\n };\r\n\r\n const handleLoad = () => {\r\n if (iframeRef.current) {\r\n iframeRef.current.contentWindow.focus();\r\n iframeRef.current.contentWindow.print();\r\n SetPrintClicked(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const initializeIframe = async () => {\r\n prepareContent();\r\n };\r\n\r\n initializeIframe();\r\n }, [SelectedRadio, PrintableItems, CheckedItems]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PrintIframe;\r\n","import React, { useState } from 'react';\r\n\r\n/**\r\n * Repo: PWT-PlatformUI\r\n *\r\n * Sites: RGS\r\n *\r\n * @description Limited search field with no autocomplete or suggestions.\r\n * Uses local state and initialValue props.\r\n *\r\n */\r\nconst EntryFormSearchField = ({\r\n handleKeyDown,\r\n handleChange,\r\n handleBlur,\r\n initialValue,\r\n id,\r\n className,\r\n placeholder,\r\n}) => {\r\n const [value, setValue] = useState(initialValue);\r\n\r\n return (\r\n
    \r\n handleKeyDown(e)}\r\n onChange={(e) => {\r\n setValue(e.target.value);\r\n if (typeof handleChange === 'function') {\r\n handleChange(e);\r\n }\r\n }}\r\n onBlur={(e) => handleBlur(e)}\r\n type=\"text\"\r\n id={id}\r\n name=\"q\"\r\n placeholder={placeholder}\r\n className={`${className}__field__query`}\r\n />\r\n
    \r\n );\r\n};\r\n\r\nEntryFormSearchField.defaultProps = {\r\n handleKeyDown: () => {},\r\n handleChange: () => {},\r\n handleBlur: () => {},\r\n initialValue: '',\r\n id: '',\r\n className: '',\r\n placeholder: '',\r\n};\r\n\r\nexport default EntryFormSearchField;\r\n","import React, { useState } from 'react';\r\nimport classNames from 'classnames';\r\nimport ArticleList from '../ArticleList'; //TODO fixa mer generiskt\r\nimport * as Render from '../Base/Render';\r\nimport { useSweLang } from '../Helpers/helpers';\r\nimport { LazyLoadImage } from '../Image';\r\nimport Linklist from '../Linklist';\r\nimport Section from '../Section';\r\nimport ListViewToggler from './list-view-toggler';\r\nimport useWindowLocationHref from '../Hooks/useWindowLocation';\r\n\r\nconst TeaserItemLinkList = (props) => {\r\n const href = useWindowLocationHref();\r\n const contentClassNames = classNames({\r\n 'c-teaser__content': true,\r\n 'c-teaser__content--with-img': props.Media,\r\n });\r\n\r\n const teaserContainsImage =\r\n props.Media &&\r\n props.Media[0] &&\r\n props.Media[0].ImageUrl &&\r\n props.Media[0].ImageUrl.length > 0;\r\n\r\n return (\r\n
  • \r\n \r\n {props.Media && (\r\n
    \r\n {props.ShowVideoPlayIcon && teaserContainsImage && (\r\n \r\n )}\r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n {props.Title}\r\n \r\n \r\n {props.TitleTranslation && (\r\n \r\n {props.TitleTranslation}\r\n \r\n )}\r\n
    \r\n {props.Preamble &&

    {props.Preamble}

    }\r\n \r\n
    \r\n
    \r\n \r\n
  • \r\n );\r\n};\r\n\r\nconst TeaserItemLink = (props) => {\r\n const href = useWindowLocationHref();\r\n const classes = props.className\r\n ? props.className\r\n : props.horizontalDirection\r\n ? 'columns c-teaser-outer'\r\n : 'medium-6 large-3 columns c-teaser-outer';\r\n\r\n const teaserHeadingLink = classNames({\r\n 'c-teaser__heading--no-text': !props.Preamble,\r\n });\r\n\r\n const teaserClasses = classNames({\r\n 'c-teaser': true,\r\n 'c-teaser--eq-height': true,\r\n 'c-teaser--has-img': props.Media,\r\n });\r\n\r\n const teaserContainsImage =\r\n props.Media &&\r\n props.Media[0] &&\r\n props.Media[0].ImageUrl &&\r\n props.Media[0].ImageUrl.length > 0;\r\n\r\n return (\r\n
  • \r\n
    \r\n \r\n {props.Media && (\r\n
    \r\n {props.ShowVideoPlayIcon && teaserContainsImage && (\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n {props.Title}\r\n \r\n \r\n \r\n {props.TitleTranslation && (\r\n \r\n {props.TitleTranslation}\r\n \r\n )}\r\n {props.Preamble && (\r\n
    \r\n

    {props.Preamble}

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
  • \r\n );\r\n};\r\n\r\nconst ListChildren = (props) => {\r\n if (!props.Items) return null;\r\n let masonryLayout = props.IsListOfChildren || props.masonryLayout;\r\n\r\n const listStyle = classNames({\r\n row: props.Items.length > 2,\r\n 'u-flexwrap': !masonryLayout || !props.toggleBrickView,\r\n 'u-columns': masonryLayout,\r\n 'u-columns--gt-3': masonryLayout && props.Items.length > 3,\r\n 'u-columns--gt-4': masonryLayout && props.Items.length > 4,\r\n 'u-columns--is-listview': masonryLayout && !props.toggleBrickView,\r\n 'u-flexwrap--is-listview': !props.toggleBrickView,\r\n 'u-article--center': props.Items.length <= 2,\r\n ...props.WrapperModifiers,\r\n });\r\n\r\n const Items = props.Items.map((item, index) => {\r\n if (\r\n props.BlockTypeName === 'PageListBlock' ||\r\n props.Design === 'page-list'\r\n ) {\r\n return props.IsListOfChildren ? (\r\n \r\n ) : (\r\n \r\n );\r\n } else if (props.CurrentPageProps.BlockTypeName === 'DoubleColumnBlock') {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n });\r\n\r\n let cypressValues = classNames({\r\n 'ui-article-list': props.BlockTypeName === 'ManuelPageListBlock',\r\n 'ui-search-article-list': props.BlockTypeName == 'SearchArticleListBlock',\r\n });\r\n if (cypressValues.length < 1) cypressValues = null;\r\n\r\n return props.BlockTypeName === 'PageListBlock' ? (\r\n
      \r\n {props.BlockTypeName === 'PageListBlock'\r\n ? Render.Property(Items, 'ListRoot')\r\n : Render.Property(Items, 'MainContent')}\r\n
    \r\n ) : (\r\n
    \r\n {props.BlockTypeName === 'PageListBlock'\r\n ? Render.Property(Items, 'ListRoot')\r\n : Render.Property(Items, 'MainContent')}\r\n
    \r\n );\r\n};\r\n\r\nconst Teaser = (props) => {\r\n const modifiers = {\r\n ...props.SectionModifiers,\r\n 'c-section--navigation': props.BlockTypeName === 'PageListBlock',\r\n };\r\n\r\n const [toggleBrickView, setToggleBrickView] = useState(!props.ShowListView);\r\n\r\n const showListViewToggler =\r\n props.BlockTypeName === 'PageListBlock' && props.UseListToggler;\r\n\r\n const sectionHeader = classNames({\r\n 'c-section__header': true,\r\n 'c-section__header--listview-shown': showListViewToggler,\r\n 'c-section__header--heading-shown': props.Heading,\r\n 'c-section__header--double-column':\r\n props.CurrentPageProps.BlockTypeName == 'DoubleColumnBlock',\r\n });\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {props.Heading ? (\r\n

    \r\n {props.Heading}\r\n

    \r\n ) : (\r\n

    \r\n {props.Translations?.currentarticles}\r\n

    \r\n )}\r\n {showListViewToggler && (\r\n {\r\n setToggleBrickView(value);\r\n }}\r\n toggleBrickView={toggleBrickView}\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n {props.Items && (\r\n \r\n )}\r\n {props.children}\r\n
    \r\n );\r\n};\r\n\r\nexport { Teaser, TeaserItemLink };\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst OwnerAndFinancing = (props) => { \r\n return
    \r\n {props.OwnerAndFinancing.OwnerType &&
    \r\n

    \r\n {props.Translations.ownertype}: {props.OwnerAndFinancing.OwnerType}\r\n

    \r\n
    }\r\n {props.OwnerAndFinancing.FinancingText &&
    \r\n

    \r\n {props.OwnerAndFinancing.FinancingText}\r\n

    \r\n
    }\r\n {props.OwnerAndFinancing.PriceLinks && (\r\n
    \r\n
    \r\n {props.OwnerAndFinancing.PriceLinks.map((link, index) =>\r\n {link.Text}\r\n )} \r\n
    \r\n
    \r\n )}\r\n
    ;\r\n}\r\n\r\nconst {string, shape, arrayOf } = PropTypes;\r\n\r\nOwnerAndFinancing.propTypes = {\r\n OwnerAndFinancing: shape({\r\n FinancingText: string,\r\n OwnerType: string,\r\n PriceLinks: arrayOf(shape({\r\n Text: string,\r\n Url: string\r\n }))\r\n }),\r\n Translations: shape({\r\n ownertype: string,\r\n })\r\n};\r\n\r\nexport default OwnerAndFinancing;","import React from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport queryString from 'qs';\r\n\r\nconst TabPanel = (props) => {\r\n const options = {\r\n ignoreQueryPrefix: true,\r\n };\r\n const qs = props.TypeExists\r\n ? queryString.parse(props.location.search, options)\r\n : '';\r\n\r\n if ((props.default && !qs.t) || qs.t === props.id)\r\n return
    {props.children}
    ;\r\n\r\n return null;\r\n};\r\n\r\nexport default withRouter(TabPanel);\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport ItemList from './item-list';\r\nimport { Teaser } from '../Teaser';\r\nimport Button from './button';\r\nimport Heading from './heading';\r\n\r\nfunction mapSearchResultToTeaserItems(searchHits) {\r\n return searchHits.map(({ Heading, Image, Text, ...item }) => ({\r\n ...item,\r\n Title: Heading,\r\n Media: Image\r\n ? [{ ImageUrl: Image, BlockTypeName: 'ImageBlock' }]\r\n : undefined,\r\n Preamble: Text,\r\n }));\r\n}\r\nconst SearchArticleList = (props) => {\r\n const {\r\n SearchResult: { SearchHits },\r\n } = props;\r\n const classnames = classNames({\r\n 'c-search-list': true,\r\n 'c-search-article-list': props.Appearance == 'article',\r\n 'c-search-news-list': props.Appearance == 'news',\r\n 'c-search-main-content': props.PropertyName == 'MainContent',\r\n 'c-search-section-content': props.PropertyName == 'SectionContent',\r\n ...props.Modifiers,\r\n });\r\n\r\n if (!SearchHits || SearchHits.length === 0) return null;\r\n if (props.PropertyName == 'SectionContent') {\r\n return (\r\n \r\n \r\n
      \r\n {tabs}\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default withRouter(Tabs);\r\n","import React, { useState } from 'react';\r\nimport classNames from 'classnames';\r\nimport { bool, oneOf, string, object, number, oneOfType } from 'prop-types';\r\nimport Error, { propTypes as errorPropTypes } from './error';\r\n\r\nimport Select from './select';\r\nimport Input from './input';\r\nimport Textarea from './textarea';\r\n\r\n/**\r\n * Will spread all non-specified props (...rest) to the `input` element.\r\n *\r\n * Includes the `` component\r\n */\r\nconst Field = (props) => {\r\n const [isFocus, setIsFocus] = useState(false);\r\n\r\n const {\r\n className,\r\n disabled,\r\n component,\r\n classNameModifiers,\r\n isValid,\r\n isTouched,\r\n label,\r\n errorType,\r\n errorMessages,\r\n name,\r\n ...rest\r\n } = props;\r\n\r\n const classes = classNames(className, {\r\n [`${className}--is-error`]: !isValid && isTouched,\r\n [`${className}--is-valid`]: isValid && isTouched,\r\n [`${className}--disabled`]: disabled,\r\n [`${className}--has-focus`]: isFocus,\r\n ...classNameModifiers,\r\n });\r\n\r\n let ErrorComponent = (\r\n \r\n );\r\n\r\n if (component === 'input') {\r\n return (\r\n setIsFocus(true)}\r\n removeFocus={() => setIsFocus(false)}\r\n disabled={disabled}\r\n error={ErrorComponent}\r\n classes={classes}\r\n name={name}\r\n {...rest}\r\n />\r\n );\r\n }\r\n if (component === 'textarea') {\r\n return (\r\n setIsFocus(true)}\r\n removeFocus={() => setIsFocus(false)}\r\n disabled={disabled}\r\n className={className}\r\n error={ErrorComponent}\r\n classes={classes}\r\n name={name}\r\n {...rest}\r\n />\r\n );\r\n }\r\n if (component === 'select') {\r\n return (\r\n setIsFocus(true)}\r\n removeFocus={() => setIsFocus(false)}\r\n disabled={disabled}\r\n error={ErrorComponent}\r\n classes={classes}\r\n name={name}\r\n {...rest}\r\n />\r\n );\r\n }\r\n return null;\r\n};\r\n\r\nconst propTypes = {\r\n component: oneOf(['input', 'textarea', 'select']),\r\n /** Base classname*/\r\n className: string,\r\n /** classnames compatible object */\r\n classNameModifiers: object,\r\n /** Use `false` to display error message - if isTouched is true */\r\n isValid: bool,\r\n /** Use `true` to indicate that element is touched and error messages can be displayed */\r\n isTouched: bool,\r\n /** Not used */\r\n isFocus: bool,\r\n /** Used as `defaultValue` for input element */\r\n value: oneOfType([string, number]),\r\n /** input element id */\r\n name: string,\r\n ...errorPropTypes,\r\n};\r\n\r\nField.propTypes = propTypes;\r\n\r\nexport default Field;\r\n","import React from 'react';\r\nimport { shape, node, bool, arrayOf, string } from 'prop-types';\r\nimport Person, { propTypes as personPropTypes } from '../Person';\r\nimport classNames from 'classnames';\r\nimport RegionalArticleFooter from './regionarticlefooter';\r\nimport CollapsiblePanel from '../CollapsiblePanel';\r\n\r\nconst FirstColumn = (props) => {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nconst SecondColumn = (props) => {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nconst ArticleFooter = (props) => {\r\n const {\r\n ArticleFooter,\r\n Translations,\r\n FooterHasCollapsibleRoleGroups,\r\n isRegional,\r\n RegionalName,\r\n } = props;\r\n\r\n if (!ArticleFooter) return null;\r\n\r\n const cssClasses = classNames({\r\n 'c-articlefooter': true,\r\n 'c-articlefooter--regional-below': isRegional,\r\n });\r\n\r\n const dataPrintSidebarTitle = Translations?.articlefooter || '';\r\n\r\n return (\r\n
    \r\n \r\n {ArticleFooter.Region && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n\r\n {ArticleFooter.RoleGroups && (\r\n \r\n )}\r\n \r\n {ArticleFooter.InformationText && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nconst ArticleFooterContent = (props) => {\r\n return (\r\n props.ArticleFooter.RoleGroups &&\r\n props.ArticleFooter.RoleGroups.map((item, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n {item.Label}: \r\n \r\n\r\n {props.FooterHasCollapsibleRoleGroups ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n })\r\n );\r\n};\r\n\r\nconst RoleItem = (props) => {\r\n const items =\r\n props.Persons &&\r\n props.Persons.map((person, index) => {\r\n return ;\r\n });\r\n return items;\r\n};\r\n\r\nconst ArticleFooterReviewDate = ({ Label, LastReview, contentDirection }) => {\r\n if (!LastReview) return null;\r\n\r\n return (\r\n
    \r\n \r\n {Label}:\r\n \r\n \r\n {LastReview}\r\n \r\n
    \r\n );\r\n};\r\n\r\nconst ArticleFooterPublishDate = ({ Label, PublishDate, contentDirection }) => {\r\n if (!PublishDate) return null;\r\n\r\n return (\r\n
    \r\n \r\n {Label}:\r\n \r\n \r\n {PublishDate}\r\n \r\n
    \r\n );\r\n};\r\n\r\nconst ArticleFooterApprovedDate = ({ Label, ApprovedDate }) => {\r\n if (!ApprovedDate) return null;\r\n\r\n return (\r\n
    \r\n \r\n {Label}:\r\n \r\n \r\n {ApprovedDate}\r\n \r\n
    \r\n );\r\n};\r\n\r\nconst ArticleFooterApprovedBy = ({ Label, ApprovedBy, isRegional }) => {\r\n if (!ApprovedBy) return null;\r\n return (\r\n
    \r\n \r\n {Label}:\r\n \r\n \r\n {isRegional ? (\r\n {ApprovedBy}\r\n ) : (\r\n ApprovedBy.map(\r\n (item, i) =>\r\n item.name && (\r\n \r\n {item.url ? {item.name} : item.name}\r\n \r\n )\r\n )\r\n )}\r\n \r\n
    \r\n );\r\n};\r\n\r\nArticleFooter.propTypes = {\r\n ArticleFooter: shape({\r\n Region: node,\r\n PublishDate: node,\r\n LastReview: node,\r\n ApprovedDate: node,\r\n ApprovedBy: node,\r\n Rolegroups: arrayOf(\r\n shape({\r\n Label: node,\r\n Persons: arrayOf(\r\n shape({\r\n ...personPropTypes,\r\n })\r\n ),\r\n })\r\n ),\r\n }),\r\n Translations: shape({\r\n revisiondate: string,\r\n publishdate: string,\r\n approveddate: string,\r\n approvedby: string,\r\n }),\r\n isRegional: bool,\r\n RegionalName: string,\r\n HasFooterHeading: bool,\r\n NationalHeading: string,\r\n FooterHasCollapsibleRoleGroups: bool,\r\n contentDirection: string,\r\n};\r\n\r\nexport default ArticleFooter;\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport useWindowLocationHref from '../../Hooks/useWindowLocation';\r\nconst LinkButton = ({ link, linkText, buttonClass, altLinkText }) => {\r\n const href = useWindowLocationHref();\r\n return link ? (\r\n \r\n \r\n {linkText ?? altLinkText ?? 'Läs mer'}\r\n \r\n \r\n ) : null;\r\n};\r\n\r\nLinkButton.propTypes = {\r\n link: PropTypes.string,\r\n linkText: PropTypes.string,\r\n buttonClass: PropTypes.string,\r\n};\r\n\r\nexport default LinkButton;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\n\r\nconst Section = (props) => {\r\n const classes = classNames('c-section', props.customClass, {\r\n ...props.Modifiers,\r\n });\r\n\r\n const sectionClasses = classNames({\r\n 'c-section__inner': true,\r\n 'c-section__inner--double-column':\r\n props.Modifiers && props.Modifiers['c-section__double-column'],\r\n });\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    {props.children}
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Section;\r\n","import React, { useEffect } from 'react';\r\nimport IsInRange from '../Base/Sensors/isInRange';\r\n\r\nconst List = (props) => {\r\n useEffect(() => {\r\n props.handleLetterChange(props.letter);\r\n }, [props.isInRange]);\r\n\r\n return (\r\n
    \r\n

    {props.letter}

    \r\n
      \r\n {props.list.map((item, key) => (\r\n
    • \r\n {item.Name}\r\n
    • \r\n ))}\r\n
    \r\n \r\n Tillbaka till navigering\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default IsInRange(List);\r\n","//TODO: använd plattformens Image komponent!\r\nimport React from 'react';\r\nimport classNames from 'classnames';\r\nimport Image from '../Image';\r\nimport ImageZoom from '../ImageZoom';\r\nimport { withRouter } from 'react-router';\r\n\r\nconst ImageBlock = ({\r\n ImageUrl,\r\n ImageDescription,\r\n ImageText,\r\n UniqueBlockId,\r\n Modifiers = null,\r\n ShowCaption = true,\r\n ShowPhotoCred = false,\r\n UseZoom,\r\n Translations = {},\r\n Sizes = {\r\n sizes: '(min-width: 1025px) 900px, 100vw',\r\n },\r\n ...props\r\n}) => {\r\n const classes = classNames({\r\n 'c-imageblock': true,\r\n 'c-imageblock--is-sensitive': props.hideSensitiveImage,\r\n ...Modifiers,\r\n });\r\n\r\n const btnClasses = classNames({\r\n 'c-imageblock__sensitive__button': true,\r\n 'c-imageblock__sensitive__button--is-loading':\r\n props.showSensitiveImageIsLoading,\r\n });\r\n\r\n if (props.location.search.includes('ThrowTestError=true')) {\r\n throw new Error('This is a test');\r\n }\r\n\r\n const dataPrintSidebarTitle = props.CurrentPageProps?.Content?.Translations?.imageblock || '';\r\n\r\n return (\r\n
    \r\n {props.hideSensitiveImage && (\r\n
    \r\n
    \r\n \r\n {Translations.sensetiveheading}\r\n \r\n \r\n {ImageDescription}\r\n \r\n \r\n {props.showSensitiveImageIsLoading &&\r\n props.SensitiveImageLoadingIcon}\r\n \r\n {\r\n props.CurrentPageProps.Content.Translations\r\n .showsensetiveimages\r\n }\r\n \r\n \r\n
    \r\n
    \r\n )}\r\n\r\n {!props.hideSensitiveImage && (\r\n \r\n \r\n \r\n )}\r\n {ShowCaption &&\r\n (ImageText ||\r\n (ShowPhotoCred && (props.Photographer || props.Illustrator))) && (\r\n
    \r\n {ImageText}\r\n {ShowPhotoCred && (\r\n
    \r\n {props.Photographer && (\r\n
    \r\n {Translations.photographer + props.Photographer}\r\n
    \r\n )}\r\n {props.Illustrator && (\r\n
    \r\n {Translations.illustrator + props.Illustrator}\r\n
    \r\n )}\r\n
    \r\n )}\r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default withRouter(ImageBlock);\r\n","import React from 'react';\r\nimport * as Render from '../platformui/Base/Render';\r\nimport { Teaser } from '../platformui/Teaser';\r\nexport default (props) => (\r\n \r\n);\r\n","import classNames from 'classnames';\r\nimport React, { createRef, useEffect } from 'react';\r\nimport ToggleChapter from '../ToggleChapter';\r\nimport View from './view';\r\n\r\nconst Chapter = (props) => {\r\n const content = createRef(null);\r\n function fitInWidth() {\r\n if (content.current === null) {\r\n return null;\r\n }\r\n const elements = content.current.querySelectorAll('.table-wrapper-inner');\r\n for (let i = 0; i < elements.length; i++) {\r\n const wideTable = elements[i].className.indexOf('wide');\r\n\r\n const offsetWidth = elements[i].offsetWidth;\r\n\r\n // If tables width is greater than scrollwidth it should have overflow\r\n if (offsetWidth < elements[i].scrollWidth) {\r\n // If table has class .wide, eg is not -1, set classes for overflow AND for wide\r\n if (wideTable !== -1) {\r\n elements[i].parentNode.className =\r\n 'table-wrapper table-wrapper--is-wide table-wrapper--is-overflow';\r\n } else {\r\n elements[i].parentNode.className =\r\n 'table-wrapper table-wrapper--is-overflow';\r\n }\r\n }\r\n }\r\n }\r\n\r\n function wrapTables() {\r\n if (!props.ContentString || content.current === null) {\r\n return null;\r\n }\r\n\r\n const table = content.current.querySelectorAll('table');\r\n if (table.length === 0) return;\r\n\r\n for (var i = 0; table.length - i; i++) {\r\n const parent = table[i].parentNode;\r\n\r\n if (parent.parentNode.className.indexOf('table-wrapper-inner') > -1)\r\n continue;\r\n\r\n const wrapper = document.createElement('div');\r\n wrapper.className = 'table-wrapper';\r\n\r\n const tableWrapper = document.querySelectorAll('.table-wrapper');\r\n const wrapperInner = document.createElement('div');\r\n const innerTableWrapper = document.createElement('div');\r\n const tableClasses = table[i].className;\r\n wrapperInner.className = `table-wrapper-inner ${tableClasses}`;\r\n tableWrapper.className = `table-wrapper ${tableClasses}`;\r\n\r\n // insert wrapper before el in the DOM tree\r\n parent.insertBefore(wrapperInner, table[i]);\r\n innerTableWrapper.appendChild(table[i]);\r\n wrapperInner.appendChild(innerTableWrapper);\r\n parent.insertBefore(wrapper, wrapperInner);\r\n wrapper.appendChild(wrapperInner);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (typeof window !== 'undefined') {\r\n window.requestAnimationFrame(() => {\r\n wrapTables();\r\n fitInWidth();\r\n });\r\n }\r\n }, []);\r\n\r\n const hasInlineImage =\r\n props.ImageProperties === 'mini' ||\r\n props.ImageProperties === 'mini-reverse' ||\r\n props.ImageProperties === 'xsmall' ||\r\n props.ImageProperties === 'xsmall-reverse';\r\n\r\n const dataPrintSidebarTitle = props.Heading || '';\r\n\r\n return (\r\n \r\n {!props.noToggle &&\r\n props.Heading &&\r\n props.AnchorSectionId &&\r\n !props.isH3 &&\r\n !props.CurrentPageProps.Content.HideAnchorNavigation &&\r\n !props.HideAnchorLink ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Chapter;\r\n","import React from 'react';\r\n\r\nconst withToolbarButtonList = (WrappedComponent) => {\r\n return class ToolBtn extends React.Component {\r\n state = {\r\n isVisible: false,\r\n };\r\n\r\n handleVisible(e, id) {\r\n if (e) e.preventDefault();\r\n this.props.handleToolsVisibility(\r\n !this.state.isVisible,\r\n document.getElementById(id).offsetHeight\r\n );\r\n\r\n if (id === 'global-search') {\r\n setTimeout(() => {\r\n document.getElementById('globalsearch').focus();\r\n }, 420);\r\n }\r\n\r\n this.setState({\r\n isVisible: !this.state.isVisible,\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n this.props.addToolComponent(this);\r\n }\r\n\r\n render() {\r\n return (\r\n this.handleVisible(e, id)}\r\n />\r\n );\r\n }\r\n };\r\n};\r\n\r\nexport default withToolbarButtonList;\r\n","import React, { useState } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport List from './list';\r\nimport Navigation from './navigation';\r\n\r\nconst AOListWithTrack = (props) => {\r\n const [activeLetter, setActiveLetter] = useState(\r\n props.location.hash\r\n ? props.location.hash.substring(1)\r\n : props.list[0]?.Key.toLowerCase()\r\n );\r\n\r\n const handleLetterChange = (activeLetter) => {\r\n setActiveLetter(activeLetter);\r\n };\r\n\r\n if (props.list.length === 0) return null;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n handleLetterChange(activeLetter)\r\n }\r\n list={props.list}\r\n />\r\n
    \r\n\r\n
    \r\n {props.list.map((letter, key) => (\r\n \r\n handleLetterChange(activeLetter)\r\n }\r\n key={key}\r\n letter={letter.Key}\r\n list={letter.Items}\r\n />\r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default withRouter(AOListWithTrack);\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport T from 'prop-types';\r\n\r\n/* eslint-disable react/no-unknown-property */\r\n\r\nconst expandableButtonPropTypes = {\r\n buttonText: T.node,\r\n onClick: T.func,\r\n buttonClass: T.string,\r\n iconClass: T.string,\r\n textClass: T.string,\r\n /** Used for aria-collapsed and data-open attributes */\r\n open: T.bool,\r\n /** Should match ID of element being opened/closed for aria-controls attribute */\r\n controlsElementId: T.string,\r\n buttonId: T.string,\r\n /* Will spread on
    \r\n );\r\n};\r\n\r\nExpandableButton.defaultProps = {\r\n buttonClass: '',\r\n attr: {},\r\n};\r\n\r\nExpandableButton.propTypes = expandableButtonPropTypes;\r\n\r\nexport default ExpandableButton;\r\n","import React, { Fragment } from 'react';\r\nimport withToolbarButtonList from '../Containers/withToolbarButtonList';\r\nimport ReadingAidPanel from './reading-aid-panel';\r\n\r\nconst ReadingAid = (props) => {\r\n const handleEnterPress = (e) => {\r\n if (e.key === 'Enter') {\r\n props.handleVisible(null, 'reading-aid');\r\n }\r\n };\r\n\r\n const { ReadingAid, ButtonSVG, toggleButtonClasses, isVisible } = props;\r\n\r\n if (!ReadingAid) return null;\r\n if (!ReadingAid.EnableReadingAid) return null;\r\n\r\n return (\r\n \r\n props.handleVisible(null, 'reading-aid')}\r\n onKeyPress={handleEnterPress}\r\n id=\"reading-aid-panel-btn\"\r\n role=\"button\"\r\n aria-controls=\"reading-aid\"\r\n aria-labelledby=\"description-reading-aid\"\r\n aria-expanded={isVisible}\r\n tabIndex=\"0\"\r\n >\r\n {ButtonSVG}\r\n \r\n {props.Content.Translations && props.Content.Translations.listen}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default withToolbarButtonList(ReadingAid);\r\n","import React from 'react';\r\nimport * as Render from '../platformui/Base/Render';\r\nimport SearchArticleList from '../platformui/SearchArticleList';\r\n\r\nexport default (props) => {\r\n return (\r\n \r\n );\r\n};\r\n","import classNames from 'classnames';\r\nimport T from 'prop-types';\r\nimport React from 'react';\r\nimport withLazyLoad from '../Containers/withLazyLoad';\r\nimport withSrcSets from '../Containers/withSrcSets';\r\n\r\nconst Image = (props) => {\r\n const classes = classNames({\r\n 'c-image': true,\r\n 'c-image--is-lazyloaded': props.isLazyLoaded || !props.isLazyLoad,\r\n 'c-image--is-background-image': props.isBackgroundImage,\r\n [props.className]: true && props.className,\r\n });\r\n\r\n const src = props.isLazyLoad ? props.LazyLoadImageUrl : props.ImageUrl;\r\n\r\n let alt = props.Description ?? props.ImageDescription;\r\n if (props.Alt !== undefined) alt = props.Alt;\r\n //If IMG is decorative alt text should be empty.\r\n if (props.isBackgroundImage || props.ariaHidden) alt = '';\r\n\r\n const style =\r\n props.isBackgroundImage && props.currentSrc\r\n ? {\r\n style: {\r\n backgroundImage: `url(\"${props.currentSrc}\")`,\r\n },\r\n }\r\n : null;\r\n\r\n const sizes = props.SrcSets && props.SrcSets.srcSet ? props.Sizes : null;\r\n\r\n const attributes = props.isBackgroundImage ? { role: 'presentation' } : {};\r\n\r\n return (\r\n
    \r\n {(!props.isBackgroundImage || props.isViewed || !props.isLazyLoad) && (\r\n \r\n )}\r\n {props.isLazyLoad && (\r\n `,\r\n }}\r\n />\r\n )}\r\n
    \r\n );\r\n};\r\n\r\nImage.propTypes = {\r\n className: T.string,\r\n currentSrc: T.string,\r\n Alt: T.string,\r\n isViewed: T.bool,\r\n isBackgroundImage: T.bool,\r\n isLazyLoad: T.bool,\r\n ariaHidden: T.bool,\r\n LazyLoadImageUrl: T.string,\r\n ImageUrl: T.string,\r\n SrcSets: T.shape({ srcSet: T.any }),\r\n Sizes: T.object,\r\n};\r\n\r\nexport const LazyLoadImage = withSrcSets(withLazyLoad(Image));\r\n\r\nexport default Image;\r\n","import React, { Fragment } from 'react';\r\nimport classNames from 'classnames';\r\nimport withToolbarButtonList from '../Containers/withToolbarButtonList';\r\n\r\nconst LanguagePanel = (props) => {\r\n const { ButtonSVG, LanguagePanel, toggleButtonClasses, isVisible } = props;\r\n\r\n const languagePanelClasses = classNames({\r\n 'c-language-panel': true,\r\n 'c-language-panel--is-opened': props.isVisible,\r\n });\r\n\r\n const languagePanelInner = classNames({\r\n 'c-language-panel__inner': true,\r\n 'c-language-panel__inner--no-button': !LanguagePanel.Link,\r\n });\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n\r\n props.handleVisible(null, 'language-panel')}\r\n role=\"button\"\r\n aria-controls=\"language-panel\"\r\n aria-expanded={isVisible}\r\n tabIndex=\"0\"\r\n >\r\n {ButtonSVG}\r\n \r\n {props.Content.Translations && props.Content.Translations.languages}\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default withToolbarButtonList(LanguagePanel);\r\n","import { node } from 'prop-types';\r\n\r\nconst Radio = (props) => {\r\n return props.children;\r\n};\r\n\r\nRadio.propTypes = {\r\n /** The only thing that renders */\r\n children: node,\r\n};\r\n\r\nexport default Radio;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport useWindowLocationHref from '../Hooks/useWindowLocation';\r\n\r\nconst Button = (props) => {\r\n const href = useWindowLocationHref();\r\n const buttonClasses = classNames({\r\n 'link-item-list__button': true,\r\n 'link-item-list__button--double-column':\r\n props.CurrentPageProps.BlockTypeName === 'DoubleColumnBlock',\r\n });\r\n\r\n return (\r\n <>\r\n {props.LinkUrl && props.LinkText && (\r\n \r\n {props.LinkText}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Button;\r\n","import React from 'react';\r\n\r\nconst RegionArticleFooter = (props) => {\r\n return (\r\n
    \r\n

    {props.Heading}

    \r\n
    \r\n );\r\n};\r\n\r\nexport default RegionArticleFooter;\r\n","import classNames from 'classnames';\r\nimport { any, node, number, string } from 'prop-types';\r\nimport React from 'react';\r\nimport * as Render from '../Base/Render';\r\nimport FormatDateTime from '../FormatDateTime';\r\nimport { LazyLoadImage } from '../Image';\r\n\r\nconst SplitColumns = ({ children, split, className }) => {\r\n if (!split) return children;\r\n\r\n return
    {children}
    ;\r\n};\r\n\r\nconst ArticleList = (props) => {\r\n const getColumnClasses = (numOfItems, blockName) => {\r\n if (blockName === 'DoubleColumnBlock') {\r\n return 'column';\r\n }\r\n\r\n return classNames({\r\n columns: true,\r\n 'medium-8': numOfItems === 1,\r\n 'medium-4': numOfItems === 3 || numOfItems === 2,\r\n 'medium-6 large-3': numOfItems > 3,\r\n });\r\n };\r\n\r\n const columnClasses = getColumnClasses(\r\n props.numOfItems,\r\n props.blockName ? props.blockName : props.pageName\r\n );\r\n\r\n const teaserTheme = classNames({\r\n 'c-article-list__theme--default': !props.Theme,\r\n [`c-article-list__theme--${props.Theme}`]: props.Theme,\r\n });\r\n\r\n const headerClasses = classNames({\r\n 'c-article-list__heading': true,\r\n [teaserTheme]: props.Theme,\r\n });\r\n\r\n const infoType = `c-article-list__type--${props.InformationType}`;\r\n const teaserClasses = classNames({\r\n 'c-article-list': true,\r\n 'c-article-list--related': true,\r\n 'c-article-list--no-text': !props.Preamble,\r\n 'c-article-list--full-layout': props.numOfItems === 1,\r\n 'c-article-list--nth1': props.numOfItems === 1,\r\n 'c-article-list--nth2': props.numOfItems === 2,\r\n 'c-article-list--nth3': props.numOfItems === 3,\r\n 'c-article-list--gt1': props.numOfItems > 1,\r\n 'c-article-list--gt2': props.numOfItems > 2,\r\n 'c-article-list--gt3': props.numOfItems > 3,\r\n 'c-article-list--double-column': props.blockName === 'DoubleColumnBlock',\r\n [`c-article-list--${props.Theme}`]: props.Theme,\r\n [teaserTheme]: props.Theme,\r\n [infoType]: props.InformationType,\r\n });\r\n\r\n const setPreset = () => {\r\n switch (props.numOfItems) {\r\n case 1:\r\n case 2:\r\n return '1200px';\r\n default:\r\n return '407px';\r\n }\r\n };\r\n\r\n //If only one then split into two columnClasses\r\n const rowSplit = classNames({\r\n row: props.numOfItems === 1,\r\n 'u-flexwrap': props.numOfItems === 1,\r\n 'c-article-list--center': props.numOfItems <= 2,\r\n });\r\n\r\n const splitColumns = classNames({\r\n 'medium-6 columns': props.Media && props.numOfItems === 1,\r\n 'medium-12 columns': !props.Media && props.numOfItems === 1,\r\n });\r\n\r\n const teaserContainsImage =\r\n props.Media &&\r\n props.Media[0] &&\r\n props.Media[0].ImageUrl &&\r\n props.Media[0].ImageUrl.length > 0;\r\n\r\n return (\r\n
    \r\n {props.Title && (\r\n
    \r\n \r\n {props.Media && (\r\n \r\n
    \r\n {props.ShowVideoPlayIcon && teaserContainsImage && (\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n \r\n
    \r\n
    \r\n {props.Vignette && (\r\n \r\n {props.Vignette}\r\n \r\n )}\r\n {props.Date && }\r\n {props.use1177ProfessionDesign ? (\r\n

    \r\n \r\n \r\n {props.Title}\r\n \r\n

    \r\n ) : (\r\n

    \r\n \r\n {props.Title}\r\n \r\n

    \r\n )}\r\n {typeof props.Preamble === 'string' && (\r\n
    \r\n

    {props.Preamble}

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nArticleList.propTypes = {\r\n Preamble: node,\r\n numOfItems: number,\r\n Vignette: node,\r\n Theme: string,\r\n Title: string,\r\n Url: string,\r\n Media: any,\r\n};\r\n\r\nexport default ArticleList;\r\n","import React from 'react';\r\nimport Video from '../../Video';\r\n\r\nconst MediaGalleryVideo = (props) => {\r\n const {\r\n activeIndex,\r\n index,\r\n numberOfItems,\r\n counter,\r\n VideoText,\r\n slideWidth,\r\n isMobile,\r\n alwaysShowCurrentImage,\r\n } = props;\r\n\r\n const forciblyShowCurrentCount =\r\n (alwaysShowCurrentImage && !isMobile) ||\r\n (activeIndex === index && isMobile);\r\n\r\n return (\r\n \r\n \r\n {counter} {activeIndex + 1}\r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MediaGalleryVideo;\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport T from 'prop-types';\r\nimport { log, callIfFunction } from '../Helpers/helpers';\r\nimport withGoogleMapsAPI from '../Containers/withGoogleMapsAPI';\r\n\r\nfunction logError(e) {\r\n if (process.env.NODE_ENV === 'production') return;\r\n log(e);\r\n}\r\n\r\nclass Map extends Component {\r\n BASE_CLASS = 'c-map';\r\n mapElement = React.createRef();\r\n\r\n state = {\r\n isMarkersLoading: false,\r\n initialBoundsSet: false,\r\n };\r\n listeners = [];\r\n map = null;\r\n googleAPI = null;\r\n markers = [];\r\n markerCluster = null;\r\n ticking = false;\r\n\r\n addListeners = this.addListeners.bind(this);\r\n setInitialBounds = this.setInitialBounds.bind(this);\r\n afterMapInit = this.afterMapInit.bind(this);\r\n\r\n getSizedIcon(markerOptions) {\r\n return {\r\n url: markerOptions.icon.url,\r\n scaledSize: new this.googleAPI.maps.Size(\r\n markerOptions.icon.width,\r\n markerOptions.icon.height\r\n ),\r\n };\r\n }\r\n\r\n createClusters() {\r\n const { clusterMarkerIcons, onClusterClick, markerOptions } = this.props;\r\n\r\n this.markerCluster = new window.MarkerClusterer(this.map, this.markers, {\r\n batchSize: 2000,\r\n styles: clusterMarkerIcons,\r\n clusterClass: 'pwt-marker-cluster',\r\n zoomOnClick: true,\r\n });\r\n\r\n const sizedIcon = this.getSizedIcon(markerOptions);\r\n\r\n // Because constructing markers with icons using an object for some reason is very slow,\r\n // do this only after clustering has ended, and only for the markers that are actually on\r\n // a map. See https://stackoverflow.com/questions/53429911/marker-load-time-is-10x-slower-when-icon-parameter-is-passed-valid-or-not .\r\n this.googleAPI.maps.event.addListener(\r\n this.markerCluster,\r\n 'clusteringend',\r\n (cluster) => {\r\n cluster.getMarkers().forEach((m) => {\r\n if (m.map) {\r\n m.setIcon(sizedIcon);\r\n }\r\n });\r\n }\r\n );\r\n\r\n //Function that allows infomodal to show up on clusterclick when receptions are on the same address\r\n if (onClusterClick) {\r\n this.googleAPI.maps.event.addListener(\r\n this.markerCluster,\r\n 'clusterclick',\r\n (cluster) => {\r\n onClusterClick(cluster.getMarkers(), cluster, this.map);\r\n }\r\n );\r\n }\r\n }\r\n\r\n addListeners(map) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n if (this.props.eventListeners) {\r\n // Add all event listeners to our ref\r\n Object.entries(this.props.eventListeners).forEach(([event, fn]) => {\r\n // Do not add listeners that we already have\r\n if (!this.listeners.find((o) => o.event === event)) {\r\n this.listeners.push({\r\n event,\r\n // map.addListener returns a listener instance.\r\n listener: map.addListener(event, () =>\r\n fn({ map: map, api: this.googleAPI, markers: this.markers })\r\n ),\r\n });\r\n }\r\n });\r\n }\r\n resolve(map);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n }\r\n\r\n removeListeners() {\r\n if (!this.map || !this.googleAPI) return;\r\n this.listeners.forEach((o) => {\r\n this.googleAPI.maps.event.removeListener(o.listener);\r\n });\r\n this.listeners = [];\r\n }\r\n\r\n removeMarkers() {\r\n this.markers.forEach((marker) => {\r\n marker.setMap(null);\r\n });\r\n this.markers = [];\r\n\r\n if (this.markerCluster) this.markerCluster.clearMarkers();\r\n this.markerCluster = null;\r\n }\r\n\r\n createMarkers(map, locations, batchIteration) {\r\n return new Promise((resolve) => {\r\n this.processMarkerData(map, locations, batchIteration, resolve);\r\n });\r\n }\r\n\r\n processMarkerData(map, locations, batchIteration, resolve, bounds = null) {\r\n const { markerOptions, onMarkerClick } = this.props;\r\n\r\n if (!bounds) bounds = new this.googleAPI.maps.LatLngBounds();\r\n\r\n const batchedLocations = locations.splice(0, batchIteration);\r\n\r\n const shouldFitBounds = () => {\r\n if (this.props.initialBounds) {\r\n // When initial bounds are used we do not fit bounds.\r\n // TODO: Should only be used for first load. When we fetch pins with pagination bounds should be fitted.\r\n // Look at state.initalBoundsSet and a flag when fetching?\r\n return false;\r\n }\r\n return Boolean(\r\n this.props.Locations.length > 0 && !this.props.disableFitBounds\r\n );\r\n };\r\n\r\n if (!batchedLocations.length) {\r\n if (shouldFitBounds()) {\r\n //Set center to fit all markers\r\n this.map.setCenter(bounds.getCenter());\r\n this.map.fitBounds(bounds, 0);\r\n callIfFunction(this.props.afterFitBounds, this.map);\r\n }\r\n return resolve();\r\n }\r\n\r\n const sizedicon = this.getSizedIcon(markerOptions);\r\n\r\n requestAnimationFrame(() => {\r\n batchedLocations.forEach((locationData) => {\r\n if (!locationData.Latitude || !locationData.Longitude) return;\r\n\r\n const marker = this.createMarker(\r\n map,\r\n new this.googleAPI.maps.LatLng(\r\n locationData.Latitude,\r\n locationData.Longitude\r\n ),\r\n sizedicon,\r\n onMarkerClick,\r\n locationData\r\n );\r\n\r\n this.markers.push(marker);\r\n\r\n bounds.extend(marker.getPosition());\r\n });\r\n\r\n this.processMarkerData(map, locations, batchIteration, resolve, bounds);\r\n });\r\n }\r\n\r\n createMarker(map, position, sizedIcon, onClick, data) {\r\n const marker = new this.googleAPI.maps.Marker({\r\n position,\r\n data,\r\n map,\r\n icon: map ? sizedIcon : null,\r\n });\r\n\r\n if (onClick)\r\n marker.addListener('click', () => onClick(data, marker, this.map));\r\n\r\n return marker;\r\n }\r\n\r\n getCenter(lat, lng) {\r\n return lat && lng ? new this.googleAPI.maps.LatLng(lat * 1, lng * 1) : null;\r\n }\r\n\r\n componentWillUnmount() {\r\n this.removeListeners();\r\n }\r\n\r\n initMap() {\r\n return new Promise((resolve) => {\r\n let { zoom, lat, lng, options } = this.props;\r\n const center = this.getCenter(lat, lng);\r\n if (!this.map) {\r\n this.map = new this.googleAPI.maps.Map(this.mapElement.current, {\r\n zoom: zoom,\r\n center: center,\r\n streetViewControl: false,\r\n mapTypeControl: false,\r\n ...options,\r\n });\r\n }\r\n return resolve(this.map);\r\n });\r\n }\r\n\r\n afterMapInit(map) {\r\n return new Promise((resolve) => {\r\n callIfFunction(this.props.onMapInit, { map, api: this.googleAPI });\r\n resolve(map);\r\n });\r\n }\r\n\r\n async UNSAFE_componentWillReceiveProps(nextProps) {\r\n if (!nextProps.google) return;\r\n\r\n this.googleAPI = nextProps.google;\r\n\r\n //Run load callback\r\n if (nextProps.google && !this.props.google && this.props.onGoogleAPILoad) {\r\n this.props.onGoogleAPILoad(this.googleAPI);\r\n }\r\n\r\n if (\r\n nextProps.Locations &&\r\n !this.state.isMarkersLoading &&\r\n (nextProps.Locations !== this.props.Locations ||\r\n this.props.async === false)\r\n ) {\r\n await this.initMap()\r\n .then(this.addListeners)\r\n .then(this.setInitialBounds)\r\n .then(this.afterMapInit)\r\n .catch(logError);\r\n\r\n this.setState({\r\n isMarkersLoading: true,\r\n });\r\n\r\n const markersPerIteration = 2000;\r\n\r\n const locationsCopy = [...nextProps.Locations];\r\n\r\n this.removeMarkers();\r\n\r\n //Create cluster markers else create markers\r\n if (this.props.useClusters) {\r\n await this.createMarkers(null, locationsCopy, markersPerIteration);\r\n\r\n if (this.props.clusterMarkerIcons) this.createClusters();\r\n } else {\r\n await this.createMarkers(this.map, locationsCopy, markersPerIteration);\r\n }\r\n\r\n this.setState({\r\n isMarkersLoading: false,\r\n });\r\n }\r\n\r\n if (\r\n !nextProps.Locations &&\r\n !this.props.useClusters &&\r\n this.props.lat &&\r\n this.props.lng\r\n ) {\r\n // We have no locations and will init the map with lat and lgn value only\r\n await this.initMap()\r\n .then(this.addListeners)\r\n .then(this.setInitialBounds)\r\n .then(this.afterMapInit)\r\n .catch(logError);\r\n\r\n const { lat, lng, markerOptions, onMarkerClick, markerData } = this.props;\r\n const center = this.getCenter(lat, lng);\r\n this.createMarker(\r\n this.map,\r\n center,\r\n this.getSizedIcon(markerOptions),\r\n onMarkerClick,\r\n markerData\r\n );\r\n }\r\n }\r\n\r\n setInitialBounds(map) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n if (this.props.initialBounds && !this.state.initialBoundsSet) {\r\n const { ne: initialNE, sw: initialSW } = this.props.initialBounds;\r\n const sw = new this.googleAPI.maps.LatLng(\r\n initialSW.latitude,\r\n initialSW.longitude\r\n );\r\n const ne = new this.googleAPI.maps.LatLng(\r\n initialNE.latitude,\r\n initialNE.longitude\r\n );\r\n\r\n const bounds = new this.googleAPI.maps.LatLngBounds(sw, ne);\r\n map.fitBounds(bounds, 0);\r\n\r\n this.setState({\r\n initialBoundsSet: true,\r\n });\r\n }\r\n return resolve(map);\r\n } catch (e) {\r\n log('warning')(e);\r\n return reject(e);\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n const { className = this.BASE_CLASS, modifiers } = this.props;\r\n\r\n const componentClass = classNames({\r\n [`${className}`]: true,\r\n [`${className}--is-markers-loading`]: this.state.isMarkersLoading,\r\n ...modifiers,\r\n });\r\n\r\n const mapClass = `${className}__map`;\r\n\r\n return (\r\n
    \r\n
    \r\n {this.props.children && this.props.children(this.map, this.googleAPI)}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nMap.propTypes = {\r\n className: T.string,\r\n};\r\n\r\nMap.defaultProps = {\r\n onMapInit: () => {},\r\n};\r\n\r\nexport default withGoogleMapsAPI(Map, '&libraries=geometry');\r\n","import React, { useRef, useState, useEffect } from 'react';\r\n\r\nconst isInRange = (WrappedComponent, offset = 1) => {\r\n const handles = [];\r\n\r\n const IsInRangeContainer = (props) => {\r\n const viewport = useRef();\r\n const [isInRange, setIsInrange] = useState(false);\r\n\r\n const getBoundingClientRect = () => {\r\n return viewport.current.getBoundingClientRect();\r\n };\r\n\r\n const isComponentWithinRange = () => {\r\n if (!viewport.current) return;\r\n\r\n const rect = getBoundingClientRect();\r\n if (rect.top < offset && rect.bottom > 0) {\r\n !isInRange && setIsInrange(true);\r\n } else {\r\n isInRange && setIsInrange(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n handles.push(isComponentWithinRange);\r\n }, [isInRange]);\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n let ticking = false;\r\n const throttleScroll = () => {\r\n ticking =\r\n ticking ||\r\n requestAnimationFrame(() => {\r\n ticking = false;\r\n handles.map((handle) => handle());\r\n });\r\n };\r\n\r\n if (typeof window !== 'undefined') {\r\n window.addEventListener('scroll', throttleScroll, false);\r\n window.addEventListener('resize', throttleScroll, false);\r\n }\r\n\r\n return IsInRangeContainer;\r\n};\r\n\r\nexport default isInRange;","export const getAriaDescribedBy = (error, name) =>\r\n error?.props?.isError && {\r\n 'aria-describedby': `${name}-error`,\r\n };\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport Track from '../Base/Sensors/track';\r\nimport scrollIt from '../Base/Scroll';\r\n\r\nconst AOListNavigation = ({\r\n alphabet,\r\n compare,\r\n activeLetter,\r\n handleLetterChange,\r\n ...props\r\n}) => {\r\n const Anchors = alphabet.map((Key) => {\r\n return { Key };\r\n });\r\n\r\n const classes = classNames({\r\n 'c-anchorlinks': true,\r\n 'c-anchorlinks--is-fixed': props.isWithinTrac,\r\n 'c-anchorlinks--is-bottom': props.isTrackBottom,\r\n });\r\n\r\n return (\r\n
      \r\n {Anchors.map((item, index) => {\r\n const matched = typeof compare !== 'undefined' ? compare(item) : true;\r\n\r\n const classes = classNames({\r\n 'c-anchorlinks__item': true,\r\n 'c-anchorlinks__item--selected':\r\n activeLetter.toLowerCase() === item.Key.toLowerCase(),\r\n 'c-anchorlinks__item--matched': matched,\r\n });\r\n\r\n const attributes = {\r\n 'data-cy': matched ? 'ui-anchor-item' : 'ui-empty-item',\r\n };\r\n\r\n return (\r\n
    • \r\n {matched ? (\r\n {\r\n if (!document.getElementById(`${item.Key}`)) return false;\r\n scrollIt(\r\n document.getElementById(`${item.Key}`),\r\n 300,\r\n 'easeOutQuad',\r\n () => {\r\n if (typeof handleLetterChange !== 'undefined')\r\n handleLetterChange(item.Key);\r\n //if (typeof onClickedAnchor !== 'undefined') onClickedAnchor(false);\r\n }\r\n );\r\n }}\r\n >\r\n {item.Key}\r\n \r\n ) : (\r\n \r\n {item.Key}\r\n \r\n )}\r\n
    • \r\n );\r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport default Track(AOListNavigation);\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { useSweLang } from '../Helpers/helpers';\r\n\r\nconst ListViewToggler = (props) => {\r\n return (\r\n
    \r\n \r\n {props.translations.showcontentas}\r\n \r\n props.onClick(true)}\r\n >\r\n \r\n {props.translations.showasbricks}\r\n \r\n \r\n props.onClick(false)}\r\n >\r\n \r\n {props.translations.showaslist}\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default ListViewToggler;\r\n","import { useState } from 'react';\r\n\r\nfunction usePagination(data, itemsPerPage, keepPreviousPages = false) {\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const maxPage = Math.ceil(data.length / itemsPerPage);\r\n\r\n function currentData() {\r\n const begin = keepPreviousPages ? 0 : (currentPage - 1) * itemsPerPage;\r\n const end = keepPreviousPages\r\n ? itemsPerPage * currentPage\r\n : begin + itemsPerPage;\r\n return data.slice(begin, end);\r\n }\r\n\r\n function next() {\r\n setCurrentPage((currentPage) => Math.min(currentPage + 1, maxPage));\r\n }\r\n\r\n function prev() {\r\n setCurrentPage((currentPage) => Math.max(currentPage - 1, 1));\r\n }\r\n\r\n function jump(page) {\r\n const pageNumber = Math.max(1, page);\r\n setCurrentPage(() => Math.min(pageNumber, maxPage));\r\n }\r\n\r\n return { next, prev, jump, currentData, currentPage, maxPage };\r\n}\r\n\r\nexport default usePagination;\r\n","import React from 'react';\r\n\r\nconst MediaGalleryPagination = ({\r\n totalSlides,\r\n currentSlide,\r\n visibleRange,\r\n handleClick,\r\n hasGroupedDots\r\n}) => {\r\n const calculateDotSize = (index) => {\r\n const distance = Math.abs(currentSlide - index);\r\n if (distance === 0) return hasGroupedDots ? 60 : 30; // Active dot size\r\n return Math.max(2, 12 - distance); // Decrease size by 1px per step, with a minimum size of 2px\r\n };\r\n\r\n return (\r\n
    \r\n {Array.from(\r\n { length: hasGroupedDots ? totalSlides - 2 : totalSlides },\r\n (_, index) =>\r\n index >= visibleRange[0] &&\r\n index <= visibleRange[1] && (\r\n handleClick(index)}\r\n >\r\n )\r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default MediaGalleryPagination;\r\n","import React from 'react';\r\nimport T from 'prop-types';\r\nimport './styles.scss';\r\n\r\nconst RADIUS = 54;\r\nconst CIRCUMFERENCE = 2 * Math.PI * RADIUS;\r\n\r\nconst progress = (value) => {\r\n const progress = value / 100;\r\n const dashoffset = CIRCUMFERENCE * (1 - progress);\r\n return dashoffset;\r\n};\r\n\r\n/**\r\n * Will output a radial circle progress meter in SVG\r\n *\r\n */\r\nconst Progressbar = (props) => {\r\n return (\r\n
    \r\n
    {props.percent}%
    \r\n \r\n {props.percent} %\r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nProgressbar.propTypes = {\r\n /** How much progress */\r\n percent: T.number,\r\n /** Width and Height of element */\r\n size: T.number,\r\n /** Width of meter and value stroke. */\r\n strokeWidth: T.number,\r\n};\r\n\r\nexport default Progressbar;\r\n","import queryString from 'qs';\r\nimport React from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport SearchField from '../Search/searchfield';\r\nimport EntryFormSearchField from './entryform-searchfield';\r\nimport './styles.scss';\r\n\r\n/**\r\n * Repo: PWT-PlatformUI\r\n *\r\n * Sites: RGS\r\n *\r\n * @description\r\n * Entry form block to a searchpage.\r\n * No autocomplete/suggestions.\r\n *\r\n */\r\nconst SearchEntryForm = (props) => {\r\n const qs = queryString.parse(props.location.search, {\r\n ignoreQueryPrefix: true,\r\n });\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {props.Heading && (\r\n {props.Heading}\r\n )}\r\n
    \r\n \r\n {props.CurrentPageProps.Content.Translations.search && (\r\n \r\n {props.CurrentPageProps.Content.Translations.search}\r\n \r\n )}\r\n \r\n {props.DefaultFacet && (\r\n \r\n )}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\n/**\r\n * Repo: PWT-PlatformUI\r\n *\r\n * Sites: NKK\r\n * @description\r\n * Entry form block to a searchpage.\r\n * With autocomplete, suggestions and quicksearch\r\n */\r\n\r\nconst SearchEntryFormWithAutocomplete = (props) => {\r\n const hasQuickSearch =\r\n typeof props.QuickSearchUrl !== 'undefined' &&\r\n props.QuickSearchUrl !== null;\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {props.SearchPlaceholder}\r\n \r\n\r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default withRouter(SearchEntryForm);\r\n\r\nexport { SearchEntryFormWithAutocomplete };\r\n","import React, { useRef, useState } from 'react';\r\nimport classNames from 'classnames';\r\n\r\nconst DEFAULT_CLASSNAME = 'c-collapsible-text';\r\n\r\nconst CollapsibleText = (props) => {\r\n const collapsibleContentInner = useRef();\r\n const collapsibleContent = useRef();\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n const extendsContent =\r\n collapsibleContentInner.clientHeight > collapsibleContent.clientHeight;\r\n\r\n const handleClick = () => {\r\n setIsExpanded(!isExpanded);\r\n };\r\n\r\n const componentClass = props.className ? props.className : DEFAULT_CLASSNAME;\r\n const buttonText = isExpanded\r\n ? props.buttonReadLessText\r\n : props.buttonReadMoreText;\r\n const classes = classNames({\r\n [`${componentClass}`]: true,\r\n [`${componentClass}--expanded`]: isExpanded,\r\n [`${componentClass}--extends-content`]: extendsContent,\r\n ...props.Modifiers,\r\n });\r\n if (props.hideCollapsibleText)\r\n return
    {props.children}
    ;\r\n\r\n return (\r\n
    \r\n {props.heading && (\r\n

    {props.heading}

    \r\n )}\r\n
    \r\n
    {props.children}
    \r\n
    \r\n\r\n handleClick()}\r\n type=\"button\"\r\n >\r\n {props.buttonChildren && props.buttonChildren}\r\n\r\n {buttonText}\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default CollapsibleText;\r\n","import React, { useState } from 'react';\r\nimport { Viewport } from '../Base/Sensors';\r\n\r\nconst withLazyLoad = (WrappedComponent) => {\r\n const LazyLoad = (props) => {\r\n const { CurrentPageProps, ImageUrl, isViewed } = props;\r\n const { IsEditMode } = CurrentPageProps;\r\n\r\n const [isLazyLoaded, setIsLazyLoaded] = useState(IsEditMode);\r\n const [currentSrc, setCurrentSrc] = useState(IsEditMode ? ImageUrl : null);\r\n\r\n const imgIsTouched = () => ImageUrl?.indexOf('?') > 0;\r\n\r\n const handleOnLoad = (e) => {\r\n const img = e.currentTarget;\r\n\r\n if (isViewed) {\r\n setIsLazyLoaded(true);\r\n setCurrentSrc(\r\n typeof img?.currentSrc !== 'undefined' ? img?.currentSrc : ImageUrl\r\n );\r\n }\r\n };\r\n\r\n const paramOrQuery = imgIsTouched() ? '&' : '?';\r\n const presetLowResUrl = `${ImageUrl}${paramOrQuery}preset=low-res`;\r\n const imageUrl = props.isViewed || IsEditMode ? ImageUrl : presetLowResUrl;\r\n return (\r\n \r\n );\r\n };\r\n\r\n //Trigger load img with offset 200px\r\n return Viewport(LazyLoad, 200);\r\n};\r\n\r\nexport default withLazyLoad;\r\n","import React from 'react';\r\n\r\nconst MediaGalleryContent = ({\r\n heading,\r\n text,\r\n links,\r\n showAuthor,\r\n photographer,\r\n illustrator,\r\n translations,\r\n}) => {\r\n return (\r\n <>\r\n {heading &&

    {heading}

    }\r\n {text && (\r\n
    \r\n )}\r\n {showAuthor && (\r\n
    \r\n {photographer && (\r\n

    {`${translations.photographer}: ${photographer}`}

    \r\n )}\r\n {illustrator && (\r\n

    {`${translations.illustrator}: ${illustrator}`}

    \r\n )}\r\n
    \r\n )}\r\n {links && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default MediaGalleryContent;\r\n","import React from 'react';\r\nimport { bool, shape, string, node } from 'prop-types';\r\n\r\n/**\r\n * Error message component\r\n * \r\n```\r\n\r\n```\r\n * \r\n */\r\nconst Error = (props) => {\r\n if (!props.isError) return null;\r\n\r\n return (\r\n
    \r\n {props.errorMessages && props.errorMessages['prefix'] && (\r\n {props.errorMessages['prefix']} \r\n )}\r\n {props.label && (\r\n {props.label}.\r\n )}\r\n {props.errorMessages &&\r\n props.errorMessages[props.errorType] &&\r\n props.errorMessages[props.errorType]}\r\n
    \r\n );\r\n};\r\n\r\nexport const propTypes = {\r\n /** If `true` display error message */\r\n isError: bool,\r\n /** Label is displayed before the error message */\r\n label: node,\r\n /** errorType must be a string with the name of a key that exists in `errorMessages` */\r\n errorType: string,\r\n /** errorMessages must contain a key with the the errorType */\r\n errorMessages: shape({\r\n prefix: node,\r\n }),\r\n};\r\n\r\nError.propTypes = propTypes;\r\n\r\nexport default Error;\r\n","import { useEffect, useRef } from 'react';\r\n\r\n/**\r\n * Custom hook for creating Matomo track-events. The event-parameters corresponds to their Matomo equivalents. (e.g., eventCategory = Event Category)\r\n * @param {string} eventCategory - The category of the tracked event.\r\n * @param {string} eventAction - The action associated with the event.\r\n * @param {string} eventName - The name of the event.\r\n * @param {number} eventValue - The value to track (e.g., an index).\r\n * @param {number} debounceTime - Debounce time in milliseconds.\r\n */\r\nconst useMatomoTrackEventOnChange = (\r\n eventCategory,\r\n eventAction,\r\n eventName,\r\n eventValue,\r\n debounceTime = 300\r\n) => {\r\n if (\r\n typeof window === undefined ||\r\n !eventCategory ||\r\n !eventAction ||\r\n !eventName ||\r\n eventValue == null\r\n ) {\r\n return;\r\n }\r\n\r\n const timeoutRef = useRef(null);\r\n const eventValueUnchanged = useRef(true);\r\n\r\n useEffect(() => {\r\n if (eventValueUnchanged.current) {\r\n eventValueUnchanged.current = false;\r\n return;\r\n }\r\n\r\n clearTimeout(timeoutRef.current);\r\n\r\n timeoutRef.current = setTimeout(() => {\r\n window?._paq?.push([\r\n 'trackEvent',\r\n eventCategory,\r\n eventAction,\r\n eventName,\r\n eventValue,\r\n ]);\r\n }, debounceTime);\r\n\r\n return () => {\r\n clearTimeout(timeoutRef.current);\r\n };\r\n }, [eventCategory, eventAction, eventValue]);\r\n};\r\n\r\nexport default useMatomoTrackEventOnChange;\r\n","import React from 'react';\r\nimport { node, bool, string, shape } from 'prop-types';\r\n\r\nconst AdjustableLinkBlock = (props) => {\r\n if (!props.Content) return false;\r\n\r\n const { Heading, Text, LinkText, LinkUrl } = props.Content;\r\n\r\n return (\r\n
    \r\n {props.useBackgroundImage && (\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n {Heading && (\r\n

    {Heading}

    \r\n )}\r\n\r\n {LinkUrl && (\r\n

    \r\n \r\n {Text}\r\n {props.useIconLink && }\r\n \r\n

    \r\n )}\r\n {!LinkUrl &&

    {Text}

    }\r\n\r\n {LinkText && (\r\n \r\n {LinkText}\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nAdjustableLinkBlock.propTypes = {\r\n useBackgroundImage: bool,\r\n useIconLink: bool,\r\n Content: shape({\r\n LinkUrl: string,\r\n LinkText: node,\r\n Heading: node,\r\n Text: node,\r\n }),\r\n};\r\n\r\nexport default AdjustableLinkBlock;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport ArticleHeader from '../ArticleHeader';\r\nimport * as Render from '../Base/Render';\r\nimport ImageBlock from '../ImageBlock';\r\nimport Section from '../Section';\r\nimport withSrcSets from '../Containers/withSrcSets';\r\nimport withLazyLoad from '../Containers/withLazyLoad';\r\nimport withSensitiveImage from '../Containers/withSensitiveImage';\r\n\r\nconst Intro = (props) => {\r\n const ImageBlockWithSrcSet = withLazyLoad(\r\n withSrcSets(withSensitiveImage(ImageBlock))\r\n );\r\n\r\n const introClasses = classNames({\r\n 'medium-8': true,\r\n 'medium-centered': true,\r\n 'large-uncentered': true,\r\n 'large-7': props.Media,\r\n 'large-8': !props.Media,\r\n columns: true,\r\n });\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {(props.Media || props.CurrentPageProps.IsEditMode) && (\r\n
    \r\n \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Intro;\r\n","import { arrayOf, bool, shape, string } from 'prop-types';\r\nimport React from 'react';\r\nimport SemanticHeader from '../../platformui/Chapter/semantic-header';\r\n\r\nconst DescriptionList = (props) => {\r\n let count = null;\r\n return (\r\n
    \r\n {props.Heading && (\r\n {props.Heading}\r\n )}\r\n

    {props.Preamble}

    \r\n
      \r\n {props.List?.map((item, key) => {\r\n props.ShowNumber && count++;\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n );\r\n};\r\nconst DescriptionListItem = (props) => {\r\n return (\r\n
  • \r\n
    \r\n
    \r\n {props.number && (\r\n \r\n

    {props.number}

    \r\n
    \r\n )}\r\n {props.Heading && (\r\n \r\n {props.Heading}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
  • \r\n );\r\n};\r\n\r\nDescriptionList.propTypes = {\r\n Heading: string,\r\n Preamble: string,\r\n ShowNumber: bool,\r\n List: arrayOf(\r\n shape({\r\n Heading: string,\r\n Description: string,\r\n })\r\n ),\r\n};\r\n\r\nexport default DescriptionList;\r\n","import React from 'react';\r\nimport Intro from '../platformui/Intro';\r\nimport * as Render from '../platformui/Base/Render';\r\nexport default (props) => (\r\n \r\n);\r\n","import React, { useEffect, useRef } from 'react';\r\n\r\nexport default (WrappedComponent) => {\r\n const TABBABLE_ELEMENTS = 'a[href], button';\r\n const KEYCODE_ESC = 27;\r\n const KEYCODE_TAB = 9;\r\n\r\n const Container = (props) => {\r\n const keepTab = useRef();\r\n\r\n // Handle ESC key\r\n useEffect(() => {\r\n const escKeyListener = (event) => {\r\n if ((event.which || event.keyCode) === KEYCODE_ESC) {\r\n props.closeHandler && props.closeHandler();\r\n }\r\n };\r\n\r\n document.addEventListener('keydown', escKeyListener, false);\r\n\r\n return () => {\r\n document.removeEventListener('keydown', escKeyListener, false);\r\n };\r\n }, [props.closeHandler]);\r\n\r\n // Focus-trapping logic\r\n useEffect(() => {\r\n const keyListener = (event) => {\r\n const { keyCode, shiftKey, target } = event;\r\n\r\n if (keyCode === KEYCODE_TAB) {\r\n const tabbableElements = Array.from(\r\n keepTab.current.querySelectorAll(TABBABLE_ELEMENTS)\r\n );\r\n\r\n if (tabbableElements.length === 0) return;\r\n\r\n const firstTabbableElement = tabbableElements[0];\r\n const lastTabbableElement =\r\n tabbableElements[tabbableElements.length - 1];\r\n\r\n // Move focus to first element that can be tabbed if shift isn't used\r\n if (target === lastTabbableElement && !shiftKey) {\r\n event.preventDefault();\r\n firstTabbableElement.focus();\r\n\r\n // Move focus to last element that can be tabbed if shift is used\r\n } else if (target === firstTabbableElement && shiftKey) {\r\n event.preventDefault();\r\n lastTabbableElement.focus();\r\n }\r\n }\r\n };\r\n\r\n if (keepTab.current) {\r\n keepTab.current.addEventListener('keydown', keyListener, false);\r\n }\r\n\r\n return () => {\r\n if (keepTab.current) {\r\n keepTab.current.removeEventListener('keydown', keyListener, false);\r\n }\r\n };\r\n }, []);\r\n\r\n const { className } = props;\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n return Container;\r\n};\r\n","import React from 'react';\r\nimport { callIfFunction } from '../Helpers/helpers';\r\nimport { getAriaDescribedBy } from './helpers';\r\n\r\nconst Select = (props) => {\r\n const { classes, error, removeFocus, onBlur, children, name, ...rest } =\r\n props;\r\n\r\n return (\r\n
    \r\n
    \r\n {\r\n callIfFunction(removeFocus);\r\n callIfFunction(onBlur, e);\r\n }}\r\n {...getAriaDescribedBy(error, name)}\r\n {...rest}\r\n >\r\n {children}\r\n \r\n
    \r\n {error}\r\n
    \r\n );\r\n};\r\n\r\nexport default Select;\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport Badge from '../../IDSBadge';\r\n\r\nconst RegionalHighlightTextBlock = ({ regionalContent, translation }) => {\r\n const regionName = regionalContent[0]?.CurrentRegionName;\r\n const langLabel = (translation || 'Innehållet gäller') + ' ' + regionName;\r\n\r\n return regionalContent?.some((e) => e.Content) ? (\r\n
    \r\n \r\n {regionalContent.map((block, index) => {\r\n return

    {block.Content}

    ;\r\n })}\r\n
    \r\n ) : (\r\n ''\r\n );\r\n};\r\n\r\nRegionalHighlightTextBlock.propTypes = {\r\n regionalContent: PropTypes.array,\r\n};\r\n\r\nexport default RegionalHighlightTextBlock;\r\n","import React from 'react';\r\nimport { Render, Teaser } from '../platformui';\r\nexport default (props) => (\r\n \r\n);\r\n","import classNames from 'classnames';\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport SemanticHeader from '../Chapter/semantic-header';\r\nimport { useMatomoTrackEventOnChange } from '../Hooks/index';\r\nimport { isMediumViewport } from '../Hooks/useMedia';\r\nimport MediaGalleryImage from './components/image';\r\nimport MediaGalleryPagination from './components/pagination';\r\nimport MediaGalleryVideo from './components/video';\r\nimport useWindowLocationHref from '../Hooks/useWindowLocation';\r\n\r\nconst MediaGallery = (props) => {\r\n const href = useWindowLocationHref();\r\n const {\r\n Heading,\r\n Media,\r\n Translations,\r\n CurrentPageProps,\r\n Dir,\r\n ShowPagination,\r\n } = props;\r\n\r\n const containsMedia = (media) => {\r\n let hasMedia = false;\r\n try {\r\n media?.length > 0 ? (hasMedia = true) : (hasMedia = false);\r\n } catch (error) {\r\n throw new Error('Du måste ha minst en bild i bildspelet');\r\n }\r\n\r\n return hasMedia;\r\n };\r\n\r\n const totalItems = Media?.length;\r\n\r\n const hasMedia = containsMedia(Media);\r\n const isMobile = isMediumViewport();\r\n const isArticlePage = CurrentPageProps.PageTypeName === 'ArticlePage';\r\n const isThreeSlidesLayout = !isArticlePage && !isMobile;\r\n const isFullWidthLayout = totalItems === 4;\r\n const galleryIsScrollable = totalItems > 4 || isArticlePage;\r\n const alwaysShowCurrentImageIndicator =\r\n !ShowPagination && galleryIsScrollable;\r\n\r\n const getSlideWidth = () => {\r\n if (isArticlePage && !isMobile) {\r\n return '100%';\r\n }\r\n if ((galleryIsScrollable && !isMobile) || (totalItems < 4 && !isMobile)) {\r\n return '33%';\r\n }\r\n if (isFullWidthLayout && !isMobile) {\r\n return '25%';\r\n }\r\n return '83%';\r\n };\r\n\r\n const slideWidth = getSlideWidth();\r\n\r\n const scrollContainerRef = useRef(null);\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n\r\n const maxVisiblePaginationDots = 10;\r\n const [visiblePaginationRange, setVisiblePaginationRange] = useState([0, 9]);\r\n\r\n const updatePaginationRange = (newSlide) => {\r\n let newStart = Math.max(\r\n newSlide - Math.floor(maxVisiblePaginationDots / 2),\r\n 0\r\n );\r\n let newEnd = Math.min(\r\n newStart + maxVisiblePaginationDots - 1,\r\n totalItems - 1\r\n );\r\n\r\n if (newEnd - newStart < maxVisiblePaginationDots - 1) {\r\n newStart = Math.max(newEnd - maxVisiblePaginationDots + 1, 0);\r\n }\r\n\r\n setVisiblePaginationRange([newStart, newEnd]);\r\n };\r\n\r\n const handlePaginationClick = (index) => {\r\n scrollToIndex(index);\r\n updatePaginationRange(index);\r\n };\r\n\r\n useEffect(() => {\r\n if (isMobile) {\r\n const scrollContainer = scrollContainerRef.current;\r\n\r\n const handleScroll = () => {\r\n let scrollLeft = scrollContainer.scrollLeft;\r\n const containerWidth = scrollContainer.clientWidth;\r\n const itemWidth = containerWidth * 0.83; // width: 83% in mobile always\r\n\r\n let newIndex;\r\n\r\n if (Dir === 'rtl') {\r\n const maxScrollLeft = scrollContainer.scrollWidth - containerWidth;\r\n if (scrollLeft < 0) {\r\n scrollLeft = Math.abs(scrollLeft);\r\n } else if (scrollLeft == -maxScrollLeft) {\r\n scrollLeft = maxScrollLeft;\r\n } else {\r\n scrollLeft = 0;\r\n }\r\n }\r\n\r\n newIndex = Math.round(scrollLeft / itemWidth);\r\n\r\n setActiveIndex(newIndex);\r\n updatePaginationRange(newIndex);\r\n };\r\n\r\n scrollContainer.addEventListener('scroll', handleScroll);\r\n\r\n return () => {\r\n scrollContainer.removeEventListener('scroll', handleScroll);\r\n };\r\n }\r\n }, []);\r\n\r\n const scrollToIndex = (index) => {\r\n const scrollContainer = scrollContainerRef.current;\r\n const containerWidth = scrollContainer.clientWidth;\r\n const itemWidth = containerWidth * (isMobile ? 0.83 : 0.33); // width: 83%\r\n const scrollLeft = index * itemWidth;\r\n\r\n // Temporarily disable 'scroll-snap-type', because it interferes with the 'scrollTo' in Chrome\r\n scrollContainer.style.scrollSnapType = 'none';\r\n\r\n if (Dir === 'ltr') {\r\n scrollContainer.scrollTo({\r\n left: isMobile ? scrollLeft - 15 : scrollLeft,\r\n behavior: 'smooth',\r\n });\r\n } else {\r\n scrollContainer.scrollTo({\r\n left: isMobile ? -scrollLeft + 15 : -scrollLeft,\r\n behavior: 'smooth',\r\n });\r\n }\r\n\r\n setTimeout(() => {\r\n // Re-enable 'scroll-snap-type' after the scrolling is done\r\n scrollContainer.style.scrollSnapType = 'x mandatory';\r\n }, 300);\r\n\r\n if (!isMobile) setActiveIndex(index);\r\n updatePaginationRange(index);\r\n };\r\n\r\n const nextSlide = () => {\r\n let newIndex;\r\n\r\n if (isArticlePage && !isMobile && activeIndex + 1 >= totalItems) {\r\n newIndex = 0;\r\n } else {\r\n newIndex =\r\n activeIndex < (isThreeSlidesLayout ? totalItems - 3 : totalItems - 1)\r\n ? activeIndex + 1\r\n : activeIndex;\r\n }\r\n\r\n scrollToIndex(newIndex);\r\n };\r\n\r\n const prevSlide = () => {\r\n let newIndex;\r\n\r\n if (isArticlePage && !isMobile && activeIndex === 0) {\r\n newIndex = totalItems - 1;\r\n } else {\r\n newIndex = activeIndex !== 0 ? activeIndex - 1 : 0;\r\n }\r\n\r\n scrollToIndex(newIndex);\r\n };\r\n\r\n useMatomoTrackEventOnChange(\r\n 'Bildspel',\r\n 'Bläddrar',\r\n href || 'novalue',\r\n activeIndex + 1\r\n );\r\n\r\n const dataPrintSidebarTitle = Heading || 'Mediakarusell';\r\n\r\n if (!Translations)\r\n throw new Error(`There is no Translation object for MediaGallery`);\r\n return (\r\n \r\n {Heading && (\r\n \r\n {Heading}\r\n \r\n )}\r\n
    \r\n {!!ShowPagination && (galleryIsScrollable || isMobile) && (\r\n \r\n )}\r\n\r\n
    \r\n
    \r\n \r\n {hasMedia &&\r\n Media.map((media, index) =>\r\n media.BlockTypeName === 'SlideshowImageBlock' ? (\r\n \r\n ) : (\r\n \r\n )\r\n )}\r\n
    \r\n
    \r\n {(galleryIsScrollable || isMobile) && (\r\n
    \r\n (Dir === 'ltr' ? nextSlide() : prevSlide())}\r\n >\r\n \r\n {Dir === 'ltr' ? Translations.next : Translations.previous}\r\n \r\n \r\n (Dir === 'ltr' ? prevSlide() : nextSlide())}\r\n >\r\n \r\n {Dir === 'ltr' ? Translations.previous : Translations.next}\r\n \r\n \r\n
    \r\n )}\r\n
    \r\n\r\n {props.Link && (props.LinkText || props.InternalLinkName) && (\r\n \r\n \r\n {props.LinkText || props.InternalLinkName}\r\n \r\n
    \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default MediaGallery;\r\n","import classNames from 'classnames';\r\nimport { object, string, array } from 'prop-types';\r\nimport React from 'react';\r\nimport LinkButton from '../Buttons/LinkButton';\r\nimport SemanticHeader from '../Chapter/semantic-header';\r\nimport RegionalHighlightTextBlock from '../TextBlock/RegionalHighlightTextBlock';\r\n\r\nconst HighLight = (props) => {\r\n const {\r\n SelectedType,\r\n SelectedIcon,\r\n SelectedBackgroundColor,\r\n Buttons,\r\n Heading,\r\n ContentString,\r\n isMemberOfChapterContainer,\r\n isH3,\r\n RegionalContent,\r\n } = props;\r\n const classes = classNames({\r\n 'c-highlight': true,\r\n [`c-highlight--${SelectedType}`]: SelectedType,\r\n [`c-highlight--${SelectedIcon}`]: SelectedIcon,\r\n [`c-highlight--${SelectedBackgroundColor}`]: SelectedBackgroundColor,\r\n });\r\n\r\n const dataPrintSidebarTitle =\r\n Heading ||\r\n props.CurrentPageProps?.Content?.Translations?.highlightblock ||\r\n '';\r\n return (\r\n \r\n {Heading && (\r\n \r\n {Heading}\r\n \r\n )}\r\n
    {ContentString}
    \r\n\r\n {RegionalContent && (\r\n \r\n )}\r\n\r\n {Buttons && Buttons[0] && (\r\n
    \r\n \r\n {Buttons[1] && (\r\n \r\n )}\r\n
    \r\n )}\r\n \r\n );\r\n};\r\n\r\nHighLight.propTypes = {\r\n SelectedType: string,\r\n SelectedIcon: string,\r\n SelectedBackgroundColor: string,\r\n Buttons: array,\r\n Heading: string,\r\n ContentString: object,\r\n};\r\n\r\nexport default HighLight;\r\n","import React, { Fragment } from 'react';\r\nimport classNames from 'classnames';\r\nimport * as Render from '../Base/Render';\r\nimport ImageBlock from '../ImageBlock';\r\nimport withLazyLoad from '../Containers/withLazyLoad';\r\nimport withSrcSets from '../Containers/withSrcSets';\r\nimport withSensitiveImage from '../Containers/withSensitiveImage';\r\nimport SemanticHeader from './semantic-header';\r\nimport ResponsiveImages from './responsive-images';\r\n\r\nconst ImageBlockLazyLoad = withLazyLoad(\r\n withSrcSets(withSensitiveImage(ImageBlock))\r\n);\r\n\r\nconst View = (props) => (\r\n \r\n {props.Heading && (\r\n \r\n {props.Heading}\r\n \r\n )}\r\n {props.RegionAddition?.ContentAbove && (\r\n \r\n \r\n \r\n )}\r\n {props.Preamble &&

    {props.Preamble}

    }\r\n {props.Image && (\r\n
    \r\n \r\n \r\n \r\n
    \r\n )}\r\n {props.ContentString}\r\n {props.RegionAddition?.ContentBelow && (\r\n \r\n \r\n \r\n )}\r\n
    \r\n);\r\n\r\nexport default View;\r\n","import { useState } from 'react';\r\n\r\nconst ToggleContainer = (props) => {\r\n const [open, setOpen] = useState(props.open);\r\n const [animation, setAnimation] = useState(props.open);\r\n\r\n const toggleHandler = () => {\r\n setOpen(!open);\r\n\r\n animation\r\n ? setAnimation(!animation)\r\n : setTimeout(() => setAnimation(!animation), 100);\r\n };\r\n\r\n const { children } = props;\r\n\r\n return children({\r\n open: open,\r\n toggle: toggleHandler,\r\n animation: animation,\r\n });\r\n};\r\n\r\nexport default ToggleContainer;\r\n","import React from 'react';\r\nconst Heading = ({ children, ...props }) => {\r\n const HeadingLevel = `h${props.level}`;\r\n return {children};\r\n};\r\n\r\nexport default Heading;\r\n","const ResponsiveImages = (props) => {\r\n return (\r\n (props.ImageProperties === 'small-bleed' && {\r\n sizes: '(min-width: 640px) 315px, (min-width: 1024px) 403px, 100vw',\r\n }) ||\r\n (props.ImageProperties === 'mini-bleed' && {\r\n sizes: '(min-width: 640px) 315px, (min-width: 1024px) 193px, 100vw',\r\n }) ||\r\n (props.ImageProperties === 'mini' && {\r\n sizes: '(min-width: 640px) 315px, (min-width: 1024px) 193px, 100vw',\r\n }) ||\r\n (props.ImageProperties === 'mini-reverse' && {\r\n sizes: '(min-width: 640px) 315px, (min-width: 1024px) 193px, 100vw',\r\n }) ||\r\n (props.ImageProperties === 'xsmall-bleed' && {\r\n sizes: '(min-width: 640px) 315px, (min-width: 1024px) 300px, 100vw',\r\n }) ||\r\n (props.ImageProperties === 'xsmall' && {\r\n sizes: '(min-width: 640px) 315px, (min-width: 1024px) 300px, 100vw',\r\n }) ||\r\n (props.ImageProperties === 'xsmall-reverse' && {\r\n sizes: '(min-width: 640px) 315px, (min-width: 1024px) 300px, 100vw',\r\n }) ||\r\n (props.ImageProperties && { sizes: '(min-width: 640px) 652px, 100vw' })\r\n );\r\n};\r\n\r\nexport default ResponsiveImages;\r\n","import React, { useRef, useState, useEffect } from 'react';\r\n\r\nconst Container = (WrappedComponent, offsetTop) => {\r\n const handles = [];\r\n const printHandler = [];\r\n let ticking = false;\r\n const throttleScroll = () => {\r\n ticking =\r\n ticking ||\r\n requestAnimationFrame(() => {\r\n ticking = false;\r\n handles.map((handle) => handle());\r\n });\r\n };\r\n\r\n if (typeof window !== 'undefined') {\r\n window.addEventListener('scroll', throttleScroll, false);\r\n\r\n window.addEventListener('resize', throttleScroll, false);\r\n\r\n const mediaQueryList = window.matchMedia('print');\r\n mediaQueryList.addListener((mql) => {\r\n if (mql.matches) {\r\n printHandler.map((handle) => handle());\r\n }\r\n });\r\n }\r\n return (props) => {\r\n const viewport = useRef();\r\n const [isInViewPort, setIsInViewPort] = useState(false);\r\n const [isViewed, setIsViewed] = useState(false);\r\n const [isBrowserTop, setIsBrowserTop] = useState(false);\r\n const [isBottomBrowserTop, setIsBottomBrowserTop] = useState(null);\r\n const [isInRange, setIsInRange] = useState(false);\r\n\r\n const getBoundingClientRect = () => {\r\n return viewport.current.getBoundingClientRect();\r\n };\r\n\r\n const isComponentInViewPort = () => {\r\n requestAnimationFrame(() => {\r\n if (!viewport.current) return;\r\n\r\n const rect = getBoundingClientRect();\r\n const offset = offsetTop ? offsetTop : 0;\r\n\r\n if (rect.top - (window.innerHeight + offset) <= 0) {\r\n if (!isInViewPort) {\r\n setIsInViewPort(true);\r\n setIsViewed(true);\r\n }\r\n } else {\r\n isInViewPort && setIsInViewPort(false);\r\n }\r\n });\r\n };\r\n\r\n const isComponentBrowserTop = () => {\r\n if (!viewport.current) return;\r\n\r\n const rect = getBoundingClientRect();\r\n if (rect.top < 1) {\r\n !isBrowserTop && setIsBrowserTop(true);\r\n } else {\r\n isBrowserTop && setIsBrowserTop(false);\r\n }\r\n };\r\n\r\n const isComponentBottomBrowserTop = () => {\r\n if (!viewport.current) return;\r\n\r\n const rect = getBoundingClientRect();\r\n if (rect.bottom > 0) {\r\n isBottomBrowserTop === false && setIsBottomBrowserTop(true);\r\n } else {\r\n isBottomBrowserTop !== false && setIsBottomBrowserTop(false);\r\n }\r\n };\r\n\r\n const isComponentWithinRange = () => {\r\n if (!viewport.current) return;\r\n\r\n const rect = getBoundingClientRect();\r\n if (rect.top < 1 && rect.bottom > 0) {\r\n !isInRange && setIsInRange(true);\r\n } else {\r\n isInRange && setIsInRange(false);\r\n }\r\n };\r\n\r\n const isPrinting = () => {\r\n setIsInViewPort(true);\r\n setIsViewed(true);\r\n };\r\n\r\n useEffect(() => {\r\n isComponentInViewPort();\r\n setTimeout(() => {\r\n isComponentInViewPort();\r\n }, 200);\r\n\r\n handles.push(isComponentInViewPort);\r\n handles.push(isComponentBrowserTop);\r\n handles.push(isComponentBottomBrowserTop);\r\n handles.push(isComponentWithinRange);\r\n printHandler.push(isPrinting);\r\n }, [isInRange]);\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n};\r\n\r\nexport default Container;\r\n","import React, { useState } from 'react';\r\n\r\nexport default (WrappedComponent) => {\r\n return (props) => {\r\n const [itemId, setItemId] = useState(null);\r\n\r\n const currentActiveMenuItem = (id) => {\r\n setItemId(id);\r\n };\r\n\r\n return (\r\n currentActiveMenuItem(id)}\r\n />\r\n );\r\n };\r\n};\r\n\r\nexport function equalSectionIdsOnPageLoad(id) {\r\n if (typeof window !== 'undefined') {\r\n return window.location.hash === '#' + id;\r\n }\r\n}\r\n","import React, { useEffect, useState, createRef } from 'react';\r\nimport classNames from 'classnames';\r\nimport Image from '../Image';\r\n\r\nconst TABBABLE_ELEMENTS = 'a[href], button';\r\nconst KEYCODE_ESC = 27;\r\nconst KEYCODE_TAB = 9;\r\n\r\nconst ImageZoom = (props) => {\r\n const zoomImage = createRef();\r\n const zoomTrigger = createRef();\r\n\r\n const [isZoomed, setIsZoomed] = useState(false);\r\n\r\n useEffect(() => {\r\n //Listen for esc key\r\n const keyListener = (event) => {\r\n const keyCode = event.which || event.keyCode; // Get the current keycode\r\n\r\n if (keyCode === KEYCODE_ESC) {\r\n removeZoomClassName();\r\n setIsZoomed(false);\r\n }\r\n };\r\n\r\n document.addEventListener('keydown', keyListener, false);\r\n });\r\n\r\n function keepFocus() {\r\n const context = zoomImage.current;\r\n const allTabbableElements = context.querySelectorAll(TABBABLE_ELEMENTS);\r\n const firstTabbableElement = allTabbableElements[0];\r\n const lastTabbableElement =\r\n allTabbableElements[allTabbableElements.length - 1];\r\n\r\n const keyListener = (event) => {\r\n var keyCode = event.which || event.keyCode; // Get the current keycode\r\n // Polyfill to prevent the default behavior of events\r\n event.preventDefault =\r\n event.preventDefault ||\r\n function () {\r\n event.returnValue = false;\r\n };\r\n\r\n // If it is TAB\r\n if (keyCode === KEYCODE_TAB) {\r\n // Move focus to first element that can be tabbed if Shift isn't used\r\n if (event.target === lastTabbableElement && !event.shiftKey) {\r\n event.preventDefault();\r\n firstTabbableElement.focus();\r\n\r\n // Move focus to last element that can be tabbed if Shift is used\r\n } else if (event.target === firstTabbableElement && event.shiftKey) {\r\n event.preventDefault();\r\n lastTabbableElement.focus();\r\n }\r\n }\r\n };\r\n\r\n context.addEventListener('keydown', keyListener, false);\r\n }\r\n\r\n function removeZoomClassName() {\r\n document.getElementsByTagName('html')[0].classList.remove('is-img-zoom');\r\n }\r\n\r\n function addZoomClassName() {\r\n document.getElementsByTagName('html')[0].classList.add('is-img-zoom');\r\n }\r\n\r\n function handleClick(e) {\r\n e.preventDefault();\r\n //Keep focus within zoom modal\r\n keepFocus();\r\n //Reset focus state\r\n if (isZoomed) {\r\n removeZoomClassName();\r\n zoomTrigger.current.focus();\r\n } else {\r\n addZoomClassName();\r\n zoomImage.current.focus();\r\n }\r\n\r\n setIsZoomed(!isZoomed);\r\n }\r\n\r\n const {\r\n ImageUrl,\r\n Description,\r\n ImageText,\r\n UniqueBlockId,\r\n UseZoom,\r\n ShowCaption,\r\n ShowPhotoCred,\r\n } = props;\r\n\r\n if (!UseZoom) return props.children;\r\n\r\n const zoomClass = classNames({\r\n 'c-imageblock__zoom__overlay': true,\r\n 'c-imageblock__zoom__overlay--zoomed': isZoomed,\r\n });\r\n\r\n return (\r\n
    \r\n handleClick(e)}\r\n aria-controls={UniqueBlockId}\r\n aria-expanded={isZoomed}\r\n href={ImageUrl}\r\n >\r\n {props.children}\r\n Förstora bilden\r\n \r\n\r\n handleClick(e)}\r\n >\r\n e.stopPropagation()}\r\n tabIndex=\"-1\"\r\n className=\"c-imageblock__zoom__image\"\r\n >\r\n {isZoomed && (\r\n
    \r\n
    \r\n {Description}\r\n\r\n {ShowCaption &&\r\n (ImageText ||\r\n (ShowPhotoCred &&\r\n (props.Photographer || props.Illustrator))) && (\r\n
    \r\n {ImageText}\r\n
    \r\n )}\r\n
    \r\n handleClick(e)}\r\n aria-controls={UniqueBlockId}\r\n aria-expanded={isZoomed}\r\n >\r\n Stäng\r\n \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ImageZoom;\r\n","import React, { useState, useEffect } from 'react';\r\nimport classNames from 'classnames';\r\nimport { equalSectionIdsOnPageLoad } from '../Containers/withAnchorNav';\r\nimport { isMediumViewport } from '../Hooks/useMedia';\r\n\r\nconst ToggleChapter = (props) => {\r\n const [isOpen, setIsOpen] = useState(\r\n !isMediumViewport()\r\n ? true\r\n : equalSectionIdsOnPageLoad(props.AnchorSectionId)\r\n );\r\n\r\n useEffect(() => {\r\n if (!equalSectionIdsOnPageLoad(props.AnchorSectionId)) return;\r\n const element = document.getElementById(props.AnchorSectionId);\r\n if (!element) return;\r\n const elementTop = element.getBoundingClientRect().top + window.scrollY;\r\n window.scrollTo({ top: elementTop, behavior: 'smooth' });\r\n }, [props.AnchorSectionId]);\r\n\r\n return (\r\n \r\n {isMediumViewport() ? (\r\n setIsOpen(e.target.open)}\r\n id={props.id}\r\n >\r\n \r\n

    {props.Heading}

    \r\n \r\n
    \r\n {props.children}\r\n \r\n ) : (\r\n props.children\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ToggleChapter;\r\n","import React from 'react';\r\n\r\n//TODO: Get this from config object\r\nconst PRESET_300 = {\r\n name: 'preset_300',\r\n width: '300w',\r\n};\r\nconst PRESET_400 = {\r\n name: 'preset_400',\r\n width: '400w',\r\n};\r\nconst PRESET_500 = {\r\n name: 'preset_500',\r\n width: '500w',\r\n};\r\nconst PRESET_600 = {\r\n name: 'preset_600',\r\n width: '600w',\r\n};\r\nconst PRESET_700 = {\r\n name: 'preset_700',\r\n width: '700w',\r\n};\r\nconst PRESET_800 = {\r\n name: 'preset_800',\r\n width: '800w',\r\n};\r\nconst PRESET_1000 = {\r\n name: 'preset_1000',\r\n width: '1000w',\r\n};\r\nconst PRESET_1200 = {\r\n name: 'preset_1200',\r\n width: '1200w',\r\n};\r\nconst PRESET_1500 = {\r\n name: 'preset_1500',\r\n width: '1500w',\r\n};\r\nconst PRESET_1800 = {\r\n name: 'preset_1800',\r\n width: '1800w',\r\n};\r\nconst PRESET_2000 = {\r\n name: 'preset_2000',\r\n width: '2000w',\r\n};\r\nconst PRESET_2200 = {\r\n name: 'preset_2200',\r\n width: '2200w',\r\n};\r\nconst PRESET_2500 = {\r\n name: 'preset_2500',\r\n width: '2500w',\r\n};\r\n\r\nexport default (WrappedComponent) => {\r\n const SrcSets = (props) => {\r\n const imgIsTouched = () => {\r\n return props.ImageUrl && props.ImageUrl.indexOf('?') > 0;\r\n };\r\n\r\n const defaultPreset = () => {\r\n if (!props.DefaultPreset) return props.ImageUrl;\r\n const paramOrQuery = imgIsTouched() ? '&' : '?';\r\n return `${props.ImageUrl}${paramOrQuery}preset=${props.DefaultPreset.name}`;\r\n };\r\n\r\n const paramOrQuery = imgIsTouched() ? '&' : '?';\r\n\r\n const srcSets =\r\n props.isViewed !== false\r\n ? `${props.ImageUrl}${paramOrQuery}preset=${PRESET_300.name} ${PRESET_300.width},\r\n ${props.ImageUrl}${paramOrQuery}preset=${PRESET_400.name} ${PRESET_400.width},\r\n ${props.ImageUrl}${paramOrQuery}preset=${PRESET_500.name} ${PRESET_500.width},\r\n ${props.ImageUrl}${paramOrQuery}preset=${PRESET_600.name} ${PRESET_600.width},\r\n ${props.ImageUrl}${paramOrQuery}preset=${PRESET_700.name} ${PRESET_700.width},\r\n ${props.ImageUrl}${paramOrQuery}preset=${PRESET_800.name} ${PRESET_800.width},\r\n ${props.ImageUrl}${paramOrQuery}preset=${PRESET_1000.name} ${PRESET_1000.width},\r\n ${props.ImageUrl}${paramOrQuery}preset=${PRESET_1200.name} ${PRESET_1200.width},\r\n ${props.ImageUrl}${paramOrQuery}preset=${PRESET_1500.name} ${PRESET_1500.width},\r\n ${props.ImageUrl}${paramOrQuery}preset=${PRESET_1800.name} ${PRESET_1800.width},\r\n ${props.ImageUrl}${paramOrQuery}preset=${PRESET_2000.name} ${PRESET_2000.width},\r\n ${props.ImageUrl}${paramOrQuery}preset=${PRESET_2200.name} ${PRESET_2200.width},\r\n ${props.ImageUrl}${paramOrQuery}preset=${PRESET_2500.name} ${PRESET_2500.width}`\r\n : null;\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n return SrcSets;\r\n};\r\n","import React from 'react';\r\nimport withSensitiveImage from '../../Containers/withSensitiveImage';\r\nimport withSrcSets from '../../Containers/withSrcSets';\r\nimport ImageBlock from '../../ImageBlock';\r\nimport MediaGalleryContent from './content';\r\n\r\nconst MediaGalleryImage = (props) => {\r\n const {\r\n activeIndex,\r\n index,\r\n pageProps,\r\n counter,\r\n numberOfItems,\r\n ImageHeading,\r\n ImageText,\r\n ImageLinks,\r\n isStanding,\r\n slideWidth,\r\n showAuthor,\r\n translations,\r\n isArticlePage,\r\n isMobile,\r\n alwaysShowCurrentImage,\r\n } = props;\r\n const ImageBlockWithSrcSets = withSrcSets(withSensitiveImage(ImageBlock));\r\n\r\n const forciblyShowCurrentCount =\r\n (alwaysShowCurrentImage && !isMobile) ||\r\n (activeIndex === index && isMobile);\r\n\r\n return (\r\n \r\n \r\n {counter} {activeIndex + 1}\r\n \r\n\r\n
    \r\n \r\n \r\n \r\n {alwaysShowCurrentImage ? index + 1 : activeIndex + 1}/\r\n {numberOfItems}\r\n \r\n
    \r\n \r\n {(ImageHeading || ImageText || ImageLinks) && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default MediaGalleryImage;\r\n","import PropTypes from 'prop-types';\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport useArrowNavigation from '../Hooks/useArrowNavigation';\r\nimport TypeaheadInput from './input';\r\nimport { filterTypeaheadItems, normalizeTypeaheadItems } from './utils';\r\nconst lodashUtil = require('lodash/util');\r\n\r\n/**\r\n * @param {Array} items - An array of items to display in the dropdown.\r\n * Each item should be an object with the following properties:\r\n * - `value` (string, required): The value of the item.\r\n * - `label` (string, required): The label to display for the item.\r\n * - `category` (string, optional): The optional category for the item.\r\n *\r\n * @param {Function} onSelect - Function called when an item is selected.\r\n * @param {boolean} [openOnFocus=true] - If true, the dropdown opens when the input is focused, otherwise it opens when the user starts typing.\r\n * @param {string} [label] - The label for the input field.\r\n * @param {string} [placeholderText] - Placeholder inside of the input field.\r\n *\r\n * @param {string} [tooltipTitle] - The heading displayed in the tooltip.\r\n * @param {string} [tooltipText] - The text displayed inside of the tooltip.\r\n * @param {string} [tooltipLinkText] - The link-text displayed next to the label.\r\n * @param {bool} [shouldSearchCategories] - Whether the categories should be included in the search or not\r\n * @param {string} [defaultValue] - The default value to be selected in the typeahead.\r\n */\r\nconst Typeahead = ({\r\n items,\r\n onSelect,\r\n openOnFocus = true,\r\n label,\r\n placeholderText,\r\n tooltipText,\r\n tooltipLinkText,\r\n translations,\r\n inputRef,\r\n rightAlignedTooltip,\r\n shouldSearchCategories = false,\r\n defaultValue = '',\r\n}) => {\r\n const [query, setQuery] = useState('');\r\n const [allItems, setAllItems] = useState([]);\r\n const [filteredItems, setFilteredItems] = useState([]);\r\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\r\n const [isTooltipVisible, setIsTooltipVisible] = useState(false);\r\n const localInputRef = useRef(null);\r\n const ref = inputRef || localInputRef;\r\n const uniqueId = useRef(lodashUtil.uniqueId('typeahead-input-')).current;\r\n\r\n const flattenedListItems = filteredItems.flatMap(\r\n (category) => category.items\r\n );\r\n\r\n const maxIndex = flattenedListItems.length - 1;\r\n\r\n const getItemByIndex = (index) => flattenedListItems[index];\r\n\r\n const { highlightedIndex, resetIndex, handleKeyDown } = useArrowNavigation(\r\n maxIndex,\r\n {\r\n isOpen: isDropdownOpen,\r\n onItemSelect: (item) => {\r\n setQuery(item.label);\r\n setIsDropdownOpen(false);\r\n resetIndex();\r\n onSelect && onSelect(item);\r\n },\r\n onClose: () => {\r\n setIsDropdownOpen(false);\r\n resetIndex();\r\n },\r\n getItemByIndex,\r\n }\r\n );\r\n\r\n const highlightedItemValue = flattenedListItems[highlightedIndex]?.value;\r\n\r\n const handleInputChange = (e) => {\r\n const value = e.target.value;\r\n setQuery(value);\r\n\r\n const newFilteredItems = filterTypeaheadItems(\r\n allItems,\r\n value,\r\n shouldSearchCategories\r\n );\r\n setFilteredItems(newFilteredItems);\r\n setIsDropdownOpen(true);\r\n resetIndex();\r\n };\r\n\r\n const handleInputFocus = () => {\r\n if (openOnFocus || (!openOnFocus && query.length >= 1)) {\r\n ref?.current.focus();\r\n setIsDropdownOpen(true);\r\n setFilteredItems(allItems);\r\n }\r\n };\r\n\r\n const handleItemClick = (item) => {\r\n setQuery(item.label);\r\n setIsDropdownOpen(false);\r\n resetIndex();\r\n onSelect && onSelect(item);\r\n };\r\n\r\n const handleTooltipClick = () => {\r\n setIsTooltipVisible(!isTooltipVisible);\r\n };\r\n\r\n const handleOnBlur = (e) => {\r\n e.preventDefault();\r\n setIsDropdownOpen(false);\r\n };\r\n\r\n useEffect(() => {\r\n const normalizedItems = normalizeTypeaheadItems(items);\r\n setAllItems(normalizedItems);\r\n setFilteredItems(normalizedItems);\r\n }, [items]);\r\n\r\n useEffect(() => {\r\n if (defaultValue) {\r\n const selectedItem = allItems\r\n .flatMap((category) => category.items)\r\n .find((item) => item.value === defaultValue);\r\n if (selectedItem) {\r\n setQuery(selectedItem.label);\r\n }\r\n }\r\n }, [defaultValue, allItems]);\r\n\r\n return items && items.length > 0 ? (\r\n \r\n ) : null;\r\n};\r\n\r\nTypeahead.propTypes = {\r\n items: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n value: PropTypes.string.isRequired,\r\n label: PropTypes.string.isRequired,\r\n category: PropTypes.string,\r\n })\r\n ).isRequired,\r\n onSelect: PropTypes.func,\r\n openOnFocus: PropTypes.bool,\r\n label: PropTypes.string,\r\n placeholderText: PropTypes.string,\r\n tooltipText: PropTypes.string,\r\n tooltipLinkText: PropTypes.string,\r\n defaultValue: PropTypes.string,\r\n};\r\n\r\nexport default Typeahead;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst IDSDescriptionList = ({ list, useColumnView }) => {\r\n if (!list || list.length <= 0) {\r\n return null;\r\n }\r\n\r\n const useClasses = classNames({\r\n 'ids-description-list': true,\r\n ['ids-description-list--column']: useColumnView,\r\n });\r\n\r\n return (\r\n
    \r\n {list.map((item, index) => {\r\n return ;\r\n })}\r\n
    \r\n );\r\n};\r\n\r\nconst Row = ({ rowItem }) => {\r\n if (!rowItem) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n
    {rowItem?.Term}
    \r\n
    \r\n {rowItem?.DescriptionItems.map((descItem, index) => (\r\n \r\n {descItem}\r\n \r\n ))}\r\n
    \r\n \r\n );\r\n};\r\n\r\nIDSDescriptionList.propTypes = {\r\n list: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n Term: PropTypes.string,\r\n DescriptionItems: PropTypes.arrayOf(PropTypes.string),\r\n })\r\n ),\r\n useColumnView: PropTypes.bool,\r\n};\r\n\r\nexport default IDSDescriptionList;\r\n","import React from 'react';\r\nimport classnames from 'classnames';\r\nimport { shape, arrayOf, string, object } from 'prop-types';\r\n\r\nexport const renderTimeListItem =\r\n ({ baseClassName }) =>\r\n (item, index) =>\r\n (\r\n
  • \r\n {item.days && (\r\n \r\n {item.days}\r\n \r\n )}\r\n {item.hours && (\r\n \r\n {item.hours}\r\n \r\n )}\r\n
  • \r\n );\r\n\r\nconst TimeList = (props) => {\r\n const { heading, items, baseClassName, modifiers, renderEmptyFallback } =\r\n props;\r\n const className = classnames(`${baseClassName}__container`, {\r\n ...modifiers,\r\n });\r\n if ((!items || items.length === 0) && renderEmptyFallback === null) {\r\n return null;\r\n }\r\n return (\r\n
    \r\n {heading &&
    {heading}
    }\r\n {renderEmptyFallback &&

    {renderEmptyFallback}

    }\r\n
      {items.map(renderTimeListItem(props))}
    \r\n
    \r\n );\r\n};\r\n\r\nTimeList.defaultProps = {\r\n renderEmptyFallback: null,\r\n baseClassName: 'time-list',\r\n modifiers: {},\r\n};\r\n\r\nexport const propTypes = {\r\n /** classnames compatible object */\r\n modifiers: object,\r\n heading: string,\r\n baseClass: string,\r\n /** Will not render if items list is empty or undefined */\r\n items: arrayOf(\r\n shape({\r\n days: string.isRequired,\r\n hours: string.isRequired,\r\n })\r\n ),\r\n};\r\n\r\nTimeList.propTypes = propTypes;\r\n\r\nexport const getTimeListItems = (dayProp, hourProp) => (o) => ({\r\n days: o[dayProp],\r\n hours: o[hourProp],\r\n});\r\n\r\nexport default TimeList;\r\n"],"names":["node","props","_jsxs","className","children","FirstName","LastName","Title","Workplace","City","_ref","ShareChannels","Translations","PrintsideBarEnabled","href","useWindowLocationHref","_jsx","share","map","item","key","shareChannelClass","classNames","Channel","copylink","type","title","onClick","navigator","clipboard","writeText","ShareURL","tipafriend","window","location","PrintSidebar","print","charsLeft","setCharsLeft","useState","maxLength","value","length","textarea","useRef","getCharsLeft","current","useEffect","classes","removeFocus","disabled","onBlur","error","maxLengthTranslation","name","rest","charsClasses","ref","defaultValue","getAriaDescribedBy","id","e","onKeyUp","Image","Heading","Url","Date","Text","infoType","InformationType","classnames","Boolean","LazyLoadImage","ImageUrl","isBackgroundImage","DefaultPreset","Sizes","sizes","Vignette","FormatDateTime","date","HeadingElement","level","isMemberOfChapterContainer","_props$CurrentPagePro","_props$CurrentPagePro2","_props$CurrentPagePro3","ao","ActivateDigitGrouping","unshift","dataPrintSidebarTitle","CurrentPageProps","Content","aolistblock","AOList","alphabet","compare","listitem","Items","find","x","Key","toLowerCase","UniqueBlockId","list","WrappedComponent","handles","ticking","throttleScroll","requestAnimationFrame","handle","addEventListener","isWithinTrac","setIsWithinTrac","isTrackBottom","setIsTrackBottom","nodeRef","getBoundingClientRect","getParentNode","_nodeRef$current","parentNode","isComponentWithinTrack","parentRect","comp","getFirstChild","_nodeRef$current2","firstChild","trackBottom","pageYOffset","top","height","push","COOKIE_NAME","isLoading","setIsLoading","cookieContext","useContext","CookieContext","cookieData","cookies","hideSensitiveImage","Cookies","IsSensitiveInContext","IsEditMode","handleShowSensitiveImages","isAllowed","setTimeout","reload","showSensitiveImageIsLoading","Checkbox","propTypes","context","createContext","Provider","Consumer","OpenModalButton","clickCallback","fullScreen","tabIndex","ariaLabel","_ref2","changeModal","activeModalId","undefined","document","body","classList","add","clickHandler","CloseModalButton","_ref3","_ref4","closeModal","autoFocus","ModalPanelInner","withKeepTabFocus","_ref5","React","ModalPanel","_ref6","whenActive","hideWithCss","_ref7","Modal","setActiveModalId","fullScreenModal","noScroll","contains","remove","querySelector","focus","escCloseHandler","keyCode","preventDefault","handleClick","target","removeEventListener","newModalId","defaultProps","SearchResult","SearchHits","Fragment","index","Item","Button","isSidebarOpen","setSidebarOpen","checkedItems","setCheckedItems","selectedRadio","setSelectedRadio","printableItems","setPrintableItems","printableChildren","setPrintableChildren","printClicked","setPrintClicked","sidebarRef","sidebarToggleButtonRef","elementsRef","handleClickOutside","event","mainElement","elements","querySelectorAll","heading","imgblockMediaSliderChildren","Array","from","filter","nodeName","figures","includes","chapterContainerChildren","getAttribute","chapterChildren","links","dataset","linklist","offsetParent","hasAttribute","removedContainerChildren","handlePrintSelection","handleRadioChange","mediaType","linkListContainer","chapterContainer","chapter","listOfImgElement","isMediaSlider","isLinkListContainer","isChapterContainer","isChapter","listOfElementblockchapter","listOfElementblock","listOfElement","prevItems","newItemsList","Set","filteredItems","i","_item$offsetParent","togglePrintSidebar","getPrintSelectionTitle","dataPrintSidebarTitleRegion","words","split","slice","join","innerText","_Fragment","role","printsidebartitle","printsidebarclose","printsidebarselectiontitle","printsidebarselectionparts","selected","printsidebarselectionwholepage","printsidebarselectionwhatparts","content","dangerouslySetInnerHTML","__html","stripHtml","checked","printbuttonwholepage","printbuttonparts","PrintIframe","SelectedRadio","PrintableItems","CheckedItems","SetPrintClicked","Label","data","label","Value","ValueLink","AccessibilityUrl","url","text","FindUs","Card","isSmall","isSmallViewport","wrapperClasses","Location","latitude","longitude","mapGrid","biggermaptravelplanner","StaticMapUrl","src","alt","addressGrid","Address","visitoraddress","County","county","Municipality","PostalAddress","postaladdress","WebsiteUrl","websiteurl","accessibilityurl","AccessibilityUrlText","ToggleContainer","open","toggle","IndoorRouteDescription","RoadDescription","ExpandableButton","buttonClass","iconClass","buttonText","hideroutedescription","showroutedescription","buttonId","textClass","visible","roaddescription","outdoorroutedescription","description","indoorroutedescription","bool","string","formatDate","year","month","day","options","toString","toLocaleDateString","toUpperCase","dateTime","toISOString","libraries","Component","constructor","arguments","shouldLoadMapsApi","google","state","googleMapsAPIIsLoading","isError","componentDidMount","pwtMapsIsReady","this","setState","bind","mapApiKey","loadScript","render","iframeRef","async","prepareContent","_printItems$map$join","_printItems","doc","contentDocument","contentWindow","printItems","styleContent","style","outerHTML","headerMainDiv","headerMainHTML","regionLabel","regionLabelHTML","updatedOuterHTML","replace","write","forEach","element","close","initializeIframe","display","backgroundColor","width","position","left","zIndex","onLoad","handleLoad","EntryFormSearchField","handleKeyDown","handleChange","handleBlur","initialValue","placeholder","setValue","onKeyDown","onChange","TeaserItemLinkList","contentClassNames","Media","teaserContainsImage","ShowVideoPlayIcon","Render","blocks","propertyName","currentPageProps","dir","Dir","TitleTranslation","lang","useSweLang","Lang","Preamble","Linklist","Modifiers","TeaserItemLink","horizontalDirection","teaserHeadingLink","teaserClasses","ListChildren","masonryLayout","IsListOfChildren","listStyle","row","toggleBrickView","WrapperModifiers","BlockTypeName","Design","ArticleList","numOfItems","blockName","pageName","PageTypeName","use1177ProfessionDesign","FeatureToggleSettings","Use1177ProfessionDesign","cypressValues","Teaser","_props$Translations","modifiers","SectionModifiers","setToggleBrickView","ShowListView","showListViewToggler","UseListToggler","sectionHeader","Section","currentarticles","ListViewToggler","Language","translations","shape","arrayOf","PropTypes","withRouter","qs","TypeExists","queryString","search","ignoreQueryPrefix","default","t","Appearance","PropertyName","searchHits","HideDescriptions","HideImages","isH3","ItemList","isOpen","setIsOpen","matchMedia","matches","handleToggle","Tabs","Id","q","currentTab","tabs","tab","tabQ","Name","tabsClasses","isFocus","setIsFocus","component","classNameModifiers","isValid","isTouched","errorType","errorMessages","ErrorComponent","Error","Input","onFocus","Textarea","Select","FirstColumn","contentDirection","columns","SecondColumn","ArticleFooterContent","ArticleFooter","RoleGroups","FooterHasCollapsibleRoleGroups","CollapsiblePanel","DefaultCollapsed","showworkgroup","RoleItem","Persons","person","Person","ArticleFooterReviewDate","LastReview","ArticleFooterPublishDate","PublishDate","ArticleFooterApprovedDate","ApprovedDate","ArticleFooterApprovedBy","ApprovedBy","isRegional","RegionalName","cssClasses","articlefooter","Region","RegionalArticleFooter","revisiondate","publishdate","approved","approvedDate","approvedby","approvedBy","Organizations","InformationText","link","linkText","altLinkText","customClass","sectionClasses","IsInRange","handleLetterChange","letter","isInRange","ImageDescription","ImageText","ShowCaption","ShowPhotoCred","UseZoom","btnClasses","imageblock","isMemberOfChapter","sensetiveheading","SensitiveImageLoadingIcon","showsensetiveimages","ImageZoom","Description","Alt","Photographer","Illustrator","photographer","illustrator","_props$regionalName","createRef","ContentString","table","parent","indexOf","wrapper","createElement","tableWrapper","wrapperInner","innerTableWrapper","tableClasses","insertBefore","appendChild","wrapTables","wideTable","offsetWidth","scrollWidth","fitInWidth","hasInlineImage","ImageProperties","regionalName","AnchorSectionId","noToggle","HideAnchorNavigation","HideAnchorLink","View","ToggleChapter","isVisible","handleVisible","handleToolsVisibility","getElementById","offsetHeight","addToolComponent","_props$list$","activeLetter","setActiveLetter","hash","substring","Navigation","List","controlsElementId","attr","withToolbarButtonList","ReadingAid","ButtonSVG","toggleButtonClasses","EnableReadingAid","onKeyPress","listen","ReadingAidPanel","SearchArticleList","_props$Description","isLazyLoaded","isLazyLoad","LazyLoadImageUrl","ariaHidden","currentSrc","backgroundImage","SrcSets","srcSet","attributes","isViewed","includeTracking","handleOnLoad","withSrcSets","withLazyLoad","LanguagePanel","languagePanelClasses","languagePanelInner","Link","languages","Radio","buttonClasses","LinkUrl","LinkText","SplitColumns","columnClasses","getColumnClasses","teaserTheme","Theme","headerClasses","rowSplit","splitColumns","setPreset","activeIndex","numberOfItems","counter","VideoText","slideWidth","isMobile","alwaysShowCurrentImage","forciblyShowCurrentCount","Video","isGallery","visibility","logError","Map","BASE_CLASS","mapElement","isMarkersLoading","initialBoundsSet","listeners","googleAPI","markers","markerCluster","addListeners","setInitialBounds","afterMapInit","getSizedIcon","markerOptions","icon","scaledSize","maps","Size","createClusters","clusterMarkerIcons","onClusterClick","MarkerClusterer","batchSize","styles","clusterClass","zoomOnClick","sizedIcon","addListener","cluster","getMarkers","m","setIcon","Promise","resolve","reject","eventListeners","Object","entries","fn","o","listener","api","removeListeners","removeListener","removeMarkers","marker","setMap","clearMarkers","createMarkers","locations","batchIteration","processMarkerData","bounds","onMarkerClick","LatLngBounds","batchedLocations","splice","shouldFitBounds","initialBounds","Locations","disableFitBounds","setCenter","getCenter","fitBounds","callIfFunction","afterFitBounds","sizedicon","locationData","Latitude","Longitude","createMarker","LatLng","extend","getPosition","Marker","lat","lng","componentWillUnmount","initMap","zoom","center","streetViewControl","mapTypeControl","onMapInit","UNSAFE_componentWillReceiveProps","nextProps","onGoogleAPILoad","then","catch","markersPerIteration","locationsCopy","useClusters","markerData","ne","initialNE","sw","initialSW","log","componentClass","mapClass","withGoogleMapsAPI","offset","viewport","setIsInrange","isComponentWithinRange","rect","bottom","_error$props","Track","Anchors","matched","scrollIt","showcontentas","showasbricks","showaslist","itemsPerPage","keepPreviousPages","currentPage","setCurrentPage","maxPage","Math","ceil","next","min","prev","max","jump","page","pageNumber","currentData","begin","end","totalSlides","currentSlide","visibleRange","hasGroupedDots","calculateDotSize","distance","abs","_","PI","method","autoComplete","action","SearchUrl","htmlFor","DefaultFacet","SearchPlaceholder","searchbutton","collapsibleContentInner","collapsibleContent","isExpanded","setIsExpanded","extendsContent","clientHeight","buttonReadLessText","buttonReadMoreText","hideCollapsibleText","buttonChildren","Viewport","setIsLazyLoaded","setCurrentSrc","paramOrQuery","presetLowResUrl","imageUrl","img","currentTarget","showAuthor","marginBottom","Href","prefix","eventCategory","eventAction","eventName","eventValue","debounceTime","timeoutRef","eventValueUnchanged","clearTimeout","_window","_window$_paq","_paq","useBackgroundImage","useIconLink","ImageBlockWithSrcSet","withSensitiveImage","ImageBlock","introClasses","ArticleHeader","HeadingTranslation","DescriptionListItem","number","SemanticHeader","isH4","_props$List","count","ShowNumber","_createElement","Intro","keepTab","escKeyListener","which","closeHandler","keyListener","shiftKey","tabbableElements","firstTabbableElement","lastTabbableElement","_regionalContent$","regionalContent","translation","langLabel","CurrentRegionName","some","Badge","block","ShowPagination","totalItems","hasMedia","media","containsMedia","isMediumViewport","isArticlePage","isThreeSlidesLayout","isFullWidthLayout","galleryIsScrollable","alwaysShowCurrentImageIndicator","scrollContainerRef","setActiveIndex","visiblePaginationRange","setVisiblePaginationRange","updatePaginationRange","newSlide","newStart","floor","maxVisiblePaginationDots","newEnd","scrollContainer","handleScroll","scrollLeft","containerWidth","clientWidth","itemWidth","newIndex","maxScrollLeft","round","scrollToIndex","scrollSnapType","scrollTo","behavior","nextSlide","prevSlide","useMatomoTrackEventOnChange","MediaGalleryPagination","MediaGalleryImage","pageProps","isStanding","IsStandingImage","ShowAuthor","MediaGalleryVideo","previous","InternalLinkName","_props$CurrentPagePro4","_props$CurrentPagePro5","_props$CurrentPagePro6","SelectedType","SelectedIcon","SelectedBackgroundColor","Buttons","RegionalContent","highlightblock","RegionalHighlightTextBlock","regionlabel","LinkButton","ButtonLink","ButtonText","ButtonStyling","ImageBlockLazyLoad","_props$RegionAddition","_props$RegionAddition2","StoryPageHeading","RegionAddition","ContentAbove","Blocks","ResponsiveImages","ContentBelow","setOpen","animation","setAnimation","toggleHandler","HeadingLevel","Container","offsetTop","printHandler","mql","isInViewPort","setIsInViewPort","setIsViewed","isBrowserTop","setIsBrowserTop","isBottomBrowserTop","setIsBottomBrowserTop","setIsInRange","isComponentInViewPort","innerHeight","isComponentBrowserTop","isComponentBottomBrowserTop","isPrinting","itemId","setItemId","currentActiveId","currentActiveMenuItem","equalSectionIdsOnPageLoad","zoomImage","zoomTrigger","isZoomed","setIsZoomed","removeZoomClassName","getElementsByTagName","allTabbableElements","returnValue","keepFocus","zoomClass","stopPropagation","elementTop","scrollY","onToggle","PRESET_300","PRESET_400","PRESET_500","PRESET_600","PRESET_700","PRESET_800","PRESET_1000","PRESET_1200","PRESET_1500","PRESET_1800","PRESET_2000","PRESET_2200","PRESET_2500","imgIsTouched","srcSets","isSrcSets","defaultPreset","ImageHeading","ImageLinks","ImageBlockWithSrcSets","MediaGalleryContent","require","Row","rowItem","Term","DescriptionItems","descItem","useColumnView","useClasses","renderTimeListItem","baseClassName","days","hours","TimeList","items","renderEmptyFallback","object","isRequired"],"sourceRoot":""}