{"version":3,"sources":["webpack:///./src/modules/RelatedContentList/RelatedContentList.js","webpack:///./src/modules/VideoCardList/VideoCardList.js","webpack:///./src/components/Image/ImgElement.js","webpack:///./src/components/Image/Image.js","webpack:///./src/components/Markdown/renderers/HeaderRenderer/HeaderRenderer.js","webpack:///./src/components/Markdown/renderers/LinkRenderer/LinkRenderer.js","webpack:///./src/components/Markdown/renderers/ParagraphRenderer/ParagraphRenderer.js","webpack:///./src/components/Markdown/renderers/ImageRenderer/ImageRenderer.js","webpack:///./src/components/List/List.js","webpack:///./src/components/Markdown/renderers/ListRenderer/ListRenderer.js","webpack:///./src/components/Markdown/markdown-styles.js","webpack:///./src/components/Markdown/renderers/TextRenderer/TextRenderer.js","webpack:///./src/components/Markdown/Markdown.js","webpack:///./src/components/CtaLink/CtaLink.js","webpack:///./src/components/Image/imgix-support.js","webpack:///./src/components/Image/helpers.js","webpack:///./src/utils/hyphenation.js","webpack:///./src/components/HyphenatedText/HyphenatedText.js","webpack:///./src/components/Spinner/Spinner.js","webpack:///./src/utils/date.js","webpack:///./src/icons/PlayIcon.js","webpack:///./src/components/Grid/Col.js","webpack:///./src/components/VideoCardOpened/VideoCardOpened.js","webpack:///./src/components/VideoCardClosed/VideoCardClosed.js","webpack:///./src/components/VideoCard/VideoCard.js","webpack:///./src/components/Grid/Row.js","webpack:///./src/components/ListGroup/ListGroup.js","webpack:///./src/components/ListCard/ListCard.js","webpack:///./src/icons/CircleArrowRightIcon.js"],"names":["RelatedContentList","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","renderCard","item","index","key","title","React","ListCard","Object","assign","value","_this$props","this","props","items","addTopPadding","Ribbon","clearChildMargin","paddingTop","ListGroup","itemsPerColumn","map","displayName","defaultProps","StyledList","styled","ul","withConfig","componentId","VideoCardList","VideoCard","getObjectPosition","alignX","alignY","undefined","Img","img","_ref","blurred","_ref2","show","_ref3","hide","_ref4","zoomOnHover","ImgElement","_ref5","src","alt","contain","cover","onLoad","_objectWithoutProperties","_excluded","_useState2","_slicedToArray","useState","renderAsDiv","setRenderAsDiv","useEffect","objectFitSupport","createElement","as","style","backgroundImage","backgroundSize","backgroundPosition","objectPosition","objectFit","role","Container","div","fillContainer","aspect","Image","_PureComponent","state","ready","animatedIn","elementWidth","elementHeight","timeout","handleLoad","fadeIn","setState","setTimeout","handleTransitionEnd","handleError","handleMeasure","contentRect","Math","ceil","bounds","width","height","onResize","maxAspectRatio","aspectRatio","min","_objectSpread","fit","crop","focalPoint","auto","x","y","imgixParams","imgixProps","processImage","imageDimensionMap","w","h","dpr","q","blur","clearTimeout","_this2","disableBlur","className","_this$state","generateImgixProps","currentSrc","generateSource","generateAspectRatio","Measure","measureRef","ref","generateBlurredSource","aria-hidden","onError","onTransitionEnd","PureComponent","withImgix","SectionHeader","Heading","p","area","mediaOnly","xs","_templateObject","HeaderRenderer","children","level","AreaConsumer","tag","marginBottom","CtaLinkWrapper","MarkdownCtaLink","CtaLink","MarkdownNormalLink","Link","underline","LinkRenderer","isCtaLink","rest","meta","href","target","isExternalLink","hrefSplit","split","_target","splice","join","getMetaInfoFromHref","linkProps","StyledParagraph","Paragraph","getLineHeight","isImageRendere","type","isLinkRendere","ParagraphRenderer","childs","toArray","reduce","acc","val","push","isArray","child","every","link","maxWidth","noBreaks","Wrapper","span","_taggedTemplateLiteral","imageSizes","default","main","ImageRenderer","_React$PureComponent","_src$split2","imgSrc","attr","attrs","qs","parse","parseInt","noSizes","ratio","sizes","Base","theme","rem","bodyFontSize","bodyFontWeight","UnorderedList","name","color","yellow","OrderedList","withComponent","List","ordered","Comp","ArticleList","ListRenderer","supportsStringRender","window","document","documentMode","test","navigator","userAgent","slice","TextRenderer","RENDERERS","ReactMarkdown","renderers","heading","paragraph","image","list","text","normalStyle","css","fullWidthStyle","StyledMarkdown","noMargin","clearMargin","fullWidth","invert","textInvert","Markdown","source","id","ThemeContext","disallowedTypes","BaseButton","getFontSize","size","secondaryFontFamily","primary","accent","Label","durations","fast","align","renderInner","hovering","label","_this$props2","normalizedWidth","imageQuality","constructUrl","params","preparedParams","keys","filter","k","encodeURIComponent","Component","InjectedComponent","ConfigContext","Consumer","config","imgixDomain","options","includes","global","devicePixelRatio","supports","body","hyphenate","createHyphenation","patterns","async","minWordLength","html","HyphenatedText","useMemo","Fragment","load8","keyframes","LoaderWrapper","Loader","borderPositive","_ref6","Spinner","_regeneratorRuntime","e","t","r","prototype","n","hasOwnProperty","o","defineProperty","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","f","s","GeneratorFunction","GeneratorFunctionPrototype","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","Promise","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","info","error","controller","signal","months","parseDate","unixTimestamp","callback","date","Date","getTime","console","log","day","getDate","month","getMonth","fullMonth","year","getFullYear","getDateParts","dateWithFullMonth","dateParts","getCurrentDate","fn","_callee","_ref$continent","continent","city","currentDate","timeApiUrl","_context","abort","AbortController","fetch","res","json","data","datetime","getHours","err","self","_x","diffBetweenTwoDates","numberOfDays","diffInTime","now","round","Svg","svg","white","PlayIcon","viewBox","cursor","cx","cy","shortPrecision","precision","precise","toFixed","match","renderBreakPoint","columns","dimension","result","gridSize","mediaQuery","offset","createQuery","Col","stretch","shrink","verticalAlign","DIMENSION_NAMES","xsOffset","smOffset","mdOffset","lgOffset","hdOffset","VideoCardOpened","video","subjectArea","description","Vimeo","lazy","keyGen","consecutive","hyphenatedTitle","CardModal","transparent","effects","negative","cardNegativeBackground","cardPositiveBackground","StyledWrapper","_ref7","StyledSubtitleWrapper","StyledSubtitle","StyledHeading","_ref8","fieldHover","StyledHeadingLink","StyledLink","_ref9","_ref10","Suspense","fallback","controls","responsiveSize","VideoCardClosed","isSingle","onHandleOpen","BannerCard","Card","button","linkHoverTransition","StyledVideoCardImage","StyledImage","StyledPlayButton","onClick","poster","fontSize","fontWeight","lineHeight","dangerouslySetInnerHTML","__html","StyledCardElementContainer","StyledCloseButton","StyledDialog","Dialog","StyledDialogOverlay","Overlay","player","isOpen","handleOpen","handleClose","cardElement","display","onClose","open","fill","fill-rule","clip-rule","addGutter","gutter","gutterVal","gutterValOuter","Row","noWrap","xsGutter","smGutter","mdGutter","lgGutter","hdGutter","start","center","end","top","middle","bottom","around","between","first","last","StyledHeadingRow","StyledCol","SpinnerWrapper","sm","md","isLoading","getColumnSize","itemIndex","borderRadius","StyledDate","StyledOldDate","oldDate","LinkIconWrapper","_ref11","TitleLink","displayDate","pretitle","titleLink","isNewsItem","hasModuleHeader","CircleArrowRightIcon","withHover","stroke","strokeLinecap","strokeWidth","x1","x2","y1","y2","points"],"mappings":"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","file":"static/scripts/related-content-list-730c6c99626520651b7e.js","sourcesContent":["// @flow\nimport * as React from 'react'\n\nimport type { RelatedListItemViewModel } from '../../types/RelatedListItemViewModel'\nimport type { AreaTypes } from '../../types/enums/AreaTypes'\n\nimport Ribbon from '../../components/Ribbon/Ribbon'\nimport ListGroup from '../../components/ListGroup/ListGroup'\nimport ListCard from '../../components/ListCard/ListCard'\n\nexport type Props = {\n title?: string,\n items?: Array,\n area?: AreaTypes,\n addTopPadding?: boolean,\n}\n\ntype State = {}\n\nclass RelatedContentList extends React.Component {\n static displayName = 'RelatedContentList'\n static defaultProps = {}\n\n renderCard = (item: RelatedListItemViewModel, index: number) => {\n const key = item && item.title ? `${item.title}-${index}` : `_-${index}`\n return \n }\n\n render() {\n const { title, items, addTopPadding } = this.props\n\n if (!items || !items.length) return null\n\n return (\n \n \n {items && items.map(this.renderCard)}\n \n \n )\n }\n}\n\nexport default RelatedContentList\n","// @flow\nimport * as React from 'react'\nimport type { AreaTypes } from '../../types/enums/AreaTypes'\nimport Ribbon from '../../components/Ribbon/Ribbon'\nimport type { VideoCardViewModel } from '../../types/VideoCardViewModel'\nimport VideoCard from '../../components/VideoCard/VideoCard'\nimport styled from 'styled-components'\nexport type Props = {\n items?: Array,\n area?: AreaTypes,\n addTopPadding?: boolean,\n}\n\nconst StyledList = styled.ul`\n display: grid;\n\n padding: 0;\n gap: 40px;\n\n @media (min-width: 768px) {\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n }\n`\n\nclass VideoCardList extends React.Component {\n static displayName = 'VideoCardList'\n static defaultProps = {}\n\n renderCard = (item: VideoCardViewModel, index: number) => {\n const key = item && item.title ? `${item.title}-${index}` : `_-${index}`\n\n return \n }\n\n render() {\n const { items, addTopPadding } = this.props\n\n if (!items || !items.length) return null\n\n return (\n \n {items && items.map(this.renderCard)}\n \n )\n }\n}\n\nexport default VideoCardList\n","// @flow\nimport React, { useEffect, useState } from 'react'\nimport styled from 'styled-components'\nimport { objectFitSupport } from './helpers'\n\nfunction getObjectPosition(alignX, alignY) {\n return alignX || alignY\n ? `${alignX || 'center'} ${alignY || 'center'}`\n : undefined\n}\n\nconst Img = styled.img`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n max-width: none;\n object-fit: cover;\n object-position: center;\n ${({ blurred }) =>\n blurred &&\n `\n opacity: 0.4;\n `}\n\n ${({ show }) =>\n show &&\n `\n transition: opacity 0.4s linear;\n will-change: opacity;\n opacity: 1;\n `}\n\n ${({ hide }) =>\n hide &&\n `\n opacity: 0;\n will-change: opacity;\n `}\n\n ${({ zoomOnHover }) =>\n zoomOnHover &&\n `\n transition: transform 2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;\n &:hover {\n transform: scale(1.1);\n }\n `} \n`\n\ntype Props = {\n src: string,\n alignX?: 'left' | 'center' | 'right',\n alignY?: 'top' | 'center' | 'bottom',\n alt?: string,\n contain?: boolean,\n cover?: boolean,\n onLoad?: Function,\n blurred?: boolean,\n show?: boolean,\n hide?: boolean,\n zoomOnHover?: boolean,\n}\n\n/**\n * Img Element with ObjectFit fallback in unsupported browsers (IE)\n */\nfunction ImgElement({\n src,\n alt,\n contain,\n cover,\n alignX,\n alignY,\n onLoad,\n blurred,\n ...props\n}: Props) {\n /**\n * If this Image requires unsupported ObjectFit, fallback to a
with backgroundImage\n **/\n const [renderAsDiv, setRenderAsDiv] = useState(false)\n useEffect(() => {\n setRenderAsDiv(\n (alignX || alignY || contain || cover) && !objectFitSupport(),\n )\n }, [])\n\n if (renderAsDiv) {\n if (onLoad) {\n // Trigger the onLoad - could create a dummy image instead that triggers it after the image is actually loaded.\n onLoad()\n }\n return (\n \n )\n }\n\n return (\n \n )\n}\n\nImgElement.defaultProps = {\n contain: false,\n}\n\nexport default ImgElement\n","// @flow\nimport React, { PureComponent } from 'react'\nimport Measure from 'react-measure'\nimport styled from 'styled-components'\n\nimport type { ImageViewModel } from '../../types/ImageViewModel'\nimport type { Bounds, Rect } from './types'\n\nimport processImage, { imageDimensionMap, withImgix } from './imgix-support'\nimport ImgElement from './ImgElement'\n\nconst Container = styled.div`\n position: relative;\n width: 100%;\n ${({ fillContainer }) =>\n fillContainer &&\n `\n position: absolute;\n height: 100%;\n top: 0;\n left: 0;\n `} ${({ aspect }) =>\n aspect &&\n `\n padding-bottom: ${aspect * 100}%;\n `};\n ${({ zoomOnHover }) =>\n zoomOnHover &&\n `\n overflow: hidden\n `}\n`\n\ntype Props = ImageViewModel & {\n onResize?: (bounds: Bounds) => void,\n className?: string,\n zoomOnHover?: boolean,\n}\n\ntype State = {\n animatedIn: boolean,\n ready: boolean,\n elementWidth: number,\n elementHeight: number,\n}\n\n/**\n * Image handles fetching the correct Imgix image, and rendering it onto the page.\n * By default it will load an image that fillContainers the width of it's container, while keeping the original image aspect ratio\n */\nclass Image extends PureComponent {\n static displayName = 'Image'\n static defaultProps = {\n maxAspectRatio: 2,\n width: 1,\n height: 1,\n }\n\n static generateAspectRatio(\n width: number = 1,\n height: number = 1,\n maxAspectRatio: number = 1,\n aspectRatio?: number,\n ) {\n if (aspectRatio) {\n return aspectRatio\n }\n return Math.min(maxAspectRatio, height / width)\n }\n\n static generateImgixProps(props: Props) {\n return {\n fit: props.contain ? 'clip' : 'crop',\n crop: !props.contain\n ? props.focalPoint\n ? 'focalpoint'\n : props.crop\n : undefined,\n auto: ['compress', 'format'],\n 'fp-x': props.focalPoint ? props.focalPoint.x : undefined,\n 'fp-y': props.focalPoint ? props.focalPoint.y : undefined,\n ...props.imgixParams,\n }\n }\n\n static generateSource(\n src: string,\n width: number,\n height: number,\n imgixProps?: Object,\n ) {\n if (width > 0 && height > 0) {\n return processImage(src, {\n ...imgixProps,\n ...imageDimensionMap(width, height),\n })\n }\n\n return null\n }\n\n static generateBlurredSource(\n src: string,\n width: number = 1,\n height: number = 1,\n imgixProps: Object = {},\n ) {\n return processImage(src, {\n ...imgixProps,\n w: Math.ceil(64),\n h: Math.ceil((height / width) * 64),\n dpr: 1,\n q: 50,\n blur: 64,\n })\n }\n\n state = {\n ready: false,\n animatedIn: false,\n elementWidth: 0,\n elementHeight: 0,\n }\n\n timeout = null\n\n componentWillUnmount() {\n if (this.timeout) clearTimeout(this.timeout)\n }\n\n handleLoad = () => {\n if (this.props.fadeIn) {\n this.setState({ ready: true })\n this.timeout = setTimeout(() => {\n this.timeout = null\n this.setState({ animatedIn: true })\n }, 1000)\n } else {\n this.setState({ ready: true, animatedIn: true })\n }\n }\n\n handleTransitionEnd = () => {\n if (this.state.ready) {\n this.setState({ animatedIn: true })\n }\n }\n\n handleError = () => {\n this.setState({ ready: true, animatedIn: true })\n }\n\n handleMeasure = (contentRect: Rect) => {\n this.setState({\n elementWidth: Math.ceil(contentRect.bounds.width),\n elementHeight: Math.ceil(contentRect.bounds.height),\n })\n\n if (this.props.onResize) this.props.onResize(contentRect.bounds)\n }\n\n render() {\n const {\n src,\n fadeIn,\n disableBlur,\n maxAspectRatio,\n fillContainer,\n contain,\n cover,\n alignX,\n alignY,\n width,\n height,\n alt,\n className,\n zoomOnHover,\n aspectRatio,\n } = this.props\n\n const { ready, animatedIn, elementWidth, elementHeight } = this.state\n const imgixProps = Image.generateImgixProps(this.props)\n const currentSrc = Image.generateSource(\n src,\n elementWidth,\n elementHeight,\n imgixProps,\n )\n\n const aspect = !fillContainer\n ? Image.generateAspectRatio(width, height, maxAspectRatio, aspectRatio)\n : null\n\n return (\n \n {({ measureRef }) => {\n return (\n \n {!disableBlur && fadeIn && !animatedIn ? (\n \n ) : null}\n {currentSrc || (!fadeIn && !disableBlur) ? (\n \n ) : null}\n \n )\n }}\n \n )\n }\n}\n\nexport default withImgix(Image)\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport Heading from '../../../Heading/Heading'\nimport { mediaOnly } from '../../../../styles/media'\nimport { AreaConsumer } from '../../../AreaContext/AreaContext'\n\ntype Props = {\n children?: React.Node,\n level: 1 | 2 | 3 | 4 | 5,\n}\n\nconst SectionHeader = styled(Heading)`\n margin-top: ${p => (p.area === 'accordion' ? 40 : 80)}px;\n\n ${mediaOnly.xs`\n margin-top: ${p => (p.area === 'accordion' ? 20 : 40)}px;\n `};\n`\n\nfunction HeaderRenderer({ children, level }: Props) {\n /* Abuse the fact that we have 5 levels of headers, to render special blocks. */\n if (level === 1) {\n return (\n \n {area => (\n \n {children}\n \n )}\n \n )\n }\n if (level === 2) {\n return (\n \n {area => (\n \n {children}\n \n )}\n \n )\n }\n\n return (\n \n {area => (\n \n {children}\n \n )}\n \n )\n}\n\nHeaderRenderer.displayName = 'HeaderRenderer'\nHeaderRenderer.defaultProps = {}\n\nexport default HeaderRenderer\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\n\nimport type { LinkViewModel } from '../../../../types/LinkViewModel'\nimport type { LinkTargetTypes } from '../../../../types/enums/LinkTargetTypes'\n\nimport CtaLink from '../../../CtaLink/CtaLink'\nimport { Link, isExternalLink } from '../../../Link/Link'\n\ntype LinkProps = LinkViewModel & {\n children?: React.Node,\n}\n\ntype Props = LinkViewModel & {\n children?: React.Node,\n isCtaLink?: boolean,\n}\n\nconst CtaLinkWrapper = styled.div`\n margin-bottom: 1rem;\n`\n\nconst MarkdownCtaLink = (props: LinkProps) => (\n \n \n \n)\n\nconst MarkdownNormalLink = (props: LinkProps) => {\n return (\n \n {props.children}\n \n )\n}\n\ntype LinkMetaInfo = { href?: string, target?: LinkTargetTypes }\n\nconst getMetaInfoFromHref = (value: string = ''): LinkMetaInfo => {\n let href = value\n let target: LinkTargetTypes = isExternalLink(href) ? '_blank' : '_self'\n\n const hrefSplit = href.split('|')\n\n if (hrefSplit.length > 1) {\n const _target = hrefSplit.splice(1, hrefSplit.length - 1).join('')\n\n switch (_target) {\n case 'blank':\n target = '_blank'\n break\n case 'self':\n target = '_self'\n break\n case 'parent':\n target = '_parent'\n break\n case 'top':\n target = '_top'\n break\n default:\n break\n }\n\n href = hrefSplit.join('|')\n }\n\n return {\n target,\n href,\n }\n}\n\nconst LinkRenderer = (props: Props) => {\n const { isCtaLink, ...rest } = props\n const meta = getMetaInfoFromHref(props.href)\n const linkProps = { ...rest, ...meta }\n\n return isCtaLink ? (\n \n ) : (\n \n )\n}\n\nLinkRenderer.displayName = 'LinkRenderer'\nLinkRenderer.defaultProps = {}\n\nexport default LinkRenderer\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport Paragraph from '../../../Paragraph/Paragraph'\nimport { getLineHeight } from '../../../../styles/style-helpers'\nimport LinkRenderer from '../LinkRenderer/LinkRenderer'\nimport { color } from '../../../../styles/theme'\n\ntype Props = {\n children?: React.Node,\n}\n\nconst StyledParagraph = styled(Paragraph)`\n line-height: ${getLineHeight('normal')};\n & > a {\n color: inherit;\n }\n`\n\nconst isImageRendere = item =>\n item.type && item.type.displayName === 'ImageRenderer'\nconst isLinkRendere = item =>\n item.type && item.type.displayName === 'LinkRenderer'\n\nfunction ParagraphRenderer({ children }: Props) {\n const childs = React.Children.toArray(children).reduce((acc, val, index) => {\n if (isImageRendere(val)) {\n // Images are always rendered in their own \"paragraph\"\n acc.push(val)\n } else {\n // All other children are added to the list\n if (!acc.length || !Array.isArray(acc[acc.length - 1])) {\n acc.push([])\n }\n acc[acc.length - 1].push(val)\n }\n return acc\n }, [])\n\n return (\n \n {childs.map((child, index) => {\n if (!Array.isArray(child) && isImageRendere(child)) {\n return child\n }\n\n if (child.every(isLinkRendere)) {\n return child.map((link, key) => (\n \n ))\n }\n return (\n \n {child}\n \n )\n })}\n \n )\n}\n\nParagraphRenderer.displayName = 'ParagraphRenderer'\nParagraphRenderer.defaultProps = {}\n\nexport default ParagraphRenderer\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport qs from 'qs'\nimport Image from '../../../Image/Image'\nimport { mediaOnly } from '../../../../styles/media'\n\ntype Props = {\n src: string,\n title?: string,\n alt?: string,\n}\n\ntype State = {}\n\nconst Wrapper = styled.span`\n display: block;\n margin: 80px 0;\n max-width: ${p => p.maxWidth};\n\n ${mediaOnly.xs`\n margin: 40px 0;\n `};\n`\n\nconst imageSizes = {\n default: {\n maxWidth: '1440px',\n },\n main: {\n maxWidth: '880px',\n },\n}\n\nclass ImageRenderer extends React.PureComponent {\n static displayName = 'ImageRenderer'\n static defaultProps = {}\n\n render() {\n const { src, alt } = this.props\n\n if (!src) return null\n const [imgSrc, attr] = src.split('?', 2)\n const attrs = qs.parse(attr)\n const width = parseInt(attrs.width, 10)\n const height = parseInt(attrs.height, 10)\n const noSizes = !width || !height\n\n return (\n 0 && !noSizes ? `${width}px` : '100%'}>\n \n \n )\n }\n}\n\nexport default ImageRenderer\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport { rem } from 'polished'\n\nimport { color } from '../../styles/theme'\n\ntype Props = {\n children?: React.Node,\n ordered?: boolean,\n}\n\nconst Base = styled.ul`\n color: inherit;\n //color: ${({ theme }) => theme.text};\n font-size: ${({ theme }) => rem(theme.bodyFontSize)};\n font-weight: ${({ theme }) => theme.bodyFontWeight};\n line-height: 1.5;\n padding: 0 0 0 1.5rem;\n margin-bottom: 2.5rem;\n list-style: none;\n\n > li {\n margin-bottom: 0.5rem;\n list-style-type: none;\n position: relative;\n }\n\n li > ul,\n li > ol {\n margin: 0.5rem 0 0;\n }\n`\n//TODO\nconst UnorderedList = styled(Base)`\n ${({ theme }) =>\n theme.name === 'kids' || theme.name === 'lgbt'\n ? `\n li::before {\n content: ''; /* The unicode for • character */\n position: absolute;\n border: 3px solid ${color.yellow};\n border-radius: 50%;\n width: ${rem(12)};\n height: ${rem(12)};\n left: ${rem(-20)};\n top: ${rem(6)};\n }`\n : `li::before {\n content: '\\\\2022'; /* The unicode for • character */\n position: absolute;\n left: -1em;\n font-size: 1em;\n }`}\n`\n\nconst OrderedList = styled(Base.withComponent('ol'))`\n counter-reset: section;\n li::before {\n counter-increment: section;\n content: counter(section) '.';\n font-weight: 500;\n position: absolute;\n left: -1em;\n font-size: 1rem;\n }\n`\n\nfunction List({ children, ordered, ...props }: Props) {\n const Comp = ordered ? OrderedList : UnorderedList\n return {children}\n}\n\nList.displayName = 'List'\nList.defaultProps = {}\n\nexport default List\n","// @flow\nimport * as React from 'react'\nimport List from '../../../List/List'\nimport { MaxWidth } from '../../markdown-styles'\n\ntype Props = {\n children?: React.Node,\n ordered: boolean,\n}\n\nconst ArticleList = MaxWidth.withComponent(List)\n\nfunction ListRenderer({ children, ordered }: Props) {\n return {children}\n}\n\nListRenderer.displayName = 'ListRenderer'\nListRenderer.defaultProps = {\n ordered: false,\n}\n\nexport default ListRenderer\n","// @flow\nimport styled from 'styled-components'\n\nexport const MaxWidth = styled.div`\n max-width: 550px;\n`\n","// @flow\nimport * as React from 'react'\n\ntype Props = {\n children?: React.Node,\n}\n\n// this renderer resolved a bug in Internet Explorer 11.\n// if supportsStringRender === true, it forces the returned string to be\n// wrapper in a React Fragment to prevent the IE bug from happening\n\n// detect IE8 and above, and Edge\n// source: https://stackoverflow.com/questions/31757852/how-can-i-detect-internet-explorer-ie-and-microsoft-edge-using-javascript\nconst isIE = () =>\n typeof window !== 'undefined' &&\n (document.documentMode || /Edge/.test(navigator.userAgent))\n\nvar supportsStringRender =\n !isIE() && parseInt((React.version || '16').slice(0, 2), 10) >= 16\n\nfunction TextRenderer(props: Props) {\n return supportsStringRender\n ? props.children\n : React.createElement('span', null, props.children)\n}\n\nTextRenderer.displayName = 'TextRenderer'\nTextRenderer.defaultProps = {}\n\nexport default TextRenderer\n","// @flow\nimport * as React from 'react'\nimport ReactMarkdown from 'react-markdown'\n\nimport type { MarkdownViewModel } from '../../types/MarkdownViewModel'\n\nimport HeaderRenderer from './renderers/HeaderRenderer/HeaderRenderer'\nimport ParagraphRenderer from './renderers/ParagraphRenderer/ParagraphRenderer'\nimport LinkRenderer from './renderers/LinkRenderer/LinkRenderer'\nimport ImageRenderer from './renderers/ImageRenderer/ImageRenderer'\nimport ListRenderer from './renderers/ListRenderer/ListRenderer'\nimport TextRenderer from './renderers/TextRenderer/TextRenderer'\n\nimport styled, { css, ThemeContext } from 'styled-components'\nimport { mediaOnly } from '../../styles/media'\nimport { clearMargin } from '../../styles/style-helpers'\n\ntype Props = MarkdownViewModel & { invert?: boolean }\n\nconst RENDERERS = {\n ...ReactMarkdown.renderers,\n heading: HeaderRenderer,\n paragraph: ParagraphRenderer,\n link: LinkRenderer,\n image: ImageRenderer,\n list: ListRenderer,\n text: TextRenderer,\n}\n\nconst normalStyle = css`\n margin: 80px 0;\n ${mediaOnly.xs`\n margin: 40px 0;\n `};\n`\n\nconst fullWidthStyle = css`\n & p {\n max-width: 100%;\n }\n`\n\nconst StyledMarkdown = styled(ReactMarkdown)`\n word-break: break-word;\n ${p => (p.noMargin ? clearMargin() : normalStyle)};\n ${p => (p.fullWidth ? fullWidthStyle : null)};\n color: ${({ theme, invert }) => (invert ? theme.textInvert : theme.text)};\n`\n\nfunction Markdown({\n source,\n noMargin,\n fullWidth,\n className,\n id,\n invert,\n}: Props) {\n const theme = React.useContext(ThemeContext)\n\n return (\n \n )\n}\n\nMarkdown.displayName = 'Markdown'\nMarkdown.defaultProps = {}\n\nexport default Markdown\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport BaseButton from '../Button/BaseButton'\nimport type { LinkViewModel } from '../../types/LinkViewModel'\nimport { secondaryFontFamily } from '../../styles/theme'\nimport type { ButtonState } from '../Button/BaseButton'\nimport { getFontSize } from '../../styles/style-helpers'\nimport { durations } from '../../styles/animations'\n\ntype Props = LinkViewModel & {\n children?: React.Node,\n /** Always render as anchor tag, don't fall back to button */\n isAnchor?: boolean,\n disabled?: boolean,\n size: 'small' | 'normal',\n invert?: boolean,\n}\n\ntype AlignProps = {\n align: 'left' | 'right',\n}\n\ntype State = {}\n\nconst Base = styled(BaseButton)`\n && {\n display: inline-block;\n font-size: ${(props: Props) => getFontSize(props.size)};\n font-family: ${secondaryFontFamily};\n text-decoration: underline;\n line-height: 1.25;\n text-align: left;\n max-width: 100%;\n transform: translateX(-0.5rem);\n }\n`\n\nconst Container = styled.div`\n position: relative;\n padding: 0.5rem;\n color: ${({ theme, invert }) => (invert ? theme.textInvert : theme.primary)};\n :hover {\n color: ${({ theme }) => theme.accent};\n }\n`\n\nconst Label = styled.span`\n transition: color ${durations.fast} ease-out;\n margin-left: ${(p: AlignProps) => (p.align === 'left' ? '22px' : null)};\n margin-right: ${(p: AlignProps) => (p.align === 'right' ? '22px' : null)};\n`\n\nclass CtaLink extends React.Component {\n static displayName = 'CtaLink'\n static defaultProps = {\n size: 'normal',\n }\n\n renderInner = ({ hovering }: ButtonState) => {\n const { children, label, invert } = this.props\n return (\n \n \n \n )\n }\n\n render() {\n const { children, ...rest } = this.props\n return {this.renderInner}\n }\n}\n\nexport default CtaLink\n","// @flow\nimport * as React from 'react'\nimport { ConfigContext } from '../../App/AppShell'\n\n/* eslint-disable no-param-reassign */\nexport const imageDimensionMap = (\n width: number,\n height: number,\n): { w: number, h: number } => {\n const aspect = height / width\n const normalizedWidth = Math.ceil(width)\n const normalizedHeight = Math.ceil(aspect * normalizedWidth)\n\n return {\n w: normalizedWidth,\n h: normalizedHeight,\n }\n}\n\nfunction imageQuality(dpr: number = 1) {\n return dpr >= 3 ? 30 : dpr === 2 ? 40 : undefined\n}\n\nfunction constructUrl(src, params) {\n const preparedParams = Object.keys(params)\n .filter(k => typeof params[k] !== 'undefined')\n .map(k => `${k}=${encodeURIComponent(params[k])}`)\n .join('&')\n\n return `${src}?${preparedParams}`\n}\n\n/**\n * Construct a URL for an image with an Imgix proxy, expanding image options\n * per the [API reference docs](https://www.imgix.com/docs/reference).\n * @param {String} src src of raw image\n * @param {Object} options map of image API options, in long or short form per expansion rules\n * @return {String} URL of image src transformed by Imgix\n */\nfunction processImage(src: string, options: Object = {}): string {\n if (!src) {\n return ''\n }\n if (!src.includes('imgix.net')) return src\n\n return constructUrl(src, {\n auto: 'format',\n dpr: global.devicePixelRatio || 1,\n q: imageQuality(global.devicePixelRatio),\n ...options,\n })\n}\n\nexport default processImage\n\nexport function withImgix(Component: React.ComponentType) {\n class InjectedComponent extends React.Component {\n render() {\n // todo: maybe check if already has protocol and domain\n if (process.env.NODE_ENV === 'development') {\n return \n }\n\n return (\n \n {config => (\n \n )}\n \n )\n }\n }\n\n return InjectedComponent\n}\n","// @flow\nimport type { ImageRatio } from './types'\n\nconst supports = {}\n\n/**\n * Detect if objectFit is supported on the client\n * @type {boolean}\n */\nexport function objectFitSupport(): boolean {\n if (!supports.objectFit) {\n supports.objectFit = global.document\n ? global.document.body.style.objectFit !== undefined\n : true\n }\n\n return supports.objectFit\n}\n\nexport default {\n objectFitSupport,\n}\n\nexport function generateSrc(\n url: string,\n width: number,\n ratio?: ImageRatio = 'original',\n) {\n if (url && !url.includes('/static/')) {\n const pos = url.lastIndexOf('/')\n return `${url.substr(0, pos)}/${ratio}/${width}/${url.substr(pos + 1)}`\n }\n\n return `${url}?w=${width}&ratio=${ratio || ''}`\n}\n","// @flow\nimport createHyphenation from 'hyphen'\nimport patterns from 'hyphen/patterns/da'\n\nexport const defaultMinWordLength = 15\n\n/**\n * Use the hyphenate function, to split long words with break characters.\n */\nexport const hyphenate = createHyphenation(patterns, {\n async: false,\n minWordLength: defaultMinWordLength,\n})\n\n/**\n * Use the hyphenateHTML function, to split long words within HTML text.\n */\nexport const hyphenateHTML = createHyphenation(patterns, {\n async: false,\n minWordLength: defaultMinWordLength,\n html: true,\n})\n","// @flow\nimport React from 'react'\nimport { hyphenate } from '../../utils/hyphenation'\n\ntype HyphenatedTextProps = {\n text?: string,\n minWordLength?: number,\n}\n\nexport function HyphenatedText({ text, minWordLength }: HyphenatedTextProps) {\n return React.useMemo(\n () => (\n <>\n {text\n ? hyphenate(text, minWordLength ? { minWordLength } : undefined)\n : null}\n \n ),\n [text, minWordLength],\n )\n}\n","// @flow\nimport * as React from 'react'\nimport styled, { keyframes } from 'styled-components'\n\ntype Props = {\n className?: string,\n style?: Object,\n size?: number,\n}\n\nconst load8 = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n`\n\nconst LoaderWrapper = styled.div`\n height: ${({ size }) => (size ? `${size}px` : '22px')};\n width: ${({ size }) => (size ? `${size}px` : '22px')};\n`\n\nconst Loader = styled.div`\n position: relative;\n text-indent: -9999em;\n border-top: ${({ theme }) => `2px solid ${theme.body}`};\n border-right: ${({ theme }) => `2px solid ${theme.borderPositive}`};\n border-bottom: ${({ theme }) => `2px solid ${theme.borderPositive}`};\n border-left: ${({ theme }) => `2px solid ${theme.borderPositive}`};\n transform: translateZ(0);\n animation: ${load8} 1.1s infinite linear;\n\n border-radius: 50%;\n width: 100%;\n height: 100%;\n`\n\nconst Spinner = (props: Props) => (\n \n \n \n)\n\nSpinner.displayName = 'Spinner'\nSpinner.defaultProps = {}\n\nexport default Spinner\n","// @flow\nconst months = [\n 'januar',\n 'februar',\n 'marts',\n 'april',\n 'maj',\n 'juni',\n 'juli',\n 'august',\n 'september',\n 'oktober',\n 'november',\n 'december',\n]\n\n// split the date into its relevant part,\n// used to construct the date formats\nconst getDateParts = (date: Date) => ({\n day: `0${date.getDate()}`.slice(-2),\n month: `0${date.getMonth() + 1}`.slice(-2),\n fullMonth: months[date.getMonth()],\n year: date.getFullYear(),\n})\n\n// helper to validate the timestamp and call formatting callback function\n// with the date parts object\nconst parseDate = (unixTimestamp: number, callback: Function) => {\n const date = new Date(unixTimestamp * 1000) // convert to milliseconds\n if (isNaN(date.getTime())) {\n console.log('Invalid date given', unixTimestamp) // eslint-disable-line no-console\n return ''\n }\n return callback(getDateParts(date))\n}\n\n// DD-MM-YYYY\nexport const shortDate = (unixTimestamp: number) =>\n parseDate(unixTimestamp, (dateParts: Object) => {\n const { day, month, year } = dateParts\n return [day, month, year].join('-')\n })\n\n// DD. MMMM, YYYY\nexport const dateWithFullMonth = (unixTimestamp: number) =>\n parseDate(unixTimestamp, (dateParts: Object) => {\n const { day, fullMonth, year } = dateParts\n return `${day}. ${fullMonth}, ${year}`\n })\n\n// MM DD, YYYY\nexport const twitterDateFormat = (unixTimestamp: number) =>\n parseDate(unixTimestamp, (dateParts: Object) => {\n const { day, fullMonth, year } = dateParts\n const shortenedMonth = fullMonth.slice(0, 3)\n return `${shortenedMonth} ${day}, ${year}`\n })\n\nlet controller\nlet signal\nexport const getCurrentDate = async ({\n continent = 'Europe',\n city,\n}: Object) => {\n if (city) {\n if (controller !== undefined) {\n // Cancel the previous request\n controller.abort()\n }\n\n // Feature detect\n if ('AbortController' in window) {\n controller = new AbortController()\n signal = controller.signal\n }\n\n let currentDate = new Date()\n const timeApiUrl = `https://worldtimeapi.org/api/timezone/${continent}/${city}`\n\n await fetch(timeApiUrl, { signal })\n .then(res => res.json())\n .then(data => {\n if (data && data.datetime && typeof data.datetime === 'string') {\n currentDate = new Date(data.datetime.split('.')[0])\n\n if (isNaN(currentDate.getHours())) {\n currentDate = new Date()\n }\n }\n\n return currentDate\n })\n .catch(err => {\n if (err.name === 'AbortError') {\n console.error('ABORTED CURRENT DATE')\n }\n })\n\n return currentDate\n } else {\n return new Date()\n }\n}\n\n// find number of days between two dates and check if it's more or less than \"numberOfDays\"\nexport const diffBetweenTwoDates = (\n unixTimestamp: string,\n numberOfDays: number,\n) => {\n const date = new Date(parseInt(unixTimestamp) * 1000)\n const todaysDate = new Date(Date.now())\n\n // one day in ms\n const oneDay = 1000 * 60 * 60 * 24\n\n // find time difference between two dates\n const diffInTime = todaysDate.getTime() - date.getTime()\n\n // calculate number of days\n const diffInDays = Math.round(diffInTime / oneDay)\n\n return diffInDays > numberOfDays\n}\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\n\nimport { color } from '../styles/theme'\n\n//TODO\nconst Svg = styled.svg`\n path {\n fill: ${({ theme }) =>\n theme.name === 'kids' || theme.name === 'lgbt'\n ? color.white\n : theme.body};\n }\n\n circle {\n fill: ${({ theme }) =>\n theme.name === 'kids' || theme.name === 'lgbt'\n ? color.yellow\n : color.white};\n }\n`\n\nconst PlayIcon = ({ style, ...rest }: Object) => (\n \n \n \n \n \n \n)\n\nexport default PlayIcon\n","// @flow\nimport * as React from 'react'\nimport styled, { css } from 'styled-components'\nimport config, { createQuery } from './grid-config'\nimport { DIMENSION_NAMES, mediaQuery } from '../../styles/media'\nimport type { Columns } from './grid-config'\nimport type { DimensionNameTypes } from '../../types/enums/DimensionNameTypes'\n\ntype Align = 'left' | 'center' | 'right'\ntype VerticalAlign = 'top' | 'middle' | 'bottom' | 'stretch'\n\ntype Props = {\n xs?: Columns | boolean,\n sm?: Columns | boolean,\n md?: Columns | boolean,\n lg?: Columns | boolean,\n hd?: Columns | boolean,\n xsOffset?: Columns,\n smOffset?: Columns,\n mdOffset?: Columns,\n lgOffset?: Columns,\n hdOffset?: Columns,\n align?: Align,\n verticalAlign?: VerticalAlign,\n stretch?: boolean,\n shrink?: boolean,\n children?: React.Node,\n}\n\n/**\n * Takes a fraction number, and reduce it to a fixed precision, only if needed.\n * Removes all trailing 0's\n **/\nconst shortPrecision = (value: number, precision: number = 6) => {\n const precise = value.toFixed(precision)\n const match = precise.match(/(^\\d+)\\.(\\d!0)?(0+)$/)\n if (match) {\n return `${match[1]}${match[2] ? `.${match[2]}` : ''}`\n }\n return precise\n}\n\nconst renderBreakPoint = (\n columns?: number | boolean,\n dimension?: DimensionNameTypes,\n) => {\n let result\n if (typeof columns === 'number') {\n result = css`\n flex-basis: ${shortPrecision((100 / config.gridSize) * columns)}%;\n max-width: ${shortPrecision((100 / config.gridSize) * columns)}%;\n `\n } else if (columns === true) {\n result = css`\n flex-grow: 1;\n flex-basis: 0;\n max-width: 100%;\n `\n }\n if (columns === false) {\n result = 'display: none;'\n }\n\n if (result) return dimension ? mediaQuery[dimension]`${result}` : result\n\n return null\n}\n\nconst align = (align?: Align) => {\n if (!align) return null\n if (align === 'right')\n return css`\n display: flex;\n justify-content: flex-end;\n `\n if (align === 'center')\n return css`\n display: flex;\n justify-content: center;\n `\n if (align === 'left')\n return css`\n display: flex;\n justify-content: flex-start;\n `\n}\nconst verticalAlign = (align?: VerticalAlign) => {\n if (!align) return null\n if (align === 'stretch')\n return css`\n display: flex;\n align-items: stretch;\n `\n if (align === 'top')\n return css`\n display: flex;\n align-items: flex-start;\n `\n if (align === 'middle')\n return css`\n display: flex;\n align-items: center;\n `\n if (align === 'bottom')\n return css`\n display: flex;\n align-items: flex-end;\n `\n}\n\nconst offset = (key: DimensionNameTypes | boolean, columns?: Columns) => {\n if (columns) {\n return createQuery(\n key,\n css`\n margin-left: ${(100 / config.gridSize) * columns}%;\n `,\n )\n }\n return null\n}\n\nconst Col: React.ComponentType = styled.div`\n box-sizing: border-box;\n flex: ${(p: Props) => (p.stretch ? '1' : '0')} ${(p: Props) =>\n p.shrink ? '1' : '0'} auto;\n \n ${(p: Props) => align(p.align)}\n ${(p: Props) => verticalAlign(p.verticalAlign)}\n ${(p: Props) => DIMENSION_NAMES.map(key => renderBreakPoint(p[key], key))}\n ${(p: Props) => offset('xs', p.xsOffset)}\n ${(p: Props) => offset('sm', p.smOffset)}\n ${(p: Props) => offset('md', p.mdOffset)}\n ${(p: Props) => offset('lg', p.lgOffset)}\n ${(p: Props) => offset('hd', p.hdOffset)}\n`\n\nCol.displayName = 'Col'\n\nexport default Col\n","// @flow\nimport React, { lazy, Suspense } from 'react'\nimport type { VideoCardViewModel } from '../../types/VideoCardViewModel'\nimport styled from 'styled-components'\nimport { rem } from 'polished'\nimport { effects } from '../../styles/theme'\nimport { getLineHeight, getFontSize } from '../../styles/style-helpers'\nimport consecutive from 'consecutive'\nimport Heading from '../../components/Heading/Heading'\nimport { HyphenatedText } from '../HyphenatedText/HyphenatedText'\nimport { Link } from '../Link/Link'\nimport Markdown from '../Markdown/Markdown'\ntype Props = VideoCardViewModel\n\ntype State = {}\n\nclass VideoCardOpened extends React.Component {\n static displayName = 'VideoCardOpened'\n static defaultProps = {}\n\n render() {\n const { video, subjectArea, description, title, link } = this.props\n const Vimeo = lazy(() => import('../Vimeo/Vimeo'))\n const keyGen = consecutive()\n const hyphenatedTitle = \n\n const CardModal = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n height: calc(100% - ${rem(20)});\n cursor: pointer;\n border-radius: 8px;\n border-bottom: ${({ transparent, theme }) =>\n transparent ? effects(theme).borderPositive : '0 none'};\n background: ${({ negative, theme }) =>\n negative ? theme.cardNegativeBackground : theme.cardPositiveBackground};\n ${({ transparent }) => (transparent ? `background: transparent` : null)};\n max-height: 70svh;\n overflow-y: auto;\n margin-inline: 32px;\n z-index: 10;\n margin-bottom: 0;\n\n @media (min-width: 768px) {\n margin-bottom: 40px;\n }\n `\n\n const StyledWrapper = styled.div`\n display: flex;\n flex-direction: column;\n height: 100%;\n\n padding: ${({ transparent }) =>\n transparent ? `0 0 ${rem(38)}` : `${rem(64)} ${rem(40)} ${rem(40)}`};\n ${({ image }) => (image ? 'border-top: 0;' : '')};\n\n ${({ image }) =>\n !!image &&\n `\n padding-top: ${rem(48)};\n`}\n\n ${({ theme }) =>\n (theme.name === 'kids' || theme.name === 'lgbt') &&\n `\n padding: ${rem(24)};\n`}\n\n> :last-child {\n margin-bottom: 0;\n }\n\n @media (min-width: 768px) {\n padding: 48px;\n }\n `\n\n const StyledSubtitleWrapper = styled.div`\n margin-bottom: ${rem(16)};\n\n /* these 3 lines enforce ellipsis effect when text is too wide */\n display: table;\n table-layout: fixed;\n width: 100%;\n `\n\n const StyledSubtitle = styled.span`\n font-size: ${getFontSize('tiny')};\n font-weight: 600;\n letter-spacing: 0cap.6;\n text-transform: uppercase;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: #003851;\n line-height: 16.8px;\n `\n\n const StyledMarkdown = styled(Markdown)`\n margin-bottom: ${rem(32)};\n margin-top: 0;\n color: ${props => props.theme.text};\n\n && {\n line-height: ${getLineHeight('normal')};\n }\n `\n\n const StyledHeading = styled(Heading)`\n color: ${({ theme }) => theme.fieldHover};\n font-size: ${rem(20)};\n font-weight: 700;\n line-height: ${rem(28)};\n margin-bottom: ${rem(8)};\n `\n\n const StyledHeadingLink = styled(Link)`\n text-decoration: none;\n `\n\n const StyledLink = styled(Link)`\n text-decoration: underline ${({ theme }) => theme.primary};\n color: ${({ theme }) => theme.primary};\n `\n\n return (\n \n {video && (\n Loading…}>\n \n \n )}\n\n \n {subjectArea && (\n \n \n {subjectArea}\n \n \n )}\n\n {title &&\n (link ? (\n \n \n {hyphenatedTitle}\n \n \n ) : (\n \n {hyphenatedTitle}\n \n ))}\n\n {description && (\n \n )}\n {link && {link.label}}\n \n \n )\n }\n}\n\nexport default VideoCardOpened\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport { rem } from 'polished'\nimport { durations } from '../../styles/animations'\nimport { color, effects } from '../../styles/theme'\nimport PlayIcon from '../../icons/PlayIcon' // Import the 'PlayIcon' component\nimport { getFontSize, getLineHeight } from '../../styles/style-helpers' // Import the necessary function\nimport consecutive from 'consecutive'\nimport Heading from '../../components/Heading/Heading'\nimport { HyphenatedText } from '../HyphenatedText/HyphenatedText' // Import the 'HyphenatedText' component\nimport type { VideoCardViewModel } from '../../types/VideoCardViewModel'\nimport Image from '../../components/Image/Image'\n\ntype Props = VideoCardViewModel & { onHandleOpen?: () => void }\n\ntype State = {}\n\nconst keyGen = consecutive()\nclass VideoCardClosed extends React.Component {\n static displayName = 'VideoCardClosed'\n static defaultProps = {}\n\n render() {\n const {\n video,\n isSingle,\n onHandleOpen,\n subjectArea,\n title,\n description,\n BannerCard,\n } = this.props\n\n const hyphenatedTitle = \n\n const Card = styled.button`\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n height: calc(100% - ${rem(20)});\n margin-bottom: ${rem(28)};\n overflow: hidden;\n cursor: pointer;\n border-radius: 8px;\n transition: transform ${durations.fast} ease-in-out;\n border:none;\n text-align:start;\n padding-inline:0;\n &:hover {\n transform: translateY(-3px);\n }\n\n &:hover img {\n transform: scale(1.1);\n }\n\n &:hover svg {\n transition: ${effects().linkHoverTransition};\n color: ${color.accent};\n }\n\n @media (min-width: 768px) {\n display ${({ isSingle }) => (isSingle ? 'grid' : 'flex')};\n grid-template-columns: 1fr 1fr;\n margin-bottom: 40px;\n }\n`\n\n const StyledVideoCardImage = styled.div`\n display: grid;\n align-items: center;\n grid-template-columns: 1fr;\n justify-items: center;\n cursor: pointer;\n width: 100%;\n height: 100%;\n `\n const StyledImage = styled(Image)`\n position: relative;\n\n padding-top: 75%;\n object-fit: contain;\n height: 100%;\n grid-column-start: 1;\n grid-row-start: 1;\n `\n\n const StyledPlayButton = styled.div`\n opacity: 1;\n z-index: 20;\n grid-column-start: 1;\n grid-row-start: 1;\n\n /* sets svg size */\n font-size: 64px;\n `\n\n const StyledWrapper = styled.div`\n display: flex;\n flex-direction: column;\n height: 100%;\n\n background-color: ${({ BannerCard }) =>\n BannerCard ? `#EDF1F2` : `white`};\n\n padding: ${({ transparent }) =>\n transparent ? `0 0 ${rem(38)}` : `${rem(64)} ${rem(40)} ${rem(40)}`};\n ${({ image }) => (image ? 'border-top: 0;' : '')};\n\n ${({ image }) =>\n !!image &&\n `\n padding-top: ${rem(48)};\n `}\n\n ${({ theme }) =>\n (theme.name === 'kids' || theme.name === 'lgbt') &&\n `\n padding: ${rem(24)};\n `}\n\n> :last-child {\n margin-bottom: 0;\n }\n\n @media (min-width: 768px) {\n padding: 48px;\n }\n `\n const StyledSubtitleWrapper = styled.div`\n margin-bottom: ${rem(16)};\n\n /* these 3 lines enforce ellipsis effect when text is too wide */\n display: table;\n table-layout: fixed;\n width: 100%;\n `\n\n const StyledSubtitle = styled.span`\n font-size: ${getFontSize('tiny')};\n font-weight: 600;\n letter-spacing: 0cap.6;\n text-transform: uppercase;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: #003851;\n line-height: 16.8px;\n `\n\n const StyledParagraph = styled.div`\n margin-bottom: ${rem(32)};\n color: ${props => props.theme.text};\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 4; /* Number of lines you want to display */\n overflow: hidden;\n\n && {\n line-height: ${getLineHeight('normal')};\n }\n `\n\n return (\n \n {video && (\n \n \n\n \n \n \n \n )}\n\n \n {subjectArea && (\n \n \n {subjectArea}\n \n \n )}\n\n {title && (\n \n {hyphenatedTitle}\n \n )}\n\n {description && (\n \n )}\n \n \n )\n }\n}\n\nexport default VideoCardClosed\n","// @flow\nimport React, { Fragment } from 'react'\nimport styled from 'styled-components'\nimport type { VideoCardViewModel } from '../../types/VideoCardViewModel'\nimport { Dialog } from '@headlessui/react'\nimport VideoCardClosed from '../VideoCardClosed/VideoCardClosed'\nimport VideoCardOpened from '../VideoCardOpened/VideoCardOpened'\n\ntype Props = VideoCardViewModel & { theme?: string }\n\ntype State = {\n isOpen: boolean,\n}\n\nexport const StyledCardElementContainer = styled.div`\n top: 0;\n\n position: fixed;\n z-index: 80;\n overflow-y: auto;\n max-width: 845px;\n overflow-x: visible !important;\n & > div {\n margin-block-start: 6rem;\n position: relative;\n @media (min-width: 768px) {\n margin-inline: 32px;\n margin-block-start: 9rem;\n }\n }\n`\n\nexport const StyledCloseButton = styled.button`\n display: flex;\n justify-content: end;\n margin-block-end: 20px;\n margin-inline: 32px;\n\n padding: 0;\n width: 100%;\n border: none;\n position: absolute;\n z-index: 10;\n right: 0px;\n top: -52px;\n\n &:focus-visible {\n outline: none;\n }\n &:hover {\n cursor: pointer;\n }\n\n @media (min-width: 768px) {\n height: 32px;\n top: 0;\n right: -52px;\n }\n`\n\nexport const StyledDialog = styled(Dialog)`\n display: flex;\n justify-content: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n justify-content: center;\n`\n\nexport const StyledDialogOverlay = styled(Dialog.Overlay)`\n position: fixed;\n inset: 0px;\n background-color: black;\n opacity: 0.5;\n z-index: 70;\n`\n\nclass VideoCard extends React.Component {\n static displayName = 'VideoCard'\n static defaultProps = {}\n\n player = null\n\n state = {\n isOpen: false,\n }\n\n handleOpen = () => {\n this.setState({ isOpen: true })\n }\n\n handleClose = () => {\n this.setState({ isOpen: false })\n }\n\n render() {\n const { isSingle, BannerCard } = this.props\n\n const cardElement = (display: 'embeded' | 'modal') =>\n display === 'embeded' ? (\n \n ) : (\n \n )\n\n return (\n <>\n {cardElement('embeded')}\n\n \n \n\n \n
\n \n \n \n \n \n {cardElement('modal')}\n
\n
\n
\n \n )\n }\n}\n\nexport default VideoCard\n","// @flow\nimport * as React from 'react'\nimport styled, { css } from 'styled-components'\nimport { createQuery } from './grid-config'\nimport Col from './Col'\nimport type { DimensionNameTypes } from '../../types/enums/DimensionNameTypes'\nimport { rem } from 'polished'\n\ntype Props = {\n children: React.ChildrenArray>,\n /** Gutter in 10px increments */\n xsGutter?: number,\n smGutter?: number,\n mdGutter?: number,\n lgGutter?: number,\n hdGutter?: number,\n noWrap?: boolean,\n reverse?: boolean | DimensionNameTypes | Array,\n start?: boolean | DimensionNameTypes | Array,\n center?: boolean | DimensionNameTypes | Array,\n end?: boolean | DimensionNameTypes | Array,\n top?: boolean | DimensionNameTypes | Array,\n middle?: boolean | DimensionNameTypes | Array,\n bottom?: boolean | DimensionNameTypes | Array,\n around?: boolean | DimensionNameTypes | Array,\n between?: boolean | DimensionNameTypes | Array,\n first?: boolean | DimensionNameTypes | Array,\n last?: boolean | DimensionNameTypes | Array,\n}\n\nfunction addGutter(key: DimensionNameTypes | boolean, gutter?: number) {\n if (gutter) {\n const gutterVal = rem((gutter * 10) / 2)\n const gutterValOuter = rem((gutter * 10) / 2 - 1)\n\n return createQuery(\n key,\n css`\n margin-right: -${gutterValOuter};\n margin-left: -${gutterValOuter};\n\n > ${Col} {\n padding-right: ${gutterVal};\n padding-left: ${gutterVal};\n }\n `,\n )\n }\n return null\n}\n\nconst Row: React.ComponentType = styled.div`\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: ${(p: Props) => (p.noWrap ? 'nowrap' : 'wrap')};\n \n ${(p: Props) => addGutter('xs', p.xsGutter)}\n ${(p: Props) => addGutter('sm', p.smGutter)}\n ${(p: Props) => addGutter('md', p.mdGutter)}\n ${(p: Props) => addGutter('lg', p.lgGutter)}\n ${(p: Props) => addGutter('hd', p.hdGutter)}\n ${(p: Props) =>\n createQuery(\n p.reverse,\n css`\n flex-direction: row-reverse;\n `,\n )}\n\n ${(p: Props) =>\n createQuery(\n p.start,\n css`\n justify-content: flex-start;\n `,\n )}\n\n ${(p: Props) =>\n createQuery(\n p.center,\n css`\n justify-content: center;\n `,\n )}\n\n ${(p: Props) =>\n createQuery(\n p.end,\n css`\n justify-content: flex-end;\n `,\n )}\n\n ${(p: Props) =>\n createQuery(\n p.top,\n css`\n align-items: flex-start;\n `,\n )}\n\n ${(p: Props) =>\n createQuery(\n p.middle,\n css`\n align-items: center;\n `,\n )}\n\n ${(p: Props) =>\n createQuery(\n p.bottom,\n css`\n align-items: flex-end;\n `,\n )}\n\n ${(p: Props) =>\n createQuery(\n p.around,\n css`\n justify-content: space-around;\n `,\n )}\n\n ${(p: Props) =>\n createQuery(\n p.between,\n css`\n justify-content: space-between;\n `,\n )}\n\n ${(p: Props) =>\n createQuery(\n p.first,\n css`\n order: -1;\n `,\n )}\n\n ${(p: Props) =>\n createQuery(\n p.last,\n css`\n order: 1;\n `,\n )}\n`\n\nRow.displayName = 'Row'\n\nexport default Row\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport { rem } from 'polished'\n\nimport { getLineHeight } from '../../styles/style-helpers'\n\nimport Heading from '../../components/Heading/Heading'\nimport Col from '../../components/Grid/Col'\nimport Row from '../../components/Grid/Row'\nimport Spinner from '../../components/Spinner/Spinner'\n\ntype Props = {\n title?: string,\n children?: React.Node,\n isLoading?: boolean,\n error?: boolean,\n itemsPerColumn?: 4 | 3 | 2 | 1,\n}\n\ntype State = {}\n\nconst StyledHeading = styled(Heading).attrs({\n tag: 'h2',\n level: 2,\n marginBottom: 'large',\n responsiveSize: true,\n})`\n && {\n line-height: ${getLineHeight('normal')};\n }\n`\n\nconst StyledHeadingRow = styled.div`\n margin: 0 0 ${rem(28)};\n min-height: 1px;\n`\n\nconst StyledCol = styled(Col)`\n margin-bottom: ${rem(20)};\n`\n\nconst SpinnerWrapper = styled.div`\n position: relative;\n height: ${rem(200)};\n margin-bottom: ${rem(40)};\n`\n\nclass ListGroup extends React.Component {\n static displayName = 'ListGroup'\n static defaultProps = {}\n\n getColumnSize() {\n const { itemsPerColumn } = this.props\n switch (itemsPerColumn) {\n case 1:\n return { xs: 12, sm: 12, md: 12 }\n case 2:\n return { xs: 12, sm: 6, md: 6 }\n case 3:\n return { xs: 12, sm: 6, md: 4 }\n default:\n return { xs: 12, sm: 6, md: 3 }\n }\n }\n\n render() {\n const { title, children, isLoading, error } = this.props\n const columns = this.getColumnSize()\n\n return (\n \n {title && (\n \n \n {title}\n \n \n )}\n\n {error &&
Der skete en fejl. Prøv at genindlæse siden.
}\n\n {!error && isLoading && (\n \n \n \n )}\n\n {!error && !isLoading && (\n \n {React.Children.map(children, (child, itemIndex) => (\n \n {child}\n \n ))}\n \n )}\n
\n )\n }\n}\n\nexport default ListGroup\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport { rem } from 'polished'\nimport consecutive from 'consecutive'\n\nimport type { RelatedListItemViewModel } from '../../types/RelatedListItemViewModel'\n\nimport { getLineHeight, getFontSize } from '../../styles/style-helpers'\nimport { color, effects } from '../../styles/theme'\nimport { durations } from '../../styles/animations'\n\nimport Image from '../../components/Image/Image'\nimport Heading from '../../components/Heading/Heading'\nimport Paragraph from '../../components/Paragraph/Paragraph'\nimport { Link } from '../Link/Link'\nimport CircleArrowRightIcon from '../../icons/CircleArrowRightIcon'\nimport { diffBetweenTwoDates } from '../../utils/date'\nimport { HyphenatedText } from '../HyphenatedText/HyphenatedText'\n\ntype Props = RelatedListItemViewModel & {\n theme?: string,\n hasModuleHeader?: boolean,\n}\n\ntype State = {}\n\nconst keyGen = consecutive()\n\nconst Card = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n height: calc(100% - ${rem(20)});\n margin-bottom: ${rem(20)};\n overflow: hidden;\n border-radius: ${({ transparent, theme }) =>\n transparent ? 0 : rem(theme.borderRadius)};\n border-bottom: ${({ transparent, theme }) =>\n transparent ? effects(theme).borderPositive : '0 none'};\n background: ${({ negative, theme }) =>\n negative ? theme.cardNegativeBackground : theme.cardPositiveBackground};\n ${({ transparent }) => (transparent ? `background: transparent` : null)};\n\n transition: transform ${durations.fast} ease-in-out;\n\n &:hover {\n transform: translateY(-3px);\n }\n\n &:hover img {\n transform: scale(1.1);\n }\n\n &:hover svg {\n transition: ${effects().linkHoverTransition};\n color: ${color.accent};\n }\n`\n\nconst StyledWrapper = styled.div`\n display: flex;\n flex-direction: column;\n height: 100%;\n padding: ${({ transparent }) =>\n transparent ? `0 0 ${rem(38)}` : `${rem(64)} ${rem(40)} ${rem(40)}`};\n ${({ image }) => (image ? 'border-top: 0;' : '')};\n\n ${({ image }) =>\n !!image &&\n `\n padding-top: ${rem(48)};\n `}\n\n ${({ theme }) =>\n (theme.name === 'kids' || theme.name === 'lgbt') &&\n `\n padding: ${rem(36)} ${rem(40)};\n `}\n\n > :last-child {\n margin-bottom: 0;\n }\n`\n\nconst StyledImage = styled(Image)`\n position: relative;\n max-width: 100%;\n padding-top: 75%;\n object-fit: contain;\n height: auto;\n`\n\nconst StyledSubtitleWrapper = styled.div`\n margin-bottom: ${rem(12)};\n\n /* these 3 lines enforce ellipsis effect when text is too wide */\n display: table;\n table-layout: fixed;\n width: 100%;\n`\n\nconst StyledSubtitle = styled.span`\n font-size: ${getFontSize('tiny')};\n font-weight: 700;\n letter-spacing: 1px;\n text-transform: uppercase;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: ${({ theme }) => theme.primary};\n`\n\nconst StyledDate = styled(StyledSubtitle)`\n font-size: ${rem(11)};\n opacity: 0.85;\n margin-bottom: ${rem(18)};\n`\n\nconst StyledOldDate = styled(StyledSubtitle)`\n font-size: ${rem(11)};\n color: ${({ theme }) => theme.oldDate};\n`\n\nconst StyledParagraph = styled(Paragraph)`\n margin-bottom: ${rem(32)};\n color: ${props => props.theme.text};\n\n && {\n line-height: ${getLineHeight('normal')};\n }\n`\n\nconst LinkIconWrapper = styled.div`\n flex-grow: 1;\n display: flex;\n justify-content: flex-end;\n align-items: flex-end;\n color: ${({ theme }) => theme.primary};\n`\n\nconst StyledLink = styled(Link)`\n cursor: pointer;\n position: absolute;\n height: 100%;\n width: 100%;\n left: 0;\n top: 0;\n`\n\nconst TitleLink = styled(Link)`\n cursor: pointer;\n line-height: ${getLineHeight('small')};\n`\n\nclass ListCard extends React.Component {\n static displayName = 'ListCard'\n static defaultProps = {}\n\n render() {\n const {\n image,\n title,\n description,\n link,\n date,\n displayDate,\n pretitle,\n negative,\n transparent,\n titleLink,\n isNewsItem,\n hasModuleHeader,\n } = this.props\n const theme = this.props.theme\n const hyphenatedTitle = \n return (\n \n {image && }\n\n \n {pretitle && (\n \n \n {pretitle}\n \n \n )}\n\n {title && (\n \n {titleLink ? (\n {hyphenatedTitle}\n ) : (\n hyphenatedTitle\n )}\n \n )}\n\n {date && (\n \n {displayDate &&\n isNewsItem &&\n diffBetweenTwoDates(displayDate, 90) ? (\n Ældre nyhed: \n ) : null}\n {date}\n \n )}\n\n {description && {description}}\n\n {link && link.href && (\n <>\n \n \n \n \n \n )}\n \n \n )\n }\n}\n\nexport default ListCard\n","// @flow\nimport * as React from 'react'\nimport withHover from '../hoc/withHover'\n\nconst CircleArrowRightIcon = ({ style, ...rest }: Object) => (\n \n \n \n \n \n \n \n)\n\nexport default withHover>(CircleArrowRightIcon)\n"],"sourceRoot":""}