{"version":3,"sources":["webpack:///./src/components/Banner.js","webpack:///./src/styles/components/banner.module.scss","webpack:///./src/templates/page.js"],"names":["Banner","getBackLink","location","this","props","pathname","levels","split","filter","item","slice","length","join","convertLinkToTitle","link","parts","replace","toLowerCase","render","image","title","subtitle","backLink","backTitle","className","classNames","styles","banner","hasSidebar","sidebar","inner","content","to","pretitle","titleCenter","srcSet","desktop","srcSetWebp","type","media","tablet","src","thumb","alt","Component","module","exports","Page","data","contentfulPage","featuredImage","sections","metaDescription","position","description","map","section","index","useSection","__typename","key"],"mappings":"0NAMqBA,EAAM,iGA2ExB,OA3EwB,EACzBC,YAAA,WACE,IAAMC,EAAWC,KAAKC,MAAMF,SAE5B,GAAIA,GAAYA,EAASG,SAAU,CACjC,IAEMC,GAFOJ,EAASG,SAASE,MAAM,MAAQ,IAEzBC,QAAO,SAACC,GAC1B,MAAgB,KAATA,KACNC,MAAM,GAAI,GAEb,OAAsB,IAAlBJ,EAAOK,OACF,IAGH,IAAKL,EAAOM,KAAK,KAGzB,MAAO,KACR,EAEDC,mBAAA,SAAoBC,GAClB,GAAIA,GAAiB,MAATA,EAAc,CACxB,IAEMC,EAFQD,EAAKP,MAAM,KAELC,QAAO,SAACC,GAC1B,MAAgB,KAATA,KAGT,GAAIM,EAAMJ,OAAS,EAGjB,MAAM,MAFOI,EAAMA,EAAMJ,OAAS,GACfK,QAAQ,KAAM,KACdC,cAIvB,MAAO,QACR,EAEDC,OAAA,WAAW,IAAD,IACR,EAAmCf,KAAKC,MAAhCe,EAAK,EAALA,MAAOC,EAAK,EAALA,MAAOC,EAAQ,EAARA,SAChBC,EAAWnB,KAAKF,cAChBsB,EAAYpB,KAAKU,mBAAmBS,GAE1C,OACE,yBAAKE,UAAWC,IAAWC,IAAOC,QAAM,OAAKD,IAAOE,YAAazB,KAAKC,MAAMyB,QAAO,GAAI,2BACrF,yBAAKL,UAAWC,IAAWC,IAAOI,MAAO,mBACvC,yBAAKN,UAAWC,IAAWC,IAAOK,UAChC,kBAAC,OAAI,CAACC,GAAIV,EAAUE,UAAWC,IAAWC,IAAOO,WAAU,QAChDV,GAGX,wBAAIC,UAAWC,IAAWC,IAAON,OAAK,OAAKM,IAAOQ,cAAeb,EAAQ,KACtED,GAGFC,GACC,0BAAMG,UAAWE,IAAOL,UACrBA,IAKNF,GACC,iCACE,4BAAQgB,OAAQhB,EAAMiB,QAAQC,WAAYC,KAAK,aAAaC,MAAM,2BAClE,4BAAQJ,OAAQhB,EAAMiB,QAAQD,OAAQG,KAAK,aAAaC,MAAM,2BAC9D,4BAAQJ,OAAQhB,EAAMqB,OAAOH,WAAYC,KAAK,aAAaC,MAAM,0BACjE,4BAAQJ,OAAQhB,EAAMqB,OAAOL,OAAQG,KAAK,aAAaC,MAAM,0BAC7D,yBAAKE,IAAKtB,EAAMuB,MAAMD,IAAKN,OAAQhB,EAAMuB,MAAMP,OAAQQ,IAAKxB,EAAMC,MAAOI,UAAWE,IAAOP,YAMtG,EA3EwB,CAASyB,c,qBCLpCC,EAAOC,QAAU,CAAC,OAAS,+BAA+B,MAAQ,8BAA8B,QAAU,gCAAgC,SAAW,iCAAiC,MAAQ,8BAA8B,YAAc,oCAAoC,SAAW,iCAAiC,MAAQ,8BAA8B,WAAa,qC,0JCMxVC,EAAI,8DAmCtB,OAnCsB,6BACvB7B,OAAA,WACE,MAAsEf,KAAKC,MAAM4C,KAAKC,eAA9E7B,EAAK,EAALA,MAAOC,EAAQ,EAARA,SAAU6B,EAAa,EAAbA,cAAeC,EAAQ,EAARA,SAAUC,EAAe,EAAfA,gBAC9CC,EAAW,EAEf,OACE,oCACE,kBAAC,IAAI,CACHjC,MAAOA,EACPkC,YAAaF,EACbjC,MAAO+B,EACPhD,SAAUC,KAAKC,MAAMF,WAGvB,kBAAC,IAAM,CACLkB,MAAOA,EACPC,SAAUA,EACVF,MAAO+B,EACPhD,SAAUC,KAAKC,MAAMF,WAGtBiD,GAAYA,EAASxC,OAAS,GAAKwC,EAASI,KAAI,SAACC,EAASC,GACzD,IAAMb,EAAYc,YAAWF,EAAQG,YASrC,MAP2B,8BAAvBH,EAAQG,YACVH,EAAQH,SAAWA,IACjBA,GAEFA,EAAWI,EAGNb,EAAY,kBAACA,EAAS,CAACgB,IAAKH,EAAOT,KAAMQ,EAASH,SAAUA,IAAe,UAIzF,EAnCsB,CAAST","file":"component---src-templates-page-js-dc09f5890be6cd22ec2a.js","sourcesContent":["import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { Link } from 'gatsby'\nimport styles from '~styles/components/banner.module.scss'\n\nexport default class Banner extends Component {\n getBackLink () {\n const location = this.props.location\n\n if (location && location.pathname) {\n const path = location.pathname.split('/') || []\n\n const levels = path.filter((item) => {\n return item !== ''\n }).slice(0, -1)\n\n if (levels.length === 0) {\n return '/'\n }\n\n return `/${levels.join('/')}`\n }\n\n return '/'\n }\n\n convertLinkToTitle (link) {\n if (link && link !== '/') {\n const paths = link.split('/')\n\n const parts = paths.filter((item) => {\n return item !== ''\n })\n\n if (parts.length > 0) {\n const name = parts[parts.length - 1]\n const title = name.replace(/-/g, ' ')\n return `to ${title.toLowerCase()}`\n }\n }\n\n return 'home'\n }\n\n render () {\n const { image, title, subtitle } = this.props\n const backLink = this.getBackLink()\n const backTitle = this.convertLinkToTitle(backLink)\n\n return (\n
\n
\n
\n \n {`Back ${backTitle}`}\n \n\n

\n {title}\n

\n\n {subtitle && (\n \n {subtitle}\n \n )}\n
\n\n {image && (\n \n \n \n \n \n {image.title}\n \n )}\n
\n
\n )\n }\n}\n\nBanner.propTypes = {\n title: PropTypes.string.isRequired,\n image: PropTypes.object,\n subtitle: PropTypes.string,\n location: PropTypes.object,\n sidebar: PropTypes.bool\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"banner\":\"banner-module--banner--1VtGm\",\"inner\":\"banner-module--inner--1jFwj\",\"content\":\"banner-module--content--2JLtI\",\"pretitle\":\"banner-module--pretitle--3vlBE\",\"title\":\"banner-module--title--2HzrK\",\"titleCenter\":\"banner-module--titleCenter--1yji-\",\"subtitle\":\"banner-module--subtitle--2G2VZ\",\"image\":\"banner-module--image--2nUlr\",\"hasSidebar\":\"banner-module--hasSidebar--2h7qq\"};","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport Head from '~components/Head'\nimport Banner from '~components/Banner'\nimport { use as useSection } from '../components/sections'\n\nexport default class Page extends Component {\n render () {\n const { title, subtitle, featuredImage, sections, metaDescription } = this.props.data.contentfulPage\n let position = 0\n\n return (\n <>\n \n\n \n\n {sections && sections.length > 0 && sections.map((section, index) => {\n const Component = useSection(section.__typename)\n\n if (section.__typename === 'ContentfulSectionSignpost') {\n section.position = position\n ++position\n } else {\n position = index\n }\n\n return Component ? : null\n })}\n \n )\n }\n}\n\nPage.propTypes = {\n data: PropTypes.object,\n location: PropTypes.object\n}\n\nexport const query = graphql`\n query($id: String!) {\n contentfulPage(id: {eq: $id}) {\n title\n subtitle\n featuredImage {\n id\n title\n desktop: fixed(width: 1600, height: 550, quality: 80) {\n src\n srcSet\n srcSetWebp\n }\n tablet: fixed(width: 1100, height: 378, quality: 80) {\n src\n srcSet\n srcSetWebp\n }\n thumb: fixed(width: 414, height: 568, quality: 80) {\n src\n srcSet\n srcSetWebp\n }\n openGraph: fixed(width: 1200, height: 627, quality: 80, resizingBehavior: CROP, cropFocus: CENTER) {\n src\n }\n }\n sections {\n ... on ContentfulSectionMedia {\n ...Media\n }\n ... on ContentfulSectionAccordion {\n ...Accordion\n }\n ... on ContentfulSectionSignpost {\n ...Signpost\n }\n ... on ContentfulSectionSingleImage {\n ...SingleImage\n }\n ... on ContentfulSectionUsPs {\n ...UsPs\n }\n ... on ContentfulSectionTable {\n ...Table\n }\n ... on ContentfulSectionSupportingText {\n ...SupportingText\n }\n ... on ContentfulSectionTabs {\n ...Tabs\n }\n ... on ContentfulSectionCta {\n ...Cta\n }\n ... on ContentfulSectionText {\n ...Text\n }\n }\n metaDescription\n }\n }\n`\n"],"sourceRoot":""}