{"version":3,"file":"component---src-templates-our-approach-our-approach-tsx-3b40507b30da3f431c4f.js","mappings":"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","sources":["webpack://portail-innovation/./node_modules/react-gtm-module/dist/Snippets.js","webpack://portail-innovation/./node_modules/react-gtm-module/dist/TagManager.js","webpack://portail-innovation/./node_modules/react-gtm-module/dist/index.js","webpack://portail-innovation/./node_modules/react-gtm-module/dist/utils/warn.js","webpack://portail-innovation/./src/components/layout/banner/banner.module.scss","webpack://portail-innovation/./src/components/layout/banner/banner.tsx","webpack://portail-innovation/./src/templates/our-approach/cover/cover.tsx","webpack://portail-innovation/./src/templates/our-approach/intro/intro.module.scss","webpack://portail-innovation/./src/templates/our-approach/intro/intro.tsx","webpack://portail-innovation/./src/templates/our-approach/our-approach.tsx","webpack://portail-innovation/./src/templates/our-approach/our-approach.module.scss","webpack://portail-innovation/./src/components/newsletter/newsletter.module.scss"],"sourcesContent":["'use strict';\n\nvar _warn = require('./utils/warn');\nvar _warn2 = _interopRequireDefault(_warn);\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\n// https://developers.google.com/tag-manager/quickstart\n\nvar Snippets = {\n  tags: function tags(_ref) {\n    var id = _ref.id,\n      events = _ref.events,\n      dataLayer = _ref.dataLayer,\n      dataLayerName = _ref.dataLayerName,\n      preview = _ref.preview,\n      auth = _ref.auth;\n    var gtm_auth = '&gtm_auth=' + auth;\n    var gtm_preview = '&gtm_preview=' + preview;\n    if (!id) (0, _warn2.default)('GTM Id is required');\n    var iframe = '\\n      <iframe src=\"https://www.googletagmanager.com/ns.html?id=' + id + gtm_auth + gtm_preview + '&gtm_cookies_win=x\"\\n        height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\" id=\"tag-manager\"></iframe>';\n    var script = '\\n      (function(w,d,s,l,i){w[l]=w[l]||[];\\n        w[l].push({\\'gtm.start\\': new Date().getTime(),event:\\'gtm.js\\', ' + JSON.stringify(events).slice(1, -1) + '});\\n        var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!=\\'dataLayer\\'?\\'&l=\\'+l:\\'\\';\\n        j.async=true;j.src=\\'https://www.googletagmanager.com/gtm.js?id=\\'+i+dl+\\'' + gtm_auth + gtm_preview + '&gtm_cookies_win=x\\';\\n        f.parentNode.insertBefore(j,f);\\n      })(window,document,\\'script\\',\\'' + dataLayerName + '\\',\\'' + id + '\\');';\n    var dataLayerVar = this.dataLayer(dataLayer, dataLayerName);\n    return {\n      iframe: iframe,\n      script: script,\n      dataLayerVar: dataLayerVar\n    };\n  },\n  dataLayer: function dataLayer(_dataLayer, dataLayerName) {\n    return '\\n      window.' + dataLayerName + ' = window.' + dataLayerName + ' || [];\\n      window.' + dataLayerName + '.push(' + JSON.stringify(_dataLayer) + ')';\n  }\n};\nmodule.exports = Snippets;","'use strict';\n\nvar _Snippets = require('./Snippets');\nvar _Snippets2 = _interopRequireDefault(_Snippets);\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\nvar TagManager = {\n  dataScript: function dataScript(dataLayer) {\n    var script = document.createElement('script');\n    script.innerHTML = dataLayer;\n    return script;\n  },\n  gtm: function gtm(args) {\n    var snippets = _Snippets2.default.tags(args);\n    var noScript = function noScript() {\n      var noscript = document.createElement('noscript');\n      noscript.innerHTML = snippets.iframe;\n      return noscript;\n    };\n    var script = function script() {\n      var script = document.createElement('script');\n      script.innerHTML = snippets.script;\n      return script;\n    };\n    var dataScript = this.dataScript(snippets.dataLayerVar);\n    return {\n      noScript: noScript,\n      script: script,\n      dataScript: dataScript\n    };\n  },\n  initialize: function initialize(_ref) {\n    var gtmId = _ref.gtmId,\n      _ref$events = _ref.events,\n      events = _ref$events === undefined ? {} : _ref$events,\n      dataLayer = _ref.dataLayer,\n      _ref$dataLayerName = _ref.dataLayerName,\n      dataLayerName = _ref$dataLayerName === undefined ? 'dataLayer' : _ref$dataLayerName,\n      _ref$auth = _ref.auth,\n      auth = _ref$auth === undefined ? '' : _ref$auth,\n      _ref$preview = _ref.preview,\n      preview = _ref$preview === undefined ? '' : _ref$preview;\n    var gtm = this.gtm({\n      id: gtmId,\n      events: events,\n      dataLayer: dataLayer || undefined,\n      dataLayerName: dataLayerName,\n      auth: auth,\n      preview: preview\n    });\n    if (dataLayer) document.head.appendChild(gtm.dataScript);\n    document.head.insertBefore(gtm.script(), document.head.childNodes[0]);\n    document.body.insertBefore(gtm.noScript(), document.body.childNodes[0]);\n  },\n  dataLayer: function dataLayer(_ref2) {\n    var _dataLayer = _ref2.dataLayer,\n      _ref2$dataLayerName = _ref2.dataLayerName,\n      dataLayerName = _ref2$dataLayerName === undefined ? 'dataLayer' : _ref2$dataLayerName;\n    if (window[dataLayerName]) return window[dataLayerName].push(_dataLayer);\n    var snippets = _Snippets2.default.dataLayer(_dataLayer, dataLayerName);\n    var dataScript = this.dataScript(snippets);\n    document.head.insertBefore(dataScript, document.head.childNodes[0]);\n  }\n};\nmodule.exports = TagManager;","'use strict';\n\nvar _TagManager = require('./TagManager');\nvar _TagManager2 = _interopRequireDefault(_TagManager);\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\nmodule.exports = _TagManager2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar warn = function warn(s) {\n  console.warn('[react-gtm]', s);\n};\nexports.default = warn;","// extracted by mini-css-extract-plugin\nexport var container = \"banner-module--container--857ac\";\nexport var filter = \"banner-module--filter--a4192\";\nexport var subtitle = \"banner-module--subtitle--3478d\";\nexport var subtitleText = \"banner-module--subtitleText--4c45d\";\nexport var titleImage = \"banner-module--titleImage--2a6db\";\nexport var visuallyHidden = \"banner-module--visuallyHidden--71199\";","import { graphql } from \"gatsby\"\nimport * as styles from \"./banner.module.scss\"\nimport React from \"react\"\nimport { hexToRgb } from \"../../../tools/functions\"\nimport { BannerFieldsFragment } from \"../../../../graphql-types\"\n\ninterface BannerProps {\n  data: BannerFieldsFragment\n}\n\nconst Banner: React.FC<BannerProps> = ({ data }) => {\n  if (!data) return null\n  \n  return (\n    <div className={styles.container} style={{ backgroundImage: `url(${data.image?.url ?? \"\"})`}}>\n      <div className={styles.filter} style={{ \n        backgroundColor: data.filterColor?.hex \n          ? `rgba(${hexToRgb(data.filterColor?.hex ?? \"\")}, ${(data.filterAlpha ?? 100) / 100})`\n          : \"\"\n      }}>\n        <h1 className={styles.visuallyHidden}>\n          {data.titleImage.alt || \"\"}\n        </h1>\n        <img className={styles.titleImage} src={data.titleImage.url} alt={data.titleImage.alt} style={{ backgroundColor: data.backgroundColor?.hex ?? \"\" }} />\n        {data.subtitle && (\n          <p className={styles.subtitle}>\n            <div className={styles.subtitleText} style={{ color: data.textColor?.hex ?? \"white\", backgroundColor: data.backgroundColor?.hex ?? \"\" }}>{data.subtitle}</div>\n          </p>\n        )}\n      </div>\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment BannerFields on DatoCmsBanner {\n    titleImage {\n      alt\n      format\n      url\n    }\n    subtitle\n    textColor {\n      hex\n    }\n    backgroundColor {\n      hex\n    }\n    image {\n      alt\n      format\n      url\n    }\n    filterColor {\n      hex\n    }\n    filterAlpha\n  }\n`\n\nexport default Banner\n","import React from \"react\"\n\nimport { graphql } from \"gatsby\"\nimport { OurApproachCoverFieldsFragment } from \"../../../../graphql-types\"\n\nimport Banner from \"../../../components/layout/banner/banner\"\n\ntype CoverProps = { data: OurApproachCoverFieldsFragment }\n\nconst Cover: React.FC<CoverProps> = ({ data }) => {\n    \n  return <Banner data={data.banner} />\n}\n\nexport const fragment = graphql`\n  fragment OurApproachCoverFields on DatoCmsOurApproachPage {\n    banner {\n        ...BannerFields\n      }\n  }\n`\n\nexport default Cover\n","// extracted by mini-css-extract-plugin\nexport var buttonContainer = \"intro-module--buttonContainer--c48a2\";\nexport var container = \"intro-module--container--cfdf5\";\nexport var fadeIn = \"intro-module--fadeIn--84368\";\nexport var introDescription = \"intro-module--introDescription--64dec\";\nexport var introTitle = \"intro-module--introTitle--36802\";\nexport var left = \"intro-module--left--6cb79\";\nexport var nextButton = \"intro-module--nextButton--52a90\";\nexport var prevButton = \"intro-module--prevButton--479a9\";\nexport var right = \"intro-module--right--9c10d\";\nexport var verbatim = \"intro-module--verbatim--eb7a9\";\nexport var verbatimButtonContainer = \"intro-module--verbatimButtonContainer--02233\";\nexport var verbatimCitation = \"intro-module--verbatimCitation--29962\";\nexport var verbatimContainer = \"intro-module--verbatimContainer--3f67a\";\nexport var verbatimPerson = \"intro-module--verbatimPerson--af377\";\nexport var verbatimPersonImage = \"intro-module--verbatimPersonImage--5083f\";\nexport var verbatimPersonInfo = \"intro-module--verbatimPersonInfo--2082d\";\nexport var verbatimPersonName = \"intro-module--verbatimPersonName--a6ca8\";\nexport var verbatimPersonRole = \"intro-module--verbatimPersonRole--fc8a6\";\nexport var verbatimTag = \"intro-module--verbatimTag--9aaa6\";\nexport var verbatimTitle = \"intro-module--verbatimTitle--e5be6\";","import React from \"react\"\nimport ReactHtmlParser from \"react-html-parser\"\nimport sanitizeHtml from \"sanitize-html\"\n\nimport BackArrowSvg from \"../../../../static/vectors/backArrowV2.svg\"\nimport ArrowSvg from \"../../../../static/vectors/arrowV2.svg\"\n\nimport * as styles from \"./intro.module.scss\"\nimport { graphql } from \"gatsby\"\nimport { render } from \"datocms-structured-text-to-html-string\"\ntype IntroProps = {\n  data: IntroFields\n}\n\nexport default function Intro({ data }: IntroProps) {\n  const [currentIndex, setCurrentIndex] = React.useState(0);\n  \n  const handlePrevious = () => {\n    setCurrentIndex((prev) => \n      prev === 0 ? data.verbatim.length - 1 : prev - 1\n    );\n  };\n\n  const handleNext = () => {\n    setCurrentIndex((prev) => \n      prev === data.verbatim.length - 1 ? 0 : prev + 1\n    );\n  };\n\n  const options = {\n    renderBlock({ record, adapter: { renderNode } }) {\n      return renderNode(\"figure\", {}, renderNode(\"img\", { src: record.url }))\n    },\n    renderInlineRecord({ record, adapter: { renderNode } }) {\n      return renderNode(\"a\", { href: `/${record.slug}` }, record.title)\n    },\n    renderLinkToRecord({ record, children, adapter: { renderNode } }) {\n      return renderNode(\"a\", { href: `/${record.slug}` }, children)\n    },\n  }\n\n  return (\n    <div className={styles.container}>\n      <div className={styles.left}>\n        <h2 className={styles.introTitle}>{data.introTitle}</h2>\n        <div className={styles.introDescription}>\n          {data && data.introDescription && ReactHtmlParser(sanitizeHtml(render(data.introDescription.value, options)))}\n        </div>\n      </div>\n      <div className={styles.right}>\n        <p className={styles.introTitle} style={{fontSize: \"30px\", lineHeight: \"30px\", margin: \"12px 0 0 0\"}}>{data.sectionTitle}</p>\n        <div className={styles.verbatimButtonContainer}>\n          <div className={styles.verbatimContainer}>\n            <div className={styles.verbatim}>\n              <h3 className={styles.verbatimTitle}>{data.verbatim[currentIndex].title} <span className={styles.verbatimTag}>{data.verbatim[currentIndex].tag}</span></h3>\n              <p className={styles.verbatimCitation}>{data.verbatim[currentIndex].citation}</p>\n              <div className={styles.verbatimPerson}>\n                <img className={styles.verbatimPersonImage} src={data.verbatim[currentIndex].image.url} alt={data.verbatim[currentIndex].image.alt} />\n                <div className={styles.verbatimPersonInfo}>\n                  <p className={styles.verbatimPersonName}>{data.verbatim[currentIndex].name}</p>\n                  <p className={styles.verbatimPersonRole}>{data.verbatim[currentIndex].role}</p>\n                </div>\n              </div>\n            </div>\n          </div>\n        <div className={styles.buttonContainer}>\n          <button onClick={handlePrevious} className={styles.prevButton}>\n            <img src={BackArrowSvg} alt=\"Previous\" />\n          </button>\n          <button onClick={handleNext} className={styles.nextButton}>\n            <img src={ArrowSvg} alt=\"Next\" />\n          </button>\n        </div>\n        </div>\n      </div>\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment OurApproachIntroFields on DatoCmsOurApproachPage {\n    introTitle\n    introDescription {\n        value\n    }\n    sectionTitle\n    verbatim {\n        title\n        citation\n        tag\n        image {\n            url\n            alt\n            format\n        }\n        role\n        name\n    }\n  }\n`\n\n","import React, { useEffect } from \"react\"\nimport TagManager from \"react-gtm-module\"\n\nimport { graphql } from \"gatsby\"\nimport { DatoCmsSlugsConfiguration, OurApproachPageQuery } from \"../../../graphql-types\"\n\nimport * as config from \"../../../config\"\nimport * as styles from \"./our-approach.module.scss\"\nimport Layout from \"../../components/layout/layout\"\nimport SEO from \"../../components/seo\"\nimport HrefLangLinks from \"../../components/layout/href-lang-links/href-lang-links\"\nimport RichDatoCmsContent from \"../../components/common/jsx/rich-dato-cms-content/rich-dato-cms-content\"\nimport Cover from \"./cover/cover\"\nimport Intro from \"./intro/intro\"\nimport LatestProjects from \"./latest-projects/latest-projects\"\nimport useSlugValue from \"../../hooks/use-slug-value\"\nimport * as stylesNewsletter from \"../../components/newsletter/newsletter.module.scss\"\n\ntype OurApproachProps = {\n  data: OurApproachPageQuery\n  pageContext: {\n    locale: string\n    defaultLocale: string\n    slugs: DatoCmsSlugsConfiguration\n  }\n}\n\nconst OurApproach: React.FC<OurApproachProps> = ({ data, pageContext }) => {\n  const localeIndex = pageContext.slugs._allProjectsNewsInsightsPageSlugLocales.findIndex(slug => slug.locale === pageContext.locale);\n  const projectsNewsInsightsPageSlug = pageContext.slugs._allProjectsNewsInsightsPageSlugLocales[localeIndex].value;\n  useEffect(() => {\n    if (config.google_tag_manager_id) {\n      TagManager.initialize({ gtmId: config.google_tag_manager_id })\n      TagManager.dataLayer({\n        dataLayer: {\n          environment: process.env.NODE_ENV,\n          language: pageContext.locale,\n          pageTemplate: \"presentation\",\n        },\n      })\n    }\n  }, [])\n\n  const breadcrumb = [\n    {\n      link: data.datoCmsSlugsConfiguration.ourApproachPageSlug,\n      title: data.datoCmsOurApproachPage.headerTitle,\n    },\n  ]\n\n  return (\n    <Layout\n      pageContext={pageContext}\n      currentRoute={useSlugValue(pageContext.slugs._allOurApproachPageSlugLocales, pageContext.locale)}\n      headerConfig={data.datoCmsHeader}\n      footerConfig={data.datoCmsFooter}\n    >\n      \n      <div className={styles.ourApproach} style={{ backgroundColor: \"#162B44\" }}>\n        <Cover data={data.datoCmsOurApproachPage} />\n        <Intro data={data.datoCmsOurApproachPage} />\n\n        {/* select the right slug for the projectsNewsInsightsPageSlug depending on the locale, local is a string */}\n        <RichDatoCmsContent data={data.datoCmsOurApproachPage.richContent} locale={pageContext.locale} projectsNewsInsightsPageSlug={projectsNewsInsightsPageSlug}/>\n      </div>\n      <section className={stylesNewsletter.container}  style={{ marginTop: \"64px\" }}>\n        <div className={stylesNewsletter.iframe} id=\"newsletter\">\n          {pageContext.locale === pageContext.defaultLocale ? (\n            <iframe\n              title=\"Landing Page\"\n              src=\"https://f.inno.keolis.com/f/l/?q=BSLqpzmY16RtCSEShgohLdWayZ7VLugElOIBd2us19BPYmcYHtWnKpZ_ghOHlwepKS8vEt2XF5fgJVpUTxggfGgh-u3ecnw4-iMJYaJL4PUWZ0fQ30PVivkfxCsaGeXFURFY1n9rGUovvmn4gjhnLYdWzv1jAMrtWxpTPOZmjilw2he_luP-qSjZukWgwL7LDF2AE08YfAU1ZfHF9nGi1cx52MZS_6zv-5JbE27ctJ5w4kkP_keKx-Cw5tdC2TvE\"\n            />\n          ) : (\n            <iframe\n              title=\"Landing Page\"\n              src=\"https://f.inno.keolis.com/f/l/?q=BSLqpzmY16RtCSEShgohLTb9NHftVXSchI5U5X7tFck1wSvnK6Zju4LY9embQyGwFPQdea4JaeTvJx99yXHXclaUhOvyWW_WeYDVvlSeXvuqssfSD2RlonLzJpgW8R20QGbQNQqp7rusHzAE9gDZIjcD53XmVjJPoxHfCcN2-4__pURFfpdMI14KVPoBL9VUVewRCg07AwrLLZ33NS3YaE_sOSd8bVgxSs-DXSo3dHT9AsYS-1K3UrI9nal2LqNc\"\n            />\n          )}\n        </div>\n      </section>\n    </Layout>\n  )\n}\n\nexport const Head: React.FC<OurApproachProps> = ({ data, pageContext }) => {\n  const isBrowser = typeof window !== \"undefined\"\n  const defaultDomain = \"https://innovation.keolis.com\"\n  return (\n    isBrowser && (\n      <>\n        <SEO\n          title={data.datoCmsOurApproachPage.title}\n          description={data.datoCmsOurApproachPage.metaDescription}\n          locale={pageContext.locale}\n          noindex={data.datoCmsOurApproachPage.noindex}\n        />\n        {typeof window !== \"undefined\" && (\n          <HrefLangLinks\n            defaultDomain={window.location.origin}\n            defaultLocale={pageContext.defaultLocale}\n            slugs={[pageContext.slugs._allOurApproachPageSlugLocales]}\n          />\n        )}\n      </>\n    )\n  )\n}\n\nexport const pageQuery = graphql`\n  query OurApproachPage($locale: String!) {\n    datoCmsGlobalConfiguration {\n      locales\n    }\n    datoCmsSlugsConfiguration(locale: $locale) {\n      ourApproachPageSlug\n      projectsNewsInsightsPageSlug\n    }\n    datoCmsHeader(locale: $locale) {\n      ...HeaderFields\n    }\n    datoCmsFooter(locale: $locale) {\n      ...FooterFields\n    }\n    datoCmsOurApproachPage(locale: $locale) {\n      title\n      metaDescription\n      noindex\n      ...HeaderOurApproachFields\n      ...OurApproachCoverFields\n      ...OurApproachIntroFields\n      richContent {\n        ... on DatoCmsOurApproachContentBlock {\n          ...ContentBlockFields\n        }\n        ... on DatoCmsOurApproachKeyFigureRow {\n          ...OurApproachKeyFigureRowFields\n        }\n        ... on DatoCmsOurApproachLabMode {\n          ...OurApproachLabModeFields\n        }\n        ... on DatoCmsOurApproachHighlightedArticlesBlock {\n          ...OurApproachHighlightedArticlesBlockFields\n        }\n        ... on DatoCmsOurApproachAccordion {\n          ...OurApproachAccordionFields\n        }\n      }\n      ...OurApproachLatestProjectsFields\n    }\n\n    datoCmsHomePage(locale: $locale) {\n      ...PeopleWhoFields\n      ...LetsCollaborateFields\n    }\n  }\n`\n\nexport default OurApproach\n","// extracted by mini-css-extract-plugin\nexport var ourApproach = \"our-approach-module--ourApproach--77279\";","// extracted by mini-css-extract-plugin\nexport var arrow = \"newsletter-module--arrow--088a4\";\nexport var arrowContainer = \"newsletter-module--arrowContainer--f7928\";\nexport var circle = \"newsletter-module--circle--cb565\";\nexport var container = \"newsletter-module--container--5650b\";\nexport var content = \"newsletter-module--content--19d79\";\nexport var emailErrorMessage = \"newsletter-module--emailErrorMessage--0b697\";\nexport var emailInput = \"newsletter-module--emailInput--376c3\";\nexport var errorCircle = \"newsletter-module--errorCircle--da95e\";\nexport var errorMessage = \"newsletter-module--errorMessage--ac077\";\nexport var form = \"newsletter-module--form--975dd\";\nexport var formContainer = \"newsletter-module--formContainer--6a9a7\";\nexport var iframe = \"newsletter-module--iframe--10433\";\nexport var image = \"newsletter-module--image--78e87\";\nexport var label = \"newsletter-module--label--e702c\";\nexport var moveArrow = \"newsletter-module--moveArrow--1f9a8\";\nexport var submitButton = \"newsletter-module--submitButton--fedc4\";\nexport var subtitle = \"newsletter-module--subtitle--4c774\";\nexport var successMessage = \"newsletter-module--successMessage--ceb1e\";\nexport var title = \"newsletter-module--title--3a208\";"],"names":["obj","_warn","_warn2","__esModule","default","Snippets","tags","_ref","id","events","dataLayer","dataLayerName","preview","gtm_auth","auth","gtm_preview","iframe","script","JSON","stringify","slice","dataLayerVar","this","_dataLayer","module","exports","_Snippets","_Snippets2","TagManager","dataScript","document","createElement","innerHTML","gtm","args","snippets","noScript","noscript","initialize","gtmId","_ref$events","undefined","_ref$dataLayerName","_ref$auth","_ref$preview","head","appendChild","insertBefore","childNodes","body","_ref2","_ref2$dataLayerName","window","push","_TagManager","_TagManager2","Object","defineProperty","value","s","console","warn","_data$image$url","_data$image","_data$filterColor","_data$filterColor$hex","_data$filterColor2","_data$filterAlpha","_data$backgroundColor","_data$backgroundColor2","_data$textColor$hex","_data$textColor","_data$backgroundColor3","_data$backgroundColor4","data","React","className","style","backgroundImage","image","url","backgroundColor","filterColor","hex","hexToRgb","filterAlpha","titleImage","alt","src","subtitle","color","textColor","Banner","banner","introTitle","Intro","_React$useState","currentIndex","setCurrentIndex","styles","introDescription","ReactHtmlParser","sanitizeHtml","render","renderBlock","record","renderNode","adapter","renderInlineRecord","_ref3","href","slug","title","renderLinkToRecord","_ref4","children","fontSize","lineHeight","margin","sectionTitle","verbatim","tag","citation","name","role","onClick","prev","length","BackArrowSvg","ArrowSvg","Head","pageContext","SEO","datoCmsOurApproachPage","description","metaDescription","locale","noindex","HrefLangLinks","defaultDomain","location","origin","defaultLocale","slugs","_allOurApproachPageSlugLocales","localeIndex","_allProjectsNewsInsightsPageSlugLocales","findIndex","projectsNewsInsightsPageSlug","useEffect","config","google_tag_manager_id","environment","process","language","pageTemplate","datoCmsSlugsConfiguration","ourApproachPageSlug","headerTitle","Layout","currentRoute","useSlugValue","headerConfig","datoCmsHeader","footerConfig","datoCmsFooter","Cover","RichDatoCmsContent","richContent","stylesNewsletter","marginTop","container"],"sourceRoot":""}