{"version":3,"sources":["Shared/VisibleLoadableBlock/VisibleLoadableBlock.tsx","Shared/Loading/LoadingBlock/LoadingBlock.tsx","Enums/GridSize.enum.ts","Shared/Grid/Grid.tsx","StartPage/StartPage.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","Main","main","StartPage","useCurrentPage","contentArea","inEditMode","data-content-area","applyEditModeAttr","Array","isArray","childItems","rootMargin","once","useState","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/StartPage-StartPage.f1c78b26.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 from 'react';\r\n\r\nimport ContentArea from '../Shared/ContentArea/ContentArea';\r\nimport StartPageModel from './Models/StartPageModel.interface';\r\nimport useCurrentPage from '../Shared/Hooks/useCurrentPage';\r\nimport { applyEditModeAttr } from '../Shared/Common/Helpers';\r\nimport Grid from '../Shared/Grid/Grid';\r\nimport { styled } from '@glitz/react';\r\n\r\nfunction StartPage() {\r\n const { contentArea, inEditMode } = useCurrentPage();\r\n\r\n return (\r\n
\r\n \r\n {Array.isArray(contentArea) && }\r\n \r\n
\r\n );\r\n}\r\n\r\nconst Main = styled.main({});\r\n\r\nexport default StartPage;\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":""}