{"version":3,"file":"component---src-v-3-templates-parent-page-parent-page-tsx-6b3694e5d7428e1afedc.js","mappings":"4JA6BA,EAjBsC,SAAHA,GAA6C,IAAvCC,EAAKD,EAALC,MAAOC,EAAKF,EAALE,MAAOC,EAAiBH,EAAjBG,kBACrD,OACEC,EAAAA,cAAA,OAAKC,UCbW,gCDcdD,EAAAA,cAAA,OAAKC,UAAcC,oCAAoBH,ECZf,yCDY6D,KACnFC,EAAAA,cAAA,MAAIC,UAAcC,gCAAgBH,ECVhB,qCDU0D,KAAOF,IAClFC,aAAK,EAALA,EAAOK,MACNH,EAAAA,cAAA,OACEI,IAAKN,EAAMK,IACXE,IAAKP,EAAMO,KAAO,GAClBJ,UAAcC,gCAAgBH,ECjBb,wCDiB0D,OAMvF,C,oFEzBWO,EAAsB,gDACtBC,EAAO,iCAEPC,EAAW,qC,sBC6CtB,EAtC0C,SAAHZ,GAA2C,IAArCC,EAAKD,EAALC,MAAOY,EAASb,EAATa,UAAWC,EAAWd,EAAXc,YACrDC,GAAWC,EAAAA,EAAAA,KAAXD,OACRE,GAA8CC,EAAAA,EAAAA,KAAtCC,EAAQF,EAARE,SAAUC,EAAuBH,EAAvBG,wBAElB,OACEhB,EAAAA,cAAA,MAAIC,UDhBgB,uCCgBc,wBAAsB,GACtDD,EAAAA,cAAA,UACEA,EAAAA,cAAA,KAAGC,UAAWC,EAAae,KAAMF,GAC9BN,IAGJC,aAAW,EAAXA,EAAaQ,KACZ,SAAAC,GAAU,OACRA,aAAU,EAAVA,EAAYtB,QACVG,EAAAA,cAAA,MAAIC,UAAWC,EAA4BkB,IAAKD,EAAWtB,OACzDG,EAAAA,cAAA,KAAGC,UAAWC,GAAkB,KAChCF,EAAAA,cAAA,KACEiB,KAAMD,EAAwBG,GAC9BlB,UAAWC,EACXmB,KAAiB,OAAXV,GAAwC,aAArBQ,EAAWtB,MAAuB,KAAO,MAEjEsB,EAAWtB,OAGjB,IAEJA,GACCG,EAAAA,cAAA,MAAIC,UAAWC,GACbF,EAAAA,cAAA,KAAGC,UAAWC,GAAkB,KAChCF,EAAAA,cAAA,KAAGC,UDrCS,qCCqCmBoB,KAAiB,OAAXV,GAA6B,aAAVd,EAAuB,KAAO,MACnFA,IAMb,C,+FCnCayB,EAAsC,SAAH1B,GAQzC,IAPLE,EAAKF,EAALE,MACAyB,EAAQ3B,EAAR2B,SACAC,EAAQ5B,EAAR4B,SACAC,EAAc7B,EAAd6B,eACAC,EAAkB9B,EAAlB8B,mBACAC,EAAM/B,EAAN+B,OACAC,EAAUhC,EAAVgC,WAEA,MAAwB,QAAjB9B,EAAM+B,OACX7B,EAAAA,cAAC8B,EAAAA,EAAQ,CACP1B,IAAKN,EAAMK,IACX4B,OAAQH,GAAc,OACtB3B,UAAWsB,EACX,eAAa,EACbS,KAAMN,GAAsB,OAC5BO,gBAAiB,SAAAC,GACfA,EAAIC,aAAa,MAAOrC,EAAMO,KAAO,IACjCoB,GACFS,EAAIE,cAAc,QAAQD,aAAa,OAAQV,GAE7CE,GACFO,EAAIC,aAAa,YAAa,UAElC,IAGFnC,EAAAA,cAAA,OAAKI,IAAKN,EAAMK,IAAKE,IAAKP,EAAMO,KAAO,GAAIJ,UAAWuB,EAAU,eAAa,GAEjF,C,0GCIaa,EAA8C,SAAHzC,GAMjD,IALL0C,EAAa1C,EAAb0C,cACAC,EAAO3C,EAAP2C,QACAC,EAAa5C,EAAb4C,cACAC,EAAK7C,EAAL6C,MACAC,EAAW9C,EAAX8C,YAqBA,OAFAH,EAAUA,GAAWI,EAAAA,QAGnB3C,EAAAA,cAAAA,EAAAA,SAAA,KACGuC,EAAQrB,KAAI,SAAAP,GACX,IAAMiC,EAtBS,SAACjC,GACpB2B,EAAgBA,EAAcO,SAAS,KAAOP,EAAgBA,EAAgB,IAC9E,IAAMQ,EAAWN,IAAkB7B,EAAS2B,EAAa,GAAMA,EAAgB3B,EAAM,IACrF,OAAK8B,GAAUC,EAGXA,EAGI,GAAII,GADVJ,GADAA,EAAcA,EAAYK,WAAW,KAAOL,EAAYM,UAAU,GAAKN,GAC7CG,SAAS,KAAOH,EAAcA,EAAc,KAMlE,GAAII,GAHQL,aAAK,EAALA,EAAOvB,KAAI,SAAA+B,GAC3B,OAAOC,EAAAA,EAAAA,GAAaD,EAAMtC,EAC5B,KAC+BwC,KAAK,KAAI,IAV/BL,CAWX,CAOmBM,CAAazC,GAC1B,OACEX,EAAAA,cAACqD,EAAAA,SAAQ,CAACjC,IAAKwB,GACb5C,EAAAA,cAAA,QAAMsD,IAAI,YAAYC,SAAU5C,EAAQM,KAAM2B,IAC7CJ,IAAkB7B,GAAUX,EAAAA,cAAA,QAAMsD,IAAI,YAAYC,SAAS,YAAYtC,KAAM2B,IAGpF,IAGN,C,oFCjFW,EAAQ,oC,0CCuJnB,EA9I4C,SAAHhD,GAAwC,IAAlC4D,EAAI5D,EAAJ4D,KAAIC,EAAA7D,EAAE8D,aAAAA,OAAY,IAAAD,GAAQA,EACvEE,GAAkC/C,EAAAA,EAAAA,KAA1BD,EAAMgD,EAANhD,OAAQ6B,EAAamB,EAAbnB,cAEhB,OACExC,EAAAA,cAAA,OAAKC,UAAcC,6CAAuBwD,GDPf,kDCQxBF,EAAKI,aAAa1C,KAAI,SAAC2C,EAAOC,GAC7B,IAAAC,GAAkCC,EAAAA,EAAAA,UAAS,MAApCC,EAAaF,EAAA,GAAEG,EAAQH,EAAA,GAGxBI,EAAgBF,IAAkBH,EAExC,OACE9D,EAAAA,cAAA,OACEC,UAAW6D,EAAQ,GAAM,EDxBhB,sCACQ,8CCwBjB1C,IAAKyC,EAAMO,GACXC,MAAO,CAAE,gBAAiBR,EAAMS,aAAaC,MAE5CV,EAAMW,YACLxE,EAAAA,cAAA,OAAKC,UD1BO,4CC2BVD,EAAAA,cAACsB,EAAAA,EAAY,CAACxB,MAAO+D,EAAMW,WAAYjD,SAAUrB,EAAcsB,SAAUtB,KAG7EF,EAAAA,cAAA,OAAKC,UD7BQ,2CC8BV4D,EAAMY,YAAczE,EAAAA,cAAA,MAAIC,UDtBpB,qCCsB8C4D,EAAMY,YACxDZ,EAAMa,OACL1E,EAAAA,cAAA,OAAK2E,wBAAyB,CAAEC,OAAQC,IAAahB,EAAMa,QAAUzE,UDrClE,sCCuCLD,EAAAA,cAAA,KACEC,UDlCE,mCCmCFgB,KACEN,IAAW6B,EAAa,IAAOqB,EAAMiB,WAAW,GAAG7B,KAAI,IAAStC,EAAM,IAAIkD,EAAMiB,WAAW,GAAG7B,KAEhG8B,OAAO,QACPV,MAAO,CAAEW,MAAOb,EAAa,GAAMN,EAAMS,aAAaC,IAAG,YAEzDvE,EAAAA,cAAA,OACEC,UDzCO,0CC0CPgF,aAAc,kBA9BoBf,EA8BKJ,EAAM,EAC7CoB,aA9BiB,WAAH,OAAShB,EAAS,KAAK,EA+BrCiB,SAAU,EACVd,MAAO,CACLe,gBAAiBjB,EAAa,aAAkBN,EAAMS,aAAaC,IACnES,MAAOb,EAAa,GAAMN,EAAMS,aAAaC,IAAG,UAChDc,OAAQlB,GAAa,eAAmBN,EAAMS,aAAaC,MAG7DvE,EAAAA,cAAA,KAAGC,UDlDQ,+CCkD4B4D,EAAMyB,qBAMzD,IAGN,C,6NChBaC,EAA8B,SAAHC,GAAA,IAAMhC,EAAIgC,EAAJhC,KAAMiC,EAAWD,EAAXC,YAAW,OAC7DzF,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAC0F,EAAAA,EAAG,CACF7F,MAAO2D,EAAKmC,kBAAkBC,SAC9BC,YAAarC,EAAKmC,kBAAkBG,gBACpCC,QAASvC,EAAKmC,kBAAkBI,QAChCpF,QAAQqF,EAAAA,EAAAA,GAAgBP,EAAY9E,UAEnB,oBAAXsF,QACNjG,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,QACEsD,IAAI,YACJrC,KAAMuC,EAAKmC,kBAAkBO,YAAc1C,EAAKmC,kBAAkBQ,aAAeF,OAAOG,SAASnF,OAEnGjB,EAAAA,cAACqC,EAAAA,EAAa,CACZC,cAAe2D,OAAOG,SAASC,OAC/B7D,cAAeiD,EAAYjD,cAC3BC,MAAO,CAACgD,EAAYhD,MAAM6D,0BAA2Bb,EAAYc,mBAItE,EAgEL,EAjH0C,SAAH3G,GAAwC,IAAlC4D,EAAI5D,EAAJ4D,KAAM4C,EAAQxG,EAARwG,SAAUX,EAAW7F,EAAX6F,YACrDe,GAAWC,EAAAA,EAAAA,KAEjB,OACEzG,EAAAA,cAAC0G,EAAAA,EAAM,CACLjB,YAAaA,EACbW,SAAUA,EACVO,OAAQnD,EAAKoD,gBACbC,OAAQrD,EAAKsD,cACbC,eAAgBvD,EAAKwD,2BAA2BD,eAChDE,cAAezD,EAAK0D,uBACpBC,cAAcjE,EAAAA,EAAAA,GAAauC,EAAYhD,MAAM6D,0BAA2Bb,EAAY9E,QACpFyG,aAAa,SACbb,eAAgBd,EAAYc,gBAE5BvG,EAAAA,cAACqH,EAAAA,EAAM,CAACxH,MAAO2D,EAAKmC,kBAAkB9F,MAAOC,MAAO0D,EAAKmC,kBAAkB7F,QAE3EE,EAAAA,cAAA,WAASC,UCxCQ,yCDyCbuG,GACAxG,EAAAA,cAACsH,EAAAA,EAAU,CAACzH,MAAO2D,EAAKmC,kBAAkB9F,MAAOY,UAAW+C,EAAKwD,2BAA2BO,gBAG9FvH,EAAAA,cAACwH,EAAAA,EAAY,CAAChE,KAAMA,EAAKmC,kBAAmBjC,cAAc,KAIlE,C,qFE8BA,IAnEY,SAAH9D,GAAiD,IAAD6H,EAAAC,EAA1C7H,EAAKD,EAALC,MAAOgG,EAAWjG,EAAXiG,YAAalF,EAAMf,EAANe,OAAQoF,EAAOnG,EAAPmG,QACjC4B,GAAgBC,EAAAA,EAAAA,IAAe,cAA/BD,YAgBF7B,EAAkBD,GAAe8B,EAAYE,UAAUC,YAAYjC,YACnEkC,EAAeJ,EAAYE,UAAUG,UAAYL,EAAYE,UAAUC,YAAYjI,MACnFoI,EAAiBF,EAAkBpF,EAAAA,UAAgB,MAAMoF,EAAiBpF,EAAAA,UAC1EuF,EAAiBrI,GAASoI,EAC1BE,EAAQxH,EAAOkC,SAAS,OAE9B,OACE7C,EAAAA,cAAAA,EAAAA,SAAA,KACGmI,EAAQnI,EAAAA,cAAA,QAAMqB,KAAMV,EAAQyH,IAAK,QAAYpI,EAAAA,cAAA,QAAMqB,KAAMV,IAC1DX,EAAAA,cAAA,aAAQkI,GACRlI,EAAAA,cAAA,QAAMqI,KAAK,cAAcC,QAASxC,IAClC9F,EAAAA,cAAA,QAAMuI,SAAS,WAAWD,QAASJ,IACnClI,EAAAA,cAAA,QAAMuI,SAAS,iBAAiBD,QAASxC,IACzC9F,EAAAA,cAAA,QAAMuI,SAAS,UAAUD,QAAQ,YACjCtI,EAAAA,cAAA,QAAMqI,KAAK,eAAeC,QAAQ,YAClCtI,EAAAA,cAAA,QAAMqI,KAAK,kBAAkBC,QAAQ,YACrCtI,EAAAA,cAAA,QAAMqI,KAAK,gBAAgBC,QAASJ,IACpClI,EAAAA,cAAA,QAAMqI,KAAK,sBAAsBC,QAASxC,IAC1C9F,EAAAA,cAAA,QAAMqI,KAAK,SAASC,QAASvC,EAAU,UAAY,UAElD4B,SAA4B,QAAjBF,EAAXE,EAAaa,uBAAe,IAAAf,GAAM,QAANC,EAA5BD,EAA8BgB,YAAI,IAAAf,OAAvB,EAAXA,EAAoCxG,KAAI,SAACuH,EAAM3E,GAC9C,MAAwB,SAAjB2E,EAAKC,QACV1I,EAAAA,cAAA,QACEoB,IAAQqH,EAAKE,WAAW1H,KAAI,IAAIwH,EAAKE,WAAWrF,IAAG,IAAIQ,EAAK,IAC5DR,IAAKmF,EAAKE,WAAWrF,KAAO,GAC5BsF,MAAOH,EAAKE,WAAWC,OAAS,GAChCC,KAAMJ,EAAKE,WAAWE,MAAQ,GAC9B5H,KAAMwH,EAAKE,WAAW1H,MAAQ,KAGhCjB,EAAAA,cAAA,QACEoB,IAAQqH,EAAKE,WAAW1H,KAAI,IAAIwH,EAAKE,WAAWrF,IAAG,IAAIQ,EAAK,IAC5DuE,KAAMI,EAAKE,WAAWN,MAAQ,GAC9BC,QAASG,EAAKE,WAAWL,SAAW,IAG1C,IAEC3F,EAAAA,uBAA+BmG,EAAAA,EAAAA,MAC/BnG,EAAAA,wBAAgCoG,EAAAA,EAAAA,MAGvC,C","sources":["webpack://keolis.com/./src/v3/components/banner/banner.tsx","webpack://keolis.com/./src/v3/components/banner/banner.module.scss","webpack://keolis.com/./src/v3/components/breadcrumb/breadcrumb.module.scss","webpack://keolis.com/./src/v3/components/breadcrumb/breadcrumb.tsx","webpack://keolis.com/./src/v3/components/display-image/display-image.tsx","webpack://keolis.com/./src/v3/components/hrefLangLinks/hrefLangLinks.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/presentation/presentation.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/presentation/presentation.tsx","webpack://keolis.com/./src/v3/templates/parent-page/parent-page.tsx","webpack://keolis.com/./src/v3/templates/parent-page/parent-page.module.scss","webpack://keolis.com/./src/v3/components/seo/seo.js"],"sourcesContent":["import React from \"react\"\nimport * as styles from \"./banner.module.scss\"\n\ntype RenderProps = {\n title: string\n image?: {\n alt?: string\n url?: string\n }\n isFullscreenImage?: boolean\n}\n\nconst Banner: React.FC<RenderProps> = ({ title, image, isFullscreenImage }) => {\n return (\n <div className={styles.banner}>\n <div className={`${styles.container} ${isFullscreenImage ? styles.fullscreenBanner : \"\"}`}>\n <h1 className={`${styles.title} ${isFullscreenImage ? styles.overlayTitle : \"\"}`}>{title}</h1>\n {image?.url && (\n <img\n src={image.url}\n alt={image.alt || \"\"}\n className={`${styles.image} ${isFullscreenImage ? styles.fullscreenImage : \"\"}`}\n />\n )}\n </div>\n </div>\n )\n}\n\nexport default Banner\n","// extracted by mini-css-extract-plugin\nexport var banner = \"banner-module--banner--229be\";\nexport var container = \"banner-module--container--4e0c9\";\nexport var fullscreenBanner = \"banner-module--fullscreenBanner--c6525\";\nexport var fullscreenImage = \"banner-module--fullscreenImage--b2b8e\";\nexport var image = \"banner-module--image--75459\";\nexport var overlayTitle = \"banner-module--overlayTitle--30faf\";\nexport var title = \"banner-module--title--b50c6\";","// extracted by mini-css-extract-plugin\nexport var breadcrumb = \"breadcrumb-module--breadcrumb--a05f8\";\nexport var breadcrumbContainer = \"breadcrumb-module--breadcrumbContainer--19e9a\";\nexport var home = \"breadcrumb-module--home--2f79d\";\nexport var lastPage = \"breadcrumb-module--lastPage--dd27b\";\nexport var pElement = \"breadcrumb-module--pElement--155b5\";","import React from \"react\"\nimport { InternalExternalLinkBlockFieldsFragment } from \"../../../../graphql-types\"\nimport * as styles from \"./breadcrumb.module.scss\"\nimport { useLocale } from \"../../context/locale-context\"\nimport { useSlugs } from \"../../context/slugs-context\"\n\ntype RenderProps = {\n title: string\n homeLabel: string\n middlePages?: InternalExternalLinkBlockFieldsFragment[]\n}\n\nconst Breadcrumb: React.FC<RenderProps> = ({ title, homeLabel, middlePages }) => {\n const { locale } = useLocale()\n const { homeLink, getInternalExternalLink } = useSlugs()\n\n return (\n <ul className={styles.breadcrumb} data-datocms-noindex={true}>\n <li>\n <a className={styles.home} href={homeLink}>\n {homeLabel}\n </a>\n </li>\n {middlePages?.map(\n middlePage =>\n middlePage?.title && (\n <li className={styles.breadcrumbContainer} key={middlePage.title}>\n <p className={styles.pElement}>{\">\"}</p>\n <a\n href={getInternalExternalLink(middlePage)}\n className={styles.home}\n lang={locale !== \"en\" && middlePage.title === \"Newsroom\" ? \"en\" : null}\n >\n {middlePage.title}\n </a>\n </li>\n )\n )}\n {title && (\n <li className={styles.breadcrumbContainer}>\n <p className={styles.pElement}>{\">\"}</p>\n <p className={styles.lastPage} lang={locale !== \"en\" && title === \"Newsroom\" ? \"en\" : null}>\n {title}\n </p>\n </li>\n )}\n </ul>\n )\n}\n\nexport default Breadcrumb\n","import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\n\ntype RenderProps = {\n image: FileField\n svgStyle?: string\n imgStyle?: string\n pictogramColor?: string\n fillPictogramColor?: string\n isLogo?: boolean\n heightSize?: number\n}\n\nexport const DisplayImage: React.FC<RenderProps> = ({\n image,\n svgStyle,\n imgStyle,\n pictogramColor,\n fillPictogramColor,\n isLogo,\n heightSize,\n}) => {\n return image.format === \"svg\" ? (\n <ReactSVG\n src={image.url}\n height={heightSize || \"none\"}\n className={svgStyle}\n aria-hidden={true}\n fill={fillPictogramColor || \"none\"}\n beforeInjection={svg => {\n svg.setAttribute(\"alt\", image.alt || \"\")\n if (pictogramColor) {\n svg.querySelector(\"path\").setAttribute(\"fill\", pictogramColor)\n }\n if (isLogo) {\n svg.setAttribute(\"objectFit\", \"contain\")\n }\n }}\n />\n ) : (\n <img src={image.url} alt={image.alt || \"\"} className={imgStyle} aria-hidden={true} />\n )\n}\n","import React, { Fragment } from \"react\"\nimport * as config from \"../../../../config\"\nimport { useSlugValue } from \"../../hooks\"\n\ntype HrefLangLinksProps = {\n defaultDomain: string\n defaultLocale: string\n locales?: string[]\n slugs?: object[]\n manualSlugs?: string\n}\n\n/**\n * This component generates <link> tags for international SEO using \"hreflang\" attributes.\n *\n * @param {string} defaultDomain - The site's default domain.\n * @param {string} defaultLocale - The site's default locale.\n * @param {string[]} locales - An optional list of locales supported by the site. If not provided, the component will use config.locales.\n * @param {object[]} [slugs] - An optional list of an object's slugs for each locale.\n * @param {string} [manualSlugs] - An optional string of slugs to use instead of the slugs generated from the slugs prop.\n *\n * @example\n * Suppose we have a site supporting the \"fr\" and \"en\" locales, with \"fr\" being the default.\n *\n * ```jsx\n * <HrefLangLinks\n * defaultDomain=\"https://keolis.com/\"\n * locales={data.datoCmsGlobalConfiguration.locales}\n * defaultLocale={pageContext.defaultLocale}\n * slugs={[\n * pageContext.slugs._allNewsroomPageSlugLocales,\n * pageContext.slugs._allNewsPageSlugLocales,\n * pageContext.allSlugLocales,\n * ]}\n * />\n * ```\n *\n * The component would generate the following tags:\n *\n * ```html\n * <link rel=\"alternate\" hreflang=\"en\" href=\"https://keolis.com/en/newsroom-en/news/keolis-contracts-renewed-in-chauny-and-dole-france\" data-gatsby-head=\"true\">\n * <link rel=\"alternate\" hreflang=\"fr\" href=\"https://keolis.com/newsroom/actualites/keolis-renouvele-a-chauny-et-a-dole-france\" data-gatsby-head=\"true\">\n * <link rel=\"alternate\" hreflang=\"x-default\" href=\"https://keolis.com/newsroom/actualites/keolis-renouvele-a-chauny-et-a-dole-france\" data-gatsby-head=\"true\">\n * ```\n */\n\nexport const HrefLangLinks: React.FC<HrefLangLinksProps> = ({\n defaultDomain,\n locales,\n defaultLocale,\n slugs,\n manualSlugs,\n}) => {\n const generatePath = (locale: string) => {\n defaultDomain = defaultDomain.endsWith(\"/\") ? defaultDomain : defaultDomain + \"/\"\n const basePath = defaultLocale === locale ? defaultDomain : `${defaultDomain}${locale}/`\n if (!slugs && !manualSlugs) {\n return basePath\n }\n if (manualSlugs) {\n manualSlugs = manualSlugs.startsWith(\"/\") ? manualSlugs.substring(1) : manualSlugs\n manualSlugs = manualSlugs.endsWith(\"/\") ? manualSlugs : manualSlugs + \"/\"\n return `${basePath}${manualSlugs}`\n }\n const pathSlugs = slugs?.map(slug => {\n return useSlugValue(slug, locale)\n })\n return `${basePath}${pathSlugs.join(\"/\")}/`\n }\n\n locales = locales || config.locales\n\n return (\n <>\n {locales.map(locale => {\n const path = generatePath(locale)\n return (\n <Fragment key={path}>\n <link rel=\"alternate\" hrefLang={locale} href={path} />\n {defaultLocale === locale && <link rel=\"alternate\" hrefLang=\"x-default\" href={path} />}\n </Fragment>\n )\n })}\n </>\n )\n}\n","// extracted by mini-css-extract-plugin\nexport var chapo = \"presentation-module--chapo--10519\";\nexport var content = \"presentation-module--content--05a2c\";\nexport var contentReversed = \"presentation-module--contentReversed--722b0\";\nexport var image = \"presentation-module--image--5b346\";\nexport var imageWrapper = \"presentation-module--imageWrapper--ff33d\";\nexport var information = \"presentation-module--information--b76ff\";\nexport var link = \"presentation-module--link--07b31\";\nexport var linkContent = \"presentation-module--linkContent--6356b\";\nexport var linkContentText = \"presentation-module--linkContentText--cdf70\";\nexport var parentPagePadding = \"presentation-module--parentPagePadding--a0f02\";\nexport var presentation = \"presentation-module--presentation--3113b\";\nexport var selectedPageContent = \"presentation-module--selectedPageContent--cdc6f\";\nexport var selectedPageContentReversed = \"presentation-module--selectedPageContentReversed--89dd2\";\nexport var title = \"presentation-module--title--70edc\";","import React, { useState } from \"react\"\nimport { graphql } from \"gatsby\"\nimport { V3PresentationTypePageFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./presentation.module.scss\"\nimport sanitizeHtml from \"sanitize-html\"\nimport { DisplayImage } from \"../../display-image/display-image\"\nimport { useLocale } from \"../../../context/locale-context\"\n\ntype RenderProps = {\n data: V3PresentationTypePageFieldsFragment\n isParentPage?: boolean\n}\n\nconst Presentation: React.FC<RenderProps> = ({ data, isParentPage = false }) => {\n const { locale, defaultLocale } = useLocale()\n\n return (\n <div className={`${styles.presentation} ${isParentPage && styles.parentPagePadding}`}>\n {data.presentation.map((block, index) => {\n const [indexSelected, setIndex] = useState(null)\n const mouseEnterListener = (idx: number) => setIndex(idx)\n const mouseLeaveListener = () => setIndex(null)\n const shouldHovered = indexSelected === index\n\n return (\n <div\n className={index % 2 === 0 ? styles.content : styles.contentReversed}\n key={block.id}\n style={{ \"--block-color\": block.v3BlockColor.hex } as React.CSSProperties}\n >\n {block.blockImage && (\n <div className={styles.imageWrapper}>\n <DisplayImage image={block.blockImage} svgStyle={styles.image} imgStyle={styles.image} />\n </div>\n )}\n <div className={styles.information}>\n {block.blockTitle && <h3 className={styles.title}>{block.blockTitle}</h3>}\n {block.chapo && (\n <div dangerouslySetInnerHTML={{ __html: sanitizeHtml(block.chapo) }} className={styles.chapo} />\n )}\n <a\n className={styles.link}\n href={\n locale === defaultLocale ? `/${block.linkToPage[0].slug}` : `/${locale}/${block.linkToPage[0].slug}`\n }\n target=\"_self\"\n style={{ color: shouldHovered ? `${block.v3BlockColor.hex}` : `#ffffff` }}\n >\n <div\n className={styles.linkContent}\n onMouseEnter={() => mouseEnterListener(index)}\n onMouseLeave={mouseLeaveListener}\n tabIndex={0}\n style={{\n backgroundColor: shouldHovered ? `#ffffff` : `${block.v3BlockColor.hex}`,\n color: shouldHovered ? `${block.v3BlockColor.hex}` : `#ffffff`,\n border: shouldHovered && `0.5px solid ${block.v3BlockColor.hex}`,\n }}\n >\n <p className={styles.linkContentText}>{block.actionButtonText}</p>\n </div>\n </a>\n </div>\n </div>\n )\n })}\n </div>\n )\n}\n\nexport const fragment = graphql`\n fragment V3PresentationTypePageFields on DatoCmsPresentation {\n id\n presentation {\n ...V3PresentationBlockFields\n }\n }\n\n fragment V3PresentationParentPageFields on DatoCmsParentPage {\n id\n presentation {\n ...V3PresentationBlockFields\n }\n }\n\n fragment V3PresentationBlockFields on DatoCmsPresentationBlock {\n id\n v3BlockColor {\n hex\n }\n actionButtonText\n blockTitle\n blockImage {\n alt\n format\n title\n url\n }\n chapo\n linkToPage {\n ... on DatoCmsParentPage {\n id\n title\n subtitle\n chapo\n slug\n image {\n alt\n format\n title\n url\n }\n }\n ... on DatoCmsPage {\n id\n title\n subtitle\n chapo\n slug\n image {\n alt\n format\n title\n url\n }\n }\n ... on DatoCmsPressRelease {\n id\n title\n subtitle\n chapo\n slug\n image {\n alt\n format\n title\n url\n }\n }\n ... on DatoCmsNews {\n id\n title\n chapo\n slug\n image {\n alt\n format\n title\n url\n }\n }\n }\n }\n`\n\nexport default Presentation\n","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { DatoCmsSlugsConfiguration, ParentPageQuery } from \"../../../../graphql-types\"\nimport * as styles from \"./parent-page.module.scss\"\nimport { useFormatLocale, useIsMobile, useSlugValue } from \"../../hooks\"\nimport Layout from \"../../components/layout/layout\"\nimport Breadcrumb from \"../../components/breadcrumb/breadcrumb\"\nimport Banner from \"../../components/banner/banner\"\nimport Presentation from \"../../components/rich-dato-cms-content/presentation/presentation\"\nimport SEO from \"../../components/seo/seo\"\nimport { HrefLangLinks } from \"../../components/hrefLangLinks/hrefLangLinks\"\n\ntype RenderProps = {\n data: ParentPageQuery\n location: Location\n pageContext: {\n id: string\n locale: string\n defaultLocale: string\n slugs: DatoCmsSlugsConfiguration\n allSlugLocales: { locale: string; value: string }[]\n }\n}\n\nconst ParentPage: React.FC<RenderProps> = ({ data, location, pageContext }) => {\n const isMobile = useIsMobile()\n\n return (\n <Layout\n pageContext={pageContext}\n location={location}\n header={data.datoCmsV3Header}\n footer={data.datoCmsFooter}\n subsidiaryLogo={data.datoCmsGlobalConfiguration.subsidiaryLogo}\n contactButton={data.datoCmsV3ContactButton}\n currentRoute={useSlugValue(pageContext.slugs._allPageParentSlugLocales, pageContext.locale)}\n pageTemplate=\"parent\"\n allSlugLocales={pageContext.allSlugLocales}\n >\n <Banner title={data.datoCmsParentPage.title} image={data.datoCmsParentPage.image} />\n\n <section className={styles.container}>\n {!isMobile && (\n <Breadcrumb title={data.datoCmsParentPage.title} homeLabel={data.datoCmsGlobalConfiguration.homePageTitle} />\n )}\n\n <Presentation data={data.datoCmsParentPage} isParentPage={true} />\n </section>\n </Layout>\n )\n}\n\nexport const Head: React.FC<RenderProps> = ({ data, pageContext }) => (\n <>\n <SEO\n title={data.datoCmsParentPage.titleTag}\n description={data.datoCmsParentPage.metaDescription}\n noindex={data.datoCmsParentPage.noindex}\n locale={useFormatLocale(pageContext.locale)}\n />\n {typeof window !== \"undefined\" && (\n <>\n <link\n rel=\"canonical\"\n href={data.datoCmsParentPage.isCanonical ? data.datoCmsParentPage.urlCanonical : window.location.href}\n />\n <HrefLangLinks\n defaultDomain={window.location.origin}\n defaultLocale={pageContext.defaultLocale}\n slugs={[pageContext.slugs._allPageParentSlugLocales, pageContext.allSlugLocales]}\n />\n </>\n )}\n </>\n)\n\nexport const pageQuery = graphql`\n query ParentPage($locale: String!, $id: String!) {\n datoCmsGlobalConfiguration(locale: $locale) {\n metaDescription\n homePageTitle\n subsidiaryLogo {\n alt\n format\n originalId\n url\n }\n }\n\n datoCmsV3Header(locale: $locale) {\n ...V3HeaderFields\n }\n datoCmsFooter(locale: $locale) {\n ...FooterFields\n }\n datoCmsV3ContactButton(locale: $locale) {\n ...V3ContactButtonFields\n }\n\n datoCmsParentPage(locale: $locale, id: { eq: $id }) {\n ...V3ParentPageFields\n }\n }\n`\n\nexport const fragment = graphql`\n fragment V3ParentPageFields on DatoCmsParentPage {\n id\n titleTag\n metaDescription\n noindex\n isCanonical\n urlCanonical\n title\n subtitle\n colorTitle {\n hex\n }\n colorSubtitle {\n hex\n }\n slug\n image {\n alt\n format\n title\n url\n }\n chapo\n # button {\n # ...ParentPageButtonFields\n # }\n ...V3PresentationParentPageFields\n displayMobility\n }\n`\n\nexport default ParentPage\n","// extracted by mini-css-extract-plugin\nexport var container = \"parent-page-module--container--41bcd\";","/**\n * SEO component that queries for data with\n * Gatsby's useStaticQuery React hook\n *\n * See: https://www.gatsbyjs.com/docs/use-static-query/\n */\n\nimport React from \"react\"\nimport { graphql, useStaticQuery } from \"gatsby\"\nimport * as config from \"../../../../config\"\nimport PropTypes from \"prop-types\"\nimport { enableGoogleAnalytics, enableGoogleTagManagerHead } from \"../layout/header/header\"\n\nconst SEO = ({ title, description, locale, noindex }) => {\n const { datoCmsSite } = useStaticQuery(graphql`\n query {\n datoCmsSite {\n faviconMetaTags {\n tags\n }\n globalSeo {\n fallbackSeo {\n description\n title\n }\n siteName\n }\n }\n }\n `)\n const metaDescription = description || datoCmsSite.globalSeo.fallbackSeo.description\n const defaultTitle = datoCmsSite.globalSeo.siteName || datoCmsSite.globalSeo.fallbackSeo.title\n const formattedTitle = defaultTitle ? `${config.site_name} | ${defaultTitle}` : config.site_name\n const titleDisplayed = title || formattedTitle\n const isRtl = locale.endsWith(\"-ar\")\n\n return (\n <>\n {isRtl ? <html lang={locale} dir={\"rtl\"} /> : <html lang={locale} />}\n <title>{titleDisplayed}</title>\n <meta name=\"description\" content={metaDescription} />\n <meta property=\"og:title\" content={titleDisplayed} />\n <meta property=\"og:description\" content={metaDescription} />\n <meta property=\"og:type\" content=\"website\" />\n <meta name=\"twitter:card\" content=\"summary\" />\n <meta name=\"twitter:creator\" content=\"twitter\" />\n <meta name=\"twitter:title\" content={titleDisplayed} />\n <meta name=\"twitter:description\" content={metaDescription} />\n <meta name=\"robots\" content={noindex ? \"noindex\" : \"index\"} />\n\n {datoCmsSite?.faviconMetaTags?.tags?.map((tags, index) => {\n return tags.tagName === \"link\" ? (\n <link\n key={`${tags.attributes.href} ${tags.attributes.rel} ${index} `}\n rel={tags.attributes.rel || \"\"}\n sizes={tags.attributes.sizes || \"\"}\n type={tags.attributes.type || \"\"}\n href={tags.attributes.href || \"\"}\n />\n ) : (\n <meta\n key={`${tags.attributes.href} ${tags.attributes.rel} ${index} `}\n name={tags.attributes.name || \"\"}\n content={tags.attributes.content || \"\"}\n />\n )\n })}\n\n {config.google_analytics_key && enableGoogleAnalytics()}\n {config.google_tag_manager_id && enableGoogleTagManagerHead()}\n </>\n )\n}\nSEO.propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n locale: PropTypes.string.isRequired,\n noindex: PropTypes.bool,\n}\n\nexport default SEO\n"],"names":["_ref","title","image","isFullscreenImage","React","className","styles","url","src","alt","breadcrumbContainer","home","pElement","homeLabel","middlePages","locale","useLocale","_useSlugs","useSlugs","homeLink","getInternalExternalLink","href","map","middlePage","key","lang","DisplayImage","svgStyle","imgStyle","pictogramColor","fillPictogramColor","isLogo","heightSize","format","ReactSVG","height","fill","beforeInjection","svg","setAttribute","querySelector","HrefLangLinks","defaultDomain","locales","defaultLocale","slugs","manualSlugs","config","path","endsWith","basePath","startsWith","substring","slug","useSlugValue","join","generatePath","Fragment","rel","hrefLang","data","_ref$isParentPage","isParentPage","_useLocale","presentation","block","index","_useState","useState","indexSelected","setIndex","shouldHovered","id","style","v3BlockColor","hex","blockImage","blockTitle","chapo","dangerouslySetInnerHTML","__html","sanitizeHtml","linkToPage","target","color","onMouseEnter","onMouseLeave","tabIndex","backgroundColor","border","actionButtonText","Head","_ref2","pageContext","SEO","datoCmsParentPage","titleTag","description","metaDescription","noindex","useFormatLocale","window","isCanonical","urlCanonical","location","origin","_allPageParentSlugLocales","allSlugLocales","isMobile","useIsMobile","Layout","header","datoCmsV3Header","footer","datoCmsFooter","subsidiaryLogo","datoCmsGlobalConfiguration","contactButton","datoCmsV3ContactButton","currentRoute","pageTemplate","Banner","Breadcrumb","homePageTitle","Presentation","_datoCmsSite$faviconM","_datoCmsSite$faviconM2","datoCmsSite","useStaticQuery","globalSeo","fallbackSeo","defaultTitle","siteName","formattedTitle","titleDisplayed","isRtl","dir","name","content","property","faviconMetaTags","tags","tagName","attributes","sizes","type","enableGoogleAnalytics","enableGoogleTagManagerHead"],"sourceRoot":""}