{"version":3,"sources":["Shared/VisibleLoadableBlock/VisibleLoadableBlock.tsx","Shared/Loading/LoadingBlock/LoadingBlock.tsx","Shared/Hero/HeroModule.tsx","NewsCard/NewsCard.tsx","NewsArchivePage/NewsArchivePage.tsx","Shared/Hooks/useOnScreen.js","Shared/ContentArea/ContentArea.tsx"],"names":["loadableComponents","StandardBlock","loadable","ImageLinkListingBlock","ImageLinkBlock","IconBlock","LinkListBlock","DocumentListBlock","VideoBlock","VisibleLoadableBlock","props","ref","useRef","onScreen","useOnScreen","blockType","isVisible","LoadableComponent","undefined","Fragment","IS_SERVER_CONTEXT","fallback","LoadingBlock","ImageContainer","styled","img","position","display","justifyContent","backgroundRepeat","backgroundSize","width","height","margin","y","theme","theta","x","media","mediaQuery","mediaMinLarge","heroImageYMargin","mediaMinMedium","maxWidth","maxWidthSmall","headingDesktop","HeroModule","inEditMode","image","imageContainerStyle","blurText","backgroundImage","src","useAppSettingsData","translations","useMedia","useState","css","TagsWrapper","div","TopDiv","fontSize","beta","lineHeight","moreSnug","letterSpacing","wide","marginBottom","medium","Heading","h2","psi","fontWeight","lighter","wider","gamma","DateSpan","p","opacity","Preamble","moreRelaxed","StyledDivider","Divider","NewsCard","item","header","href","tags","preamble","publishDate","isLastItem","map","tag","index","key","length","KexLink","substring","slice","NewsCardsContainerContainer","contentMaxWidth","padding","MobileCounterWrapper","great","alignItems","tau","normalWide","mediaMinSmall","alpha","NewsCardWrapper","flexDirection","backgroundColor","white","contentResultWidth","massive","marginRight","marginLeft","xy","marginTop","TopContent","huge","mediaMaxLarge","greater","font","size","weight","larger","iota","Intro","normal","nearMedium","delta","NewsArchivePage","useCurrentPage","heading","introText","bodyText","contentArea","teaserHeader","teaserImage","teaserLinks","teaserText","blurTeaserText","newsCards","isDesktop","news","newsMobileCounter","counter","newsCardsToShow","hasTopContentText","mobileCounterText","replace","toString","toLowerCase","introTextMargin","none","summary","links","applyEditModeAttr","dangerouslySetInnerHTML","__html","card","ContentArea","childItems","rootMargin","once","isIntersecting","setIntersecting","observerObject","setObserverObject","useEffect","elm","current","observer","IntersectionObserver","entry","observe","Object","isEmpty","unobserve","nestedContentArea","component","i","arr","renderTopComponents","parentI","nextComponent","nestedBlock","isNested","nextBlockProps","blockId","loopIndex","subComponent"],"mappings":"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","file":"Dist/build-client/static/js/NewsArchivePage-NewsArchivePage.b92c2fac.chunk.js","sourcesContent":["import React, { useRef } from 'react';\r\nimport loadable from '@loadable/component';\r\nimport { IS_SERVER_CONTEXT } from '../Configs/EnvConfig';\r\nimport useOnScreen from '../Hooks/useOnScreen';\r\nimport LoadingBlock from '../Loading/LoadingBlock/LoadingBlock';\r\n\r\n//TODO refactor with correct blocktypes\r\ntype PropType = {\r\n blockType: any;\r\n isVisible: boolean;\r\n};\r\n\r\nconst loadableComponents: any = {\r\n StandardBlock: loadable(() => import('../../StandardBlock/StandardBlock')),\r\n ImageLinkListingBlock: loadable(() =>\r\n import('../../Blocks/ImageLinkListingBlock/ImageLinkListingBlock')\r\n ),\r\n ImageLinkBlock: loadable(() => import('../Models/ImageLink/ImageLinkBlock')),\r\n IconBlock: loadable(() => import('../../Blocks/IconBlock/IconBlock')),\r\n LinkListBlock: loadable(() =>\r\n import('../../Blocks/LinkListBlock/LinkListBlock')\r\n ),\r\n DocumentListBlock: loadable(() =>\r\n import('../../Blocks/DocumentListBlock/DocumentListBlock')\r\n ),\r\n VideoBlock: loadable(() => import('../../Blocks/VideoBlock/VideoBlock')),\r\n};\r\n\r\nfunction VisibleLoadableBlock(props: PropType) {\r\n const ref = useRef(null);\r\n const onScreen = useOnScreen({ ref });\r\n const { blockType, isVisible } = props;\r\n const LoadableComponent = loadableComponents[blockType];\r\n\r\n return LoadableComponent === undefined ? (\r\n \r\n ) : isVisible || onScreen || IS_SERVER_CONTEXT ? (\r\n } {...props} />\r\n ) : (\r\n \r\n );\r\n}\r\n\r\nexport default VisibleLoadableBlock;\r\n","import React from 'react';\r\n// import styles from './LoadingBlock.module.scss';\r\n\r\nimport LoadingDots from '../LoadingDots/LoadingDots';\r\n\r\nfunction LoadingBlock() {\r\n return (\r\n
\r\n
{/* */}
\r\n
\r\n );\r\n}\r\n\r\nexport default LoadingBlock;\r\n","import React, { useState } from 'react';\r\nimport { styled, theme } from '../../Theme';\r\nimport { media } from '@glitz/core';\r\nimport { StyleOrStyleArray } from '@glitz/type';\r\nimport { useAppSettingsData } from '../../Shared/AppSettingsProvider/AppSettingsProvider';\r\nimport useMedia from '../../Shared/Hooks/useMedia';\r\n\r\nimport IImageModel from '../../Assets/Models/ImageModel.interface';\r\nimport ILink from '../Models/Link.interface';\r\n\r\ntype HeroModuleType = {\r\n image: IImageModel;\r\n inEditMode: boolean;\r\n header?: string;\r\n summary?: string;\r\n links?: ILink[];\r\n blurText: boolean;\r\n};\r\n\r\nfunction HeroModule({ inEditMode, image, blurText }: HeroModuleType) {\r\n const imageContainerStyle: StyleOrStyleArray = {\r\n backgroundImage: `url(${image.src})`,\r\n };\r\n\r\n const {\r\n translations: { 'productPage/showMore': showMore },\r\n } = useAppSettingsData();\r\n\r\n const isDesktop = useMedia(theme.mediaQuery.mediaMinLarge);\r\n const [showMoreText, setShowMore] = useState(false);\r\n\r\n return ;\r\n}\r\n\r\nconst ImageContainer = styled.img({\r\n position: 'relative',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n backgroundRepeat: 'no-repeat',\r\n backgroundSize: 'cover',\r\n width: '345px',\r\n height: '195px',\r\n margin: { y: theme.theta, x: 'auto' },\r\n ...media(\r\n theme.mediaQuery.mediaMinLarge,\r\n /*Desktop*/ {\r\n margin: { y: theme.heroImageYMargin },\r\n width: '654px',\r\n height: '505px',\r\n }\r\n ),\r\n ...media(theme.mediaQuery.mediaMinMedium, {\r\n maxWidth: theme.maxWidthSmall,\r\n margin: { y: theme.headingDesktop },\r\n width: '584px',\r\n }),\r\n});\r\n\r\nexport default HeroModule;\r\n","import React from 'react';\r\nimport { styled, theme } from '../Theme';\r\nimport Divider from '../../Features/Shared/Divider/Divider';\r\nimport KexLink from '../Shared/KexLink/KexLink';\r\n\r\nimport NewsCardModel from '../NewsCard/Model/NewsCardModel.interface';\r\n\r\ntype PropType = {\r\n item: NewsCardModel;\r\n isLastItem?: boolean;\r\n};\r\n\r\nfunction NewsCard({\r\n item: { header, href, tags, preamble, publishDate },\r\n isLastItem,\r\n}: PropType) {\r\n return (\r\n
\r\n \r\n {publishDate}\r\n \r\n {tags.map((tag, index) => (\r\n

\r\n {tag}\r\n {index !== tags.length - 1 && ','}\r\n  \r\n

\r\n ))}\r\n
\r\n
\r\n \r\n {header}\r\n \r\n {preamble.length >= 190\r\n ? preamble.substring(0, 190).slice(0, -3) + '...'\r\n : preamble}\r\n \r\n \r\n {!isLastItem && }\r\n
\r\n );\r\n}\r\n\r\nconst TagsWrapper = styled.div({\r\n display: 'flex',\r\n});\r\n\r\nconst TopDiv = styled.div({\r\n display: 'flex',\r\n fontSize: theme.beta,\r\n lineHeight: theme.lineHeight.moreSnug,\r\n letterSpacing: theme.letterSpacing.wide,\r\n justifyContent: 'space-between',\r\n marginBottom: theme.medium,\r\n});\r\n\r\nconst Heading = styled.h2({\r\n fontSize: theme.psi,\r\n fontWeight: theme.fontWeight.lighter,\r\n letterSpacing: theme.letterSpacing.wider,\r\n marginBottom: theme.gamma,\r\n});\r\n\r\nconst DateSpan = styled.p({\r\n opacity: 0.7,\r\n});\r\n\r\nconst Preamble = styled.p({\r\n opacity: 0.9,\r\n lineHeight: theme.lineHeight.moreRelaxed,\r\n letterSpacing: theme.letterSpacing.wide,\r\n});\r\n\r\nconst StyledDivider = styled(Divider, {\r\n width: '100%',\r\n margin: { y: theme.gamma },\r\n});\r\n\r\nexport default NewsCard;\r\n","import React, { useState } from 'react';\r\nimport { styled, theme } from '../Theme';\r\nimport useCurrentPage from '../Shared/Hooks/useCurrentPage';\r\nimport HeroModule from '../Shared/Hero/HeroModule';\r\nimport NewsArchivePageModel from './Models/NewsArchivePageModel.interface';\r\nimport { useAppSettingsData } from '../Shared/AppSettingsProvider/AppSettingsProvider';\r\nimport ContentArea from '../Shared/ContentArea/ContentArea';\r\nimport NewsCard from '../NewsCard/NewsCard';\r\nimport LoadMoreContainer from '../Shared/LoadMoreContainer/LoadMoreContainer';\r\nimport NewsCardModel from '../NewsCard/Model/NewsCardModel.interface';\r\nimport { media } from '@glitz/core';\r\nimport { applyEditModeAttr } from '../../Features/Shared/Common/Helpers';\r\nimport { StyleOrStyleArray } from '@glitz/type';\r\nimport useMedia from '../Shared/Hooks/useMedia';\r\n\r\nfunction NewsArchivePage() {\r\n const {\r\n heading,\r\n introText,\r\n bodyText,\r\n contentArea,\r\n inEditMode,\r\n teaserHeader,\r\n teaserImage,\r\n teaserLinks,\r\n teaserText,\r\n blurTeaserText,\r\n newsCards,\r\n } = useCurrentPage();\r\n\r\n const isDesktop = useMedia(theme.mediaQuery.mediaMinLarge);\r\n\r\n const {\r\n translations: {\r\n 'newsPage/news': news,\r\n 'newsPage/newsMobileCounter': newsMobileCounter,\r\n 'searchPage/counter': counter,\r\n 'searchPage/loadMore': loadMore,\r\n },\r\n } = useAppSettingsData();\r\n\r\n const [newsCardsToShow, setNewsCardsToShow] = useState(\r\n newsCards.slice(0, 10)\r\n );\r\n const hasTopContentText = !!heading || !!introText || !!bodyText;\r\n const totalNewsCards = newsCards.length;\r\n const counterText = !!newsCards.length\r\n ? counter\r\n .replace('{0}', newsCardsToShow.length.toString())\r\n .replace('{1}', newsCards.length.toString())\r\n : '';\r\n const loaded = (newsCardsToShow.length / totalNewsCards) * 100;\r\n\r\n const mobileCounterText =\r\n !isDesktop && !!newsCards.length\r\n ? newsMobileCounter\r\n .replace('{0}', newsCardsToShow.length.toString())\r\n .replace('{1}', newsCards.length.toString()) +\r\n ' ' +\r\n news.toLowerCase()\r\n : '';\r\n\r\n const increaseNumberOfCardsShown = () => {\r\n setNewsCardsToShow(newsCards.slice(0, newsCardsToShow.length + 10));\r\n };\r\n\r\n const disableLoadMoreButton = () => {\r\n if (newsCardsToShow.length >= newsCards.length) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n const introTextMargin: StyleOrStyleArray = {\r\n marginBottom: bodyText ? theme.great : theme.none,\r\n };\r\n\r\n return (\r\n <>\r\n {teaserImage && (\r\n \r\n )}\r\n {hasTopContentText && (\r\n \r\n \r\n {heading}\r\n \r\n \r\n {introText}\r\n \r\n \r\n \r\n )}\r\n \r\n {!!mobileCounterText.length && (\r\n {mobileCounterText}\r\n )}\r\n \r\n {newsCardsToShow.map((card: NewsCardModel, index) => (\r\n \r\n ))}\r\n \r\n {/* increaseNumberOfCardsShown()}\r\n /> */}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst NewsCardsContainerContainer = styled.div({\r\n width: '100%',\r\n maxWidth: theme.contentMaxWidth,\r\n margin: {\r\n x: 'auto',\r\n },\r\n padding: {\r\n x: theme.medium,\r\n },\r\n});\r\n\r\nconst MobileCounterWrapper = styled.div({\r\n height: theme.great,\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n fontSize: theme.tau,\r\n letterSpacing: theme.letterSpacing.normalWide,\r\n ...media(theme.mediaQuery.mediaMinSmall, {\r\n fontSize: theme.alpha,\r\n }),\r\n});\r\n\r\nconst NewsCardWrapper = styled.div({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n backgroundColor: theme.white,\r\n width: '100%',\r\n height: '100%',\r\n maxWidth: theme.contentResultWidth,\r\n marginBottom: theme.massive,\r\n marginRight: 'auto',\r\n marginLeft: 'auto',\r\n padding: { xy: theme.great },\r\n ...media(theme.mediaQuery.mediaMinLarge, {\r\n marginTop: theme.massive,\r\n }),\r\n});\r\n\r\nconst TopContent = styled.div({\r\n marginTop: theme.huge,\r\n width: '100%',\r\n maxWidth: theme.contentResultWidth,\r\n margin: {\r\n x: 'auto',\r\n },\r\n ...media(theme.mediaQuery.mediaMaxLarge, {\r\n padding: {\r\n x: theme.medium,\r\n },\r\n marginBottom: theme.huge,\r\n }),\r\n ...media(theme.mediaQuery.mediaMinLarge, {\r\n marginTop: theme.greater,\r\n }),\r\n});\r\n\r\nconst Heading = styled.h2({\r\n maxWidth: theme.maxWidthSmall,\r\n font: { size: theme.theta, weight: theme.fontWeight.lighter },\r\n marginBottom: theme.larger,\r\n ...media(theme.mediaQuery.mediaMinLarge, {\r\n font: { size: theme.iota },\r\n marginBottom: theme.great,\r\n }),\r\n});\r\n\r\nconst Intro = styled.p({\r\n font: { size: theme.gamma, weight: theme.fontWeight.lighter },\r\n lineHeight: theme.lineHeight.normal,\r\n letterSpacing: theme.letterSpacing.nearMedium,\r\n ...media(theme.mediaQuery.mediaMinLarge, {\r\n fontSize: theme.delta,\r\n }),\r\n});\r\n\r\nexport default NewsArchivePage;\r\n","import { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { IS_SERVER_CONTEXT } from '../Configs/EnvConfig';\r\n\r\nconst useOnScreen = ({ ref, rootMargin = '0px', once = true }) => {\r\n const [isIntersecting, setIntersecting] = useState(false);\r\n const [observerObject, setObserverObject] = useState(false);\r\n\r\n useEffect(() => {\r\n const elm = ref.current;\r\n const observer = new IntersectionObserver(\r\n ([entry]) => {\r\n setIntersecting(entry.isIntersecting);\r\n },\r\n {\r\n rootMargin,\r\n }\r\n );\r\n if (elm) {\r\n observer.observe(elm);\r\n }\r\n setObserverObject(observer);\r\n return () => {\r\n !Object.isEmpty(elm) && observer.unobserve(elm);\r\n };\r\n }, [ref, rootMargin]);\r\n\r\n if (\r\n once &&\r\n isIntersecting &&\r\n observerObject &&\r\n !Object.isEmpty(ref.current)\r\n ) {\r\n observerObject.unobserve(ref.current);\r\n }\r\n\r\n return IS_SERVER_CONTEXT ? true : isIntersecting;\r\n};\r\n\r\nuseOnScreen.propTypes /* remove-proptypes */ = {\r\n ref: PropTypes.shape({ current: PropTypes.element }),\r\n rootMargin: PropTypes.string,\r\n once: PropTypes.bool,\r\n};\r\n\r\nexport default useOnScreen;\r\n","import React from 'react';\r\n\r\nimport VisibleLoadableBlock from '../VisibleLoadableBlock/VisibleLoadableBlock';\r\nimport ContentAreaItem from '../Models/ContentAreaItem.interface';\r\n\r\ntype PropType = {\r\n childItems: ContentAreaItem[];\r\n isVisible?: boolean;\r\n nestedContentArea?: boolean;\r\n};\r\n\r\nfunction ContentArea({\r\n childItems = [],\r\n isVisible = false,\r\n nestedContentArea = false,\r\n}: PropType) {\r\n const renderTopComponents = (\r\n component: any,\r\n parentI: any,\r\n nextComponent: any,\r\n nestedBlock: any\r\n ) => {\r\n return component ? (\r\n \r\n {component &&\r\n component.childItems &&\r\n component.childItems.map(\r\n (\r\n subComponent: React.ReactNode,\r\n i: number,\r\n arr: React.ReactNodeArray\r\n ) =>\r\n renderTopComponents(\r\n subComponent,\r\n parentI + '_' + i,\r\n arr[i + 1],\r\n true\r\n )\r\n )}\r\n \r\n ) : (\r\n \r\n );\r\n };\r\n return (\r\n <>\r\n {childItems.map((component, i, arr) =>\r\n renderTopComponents(component, i, arr[i + 1], nestedContentArea)\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ContentArea;\r\n"],"sourceRoot":""}