{"version":3,"file":"static/js/Promotion.506ea0e3.js","mappings":"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","sources":["components/Image/ImageLoader.tsx","components/Promotion/Promotion.styled.ts","components/Promotion/Promotion.tsx"],"sourcesContent":["import loadable, { DefaultComponent } from \"@loadable/component\";\nimport React, { ReactElement } from \"react\";\n\nimport ImageProps from \"./ImageProps\";\n\nconst Image = loadable(\n (): Promise> =>\n import(/* webpackChunkName: \"Image\" */ \"./Image\"),\n);\nconst ImageLoader = (props: ImageProps): ReactElement => ;\nexport default ImageLoader;\n","import { styled, css } from \"styled-components\";\nimport theme from \"styled-theming\";\n\nimport { Container as GridContainer } from \"style/components/Page\";\nimport {\n BodyL,\n styleHeadingL,\n styleHeadingXL,\n} from \"style/components/Typography\";\nimport { columnGap } from \"style/grid\";\nimport { MQ } from \"style/mediaQueries\";\n\nexport const Heading = styled.h2`\n ${theme(\"size\", {\n large: css`\n ${styleHeadingXL}\n `,\n medium: css`\n ${styleHeadingL}\n `,\n })};\n grid-column: ${theme(\"displayOption\", {\n Left: \"col-start 1 / span 3\",\n Right: \"col-start 2 / span 3\",\n })};\n justify-self: ${theme(\"displayOption\", {\n Left: \"flex-start\",\n Right: \"flex-end\",\n })};\n margin-bottom: ${theme(\"size\", {\n large: theme(\"hasImage\", {\n true: \"2.625rem\",\n false: \"2.625rem\",\n }),\n medium: theme(\"hasImage\", {\n true: \"3.5rem\",\n false: \"2.1875rem\",\n }),\n })};\n margin-top: 0;\n text-align: ${theme(\"displayOption\", {\n Left: \"left\",\n Right: \"right\",\n })};\n z-index: 2;\n\n ${MQ.FROM_M} {\n grid-column: ${theme(\"displayOption\", {\n Left: \"col-start 1 / span 8\",\n Right: \"col-start 5 / span 8\",\n })};\n margin-bottom: ${theme(\"size\", {\n large: theme(\"hasImage\", {\n true: \"3.5rem\",\n false: \"3.5rem\",\n }),\n medium: theme(\"hasImage\", {\n true: \"4.375rem\",\n false: \"2.625rem\",\n }),\n })};\n }\n\n ${MQ.FROM_L} {\n grid-column: ${theme(\"displayOption\", {\n Left: \"col-start 1 / span 6\",\n Right: \"col-start 7 / span 6\",\n })};\n margin-bottom: ${theme(\"size\", {\n large: theme(\"hasImage\", {\n true: \"3.5rem\",\n false: \"0\",\n }),\n medium: theme(\"hasImage\", {\n true: \"6.125rem\",\n false: \"1.75rem\",\n }),\n })};\n }\n\n ${MQ.FROM_XL} {\n margin-bottom: ${theme(\"size\", {\n large: theme(\"hasImage\", {\n true: \"4.375rem\",\n false: \"0\",\n }),\n medium: theme(\"hasImage\", {\n true: \"8.75rem\",\n false: \"1.75rem\",\n }),\n })};\n }\n`;\n\nexport const Col = styled.div`\n grid-column: col-start 1 / span 4;\n grid-row: 2;\n z-index: 2;\n\n ${MQ.FROM_M} {\n grid-column: ${theme(\"displayOption\", {\n Left: \"col-start 5 / span 8\",\n Right: \"col-start 1 / span 8\",\n })};\n }\n\n ${MQ.FROM_L} {\n grid-column: ${theme(\"displayOption\", {\n Left: \"col-start 7 / span 5\",\n Right: \"col-start 2 / span 5\",\n })};\n ${theme(\"size\", {\n large: css`\n grid-row: 1;\n ${theme(\"hasImage\", {\n false: css`\n padding-top: 4.375rem;\n `,\n })}\n `,\n })};\n ${theme(\"hasImage\", {\n true: css`\n grid-row: 2;\n `,\n })}\n }\n\n ${MQ.FROM_XL} {\n ${theme(\"size\", {\n large: theme(\"hasImage\", {\n false: css`\n padding-top: 7rem;\n `,\n }),\n })};\n }\n`;\n\nexport const Text = styled(BodyL)`\n margin-bottom: 2.1875rem;\n z-index: 2;\n ${theme(\"hasImage\", {\n true: css`\n filter: var(--shadow-on-image);\n `,\n })};\n\n ${MQ.FROM_M} {\n margin-bottom: 2.625rem;\n }\n\n ${MQ.FROM_XL} {\n margin-bottom: 3.5rem;\n }\n`;\n\nexport const Content = styled(GridContainer)`\n ${columnGap}\n display: grid;\n grid-template-columns: repeat(4, [col-start] 1fr);\n grid-template-rows: auto 1fr;\n width: 100%;\n z-index: 2;\n\n ${MQ.FROM_M} {\n grid-template-columns: repeat(12, [col-start] 1fr);\n }\n\n ${MQ.FROM_L} {\n grid-template-rows: auto;\n }\n`;\n\nexport const Container = styled.div`\n ${theme(\"hasImage\", {\n true: css`\n min-height: 80vh;\n\n ${MQ.FROM_L} {\n min-height: 100vh;\n }\n `,\n })};\n ${theme(\"isInEditMode\", {\n true: css`\n min-height: auto;\n\n ${MQ.FROM_L} {\n min-height: auto;\n }\n `,\n })}\n\n figure {\n z-index: 1;\n }\n`;\n\ninterface ContainerProps {\n readonly hasImage?: boolean;\n readonly contentHeight?: number;\n}\n","import React, { ReactElement } from \"react\";\nimport { ThemeProvider } from \"styled-components\";\n\nimport Button from \"components/Button\";\nimport Image from \"components/Image\";\nimport Section from \"components/Section\";\nimport useIsInEditMode from \"hooks/useIsInEditMode\";\nimport generateSrcSet, { commonSourceSets } from \"style/generateSrcSet\";\nimport { addEditAttributes } from \"utils/episerver\";\n\nimport { Container, Heading, Text, Col, Content } from \"./Promotion.styled\";\nimport PromotionProps from \"./PromotionProps\";\n\nconst Promotion = ({\n identifier,\n theme,\n contentTheme,\n actionTheme,\n heading,\n content,\n displayOption = \"Left\",\n link = {},\n size = \"medium\",\n image,\n anchorName,\n}: PromotionProps): ReactElement => {\n const isInEditMode = useIsInEditMode();\n\n // Override some image specific parameters\n if (image && image.url) {\n image.caption = \"\";\n theme = \"black\";\n contentTheme = \"white\";\n actionTheme = \"white\";\n\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 image.cover = true;\n image.darken = true;\n }\n\n return (\n
\n \n \n {image?.url && }\n \n {(isInEditMode || heading) && (\n \n )}\n \n {(isInEditMode || content) && (\n \n {content}\n \n )}\n {(isInEditMode || link) && (\n \n )}\n \n \n \n \n
\n );\n};\n\nexport default React.memo(Promotion);\n"],"names":["Image","loadable","resolved","chunkName","isReady","props","key","resolve","__webpack_modules__","importAsync","requireAsync","then","requireSync","id","__webpack_require__","ImageLoader","_jsx","Heading","styled","h2","withConfig","componentId","theme","large","css","styleHeadingXL","medium","styleHeadingL","Left","Right","true","false","MQ","FROM_M","FROM_L","FROM_XL","Col","div","Text","BodyL","Content","GridContainer","columnGap","Container","Promotion","identifier","contentTheme","actionTheme","heading","content","displayOption","link","size","image","anchorName","isInEditMode","useIsInEditMode","url","caption","srcSet","generateSrcSet","focalPoint","commonSourceSets","maxWidth","uploadedWidth","maxHeight","uploadedHeight","format","cover","darken","Section","alignItems","children","ThemeProvider","hasImage","_jsxs","as","addEditAttributes","dangerouslySetInnerHTML","__html","Button","editPropertyName","gtmClickType","React"],"sourceRoot":""}