{"version":3,"file":"component---src-templates-static-page-tsx-3d947461312a8765837b.js","mappings":"qOAgGMA,EAAoBC,EAAAA,QAAAA,IAAAA,WAAH,wEAAGA,CAAH,oCAKjBC,EAAiBD,EAAAA,QAAAA,IAAAA,WAAH,qEAAGA,CAAH,mFAMdE,EAAUF,EAAAA,QAAAA,IAAAA,WAAH,8DAAGA,CAAH,ozBAOPG,EAAAA,GASAC,EAAAA,GAGAC,EAAAA,GAKAC,EAAAA,GAQAA,EAAAA,GAMAF,EAAAA,GAmBkBG,EAAAA,GAAAA,MAOTA,EAAAA,GAAAA,QAKQC,EAAAA,EAAAA,IAAGC,EAAAA,GAAAA,SACbD,EAAAA,EAAAA,IAAGE,EAAAA,GAAAA,kBAIRJ,EAAAA,IAMeE,EAAAA,EAAAA,IAAGC,EAAAA,GAAAA,YACbD,EAAAA,EAAAA,KAAGG,EAAAA,EAAAA,IAAW,EAAGD,EAAAA,GAAAA,YAAmBA,EAAAA,GAAAA,aAElCF,EAAAA,EAAAA,IAAGI,EAAAA,GAAAA,wBAGVN,EAAAA,IAMFO,EAAgBb,EAAAA,QAAAA,IAAAA,WAAH,oEAAGA,CAAH,sBAQbc,EAAAA,SAAAA,GACJ,WAAYC,GAA8B,OACxC,YAAMA,IADiC,MADrCD,EAAAA,EAAAA,GAAAA,EAAAA,G,kBAoDH,O,EA9CDE,kBAAA,WAEE,IAAKC,KAAKF,MAAMG,iBAAkB,CAChC,IAAMC,GAAYC,EAAAA,EAAAA,MAElB,GADAH,KAAKF,MAAMM,aAAaF,GACpBG,KAAmC,OAAzBA,MAASC,YAAsB,CAE3C,IACMC,EADoBF,MAASG,QACe,EAAI,EACtDR,KAAKF,MAAMW,gBAAgBJ,MAASC,YAAc,GAAKC,GAEzDP,KAAKF,MAAMY,sBAIbV,KAAKF,MAAMa,0BAAyB,GACpCX,KAAKF,MAAMc,4BAA2B,GAGtCZ,KAAKF,MAAMe,0BAAyB,GAGpCb,KAAKF,MAAMgB,wBAAwBC,EAAAA,GAAAA,UACpC,EAEDC,OAAA,WACE,IAAOC,EAAQjB,KAAKF,MAAbmB,KACDC,GAAUC,EAAAA,EAAAA,IAAaF,EAAKG,OAAOC,WAAWC,mBAEpD,OACE,gBAACxC,EAAD,KACE,gBAAC,KAAD,MAEA,gBAAC,KAAD,CAAkByC,YAAU,IAC5B,gBAAC,KAAD,MACA,gBAAC,KAAD,CAAKC,OAAOC,EAAAA,EAAAA,KAAYC,EAAAA,EAAAA,IAAUT,EAAKG,OAAOC,WAAWM,SACzD,gBAAC,KAAD,KACE,gBAAC3C,EAAD,KACE,gBAACC,EAAD,CAAS2C,wBAAyBV,IAClC,gBAACtB,EAAD,KACE,gBAAC,KAAD,WAMX,EApDGC,CAAwBgC,EAAAA,WAkE9B,WAAeC,EAAAA,EAAAA,KAjOS,SAACC,GAAD,MAAsC,CAC5DC,eAAgBD,EAAME,OAAOD,eAC7B/B,iBAAkB8B,EAAME,OAAOhC,iBAC/BiC,mBAAoBH,EAAME,OAAOC,mBACjCC,mBAAoBJ,EAAME,OAAOE,uBAYR,SAACC,GAC1B,MAAO,CACLhC,aAAc,SAACiC,GACb,OAAOD,GAASE,EAAAA,EAAAA,IAAmBD,KAErC3B,oBAAqB,WACnB,OAAO0B,GAASG,EAAAA,EAAAA,QAElB9B,gBAAiB,SAAC+B,GAChB,OAAOJ,GAASK,EAAAA,EAAAA,IAAsBD,KAExC3B,yBAA0B,SAAC6B,GACzB,OAAON,GAASO,EAAAA,EAAAA,IAA+BD,KAEjD5B,wBAAyB,SAAC8B,GACxB,OAAOR,GAASS,EAAAA,EAAAA,IAA8BD,KAEhDjC,yBAA0B,SAACmC,GACzB,OAAOV,GAASW,EAAAA,EAAAA,IAAiCD,KAEnDlC,2BAA4B,SAACkC,GAC3B,OAAOV,GAASY,EAAAA,EAAAA,IAAiCF,QA4LvD,CAGEjD","sources":["webpack://dfl-ipp-website/./src/templates/StaticPage.tsx"],"sourcesContent":["/**\n * Template page for a static, text only page (imprint, legal notice, privacy policy, etc.)\n *\n */\n\n// IMPORTS\nimport React from \"react\";\nimport {Dispatch} from \"redux\";\nimport {connect} from \"react-redux\";\nimport styled from \"styled-components\";\nimport {graphql} from \"gatsby\";\nimport moment from \"moment\";\nimport {SEO, GlobalStyle, NavigationHeader, ConsentBanner, ContactFooter} from \"../components\";\nimport {\n DflRegionType,\n NavigationOverlayStateType,\n navigationOverlayStates,\n px,\n stage,\n elementSizes,\n StaticPageResponseProps,\n baseRegular,\n baseBold,\n mediumBold,\n colors,\n baseItalic,\n breakpoints,\n MainContentWrapper,\n} from \"../models\";\nimport {getDflRegionByTimezone, columnSpan, createMarkup, unslugify, toTitleCase} from \"../util/util\";\nimport {AppState} from \"../store/\";\nimport {\n setTimezoneDetectedAction,\n updateRegionAction,\n updateIsNavigationHiddenAction,\n updateNavigationOverlayAction,\n updateIsNavigationInvertedAction,\n updateUTCOffsetAction,\n updateIsHomepageAboveVideoAction,\n} from \"../store/system/actions\";\n\n// COMPONENT PROPERTIES\ninterface PropsFromState {\n selectedRegion: DflRegionType;\n timezoneDetected: boolean;\n isNavigationHidden: boolean;\n isTextFilterActive: boolean;\n}\nconst mapStateToProps = (state: AppState): PropsFromState => ({\n selectedRegion: state.system.selectedRegion,\n timezoneDetected: state.system.timezoneDetected,\n isNavigationHidden: state.system.isNavigationHidden,\n isTextFilterActive: state.system.isTextFilterActive,\n});\n\ninterface PropsFromDispatch {\n updateRegion: (region: DflRegionType) => void;\n setTimezoneDetected: () => void;\n updateUTCOffset: (newOffset: number) => void;\n updateIsNavigationHidden: (isHidden: boolean) => void;\n updateNavigationOverlay: (newState: NavigationOverlayStateType) => void;\n updateNavigationInverted: (isInverted: boolean) => void;\n updateIsHomepageAboveVideo: (isInverted: boolean) => void;\n}\nconst mapDispatchToProps = (dispatch: Dispatch): PropsFromDispatch => {\n return {\n updateRegion: (region: DflRegionType) => {\n return dispatch(updateRegionAction(region));\n },\n setTimezoneDetected: () => {\n return dispatch(setTimezoneDetectedAction());\n },\n updateUTCOffset: (newOffset: number) => {\n return dispatch(updateUTCOffsetAction(newOffset));\n },\n updateIsNavigationHidden: (isHidden: boolean) => {\n return dispatch(updateIsNavigationHiddenAction(isHidden));\n },\n updateNavigationOverlay: (newState: NavigationOverlayStateType) => {\n return dispatch(updateNavigationOverlayAction(newState));\n },\n updateNavigationInverted: (isInverted: boolean) => {\n return dispatch(updateIsNavigationInvertedAction(isInverted));\n },\n updateIsHomepageAboveVideo: (isInverted: boolean) => {\n return dispatch(updateIsHomepageAboveVideoAction(isInverted));\n },\n };\n};\n\n// STYLES\n\n/*\n make static pages at least full screen height. Some pages like the imprint can have\n very little content, which make the footer not appear at the bottom of the page\n */\nconst StaticPageWrapper = styled.div`\n height: 100vh;\n overflow: visible;\n`;\n\nconst ContentWrapper = styled.div`\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n`;\nconst Content = styled.div`\n width: 100%;\n margin: 0;\n padding: 80px 22px 0;\n box-sizing: border-box;\n\n * {\n ${baseRegular};\n font-style: normal !important;\n text-decoration: none !important;\n padding: 0;\n }\n strong,\n h4,\n h5,\n h6 {\n ${baseBold};\n }\n em {\n ${baseItalic};\n font-style: italic !important;\n }\n\n h1 {\n ${mediumBold};\n font-size: 20px;\n text-transform: uppercase;\n letter-spacing: 1px;\n text-align: center;\n margin-bottom: 62px;\n }\n h2 {\n ${mediumBold};\n font-size: 20px;\n margin-top: 36px;\n margin-bottom: 32px;\n }\n h3 {\n ${baseBold};\n margin-top: 20px;\n margin-bottom: 20px;\n }\n ul {\n padding-left: 16px;\n }\n ul > li {\n position: relative;\n }\n ul > li:before {\n content: \"\";\n position: absolute;\n top: 7px;\n left: -12px;\n display: block;\n width: 4px;\n height: 4px;\n border-radius: 50%;\n background-color: ${colors.black};\n }\n\n a {\n text-decoration: underline !important;\n\n &:hover {\n color: ${colors.redDFL};\n }\n }\n\n /* tablet */\n @media (min-width: ${px(breakpoints.tablet)}) {\n width: ${px(stage.innerWidthTablet)};\n margin: 0 auto;\n\n h1 {\n ${mediumBold};\n text-align: center;\n }\n }\n\n /* desktop HD */\n @media (min-width: ${px(breakpoints.desktopHd)}) {\n width: ${px(columnSpan(8, stage.columnWidth, stage.columnGap))};\n margin: 0 auto;\n padding: ${px(elementSizes.navigationHeaderHeight)} 0 0 0;\n\n h1 {\n ${mediumBold};\n text-align: center;\n }\n }\n`;\n\nconst FooterWrapper = styled.div`\n margin-top: 96px;\n`;\n\n// COMPONENT\ninterface ProductTemplateProps extends PropsFromState, PropsFromDispatch {\n data: StaticPageResponseProps;\n}\nclass ProductTemplate extends React.Component {\n constructor(props: ProductTemplateProps) {\n super(props);\n }\n\n // Product category page initialization\n componentDidMount() {\n // get Timezone and utc offset once\n if (!this.props.timezoneDetected) {\n const dflRegion = getDflRegionByTimezone();\n this.props.updateRegion(dflRegion);\n if (moment && moment().utcOffset() !== null) {\n // ignore daylight savings time\n const isDayLightSavings = moment().isDST();\n const dayLightSavingsOffset = isDayLightSavings ? 1 : 0;\n this.props.updateUTCOffset(moment().utcOffset() / 60 - dayLightSavingsOffset);\n }\n this.props.setTimezoneDetected();\n }\n\n // set navigation to black (could be inverted, coming from landing page)\n this.props.updateNavigationInverted(false);\n this.props.updateIsHomepageAboveVideo(false);\n\n // unhide the menu if it is hidden\n this.props.updateIsNavigationHidden(false);\n\n // hide overlay\n this.props.updateNavigationOverlay(navigationOverlayStates.default);\n }\n\n render() {\n const {data} = this.props;\n const content = createMarkup(data.wpPage.staticPage.staticpageContent);\n\n return (\n \n \n {/* @ts-ignore */}\n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nexport const query = graphql`\n query($id: Int!) {\n wpPage(databaseId: {eq: $id}) {\n staticPage {\n staticpageContent\n slug\n }\n }\n }\n`;\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps,\n)(ProductTemplate);\n"],"names":["StaticPageWrapper","styled","ContentWrapper","Content","baseRegular","baseBold","baseItalic","mediumBold","colors","px","breakpoints","stage","columnSpan","elementSizes","FooterWrapper","ProductTemplate","props","componentDidMount","this","timezoneDetected","dflRegion","getDflRegionByTimezone","updateRegion","moment","utcOffset","dayLightSavingsOffset","isDST","updateUTCOffset","setTimezoneDetected","updateNavigationInverted","updateIsHomepageAboveVideo","updateIsNavigationHidden","updateNavigationOverlay","navigationOverlayStates","render","data","content","createMarkup","wpPage","staticPage","staticpageContent","isTextDark","title","toTitleCase","unslugify","slug","dangerouslySetInnerHTML","React","connect","state","selectedRegion","system","isNavigationHidden","isTextFilterActive","dispatch","region","updateRegionAction","setTimezoneDetectedAction","newOffset","updateUTCOffsetAction","isHidden","updateIsNavigationHiddenAction","newState","updateNavigationOverlayAction","isInverted","updateIsNavigationInvertedAction","updateIsHomepageAboveVideoAction"],"sourceRoot":""}