{"version":3,"file":"static/js/19.f94111c2.chunk.js","mappings":"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","sources":["components/anchornav-horizontal/index.js","pages/collection/index.js","platformui/AnchorNavHorizontal/index.js","platformui/Matomo/matomo-track-data-attribute.js","platformui/Matomo/matomo-track-dimensions.js","platformui/Matomo/matomo-track-media-analytics.js","platformui/Pages/collection/index.js"],"sourcesContent":["import React from 'react';\r\nimport AnchorNavHorizontal from '../../platformui/AnchorNavHorizontal';\r\nimport { node, string, arrayOf, shape } from 'prop-types';\r\n\r\nexport default ({\r\n Links,\r\n anchorHeading,\r\n currentActiveId,\r\n currentTop,\r\n items,\r\n translations,\r\n}) => {\r\n return (\r\n <AnchorNavHorizontal\r\n Links={Links}\r\n anchorHeading={anchorHeading}\r\n currentActiveId={currentActiveId}\r\n currentTop={currentTop}\r\n items={items}\r\n translations={translations}\r\n />\r\n );\r\n};\r\n\r\nAnchorNavHorizontal.propTypes = {\r\n currentActiveId: string,\r\n anchorHeading: string,\r\n currentTop: node,\r\n Links: arrayOf(\r\n shape({\r\n Id: string,\r\n Name: node,\r\n })\r\n ),\r\n items: arrayOf(\r\n shape({\r\n Id: string,\r\n Name: node,\r\n })\r\n ),\r\n translations: shape({\r\n anchorheading: string,\r\n anchorheadingmobile: string,\r\n })\r\n};\r\n","import React from 'react';\r\nimport * as Blocks from '../../blocks';\r\nimport AnchorNavHorizontal from '../../components/anchornav-horizontal';\r\nimport * as Render from '../../platformui/Base/Render';\r\nimport withAnchorNav from '../../platformui/Containers/withAnchorNav';\r\nimport CollectionPage from '../../platformui/Pages/collection';\r\nimport MatomoTrackDataAttribute from '../../platformui/Matomo/matomo-track-data-attribute';\r\nimport MatomoTrackMediaAnalytics from '../../platformui/Matomo/matomo-track-media-analytics';\r\nimport MatomoTrackDimensions from '../../platformui/Matomo/matomo-track-dimensions';\r\n\r\nconst blockTypes = <Render.BlockTypeRenderer Blocks={Blocks} />;\r\n\r\nconst CollectionPage1177 = (props) => {\r\n const anchorNavLinks =\r\n props.Content.MainContent?.filter(\r\n (c) => !c.HideAnchorLink && c.AnchorSectionId && c.Heading\r\n ).map((c) => ({\r\n Id: c.AnchorSectionId,\r\n Name: c.Heading,\r\n })) || null;\r\n\r\n const isValidActiveId = anchorNavLinks?.some(\r\n (link) => link.Id === props.currentActiveId\r\n );\r\n\r\n return (\r\n <>\r\n <CollectionPage\r\n {...props}\r\n Modifiers={{\r\n 'medium-centered': true,\r\n 'large-uncentered': true,\r\n }}\r\n BlockTypeRenderer={blockTypes}\r\n HorizontalAnchorNavigation={\r\n props.Content.ShowOnPageNavigation && (\r\n <AnchorNavHorizontal\r\n Links={anchorNavLinks}\r\n currentActiveMenuItem={(id) => props.currentActiveMenuItem(id)}\r\n currentActiveId={isValidActiveId ? props.currentActiveId : ''}\r\n translations={props.Content?.Translations}\r\n />\r\n )\r\n }\r\n />\r\n <MatomoTrackDimensions\r\n Region={props?.Regionalization?.CurrentRegionName}\r\n />\r\n <MatomoTrackMediaAnalytics />\r\n <MatomoTrackDataAttribute />\r\n </>\r\n );\r\n};\r\n\r\nexport default withAnchorNav(CollectionPage1177);\r\n","import classNames from 'classnames';\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport scrollIt from '../Base/Scroll';\r\nimport { debounce } from '../Helpers/helpers.js';\r\nimport { isMediumViewport } from '../Hooks/useMedia';\r\nimport useWindowLocationHref from '../Hooks/useWindowLocation';\r\n\r\nconst AnchorNavHorizontal = ({\r\n Links,\r\n currentActiveId,\r\n currentActiveMenuItem,\r\n translations,\r\n}) => {\r\n const href = useWindowLocationHref();\r\n const isMobile = isMediumViewport();\r\n const [isFixed, setFixed] = useState(false);\r\n const [isExpanded, setExpandedMenu] = useState(false);\r\n\r\n const [lastActiveSectionID, setLastActiveSectionID] = useState('');\r\n const lastSectionRef = useRef({ id: '', offsetTop: 0, offsetHeight: 0 });\r\n\r\n const setExpandedMobileMenu = () => {\r\n if (isMobile) {\r\n setExpandedMenu(!isExpanded);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const handleScroll = () => {\r\n const element = document.querySelector('.horizontal-anchor-nav');\r\n if (element && element.getBoundingClientRect().bottom <= 80) {\r\n setFixed(true);\r\n } else {\r\n setFixed(false);\r\n setExpandedMenu(false);\r\n }\r\n };\r\n\r\n window.addEventListener('scroll', handleScroll);\r\n\r\n return () => {\r\n window.removeEventListener('scroll', handleScroll);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (currentActiveId && currentActiveId !== lastActiveSectionID) {\r\n setLastActiveSectionID(currentActiveId);\r\n }\r\n }, [currentActiveId]);\r\n\r\n useEffect(() => {\r\n if (lastActiveSectionID) {\r\n const sectionElement = document.getElementById(lastActiveSectionID);\r\n\r\n if (!sectionElement) return;\r\n\r\n lastSectionRef.current = {\r\n id: lastActiveSectionID,\r\n offsetTop: sectionElement.offsetTop,\r\n offsetHeight: sectionElement.offsetHeight,\r\n };\r\n }\r\n }, [lastActiveSectionID]);\r\n\r\n useEffect(() => {\r\n const resetActiveSectionOnScroll = debounce(() => {\r\n if (!lastSectionRef.current) return;\r\n\r\n const { offsetTop, offsetHeight } = lastSectionRef.current;\r\n const scrollPosition = window.scrollY;\r\n const scrollOffset = 200;\r\n const upperBoundary = offsetTop - scrollOffset;\r\n const lowerBoundary = offsetTop + offsetHeight + scrollOffset;\r\n\r\n const scrolledOutsideActiveSection =\r\n scrollPosition < upperBoundary || scrollPosition > lowerBoundary;\r\n\r\n if (scrolledOutsideActiveSection) {\r\n setLastActiveSectionID('');\r\n }\r\n }, 100);\r\n\r\n window.addEventListener('scroll', resetActiveSectionOnScroll);\r\n return () => {\r\n window.removeEventListener('scroll', resetActiveSectionOnScroll);\r\n };\r\n }, [lastActiveSectionID]);\r\n\r\n return (\r\n <div className=\"horizontal-anchor-nav\">\r\n <nav className=\"horizontal-anchor-nav__navigation\" aria-hidden={isFixed}>\r\n <ul className=\"horizontal-anchor-nav__list\">\r\n {Links &&\r\n Links.map((item, key) => {\r\n return (\r\n item.Id &&\r\n item.Name && (\r\n <li key={key}>\r\n <a\r\n data-event-category={href || 'novalue'}\r\n data-event-action={item.Name}\r\n data-event-name=\"Horisontell Ankarlänk\"\r\n className={classNames({\r\n 'horizontal-anchor-nav__list__link': true,\r\n 'horizontal-anchor-nav__list__link--is-selected':\r\n lastActiveSectionID === item.Id,\r\n })}\r\n onClick={() => {\r\n setLastActiveSectionID(item.Id);\r\n scrollIt(\r\n document.getElementById(`${item.Id}`),\r\n 300,\r\n 'easeOutQuad',\r\n () => {\r\n if (typeof currentActiveMenuItem === 'function') {\r\n currentActiveMenuItem(item.Id);\r\n }\r\n },\r\n 64\r\n ),\r\n setExpandedMobileMenu(!isExpanded);\r\n }}\r\n href={`#${item.Id}`}\r\n >\r\n <span data-event-include>{item.Name}</span>\r\n </a>\r\n </li>\r\n )\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n {/* This is a duplicated navigation only shown when navigation is fixed. \r\n The navigation above needs to always be there to avoid 'jumping' document. \r\n However the above navigation is set to 'aria-hidden=true' when not visible, so screen readers won't be affected */}\r\n {isFixed && (\r\n <nav className=\"horizontal-anchor-nav__navigation--is-fixed\">\r\n <button\r\n className=\"horizontal-anchor-nav__mobile-expand\"\r\n onClick={() => setExpandedMobileMenu(!isExpanded)}\r\n aria-label={translations?.anchorheadingmobile}\r\n >\r\n {translations?.anchorheadingmobile}{' '}\r\n <div className={`icon ${isExpanded ? 'expanded' : ''}`}></div>\r\n </button>\r\n <ul\r\n className={`horizontal-anchor-nav__list${\r\n isExpanded ? '--is-expanded' : ''\r\n }`}\r\n aria-label=\"undermeny\"\r\n aria-expanded={`${isExpanded ? 'true' : 'false'}`}\r\n >\r\n {Links &&\r\n Links.map((item, key) => {\r\n return (\r\n item.Id &&\r\n item.Name && (\r\n <li key={key}>\r\n <a\r\n data-event-category={href || 'novalue'}\r\n data-event-action={item.Name}\r\n data-event-name=\"Horisontell Ankarlänk\"\r\n className={classNames({\r\n 'horizontal-anchor-nav__list__link': true,\r\n 'horizontal-anchor-nav__list__link--is-selected':\r\n lastActiveSectionID === item.Id,\r\n })}\r\n onClick={() => {\r\n setLastActiveSectionID(item.Id);\r\n scrollIt(\r\n document.getElementById(`${item.Id}`),\r\n 300,\r\n 'easeOutQuad',\r\n () => {\r\n if (typeof currentActiveMenuItem === 'function') {\r\n currentActiveMenuItem(item.Id);\r\n }\r\n },\r\n 64\r\n ),\r\n setExpandedMobileMenu(!isExpanded);\r\n }}\r\n href={`#${item.Id}`}\r\n >\r\n <span data-event-include>{item.Name}</span>\r\n </a>\r\n </li>\r\n )\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default AnchorNavHorizontal;\r\n","import { useEffect } from 'react';\r\n\r\n/** Tracking clicks for Matomo\r\n * \r\n Any combinations of the four follwing attributes except data-event category, which \r\n is mandatory, can be added to an element in the following way:\r\n \r\n import useWindowLocationHref from '../Hooks/useWindowLocation';\r\n const href = useWindowLocationHref();\r\n\r\n <div>\r\n <div \r\n data-event-category={href || 'novalue'}\r\n data-event-action=\"some text\"\r\n data-event-name=\"name\"\r\n data-event-value=\"\">\r\n <a data-event-include ></a>\r\n </div>\r\n </div>\r\n Due to limitations in SSR, you cannot use window.location.href due to window being undefined.\r\n If you need to track window.location.href it should be done in combination with the useWindowLocationHref hook. \r\n \r\n The above attributes should have corresponding Data-Layer variables in Matomo \r\n and will receive the values of the attribute. The variables needs to be attached\r\n to a tag and trigger which responds to pushed events. The trigger \r\n Event Name value must match the event name pushed in _mtm.push below.\r\n Place <MatomoTrackDataAttribute /> on the page you want to track.\r\n The attribute data-event-include may be used on child elements, clicks on them \r\n will pass the data-event values of the closest parent holding \r\n the data-event-category attribute:\r\n\r\n <div>\r\n <div \r\n data-event-category={href || 'novalue'}\r\n data-event-action=\"action\"\r\n data-event-name=\"name\"\r\n data-event-value=\"val\">\r\n <a data-event-include>\r\n <span data-event-include></span\r\n </a>\r\n </div> \r\n </div\r\n */\r\n\r\nconst MatomoTrackDataAttribute = () => {\r\n useEffect(() => {\r\n const locateAttribute = (event) => {\r\n if (event?.target?.getAttribute('data-event-category') != null) {\r\n sendEventData(event.target);\r\n } else if (event?.target?.getAttribute('data-event-include') != null) {\r\n sendEventData(event.target.closest('[data-event-category]'));\r\n }\r\n };\r\n\r\n const sendEventData = (elem) => {\r\n var _mtm = (window._mtm = window?._mtm || []);\r\n let action = 'Klick';\r\n if (elem?.getAttribute('data-event-action') != null) {\r\n action = elem.getAttribute('data-event-action');\r\n }\r\n let name = '';\r\n if (elem?.getAttribute('data-event-name') != null) {\r\n name = elem.getAttribute('data-event-name');\r\n }\r\n let value = 0;\r\n if (elem?.getAttribute('data-event-value') != null) {\r\n value = elem.getAttribute('data-event-value');\r\n }\r\n\r\n _mtm.push({\r\n event: 'clickEvent',\r\n eventCategory: elem.getAttribute('data-event-category'),\r\n eventAction: action,\r\n eventName: name,\r\n eventValue: value,\r\n });\r\n };\r\n\r\n document?.documentElement?.addEventListener('click', locateAttribute, true);\r\n\r\n return () => {\r\n document?.documentElement?.removeEventListener(\r\n 'click',\r\n locateAttribute,\r\n true\r\n );\r\n };\r\n }, []);\r\n\r\n return null;\r\n};\r\nexport default MatomoTrackDataAttribute;\r\n","import { string } from 'prop-types';\r\nimport { useEffect } from 'react';\r\n\r\nconst MatomoTrackDimensions = ({ Region }) => {\r\n useEffect(() => {\r\n const sendEventData = (isAppUser, region) => {\r\n if (window?._paq) {\r\n window._paq.push(\r\n ['setCustomDimension', 1, region],\r\n ['setCustomDimension', 2, isAppUser]\r\n );\r\n }\r\n };\r\n\r\n if (\r\n typeof window !== 'undefined' &&\r\n window?.navigator?.userAgent.includes('1177-appen')\r\n ) {\r\n sendEventData('true', Region);\r\n } else if (typeof window !== 'undefined') {\r\n sendEventData('false', Region);\r\n }\r\n }, []);\r\n return null;\r\n};\r\n\r\nMatomoTrackDimensions.propTypes = {\r\n Region: string,\r\n};\r\n\r\nexport default MatomoTrackDimensions;\r\n","import { useEffect } from 'react';\r\n\r\nconst MatomoTrackMediaAnalytics = () => {\r\n useEffect(() => {\r\n if (window?.Matomo?.MediaAnalytics) {\r\n var MA = window.Matomo.MediaAnalytics;\r\n\r\n var MediaflowPlayer = function (element, config) {\r\n if (!element) {\r\n return;\r\n }\r\n\r\n if (!window.addEventListener) {\r\n return;\r\n }\r\n\r\n if (element.playerInstance) {\r\n return;\r\n }\r\n\r\n element.playerInstance = true;\r\n\r\n var mediaResource = MA.element.getMediaResource(element, null);\r\n\r\n var playerInstance = new MA.MediaTracker(\r\n 'mediaflow',\r\n config,\r\n mediaResource\r\n );\r\n\r\n playerInstance.setWidth(element.clientWidth);\r\n playerInstance.setHeight(element.clientHeight);\r\n playerInstance.setFullscreen(MA.element.isFullscreen(element));\r\n\r\n window.addEventListener(\r\n 'resize',\r\n function () {\r\n playerInstance.setWidth(element.clientWidth);\r\n playerInstance.setHeight(element.clientHeight);\r\n playerInstance.setFullscreen(MA.element.isFullscreen(element));\r\n },\r\n false\r\n );\r\n\r\n var title = MA.element.getMediaTitle(element);\r\n\r\n if (title) {\r\n playerInstance.setMediaTitle(title);\r\n }\r\n\r\n playerInstance.trackUpdate();\r\n\r\n var messageHandler = function (event) {\r\n if (\r\n !/play\\.mediaflowpro\\.com/.test(event.origin) &&\r\n !/play\\.mediaflow\\.com/.test(event.origin)\r\n ) {\r\n return false;\r\n }\r\n\r\n if (!event || !event.data) {\r\n return;\r\n }\r\n\r\n if (\r\n element.contentWindow &&\r\n event.source &&\r\n element.contentWindow !== event.source\r\n ) {\r\n return;\r\n }\r\n\r\n var data = event.data;\r\n\r\n if ('string' === typeof data) {\r\n data = JSON.parse(event.data);\r\n }\r\n\r\n if ('event' in data && data.event === 'ready') {\r\n if (origin === '*') {\r\n origin = event.origin;\r\n }\r\n\r\n if (!element.isMediaflowReady) {\r\n element.isMediaflowReady = true;\r\n postMessage('addEventListener', 'play');\r\n postMessage('addEventListener', 'pause');\r\n postMessage('addEventListener', 'ended');\r\n postMessage('addEventListener', 'timeupdate');\r\n }\r\n\r\n return;\r\n }\r\n\r\n if ('event' in data) {\r\n var eventName = data.event;\r\n switch (eventName) {\r\n case 'play':\r\n playerInstance.play();\r\n break;\r\n case 'timeupdate':\r\n playerInstance.setMediaProgressInSeconds(data.value);\r\n playerInstance.update();\r\n break;\r\n case 'pause':\r\n playerInstance.pause();\r\n break;\r\n case 'ended':\r\n playerInstance.finish();\r\n break;\r\n }\r\n }\r\n };\r\n\r\n window.addEventListener('message', messageHandler, true);\r\n\r\n var origin = '*';\r\n\r\n function postMessage(method, value) {\r\n var message = { method: method };\r\n if (value !== undefined) {\r\n message.value = value;\r\n }\r\n\r\n if (element && element.contentWindow) {\r\n if (navigator && navigator.userAgent) {\r\n var ieVersion = parseFloat(\r\n navigator.userAgent\r\n .toLowerCase()\r\n .replace(/^.*msie (\\d+).*$/, '$1')\r\n );\r\n if (ieVersion >= 8 && ieVersion < 10) {\r\n message = JSON.stringify(message);\r\n }\r\n }\r\n element.contentWindow.postMessage(message, origin);\r\n }\r\n }\r\n };\r\n\r\n MediaflowPlayer.scanForMedia = function (container) {\r\n if (!window.addEventListener) {\r\n return;\r\n }\r\n var iframes = container.getElementsByTagName('iframe');\r\n\r\n for (var i = 0; i < iframes.length; i++) {\r\n if (MA.element.isMediaIgnored(iframes[i])) {\r\n continue;\r\n }\r\n\r\n var src = MA.element.getAttribute(iframes[i], 'src');\r\n\r\n if (\r\n src &&\r\n (src.indexOf('play.mediaflowpro.com') > 0 ||\r\n src.indexOf('play.mediaflow.com') > 0)\r\n ) {\r\n new MediaflowPlayer(iframes[i], MA.mediaType.VIDEO);\r\n }\r\n }\r\n iframes = null;\r\n };\r\n\r\n MA.addPlayer('MediaflowPlayer', MediaflowPlayer);\r\n }\r\n }, []);\r\n\r\n return null;\r\n};\r\n\r\nexport default MatomoTrackMediaAnalytics;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport * as Render from '../../Base/Render';\r\nimport Breadcrumb from '../../Breadcrumb';\r\nimport Section from '../../Section';\r\nimport ArticleHeader from '../../ArticleHeader';\r\n\r\nconst CollectionPage = (props) => {\r\n const introClasses = classNames({\r\n 'medium-8': true,\r\n 'large-offset-0': true,\r\n 'large-7': props.Content.Image,\r\n 'large-8': !props.Content.Image,\r\n columns: true,\r\n ...props.Modifiers,\r\n });\r\n\r\n return (\r\n <>\r\n <div className=\"breadcrumb-container\">\r\n <div className=\"row\">\r\n <div className=\"columns\">\r\n <Breadcrumb {...props.Breadcrumbs} Language={props.Language} />\r\n </div>\r\n </div>\r\n </div>\r\n <main className=\"main page page--collection-page\">\r\n <div id=\"content\" dir={props.Dir}>\r\n <Section\r\n Modifiers={{ 'c-section--first': true, 'c-section--intro': true }}\r\n >\r\n <div className=\"row\">\r\n <div className={introClasses}>\r\n <ArticleHeader\r\n Heading={Render.Property(props.Content.Heading, 'Heading')}\r\n HeadingTranslation={props.Content.HeadingTranslation}\r\n Preamble={Render.Property(props.Content.Preamble, 'Preamble')}\r\n SubjectAboveHeading={true}\r\n {...props}\r\n />\r\n </div>\r\n {props.Content.Image && (\r\n <div className=\"medium-8 medium-centered large-uncentered large-offset-1 large-4 columns\">\r\n <Render.Block\r\n blocks={props.Content.Image}\r\n propertyName=\"Image\"\r\n currentPageProps={props}\r\n isBackgroundImage={true}\r\n UseZoom={false}\r\n ShowCaption={false}\r\n UseLazyload={false}\r\n Modifiers={{\r\n 'c-imageblock--medium-margin': true,\r\n 'c-imageblock--is-intro': true,\r\n }}\r\n Sizes={{\r\n sizes: '(min-width: 1024px) 1024px, 800px',\r\n }}\r\n >\r\n {props.BlockTypeRenderer}\r\n </Render.Block>\r\n </div>\r\n )}\r\n </div>\r\n </Section>\r\n \r\n {props.HorizontalAnchorNavigation}\r\n\r\n <Render.Block\r\n blocks={props.Content.MainContent}\r\n propertyName=\"MainContent\"\r\n stylePropertyName=\"SectionContent\"\r\n currentPageProps={props}\r\n >\r\n {props.BlockTypeRenderer}\r\n </Render.Block>\r\n </div>\r\n </main>\r\n </>\r\n );\r\n};\r\n\r\nexport default CollectionPage;\r\n"],"names":["_ref","Links","anchorHeading","currentActiveId","currentTop","items","translations","_jsx","AnchorNavHorizontal","propTypes","string","node","arrayOf","shape","Id","Name","anchorheading","anchorheadingmobile","blockTypes","Render","Blocks","withAnchorNav","props","_props$Content$MainCo","_props$Content","_props$Regionalizatio","anchorNavLinks","Content","MainContent","filter","c","HideAnchorLink","AnchorSectionId","Heading","map","isValidActiveId","some","link","_jsxs","_Fragment","children","CollectionPage","_objectSpread","Modifiers","BlockTypeRenderer","HorizontalAnchorNavigation","ShowOnPageNavigation","currentActiveMenuItem","id","Translations","MatomoTrackDimensions","Region","Regionalization","CurrentRegionName","MatomoTrackMediaAnalytics","MatomoTrackDataAttribute","href","useWindowLocationHref","isMobile","isMediumViewport","isFixed","setFixed","useState","isExpanded","setExpandedMenu","lastActiveSectionID","setLastActiveSectionID","lastSectionRef","useRef","offsetTop","offsetHeight","setExpandedMobileMenu","useEffect","handleScroll","element","document","querySelector","getBoundingClientRect","bottom","window","addEventListener","removeEventListener","sectionElement","getElementById","current","resetActiveSectionOnScroll","debounce","scrollPosition","scrollY","className","item","key","classNames","onClick","scrollIt","concat","_document","_document$documentEle","locateAttribute","event","_event$target","_event$target2","target","getAttribute","sendEventData","closest","elem","_window","_mtm","action","name","value","push","eventCategory","eventAction","eventName","eventValue","documentElement","_document2","_document2$documentEl","_window2","_window2$navigator","isAppUser","region","_paq","navigator","userAgent","includes","_window$Matomo","Matomo","MediaAnalytics","MA","MediaflowPlayer","config","playerInstance","mediaResource","getMediaResource","MediaTracker","setWidth","clientWidth","setHeight","clientHeight","setFullscreen","isFullscreen","title","getMediaTitle","setMediaTitle","trackUpdate","test","origin","data","contentWindow","source","JSON","parse","isMediaflowReady","postMessage","play","setMediaProgressInSeconds","update","pause","finish","method","message","undefined","ieVersion","parseFloat","toLowerCase","replace","stringify","scanForMedia","container","iframes","getElementsByTagName","i","length","isMediaIgnored","src","indexOf","mediaType","VIDEO","addPlayer","introClasses","Image","columns","Breadcrumb","Breadcrumbs","Language","dir","Dir","Section","ArticleHeader","HeadingTranslation","Preamble","SubjectAboveHeading","blocks","propertyName","currentPageProps","isBackgroundImage","UseZoom","ShowCaption","UseLazyload","Sizes","sizes","stylePropertyName"],"sourceRoot":""}