{"version":3,"sources":["Shared/VisibleLoadableBlock/VisibleLoadableBlock.tsx","Shared/Loading/LoadingBlock/LoadingBlock.tsx","Enums/GridSize.enum.ts","Shared/Grid/Grid.tsx","Shared/Hero/HeroModule.tsx","NotFoundPage/NotFoundPage.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","GridSize","Div","styled","div","display","gridTemplateColumns","gridGap","theme","large","padding","x","gamma","Twelve","width","maxWidth","contentMaxWidth","margin","y","great","none","gridColumnGap","gridRowGap","media","mediaQuery","mediaMinMedium","mediaMinLarge","Four","mediaMinSmall","mediaMinHuge","Three","justifySelf","Usp","Grid","children","type","rest","css","ContentContainer","ImageContainer","img","position","justifyContent","backgroundRepeat","backgroundSize","height","theta","heroImageYMargin","maxWidthSmall","headingDesktop","HeroModule","inEditMode","image","imageContainerStyle","blurText","backgroundImage","src","useAppSettingsData","translations","useMedia","useState","NotFoundPage","useCurrentPage","contentArea","teaserHeader","teaserImage","teaserLinks","teaserText","blurTeaserText","header","summary","links","data-content-area","applyEditModeAttr","childItems","rootMargin","once","isIntersecting","setIntersecting","observerObject","setObserverObject","useEffect","elm","current","observer","IntersectionObserver","entry","observe","Object","isEmpty","unobserve","ContentArea","nestedContentArea","map","component","i","arr","renderTopComponents","parentI","nextComponent","nestedBlock","isNested","nextBlockProps","key","blockId","loopIndex","subComponent"],"mappings":"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","file":"Dist/build-client/static/js/NotFoundPage-NotFoundPage.eb7ff55b.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","export enum GridSize {\r\n One = 1,\r\n Two = 2,\r\n Three = 3,\r\n Four = 4,\r\n Usp = 5,\r\n ContentContainer = 12,\r\n}\r\n","import React from 'react';\r\nimport { styled } from '@glitz/react';\r\nimport { theme } from '../../Theme';\r\nimport { media } from '@glitz/core';\r\nimport { StyleOrStyleArray } from '@glitz/type';\r\nimport { GridSize } from '../../Enums/GridSize.enum';\r\n\r\ntype PropTypes = {\r\n children: React.ReactNode;\r\n type?: GridSize;\r\n};\r\n\r\nfunction Grid({ children, type, ...rest }: PropTypes) {\r\n let css = {};\r\n\r\n switch (type) {\r\n case GridSize.Three:\r\n css = Three;\r\n break;\r\n case GridSize.Four:\r\n css = Four;\r\n break;\r\n case GridSize.Usp:\r\n css = Usp;\r\n break;\r\n case GridSize.ContentContainer:\r\n css = Twelve;\r\n break;\r\n default:\r\n //Was the prevoius grid layout\r\n css = Four;\r\n break;\r\n }\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n}\r\n\r\nconst Div = styled.div({\r\n display: 'grid',\r\n gridTemplateColumns: 'repeat(1, minmax(0, 1fr))',\r\n gridGap: theme.large,\r\n padding: { x: theme.gamma },\r\n});\r\n\r\nconst Twelve: StyleOrStyleArray = {\r\n width: '100%',\r\n maxWidth: theme.contentMaxWidth,\r\n margin: { x: 'auto', y: theme.great },\r\n padding: { y: theme.none, x: theme.none },\r\n gridTemplateColumns: 'repeat(12, minmax(0, 1fr))',\r\n gridColumnGap: theme.none,\r\n gridRowGap: theme.great,\r\n ...media(theme.mediaQuery.mediaMinMedium, {\r\n gridRowGap: theme.gamma,\r\n }),\r\n ...media(theme.mediaQuery.mediaMinLarge, {\r\n gridRowGap: '78px',\r\n gridColumnGap: theme.gamma,\r\n }),\r\n};\r\n\r\nconst Four: StyleOrStyleArray = {\r\n ...media(theme.mediaQuery.mediaMinSmall, {\r\n gridTemplateColumns: 'repeat(2, minmax(0, 1fr))',\r\n gridGap: theme.large,\r\n }),\r\n ...media(theme.mediaQuery.mediaMinMedium, {\r\n gridTemplateColumns: 'repeat(3, minmax(0, 1fr))',\r\n gridGap: theme.large,\r\n }),\r\n ...media(theme.mediaQuery.mediaMinLarge, {\r\n gridTemplateColumns: 'repeat(4, minmax(0, 1fr))',\r\n gridGap: theme.large,\r\n }),\r\n ...media(theme.mediaQuery.mediaMinHuge, {\r\n gridTemplateColumns: 'repeat(4, minmax(0, 1fr))',\r\n gridGap: theme.great,\r\n }),\r\n};\r\n\r\nconst Three: StyleOrStyleArray = {\r\n justifySelf: 'center',\r\n gridTemplateColumns: 'repeat(1, minmax(0, 1fr))',\r\n gridGap: theme.none,\r\n ...media(theme.mediaQuery.mediaMinMedium, {\r\n gridTemplateColumns: 'repeat(3, minmax(0, 1fr))',\r\n gridGap: theme.large,\r\n }),\r\n};\r\n\r\nconst Usp: StyleOrStyleArray = {\r\n gridTemplateColumns: 'repeat(2, minmax(0, 1fr))',\r\n gridGap: theme.large,\r\n ...media(theme.mediaQuery.mediaMinLarge, {\r\n gridTemplateColumns: 'repeat(4, minmax(0, 1fr))',\r\n gridGap: theme.large,\r\n }),\r\n};\r\n\r\nexport default Grid;\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 NotFoundPageModel from './Models/NotFoundPageModel.interface';\r\nimport useCurrentPage from '../Shared/Hooks/useCurrentPage';\r\n\r\nimport HeroModule from '../Shared/Hero/HeroModule';\r\nimport ContentArea from '../Shared/ContentArea/ContentArea';\r\nimport Grid from '../Shared/Grid/Grid';\r\nimport { applyEditModeAttr } from '../Shared/Common/Helpers';\r\n\r\nfunction NotFoundPage() {\r\n const {\r\n contentArea,\r\n inEditMode,\r\n teaserHeader,\r\n teaserImage,\r\n teaserLinks,\r\n teaserText,\r\n blurTeaserText,\r\n } = useCurrentPage();\r\n\r\n return (\r\n <>\r\n {teaserImage && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default NotFoundPage;\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":""}