{"version":3,"file":"static/chunks/4341.c9f5358eeaa6f4b4.js","mappings":"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","sources":["webpack://_N_E/./components/AnchorLink/AnchorLink.js","webpack://_N_E/./components/AnchorLink/index.js","webpack://_N_E/./components/RawHtml/RawHtml.js","webpack://_N_E/./components/RawHtml/index.js","webpack://_N_E/./components/RichText/RichText.js","webpack://_N_E/./components/RichText/index.js","webpack://_N_E/./components/ShortFacts/ShortFacts.js","webpack://_N_E/./components/ShortFacts/index.js","webpack://_N_E/./components/AnchorLink/AnchorLink.module.scss","webpack://_N_E/./components/RawHtml/RawHtml.module.scss","webpack://_N_E/./components/RichText/RichText.module.scss","webpack://_N_E/./components/ShortFacts/ShortFacts.module.scss","webpack://_N_E/./node_modules/react-animate-height/dist/esm/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport s from './AnchorLink.module.scss';\n\nconst AnchorLink = ({ children, title, id, className = '' }) => {\n if (!id) {\n return <span>{title || children}</span>;\n }\n\n const classes = classNames(s['Root'], 'Anchor', {\n [`${className}`]: className,\n });\n return (\n <a className={classes} href={`#${id}`} id={id}>\n <span>{title || children}</span>\n </a>\n );\n};\n\nAnchorLink.propTypes = {\n title: PropTypes.string,\n id: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default AnchorLink;\n","import AnchorLink from './AnchorLink';\n\nexport default AnchorLink;\n","import { useTranslation } from 'next-i18next';\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport AnimateHeight from 'react-animate-height';\nimport RichText from '../RichText';\nimport styles from './RawHtml.module.scss';\n\nconst RawHtml = ({\n html = '',\n isExpandable = false,\n modifier,\n untranslatedModifiers = [],\n facts = '',\n colors = null,\n}) => {\n const { t } = useTranslation('common');\n const [isOpen, setIsOpen] = useState(false);\n\n const expand = () => {\n setIsOpen(true);\n };\n\n const classes = classNames(\n styles['RawHtml'],\n {\n [styles['RawHtml--Expandable']]: isExpandable & !isOpen,\n [styles[`RawHtml--${modifier}`]]: typeof modifier !== 'undefined',\n },\n untranslatedModifiers.map((x) => styles[x])\n );\n\n return (\n <div className={classes}>\n <AnimateHeight\n height={!isExpandable || isOpen ? 'auto' : 200}\n duration={450}>\n <div className={styles['RawHtml__Html']}>\n <RichText colors={colors} html={html} />\n </div>\n </AnimateHeight>\n {isExpandable && !isOpen && (\n <button onClick={expand} className={styles['RawHtml__Expand']}>\n {t('rawHtml.expand')}\n </button>\n )}\n {facts && (\n <div\n className={styles['RawHtml__Facts']}\n dangerouslySetInnerHTML={{ __html: facts }}\n />\n )}\n </div>\n );\n};\n\nRawHtml.propTypes = {\n html: PropTypes.string,\n isExpandable: PropTypes.bool,\n modifier: PropTypes.string,\n facts: PropTypes.string,\n untranslatedModifiers: PropTypes.arrayOf(PropTypes.string),\n};\n\nexport default RawHtml;\n","import RawHtml from './RawHtml';\n\nexport default RawHtml;\n","import React from 'react';\nimport classNames from 'classnames';\nimport styles from './RichText.module.scss';\n\nconst RichText = ({ html = '', colors = null }) => {\n const classes = classNames(styles['RichText'], {\n [styles[`RichText--${colors}`]]: colors,\n });\n\n return (\n <div dangerouslySetInnerHTML={{ __html: html }} className={classes} />\n );\n};\n\nexport default RichText;\n","import RichText from './RichText';\n\nexport default RichText;\n","import React, { useState, useRef, useEffect } from 'react';\nimport RawHtml from '../RawHtml';\nimport PropTypes from 'prop-types';\nimport AnimateHeight from 'react-animate-height';\n\nimport classNames from 'classnames';\nimport useMediaQuery from '../../utils/useMediaQuery';\nimport { breakpoints } from '../../constants';\nimport AnchorLink from '../AnchorLink';\n\nimport styles from './ShortFacts.module.scss';\n\nconst ShortFacts = ({ id, heading, anchorLink, content }) => {\n const contentId = `facts-${id}`;\n\n const isDesktop = useMediaQuery({\n query: `(min-width: ${breakpoints.l}px)`,\n });\n\n const [expanded, setExpanded] = useState(false);\n const contentContainerRef = useRef(null);\n\n const toggleExpanded = () => setExpanded(!expanded);\n\n // https://www.w3.org/WAI/GL/wiki/Using_the_WAI-ARIA_aria-expanded_state_to_mark_expandable_and_collapsible_regions#Example_1:_Using_a_button_to_collapse_and_expand_a_region\n useEffect(() => {\n if (expanded) {\n contentContainerRef.current.focus();\n }\n }, [expanded]);\n\n const HeadingElement = isDesktop ? 'h2' : 'button';\n\n const headingClasses = classNames(styles['ShortFacts__Heading'], {\n [styles['ShortFacts__Heading--Expanded']]: expanded,\n [styles['ShortFacts__Heading--Button']]: !isDesktop,\n });\n\n const headingProps = !isDesktop\n ? {\n onClick: toggleExpanded,\n 'aria-controls': contentId,\n 'aria-expanded': expanded,\n }\n : {};\n\n const contentClasses = classNames(styles['ShortFacts__Content'], {\n [styles['ShortFacts__Content--Expanded']]: expanded,\n });\n\n const contentProps = !isDesktop\n ? {\n id: contentId,\n role: 'region',\n tabIndex: -1,\n }\n : {};\n\n const contentVisible = expanded || isDesktop;\n\n const componentClasses = classNames(styles['ShortFacts'], {\n [styles['ShortFacts--Expanded']]: expanded,\n });\n\n return (\n <div className={componentClasses}>\n <div className={styles['ShortFacts__Container']}>\n <HeadingElement className={headingClasses} {...headingProps}>\n {isDesktop ? (\n <AnchorLink title={heading} id={anchorLink} />\n ) : (\n heading\n )}\n </HeadingElement>\n <AnimateHeight\n duration={!isDesktop ? 350 : 1}\n height={contentVisible ? 'auto' : 0}\n className={styles['ShortFacts__AnimationWrapper']}>\n <div\n className={contentClasses}\n ref={contentContainerRef}\n {...contentProps}>\n <RawHtml html={content} modifier=\"Inner\" />\n </div>\n </AnimateHeight>\n </div>\n </div>\n );\n};\n\nShortFacts.propTypes = {\n id: PropTypes.string,\n heading: PropTypes.string,\n anchorLink: PropTypes.string,\n content: PropTypes.string,\n};\n\nShortFacts.defaultProps = {\n id: '',\n heading: '',\n content: '',\n};\n\nexport default ShortFacts;\n","import ShortFacts from './ShortFacts';\n\nexport default ShortFacts;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"AnchorLink_Root__gIFSV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"RawHtml\":\"RawHtml_RawHtml__MCDEy\",\"RawHtml__Facts\":\"RawHtml_RawHtml__Facts__ALkxY\",\"RawHtml__Expand\":\"RawHtml_RawHtml__Expand__tpYny\",\"RawHtml--Inner\":\"RawHtml_RawHtml--Inner__TY3Ql\",\"RawHtml--Expandable\":\"RawHtml_RawHtml--Expandable__WlNjD\",\"RawHtml__Html\":\"RawHtml_RawHtml__Html__51USH\",\"RawHtml--InCampaignText\":\"RawHtml_RawHtml--InCampaignText__AnzBk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"RichText\":\"RichText_RichText___2Oh_\",\"RichText--WhiteOnBlue\":\"RichText_RichText--WhiteOnBlue__eeBFJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ShortFacts\":\"ShortFacts_ShortFacts__wYlAx\",\"ShortFacts__Heading\":\"ShortFacts_ShortFacts__Heading__kgPWf\",\"ShortFacts__Content\":\"ShortFacts_ShortFacts__Content__9SRQT\",\"ShortFacts__Container\":\"ShortFacts_ShortFacts__Container__zDen0\",\"ShortFacts--Expanded\":\"ShortFacts_ShortFacts--Expanded__EOaHS\",\"ShortFacts__Heading--Button\":\"ShortFacts_ShortFacts__Heading--Button__dExix\",\"ShortFacts__Heading--Expanded\":\"ShortFacts_ShortFacts__Heading--Expanded__FPk3T\",\"ShortFacts__Content--Expanded\":\"ShortFacts_ShortFacts__Content--Expanded__eVz_9\",\"RawHtml\":\"ShortFacts_RawHtml__xaBJv\",\"ShortFacts__List\":\"ShortFacts_ShortFacts__List__yLgDR\",\"ShortFacts__List__Item\":\"ShortFacts_ShortFacts__List__Item__ZpZ7i\"};","import React, { useEffect, useRef, useState } from 'react';\n// ------------------ Helpers\nfunction isNumber(n) {\n const number = parseFloat(n);\n return !isNaN(number) && isFinite(number);\n}\nfunction isPercentage(height) {\n // Percentage height\n return (typeof height === 'string' &&\n height[height.length - 1] === '%' &&\n isNumber(height.substring(0, height.length - 1)));\n}\nfunction hideContent(element, height, disableDisplayNone) {\n // Check for element?.style is added cause this would fail in tests (react-test-renderer)\n // Read more here: https://github.com/Stanko/react-animate-height/issues/17\n if (height === 0 &&\n !disableDisplayNone &&\n (element === null || element === void 0 ? void 0 : element.style) &&\n (element === null || element === void 0 ? void 0 : element.children.length) > 0) {\n element.style.display = 'none';\n }\n}\nfunction showContent(element, height) {\n // Check for element?.style is added cause this would fail in tests (react-test-renderer)\n // Read more here: https://github.com/Stanko/react-animate-height/issues/17\n if (height === 0 && (element === null || element === void 0 ? void 0 : element.style)) {\n element.style.display = '';\n }\n}\nconst ANIMATION_STATE_CLASSES = {\n animating: 'rah-animating',\n animatingUp: 'rah-animating--up',\n animatingDown: 'rah-animating--down',\n animatingToHeightZero: 'rah-animating--to-height-zero',\n animatingToHeightAuto: 'rah-animating--to-height-auto',\n animatingToHeightSpecific: 'rah-animating--to-height-specific',\n static: 'rah-static',\n staticHeightZero: 'rah-static--height-zero',\n staticHeightAuto: 'rah-static--height-auto',\n staticHeightSpecific: 'rah-static--height-specific',\n};\nfunction getStaticStateClasses(animationStateClasses, height) {\n return [\n animationStateClasses.static,\n height === 0 && animationStateClasses.staticHeightZero,\n typeof height === 'number' && height > 0\n ? animationStateClasses.staticHeightSpecific\n : null,\n height === 'auto' && animationStateClasses.staticHeightAuto,\n ]\n .filter((v) => v)\n .join(' ');\n}\n// ------------------ Component\nconst propsToOmitFromDiv = [\n 'animateOpacity',\n 'animationStateClasses',\n 'applyInlineTransitions',\n 'children',\n 'className',\n 'contentClassName',\n 'contentRef',\n 'delay',\n 'duration',\n 'easing',\n 'height',\n 'onHeightAnimationEnd',\n 'onHeightAnimationStart',\n 'style',\n 'disableDisplayNone',\n];\nconst AnimateHeight = React.forwardRef((componentProps, ref) => {\n // const AnimateHeight = forwardRef((componentProps: AnimateHeightProps, ref) => {\n // const AnimateHeight: React.FC<AnimateHeightProps> = (componentProps) => {\n const { animateOpacity = false, animationStateClasses = {}, applyInlineTransitions = true, children, className = '', contentClassName, delay: userDelay = 0, disableDisplayNone = false, duration: userDuration = 500, easing = 'ease', height, onHeightAnimationEnd, onHeightAnimationStart, style, contentRef, } = componentProps;\n const divProps = Object.assign({}, componentProps);\n propsToOmitFromDiv.forEach((propKey) => {\n delete divProps[propKey];\n });\n // ------------------ Initialization\n const prevHeight = useRef(height);\n const contentElement = useRef(null);\n const animationClassesTimeoutID = useRef();\n const timeoutID = useRef();\n const stateClasses = useRef(Object.assign(Object.assign({}, ANIMATION_STATE_CLASSES), animationStateClasses));\n const isBrowser = typeof window !== 'undefined';\n const prefersReducedMotion = useRef(isBrowser && window.matchMedia\n ? window.matchMedia('(prefers-reduced-motion)').matches\n : false);\n const delay = prefersReducedMotion.current ? 0 : userDelay;\n const duration = prefersReducedMotion.current ? 0 : userDuration;\n let initHeight = height;\n let initOverflow = 'visible';\n if (typeof height === 'number') {\n // Reset negative height to 0\n initHeight = height < 0 ? 0 : height;\n initOverflow = 'hidden';\n }\n else if (isPercentage(initHeight)) {\n // If value is string \"0%\" make sure we convert it to number 0\n initHeight = height === '0%' ? 0 : height;\n initOverflow = 'hidden';\n }\n const [currentHeight, setCurrentHeight] = useState(initHeight);\n const [overflow, setOverflow] = useState(initOverflow);\n const [useTransitions, setUseTransitions] = useState(false);\n const [animationStateClassNames, setAnimationStateClassNames] = useState(getStaticStateClasses(stateClasses.current, height));\n // ------------------ Did mount\n useEffect(() => {\n // Hide content if height is 0 (to prevent tabbing into it)\n hideContent(contentElement.current, currentHeight, disableDisplayNone);\n // This should be explicitly run only on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n // ------------------ Height update\n useEffect(() => {\n if (height !== prevHeight.current && contentElement.current) {\n showContent(contentElement.current, prevHeight.current);\n // Cache content height\n contentElement.current.style.overflow = 'hidden';\n const contentHeight = contentElement.current.offsetHeight;\n contentElement.current.style.overflow = '';\n // set total animation time\n const totalDuration = duration + delay;\n let newHeight;\n let timeoutHeight;\n let timeoutOverflow = 'hidden';\n let timeoutUseTransitions;\n const isCurrentHeightAuto = prevHeight.current === 'auto';\n if (typeof height === 'number') {\n // Reset negative height to 0\n newHeight = height < 0 ? 0 : height;\n timeoutHeight = newHeight;\n }\n else if (isPercentage(height)) {\n // If value is string \"0%\" make sure we convert it to number 0\n newHeight = height === '0%' ? 0 : height;\n timeoutHeight = newHeight;\n }\n else {\n // If not, animate to content height\n // and then reset to auto\n newHeight = contentHeight; // TODO solve contentHeight = 0\n timeoutHeight = 'auto';\n timeoutOverflow = undefined;\n }\n if (isCurrentHeightAuto) {\n // This is the height to be animated to\n timeoutHeight = newHeight;\n // If previous height was 'auto'\n // set starting height explicitly to be able to use transition\n newHeight = contentHeight;\n }\n // Animation classes\n const newAnimationStateClassNames = [\n stateClasses.current.animating,\n (prevHeight.current === 'auto' || height < prevHeight.current) &&\n stateClasses.current.animatingUp,\n (height === 'auto' || height > prevHeight.current) &&\n stateClasses.current.animatingDown,\n timeoutHeight === 0 && stateClasses.current.animatingToHeightZero,\n timeoutHeight === 'auto' &&\n stateClasses.current.animatingToHeightAuto,\n typeof timeoutHeight === 'number' && timeoutHeight > 0\n ? stateClasses.current.animatingToHeightSpecific\n : null,\n ]\n .filter((v) => v)\n .join(' ');\n // Animation classes to be put after animation is complete\n const timeoutAnimationStateClasses = getStaticStateClasses(stateClasses.current, timeoutHeight);\n // Set starting height and animating classes\n // When animating from 'auto' we first need to set fixed height\n // that change should be animated\n setCurrentHeight(newHeight);\n setOverflow('hidden');\n setUseTransitions(!isCurrentHeightAuto);\n setAnimationStateClassNames(newAnimationStateClassNames);\n // Clear timeouts\n clearTimeout(timeoutID.current);\n clearTimeout(animationClassesTimeoutID.current);\n if (isCurrentHeightAuto) {\n // When animating from 'auto' we use a short timeout to start animation\n // after setting fixed height above\n timeoutUseTransitions = true;\n // Short timeout to allow rendering of the initial animation state first\n timeoutID.current = setTimeout(() => {\n setCurrentHeight(timeoutHeight);\n setOverflow(timeoutOverflow);\n setUseTransitions(timeoutUseTransitions);\n // ANIMATION STARTS, run a callback if it exists\n onHeightAnimationStart === null || onHeightAnimationStart === void 0 ? void 0 : onHeightAnimationStart(timeoutHeight);\n }, 50);\n // Set static classes and remove transitions when animation ends\n animationClassesTimeoutID.current = setTimeout(() => {\n setUseTransitions(false);\n setAnimationStateClassNames(timeoutAnimationStateClasses);\n // ANIMATION ENDS\n // Hide content if height is 0 (to prevent tabbing into it)\n hideContent(contentElement.current, timeoutHeight, disableDisplayNone);\n // Run a callback if it exists\n onHeightAnimationEnd === null || onHeightAnimationEnd === void 0 ? void 0 : onHeightAnimationEnd(timeoutHeight);\n }, totalDuration);\n }\n else {\n // ANIMATION STARTS, run a callback if it exists\n onHeightAnimationStart === null || onHeightAnimationStart === void 0 ? void 0 : onHeightAnimationStart(newHeight);\n // Set end height, classes and remove transitions when animation is complete\n timeoutID.current = setTimeout(() => {\n setCurrentHeight(timeoutHeight);\n setOverflow(timeoutOverflow);\n setUseTransitions(false);\n setAnimationStateClassNames(timeoutAnimationStateClasses);\n // ANIMATION ENDS\n // If height is auto, don't hide the content\n // (case when element is empty, therefore height is 0)\n if (height !== 'auto') {\n // Hide content if height is 0 (to prevent tabbing into it)\n hideContent(contentElement.current, newHeight, disableDisplayNone); // TODO solve newHeight = 0\n }\n // Run a callback if it exists\n onHeightAnimationEnd === null || onHeightAnimationEnd === void 0 ? void 0 : onHeightAnimationEnd(newHeight);\n }, totalDuration);\n }\n }\n prevHeight.current = height;\n return () => {\n clearTimeout(timeoutID.current);\n clearTimeout(animationClassesTimeoutID.current);\n };\n // This should be explicitly run only on height change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [height]);\n // ------------------ Render\n const componentStyle = Object.assign(Object.assign({}, style), { height: currentHeight, overflow: overflow || (style === null || style === void 0 ? void 0 : style.overflow) });\n if (useTransitions && applyInlineTransitions) {\n componentStyle.transition = `height ${duration}ms ${easing} ${delay}ms`;\n // Include transition passed through styles\n if (style === null || style === void 0 ? void 0 : style.transition) {\n componentStyle.transition = `${style.transition}, ${componentStyle.transition}`;\n }\n // Add webkit vendor prefix still used by opera, blackberry...\n componentStyle.WebkitTransition = componentStyle.transition;\n }\n const contentStyle = {};\n if (animateOpacity) {\n contentStyle.transition = `opacity ${duration}ms ${easing} ${delay}ms`;\n // Add webkit vendor prefix still used by opera, blackberry...\n contentStyle.WebkitTransition = contentStyle.transition;\n if (currentHeight === 0) {\n contentStyle.opacity = 0;\n }\n }\n // Check if user passed aria-hidden prop\n const hasAriaHiddenProp = typeof divProps['aria-hidden'] !== 'undefined';\n const ariaHidden = hasAriaHiddenProp\n ? divProps['aria-hidden']\n : height === 0;\n return (React.createElement(\"div\", Object.assign({}, divProps, { \"aria-hidden\": ariaHidden, className: `${animationStateClassNames} ${className}`, style: componentStyle, ref: ref }),\n React.createElement(\"div\", { className: contentClassName, style: contentStyle, ref: (el) => {\n contentElement.current = el;\n if (contentRef) {\n contentRef.current = el;\n }\n } }, children)));\n});\nexport default AnimateHeight;\n"],"names":["AnchorLink","children","title","id","className","param","jsx_runtime","jsx","span","classes","classNames","s","concat","a","href","propTypes","PropTypes","components_AnchorLink","RawHtml","html","isExpandable","modifier","untranslatedModifiers","facts","colors","t","useTranslation","isOpen","setIsOpen","useState","styles","map","x","jsxs","div","AnimateHeight","height","duration","RichText","button","onClick","dangerouslySetInnerHTML","__html","components_RawHtml","components_RichText","ShortFacts","heading","anchorLink","content","contentId","isDesktop","useMediaQuery","query","breakpoints","l","expanded","setExpanded","contentContainerRef","useRef","useEffect","current","focus","headingClasses","headingProps","contentClasses","contentProps","role","tabIndex","contentVisible","componentClasses","HeadingElement","ref","defaultProps","components_ShortFacts","module","exports","isPercentage","length","isNumber","n","number","parseFloat","isNaN","isFinite","substring","hideContent","element","disableDisplayNone","style","display","ANIMATION_STATE_CLASSES","animating","animatingUp","animatingDown","animatingToHeightZero","animatingToHeightAuto","animatingToHeightSpecific","static","staticHeightZero","staticHeightAuto","staticHeightSpecific","getStaticStateClasses","animationStateClasses","filter","v","join","propsToOmitFromDiv","react__WEBPACK_IMPORTED_MODULE_0__","forwardRef","componentProps","animateOpacity","applyInlineTransitions","contentClassName","delay","userDelay","userDuration","easing","onHeightAnimationEnd","onHeightAnimationStart","contentRef","divProps","Object","assign","forEach","propKey","prevHeight","contentElement","animationClassesTimeoutID","timeoutID","stateClasses","isBrowser","window","prefersReducedMotion","matchMedia","matches","initHeight","initOverflow","currentHeight","setCurrentHeight","overflow","setOverflow","useTransitions","setUseTransitions","animationStateClassNames","setAnimationStateClassNames","newHeight","timeoutHeight","contentHeight","offsetHeight","totalDuration","timeoutOverflow","isCurrentHeightAuto","undefined","newAnimationStateClassNames","timeoutAnimationStateClasses","clearTimeout","setTimeout","componentStyle","transition","WebkitTransition","contentStyle","opacity","ariaHidden","hasAriaHiddenProp","createElement","el","__webpack_exports__","Z"],"sourceRoot":""}