{"version":3,"file":"client.d6c9bf941e9affaa88c3.js","mappings":"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","sources":["webpack://Reports/webpack/runtime/chunk loaded","webpack://Reports/./source/components/icon/icon.jsx","webpack://Reports/./source/js/stylesheet-utils.js","webpack://Reports/./source/js/scroll-utils.js","webpack://Reports/./source/js/breakpoints.js","webpack://Reports/./source/components/article-anchor-menu/article-anchor-menu.jsx","webpack://Reports/./source/constants/animations.js","webpack://Reports/./source/js/image-resizer.js","webpack://Reports/./source/js/dom-image-utils.js","webpack://Reports/./source/components/image/image.jsx","webpack://Reports/./source/hooks/use-breakpoints.js","webpack://Reports/./source/components/article-page-hero/article-page-hero.jsx","webpack://Reports/./source/components/person-teaser-block/person-teaser-block.jsx","webpack://Reports/./source/components/authors/authors.jsx","webpack://Reports/./source/components/article-sticky-sidebar/article-sticky-sidebar.jsx","webpack://Reports/./source/hooks/use-did-update-effect.js","webpack://Reports/./source/components/article-service-bar/article-service-bar.jsx","webpack://Reports/./source/components/board-block/board-block.jsx","webpack://Reports/./source/components/chapter-page-hero/chapter-page-hero.jsx","webpack://Reports/./source/components/models/link-base/link-base.jsx","webpack://Reports/./source/components/link/link-themes.js","webpack://Reports/./source/components/link/link-sizes.js","webpack://Reports/./source/components/link/link.jsx","webpack://Reports/./source/components/rich-text/rich-text.jsx","webpack://Reports/./source/components/chapter-teaser-block/chapter-teaser-block.jsx","webpack://Reports/./source/components/logo/logo.jsx","webpack://Reports/./source/components/footer/footer.jsx","webpack://Reports/./source/components/models/button-base/button-base.jsx","webpack://Reports/./source/components/models/aria-attributes/aria-attributes.js","webpack://Reports/./source/components/link-button/link-button-themes.js","webpack://Reports/./source/components/link-button/link-button.jsx","webpack://Reports/./source/components/go-to-page-content/go-to-page-content.jsx","webpack://Reports/./source/components/front-page-hero/front-page-hero.jsx","webpack://Reports/./source/components/models/menu-link/menu-link.jsx","webpack://Reports/./source/js/string-helper.js","webpack://Reports/./source/components/main-menu/main-menu-item.jsx","webpack://Reports/./source/components/main-menu/main-menu.jsx","webpack://Reports/./source/components/header/header.jsx","webpack://Reports/./source/hooks/use-toggle.js","webpack://Reports/./source/hooks/use-escape.js","webpack://Reports/./source/hooks/use-event.js","webpack://Reports/./source/components/image-block/image-block.jsx","webpack://Reports/./source/components/navigation-between-articles/navigation-between-articles-link-types.js","webpack://Reports/./source/components/navigation-between-articles/navigation-between-articles-link.jsx","webpack://Reports/./source/components/navigation-between-articles/navigation-between-articles.jsx","webpack://Reports/./source/components/parallax-bg-image/parallax-bg-image.jsx","webpack://Reports/./source/constants/parallax.js","webpack://Reports/./source/components/parallax-text-panel/parallax-text-panel.jsx","webpack://Reports/./source/components/poor-text/poor-text.jsx","webpack://Reports/./source/components/quote-block/quote-block.jsx","webpack://Reports/./source/components/quote-with-background-block/quote-with-background-block.jsx","webpack://Reports/./source/components/react-component/react-component.jsx","webpack://Reports/./source/components/references-block/references-block.jsx","webpack://Reports/./source/components/rich-text-block/rich-text-block.jsx","webpack://Reports/./source/components/skip-to-main/skip-to-main.jsx","webpack://Reports/./source/components/story-block/story-block.jsx","webpack://Reports/./source/components/table-of-content-block/table-of-content-block.jsx","webpack://Reports/./source/assets/inline-icons/icons.js","webpack://Reports/./source/js/polyfills/class-list.js","webpack://Reports/./source/js/input-detection.js","webpack://Reports/./source/js/input-detection-loader.js","webpack://Reports/./source/app.components-exposed.js","webpack://Reports/./source/assets/inline-icons/arrow-down.svg","webpack://Reports/./source/assets/inline-icons/arrow-right.svg","webpack://Reports/./source/assets/inline-icons/chevron-down.svg","webpack://Reports/./source/assets/inline-icons/close.svg","webpack://Reports/./source/assets/inline-icons/download.svg","webpack://Reports/./source/assets/inline-icons/menu.svg","webpack://Reports/./source/assets/inline-icons/ sync \\.svg$","webpack://Reports/webpack/bootstrap","webpack://Reports/webpack/runtime/compat get default export","webpack://Reports/webpack/runtime/define property getters","webpack://Reports/webpack/runtime/global","webpack://Reports/webpack/runtime/hasOwnProperty shorthand","webpack://Reports/webpack/runtime/make namespace object","webpack://Reports/webpack/runtime/jsonp chunk loading","webpack://Reports/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport cn from 'classnames';\r\n\r\n// NOTE: When running tests, importing SVGs directly will make the application crash, so all icons are exported as noops instead.\r\nconst icons = require(\r\n process.env.NODE_ENV === 'test'\r\n ? '../../assets/inline-icons/icons-noop.js'\r\n : '../../assets/inline-icons/icons.js'\r\n).default;\r\n\r\nconst Icon = ({ className, name, style, useFill }) =>\r\n icons[name]\r\n ? React.createElement(icons[name], {\r\n className: cn('icon', className, { '-use-fill-color': useFill }),\r\n focusable: 'false',\r\n style,\r\n })\r\n : null;\r\n\r\nIcon.propTypes = {\r\n className: PropTypes.string,\r\n name: PropTypes.oneOf(Object.keys(icons)).isRequired,\r\n style: PropTypes.shape({}),\r\n useFill: PropTypes.bool,\r\n};\r\n\r\nIcon.viewModelMeta = 'ignore';\r\n\r\nexport default Icon;\r\n","import isRunningOnClient from '@creuna/utils/is-running-on-client';\r\n\r\nexport const getNumericCssPropertyValue = propName => {\r\n if (!isRunningOnClient) return 0;\r\n\r\n return parseInt(\r\n getComputedStyle(document.documentElement).getPropertyValue(propName)\r\n );\r\n};\r\n","import { getNumericCssPropertyValue } from './stylesheet-utils';\r\n\r\nexport const scrollToBlock = (\r\n targetBlock,\r\n useTopMenuOffset = true,\r\n extraOffset = 0\r\n) => {\r\n const topMenuHeight = getNumericCssPropertyValue('--header-height');\r\n\r\n if (targetBlock) {\r\n const offset = useTopMenuOffset ? topMenuHeight : 0;\r\n const offsetWithExtra = offset + extraOffset;\r\n\r\n const y =\r\n targetBlock.getBoundingClientRect().top +\r\n window.scrollY -\r\n offsetWithExtra;\r\n\r\n window.scrollTo({ top: y, behavior: 'smooth' });\r\n }\r\n};\r\n","import isRunningOnClient from '@creuna/utils/is-running-on-client';\r\n\r\nfunction minWidth(size) {\r\n return function () {\r\n return isRunningOnClient\r\n ? window.matchMedia(`(min-width: ${size}px)`).matches\r\n : null;\r\n };\r\n}\r\n\r\nconst breakpoints = {\r\n s: 0,\r\n m: 768,\r\n l: 1024,\r\n ipadPro: 1025,\r\n mobileArticleSidebar: 1280,\r\n xl: 1800,\r\n};\r\n\r\nexport default {\r\n s: minWidth(breakpoints.s),\r\n m: minWidth(breakpoints.m),\r\n l: minWidth(breakpoints.l),\r\n ipadPro: minWidth(breakpoints.ipadPro),\r\n mobileArticleSidebar: minWidth(breakpoints.mobileArticleSidebar),\r\n xl: minWidth(breakpoints.xl),\r\n};\r\n","import React, {\r\n useState,\r\n useRef,\r\n useEffect,\r\n useImperativeHandle,\r\n forwardRef,\r\n} from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/icon';\r\nimport { scrollToBlock } from 'js/scroll-utils';\r\nimport breakpoints from 'js/breakpoints';\r\nimport { ARTICLE_SCROLL_ANIMATION_DURATION } from '../../constants/animations';\r\nimport cn from 'classnames';\r\nimport slugify from 'slugify';\r\n\r\nconst ANCHOR_HEADINGS_SELECT_QUERY = '.article-page__content h2';\r\nconst HIGHLIGHT_ACTIVE_ANCHOR_DISTANCE_THRESHOLD = 250;\r\n\r\nconst ArticleAnchorMenu = forwardRef(\r\n (\r\n {\r\n extraOffsetDesktop = 0,\r\n extraOffsetMobile = 0,\r\n heading,\r\n onScrollToAnchorStarted,\r\n },\r\n ref\r\n ) => {\r\n const [anchorLinks, setAnchorLinks] = useState([]);\r\n const [activeAnchorId, setActiveAnchorId] = useState(null);\r\n const anchorLinksRef = useRef(anchorLinks);\r\n const [isExpanded, setIsExpanded] = useState(true);\r\n const syncActiveAnchorOnScrollDisabledRef = useRef(false);\r\n const anchorLinkClickTimeoutRef = useRef(null);\r\n\r\n useImperativeHandle(ref, () => ({\r\n closeAnchorMenu() {\r\n setIsExpanded(false);\r\n },\r\n }));\r\n\r\n const setActiveAnchor = anchorId => {\r\n setActiveAnchorId(anchorId);\r\n };\r\n\r\n const syncActiveAnchorOnScroll = () => {\r\n if (syncActiveAnchorOnScrollDisabledRef.current) {\r\n return;\r\n }\r\n\r\n let activeId = null;\r\n\r\n const currentAnchorLinks = anchorLinksRef.current;\r\n\r\n for (let index = 0; index < currentAnchorLinks.length; index++) {\r\n const anchorLink = currentAnchorLinks[index];\r\n const rect = anchorLink.targetElement.getBoundingClientRect();\r\n const topOffset = rect.top;\r\n\r\n if (topOffset <= HIGHLIGHT_ACTIVE_ANCHOR_DISTANCE_THRESHOLD) {\r\n const nextTarget = currentAnchorLinks[index + 1];\r\n if (\r\n !(nextTarget && nextTarget.targetElement) ||\r\n (nextTarget.targetElement &&\r\n nextTarget.targetElement.getBoundingClientRect().top >\r\n HIGHLIGHT_ACTIVE_ANCHOR_DISTANCE_THRESHOLD)\r\n ) {\r\n activeId = anchorLink.id;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n setActiveAnchor(activeId);\r\n };\r\n\r\n const createAnchorMenu = () => {\r\n const h2Headings = document.querySelectorAll(\r\n ANCHOR_HEADINGS_SELECT_QUERY\r\n );\r\n\r\n const existingHeadings = new Set();\r\n\r\n const links = Array.from(h2Headings).map(headingNode => {\r\n let headingText = headingNode.textContent.trim();\r\n let headingId = slugify(headingText, {\r\n lower: true,\r\n strict: true,\r\n });\r\n const originalHeadingId = headingId;\r\n let counter = 1;\r\n\r\n const parentTargetClassName =\r\n headingNode.getAttribute('data-anchor-parent');\r\n const parentTarget = parentTargetClassName\r\n ? headingNode.closest(`.${parentTargetClassName}`)\r\n : null;\r\n\r\n while (existingHeadings.has(headingId)) {\r\n headingId = `${originalHeadingId}-${counter}`;\r\n counter++;\r\n }\r\n existingHeadings.add(headingId);\r\n\r\n headingNode.id = headingId;\r\n return {\r\n id: headingId,\r\n targetElement: parentTarget ? parentTarget : headingNode,\r\n text: headingText,\r\n };\r\n });\r\n\r\n setAnchorLinks(links);\r\n };\r\n\r\n const scrollToAnchor = id => {\r\n if (\r\n onScrollToAnchorStarted &&\r\n typeof onScrollToAnchorStarted === 'function'\r\n ) {\r\n onScrollToAnchorStarted();\r\n }\r\n\r\n if (anchorLinkClickTimeoutRef.current) {\r\n clearTimeout(anchorLinkClickTimeoutRef.current);\r\n }\r\n\r\n syncActiveAnchorOnScrollDisabledRef.current = true;\r\n window.history.pushState(null, null, `#${id}`);\r\n const targetAnchorLink = anchorLinks.find(link => link.id === id);\r\n\r\n if (targetAnchorLink) {\r\n scrollToBlock(\r\n targetAnchorLink.targetElement,\r\n true,\r\n breakpoints.mobileArticleSidebar()\r\n ? extraOffsetDesktop\r\n : extraOffsetMobile\r\n );\r\n }\r\n\r\n setActiveAnchor(id);\r\n\r\n anchorLinkClickTimeoutRef.current = setTimeout(() => {\r\n syncActiveAnchorOnScrollDisabledRef.current = false;\r\n\r\n if (!breakpoints.mobileArticleSidebar()) {\r\n setIsExpanded(false);\r\n }\r\n }, ARTICLE_SCROLL_ANIMATION_DURATION);\r\n };\r\n\r\n useEffect(() => {\r\n const hash = window.location.hash.slice(1);\r\n anchorLinksRef.current = anchorLinks;\r\n\r\n if (hash && anchorLinks && anchorLinks.length > 0) {\r\n setTimeout(() => {\r\n scrollToAnchor(hash);\r\n }, 500);\r\n }\r\n }, [anchorLinks]);\r\n\r\n useEffect(() => {\r\n window.addEventListener('DOMContentLoaded', createAnchorMenu);\r\n window.addEventListener('scroll', syncActiveAnchorOnScroll);\r\n\r\n return () => {\r\n window.removeEventListener('DOMContentLoaded', createAnchorMenu);\r\n window.removeEventListener('scroll', syncActiveAnchorOnScroll);\r\n };\r\n }, []);\r\n\r\n const onAnchorLinkClick = (e, id) => {\r\n e.preventDefault();\r\n scrollToAnchor(id);\r\n };\r\n\r\n const toggleExpanded = () => {\r\n setIsExpanded(prev => !prev);\r\n };\r\n\r\n return anchorLinks && anchorLinks.length > 0 ? (\r\n
\r\n \r\n {heading && (\r\n {heading}\r\n )}\r\n \r\n \r\n \r\n {anchorLinks.map(({ id, text }) => (\r\n \r\n onAnchorLinkClick(e, id)}\r\n className={cn('article-anchor-menu__link', {\r\n 'article-anchor-menu__link_active': activeAnchorId === id,\r\n })}\r\n >\r\n {text}\r\n \r\n \r\n ))}\r\n \r\n
\r\n ) : null;\r\n }\r\n);\r\n\r\nArticleAnchorMenu.viewModelMeta = {\r\n extraOffsetDesktop: 'ignore',\r\n extraOffsetMobile: 'ignore',\r\n onScrollToAnchorStarted: 'ignore',\r\n};\r\n\r\nArticleAnchorMenu.propTypes = {\r\n heading: PropTypes.string,\r\n extraOffsetDesktop: PropTypes.number,\r\n extraOffsetMobile: PropTypes.number,\r\n onScrollToAnchorStarted: PropTypes.func,\r\n};\r\n\r\nexport default ArticleAnchorMenu;\r\n","export const ARTICLE_SCROLL_ANIMATION_DURATION = 800;\r\n","import replaceQueryParameters from '@creuna/utils/replace-query-parameters';\r\nimport CryptoJs from 'crypto-js';\r\n\r\nconst resizeQueryHashSalt = '{DB2BF126-5117-49B4-AB02-949E94E711BD}';\r\n\r\nconst transforms = {\r\n downFit: 'downFit',\r\n downFill: 'downFill',\r\n};\r\n\r\nconst skipForResizeExtensions = ['svg'];\r\n\r\nconst queryParameters = {\r\n width: undefined,\r\n height: undefined,\r\n transform: undefined,\r\n center: undefined,\r\n};\r\n\r\nfunction checkImageCanBeResized(url) {\r\n if (!url) return false;\r\n var extension = url.split(/#|\\?/)[0].split('.').pop().trim();\r\n extension = extension.toLowerCase();\r\n if (skipForResizeExtensions.some(item => item === extension)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\nfunction buildResizeUrl(url, width, height, transform, centerX, centerY) {\r\n if (!checkImageCanBeResized(url)) {\r\n return url;\r\n }\r\n\r\n var resizeUrl = replaceQueryParameters(\r\n url,\r\n Object.assign({}, queryParameters, {\r\n width: width > 0 ? width : undefined,\r\n height: height > 0 ? height : undefined,\r\n transform: transform,\r\n center:\r\n transform !== transforms.downFit\r\n ? serializeCenter(centerX, centerY)\r\n : undefined,\r\n })\r\n );\r\n\r\n const resizeQuery = resizeUrl.split(/#|\\?/)[1];\r\n if (resizeQuery) {\r\n var queryHash = CryptoJs.MD5(\r\n resizeQuery.replace('%2C', '%2c') + resizeQueryHashSalt\r\n );\r\n resizeUrl = replaceQueryParameters(resizeUrl, { hash: queryHash });\r\n }\r\n\r\n return resizeUrl;\r\n}\r\n\r\nfunction calcImageWidth(containerWidth, resolution) {\r\n resolution = resolution > 0 ? resolution : 1;\r\n return (\r\n Math.ceil((containerWidth * (window.devicePixelRatio || 1)) / resolution) *\r\n resolution\r\n );\r\n}\r\n\r\nfunction calcImageHeight(containerHeight, resolution) {\r\n resolution = resolution > 0 ? resolution : 1;\r\n return (\r\n Math.ceil((containerHeight * (window.devicePixelRatio || 1)) / resolution) *\r\n resolution\r\n );\r\n}\r\n\r\nfunction getHeightByWidthAndProportion(\r\n realWidth,\r\n proportionWidth,\r\n proportionHeight\r\n) {\r\n return Math.ceil(realWidth * (proportionHeight / proportionWidth));\r\n}\r\n\r\nfunction getWidthByHeightAndProportion(\r\n realHeight,\r\n proportionWidth,\r\n proportionHeight\r\n) {\r\n return Math.ceil(realHeight / (proportionHeight / proportionWidth));\r\n}\r\n\r\nfunction getHeightWithParallaxOffset(height, parallaxOffsetPercentage) {\r\n return height + Math.ceil((parallaxOffsetPercentage / 100) * height);\r\n}\r\n\r\nfunction serializeCenter(x, y) {\r\n if (x > 0 || y > 0) {\r\n return `${x / 100},${y / 100}`;\r\n }\r\n return undefined;\r\n}\r\n\r\nexport default {\r\n buildResizeUrl,\r\n checkImageCanBeResized,\r\n calcImageWidth,\r\n calcImageHeight,\r\n getHeightByWidthAndProportion,\r\n getWidthByHeightAndProportion,\r\n getHeightWithParallaxOffset,\r\n Transforms: transforms,\r\n};\r\n","export function createHtmlImage() {\r\n var image = typeof Image !== 'undefined' ? new Image() : {};\r\n return image;\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport debounce from 'lodash/debounce';\r\nimport imageResizer from 'js/image-resizer';\r\nimport cn from 'classnames';\r\nimport { createHtmlImage } from 'js/dom-image-utils';\r\n\r\nconst FirstLoadSizeMultiplier = 0.05; // First time we preload smaller image in order to reduce wait time.\r\n\r\n/**\r\n * Image\r\n *\r\n * Key notes:\r\n * - automatically responsive by default (size is automatically calculated from container size)\r\n * - default transform is 'fill'\r\n * - width or height can be fixed (useful for fluid images), in this case default transform is 'fit'\r\n * - when both width and height are defined it becomes unresponsive.\r\n * - can be rendered as fluid or ordinary image\r\n * - resolution it is kind of steps for automatic size calculation, for example if resolution is 100, horizontal image width could be 100,200,300...1200... and height is calculated according to aspect ratio and vise versa for vertical image\r\n * - default resolutions for images with size > 100 is 100 for < 100 is 10\r\n * - device pixel ratio is taken into account for calculating image size\r\n *\r\n * Transforms:\r\n * 'fill' - image is cropped according to container proportions to fill it completely.\r\n * 'fit' - image is resized with saving original proportions to fit container by width or height.\r\n */\r\nclass Image extends React.Component {\r\n static transforms = {\r\n fill: 'fill',\r\n fit: 'fit',\r\n };\r\n\r\n static propTypes = {\r\n className: PropTypes.string,\r\n src: PropTypes.string.isRequired,\r\n alt: PropTypes.string,\r\n transform: PropTypes.oneOf(Object.values(Image.transforms)),\r\n fluid: PropTypes.bool,\r\n focusPoint: PropTypes.shape({\r\n x: PropTypes.number.isRequired,\r\n y: PropTypes.number.isRequired,\r\n }),\r\n width: PropTypes.number,\r\n height: PropTypes.number,\r\n resolution: PropTypes.number,\r\n };\r\n\r\n static viewModelMeta = {\r\n className: 'ignore',\r\n transform: 'ignore',\r\n fluid: 'ignore',\r\n width: 'ignore',\r\n height: 'ignore',\r\n resolution: 'ignore',\r\n };\r\n\r\n canBeResized = imageResizer.checkImageCanBeResized(this.props.src);\r\n autoTransform = this.constructor.transforms.fill;\r\n autoCalcWidthOnly = false;\r\n autoCalcHeightOnly = false;\r\n\r\n state = {\r\n src: this.canBeResized ? undefined : this.props.src,\r\n width: 0,\r\n height: 0,\r\n ratio: 0,\r\n containerOffsetWidth: 0,\r\n containerOffsetHeight: 0,\r\n };\r\n\r\n preloadImage = createHtmlImage();\r\n firstPreloadImage = createHtmlImage();\r\n\r\n handleResize = () => {\r\n if (\r\n !this.container ||\r\n (this.container.offsetWidth === 0 && this.container.offsetHeight === 0)\r\n ) {\r\n return;\r\n }\r\n\r\n if (this.container.offsetWidth === 0 || this.container.offsetHeight === 0) {\r\n this.autoTransform = Image.transforms.fit;\r\n this.autoCalcWidthOnly = this.container.offsetWidth > 0;\r\n this.autoCalcHeightOnly = this.container.offsetHeight > 0;\r\n }\r\n\r\n const skipByWidth =\r\n this.props.width > 0\r\n ? this.state.width === this.props.width\r\n : this.container.offsetWidth === this.state.containerOffsetWidth;\r\n\r\n const skipByHeight =\r\n this.props.height > 0\r\n ? this.state.height === this.props.height\r\n : this.container.offsetHeight === this.state.containerOffsetHeight;\r\n\r\n if (skipByWidth && skipByHeight && this.firstPreloadImage.src) {\r\n return;\r\n }\r\n\r\n const resolutionByWidth =\r\n !(this.props.width > 0) &&\r\n this.container.offsetWidth > this.container.offsetHeight;\r\n\r\n let resolution = this.props.resolution;\r\n if (!(resolution > 0)) {\r\n var resolutionSize = resolutionByWidth\r\n ? this.container.offsetWidth\r\n : this.container.offsetHeight;\r\n\r\n resolution = resolutionSize > 100 ? 100 : 10;\r\n }\r\n\r\n const widthResolution = resolutionByWidth ? resolution : 1;\r\n const heightResolution = resolutionByWidth ? 1 : resolution;\r\n\r\n let newWidth =\r\n this.props.width > 0\r\n ? this.props.width\r\n : this.autoCalcHeightOnly\r\n ? 0\r\n : imageResizer.calcImageWidth(\r\n this.container.offsetWidth,\r\n widthResolution\r\n );\r\n\r\n let newHeight =\r\n this.props.height > 0\r\n ? this.props.height\r\n : this.autoCalcWidthOnly\r\n ? 0\r\n : imageResizer.calcImageHeight(\r\n this.container.offsetHeight,\r\n heightResolution\r\n );\r\n\r\n if (resolutionByWidth) {\r\n if (!this.autoCalcWidthOnly && !this.props.height > 0) {\r\n newHeight = Math.ceil(\r\n newWidth / (this.container.offsetWidth / this.container.offsetHeight)\r\n );\r\n }\r\n } else {\r\n if (!this.autoCalcHeightOnly && !this.props.width > 0) {\r\n newWidth = Math.ceil(\r\n newHeight / (this.container.offsetHeight / this.container.offsetWidth)\r\n );\r\n }\r\n }\r\n\r\n const newRatio =\r\n this.container.offsetHeight > 0\r\n ? Math.ceil(this.container.offsetWidth / this.container.offsetHeight)\r\n : 1;\r\n\r\n this.setState(previousState => {\r\n if (\r\n previousState.width >= newWidth &&\r\n previousState.height >= newHeight &&\r\n previousState.ratio === newRatio\r\n ) {\r\n return {\r\n containerOffsetWidth: this.container.offsetWidth,\r\n containerOffsetHeight: this.container.offsetHeight,\r\n };\r\n }\r\n\r\n const newSrc = imageResizer.buildResizeUrl(\r\n this.props.src,\r\n newWidth,\r\n newHeight,\r\n (this.props.transform || this.autoTransform) === Image.transforms.fill\r\n ? imageResizer.Transforms.downFill\r\n : imageResizer.Transforms.downFit,\r\n this.props.focusPoint ? this.props.focusPoint.x : null,\r\n this.props.focusPoint ? this.props.focusPoint.y : null\r\n );\r\n\r\n if (!this.firstPreloadImage.src && !this.state.src) {\r\n var firstLoadWidth = Math.ceil(newWidth * FirstLoadSizeMultiplier);\r\n var firstLoadHeight = Math.ceil(newHeight * FirstLoadSizeMultiplier);\r\n if (firstLoadWidth > 0 && firstLoadHeight > 0) {\r\n const firstLoadSrc = imageResizer.buildResizeUrl(\r\n this.props.src,\r\n firstLoadWidth,\r\n firstLoadHeight,\r\n (this.props.transform || this.autoTransform) ===\r\n Image.transforms.fill\r\n ? imageResizer.Transforms.downFill\r\n : imageResizer.Transforms.downFit,\r\n this.props.focusPoint ? this.props.focusPoint.x : null,\r\n this.props.focusPoint ? this.props.focusPoint.y : null\r\n );\r\n this.firstPreloadImage.src = firstLoadSrc;\r\n }\r\n }\r\n\r\n if (newSrc !== this.state.src) {\r\n this.preloadImage.src = newSrc;\r\n }\r\n\r\n return {\r\n width: newWidth,\r\n height: newHeight,\r\n ratio: newRatio,\r\n containerOffsetWidth: this.container.offsetWidth,\r\n containerOffsetHeight: this.container.offsetHeight,\r\n };\r\n });\r\n };\r\n\r\n debouncedHandleResize = debounce(this.handleResize, 300);\r\n\r\n onFirstSrcPreloaded() {\r\n if (!this.state.src) {\r\n this.setState({ src: this.firstPreloadImage.src });\r\n }\r\n }\r\n\r\n onSrcPreloaded() {\r\n this.setState({ src: this.preloadImage.src });\r\n }\r\n\r\n checkElementIsHidden(element) {\r\n return !element.offsetParent;\r\n }\r\n\r\n isHidden() {\r\n return this.checkElementIsHidden(this.container);\r\n }\r\n\r\n getHiddenRoot() {\r\n if (!this.checkElementIsHidden(this.container)) {\r\n return null;\r\n }\r\n\r\n var parent = this.container.parentElement;\r\n while (parent && this.checkElementIsHidden(parent.parentElement)) {\r\n parent = parent.parentElement;\r\n }\r\n\r\n return parent;\r\n }\r\n\r\n onObservedChange() {\r\n if (!this.isHidden()) {\r\n this.debouncedHandleResize();\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const self = this;\r\n this.firstPreloadImage.onload = () => {\r\n self.onFirstSrcPreloaded();\r\n };\r\n this.preloadImage.onload = () => {\r\n self.onSrcPreloaded();\r\n };\r\n if (this.canBeResized) {\r\n this.handleResize();\r\n this.debouncedHandleResize();\r\n window.addEventListener('resize', this.debouncedHandleResize);\r\n }\r\n\r\n this.observer = this.canBeResized\r\n ? new MutationObserver(() => this.onObservedChange.call(this))\r\n : null;\r\n\r\n if (this.observer && this.isHidden()) {\r\n this.observer.observe(this.getHiddenRoot(), {\r\n attributes: true,\r\n });\r\n }\r\n this.setState({ componentDidMount: true });\r\n }\r\n\r\n // Note: causes incrrect image size calculations\r\n // getSnapshotBeforeUpdate(prevProps) {\r\n // if (\r\n // this.props.width !== prevProps.width ||\r\n // this.props.height !== prevProps.height\r\n // ) {\r\n // this.handleResize();\r\n // }\r\n // return null;\r\n // }\r\n\r\n componentWillUnmount() {\r\n if (this.canBeResized) {\r\n window.removeEventListener('resize', this.debouncedHandleResize);\r\n }\r\n if (this.observer) {\r\n this.observer.disconnect();\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.canBeResized) this.debouncedHandleResize();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {!this.props.fluid ? (\r\n (this.container = c)}\r\n >\r\n {this.state.src && (\r\n \r\n )}\r\n \r\n ) : (\r\n (this.container = c)}\r\n >\r\n {this.state.src && (\r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Image;\r\n","import React, { useEffect } from 'react';\r\nimport breakpoints from 'js/breakpoints';\r\n\r\nexport default function useBreakpoints(\r\n initiallyDesktop,\r\n initiallyTablet,\r\n initiallyMobile,\r\n initiallyDesktopLargerThanIpad,\r\n initiallyDesktopExtraLarge\r\n) {\r\n const [state, setState] = React.useState({\r\n isDesktop: initiallyDesktop,\r\n isTablet: initiallyTablet,\r\n isMobile: initiallyMobile,\r\n isDesktopLargerThanIpad: initiallyDesktopLargerThanIpad,\r\n isDesktopExtraLarge: initiallyDesktopExtraLarge,\r\n brekpointsStarted: false,\r\n });\r\n\r\n const onResize = () => {\r\n setState({\r\n isDesktop: breakpoints.l(),\r\n isTablet: breakpoints.m() && !breakpoints.l(),\r\n isMobile: breakpoints.s() && !breakpoints.m(),\r\n isDesktopLargerThanIpad: breakpoints.ipadPro(),\r\n isMobileArticleSidebar: breakpoints.mobileArticleSidebar(),\r\n isDesktopExtraLarge: breakpoints.xl(),\r\n brekpointsStarted: true,\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n onResize();\r\n window.addEventListener('resize', onResize);\r\n return () => window.removeEventListener('resize', onResize);\r\n }, []);\r\n\r\n return state;\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport imageResizer from 'js/image-resizer';\r\nimport useBreakpoints from 'hooks/use-breakpoints';\r\n\r\nconst ArticlePageHero = ({ heading, smallHeading, image }) => {\r\n const { isMobile } = useBreakpoints(true);\r\n const [imageHeight, setImageHeight] = useState(0);\r\n const [imageWidth, setImageWidth] = useState(0);\r\n\r\n useEffect(() => {\r\n if (typeof isMobile === 'undefined') {\r\n return;\r\n }\r\n\r\n if (isMobile) {\r\n setImageHeight(null);\r\n } else {\r\n setImageHeight(imageResizer.calcImageHeight(700, 100));\r\n }\r\n }, [isMobile]);\r\n\r\n useEffect(() => {\r\n setImageWidth(imageResizer.calcImageWidth(window.screen.width, 100));\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {heading && (\r\n

{heading}

\r\n )}\r\n {smallHeading && (\r\n \r\n {smallHeading}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {image && (isMobile || (!isMobile && imageHeight && imageWidth)) ? (\r\n \r\n ) : null}\r\n
\r\n \r\n );\r\n};\r\n\r\nArticlePageHero.propTypes = {\r\n heading: PropTypes.string,\r\n smallHeading: PropTypes.string,\r\n image: PropTypes.exact(Image.propTypes),\r\n};\r\n\r\nexport default ArticlePageHero;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport cn from 'classnames';\r\n\r\nconst PersonTeaserBlock = ({ className, name, title, photo, signature }) => {\r\n return (\r\n \r\n {photo && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n {name && {name}}\r\n {title && {title}}\r\n {signature && (\r\n \r\n )}\r\n
\r\n \r\n );\r\n};\r\n\r\nPersonTeaserBlock.viewModelMeta = {\r\n className: 'ignore',\r\n};\r\n\r\nPersonTeaserBlock.propTypes = {\r\n className: PropTypes.string,\r\n name: PropTypes.string,\r\n title: PropTypes.string,\r\n photo: PropTypes.exact(Image.propTypes),\r\n signature: PropTypes.exact(Image.propTypes),\r\n};\r\n\r\nexport default PersonTeaserBlock;\r\n","import React from 'react';\r\nimport PersonTeaserBlock from 'components/person-teaser-block';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\n\r\nconst Authors = ({ items, className }) => {\r\n return items && items.length > 0 ? (\r\n
\r\n
\r\n {items.map((item, index) => (\r\n \r\n ))}\r\n
\r\n
\r\n ) : null;\r\n};\r\n\r\nAuthors.viewModelMeta = {\r\n className: 'ignore',\r\n};\r\n\r\nAuthors.propTypes = {\r\n className: PropTypes.string,\r\n items: PropTypes.arrayOf(PropTypes.exact(PersonTeaserBlock.propTypes)),\r\n};\r\n\r\nexport default Authors;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport ArticleAnchorMenu from 'components/article-anchor-menu';\r\nimport PersonTeaserBlock from 'components/person-teaser-block';\r\nimport Authors from 'components/authors';\r\nimport useBreakpoints from 'hooks/use-breakpoints';\r\nimport useDidUpdateEffect from 'hooks/use-did-update-effect';\r\nimport { ARTICLE_SCROLL_ANIMATION_DURATION } from '../../constants/animations';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\n\r\nconst VISIBILITY_OVERLAP_OFFSET = 70;\r\nconst OVERLAPPING_BLOCKS_SELECTOR =\r\n '.story-block, .quote-with-background-block, .image-block, .board-block, .references-block, .rich-text__table-wrapper';\r\n\r\nconst ArticleStickySidebar = ({ anchorMenuHeading, authors }) => {\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [isSticky, setIsSticky] = useState(false);\r\n const [isOverlapping, setIsOverlapping] = useState(false);\r\n const [isScrollingToAnchor, setIsScrollingToAnchor] = useState(false);\r\n const { isMobileArticleSidebar } = useBreakpoints(true);\r\n const sidebarRef = useRef(null);\r\n const anchorMenuRef = useRef(null);\r\n const sidebarStaticPosition = useRef(0);\r\n const sidebarCurrentHeight = useRef(0);\r\n\r\n const isScrollExceedsSidebarPostion = () => {\r\n return window.scrollY > sidebarStaticPosition.current;\r\n };\r\n\r\n const updateIsOverlap = () => {\r\n if (sidebarRef.current) {\r\n const sidebarContent = sidebarRef.current.querySelector(\r\n '.article-sticky-sidebar__content'\r\n );\r\n\r\n if (!sidebarContent) {\r\n return;\r\n }\r\n\r\n const sidebarContentRect = sidebarContent.getBoundingClientRect();\r\n const overlappingBlocks = document.querySelectorAll(\r\n OVERLAPPING_BLOCKS_SELECTOR\r\n );\r\n\r\n let overlapDetected = false;\r\n overlappingBlocks.forEach(block => {\r\n const blockRect = block.getBoundingClientRect();\r\n\r\n if (\r\n blockRect.bottom + VISIBILITY_OVERLAP_OFFSET >\r\n sidebarContentRect.top &&\r\n blockRect.top - VISIBILITY_OVERLAP_OFFSET <\r\n sidebarContentRect.bottom &&\r\n blockRect.right + VISIBILITY_OVERLAP_OFFSET >\r\n sidebarContentRect.left &&\r\n blockRect.left - VISIBILITY_OVERLAP_OFFSET < sidebarContentRect.right\r\n ) {\r\n overlapDetected = true;\r\n }\r\n });\r\n\r\n setIsOverlapping(overlapDetected);\r\n }\r\n };\r\n\r\n const calcSidebarCurrentHeight = () => {\r\n if (sidebarRef && sidebarRef.current) {\r\n const sidebarStyles = window.getComputedStyle(sidebarRef.current);\r\n\r\n const marginTop = parseFloat(sidebarStyles.marginTop);\r\n const marginBottom = parseFloat(sidebarStyles.marginBottom);\r\n sidebarCurrentHeight.current =\r\n sidebarRef.current.offsetHeight + marginTop + marginBottom;\r\n }\r\n };\r\n\r\n const setIsScrollingToAnchorOnPageLoad = () => {\r\n const hash = window.location.hash.slice(1);\r\n\r\n if (hash) {\r\n setIsScrollingToAnchor(true);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const handleScroll = () => {\r\n calcSidebarCurrentHeight();\r\n setIsSticky(isScrollExceedsSidebarPostion());\r\n updateIsOverlap();\r\n };\r\n\r\n setIsScrollingToAnchorOnPageLoad();\r\n updateIsOverlap();\r\n setIsVisible(true);\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 (\r\n anchorMenuRef &&\r\n anchorMenuRef.current &&\r\n !isMobileArticleSidebar &&\r\n isSticky\r\n ) {\r\n setTimeout(\r\n anchorMenuRef.current.closeAnchorMenu,\r\n ARTICLE_SCROLL_ANIMATION_DURATION\r\n );\r\n }\r\n }, [isSticky, anchorMenuRef, isMobileArticleSidebar]);\r\n\r\n useEffect(() => {\r\n const pageContent = document.querySelector('.page__content');\r\n if (sidebarCurrentHeight.current && sidebarCurrentHeight && pageContent) {\r\n pageContent.style.paddingTop =\r\n isSticky && !isMobileArticleSidebar\r\n ? sidebarCurrentHeight.current + 'px'\r\n : 0;\r\n }\r\n }, [isSticky, sidebarRef, isMobileArticleSidebar]);\r\n\r\n useDidUpdateEffect(() => {\r\n if (sidebarRef.current) {\r\n sidebarRef.current.style.position = isMobileArticleSidebar\r\n ? 'absolute'\r\n : 'static';\r\n\r\n sidebarStaticPosition.current =\r\n sidebarRef.current.getBoundingClientRect().top + window.scrollY;\r\n setIsSticky(isScrollExceedsSidebarPostion());\r\n sidebarRef.current.removeAttribute('style');\r\n }\r\n }, [isMobileArticleSidebar, sidebarRef]);\r\n\r\n const onScrollToAnchorStarted = () => {\r\n setIsScrollingToAnchor(true);\r\n\r\n setTimeout(() => {\r\n setIsScrollingToAnchor(false);\r\n }, ARTICLE_SCROLL_ANIMATION_DURATION);\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {authors && isMobileArticleSidebar && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nArticleStickySidebar.viewModelMeta = 'ignore';\r\n\r\nArticleStickySidebar.propTypes = {\r\n anchorMenuHeading: PropTypes.string.isRequired,\r\n authors: PropTypes.arrayOf(PropTypes.exact(PersonTeaserBlock.propTypes)),\r\n};\r\n\r\nexport default ArticleStickySidebar;\r\n","import { useRef, useEffect } from 'react';\r\n\r\nexport default function useDidUpdateEffect(fn, inputs) {\r\n const didMountRef = useRef(false);\r\n\r\n useEffect(() => {\r\n if (didMountRef.current) fn();\r\n else didMountRef.current = true;\r\n }, inputs);\r\n}\r\n","import React from 'react';\r\nimport ArticleStickySidebar from 'components/article-sticky-sidebar';\r\nimport PersonTeaserBlock from 'components/person-teaser-block';\r\nimport Authors from 'components/authors';\r\nimport useBreakpoints from 'hooks/use-breakpoints';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst ArticleServiceBar = ({ anchorMenuHeading, authors }) => {\r\n const { isMobileArticleSidebar } = useBreakpoints(true);\r\n\r\n return (\r\n
\r\n {authors && isMobileArticleSidebar === false && (\r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nArticleServiceBar.propTypes = {\r\n anchorMenuHeading: PropTypes.string.isRequired,\r\n authors: PropTypes.arrayOf(PropTypes.exact(PersonTeaserBlock.propTypes)),\r\n};\r\n\r\nexport default ArticleServiceBar;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport PersonTeaserBlock from 'components/person-teaser-block';\r\n\r\nconst BoardBlock = ({ items }) => {\r\n return items && items.length > 0 ? (\r\n
\r\n
\r\n
\r\n {items.map((item, index) => (\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n ) : null;\r\n};\r\n\r\nBoardBlock.propTypes = {\r\n items: PropTypes.arrayOf(PropTypes.exact(PersonTeaserBlock.propTypes)),\r\n};\r\n\r\nexport default BoardBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\n\r\nconst ChapterPageHero = ({ heading, smallHeading, image }) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {smallHeading && (\r\n \r\n {smallHeading}\r\n \r\n )}\r\n {heading && (\r\n

{heading}

\r\n )}\r\n
\r\n {image && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nChapterPageHero.propTypes = {\r\n heading: PropTypes.string,\r\n smallHeading: PropTypes.string,\r\n image: PropTypes.exact(Image.propTypes),\r\n};\r\n\r\nexport default ChapterPageHero;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst LinkBase = {};\r\n\r\nLinkBase.propTypes = {\r\n url: PropTypes.string,\r\n text: PropTypes.string,\r\n openInNewTab: PropTypes.bool,\r\n};\r\n\r\nexport default LinkBase;\r\n","export default {\r\n dark: 'dark',\r\n light: 'light',\r\n};\r\n","export default {\r\n small: 'small',\r\n normal: 'normal',\r\n large: 'large',\r\n};\r\n","/* eslint-disable react/jsx-no-target-blank */\r\n/* eslint-disable view-models/no-unused-meta */\r\n/* eslint-disable react/prop-types */\r\n// TODO: remove view-models/no-unused-meta and eslint-disable react/prop-types rule when this issue https://github.com/asbjornh/view-models/issues/18 is resolved\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport LinkBase from 'components/models/link-base';\r\nimport Icon from 'components/icon';\r\nimport cn from 'classnames';\r\nimport themes from './link-themes';\r\nimport sizes from './link-sizes';\r\n\r\nconst Link = ({\r\n className,\r\n openInNewTab = false,\r\n url,\r\n text,\r\n tabindex,\r\n iconName,\r\n theme = themes.dark,\r\n size = sizes.normal,\r\n onFocus = () => {},\r\n onBlur = () => {},\r\n}) => (\r\n \r\n \r\n {text}\r\n \r\n {iconName && }\r\n \r\n);\r\n\r\nLink.viewModelMeta = {\r\n className: 'ignore',\r\n tabindex: 'ignore',\r\n theme: 'ignore',\r\n size: 'ignore',\r\n iconName: 'ignore',\r\n onFocus: 'ignore',\r\n onBlur: 'ignore',\r\n};\r\n\r\nLink.propTypes = Object.assign({}, LinkBase.propTypes, {\r\n className: PropTypes.string,\r\n tabindex: PropTypes.number,\r\n theme: PropTypes.oneOf(Object.values(themes)),\r\n size: PropTypes.oneOf(Object.values(sizes)),\r\n iconName: PropTypes.string,\r\n onFocus: PropTypes.func,\r\n onBlur: PropTypes.func,\r\n});\r\n\r\nexport default Link;\r\n","import React, { useEffect, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport cn from 'classnames';\r\n\r\nconst RichText = ({ text, className }) => {\r\n const richTextRootRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (text && richTextRootRef.current) {\r\n const tables = richTextRootRef.current.querySelectorAll('table');\r\n tables.forEach(table => {\r\n const wrapper = document.createElement('div');\r\n wrapper.className = 'rich-text__table-wrapper';\r\n table.parentNode.insertBefore(wrapper, table);\r\n wrapper.appendChild(table);\r\n });\r\n }\r\n }, [text]);\r\n\r\n return !text ? null : (\r\n \r\n );\r\n};\r\n\r\nRichText.propTypes = {\r\n text: PropTypes.string,\r\n className: PropTypes.string,\r\n};\r\n\r\nexport default RichText;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport Link from 'components/link';\r\nimport RichText from 'components/rich-text';\r\nimport cn from 'classnames';\r\n\r\nconst imagePositions = {\r\n left: 'left',\r\n right: 'right',\r\n};\r\n\r\nconst ChapterTeaserBlock = ({\r\n heading,\r\n textHtml,\r\n backgroundColor = '#EAF4FA',\r\n textColor = '#00004F',\r\n image,\r\n imagePosition = imagePositions.left,\r\n readMoreLink,\r\n}) => {\r\n return (\r\n \r\n
\r\n
\r\n \r\n {heading && (\r\n

{heading}

\r\n )}\r\n \r\n {readMoreLink && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n {image && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n \r\n );\r\n};\r\nChapterTeaserBlock.propTypes = {\r\n heading: PropTypes.string,\r\n textHtml: PropTypes.string,\r\n backgroundColor: PropTypes.string,\r\n textColor: PropTypes.string,\r\n image: PropTypes.exact(Image.propTypes),\r\n imagePosition: PropTypes.oneOf(Object.values(imagePositions)).isRequired,\r\n readMoreLink: PropTypes.exact(Link.propTypes),\r\n};\r\n\r\nexport default ChapterTeaserBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\nimport Image from 'components/image';\r\n\r\nconst Logo = ({ className, url, image, imageClass }) => {\r\n const RootTag = url ? 'a' : 'div';\r\n\r\n const rootTagProps = {\r\n ...(url && {\r\n href: url,\r\n }),\r\n className: cn('logo', className),\r\n };\r\n\r\n return (\r\n \r\n {image && }\r\n \r\n );\r\n};\r\n\r\nLogo.propTypes = {\r\n className: PropTypes.string,\r\n imageClass: PropTypes.string,\r\n url: PropTypes.string,\r\n image: PropTypes.exact(Image.propTypes),\r\n};\r\n\r\nLogo.viewModelMeta = {\r\n className: 'ignore',\r\n imageClass: 'ignore',\r\n};\r\n\r\nexport default Logo;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Logo from 'components/logo';\r\nimport Link from 'components/link';\r\nimport linkThemes from 'components/link/link-themes';\r\nimport linkSizes from 'components/link/link-sizes';\r\n\r\nconst Footer = ({ logo, links }) => {\r\n return (\r\n
\r\n
\r\n
\r\n {logo && logo.url && (\r\n \r\n )}\r\n {links && links.length > 0 ? (\r\n
    \r\n {links.map((item, i) => (\r\n
  • \r\n \r\n
  • \r\n ))}\r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nFooter.propTypes = {\r\n logo: PropTypes.exact(Logo.propTypes),\r\n links: PropTypes.arrayOf(PropTypes.shape(Link.propTypes)),\r\n};\r\n\r\nexport default Footer;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst ButtonBase = {};\r\n\r\nButtonBase.propTypes = {\r\n url: PropTypes.string,\r\n text: PropTypes.string,\r\n tabindex: PropTypes.number,\r\n openInNewTab: PropTypes.bool,\r\n onClick: PropTypes.func,\r\n};\r\n\r\nexport default ButtonBase;\r\n","import PropTypes from 'prop-types';\r\n\r\nexport default {\r\n 'aria-label': PropTypes.string,\r\n 'aria-haspopup': PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\r\n 'aria-controls': PropTypes.string,\r\n 'aria-expanded': PropTypes.bool,\r\n};\r\n","export default {\r\n lightBlue: 'light-blue',\r\n transparent: 'transparent',\r\n};\r\n","/* eslint-disable react/prop-types */\r\n// TODO: remove view-models/no-unused-meta and eslint-disable react/prop-types rule when this issue https://github.com/asbjornh/view-models/issues/18 is resolved\r\nimport React from 'react';\r\nimport ButtonBase from 'components/models/button-base';\r\nimport Icon from 'components/icon';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\nimport ariaAttributesModel from 'components/models/aria-attributes/aria-attributes';\r\nimport themes from './link-button-themes';\r\n\r\nconst LinkButton = ({\r\n className,\r\n openInNewTab = false,\r\n url,\r\n text,\r\n tabindex,\r\n iconName,\r\n download,\r\n theme = themes.lightBlue,\r\n onClick,\r\n ariaAttributes = {},\r\n}) => {\r\n const RootTag = url ? 'a' : 'button';\r\n\r\n return (\r\n \r\n {text}\r\n {iconName && (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\nLinkButton.viewModelMeta = 'ignore';\r\n\r\nLinkButton.propTypes = Object.assign({}, ButtonBase.propTypes, {\r\n download: PropTypes.bool,\r\n className: PropTypes.string,\r\n iconName: PropTypes.string,\r\n theme: PropTypes.oneOf(Object.values(themes)),\r\n ariaAttributes: PropTypes.exact(ariaAttributesModel),\r\n});\r\n\r\nexport default LinkButton;\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\nimport Icon from 'components/icon';\r\nimport { scrollToBlock } from '../../js/scroll-utils';\r\n\r\nconst TARGET_BLOCK_ID = 'page-content';\r\n\r\nconst GoToPageContent = ({ className, ariaLabel }) => {\r\n const [isScrolled, setIsScrolled] = useState(false);\r\n\r\n useEffect(() => {\r\n const handleScroll = () => {\r\n const scrollTop = window.scrollY || document.documentElement.scrollTop;\r\n setIsScrolled(scrollTop > 100);\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 const onGoToPageContentClick = e => {\r\n e.preventDefault();\r\n\r\n scrollToBlock(document.getElementById(TARGET_BLOCK_ID), true);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nGoToPageContent.propTypes = {\r\n className: PropTypes.string,\r\n ariaLabel: PropTypes.string,\r\n};\r\n\r\nGoToPageContent.viewModelMeta = 'ignore';\r\n\r\nexport default GoToPageContent;\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport Link from 'components/link';\r\nimport LinkButton from 'components/link-button';\r\nimport GoToPageContent from 'components/go-to-page-content';\r\nimport imageResizer from 'js/image-resizer';\r\nimport useBreakpoints from 'hooks/use-breakpoints';\r\n\r\nconst FrontPageHero = ({\r\n heading,\r\n smallHeading,\r\n image,\r\n reportDownloadLink,\r\n lang,\r\n}) => {\r\n const { isMobile } = useBreakpoints(true);\r\n const [imageHeight, setImageHeight] = useState(0);\r\n const [imageWidth, setImageWidth] = useState(0);\r\n\r\n useEffect(() => {\r\n if (typeof isMobile === 'undefined') {\r\n return;\r\n }\r\n\r\n if (isMobile) {\r\n setImageHeight(imageResizer.calcImageHeight(533, 100));\r\n } else {\r\n setImageHeight(imageResizer.calcImageHeight(window.screen.height, 100));\r\n }\r\n }, [isMobile]);\r\n\r\n useEffect(() => {\r\n setImageWidth(imageResizer.calcImageWidth(window.screen.width, 100));\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {smallHeading && (\r\n \r\n {smallHeading}\r\n \r\n )}\r\n {heading &&

{heading}

}\r\n
\r\n
\r\n {reportDownloadLink && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n {image && imageHeight && imageWidth ? (\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nFrontPageHero.propTypes = {\r\n heading: PropTypes.string,\r\n smallHeading: PropTypes.string,\r\n image: PropTypes.exact(Image.propTypes),\r\n reportDownloadLink: PropTypes.exact(Link.propTypes),\r\n lang: PropTypes.shape({\r\n goToPageContentAriaLabel: PropTypes.string.isRequired,\r\n }).isRequired,\r\n};\r\n\r\nexport default FrontPageHero;\r\n","import PropTypes from 'prop-types';\r\nimport Link from 'components/link';\r\n\r\nconst MenuLink = {};\r\n\r\nMenuLink.propTypes = Object.assign({}, Link.propTypes, {\r\n isActive: PropTypes.bool,\r\n});\r\n\r\nexport default MenuLink;\r\n","function format(string, ...args) {\r\n return string.replace(/{(\\d+)}/g, function (match, number) {\r\n return typeof args[number] !== 'undefined' ? args[number] : '';\r\n });\r\n}\r\n\r\nfunction leadingZeroNumberFormat(number) {\r\n if (number < 10) {\r\n return '0' + number;\r\n } else {\r\n return number.toString();\r\n }\r\n}\r\n\r\nexport default {\r\n format,\r\n leadingZeroNumberFormat,\r\n};\r\n","import React, { Fragment } from 'react';\r\nimport Link from 'components/link';\r\nimport Icon from 'components/icon';\r\nimport MenuLink from 'components/models/menu-link';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n AccordionItem,\r\n AccordionItemButton,\r\n AccordionItemPanel,\r\n AccordionItemState,\r\n} from 'react-accessible-accordion';\r\nimport cn from 'classnames';\r\nimport stringHelper from 'js/string-helper';\r\n\r\nconst MainMenuItem = ({ id, link, isActive, items, number, className }) => {\r\n return (\r\n \r\n \r\n {({ expanded }) => (\r\n \r\n \r\n \r\n {!isNaN(number) && (\r\n \r\n \r\n {stringHelper.leadingZeroNumberFormat(number)}\r\n {' '}\r\n \r\n )}\r\n {link.text}\r\n \r\n {items && items.length > 0 ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n {items && items.length > 0 ? (\r\n \r\n
    \r\n {items.map((item, i) => (\r\n \r\n \r\n \r\n {item.text}\r\n \r\n \r\n \r\n ))}\r\n
\r\n
\r\n ) : null}\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nMainMenuItem.viewModelMeta = {\r\n className: 'ignore',\r\n id: 'ignore',\r\n number: 'int?',\r\n};\r\n\r\nMainMenuItem.propTypes = {\r\n className: PropTypes.string,\r\n number: PropTypes.number,\r\n id: PropTypes.number,\r\n isActive: PropTypes.bool,\r\n link: PropTypes.exact(Link.propTypes),\r\n items: PropTypes.arrayOf(PropTypes.exact(MenuLink.propTypes)).isRequired,\r\n};\r\n\r\nexport default MainMenuItem;\r\n","import React, { useMemo } from 'react';\r\nimport Link from 'components/link';\r\nimport linkSizes from 'components/link/link-sizes';\r\nimport linkThemes from 'components/link/link-themes';\r\nimport LinkButton from 'components/link-button';\r\nimport linkButtonThemes from 'components/link-button/link-button-themes';\r\nimport MainMenuItem from './main-menu-item';\r\nimport { Accordion } from 'react-accessible-accordion';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\n\r\nconst MainMenu = ({\r\n homeLink,\r\n items,\r\n downloadReportLink,\r\n className,\r\n navAriaLabel,\r\n}) => {\r\n const mapMenuColumnItem = (item, index, itemsPerColumn) => {\r\n const itemIndex = itemsPerColumn ? index + itemsPerColumn : index;\r\n return {\r\n ...item,\r\n id: itemIndex,\r\n };\r\n };\r\n\r\n const splitItemsIntoColumns = items => {\r\n const totalItems = items.length;\r\n let itemsPerColumn;\r\n\r\n // Determine the number of items per column based on the total number of items\r\n if (totalItems > 12) {\r\n itemsPerColumn = Math.ceil(totalItems / 2);\r\n } else {\r\n itemsPerColumn = 6;\r\n }\r\n\r\n // Slice the items array into two columns\r\n const firstColumnItems = items\r\n .slice(0, itemsPerColumn)\r\n .map((item, index) => mapMenuColumnItem(item, index));\r\n const secondColumnItems = items\r\n .slice(itemsPerColumn)\r\n .map((item, index) => mapMenuColumnItem(item, index, itemsPerColumn));\r\n\r\n return [firstColumnItems, secondColumnItems];\r\n };\r\n\r\n const [firstColumnItems, secondColumnItems] = useMemo(\r\n () => splitItemsIntoColumns(items),\r\n [items]\r\n );\r\n\r\n const openedMenuItemsIndexes = useMemo(() => {\r\n return items.reduce((acc, item, index) => {\r\n if (item.items.some(subItem => subItem.isActive)) {\r\n acc.push(index);\r\n }\r\n return acc;\r\n }, []);\r\n }, [items]);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nMainMenu.viewModelMeta = {\r\n className: 'ignore',\r\n navAriaLabel: 'ignore',\r\n};\r\n\r\nMainMenu.propTypes = {\r\n className: PropTypes.string,\r\n navAriaLabel: PropTypes.string,\r\n homeLink: PropTypes.exact(Link.propTypes),\r\n items: PropTypes.arrayOf(PropTypes.exact(MainMenuItem.propTypes)).isRequired,\r\n downloadReportLink: PropTypes.exact(Link.propTypes),\r\n};\r\n\r\nexport default MainMenu;\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Logo from 'components/logo';\r\nimport LinkButton from 'components/link-button';\r\nimport MainMenu from 'components/main-menu';\r\nimport useToggle from 'hooks/use-toggle';\r\nimport useEscape from 'hooks/use-escape';\r\nimport cn from 'classnames';\r\nimport FocusTrap from 'focus-trap-react';\r\n\r\nconst headerMenuId = 'header-menu';\r\nconst bodyActiveClass = 'header-menu-is-opened';\r\n\r\nconst Header = ({ logo, mainMenu, lang }) => {\r\n const {\r\n isActive: isMenuActive,\r\n toggle: toggleMenu,\r\n deactivate: deactivateMenu,\r\n } = useToggle(false);\r\n useEscape(deactivateMenu);\r\n\r\n useEffect(() => {\r\n if (isMenuActive) {\r\n document.body.classList.add(bodyActiveClass);\r\n } else {\r\n document.body.classList.remove(bodyActiveClass);\r\n }\r\n }, [isMenuActive]);\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n {logo && logo.url && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n {mainMenu && (\r\n \r\n
\r\n \r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nHeader.propTypes = {\r\n logo: PropTypes.exact(Logo.propTypes),\r\n mainMenu: PropTypes.exact(MainMenu.propTypes),\r\n lang: PropTypes.shape({\r\n menuLabel: PropTypes.string.isRequired,\r\n closeMenuLabel: PropTypes.string.isRequired,\r\n }).isRequired,\r\n};\r\n\r\nexport default Header;\r\n","import React, { useCallback } from 'react';\r\n\r\nexport default function useToggle(initiallyActive) {\r\n const [isActive, setIsActive] = React.useState(initiallyActive);\r\n const toggle = useCallback(() => setIsActive(isActive => !isActive), []);\r\n const activate = useCallback(() => setIsActive(true), []);\r\n const deactivate = useCallback(() => setIsActive(false), []);\r\n\r\n return { isActive, toggle, deactivate, activate };\r\n}\r\n","import useEvent from './use-event';\r\n\r\nconst isEscape = event =>\r\n event && (event.key === 'Escape' || event.which === 27);\r\n\r\n/** Fires `callback` when the escape key is pressed */\r\nexport default function useEscape(callback) {\r\n useEvent('keydown', e => {\r\n if (isEscape(e)) {\r\n callback();\r\n }\r\n });\r\n}\r\n","import React from 'react';\r\n\r\n/** Attaches an event listener for `eventName` to `window`. */\r\nexport default function useEvent(\r\n eventName = '',\r\n eventHandler = () => {},\r\n dependencies = []\r\n) {\r\n React.useEffect(() => {\r\n window.addEventListener(eventName, eventHandler);\r\n return () => window.removeEventListener(eventName, eventHandler);\r\n }, dependencies);\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport cn from 'classnames';\r\n\r\nconst ImageBlock = ({\r\n className,\r\n imageClassName,\r\n image,\r\n caption,\r\n photographer,\r\n}) => {\r\n return image ? (\r\n
\r\n
\r\n \r\n {(caption || photographer) && (\r\n
\r\n {caption && (\r\n {caption}\r\n )}\r\n {photographer && (\r\n {photographer}\r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n ) : null;\r\n};\r\n\r\nImageBlock.viewModelMeta = {\r\n className: 'ignore',\r\n imageClassName: 'ignore',\r\n};\r\n\r\nImageBlock.propTypes = {\r\n className: PropTypes.string,\r\n imageClassName: PropTypes.string,\r\n image: PropTypes.exact(Image.propTypes).isRequired,\r\n caption: PropTypes.string,\r\n photographer: PropTypes.string,\r\n};\r\n\r\nexport default ImageBlock;\r\n","export default {\r\n prev: 'prev',\r\n next: 'next',\r\n};\r\n","/* eslint-disable react/prop-types */\r\n/* eslint-disable view-models/no-unused-meta */\r\n// TODO: remove view-models/no-unused-meta and eslint-disable react/prop-types rule when this issue https://github.com/asbjornh/view-models/issues/18 is resolved\r\nimport React from 'react';\r\nimport Link from 'components/link';\r\nimport Icon from 'components/icon';\r\nimport PropTypes from 'prop-types';\r\nimport types from './navigation-between-articles-link-types';\r\nimport cn from 'classnames';\r\n\r\nconst NavigationBetweenArticlesLink = ({ url, text, openInNewTab, type }) => {\r\n return (\r\n \r\n {type === types.prev && (\r\n \r\n )}\r\n {text && (\r\n {text}\r\n )}\r\n {type === types.next && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nNavigationBetweenArticlesLink.viewModelMeta = 'ignore';\r\n\r\nNavigationBetweenArticlesLink.propTypes = Object.assign({}, Link.propTypes, {\r\n type: PropTypes.oneOf(Object.values(types)),\r\n});\r\n\r\nexport default NavigationBetweenArticlesLink;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Link from 'components/link';\r\nimport NavigationBetweenArticlesLink from './navigation-between-articles-link';\r\nimport navigationBetweenArticlesLinkTypes from './navigation-between-articles-link-types';\r\n\r\nconst NavigationBetweenArticles = ({\r\n prevLink,\r\n nextLink,\r\n lang = {\r\n navigationBetweenArticlesAriaLabel: 'Navigering mellom artikler',\r\n },\r\n}) => {\r\n return prevLink || nextLink ? (\r\n
\r\n \r\n
    \r\n {prevLink && (\r\n
  • \r\n \r\n
  • \r\n )}\r\n {nextLink && (\r\n
  • \r\n \r\n
  • \r\n )}\r\n
\r\n \r\n
\r\n ) : null;\r\n};\r\n\r\nNavigationBetweenArticles.propTypes = {\r\n prevLink: PropTypes.exact(Link.propTypes),\r\n nextLink: PropTypes.exact(Link.propTypes),\r\n lang: PropTypes.shape({\r\n navigationBetweenArticlesAriaLabel: PropTypes.string.isRequired,\r\n }).isRequired,\r\n};\r\n\r\nexport default NavigationBetweenArticles;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport { Parallax } from 'react-parallax';\r\n\r\nconst ParallaxBgImage = ({\r\n imageClassName,\r\n backgroundImage,\r\n imageWidth,\r\n imageHeight,\r\n}) => {\r\n return (\r\n (\r\n <>\r\n 0\r\n ? percentage <= 1.5\r\n ? percentage * 26.66\r\n : 40\r\n : 0\r\n }%`,\r\n }}\r\n >\r\n {backgroundImage && (\r\n \r\n )}\r\n \r\n \r\n )}\r\n >\r\n );\r\n};\r\n\r\nParallaxBgImage.viewModelMeta = 'ignore';\r\n\r\nParallaxBgImage.propTypes = {\r\n imageClassName: PropTypes.string,\r\n backgroundImage: PropTypes.exact(Image.propTypes),\r\n imageHeight: PropTypes.number,\r\n imageWidth: PropTypes.number,\r\n};\r\n\r\nexport default ParallaxBgImage;\r\n","export const ANIMATION_PERCENTAGE = {\r\n text: 0.4,\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { ANIMATION_PERCENTAGE } from '../../constants/parallax';\r\nimport cn from 'classnames';\r\n\r\nconst ParallaxTextPanel = ({\r\n textBackgroundColor = '#EAF4FA',\r\n textColor = '#001E64',\r\n percentage,\r\n textAnimationPercentage = ANIMATION_PERCENTAGE.text,\r\n className,\r\n children,\r\n}) => {\r\n return children ? (\r\n textAnimationPercentage ? '0%' : '-120%',\r\n }}\r\n >\r\n textAnimationPercentage ? '-100%' : 0,\r\n transition:\r\n percentage > textAnimationPercentage\r\n ? 'top 500ms ease-out 500ms'\r\n : 'top 500ms ease-out 0ms',\r\n }}\r\n >\r\n {children}\r\n \r\n ) : null;\r\n};\r\n\r\nParallaxTextPanel.viewModelMeta = 'ignore';\r\n\r\nParallaxTextPanel.propTypes = {\r\n textBackgroundColor: PropTypes.string,\r\n textColor: PropTypes.string,\r\n percentage: PropTypes.number.isRequired,\r\n textAnimationPercentage: PropTypes.number,\r\n className: PropTypes.string,\r\n children: PropTypes.oneOfType([\r\n PropTypes.node,\r\n PropTypes.arrayOf(PropTypes.node),\r\n ]),\r\n};\r\n\r\nexport default ParallaxTextPanel;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport cn from 'classnames';\r\n\r\nconst PoorText = ({ text, className }) => {\r\n return !text ? null : (\r\n \r\n );\r\n};\r\n\r\nPoorText.propTypes = {\r\n text: PropTypes.string,\r\n className: PropTypes.string,\r\n};\r\n\r\nPoorText.viewModelMeta = 'ignore';\r\n\r\nexport default PoorText;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst QuoteBlock = ({ text, author, authorTitle }) => {\r\n return text ? (\r\n
\r\n
\r\n
\r\n
\r\n \r\n {text}\r\n
\r\n {(author || authorTitle) && (\r\n
\r\n {author &&
{author}
}\r\n {authorTitle && (\r\n
{authorTitle}
\r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n ) : null;\r\n};\r\n\r\nQuoteBlock.propTypes = {\r\n text: PropTypes.string,\r\n author: PropTypes.string,\r\n authorTitle: PropTypes.string,\r\n};\r\n\r\nexport default QuoteBlock;\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport ParallaxBgImage from 'components/parallax-bg-image';\r\nimport ParallaxTextPanel from 'components/parallax-text-panel';\r\nimport imageResizer from 'js/image-resizer';\r\nimport { Parallax } from 'react-parallax';\r\nimport useBreakpoints from 'hooks/use-breakpoints';\r\n\r\nconst QuoteWithBackgroundBlock = ({\r\n text,\r\n author,\r\n authorTitle,\r\n quoteBackgroundColor,\r\n textColor,\r\n backgroundImage,\r\n}) => {\r\n const { isMobile } = useBreakpoints(true);\r\n const [imageHeight, setImageHeight] = useState(0);\r\n const [imageWidth, setImageWidth] = useState(0);\r\n\r\n useEffect(() => {\r\n if (typeof isMobile === 'undefined') {\r\n return;\r\n }\r\n\r\n if (isMobile) {\r\n setImageHeight(\r\n imageResizer.calcImageHeight(\r\n imageResizer.getHeightWithParallaxOffset(630, 40),\r\n 100\r\n )\r\n );\r\n } else {\r\n setImageHeight(\r\n imageResizer.calcImageHeight(\r\n imageResizer.getHeightByWidthAndProportion(\r\n window.screen.width,\r\n 1440,\r\n imageResizer.getHeightWithParallaxOffset(826, 40)\r\n ),\r\n 100\r\n )\r\n );\r\n }\r\n }, [isMobile]);\r\n\r\n useEffect(() => {\r\n setImageWidth(imageResizer.calcImageWidth(window.screen.width, 100));\r\n }, []);\r\n\r\n return (\r\n
\r\n {backgroundImage && imageHeight && imageWidth ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n (\r\n
\r\n {text && (\r\n \r\n
\r\n {text}\r\n
\r\n {(author || authorTitle) && (\r\n
\r\n {author && (\r\n
\r\n {author}\r\n
\r\n )}\r\n {authorTitle && (\r\n
\r\n {authorTitle}\r\n
\r\n )}\r\n
\r\n )}\r\n \r\n )}\r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n};\r\nQuoteWithBackgroundBlock.propTypes = {\r\n text: PropTypes.string,\r\n author: PropTypes.string,\r\n authorTitle: PropTypes.string,\r\n quoteBackgroundColor: PropTypes.string,\r\n textColor: PropTypes.string,\r\n backgroundImage: PropTypes.exact(Image.propTypes),\r\n};\r\n\r\nexport default QuoteWithBackgroundBlock;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst ReactComponent = {};\r\n\r\n// Empty propTypes needed in order for ReactComponent.cs to be generated.\r\nReactComponent.propTypes = {\r\n componentName: PropTypes.string.isRequired,\r\n};\r\n\r\nReactComponent.viewModelMeta = 'ignore'; // Not generated automatically, defained on BE instead.\r\n\r\n// 'ReactComponent' is used as the base class in all generated .cs-files (configurerd in CSharpWebpackPlugin options in webpack.config.js)\r\nexport default ReactComponent;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport PoorText from 'components/poor-text';\r\n\r\nconst ReferencesBlock = ({ heading, column1, column2 }) => {\r\n return column1 || column2 ? (\r\n
\r\n
\r\n {heading && (\r\n {heading}\r\n )}\r\n
\r\n {column1 && (\r\n \r\n )}\r\n {column2 && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n ) : null;\r\n};\r\n\r\nReferencesBlock.propTypes = {\r\n heading: PropTypes.string,\r\n column1: PropTypes.string,\r\n column2: PropTypes.string,\r\n};\r\n\r\nexport default ReferencesBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RichText from 'components/rich-text';\r\nimport ImageBlock from 'components/image-block';\r\nimport cn from 'classnames';\r\n\r\nconst RichTextBlock = ({ sideImage, textHtml }) => {\r\n return (\r\n \r\n
\r\n
\r\n \r\n {sideImage && (\r\n \r\n )}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nRichTextBlock.propTypes = {\r\n sideImage: PropTypes.exact(ImageBlock.propTypes),\r\n textHtml: PropTypes.string,\r\n};\r\n\r\nexport default RichTextBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst SkipToMain = ({ text }) => (\r\n \r\n {text}\r\n \r\n);\r\n\r\nSkipToMain.propTypes = {\r\n text: PropTypes.string,\r\n};\r\n\r\nexport default SkipToMain;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ImageBlock from 'components/image-block';\r\nimport RichText from 'components/rich-text';\r\nimport cn from 'classnames';\r\n\r\nconst StoryBlock = ({\r\n heading,\r\n textHtml,\r\n backgroundColor = '#EAF4FA',\r\n textColor = '#00004F',\r\n image,\r\n}) => {\r\n return (\r\n \r\n
\r\n
\r\n {heading && (\r\n \r\n {heading}\r\n \r\n )}\r\n {image && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n {heading && (\r\n \r\n {heading}\r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nStoryBlock.propTypes = {\r\n heading: PropTypes.string,\r\n textHtml: PropTypes.string,\r\n backgroundColor: PropTypes.string,\r\n textColor: PropTypes.string,\r\n image: PropTypes.exact(ImageBlock.propTypes),\r\n};\r\n\r\nexport default StoryBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Link from 'components/link';\r\nimport linkSizes from 'components/link/link-sizes';\r\n\r\nconst TableOfContentBlock = ({ heading, links }) => {\r\n return (\r\n
\r\n
\r\n
\r\n {heading && (\r\n
\r\n

{heading}

\r\n
\r\n )}\r\n {links && links.length > 0 ? (\r\n
\r\n
    \r\n {links.map((item, i) => (\r\n
  • \r\n \r\n
  • \r\n ))}\r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nTableOfContentBlock.propTypes = {\r\n heading: PropTypes.string,\r\n links: PropTypes.arrayOf(PropTypes.shape(Link.propTypes)),\r\n};\r\n\r\nexport default TableOfContentBlock;\r\n","const req = require.context('./', true, /\\.svg$/);\r\n\r\nexport default req.keys().reduce((icons, filename) => {\r\n const id = filename.replace('./', '').replace('.svg', '');\r\n return { ...icons, [id]: req(filename) };\r\n}, {});\r\n","/*\r\n * Minimal classList shim for IE 9\r\n * By Devon Govett\r\n * MIT LICENSE\r\n */\r\n\r\n// NOTE: https://gist.github.com/devongovett/1381839\r\n\r\nfunction activate() {\r\n if (\r\n !('classList' in document.documentElement) &&\r\n Object.defineProperty &&\r\n typeof HTMLElement !== 'undefined'\r\n ) {\r\n Object.defineProperty(HTMLElement.prototype, 'classList', {\r\n get: function () {\r\n var self = this;\r\n function update(fn) {\r\n return function (value) {\r\n var classes = self.className.split(/\\s+/),\r\n index = classes.indexOf(value);\r\n\r\n fn(classes, index, value);\r\n self.className = classes.join(' ');\r\n };\r\n }\r\n\r\n var ret = {\r\n add: update(function (classes, index, value) {\r\n ~index || classes.push(value);\r\n }),\r\n\r\n remove: update(function (classes, index) {\r\n ~index && classes.splice(index, 1);\r\n }),\r\n\r\n toggle: update(function (classes, index, value) {\r\n ~index ? classes.splice(index, 1) : classes.push(value);\r\n }),\r\n\r\n contains: function (value) {\r\n return !!~self.className.split(/\\s+/).indexOf(value);\r\n },\r\n\r\n item: function (i) {\r\n return self.className.split(/\\s+/)[i] || null;\r\n },\r\n };\r\n\r\n Object.defineProperty(ret, 'length', {\r\n get: function () {\r\n return self.className.split(/\\s+/).length;\r\n },\r\n });\r\n\r\n return ret;\r\n },\r\n });\r\n }\r\n}\r\n\r\nexport default {\r\n activate,\r\n};\r\n","import classListPolyfill from './polyfills/class-list';\r\n\r\n/* NOTE: https://www.html5rocks.com/en/mobile/touchandmouse/\r\n First, you have to be careful when designing more advanced touch interactions:\r\n when the user uses a mouse it will respond via a click event, but when the user\r\n touches the screen both touch and click events will occur.\r\n\r\n For a single click the order of events is:\r\n\r\n 1. touchstart\r\n 2. touchmove\r\n 3. touchend\r\n 4. mouseover\r\n 5. mousemove\r\n 6. mousedown\r\n 7. mouseup\r\n 8. click\r\n*/\r\n\r\nfunction activate() {\r\n let touchEndHappened = false;\r\n\r\n classListPolyfill.activate();\r\n\r\n const onMouseDown = () => {\r\n if (touchEndHappened) {\r\n return;\r\n }\r\n\r\n document.documentElement.classList.add('mouse-user');\r\n document.documentElement.classList.add('no-touchevents');\r\n document.documentElement.classList.remove('touchevents');\r\n };\r\n\r\n const onTouchEnd = () => {\r\n touchEndHappened = true;\r\n setTimeout(() => {\r\n touchEndHappened = false;\r\n }, 100);\r\n };\r\n\r\n const onTouchStart = () => {\r\n document.documentElement.classList.add('mouse-user');\r\n document.documentElement.classList.add('touchevents');\r\n document.documentElement.classList.remove('no-touchevents');\r\n };\r\n\r\n document.addEventListener('touchstart', onTouchStart);\r\n document.addEventListener('touchend', onTouchEnd);\r\n document.addEventListener('mousedown', onMouseDown);\r\n\r\n const keyCodeWhiteList = [9, 33, 34, 35, 36, 37, 38, 39, 40];\r\n\r\n document.addEventListener('keydown', e => {\r\n if (keyCodeWhiteList.indexOf(e.which) !== -1) {\r\n document.documentElement.classList.remove('mouse-user');\r\n }\r\n });\r\n}\r\n\r\nexport default {\r\n activate,\r\n};\r\n","import inputDetection from './input-detection';\r\n\r\ninputDetection.activate();\r\n","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!../node_modules/babel-loader/lib/index.js!./app.components.js\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../node_modules/expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"AppComponents\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"AppComponents\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","var React = require('react');\n\nfunction ArrowDown (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"m0 8 1.5-1.5L7 12V0h2v12l5.5-5.5L16 8l-8 8-8-8Z\"}));\n}\n\nArrowDown.defaultProps = {\"width\":\"16\",\"height\":\"16\",\"fill\":\"none\"};\n\nmodule.exports = ArrowDown;\n\nArrowDown.default = ArrowDown;\n","var React = require('react');\n\nfunction ArrowRight (props) {\n return React.createElement(\"svg\",props,React.createElement(\"g\",{\"fill\":\"currentColor\"},[React.createElement(\"path\",{\"d\":\"M24.89 13.7H0v-3.112h24.89z\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M27.443 12.507 15.45 24.5l-2.2-2.2 11.995-11.994z\",\"key\":1}),React.createElement(\"path\",{\"d\":\"m24.248 13.7-11-11 2.2-2.2 11 11z\",\"key\":2})]));\n}\n\nArrowRight.defaultProps = {\"fill\":\"none\",\"viewBox\":\"0 0 28 25\"};\n\nmodule.exports = ArrowRight;\n\nArrowRight.default = ArrowRight;\n","var React = require('react');\n\nfunction ChevronDown (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"fill\":\"currentColor\",\"fillRule\":\"evenodd\",\"d\":\"M24 8.107 20.866 5 12 13.788 3.134 5 0 8.107 12 20 24 8.107Z\",\"clipRule\":\"evenodd\"}));\n}\n\nChevronDown.defaultProps = {\"fill\":\"none\",\"viewBox\":\"0 0 24 25\"};\n\nmodule.exports = ChevronDown;\n\nChevronDown.default = ChevronDown;\n","var React = require('react');\n\nfunction Close (props) {\n return React.createElement(\"svg\",props,React.createElement(\"g\",{\"fill\":\"currentColor\"},[React.createElement(\"path\",{\"d\":\"M0 14.578 14.578 0 16 1.422 1.422 16z\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M16 14.578 1.422 0 0 1.422 14.578 16z\",\"key\":1})]));\n}\n\nClose.defaultProps = {\"width\":\"16\",\"height\":\"16\",\"fill\":\"none\"};\n\nmodule.exports = Close;\n\nClose.default = Close;\n","var React = require('react');\n\nfunction Download (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M5.26 0v10.18l-2.62-2.6-1.06 1.06L6 13.06l4.42-4.42-1.06-1.06-2.6 2.6V0h-1.5ZM0 14.5h12V16H0v-1.5Z\"}));\n}\n\nDownload.defaultProps = {\"width\":\"12\",\"height\":\"16\",\"fill\":\"none\"};\n\nmodule.exports = Download;\n\nDownload.default = Download;\n","var React = require('react');\n\nfunction Menu (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"g\",{\"clipPath\":\"url(#a)\",\"key\":0},React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M4 24h24v-2.667H4V24Zm0-6.667h24v-2.666H4v2.666ZM4 8v2.667h24V8H4Z\"})),React.createElement(\"defs\",{\"key\":1},React.createElement(\"clipPath\",{\"id\":\"a\"},React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M0 0h32v32H0z\"})))]);\n}\n\nMenu.defaultProps = {\"width\":\"32\",\"height\":\"32\",\"fill\":\"none\"};\n\nmodule.exports = Menu;\n\nMenu.default = Menu;\n","var map = {\n\t\"./arrow-down.svg\": 3210,\n\t\"./arrow-right.svg\": 2748,\n\t\"./chevron-down.svg\": 9404,\n\t\"./close.svg\": 7066,\n\t\"./download.svg\": 9118,\n\t\"./menu.svg\": 5775\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 9477;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t818: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunkReports\"] = globalThis[\"webpackChunkReports\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\n__webpack_require__.O(undefined, [121], () => (__webpack_require__(8624)))\n__webpack_require__.O(undefined, [121], () => (__webpack_require__(6472)))\n__webpack_require__.O(undefined, [121], () => (__webpack_require__(5348)))\n__webpack_require__.O(undefined, [121], () => (__webpack_require__(4709)))\nvar __webpack_exports__ = __webpack_require__.O(undefined, [121], () => (__webpack_require__(273)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","icons","require","Icon","_ref","className","name","style","useFill","React","cn","focusable","propTypes","PropTypes","Object","keys","isRequired","scrollToBlock","targetBlock","useTopMenuOffset","arguments","length","undefined","extraOffset","topMenuHeight","isRunningOnClient","parseInt","getComputedStyle","document","documentElement","getPropertyValue","offsetWithExtra","y","getBoundingClientRect","top","window","scrollY","scrollTo","behavior","minWidth","size","matchMedia","concat","matches","s","m","l","ipadPro","mobileArticleSidebar","xl","ArticleAnchorMenu","forwardRef","ref","extraOffsetDesktop","extraOffsetMobile","heading","onScrollToAnchorStarted","anchorLinks","setAnchorLinks","useState","activeAnchorId","setActiveAnchorId","anchorLinksRef","useRef","isExpanded","setIsExpanded","syncActiveAnchorOnScrollDisabledRef","anchorLinkClickTimeoutRef","useImperativeHandle","closeAnchorMenu","setActiveAnchor","anchorId","syncActiveAnchorOnScroll","current","activeId","currentAnchorLinks","index","anchorLink","targetElement","nextTarget","id","createAnchorMenu","h2Headings","querySelectorAll","existingHeadings","Set","links","Array","from","map","headingNode","headingText","textContent","trim","headingId","slugify","lower","strict","originalHeadingId","counter","parentTargetClassName","getAttribute","parentTarget","closest","has","add","text","scrollToAnchor","clearTimeout","history","pushState","targetAnchorLink","find","link","breakpoints","setTimeout","useEffect","hash","location","slice","addEventListener","removeEventListener","onClick","toggleExpanded","prev","_ref2","key","href","e","onAnchorLinkClick","preventDefault","transforms","downFit","downFill","skipForResizeExtensions","queryParameters","width","height","transform","center","checkImageCanBeResized","url","extension","split","pop","toLowerCase","some","item","serializeCenter","x","buildResizeUrl","centerX","centerY","resizeUrl","replaceQueryParameters","assign","resizeQuery","queryHash","CryptoJs","replace","calcImageWidth","containerWidth","resolution","Math","ceil","devicePixelRatio","calcImageHeight","containerHeight","getHeightByWidthAndProportion","realWidth","proportionWidth","proportionHeight","getWidthByHeightAndProportion","realHeight","getHeightWithParallaxOffset","parallaxOffsetPercentage","Transforms","createHtmlImage","Image","constructor","_defineProperty","imageResizer","this","props","src","fill","canBeResized","ratio","containerOffsetWidth","containerOffsetHeight","container","offsetWidth","offsetHeight","autoTransform","fit","autoCalcWidthOnly","autoCalcHeightOnly","skipByWidth","state","skipByHeight","firstPreloadImage","resolutionByWidth","widthResolution","heightResolution","newWidth","newHeight","newRatio","setState","previousState","newSrc","focusPoint","firstLoadWidth","firstLoadHeight","firstLoadSrc","preloadImage","debounce","handleResize","onFirstSrcPreloaded","onSrcPreloaded","checkElementIsHidden","element","offsetParent","isHidden","getHiddenRoot","parent","parentElement","onObservedChange","debouncedHandleResize","componentDidMount","self","onload","observer","MutationObserver","call","observe","attributes","componentWillUnmount","disconnect","componentDidUpdate","render","fluid","backgroundImage","backgroundPosition","c","alt","_Image","values","useBreakpoints","initiallyDesktop","initiallyTablet","initiallyMobile","initiallyDesktopLargerThanIpad","initiallyDesktopExtraLarge","isDesktop","isTablet","isMobile","isDesktopLargerThanIpad","isDesktopExtraLarge","brekpointsStarted","onResize","isMobileArticleSidebar","ArticlePageHero","smallHeading","image","imageHeight","setImageHeight","imageWidth","setImageWidth","screen","role","_extends","PersonTeaserBlock","title","photo","signature","Authors","items","ArticleStickySidebar","anchorMenuHeading","authors","isVisible","setIsVisible","isSticky","setIsSticky","isOverlapping","setIsOverlapping","isScrollingToAnchor","setIsScrollingToAnchor","sidebarRef","anchorMenuRef","sidebarStaticPosition","sidebarCurrentHeight","isScrollExceedsSidebarPostion","updateIsOverlap","sidebarContent","querySelector","sidebarContentRect","overlappingBlocks","overlapDetected","forEach","block","blockRect","bottom","right","left","handleScroll","calcSidebarCurrentHeight","sidebarStyles","marginTop","parseFloat","marginBottom","pageContent","paddingTop","fn","inputs","didMountRef","position","removeAttribute","useDidUpdateEffect","ArticleServiceBar","BoardBlock","ChapterPageHero","LinkBase","openInNewTab","dark","light","small","normal","large","Link","tabindex","iconName","theme","themes","sizes","onFocus","onBlur","target","rel","tabIndex","RichText","richTextRootRef","table","wrapper","createElement","parentNode","insertBefore","appendChild","dangerouslySetInnerHTML","__html","imagePositions","ChapterTeaserBlock","textHtml","backgroundColor","textColor","imagePosition","readMoreLink","color","Logo","imageClass","RootTag","rootTagProps","_objectSpread","Footer","logo","i","linkThemes","linkSizes","ButtonBase","lightBlue","transparent","LinkButton","download","ariaAttributes","ariaAttributesModel","TARGET_BLOCK_ID","GoToPageContent","ariaLabel","isScrolled","setIsScrolled","scrollTop","getElementById","FrontPageHero","reportDownloadLink","lang","goToPageContentAriaLabel","MenuLink","isActive","number","toString","MainMenuItem","AccordionItem","uuid","AccordionItemState","expanded","Fragment","isNaN","stringHelper","AccordionItemButton","AccordionItemPanel","MainMenu","homeLink","downloadReportLink","navAriaLabel","mapMenuColumnItem","itemsPerColumn","itemIndex","firstColumnItems","secondColumnItems","useMemo","totalItems","splitItemsIntoColumns","openedMenuItemsIndexes","reduce","acc","subItem","push","Accordion","allowMultipleExpanded","allowZeroExpanded","preExpanded","columnItem","linkButtonThemes","headerMenuId","bodyActiveClass","Header","mainMenu","isMenuActive","toggle","toggleMenu","deactivate","deactivateMenu","initiallyActive","setIsActive","useCallback","activate","useToggle","callback","eventName","eventHandler","dependencies","useEvent","event","which","body","classList","remove","FocusTrap","active","focusTrapOptions","clickOutsideDeactivates","closeMenuLabel","menuLabel","header__menu_opened","ImageBlock","imageClassName","caption","photographer","next","NavigationBetweenArticlesLink","type","types","NavigationBetweenArticles","prevLink","nextLink","navigationBetweenArticlesAriaLabel","navigationBetweenArticlesLinkTypes","ParallaxBgImage","Parallax","overflow","renderLayer","percentage","ANIMATION_PERCENTAGE","ParallaxTextPanel","textBackgroundColor","textAnimationPercentage","children","transition","PoorText","QuoteBlock","author","authorTitle","QuoteWithBackgroundBlock","quoteBackgroundColor","ReactComponent","componentName","ReferencesBlock","column1","column2","RichTextBlock","sideImage","SkipToMain","StoryBlock","TableOfContentBlock","req","filename","defineProperty","HTMLElement","prototype","get","update","value","classes","indexOf","join","ret","splice","contains","touchEndHappened","classListPolyfill","onTouchStart","onTouchEnd","onMouseDown","keyCodeWhiteList","inputDetection","___EXPOSE_LOADER_IMPORT___","___EXPOSE_LOADER_GLOBAL_THIS___","module","exports","ArrowDown","defaultProps","default","ArrowRight","ChevronDown","Close","Download","Menu","webpackContext","webpackContextResolve","__webpack_require__","o","Error","code","resolve","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","r","n","getter","__esModule","d","a","definition","enumerable","g","globalThis","Function","obj","prop","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","chunkLoadingGlobal","bind","__webpack_exports__"],"sourceRoot":""}