{"version":3,"file":"coopse.script.4126.b3945e56.chunk.js","mappings":"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","sources":["webpack:///../../node_modules/react-image/umd/index.js","webpack:///./src/microApps/common/components/atoms/DynamicHeroMedia/DynamicHeroMedia.tsx","webpack:///./src/microApps/common/components/atoms/Image.tsx","webpack:///./src/microApps/common/components/atoms/RawHtml/RawHtml.tsx","webpack:///./src/microApps/common/components/atoms/ResponsiveBreakpoints.tsx","webpack:///./src/microApps/common/hooks/useHtmlScriptParser.ts","webpack:///./src/microApps/common/tracking/hooks/usePromotionTracking.ts","webpack:///./src/microApps/episerver/components/base/EpiContentArea.tsx","webpack:///./src/microApps/episerver/components/pagePartials/EpiArticlePagePartial/EpiArticlePagePartial.tsx","webpack:///./src/microApps/episerver/components/pagePartials/EpiArticlePagePartial/EpiArticlePageSmallPartial.tsx","webpack:///./src/microApps/common/components/molecules/BottomNavigation/BottomNavigation.tsx","webpack:///./src/microApps/ecommerce/components/pages/articlePage/ArticePage.utils.ts","webpack:///./src/microApps/ecommerce/components/pages/articlePage/ArticlePage.tsx","webpack:///./src/microApps/episerver/components/pages/EpiArticlePage/EpiArticlePage.tsx","webpack:///./src/microApps/episerver/components/pages/EpiArticlePage/EpiArticlePage.utils.ts","webpack:///./src/microApps/episerver/epiUtils.ts","webpack:///./src/microApps/episerver/mappers/partials/mapEpiArticlePagePartialProps.ts","webpack:///../../node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack:///../../node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/typeof.js","webpack:///../../node_modules/react-intersection-observer/react-intersection-observer.modern.mjs"],"sourcesContent":["(function(a,b){\"object\"==typeof exports&&\"undefined\"!=typeof module?b(exports,require(\"@babel/runtime/helpers/defineProperty\"),require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"),require(\"react\")):\"function\"==typeof define&&define.amd?define([\"exports\",\"@babel/runtime/helpers/defineProperty\",\"@babel/runtime/helpers/objectWithoutPropertiesLoose\",\"react\"],b):(a=\"undefined\"==typeof globalThis?a||self:globalThis,b(a.Img={},a._defineProperty,a._objectWithoutPropertiesLoose,a.React))})(this,function(a,b,c,d){\"use strict\";function e(a){return a&&\"object\"==typeof a&&\"default\"in a?a:{default:a}}function f(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function g(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?f(Object(b),!0).forEach(function(c){l[\"default\"](a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):f(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function h(a){var b=a.srcList,c=a.imgPromise,e=void 0===c?o({decode:!0}):c,f=a.useSuspense,h=void 0===f||f,i=d.useState(!1),j=i[1],k=p(q(b)),l=k.join(\"\");if(r[l]||(r[l]={promise:s(k,e),cache:\"pending\",error:null}),\"resolved\"===r[l].cache)return{src:r[l].src,isLoading:!1,error:null};if(\"rejected\"===r[l].cache){if(h)throw r[l].error;return{isLoading:!1,error:r[l].error,src:void 0}}if(r[l].promise.then(function(a){r[l]=g(g({},r[l]),{},{cache:\"resolved\",src:a}),h||j(l)})[\"catch\"](function(a){r[l]=g(g({},r[l]),{},{cache:\"rejected\",error:a}),h||j(l)}),h)throw r[l].promise;return{isLoading:!0,src:void 0,error:null}}function j(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function k(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?j(Object(b),!0).forEach(function(c){l[\"default\"](a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):j(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}var l=e(b),m=e(c),n=e(d),o=function(a){var b=a.decode,c=a.crossOrigin,d=void 0===c?\"\":c;return function(a){return new Promise(function(c,e){var f=new Image;d&&(f.crossOrigin=d),f.onload=function(){(!(void 0!==b)||b)&&f.decode?f.decode().then(c)[\"catch\"](e):c()},f.onerror=e,f.src=a})}},p=function(b){return b.filter(function(a){return a})},q=function(a){return Array.isArray(a)?a:[a]},r={},s=function(a,b){var c=!1;return new Promise(function(d,e){var f=function(a){return b(a).then(function(){c=!0,d(a)})};a.reduce(function(a,b){return a[\"catch\"](function(){if(!c)return f(b)})},f(a.shift()))[\"catch\"](e)})},t=[\"decode\",\"src\",\"loader\",\"unloader\",\"container\",\"loaderContainer\",\"unloaderContainer\",\"imgPromise\",\"crossorigin\",\"useSuspense\"],u=function(a){return a};a.Img=function(a){var b=a.decode,c=a.src,d=void 0===c?[]:c,e=a.loader,f=void 0===e?null:e,g=a.unloader,i=void 0===g?null:g,j=a.container,l=void 0===j?u:j,p=a.loaderContainer,q=void 0===p?u:p,r=a.unloaderContainer,s=void 0===r?u:r,v=a.imgPromise,w=a.crossorigin,x=a.useSuspense,y=void 0!==x&&x,z=m[\"default\"](a,t);v=v||o({decode:!(void 0!==b)||b,crossOrigin:w});var A=h({srcList:d,imgPromise:v,useSuspense:y}),B=A.src,C=A.isLoading;return B?l(n[\"default\"].createElement(\"img\",k({src:B},z))):!y&&C?q(f):!y&&i?s(i):null},a.useImage=h,Object.defineProperty(a,\"__esModule\",{value:!0})});\n//# sourceMappingURL=index.js.map\n","import type { FC } from 'react';\n\nimport { Browser, BrowserSize } from '../../../../../utility/browser';\n\ninterface DynamicHeroMediaProps {\n    defaultUrl: string;\n    xxsmUrl?: string;\n    xsmUrl?: string;\n    xlgUrl?: string;\n    title?: string;\n    loading?: 'lazy' | 'eager';\n}\n\nconst DynamicHeroMedia: FC<React.PropsWithChildren<DynamicHeroMediaProps>> = ({\n    defaultUrl,\n    xxsmUrl,\n    xsmUrl,\n    xlgUrl,\n    title,\n    loading,\n}) => {\n    return (\n        <picture className=\"Hero-media\">\n            {xlgUrl && (\n                <source\n                    media={`(min-width:${Browser.getBreakpoint(BrowserSize.xlg).from}px)`}\n                    srcSet={xlgUrl}\n                />\n            )}\n            {xsmUrl && (\n                <source\n                    media={`(min-width:${Browser.getBreakpoint(BrowserSize.xsm).from}px)`}\n                    srcSet={xsmUrl}\n                />\n            )}\n            {xxsmUrl && <source media=\"(min-width: 0px)\" srcSet={xxsmUrl} />}\n            <img src={defaultUrl} alt={title || ''} loading={loading} />\n        </picture>\n    );\n};\n\nexport default DynamicHeroMedia;\n","import classNames from 'classnames';\nimport type { FC } from 'react';\nimport { Img } from 'react-image';\n\ninterface ImageProps {\n    src: string;\n    alt?: string;\n    title?: string;\n    cssClass?: string;\n    wrapperClassName?: string;\n    lazy?: boolean;\n    srcSet?: string;\n    unloader?: JSX.Element;\n    loader?: JSX.Element;\n    width?: string | number;\n    height?: string | number;\n    onClick?: React.MouseEventHandler<HTMLImageElement>;\n    ariaLabel?: string;\n}\n\nconst FallbackImg = (props: ImageProps) => {\n    return <img className={props.cssClass} alt=\"\" />;\n};\n\nconst Image: FC<ImageProps> = (props: ImageProps) => {\n    if (window.isPrerenderCrawler) {\n        return (\n            <div className={classNames('u-heightAll', props.wrapperClassName)}>\n                <img\n                    className={props.cssClass}\n                    src={props.src}\n                    alt={props.alt || ''}\n                    srcSet={props.srcSet}\n                    draggable=\"false\"\n                    aria-label={props.ariaLabel}\n                />\n            </div>\n        );\n    }\n\n    return (\n        <Img\n            onClick={props.onClick}\n            alt={props.alt}\n            title={props.title}\n            src={props.src}\n            srcSet={props.srcSet}\n            decode={false}\n            draggable=\"false\"\n            className={props.cssClass}\n            width={props.width}\n            height={props.height}\n            loading={props.lazy ? 'lazy' : undefined}\n            unloader={props.unloader || FallbackImg(props)}\n            loader={props.loader || FallbackImg(props)}\n        />\n    );\n};\n\nexport default Image;\n","import DOMPurify, { type Config } from 'dompurify';\nimport type { FC } from 'react';\n\nimport useHtmlScriptParser from '../../../hooks/useHtmlScriptParser';\n\ninterface DangerousHtmlWrapper {\n    dangerouslySetInnerHTML?: {\n        __html: string;\n    };\n}\n\ninterface RawHtmlProps {\n    html: string;\n    renderWrapper?: FC<React.PropsWithChildren<DangerousHtmlWrapper>>;\n    sanitizeOptions?: Config;\n    parseScripts?: boolean;\n    className?: string;\n}\n\nconst sanitizer = DOMPurify.sanitize;\n\nconst RawHtml = ({\n    html,\n    renderWrapper,\n    sanitizeOptions,\n    className,\n    parseScripts = false,\n}: React.PropsWithChildren<RawHtmlProps>) => {\n    const scriptsContainerRef = useHtmlScriptParser(html, parseScripts);\n\n    if (!renderWrapper)\n        return (\n            <>\n                <div\n                    className={className}\n                    // eslint-disable-next-line react/no-danger\n                    dangerouslySetInnerHTML={{\n                        __html: sanitizeOptions\n                            ? sanitizer(html, sanitizeOptions).toString()\n                            : sanitizer(html).toString(),\n                    }}\n                />\n                <div style={{ display: 'none' }} ref={scriptsContainerRef} />\n            </>\n        );\n\n    return (\n        <>\n            {renderWrapper({\n                dangerouslySetInnerHTML: {\n                    __html: sanitizeOptions\n                        ? sanitizer(html, sanitizeOptions).toString()\n                        : sanitizer(html).toString(),\n                },\n            })}\n            <div style={{ display: 'none' }} ref={scriptsContainerRef} />\n        </>\n    );\n};\n\nexport default RawHtml;\n","/* eslint-disable react/jsx-no-useless-fragment */\nimport type { ReactNode } from 'react';\nimport { useMediaQuery } from 'react-responsive';\n\nimport { Browser, BrowserSize } from '../../../../utility/browser';\n\nexport const useBrowserMediaQuery = (size: BrowserSize) =>\n    useMediaQuery({\n        minWidth: Browser.getBreakpoint(size).from,\n        maxWidth: Browser.getBreakpoint(size).to,\n    });\n\nexport const useFromBrowserMediaQuery = (size: BrowserSize) =>\n    useMediaQuery({\n        minWidth: Browser.getBreakpoint(size).from,\n    });\n\nexport const useBrowserCustomMediaQuery = (minWidth: number, maxWidth: number) =>\n    useMediaQuery({\n        minWidth,\n        maxWidth,\n    });\n\nexport const useBrowserMinMediaQuery = (minWidth: number) =>\n    useMediaQuery({\n        minWidth,\n    });\n\nexport const useIsMobile = () =>\n    useMediaQuery({ maxWidth: Browser.getBreakpoint(BrowserSize.sm).from });\n\nexport const useIsDesktop = () =>\n    useMediaQuery({ minWidth: Browser.getBreakpoint(BrowserSize.lg).from });\n\nexport const useIsFromXXSmall = () =>\n    useMediaQuery({\n        minWidth: Browser.getBreakpoint(BrowserSize.xxsm).from,\n    });\n\nexport const useIsFromXSmall = () =>\n    useMediaQuery({\n        minWidth: Browser.getBreakpoint(BrowserSize.xsm).from,\n    });\n\nexport const useIsFromMedium = () =>\n    useMediaQuery({ minWidth: Browser.getBreakpoint(BrowserSize.md).from });\n\nexport const useIsFromLarge = () =>\n    useMediaQuery({ minWidth: Browser.getBreakpoint(BrowserSize.lg).from });\n\nexport const useIsFromXLarge = () =>\n    useMediaQuery({\n        minWidth: Browser.getBreakpoint(BrowserSize.xlg).from,\n    });\n\nexport const Mobile = ({ children }: { children: ReactNode }) => {\n    const isMobile = useIsMobile();\n    return isMobile ? <>{children}</> : null;\n};\n\nexport const Desktop = ({ children }: { children: ReactNode }) => {\n    const isDesktop = useIsDesktop();\n    return isDesktop ? <>{children}</> : null;\n};\n\nexport const NotDesktop = ({ children }: { children: ReactNode }) => {\n    const isDesktop = useIsDesktop();\n    return isDesktop ? null : <>{children}</>;\n};\n","import { useEffect, useRef } from 'react';\n\nimport { SyncronQueue } from '../api/SyncronQueue';\n\nconst createScriptElement = (scriptElement: HTMLScriptElement) => {\n    const script = document.createElement('script');\n    script.setAttribute('type', 'text/javascript');\n\n    // pass all attributes from original script tag\n    Array.from(scriptElement.attributes).forEach((attr) => {\n        script.setAttribute(attr.name, attr.value);\n    });\n\n    if (scriptElement.innerHTML) {\n        script.append(scriptElement.innerHTML);\n    }\n\n    return script;\n};\n\nconst useHtmlScriptParser = (html: string, enabled: boolean) => {\n    const queue = useRef(new SyncronQueue());\n    const scriptsContainerRef = useRef<HTMLDivElement>(null);\n    useEffect(() => {\n        if (enabled) {\n            const template = document.createElement('div');\n            template.innerHTML = html;\n            const scriptsFromRawHtml = Array.from(template.getElementsByTagName('script'));\n\n            // we need to create new elements so browser parses them\n            const scriptElements = scriptsFromRawHtml.map((script) => createScriptElement(script));\n\n            // all scripts dynamically added to the DOM are ALWAYS asynchronous\n            // that means that inline scripts that wait for their external ones will fail when added instantly to DOM as they were not loaded yet\n            // so resolve scripts in a queue in the order they were added in html string\n            const promises = scriptElements.map((exScript) => () => {\n                const promise = new Promise((resolve, reject) => {\n                    if (exScript.src) {\n                        // eslint-disable-next-line no-param-reassign\n                        exScript.onload = () => {\n                            resolve(`${exScript.src} loaded`);\n                        };\n\n                        // eslint-disable-next-line no-param-reassign\n                        exScript.onerror = reject;\n                        scriptsContainerRef.current?.append(exScript);\n                    } else {\n                        scriptsContainerRef.current?.append(exScript);\n                        resolve('inline script loaded');\n                    }\n                });\n\n                return promise;\n            });\n\n            promises.forEach((func) => queue.current.run(func));\n        }\n    }, [html, enabled]);\n\n    return scriptsContainerRef;\n};\n\nexport default useHtmlScriptParser;\n","import { useEffect } from 'react';\nimport { useInView } from 'react-intersection-observer';\n\nimport { ga4PromotionTracking } from '../ga4/promotion';\nimport type { IGaPromoData } from '../models/IGaPromoData';\n\nconst usePromotionTracking = ({\n    gaPromoCreative,\n    gaPromoId,\n    gaPromoName,\n    gaPromoPosition,\n}: IGaPromoData) => {\n    const [ref, inView] = useInView({\n        triggerOnce: true,\n        threshold: 0.5,\n    });\n\n    useEffect(() => {\n        if (inView) {\n            ga4PromotionTracking.viewPromotion({\n                gaPromoCreative,\n                gaPromoId,\n                gaPromoName,\n                gaPromoPosition,\n            });\n        }\n    }, [gaPromoCreative, gaPromoId, gaPromoName, gaPromoPosition, inView]);\n\n    const click = () => {\n        ga4PromotionTracking.selectPromotion({\n            gaPromoCreative,\n            gaPromoId,\n            gaPromoName,\n            gaPromoPosition,\n        });\n    };\n\n    return { ref, click };\n};\n\nexport default usePromotionTracking;\n","/* eslint-disable react/no-array-index-key */\n/* eslint-disable react/jsx-props-no-spreading */\n/* eslint-disable react/jsx-no-useless-fragment */\nimport classNames from 'classnames';\n\nimport { getCssClassForDisplayOptionWithDefaultTag } from '../../epiUtils';\nimport EpiComponentLoader from './EpiComponentLoader';\n\ninterface EpiContentAreaProps {\n    items: ContentAreaItem[];\n    epiTag?: DisplayOption;\n    itemCssClass?: string;\n    /** If you pass renderItem function, you are responsible for generating item itself as well as it's Grid cell.\n     * Use contentAreaItem, contentAreaItemClasses parameters to get access to default values for items.\n     */\n    renderItem?: (\n        componentProps: IContent,\n        contentAreaItem: ContentAreaItem,\n        contentAreaItemClasses: string,\n    ) => React.ReactNode;\n}\n\nconst EpiContentArea = ({ items, epiTag, itemCssClass, renderItem }: EpiContentAreaProps) => {\n    const areaItems = items?.filter((x) => !!x && !!x.contentLink.expanded) || [];\n\n    return (\n        <>\n            {areaItems.map((contentAreaItem, index) => (\n                <EpiComponentLoader\n                    expandedValue={contentAreaItem.contentLink.expanded!}\n                    options={{\n                        isContentAreaItem: true,\n                    }}\n                    key={`{${contentAreaItem.contentLink.guidValue}_${index}}`}\n                >\n                    {(LazyComponent, epiComponentProps) => {\n                        const contentAreaItemClasses = classNames(\n                            getCssClassForDisplayOptionWithDefaultTag(\n                                contentAreaItem.displayOption || epiTag,\n                            ),\n                            itemCssClass,\n                        );\n\n                        return (\n                            <>\n                                {(renderItem &&\n                                    renderItem(\n                                        epiComponentProps,\n                                        contentAreaItem,\n                                        contentAreaItemClasses,\n                                    )) || (\n                                    <div className={contentAreaItemClasses}>\n                                        <LazyComponent {...epiComponentProps} />\n                                    </div>\n                                )}\n                            </>\n                        );\n                    }}\n                </EpiComponentLoader>\n            ))}\n        </>\n    );\n};\n\nexport default EpiContentArea;\n","import classNames from 'classnames';\nimport type { FC } from 'react';\n\nimport usePromotionView from '../../../../common/tracking/hooks/usePromotionTracking';\nimport mapEpiArticlePagePartialProps from '../../../mappers/partials/mapEpiArticlePagePartialProps';\nimport type { EpiArticlePartialPage } from '../../pages/EpiArticlePage/epiArticlePageType';\n\nconst EpiArticlePagePartial: FC<React.PropsWithChildren<EpiArticlePartialPage>> = (props) => {\n    const { ref, click } = usePromotionView({\n        gaPromoId: props.gaPromoId,\n        gaPromoName: props.gaPromoName,\n        gaPromoPosition: undefined,\n        gaPromoCreative: 'Big block',\n    });\n    const { headline, text, linkUrl, btnText, imageUrl, hidePreambles, isContainedInArticlePage } =\n        mapEpiArticlePagePartialProps(props);\n\n    return (\n        <a className=\"Link2 Link2--ctaInside\" href={linkUrl} ref={ref} onClick={click}>\n            <article\n                className={classNames(\n                    'Block Block--cta',\n                    isContainedInArticlePage ? 'Block--article' : '',\n                )}\n            >\n                <div className=\"Block-imageContainer\">\n                    <div className=\"Block-image Block-image--16by9\">\n                        {imageUrl && <img src={imageUrl} loading=\"lazy\" alt=\"\" />}\n                    </div>\n                </div>\n                <div className=\"Block-content\">\n                    {headline && <h2 className=\"Heading Heading--h2\">{headline}</h2>}\n\n                    {text && !hidePreambles && (\n                        <p className={classNames(headline ? 'u-marginTz' : '', 'u-marginBz')}>\n                            {text}\n                        </p>\n                    )}\n                </div>\n                <div className=\"Block-cta\" aria-hidden=\"true\">\n                    <p className=\"Link2-cta u-marginVz\">\n                        <span className=\"Link2-text\">{btnText || 'Läs mer'}</span>\n                    </p>\n                </div>\n            </article>\n        </a>\n    );\n};\n\nexport default EpiArticlePagePartial;\n","import classNames from 'classnames';\nimport type { FC } from 'react';\n\nimport usePromotionView from '../../../../common/tracking/hooks/usePromotionTracking';\nimport mapEpiArticlePagePartialProps from '../../../mappers/partials/mapEpiArticlePagePartialProps';\nimport type { EpiArticlePageType } from '../../pages/EpiArticlePage/epiArticlePageType';\n\nconst EpiArticlePageSmallPartial: FC<React.PropsWithChildren<EpiArticlePageType>> = (props) => {\n    const { ref, click } = usePromotionView({\n        gaPromoId: props.gaPromoId,\n        gaPromoName: props.gaPromoName,\n        gaPromoPosition: undefined,\n        gaPromoCreative: 'Big block',\n    });\n    const { headline, text, linkUrl, imageUrl, hidePreambles } =\n        mapEpiArticlePagePartialProps(props);\n\n    return (\n        <a className=\"Link2 Link2--ctaInside\" href={linkUrl} ref={ref} onClick={click}>\n            <div className=\"Block Block--horizontal\">\n                <div className=\"Block-imageContainer\">\n                    <div className=\"Block-image\">\n                        {imageUrl && <img src={imageUrl} loading=\"lazy\" alt=\"\" />}\n                    </div>\n                </div>\n                <div className=\"Block-content\">\n                    {headline && (\n                        <h2 className=\"Heading Heading--h2\">\n                            <a href={linkUrl}>{headline}</a>\n                        </h2>\n                    )}\n                    {text && !hidePreambles && (\n                        <p className={classNames(!headline && 'u-marginTz')}>{text}</p>\n                    )}\n                </div>\n            </div>\n        </a>\n    );\n};\n\nexport default EpiArticlePageSmallPartial;\n","import type { ContentMenuNode } from '../../../../episerver/api/contentDeliveryApi';\n\ninterface BottomNavigationProps {\n    menuRoot?: ContentMenuNode;\n}\n\nconst BottomNavigation: React.FC<BottomNavigationProps> = ({ menuRoot }) => {\n    if (!menuRoot?.nodes?.length) {\n        return null;\n    }\n\n    return (\n        <nav>\n            {menuRoot.name && (\n                <h2 className=\"Heading Heading--greenBar\">{`Läs mer om ${menuRoot.name}`}</h2>\n            )}\n            <ul className=\"List List--navigation\">\n                {menuRoot.nodes.map((item) => (\n                    <li key={item.id}>\n                        <a href={item.url}>{item.name}</a>\n                    </li>\n                ))}\n            </ul>\n        </nav>\n    );\n};\n\nexport default BottomNavigation;\n","import _ from 'underscore';\n\nimport type { ContentMenuNode } from '../../../../episerver/api/contentDeliveryApi';\nimport { contentDeliveryApi } from '../../../../episerver/api/contentDeliveryApi';\n\nconst filterNodes = (\n    filteredContentId: number,\n    contentAreaReferenceIds: number[],\n    nodes?: ContentMenuNode[],\n) => {\n    if (!nodes) return [];\n\n    return nodes.filter(\n        (node) => node.id !== filteredContentId && !contentAreaReferenceIds.includes(node.id),\n    );\n};\n\nexport const getBottomNav = async (\n    currentPageContentId: number,\n    parentPageContentId: number | null,\n    articleModulesBig: ContentAreaItem[],\n    articleModulesSmall: ContentAreaItem[],\n    showSiblings: boolean,\n): Promise<ContentMenuNode> => {\n    const contentAreaReferenceIds = _.unique([\n        ...(articleModulesBig || []).map((item) => item.contentLink.id),\n        ...(articleModulesSmall || []).map((item) => item.contentLink.id),\n    ]);\n\n    const contentReferenceId =\n        showSiblings && !!parentPageContentId ? parentPageContentId : currentPageContentId;\n\n    let menu = await contentDeliveryApi.getMenu(contentReferenceId.toString());\n    // filters out itself either from the tree or from its own content areas\n    let nodes = filterNodes(currentPageContentId, contentAreaReferenceIds, menu?.nodes);\n\n    // fallback to siblings\n    if (!nodes.length && parentPageContentId) {\n        menu = await contentDeliveryApi.getMenu(parentPageContentId.toString());\n        nodes = filterNodes(currentPageContentId, contentAreaReferenceIds, menu?.nodes);\n    }\n\n    menu.nodes = nodes;\n\n    return menu;\n};\n","/* eslint-disable react/jsx-props-no-spreading */\nimport classNames from 'classnames';\nimport { useEffect } from 'react';\n\nimport MainPageLayout from '../../../../base/components/MainPageLayout';\nimport DynamicHeroMedia from '../../../../common/components/atoms/DynamicHeroMedia';\nimport Image from '../../../../common/components/atoms/Image';\nimport RawHtml from '../../../../common/components/atoms/RawHtml';\nimport BottomNavigation from '../../../../common/components/molecules/BottomNavigation/BottomNavigation';\nimport PageProperties from '../../../../common/components/molecules/PageProperties';\nimport { SideBarMenuLoader } from '../../../../common/components/organisms/SideBarMenu';\nimport { useAsyncDispatcher } from '../../../../common/hooks/useAsyncDispatcher';\nimport type { PageBaseProps } from '../../../../common/models/props/PageBaseProps';\nimport EpiContentArea from '../../../../episerver/components/base/EpiContentArea';\nimport EpiArticlePagePartial from '../../../../episerver/components/pagePartials/EpiArticlePagePartial/EpiArticlePagePartial';\nimport EpiArticlePageSmallPartial from '../../../../episerver/components/pagePartials/EpiArticlePagePartial/EpiArticlePageSmallPartial';\nimport { isArticlePage } from '../../../../episerver/components/pages/EpiArticlePage/EpiArticlePage.utils';\nimport { getBottomNav } from './ArticePage.utils';\n\ninterface ArticlePageProps extends PageBaseProps {\n    heroImageUrl?: string;\n    disablePaddingOnMobile: boolean;\n    heroImageHalfSize: boolean;\n    headline: string;\n    hasSideMenu: boolean;\n    preamble: string;\n    preambleImageUrl?: string;\n    largeImageUrl?: string;\n    imageUrl?: string;\n    mainBody: string;\n    mainBody2: string;\n    mainBody3: string;\n    mainBody4: string;\n    modules: ContentAreaItem[];\n    modules2: ContentAreaItem[];\n    modules3: ContentAreaItem[];\n    modules4: ContentAreaItem[];\n    articleModulesBig: ContentAreaItem[];\n    articleModulesBigHeader: string;\n    articleModulesSmall: ContentAreaItem[];\n    articleModulesSmallHeader: string;\n    hideSubmenu: boolean;\n    bottomModules: ContentAreaItem[];\n    contentLink: ContentLink;\n    parentLink?: ContentLink;\n    showSiblingsInMenu: boolean;\n    contentId: number;\n    menuPageContentId: number | undefined;\n}\n\nconst ArticlePage: React.FC<React.PropsWithChildren<ArticlePageProps>> = ({\n    heroImageUrl,\n    disablePaddingOnMobile,\n    heroImageHalfSize,\n    headline,\n    preamble,\n    preambleImageUrl,\n    largeImageUrl,\n    imageUrl,\n    mainBody,\n    mainBody2,\n    mainBody3,\n    mainBody4,\n    modules,\n    modules2,\n    modules3,\n    modules4,\n    articleModulesBig,\n    articleModulesBigHeader,\n    articleModulesSmall,\n    articleModulesSmallHeader,\n    hideSubmenu,\n    bottomModules,\n    contentLink,\n    parentLink,\n    showSiblingsInMenu,\n    headData,\n    pageTypeNameForAnalytics,\n    menuPageContentId,\n}) => {\n    const sanitizeOptions = {\n        ADD_ATTR: ['target'],\n        USE_PROFILES: {\n            html: true,\n        },\n    };\n    const { result: bottomNavigation, execute: getBottomNavigation } =\n        useAsyncDispatcher(getBottomNav);\n\n    const parentLinkId = parentLink ? parentLink.id : null;\n\n    useEffect(() => {\n        if (!hideSubmenu) {\n            getBottomNavigation(\n                contentLink.id,\n                parentLinkId,\n                articleModulesBig,\n                articleModulesSmall,\n                showSiblingsInMenu,\n            );\n        }\n    }, [\n        articleModulesBig,\n        articleModulesSmall,\n        contentLink.id,\n        getBottomNavigation,\n        hideSubmenu,\n        parentLinkId,\n        showSiblingsInMenu,\n    ]);\n\n    return (\n        <>\n            <PageProperties\n                headData={headData}\n                pageTypeNameForAnalytics={pageTypeNameForAnalytics}\n            />\n\n            <MainPageLayout\n                disablePaddingOnMobile={disablePaddingOnMobile}\n                sideMenuSlot={\n                    !!menuPageContentId && ( // menuPageContentId should be resolved in enhancer later on, since menu root can be different per page type\n                        <div className=\"SidebarNav\">\n                            <SideBarMenuLoader menuPageContentId={menuPageContentId} />\n                        </div>\n                    )\n                }\n                heroSlot={\n                    heroImageUrl && (\n                        <div\n                            className={classNames(\n                                'Hero',\n                                heroImageHalfSize ? 'Hero--small' : 'Hero--medium',\n                            )}\n                        >\n                            <DynamicHeroMedia defaultUrl={heroImageUrl} />\n                            <div className=\"Hero-content\">\n                                <h1 className=\"u-colorWhite u-textCenter u-text4XLarge u-sm-text5XLarge u-textShadowMd u-textFamilySecondary\">\n                                    {headline}\n                                </h1>\n                            </div>\n                        </div>\n                    )\n                }\n                subHeroSlot={\n                    heroImageUrl &&\n                    preamble && (\n                        <div className=\"Section Section--padding Section--bankOffset u-bgWhite u-textCenter\">\n                            <div className=\"Main-container Main-container--medium\">\n                                <div className=\"Preamble-container\">\n                                    {preambleImageUrl && (\n                                        <div className=\"Preamble-image\">\n                                            <Image\n                                                src={preambleImageUrl}\n                                                cssClass=\"u-alignMiddle\"\n                                            />\n                                        </div>\n                                    )}\n                                    <div\n                                        className={classNames(\n                                            preambleImageUrl\n                                                ? 'u-textCenter u-md-textLeft'\n                                                : 'u-textCenter',\n                                        )}\n                                    >\n                                        <p className=\"Preamble u-marginAz\">{preamble}</p>\n                                    </div>\n                                </div>\n                            </div>\n                        </div>\n                    )\n                }\n            >\n                <div className=\"Section Section--margin Section--padding u-bgWhite\">\n                    <div>\n                        {!heroImageUrl && (\n                            <div\n                                className={classNames(\n                                    'Section',\n                                    'Section--margin',\n                                    !largeImageUrl &&\n                                        !imageUrl &&\n                                        'u-borderBottom u-marginBxlg u-paddingBxlg',\n                                )}\n                            >\n                                <div className=\"Main-container Main-container--small u-textCenter\">\n                                    {headline && (\n                                        <h1 className=\"u-textFamilySecondary\">{headline}</h1>\n                                    )}\n                                    {preamble && <p className=\"Preamble u-marginBz\">{preamble}</p>}\n                                </div>\n                            </div>\n                        )}\n                        {imageUrl && !largeImageUrl && (\n                            <div className=\"Section Section--margin\">\n                                <div className=\"Main-container Main-container--small\">\n                                    <Image src={imageUrl} cssClass=\"u-alignMiddle\" />\n                                </div>\n                            </div>\n                        )}\n                        {largeImageUrl && (\n                            <div className=\"Section Section--margin\">\n                                <Image src={largeImageUrl} cssClass=\"u-alignMiddle\" />\n                            </div>\n                        )}\n                        {mainBody && (\n                            <div className=\"Section Section--margin\">\n                                <div className=\"Main-container Main-container--small Editorial\">\n                                    <RawHtml html={mainBody} sanitizeOptions={sanitizeOptions} />\n                                </div>\n                            </div>\n                        )}\n                        {modules && (\n                            <div className=\"Section Section--margin\">\n                                <div className=\"Main-container Main-container--small BlockContainer BlockContainer--white\">\n                                    <div className=\"Grid Grid--gutterV\">\n                                        <EpiContentArea items={modules} />\n                                    </div>\n                                </div>\n                            </div>\n                        )}\n                        {mainBody2 && (\n                            <div className=\"Section Section--margin\">\n                                <div className=\"Main-container Main-container--small Editorial\">\n                                    <RawHtml html={mainBody2} sanitizeOptions={sanitizeOptions} />\n                                </div>\n                            </div>\n                        )}\n                        {modules2 && (\n                            <div className=\"Section Section--margin\">\n                                <div className=\"Main-container Main-container--small BlockContainer BlockContainer--white\">\n                                    <div className=\"Grid Grid--gutterV\">\n                                        <EpiContentArea items={modules2} />\n                                    </div>\n                                </div>\n                            </div>\n                        )}\n                        {mainBody3 && (\n                            <div className=\"Section Section--margin\">\n                                <div className=\"Main-container Main-container--small Editorial\">\n                                    <RawHtml html={mainBody3} sanitizeOptions={sanitizeOptions} />\n                                </div>\n                            </div>\n                        )}\n                        {modules3 && (\n                            <div className=\"Section Section--margin\">\n                                <div className=\"Main-container Main-container--small BlockContainer BlockContainer--white\">\n                                    <div className=\"Grid Grid--gutterV\">\n                                        <EpiContentArea items={modules3} />\n                                    </div>\n                                </div>\n                            </div>\n                        )}\n                        {mainBody4 && (\n                            <div className=\"Section Section--margin\">\n                                <div className=\"Main-container Main-container--small Editorial\">\n                                    <RawHtml html={mainBody4} sanitizeOptions={sanitizeOptions} />\n                                </div>\n                            </div>\n                        )}\n                        {modules4 && (\n                            <div className=\"Section Section--margin\">\n                                <div className=\"Main-container Main-container--small BlockContainer BlockContainer--white\">\n                                    <div className=\"Grid Grid--gutterV\">\n                                        <EpiContentArea items={modules4} />\n                                    </div>\n                                </div>\n                            </div>\n                        )}\n                        {articleModulesBig && (\n                            <div className=\"Section Section--margin\">\n                                <div className=\"Main-container Main-container--small BlockContainer BlockContainer--white\">\n                                    <div className=\"u-textCenter\">\n                                        {articleModulesBigHeader && (\n                                            <h1 className=\"Heading--h1\">\n                                                {articleModulesBigHeader}\n                                            </h1>\n                                        )}\n                                    </div>\n                                    <div className=\"Grid Grid--gutterA\">\n                                        <EpiContentArea\n                                            items={articleModulesBig}\n                                            itemCssClass=\"u-md-size1of3 u-size1of1 u-xsm-size1of2\"\n                                        />\n                                    </div>\n                                </div>\n                            </div>\n                        )}\n                        {articleModulesSmall && (\n                            <div className=\"Section Section--margin\">\n                                <div className=\"Main-container Main-container--small BlockContainer\">\n                                    <div className=\"u-textCenter\">\n                                        {articleModulesSmallHeader && (\n                                            <h2 className=\"Heading--h1\">\n                                                {articleModulesSmallHeader}\n                                            </h2>\n                                        )}\n                                    </div>\n                                    <div className=\"Grid Grid--gutterV\">\n                                        <EpiContentArea\n                                            items={articleModulesSmall}\n                                            renderItem={(\n                                                componentProps,\n                                                contentAreaItem,\n                                                contentAreaItemClasses,\n                                            ) => {\n                                                if (isArticlePage(componentProps)) {\n                                                    return contentAreaItem.isDefaultDisplayOption ? (\n                                                        <div className=\"Grid-cell\">\n                                                            <EpiArticlePageSmallPartial\n                                                                {...componentProps}\n                                                            />\n                                                        </div>\n                                                    ) : (\n                                                        <div className={contentAreaItemClasses}>\n                                                            <EpiArticlePagePartial\n                                                                {...componentProps}\n                                                            />\n                                                        </div>\n                                                    );\n                                                }\n                                            }}\n                                        />\n                                    </div>\n                                </div>\n                            </div>\n                        )}\n                        {!hideSubmenu && (\n                            <div className=\"Section Section--padding u-borderTop\">\n                                <div className=\"Main-container Main-container--small\">\n                                    <BottomNavigation menuRoot={bottomNavigation} />\n                                </div>\n                            </div>\n                        )}\n                    </div>\n                </div>\n            </MainPageLayout>\n\n            {bottomModules && (\n                <div className=\"Section Section--margin Section--padding u-bgWhite\">\n                    <div className=\"Main-container Main-container--small\">\n                        <div className=\"Grid Grid--gutterV\">\n                            <EpiContentArea items={bottomModules} />\n                        </div>\n                    </div>\n                </div>\n            )}\n        </>\n    );\n};\n\nexport default ArticlePage;\n","import type { FC } from 'react';\n\nimport ArticlePage from '../../../../ecommerce/components/pages/articlePage/ArticlePage';\nimport { mapEpiPageHeadData } from '../../../epiUtils';\nimport type { EpiArticlePageType } from './epiArticlePageType';\n\nconst EpiArticlePage: FC<React.PropsWithChildren<EpiArticlePageType>> = (props) => (\n    <ArticlePage\n        headData={mapEpiPageHeadData(props)}\n        pageTypeNameForAnalytics={props.pageTypeNameForAnalytics}\n        heroImageUrl={props.heroImage?.url}\n        disablePaddingOnMobile={props.disablePaddingOnMobile}\n        heroImageHalfSize={props.heroImageHalfSize}\n        headline={props.headline}\n        hasSideMenu={props.hasSideMenu}\n        preamble={props.preamble}\n        preambleImageUrl={props.preambleImage?.url}\n        largeImageUrl={props.largeImage?.url}\n        imageUrl={props.image?.url}\n        mainBody={props.mainBody}\n        mainBody2={props.mainBody2}\n        mainBody3={props.mainBody3}\n        mainBody4={props.mainBody4}\n        modules={props.modules}\n        modules2={props.modules2}\n        modules3={props.modules3}\n        modules4={props.modules4}\n        articleModulesBig={props.articleModulesBig}\n        articleModulesBigHeader={props.articleModulesBigHeader}\n        articleModulesSmall={props.articleModulesSmall}\n        articleModulesSmallHeader={props.articleModulesSmallHeader}\n        hideSubmenu={props.hideSubmenu}\n        bottomModules={props.bottomModules}\n        contentLink={props.contentLink}\n        parentLink={props.parentLink}\n        showSiblingsInMenu={props.showSiblingsInMenu}\n        contentId={props.contentLink.id}\n        menuPageContentId={props.sideBarMenuContentId} // menuPageContentId should be resolved in enhancer later on, since menu root can be different per page type\n    />\n);\n\nexport default EpiArticlePage;\n","import type { EpiArticlePageType } from './epiArticlePageType';\n\nexport const isArticlePage = (content: IContent): content is EpiArticlePageType =>\n    content?.contentType?.includes('ArticlePageType') === true;\n","import { appConfig } from '../../appConfig';\nimport type { PageHeadData } from '../common/components/atoms/PageHead';\nimport { ensureTrailingSlash } from '../common/utils/urlUtils';\nimport type { EpiPageTypes } from './components/pages/epiPageTypes';\nimport type { EpiSitePageType } from './components/pages/epiSitePageType';\n\nexport const getCssClassForDisplayOptionWithDefaultTag = (name: DisplayOption) => {\n    const potentialCssClass = appConfig.coopSettings.epi.blockDisplayOptionToCssClass[name];\n\n    if (potentialCssClass) {\n        return `${appConfig.coopSettings.epi.baseChildrenCssClass} ${potentialCssClass}`;\n    }\n\n    return appConfig.coopSettings.epi.baseChildrenCssClass;\n};\n\nexport const filterContentArea = <T extends IContent>(\n    contentArea: ContentAreaItem[],\n    predicate: (content: IContent) => content is T,\n): T[] => {\n    const contents =\n        contentArea\n            ?.map((x) => x.contentLink?.expanded)\n            .filter(Boolean)\n            .filter(predicate) || [];\n    return contents;\n};\n\nexport const filterContent = <T extends IContent>(\n    contentItems: IContent[],\n    predicate: (content: IContent) => content is T,\n): T[] => {\n    const filteredContents = contentItems?.filter(predicate) || [];\n    return filteredContents;\n};\n\nexport const filterContentType = <T extends EpiPageTypes[keyof EpiPageTypes]>(\n    contents: IContent[],\n    contentType: keyof EpiPageTypes,\n): T[] => {\n    return (contents?.filter((item) => item.contentType.includes(contentType)) as T[]) || [];\n};\n\n/**\n * Use with caution, EPI adds ?epieditmode=True in edit mode, but so can users\n */\nexport const isEpiEditMode = () =>\n    new URLSearchParams(window.location.search).get('epieditmode') === 'True';\n\nexport const editTableProp = (name: string) => (window.epi?.inEditMode ? name : undefined);\n\nexport const mapEpiPageHeadData = (page: EpiSitePageType): PageHeadData => {\n    const canonicalUrl = page.canonicalUrl && ensureTrailingSlash(page.canonicalUrl);\n\n    return {\n        title: page.pageTitle,\n        link: {\n            canonical: canonicalUrl,\n        },\n        meta: {\n            description: page.metaDescription,\n            'og:url': canonicalUrl,\n            'og:description': page.metaDescription,\n        },\n    };\n};\n\nexport const isEpiPageViewSettings = (page: IContent): page is PageViewSettingsIContent => {\n    return 'contentPageSize' in (page as PageViewSettingsIContent);\n};\n\nexport const isContentReference = (input: unknown): input is ContentReference => {\n    return 'url' in (input as ContentReference);\n};\n","import type { EpiArticlePartialPage } from '../../components/pages/EpiArticlePage/epiArticlePageType';\n\n// Corresponds to old backend view model\nconst mapEpiArticlePagePartialProps = ({\n    contentLink,\n    headline,\n    moduleHeadline,\n    modulePreamble,\n    preamble,\n    moduleLinkText,\n    moduleImage,\n    image,\n    largeImage,\n}: EpiArticlePartialPage) => {\n    return {\n        headline: moduleHeadline || headline,\n        text: modulePreamble || preamble,\n        linkUrl: contentLink.url,\n        btnText: moduleLinkText,\n        imageUrl: moduleImage?.url || image?.url || largeImage?.url,\n        hidePreambles: false, // TODO: add support when you need it for articlepage this.GetValueFromParentContext<ArticlePageType, bool>(\"HidePreambles\"),\n        isContainedInArticlePage: false, // TODO: add support when you need it for articlepage  this.GetValueFromParentContext<ArticlePageType, bool>(\"IsContainedInArticlePage\")\n    };\n};\n\nexport default mapEpiArticlePagePartialProps;\n","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (-1 !== e.indexOf(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import * as React from 'react';\n\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nconst observerMap = new Map();\nconst RootIds = new WeakMap();\nlet rootId = 0;\nlet unsupportedValue = undefined;\n/**\r\n * What should be the default behavior if the IntersectionObserver is unsupported?\r\n * Ideally the polyfill has been loaded, you can have the following happen:\r\n * - `undefined`: Throw an error\r\n * - `true` or `false`: Set the `inView` value to this regardless of intersection state\r\n * **/\n\nfunction defaultFallbackInView(inView) {\n  unsupportedValue = inView;\n}\n/**\r\n * Generate a unique ID for the root element\r\n * @param root\r\n */\n\nfunction getRootId(root) {\n  if (!root) return '0';\n  if (RootIds.has(root)) return RootIds.get(root);\n  rootId += 1;\n  RootIds.set(root, rootId.toString());\n  return RootIds.get(root);\n}\n/**\r\n * Convert the options to a string Id, based on the values.\r\n * Ensures we can reuse the same observer when observing elements with the same options.\r\n * @param options\r\n */\n\n\nfunction optionsToId(options) {\n  return Object.keys(options).sort().filter(key => options[key] !== undefined).map(key => {\n    return `${key}_${key === 'root' ? getRootId(options.root) : options[key]}`;\n  }).toString();\n}\n\nfunction createObserver(options) {\n  // Create a unique ID for this observer instance, based on the root, root margin and threshold.\n  let id = optionsToId(options);\n  let instance = observerMap.get(id);\n\n  if (!instance) {\n    // Create a map of elements this observer is going to observe. Each element has a list of callbacks that should be triggered, once it comes into view.\n    const elements = new Map();\n    let thresholds;\n    const observer = new IntersectionObserver(entries => {\n      entries.forEach(entry => {\n        var _elements$get;\n\n        // While it would be nice if you could just look at isIntersecting to determine if the component is inside the viewport, browsers can't agree on how to use it.\n        // -Firefox ignores `threshold` when considering `isIntersecting`, so it will never be false again if `threshold` is > 0\n        const inView = entry.isIntersecting && thresholds.some(threshold => entry.intersectionRatio >= threshold); // @ts-ignore support IntersectionObserver v2\n\n        if (options.trackVisibility && typeof entry.isVisible === 'undefined') {\n          // The browser doesn't support Intersection Observer v2, falling back to v1 behavior.\n          // @ts-ignore\n          entry.isVisible = inView;\n        }\n\n        (_elements$get = elements.get(entry.target)) == null ? void 0 : _elements$get.forEach(callback => {\n          callback(inView, entry);\n        });\n      });\n    }, options); // Ensure we have a valid thresholds array. If not, use the threshold from the options\n\n    thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n    instance = {\n      id,\n      observer,\n      elements\n    };\n    observerMap.set(id, instance);\n  }\n\n  return instance;\n}\n/**\r\n * @param element - DOM Element to observe\r\n * @param callback - Callback function to trigger when intersection status changes\r\n * @param options - Intersection Observer options\r\n * @param fallbackInView - Fallback inView value.\r\n * @return Function - Cleanup function that should be triggered to unregister the observer\r\n */\n\n\nfunction observe(element, callback, options = {}, fallbackInView = unsupportedValue) {\n  if (typeof window.IntersectionObserver === 'undefined' && fallbackInView !== undefined) {\n    const bounds = element.getBoundingClientRect();\n    callback(fallbackInView, {\n      isIntersecting: fallbackInView,\n      target: element,\n      intersectionRatio: typeof options.threshold === 'number' ? options.threshold : 0,\n      time: 0,\n      boundingClientRect: bounds,\n      intersectionRect: bounds,\n      rootBounds: bounds\n    });\n    return () => {// Nothing to cleanup\n    };\n  } // An observer with the same options can be reused, so lets use this fact\n\n\n  const {\n    id,\n    observer,\n    elements\n  } = createObserver(options); // Register the callback listener for this element\n\n  let callbacks = elements.get(element) || [];\n\n  if (!elements.has(element)) {\n    elements.set(element, callbacks);\n  }\n\n  callbacks.push(callback);\n  observer.observe(element);\n  return function unobserve() {\n    // Remove the callback from the callback list\n    callbacks.splice(callbacks.indexOf(callback), 1);\n\n    if (callbacks.length === 0) {\n      // No more callback exists for element, so destroy it\n      elements.delete(element);\n      observer.unobserve(element);\n    }\n\n    if (elements.size === 0) {\n      // No more elements are being observer by this instance, so destroy it\n      observer.disconnect();\n      observerMap.delete(id);\n    }\n  };\n}\n\nconst _excluded = [\"children\", \"as\", \"triggerOnce\", \"threshold\", \"root\", \"rootMargin\", \"onChange\", \"skip\", \"trackVisibility\", \"delay\", \"initialInView\", \"fallbackInView\"];\n\nfunction isPlainChildren(props) {\n  return typeof props.children !== 'function';\n}\n/**\r\n ## Render props\r\n\n To use the `<InView>` component, you pass it a function. It will be called\r\n whenever the state changes, with the new value of `inView`. In addition to the\r\n `inView` prop, children also receive a `ref` that should be set on the\r\n containing DOM element. This is the element that the IntersectionObserver will\r\n monitor.\r\n\n If you need it, you can also access the\r\n [`IntersectionObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry)\r\n on `entry`, giving you access to all the details about the current intersection\r\n state.\r\n\n ```jsx\r\n import { InView } from 'react-intersection-observer';\r\n\n const Component = () => (\r\n <InView>\r\n {({ inView, ref, entry }) => (\r\n      <div ref={ref}>\r\n        <h2>{`Header inside viewport ${inView}.`}</h2>\r\n      </div>\r\n    )}\r\n </InView>\r\n );\r\n\n export default Component;\r\n ```\r\n\n ## Plain children\r\n\n You can pass any element to the `<InView />`, and it will handle creating the\r\n wrapping DOM element. Add a handler to the `onChange` method, and control the\r\n state in your own component. Any extra props you add to `<InView>` will be\r\n passed to the HTML element, allowing you set the `className`, `style`, etc.\r\n\n ```jsx\r\n import { InView } from 'react-intersection-observer';\r\n\n const Component = () => (\r\n <InView as=\"div\" onChange={(inView, entry) => console.log('Inview:', inView)}>\r\n <h2>Plain children are always rendered. Use onChange to monitor state.</h2>\r\n </InView>\r\n );\r\n\n export default Component;\r\n ```\r\n */\n\n\nclass InView extends React.Component {\n  constructor(props) {\n    super(props);\n    this.node = null;\n    this._unobserveCb = null;\n\n    this.handleNode = node => {\n      if (this.node) {\n        // Clear the old observer, before we start observing a new element\n        this.unobserve();\n\n        if (!node && !this.props.triggerOnce && !this.props.skip) {\n          // Reset the state if we get a new node, and we aren't ignoring updates\n          this.setState({\n            inView: !!this.props.initialInView,\n            entry: undefined\n          });\n        }\n      }\n\n      this.node = node ? node : null;\n      this.observeNode();\n    };\n\n    this.handleChange = (inView, entry) => {\n      if (inView && this.props.triggerOnce) {\n        // If `triggerOnce` is true, we should stop observing the element.\n        this.unobserve();\n      }\n\n      if (!isPlainChildren(this.props)) {\n        // Store the current State, so we can pass it to the children in the next render update\n        // There's no reason to update the state for plain children, since it's not used in the rendering.\n        this.setState({\n          inView,\n          entry\n        });\n      }\n\n      if (this.props.onChange) {\n        // If the user is actively listening for onChange, always trigger it\n        this.props.onChange(inView, entry);\n      }\n    };\n\n    this.state = {\n      inView: !!props.initialInView,\n      entry: undefined\n    };\n  }\n\n  componentDidUpdate(prevProps) {\n    // If a IntersectionObserver option changed, reinit the observer\n    if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n      this.unobserve();\n      this.observeNode();\n    }\n  }\n\n  componentWillUnmount() {\n    this.unobserve();\n    this.node = null;\n  }\n\n  observeNode() {\n    if (!this.node || this.props.skip) return;\n    const {\n      threshold,\n      root,\n      rootMargin,\n      trackVisibility,\n      delay,\n      fallbackInView\n    } = this.props;\n    this._unobserveCb = observe(this.node, this.handleChange, {\n      threshold,\n      root,\n      rootMargin,\n      // @ts-ignore\n      trackVisibility,\n      // @ts-ignore\n      delay\n    }, fallbackInView);\n  }\n\n  unobserve() {\n    if (this._unobserveCb) {\n      this._unobserveCb();\n\n      this._unobserveCb = null;\n    }\n  }\n\n  render() {\n    if (!isPlainChildren(this.props)) {\n      const {\n        inView,\n        entry\n      } = this.state;\n      return this.props.children({\n        inView,\n        entry,\n        ref: this.handleNode\n      });\n    }\n\n    const _this$props = this.props,\n          {\n      children,\n      as\n    } = _this$props,\n          props = _objectWithoutPropertiesLoose(_this$props, _excluded);\n\n    return React.createElement(as || 'div', _extends({\n      ref: this.handleNode\n    }, props), children);\n  }\n\n}\n\n/**\r\n * React Hooks make it easy to monitor the `inView` state of your components. Call\r\n * the `useInView` hook with the (optional) [options](#options) you need. It will\r\n * return an array containing a `ref`, the `inView` status and the current\r\n * [`entry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry).\r\n * Assign the `ref` to the DOM element you want to monitor, and the hook will\r\n * report the status.\r\n *\r\n * @example\r\n * ```jsx\r\n * import React from 'react';\r\n * import { useInView } from 'react-intersection-observer';\r\n *\r\n * const Component = () => {\r\n *   const { ref, inView, entry } = useInView({\r\n *       threshold: 0,\r\n *   });\r\n *\r\n *   return (\r\n *     <div ref={ref}>\r\n *       <h2>{`Header inside viewport ${inView}.`}</h2>\r\n *     </div>\r\n *   );\r\n * };\r\n * ```\r\n */\n\nfunction useInView({\n  threshold,\n  delay,\n  trackVisibility,\n  rootMargin,\n  root,\n  triggerOnce,\n  skip,\n  initialInView,\n  fallbackInView,\n  onChange\n} = {}) {\n  var _state$entry;\n\n  const [ref, setRef] = React.useState(null);\n  const callback = React.useRef();\n  const [state, setState] = React.useState({\n    inView: !!initialInView,\n    entry: undefined\n  }); // Store the onChange callback in a `ref`, so we can access the latest instance\n  // inside the `useEffect`, but without triggering a rerender.\n\n  callback.current = onChange;\n  React.useEffect(() => {\n    // Ensure we have node ref, and that we shouldn't skip observing\n    if (skip || !ref) return;\n    let unobserve;\n    unobserve = observe(ref, (inView, entry) => {\n      setState({\n        inView,\n        entry\n      });\n      if (callback.current) callback.current(inView, entry);\n\n      if (entry.isIntersecting && triggerOnce && unobserve) {\n        // If it should only trigger once, unobserve the element after it's inView\n        unobserve();\n        unobserve = undefined;\n      }\n    }, {\n      root,\n      rootMargin,\n      threshold,\n      // @ts-ignore\n      trackVisibility,\n      // @ts-ignore\n      delay\n    }, fallbackInView);\n    return () => {\n      if (unobserve) {\n        unobserve();\n      }\n    };\n  }, // We break the rule here, because we aren't including the actual `threshold` variable\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  [// If the threshold is an array, convert it to a string, so it won't change between renders.\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  Array.isArray(threshold) ? threshold.toString() : threshold, ref, root, rootMargin, triggerOnce, skip, trackVisibility, fallbackInView, delay]);\n  const entryTarget = (_state$entry = state.entry) == null ? void 0 : _state$entry.target;\n  const previousEntryTarget = React.useRef();\n\n  if (!ref && entryTarget && !triggerOnce && !skip && previousEntryTarget.current !== entryTarget) {\n    // If we don't have a node ref, then reset the state (unless the hook is set to only `triggerOnce` or `skip`)\n    // This ensures we correctly reflect the current state - If you aren't observing anything, then nothing is inView\n    previousEntryTarget.current = entryTarget;\n    setState({\n      inView: !!initialInView,\n      entry: undefined\n    });\n  }\n\n  const result = [setRef, state.inView, state.entry]; // Support object destructuring, by adding the specific values.\n\n  result.ref = result[0];\n  result.inView = result[1];\n  result.entry = result[2];\n  return result;\n}\n\nexport { InView, defaultFallbackInView, observe, useInView };\n//# sourceMappingURL=react-intersection-observer.modern.mjs.map\n"],"names":["a","b","c","d","e","default","f","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","g","arguments","length","forEach","l","getOwnPropertyDescriptors","defineProperties","defineProperty","h","srcList","imgPromise","o","decode","useSuspense","j","useState","k","p","q","join","r","promise","s","cache","error","src","isLoading","then","m","n","crossOrigin","Promise","Image","onload","onerror","Array","isArray","reduce","shift","t","u","Img","loader","unloader","i","container","loaderContainer","unloaderContainer","v","w","crossorigin","x","y","z","A","B","C","createElement","useImage","value","exports","defaultUrl","xxsmUrl","xsmUrl","xlgUrl","title","loading","className","media","getBreakpoint","xlg","from","srcSet","xsm","alt","FallbackImg","props","cssClass","window","isPrerenderCrawler","wrapperClassName","draggable","ariaLabel","onClick","width","height","lazy","undefined","sanitizer","sanitize","html","renderWrapper","sanitizeOptions","parseScripts","scriptsContainerRef","useHtmlScriptParser","dangerouslySetInnerHTML","__html","toString","style","display","ref","useBrowserMediaQuery","size","useMediaQuery","minWidth","maxWidth","to","useFromBrowserMediaQuery","useBrowserCustomMediaQuery","useBrowserMinMediaQuery","useIsMobile","sm","useIsDesktop","lg","useIsFromXSmall","useIsFromMedium","md","Mobile","children","Desktop","NotDesktop","enabled","queue","useRef","useEffect","template","document","innerHTML","getElementsByTagName","map","script","scriptElement","setAttribute","attributes","attr","name","append","createScriptElement","exScript","resolve","reject","current","func","run","gaPromoCreative","gaPromoId","gaPromoName","gaPromoPosition","inView","triggerOnce","threshold","viewPromotion","click","selectPromotion","items","epiTag","itemCssClass","renderItem","areaItems","contentLink","expanded","contentAreaItem","index","expandedValue","options","isContentAreaItem","LazyComponent","epiComponentProps","contentAreaItemClasses","displayOption","guidValue","headline","text","linkUrl","btnText","imageUrl","hidePreambles","isContainedInArticlePage","href","menuRoot","nodes","item","url","id","filterNodes","filteredContentId","contentAreaReferenceIds","node","includes","getBottomNav","currentPageContentId","parentPageContentId","articleModulesBig","articleModulesSmall","showSiblings","contentReferenceId","menu","contentDeliveryApi","getMenu","heroImageUrl","disablePaddingOnMobile","heroImageHalfSize","preamble","preambleImageUrl","largeImageUrl","mainBody","mainBody2","mainBody3","mainBody4","modules","modules2","modules3","modules4","articleModulesBigHeader","articleModulesSmallHeader","hideSubmenu","bottomModules","parentLink","showSiblingsInMenu","headData","pageTypeNameForAnalytics","menuPageContentId","ADD_ATTR","USE_PROFILES","result","bottomNavigation","execute","getBottomNavigation","useAsyncDispatcher","parentLinkId","PageProperties","MainPageLayout","sideMenuSlot","SideBarMenu","heroSlot","DynamicHeroMedia","subHeroSlot","RawHtml","EpiContentArea","componentProps","isArticlePage","isDefaultDisplayOption","EpiArticlePageSmallPartial","EpiArticlePagePartial","heroImage","hasSideMenu","preambleImage","largeImage","image","contentId","sideBarMenuContentId","content","contentType","getCssClassForDisplayOptionWithDefaultTag","potentialCssClass","coopSettings","epi","blockDisplayOptionToCssClass","baseChildrenCssClass","filterContentArea","contentArea","predicate","Boolean","filterContentType","contents","isEpiEditMode","URLSearchParams","location","search","get","mapEpiPageHeadData","page","canonicalUrl","pageTitle","link","canonical","meta","description","metaDescription","isEpiPageViewSettings","moduleHeadline","modulePreamble","moduleLinkText","moduleImage","toPropertyKey","module","configurable","writable","__esModule","hasOwnProperty","call","indexOf","_typeof","Symbol","toPrimitive","TypeError","String","Number","iterator","constructor","prototype","observerMap","Map","RootIds","WeakMap","unsupportedValue","rootId","observe","element","callback","fallbackInView","IntersectionObserver","bounds","getBoundingClientRect","isIntersecting","target","intersectionRatio","time","boundingClientRect","intersectionRect","rootBounds","observer","elements","sort","key","root","has","set","optionsToId","instance","thresholds","entries","entry","_elements$get","some","trackVisibility","isVisible","createObserver","callbacks","splice","delete","unobserve","disconnect","useInView","delay","rootMargin","skip","initialInView","onChange","_state$entry","setRef","state","setState","entryTarget","previousEntryTarget"],"sourceRoot":""}