{"version":3,"file":"component---src-v-3-templates-parent-page-parent-page-tsx-6b3694e5d7428e1afedc.js","mappings":"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","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":""}