{"version":3,"file":"static/js/Hero.bc1ef70e.js","mappings":"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","sources":["components/Hero/Hero.tsx","components/Watermark/WatermarkLoader.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { ThemeProvider } from \"styled-components\";\n\nimport CallToAction from \"components/CallToAction\";\nimport Image from \"components/Image\";\nimport Section from \"components/Section\";\nimport Watermark from \"components/Watermark\";\nimport { useIsInEditMode, useBreakpoint } from \"hooks\";\nimport { BodyL } from \"style/components/Typography\";\nimport generateSrcSet, { commonSourceSets } from \"style/generateSrcSet\";\nimport { addEditAttributes } from \"utils/episerver\";\n\nimport {\n Container,\n Heading,\n Introduction,\n IntroductionHtml,\n CallToActions,\n ReadMore,\n HeroMap,\n Logo,\n Col,\n HeroVideo,\n StyledButton,\n StyledForm,\n ReadMoreButton,\n} from \"./Hero.styled\";\nimport HeroProps from \"./HeroProps\";\n\nconst Hero = ({\n identifier,\n heading,\n headingSize = \"XXL\",\n introductionHtml,\n introduction,\n image,\n ctas,\n video,\n backgroundImage,\n theme = \"blue\",\n contentTheme = \"cyan\",\n actionTheme = \"cyan\",\n showArrowdown = false,\n editAttributePrefix = \"\",\n watermark,\n link,\n map,\n l18n,\n logo,\n form,\n handleClick,\n handleKeyPress,\n}: HeroProps): ReactElement => {\n const [isLoaded, setIsloaded] = useState(false);\n const heroImage = useRef(null);\n const [logoDimensions, setLogoDimensions] = useState({\n width: 0,\n height: 0,\n });\n if (image?.caption) delete image.caption;\n image = image || backgroundImage;\n\n const isInEditMode = useIsInEditMode();\n\n switch (theme) {\n case \"black\":\n actionTheme = \"white\";\n break;\n }\n\n const hasText = !!(heading || introduction);\n const hasImage = !!image;\n const hasMap = !!map;\n const hasVideo = !!video;\n\n const onLogoLoad = useCallback(\n (event: React.SyntheticEvent) => {\n const img = event.target as HTMLImageElement;\n setLogoDimensions({\n height: img.naturalHeight,\n width: img.naturalWidth,\n });\n },\n [],\n );\n\n useEffect(() => {\n if (\n heroImage.current?.complete &&\n (logoDimensions.width === 0 || logoDimensions.height === 0)\n )\n setLogoDimensions({\n height: heroImage.current.naturalHeight,\n width: heroImage.current.naturalWidth,\n });\n }, [heroImage, logoDimensions]);\n\n const getLogoFormat = (): string | undefined => {\n const { width, height } = logoDimensions;\n\n if (!width || !height || (width === 0 && height === 0)) {\n return undefined;\n }\n if (width > height) {\n return \"landscape\";\n }\n if (width < height) {\n return \"portrait\";\n }\n return \"square\";\n };\n\n const getVariant = () => {\n if (isInEditMode) return \"edit\";\n if (hasMap) return \"map\";\n if (hasVideo) return \"video\";\n if (hasImage || !!watermark) {\n if (hasText) return \"full\";\n return \"image\";\n }\n return \"text\";\n };\n\n const variant = getVariant();\n const hasCTA = ctas && ctas.length > 0;\n const hasColumn = hasCTA || !!link || !!logo || !!form;\n\n if (image && image.url) {\n image.srcSet = generateSrcSet({\n image: image.url,\n focalPoint: image.focalPoint,\n content: commonSourceSets.large,\n maxWidth: image.uploadedWidth,\n maxHeight: image.uploadedHeight,\n format: \"jpg\",\n });\n }\n\n useEffect(() => {\n if (!isLoaded) setIsloaded(true);\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n let iconSize: string;\n switch (useBreakpoint([\"XL\"])) {\n case \"XL\":\n iconSize = \"140\";\n break;\n default:\n iconSize = \"105\";\n }\n\n return (\n \n \n {hasMap && isLoaded && (\n \n )}\n {hasVideo && }\n {!hasMap && image && (\n \n )}\n {!hasMap && !hasVideo && watermark && (\n \n )}\n \n {!hasMap && !hasVideo && (\n <>\n {(isInEditMode || heading) && (\n \n )}\n {(isInEditMode ||\n (!introductionHtml && introduction)) && (\n \n )}\n {(isInEditMode || introductionHtml) && (\n }\n />\n )}\n {(isInEditMode || hasColumn) && (\n \n {(isInEditMode || hasCTA) && (\n \n {ctas?.map((cta, index) => {\n return (\n \n );\n })}\n \n )}\n {(isInEditMode || link) && (\n \n )}\n {form?.formElements && (\n \n )}\n {logo && (\n \n )}\n \n )}\n {showArrowdown && (\n \n \n {l18n?.readMore}\n \n \n )}\n \n )}\n \n \n \n );\n};\n\nexport default React.memo(Hero);\n","import loadable, { DefaultComponent } from \"@loadable/component\";\nimport React, { ReactElement } from \"react\";\n\nimport WatermarkProps from \"./WatermarkProps\";\n\nconst Watermark = loadable(\n (): Promise> =>\n import(/* webpackChunkName: \"Watermark\" */ \"./Watermark\"),\n);\nconst WatermarkLoader = (props: WatermarkProps): ReactElement => (\n \n);\nexport default WatermarkLoader;\n"],"names":["Hero","identifier","heading","headingSize","introductionHtml","introduction","image","ctas","video","backgroundImage","theme","contentTheme","actionTheme","showArrowdown","editAttributePrefix","watermark","link","map","l18n","logo","form","handleClick","handleKeyPress","_image","isLoaded","setIsloaded","useState","heroImage","useRef","logoDimensions","setLogoDimensions","width","height","caption","isInEditMode","useIsInEditMode","hasText","hasImage","hasMap","hasVideo","onLogoLoad","useCallback","event","img","target","naturalHeight","naturalWidth","useEffect","_heroImage$current","current","complete","variant","hasCTA","length","hasColumn","iconSize","url","srcSet","generateSrcSet","focalPoint","content","commonSourceSets","large","maxWidth","uploadedWidth","maxHeight","uploadedHeight","format","useBreakpoint","_jsx","ThemeProvider","getLogoFormat","children","_jsxs","Section","alignItems","id","HeroMap","options","disableDefaultUI","zoomControl","HeroVideo","title","undefined","Image","cover","darken","lazyload","editPropertyName","Watermark","icon","Container","$showArrowdown","_Fragment","Heading","addEditAttributes","dangerouslySetInnerHTML","__html","size","Introduction","IntroductionHtml","renderElement","BodyL","Col","CallToActions","cta","index","CallToAction","text","StyledButton","formElements","StyledForm","formId","items","areaName","action","postUrl","spamTrapAction","spamTrapUrl","gtmFormType","Logo","ref","onLoad","src","alt","ReadMore","ReadMoreButton","onClick","onKeyDown","readMore","a11y","iconOnly","React","loadable","resolved","chunkName","isReady","props","key","resolve","__webpack_modules__","importAsync","requireAsync","then","requireSync","__webpack_require__","WatermarkLoader"],"sourceRoot":""}