{"version":3,"file":"component---src-v-3-templates-home-home-tsx-b76c26b4f0a40d793f27.js","mappings":"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","sources":["webpack://keolis.com/./src/v3/components/highlight/card/card.tsx","webpack://keolis.com/./src/v3/components/highlight/card/card.module.scss","webpack://keolis.com/./src/v3/components/highlight/highlight.tsx","webpack://keolis.com/./src/v3/components/highlight/highlight.module.scss","webpack://keolis.com/./src/v3/components/home/recruitment/carousel/carousel.tsx","webpack://keolis.com/./src/v3/components/home/recruitment/carousel/carousel.module.scss","webpack://keolis.com/./src/v3/components/home/recruitment/recruitment.tsx","webpack://keolis.com/./src/v3/components/home/recruitment/recruitment.module.scss","webpack://keolis.com/./src/v3/components/home/thematic/thematic.tsx","webpack://keolis.com/./src/v3/components/home/thematic/thematic.module.scss","webpack://keolis.com/./src/v3/components/key-figures/key-figures.module.scss","webpack://keolis.com/./src/v3/components/key-figures/key-figures.tsx","webpack://keolis.com/./src/v3/components/media-cards/card/card-image/card-image.tsx","webpack://keolis.com/./src/v3/components/media-cards/card/card-image/card-image.module.scss","webpack://keolis.com/./src/v3/components/media-cards/card/card-svg/card-svg.module.scss","webpack://keolis.com/./src/v3/components/media-cards/card/card-svg/card-svg.tsx","webpack://keolis.com/./src/v3/components/media-cards/card/card-split/card-split.tsx","webpack://keolis.com/./src/v3/components/media-cards/card/card-split/card-split.module.scss","webpack://keolis.com/./src/v3/components/media-cards/card/card.tsx","webpack://keolis.com/./src/v3/components/media-cards/card/card.module.scss","webpack://keolis.com/./src/v3/components/media-cards/media-cards.tsx","webpack://keolis.com/./src/v3/components/media-cards/media-cards.module.scss","webpack://keolis.com/./src/v3/components/tools/filter-bar/capsule/capsule.tsx","webpack://keolis.com/./src/v3/components/tools/filter-bar/capsule/capsule.module.scss","webpack://keolis.com/./src/v3/components/tools/filter-bar/filter-bar.tsx","webpack://keolis.com/./src/v3/components/tools/filter-bar/filter-bar.module.scss","webpack://keolis.com/./src/v3/components/tools/scroll-arrow/scroll-arrow.tsx","webpack://keolis.com/./src/v3/components/tools/scroll-arrow/scroll-arrow.module.scss","webpack://keolis.com/./src/v3/hooks/use-format-date.ts","webpack://keolis.com/./src/v3/templates/home/home.module.scss","webpack://keolis.com/./src/v3/components/home/hero-banner/hero-banner.module.scss","webpack://keolis.com/./src/v3/components/home/hero-banner/card/card.tsx","webpack://keolis.com/./src/v3/components/home/hero-banner/card/card.module.scss","webpack://keolis.com/./src/v3/components/home/hero-banner/hero-banner.tsx","webpack://keolis.com/./src/v3/components/home/map-module/carousel/carousel.tsx","webpack://keolis.com/./src/v3/components/home/map-module/carousel/carousel.module.scss","webpack://keolis.com/./src/v3/components/home/map-module/map-module.tsx","webpack://keolis.com/./src/v3/components/home/map-module/map-module.module.scss","webpack://keolis.com/./src/v3/templates/home/home.tsx","webpack://keolis.com/./src/v3/utils/get-associated-color.ts","webpack://keolis.com/./src/v3/utils/get-is-date-in-range.ts"],"sourcesContent":["import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { InternalExternalLinkBlockFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./card.module.scss\"\nimport { useSlugs } from \"../../../context/slugs-context\"\nimport Capsule from \"../../tools/filter-bar/capsule/capsule\"\n\ntype RenderProps = {\n  title: string\n  backgroundSvg: string\n  backgroundColor?: string\n  backgroundColorBis?: string\n  textColor: string\n  buttonText: string\n  redirectLink: InternalExternalLinkBlockFieldsFragment\n}\n\nconst Card: React.FC<RenderProps> = ({\n  title,\n  backgroundSvg,\n  backgroundColor,\n  backgroundColorBis,\n  textColor,\n  buttonText,\n  redirectLink,\n}) => {\n  const { getInternalExternalLink } = useSlugs()\n  const style = {\n    \"--text-color\": textColor,\n    \"--background-color\": backgroundColor,\n    \"--background-color-bis\": backgroundColorBis,\n  } as React.CSSProperties\n\n  return (\n    <div className={styles.card} style={style}>\n      <ReactSVG\n        src={backgroundSvg}\n        beforeInjection={svg => svg.setAttribute(\"preserveAspectRatio\", \"none\")}\n        afterInjection={svg => {\n          svg.querySelector(\"rect\").style.fill = backgroundColor\n          const paths = svg.querySelectorAll(\"path\")\n          paths.forEach(path => {\n            path.style.fill = backgroundColorBis\n          })\n        }}\n      />\n\n      <div className={styles.cardContent}>\n        <div></div> {/*The tag will be here in v3.1*/}\n        <div className={styles.title}>\n          <span>{title}</span>\n        </div>\n        <div className={styles.buttonContainer}>\n          <a href={getInternalExternalLink(redirectLink)} target={redirectLink.isInternalPage ? \"_self\" : \"_blank\"}>\n            <Capsule title={buttonText} isSelected={false} special={false} className={styles.button} />\n          </a>\n        </div>\n      </div>\n    </div>\n  )\n}\n\nexport default Card\n","// extracted by mini-css-extract-plugin\nexport var button = \"card-module--button--f7d9c\";\nexport var buttonContainer = \"card-module--buttonContainer--b4875\";\nexport var card = \"card-module--card--8fc10\";\nexport var cardContent = \"card-module--cardContent--7b91a\";\nexport var date = \"card-module--date--d7cf5\";\nexport var title = \"card-module--title--c9092\";","import React from \"react\"\nimport * as styles from \"./highlight.module.scss\"\nimport { graphql } from \"gatsby\"\nimport { HighlightFieldsFragment, V3BlockSameTopicFieldsFragment } from \"../../../../graphql-types\"\nimport Card from \"./card/card\"\nimport { useIsMobile } from \"../../hooks\"\nimport { getAssociatedColor } from \"../../utils\"\n\ntype RenderProps = {\n  data: HighlightFieldsFragment | V3BlockSameTopicFieldsFragment\n}\n\nconst HighLight: React.FC<RenderProps> = ({ data }) => {\n  const isMobile = useIsMobile()\n  const redirectLink = data.__typename === \"DatoCmsHomePageHighlight\" ? data.redirectLink : data.redirectLink[0]\n  return (\n    <div\n      className={styles.highlight}\n      style={!isMobile ? { backgroundImage: `url(${data.backgroundImage?.url})` } : null}\n    >\n      {isMobile && <img src={data.backgroundImage?.urlMobile} alt=\"Background\" className={styles.mobileImage} />}\n      <div className={styles.highlightContent}>\n        <Card\n          // title={data.redirectLink?.title || data.redirectLink?.[0].title}\n          title={redirectLink.title}\n          backgroundSvg=\"/vectors/v3/mediaCards/card1.svg\"\n          backgroundColor={data.cardBackgroundColor.hex}\n          backgroundColorBis={getAssociatedColor(data.cardBackgroundColor.hex)}\n          textColor={data.cardTextColor.hex}\n          buttonText={data.buttonText}\n          redirectLink={redirectLink}\n        />\n      </div>\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment V3BlockSameTopicFields on DatoCmsV3BlockSameTopic {\n    id\n    __typename\n    redirectLink {\n      ...InternalExternalLinkBlockFields\n    }\n    cardBackgroundColor {\n      hex\n    }\n    cardTextColor {\n      hex\n    }\n    backgroundImage {\n      alt\n      url\n      urlMobile: url(imgixParams: { fit: \"crop\", w: \"351\", h: \"372\" })\n    }\n    buttonText\n  }\n  fragment HighlightFields on DatoCmsHomePageHighlight {\n    id\n    __typename\n    isEnabled\n    redirectLink {\n      ...InternalExternalLinkBlockFields\n    }\n    cardBackgroundColor {\n      hex\n    }\n    cardTextColor {\n      hex\n    }\n    backgroundImage {\n      alt\n      url\n      urlMobile: url(imgixParams: { fit: \"crop\", w: \"351\", h: \"372\" })\n    }\n    buttonText\n  }\n`\n\nexport default HighLight\n","// extracted by mini-css-extract-plugin\nexport var highlight = \"highlight-module--highlight--a3876\";\nexport var highlightContent = \"highlight-module--highlightContent--d9358\";\nexport var mobileImage = \"highlight-module--mobileImage--9c85e\";","import React, { useRef } from \"react\"\nimport { graphql } from \"gatsby\"\nimport { V3RecruitmentFieldsFragment } from \"../../../../../../graphql-types\"\nimport * as styles from \"./carousel.module.scss\"\nimport { useLocale } from \"../../../../context/locale-context\"\nimport { useFormatDate } from \"../../../../hooks\"\nimport ScrollArrow from \"../../../tools/scroll-arrow/scroll-arrow\"\nimport { useSlugs } from \"../../../../context/slugs-context\"\n\ntype RenderProps = {\n  article: V3RecruitmentFieldsFragment\n  arrows: boolean\n  onScroll: (scrollDirection: number) => void\n}\n\nconst Carousel: React.FC<RenderProps> = ({ article, arrows, onScroll }) => {\n  const { locale } = useLocale()\n  const { getInternalExternalLink } = useSlugs()\n\n  const cards = useRef(null)\n  const publicationDate = (article as any).redirectLink.internalLink?.publicationDate\n  const title = article.redirectLink.title || (article as any).redirectLink.internalLink?.title\n\n  return (\n    <>\n      <div className={styles.cardsContainer} ref={cards}>\n        <div className={styles.card} key={article.id}>\n          {article.redirectLink.isInternalPage && publicationDate && (\n            <span className={styles.date}>{useFormatDate(publicationDate, locale)}</span>\n          )}\n          <a\n            href={getInternalExternalLink(article.redirectLink)}\n            target={article.redirectLink.isInternalPage ? \"_self\" : \"_blank\"}\n            className={styles.linkTitle}\n          >\n            <span className={styles.spanAnimated}>{title}</span>\n          </a>\n        </div>\n      </div>\n      {arrows && (\n        <div className={styles.arrowsContainer}>\n          <ScrollArrow direction=\"left\" onClick={() => onScroll(-1)} />\n          <ScrollArrow direction=\"right\" onClick={() => onScroll(1)} />\n        </div>\n      )}\n    </>\n  )\n}\n\nexport const fragment = graphql`\n  fragment V3RecruitmentFields on DatoCmsV3Recruitment {\n    id\n    imageOrVideo\n    image {\n      alt\n      url\n    }\n    urlVideo\n    redirectLink {\n      ...InternalExternalLinkBlockFields\n    }\n  }\n`\n\nexport default Carousel\n","// extracted by mini-css-extract-plugin\nexport var arrowsContainer = \"carousel-module--arrowsContainer--77183\";\nexport var card = \"carousel-module--card--ee8a4\";\nexport var cardsContainer = \"carousel-module--cardsContainer--d3e73\";\nexport var date = \"carousel-module--date--b267d\";\nexport var linkTitle = \"carousel-module--linkTitle--d7a2c\";\nexport var spanAnimated = \"carousel-module--spanAnimated--c21f1\";","import React, { useState } from \"react\"\nimport { graphql } from \"gatsby\"\nimport { V3HomePageRecruitmentFieldsFragment, V3BlockRecruitmentFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./recruitment.module.scss\"\nimport sanitizeHtml from \"sanitize-html\"\nimport { useSlugs } from \"../../../context/slugs-context\"\nimport Capsule from \"../../tools/filter-bar/capsule/capsule\"\nimport Carousel from \"./carousel/carousel\"\n\ntype RenderProps = {\n  data: V3HomePageRecruitmentFieldsFragment | V3BlockRecruitmentFieldsFragment\n}\n\nconst Recruitment: React.FC<RenderProps> = ({ data }) => {\n  const { getInternalExternalLink } = useSlugs()\n  const sanitizedText = sanitizeHtml(data.text)\n  const [currentLink, setCurrentLink] = useState(0)\n  const article = data.recruitment[currentLink]\n\n  const redirectLink =\n    data.__typename === \"DatoCmsV3HomePageRecruitment\" ? data.redirectLink : data.redirectLinkContentPage\n\n  const handleScroll = (scrollDirection: number) => {\n    if (scrollDirection === 1 && currentLink < data.recruitment.length - 1) {\n      setCurrentLink(currentLink + 1)\n    } else if (scrollDirection === -1 && currentLink > 0) {\n      setCurrentLink(currentLink - 1)\n    }\n  }\n\n  return (\n    <div className={data.isBackgroundDisplayed ? styles.background : \"\"}>\n      <div className={styles.mainInformations}>\n        <div className={styles.titleContainer}>\n          <h2 className={styles.title}>{data.title}</h2>\n        </div>\n        <div className={styles.rightContainer}>\n          <p className={styles.text} dangerouslySetInnerHTML={{ __html: sanitizedText }} />\n          <Capsule\n            className={styles.capsule}\n            title={data.buttonLabel}\n            isSelected={false}\n            special={true}\n            link={\n              redirectLink\n                ? {\n                    url: redirectLink && getInternalExternalLink(redirectLink),\n                    isInternal: redirectLink.isInternalPage,\n                  }\n                : null\n            }\n          />\n        </div>\n      </div>\n      {data.recruitment.length > 0 && (\n        <div className={styles.imagesContainer}>\n          <div className={styles.carouselContainer}>\n            <Carousel article={article} arrows={data.recruitment.length > 1} onScroll={handleScroll} />\n          </div>\n          <div className={styles.mainImage}>\n            {article.imageOrVideo\n              ? article.urlVideo && (\n                  <iframe\n                    src={article.urlVideo}\n                    title=\"Video player\"\n                    tabIndex={-1}\n                    allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n                    sandbox=\"allow-same-origin allow-scripts allow-popups allow-forms allow-presentation allow-modals allow-top-navigation\"\n                    loading=\"lazy\"\n                    allowFullScreen\n                  />\n                )\n              : article.image && <img src={article.image.url} alt={article.image.alt || \"\"} />}\n          </div>\n        </div>\n      )}\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment V3HomePageRecruitmentFields on DatoCmsV3HomePageRecruitment {\n    id\n    __typename\n    isEnabled\n    title\n    text\n    buttonLabel\n    redirectLink {\n      ...InternalExternalLinkBlockFields\n    }\n    isBackgroundDisplayed\n    recruitment {\n      ...V3RecruitmentFields\n    }\n  }\n  fragment V3BlockRecruitmentFields on DatoCmsV3BlockRecruitment {\n    id\n    __typename\n    title\n    text\n    buttonLabel\n    redirectLinkContentPage: redirectLink {\n      ...InternalExternalLinkBlockFields\n    }\n    isBackgroundDisplayed\n    recruitment {\n      ...V3RecruitmentFields\n    }\n  }\n`\n\nexport default Recruitment\n","// extracted by mini-css-extract-plugin\nexport var background = \"recruitment-module--background--77471\";\nexport var capsule = \"recruitment-module--capsule--88aab\";\nexport var carouselContainer = \"recruitment-module--carouselContainer--67ccd\";\nexport var imagesContainer = \"recruitment-module--imagesContainer--5de7c\";\nexport var mainImage = \"recruitment-module--mainImage--5831e\";\nexport var mainInformations = \"recruitment-module--mainInformations--5aa1d\";\nexport var rightContainer = \"recruitment-module--rightContainer--2e65b\";\nexport var text = \"recruitment-module--text--0c93d\";\nexport var title = \"recruitment-module--title--d00f9\";\nexport var titleContainer = \"recruitment-module--titleContainer--0e29d\";","import React, { useRef } from \"react\"\nimport * as styles from \"./thematic.module.scss\"\nimport { graphql } from \"gatsby\"\nimport { ThematicFieldsFragment, V3BlockThematicHighlightFieldsFragment } from \"../../../../../graphql-types\"\nimport sanitizeHtml from \"sanitize-html\"\nimport { ReactSVG } from \"react-svg\"\nimport { getAssociatedColor } from \"../../../utils\"\nimport Capsule from \"../../tools/filter-bar/capsule/capsule\"\nimport { useSlugs } from \"../../../context/slugs-context\"\n\ntype RenderProps = {\n  data: ThematicFieldsFragment | V3BlockThematicHighlightFieldsFragment\n}\n\nconst Thematic: React.FC<RenderProps> = ({ data }) => {\n  const { getInternalExternalLink } = useSlugs()\n  const cardsList = useRef(null)\n  const sanitizedText = sanitizeHtml(data.introductionText)\n  const redirectLink = data.__typename === \"DatoCmsHomePageThematic\" ? data.redirectLink : data.redirectLinkHighlight\n\n  return (\n    <div className={`${styles.thematicContainer} ${data.gradientBackground ? styles.background : \"\"}`}>\n      <div className={styles.sectionHeader}>\n        <h2 className={styles.title}>{data.title}</h2>\n        <div className={styles.rightContainer}>\n          <p className={styles.textIntro} dangerouslySetInnerHTML={{ __html: sanitizedText }} />\n          {redirectLink && (\n            <a href={getInternalExternalLink(redirectLink)} target={redirectLink.isInternalPage ? \"_self\" : \"_blank\"}>\n              <Capsule\n                title={redirectLink.title || \"Voir tout\"}\n                className={styles.button}\n                isSelected={false}\n                special={true}\n              />\n            </a>\n          )}\n        </div>\n      </div>\n      <ul className={styles.cardsContainer} ref={cardsList}>\n        {data.thematicCard.map((card, index) => {\n          const sanitizedDescription = sanitizeHtml(data.thematicCard[index].description)\n          return (\n            <li\n              key={card.id}\n              className={styles.card}\n              style={\n                {\n                  \"--cardBgColor\": card.cardBackgroundColor?.hex.substring(0, 7),\n                  \"--cardBgColorBis\": getAssociatedColor(card.cardBackgroundColor?.hex.substring(0, 7)),\n                  \"--cardBgColorHover\": card.cardBackgroundColorHover?.hex.substring(0, 7),\n                  \"--cardBgColorBisHover\": getAssociatedColor(card.cardBackgroundColorHover?.hex.substring(0, 7)),\n                  \"--cardTextColor\": card.cardTextColor?.hex.substring(0, 7),\n                  \"--cardTextColorHover\": card.cardTextColorHover?.hex.substring(0, 7),\n                } as React.CSSProperties\n              }\n            >\n              <ReactSVG\n                src={`/vectors/v3/mediaCards/card${(index % 4) + 1}.svg`}\n                beforeInjection={svg => {\n                  svg.setAttribute(\"preserveAspectRatio\", \"none\")\n                }}\n              />\n              <div\n                className={styles.cardContent}\n                style={{ justifyContent: sanitizedDescription.length === 0 ? \"center\" : \"space-evenly\" }}\n              >\n                <span className={styles.cardTitle}>{card.title}</span>\n                <div className={styles.showOnHover}>\n                  <p dangerouslySetInnerHTML={{ __html: sanitizedDescription }} />\n                  {data.thematicCard[index].redirectLink && (\n                    <a\n                      href={getInternalExternalLink(data.thematicCard[index].redirectLink)}\n                      target={data.thematicCard[index].redirectLink.isInternalPage ? \"_self\" : \"_blank\"}\n                    >\n                      <Capsule\n                        title={data.thematicCard[index].redirectLink.title}\n                        isSelected={false}\n                        special={false}\n                        className={styles.capsule}\n                      />\n                    </a>\n                  )}\n                </div>\n              </div>\n            </li>\n          )\n        })}\n      </ul>\n    </div>\n  )\n}\n\nexport default Thematic\n\nexport const fragment = graphql`\n  fragment ThematicFields on DatoCmsHomePageThematic {\n    id\n    __typename\n    isEnabled\n    title\n    introductionText\n    gradientBackground\n    redirectLink {\n      ...InternalExternalLinkBlockFields\n    }\n    thematicCard {\n      ...ThematicCardFields\n    }\n  }\n  fragment V3BlockThematicHighlightFields on DatoCmsV3BlockThematicHighlight {\n    id\n    __typename\n    title\n    introductionText\n    gradientBackground\n    redirectLinkHighlight: redirectLink {\n      ...InternalExternalLinkBlockFields\n    }\n    thematicCard {\n      ...ThematicCardFields\n    }\n  }\n  fragment ThematicCardFields on DatoCmsThematicCard {\n    id\n    title\n    description\n    cardBackgroundColor {\n      hex\n    }\n    cardBackgroundColorHover {\n      hex\n    }\n    cardTextColor {\n      hex\n    }\n    cardTextColorHover {\n      hex\n    }\n    redirectLink {\n      ...InternalExternalLinkBlockFields\n    }\n  }\n`\n","// extracted by mini-css-extract-plugin\nexport var background = \"thematic-module--background--c82c6\";\nexport var button = \"thematic-module--button--47ed1\";\nexport var capsule = \"thematic-module--capsule--03977\";\nexport var card = \"thematic-module--card--5b307\";\nexport var cardContent = \"thematic-module--cardContent--e3100\";\nexport var cardTitle = \"thematic-module--cardTitle--a3640\";\nexport var cardsContainer = \"thematic-module--cardsContainer--d5385\";\nexport var rightContainer = \"thematic-module--rightContainer--e9c21\";\nexport var sectionHeader = \"thematic-module--sectionHeader--1d971\";\nexport var showOnHover = \"thematic-module--showOnHover--be714\";\nexport var textIntro = \"thematic-module--textIntro--3f201\";\nexport var thematicContainer = \"thematic-module--thematicContainer--05170\";\nexport var title = \"thematic-module--title--7a1ef\";","// extracted by mini-css-extract-plugin\nexport var background = \"key-figures-module--background--e2363\";\nexport var container = \"key-figures-module--container--a8aa5\";\nexport var keyFigure = \"key-figures-module--keyFigure--f3a38\";\nexport var keyFigureDescription = \"key-figures-module--keyFigureDescription--9f811\";\nexport var keyFigureTitle = \"key-figures-module--keyFigureTitle--cc513\";\nexport var keyFiguresContainer = \"key-figures-module--keyFiguresContainer--6e26f\";\nexport var redirectLink = \"key-figures-module--redirectLink--e299b\";\nexport var title = \"key-figures-module--title--5a59f\";\nexport var titleContainer = \"key-figures-module--titleContainer--ba5ed\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { KeyFiguresFieldsFragment, V3KeyFiguresBlockFieldsFragment } from \"../../../../graphql-types\"\nimport * as styles from \"./key-figures.module.scss\"\nimport { useSlugs } from \"../../context/slugs-context\"\n\ntype RenderProps = {\n  data: V3KeyFiguresBlockFieldsFragment | KeyFiguresFieldsFragment\n}\n\nconst KeyFigures: React.FC<RenderProps> = ({ data }) => {\n  const { getInternalExternalLink } = useSlugs()\n\n  return (\n    <div className={`${styles.container} ${data.isBackgroundDisplayed ? styles.background : \"\"}`}>\n      <div className={styles.titleContainer}>\n        <h2 className={styles.title}>{data.title}</h2>\n      </div>\n      <ul className={styles.keyFiguresContainer}>\n        {data.keyFigures?.map((kf, index) => (\n          <li className={styles.keyFigure} key={kf.value + kf.description}>\n            {kf.redirectLink?.[0] ? (\n              <a\n                href={getInternalExternalLink(kf.redirectLink?.[0])}\n                target={kf.redirectLink?.[0].isInternalPage ? \"_self\" : \"_blank\"}\n                className={styles.redirectLink}\n              >\n                <span className={styles.keyFigureTitle}>{kf.value}</span>\n              </a>\n            ) : (\n              <span className={styles.keyFigureTitle}>{kf.value}</span>\n            )}\n            {kf.description && <span className={styles.keyFigureDescription}>{kf.description}</span>}\n          </li>\n        ))}\n      </ul>\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment KeyFiguresFields on DatoCmsHomePageKeyFigure {\n    id\n    isEnabled\n    title\n    isBackgroundDisplayed\n    keyFigures {\n      value\n      description\n      redirectLink {\n        ...InternalExternalLinkBlockFields\n      }\n    }\n  }\n\n  fragment V3KeyFiguresBlockFields on DatoCmsV3KeyFiguresBlock {\n    id\n    title\n    isBackgroundDisplayed\n    keyFigures {\n      value\n      description\n      redirectLink {\n        ...InternalExternalLinkBlockFields\n      }\n    }\n  }\n`\n\nexport default KeyFigures\n","import React from \"react\"\nimport * as styles from \"./card-image.module.scss\"\nimport { useFormatDate } from \"../../../../hooks\"\nimport { useLocale } from \"../../../../context/locale-context\"\n\ntype RenderProps = {\n  title: string\n  date: string\n  backgroundImage: {\n    url: string\n    alt: string\n  }\n}\n\nconst CardImage: React.FC<RenderProps> = ({ title, date, backgroundImage }) => {\n  const { locale } = useLocale()\n\n  return (\n    <div className={styles.card}>\n      <img className={styles.image} src={backgroundImage?.url} alt={backgroundImage?.alt || \"\"} />\n      <div className={styles.cardContent}>\n        <div className={styles.date}>{useFormatDate(date, locale)} </div>\n        <div className={styles.title}>{title} </div>\n        <div />\n      </div>\n    </div>\n  )\n}\n\nexport default CardImage\n","// extracted by mini-css-extract-plugin\nexport var card = \"card-image-module--card--e581f\";\nexport var cardContent = \"card-image-module--cardContent--5bf2e\";\nexport var date = \"card-image-module--date--92890\";\nexport var image = \"card-image-module--image--1ff47\";\nexport var title = \"card-image-module--title--81a65\";","// extracted by mini-css-extract-plugin\nexport var card = \"card-svg-module--card--0b4d3\";\nexport var cardContent = \"card-svg-module--cardContent--ad7bc\";\nexport var date = \"card-svg-module--date--d8bef\";\nexport var title = \"card-svg-module--title--76c03\";","import React, { useEffect, useRef } from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport * as styles from \"./card-svg.module.scss\"\nimport { useFormatDate, useIsMobile } from \"../../../../hooks\"\nimport { useLocale } from \"../../../../context/locale-context\"\n\ntype RenderProps = {\n  title: string\n  date: string\n  backgroundSvg: string\n  backgroundColor?: string\n  backgroundColorBis?: string\n}\n\nconst CardSvg: React.FC<RenderProps> = ({ title, date, backgroundSvg, backgroundColor, backgroundColorBis }) => {\n  const { locale } = useLocale()\n  const isMobile = useIsMobile()\n\n  return (\n    <div className={styles.card}>\n      <ReactSVG\n        src={backgroundSvg}\n        afterInjection={svg => {\n          svg.querySelector(\"rect\").style.fill = backgroundColor\n          const paths = svg.querySelectorAll(\"path\")\n          paths.forEach(path => (path.style.fill = backgroundColorBis))\n\n          if (isMobile) {\n            const cardDiv = svg.closest(`.${styles.card}`)\n            if (cardDiv) {\n              const { width, height } = cardDiv.getBoundingClientRect()\n              svg.setAttribute(\"viewBox\", `0 0 ${width} ${height}`)\n              svg.setAttribute(\"width\", `${width}px`)\n              svg.setAttribute(\"height\", `${height}px`)\n              const rects = svg.querySelectorAll(\"rect\")\n              rects.forEach(rect => {\n                rect.setAttribute(\"width\", `${width}px`)\n                rect.setAttribute(\"height\", `${height}px`)\n              })\n            }\n          }\n        }}\n      />\n\n      <div className={styles.cardContent}>\n        <div className={styles.date}>{useFormatDate(date, locale)} </div>\n        <div className={styles.title}>\n          <span>{title}</span>\n        </div>\n        <div />\n      </div>\n    </div>\n  )\n}\n\nexport default CardSvg\n","import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport * as styles from \"./card-split.module.scss\"\nimport { useFormatDate } from \"../../../../hooks\"\nimport { useLocale } from \"../../../../context/locale-context\"\n\ntype RenderProps = {\n  title: string\n  date: string\n  backgroundSvg: string\n  backgroundImage: {\n    url: string\n    alt: string\n  }\n  backgroundColor?: string\n  backgroundColorBis?: string\n}\n\nconst CardSplit: React.FC<RenderProps> = ({\n  title,\n  date,\n  backgroundSvg,\n  backgroundImage,\n  backgroundColor,\n  backgroundColorBis,\n}) => {\n  const { locale } = useLocale()\n\n  return (\n    <div className={styles.card}>\n      <div className={styles.imagesContainer}>\n        <img className={styles.image} src={backgroundImage.url} alt={backgroundImage.alt} />\n        <div className={styles.svgContainer}>\n          <ReactSVG\n            className={styles.svg}\n            src={backgroundSvg}\n            afterInjection={svg => {\n              svg.querySelector(\"rect\").style.fill = backgroundColor\n              const paths = svg.querySelectorAll(\"path\")\n              paths.forEach(path => (path.style.fill = backgroundColorBis))\n            }}\n          />\n          <div className={styles.cardContent}>\n            <div className={styles.date}>{useFormatDate(date, locale)} </div>\n            <div className={styles.title}>\n              <span>{title}</span>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  )\n}\n\nexport default CardSplit\n","// extracted by mini-css-extract-plugin\nexport var card = \"card-split-module--card--f05ca\";\nexport var cardContent = \"card-split-module--cardContent--04e45\";\nexport var date = \"card-split-module--date--45b9d\";\nexport var image = \"card-split-module--image--721a0\";\nexport var imagesContainer = \"card-split-module--imagesContainer--39e01\";\nexport var svg = \"card-split-module--svg--efb2e\";\nexport var svgContainer = \"card-split-module--svgContainer--eaf73\";\nexport var title = \"card-split-module--title--5bb59\";","import React from \"react\"\nimport * as styles from \"./card.module.scss\"\nimport CardImage from \"./card-image/card-image\"\nimport CardSvg from \"./card-svg/card-svg\"\nimport CardSplit from \"./card-split/card-split\"\n\ntype RenderProps = {\n  title: string\n  url: string\n  date: string\n  cardType: string\n  backgroundSvg: string\n  backgroundImage: {\n    url: string\n    alt: string\n  }\n  backgroundColor?: string\n  backgroundColorBis?: string\n  textColor: string\n}\n\nconst Card: React.FC<RenderProps> = ({\n  title,\n  url,\n  date,\n  cardType,\n  backgroundSvg,\n  backgroundImage,\n  backgroundColor,\n  backgroundColorBis,\n  textColor,\n}) => {\n  return (\n    <li className={styles.card} style={{ color: textColor }}>\n      <a href={url}>\n        {cardType === \"image\" ? (\n          <CardImage title={title} date={date} backgroundImage={backgroundImage} />\n        ) : cardType === \"svg\" ? (\n          <CardSvg\n            title={title}\n            date={date}\n            backgroundSvg={backgroundSvg}\n            backgroundColor={backgroundColor}\n            backgroundColorBis={backgroundColorBis}\n          />\n        ) : (\n          cardType === \"split\" && (\n            <CardSplit\n              title={title}\n              date={date}\n              backgroundSvg={backgroundSvg}\n              backgroundImage={backgroundImage}\n              backgroundColor={backgroundColor}\n              backgroundColorBis={backgroundColorBis}\n            />\n          )\n        )}\n      </a>\n    </li>\n  )\n}\n\nexport default Card\n","// extracted by mini-css-extract-plugin\nexport var card = \"card-module--card--910d3\";","import React, { useEffect, useRef, useState } from \"react\"\nimport { graphql } from \"gatsby\"\nimport {\n  NewsMediaFieldsFragment,\n  NewsroomFilterTitlesFieldsFragment,\n  PressReleaseMediaFieldsFragment,\n  PublicationMediaFieldsFragment,\n} from \"../../../../graphql-types\"\nimport * as styles from \"./media-cards.module.scss\"\nimport sanitizeHtml from \"sanitize-html\"\nimport { useSlugs } from \"../../context/slugs-context\"\n\nimport ScrollArrow from \"../tools/scroll-arrow/scroll-arrow\"\nimport Card from \"./card/card\"\nimport Capsule from \"../tools/filter-bar/capsule/capsule\"\nimport FilterBar from \"../tools/filter-bar/filter-bar\"\nimport { getAssociatedColor, isDateInRange } from \"../../utils\"\n\ntype RenderProps = {\n  title: string\n  text?: string\n  buttonLink?: string\n  buttonLabel?: string\n  news?: NewsMediaFieldsFragment[]\n  pressReleases?: PressReleaseMediaFieldsFragment[]\n  publications?: PublicationMediaFieldsFragment[]\n  filters?: NewsroomFilterTitlesFieldsFragment\n  categories?: string[]\n  limit?: number\n  multiRow?: boolean\n}\n\nconst MediaCards: React.FC<RenderProps> = ({\n  title,\n  text,\n  buttonLink,\n  buttonLabel,\n  news,\n  pressReleases,\n  publications,\n  filters,\n  categories,\n  limit,\n  multiRow,\n}) => {\n  const { buildInternalLink } = useSlugs()\n  const mediaCardsRef = useRef(null)\n  const cards = [...(pressReleases ?? []), ...(publications ?? []), ...(news ?? [])]\n    .filter(card => isDateInRange(card.publicationDate, card.publicationEndDate))\n    .sort((a, b) => new Date(b.publicationDate).getTime() - new Date(a.publicationDate).getTime())\n  const [filteredCards, setFilteredCards] = useState<any[]>(cards)\n  const [activeCapsule, setActiveCapsule] = useState<string>(\"\")\n\n  const scrollToCard = (scrollDirection: number) => {\n    const rtlRatio = document?.dir === \"rtl\" ? -1 : 1\n    const itemWidth = mediaCardsRef.current.children[1].clientWidth + 32\n    mediaCardsRef.current.scrollBy({\n      left: itemWidth * scrollDirection * rtlRatio,\n      top: 0,\n      behavior: \"smooth\",\n    })\n  }\n\n  useEffect(() => {\n    if (mediaCardsRef.current) {\n      mediaCardsRef.current.scrollLeft = 0\n    }\n  }, [cards])\n\n  const sanitizedText = sanitizeHtml(text)\n\n  const filtersArray: { title: string; typename: string; filterPublications?: boolean }[] = !filters\n    ? !categories\n      ? []\n      : categories.map(category => ({ title: category, typename: \"DatoCmsPublication\", filterPublications: true }))\n    : [\n        { title: filters.newsroomInTheSpotlightIsEnabled && filters.newsroomInTheSpotlightTitle, typename: \"\" },\n        { title: filters.newsroomNewsIsEnabled && filters.newsroomNewsTitle, typename: \"DatoCmsNews\" },\n        {\n          title: filters.newsroomPressReleaseIsEnabled && filters.newsroomPressReleaseTitle,\n          typename: \"DatoCmsPressRelease\",\n        },\n        {\n          title: filters.newsroomPublicationsIsEnabled && filters.newsroomPublicationsTitle,\n          typename: \"DatoCmsPublication\",\n        },\n      ].filter(filter => filter.title)\n\n  return (\n    <div className={styles.mediaContainer}>\n      <div className={styles.header}>\n        <h2 className={styles.title} dangerouslySetInnerHTML={{ __html: title }} />\n        <div className={styles.content}>\n          {(filtersArray || sanitizedText) && (\n            <div className={styles.filtersColumn}>\n              {filtersArray.length > 0 && (\n                <FilterBar\n                  capsules={filtersArray.map(filter => ({\n                    label: filter.title,\n                    onClick: () => {\n                      if (activeCapsule !== filter.title) {\n                        if (filter.filterPublications) {\n                          setFilteredCards(\n                            cards.filter(\n                              card =>\n                                card.__typename === \"DatoCmsPublication\" && card.category?.category === filter.title\n                            )\n                          )\n                        } else {\n                          setFilteredCards(\n                            filter.typename ? cards.filter(card => card.__typename === filter.typename) : cards\n                          )\n                        }\n                        setActiveCapsule(filter.title)\n                      } else {\n                        setFilteredCards(cards)\n                        setActiveCapsule(\"\")\n                      }\n                    },\n                    isActive: activeCapsule === filter.title,\n                  }))}\n                />\n              )}\n              {sanitizedText && <p className={styles.textIntro} dangerouslySetInnerHTML={{ __html: sanitizedText }} />}\n            </div>\n          )}\n          {buttonLabel && (\n            <a href={buttonLink} className={styles.capsule}>\n              <Capsule title={buttonLabel} isSelected={false} special={true} />\n            </a>\n          )}\n        </div>\n      </div>\n      <ul className={styles.cardsContainer} ref={mediaCardsRef} style={{ flexWrap: multiRow ? \"wrap\" : \"nowrap\" }}>\n        {filteredCards?.slice(0, limit).map((card, index) => {\n          if (card.__typename === \"DatoCmsPublication\") {\n            return (\n              <Card\n                key={card.id}\n                title=\"\"\n                url={card.isPdf ? card.pdf?.url : card.externalLink}\n                cardType=\"image\"\n                date=\"\"\n                backgroundSvg=\"\"\n                backgroundImage={card.image}\n                backgroundColor=\"\"\n                backgroundColorBis=\"\"\n                textColor=\"\"\n              />\n            )\n          }\n\n          let backgroundImage = { url: \"\", alt: \"\" }\n          let backgroundSvg = \"\"\n          let cardType = \"svg\"\n          const title = card.miniatureCard[0]?.isTitle === false ? \"\" : card.title\n\n          if (card.miniatureCard[0]?.isImage && card.miniatureCard[0]?.miniatureImage?.url) {\n            backgroundImage = {\n              url: card.miniatureCard[0]?.miniatureImage?.url || \"\",\n              alt: card.miniatureCard[0]?.miniatureImage?.alt || \"\",\n            }\n            card.miniatureCard[0]?.isMinatureImageBig ? (cardType = \"image\") : (cardType = \"split\")\n          }\n          if (!card.miniatureCard[0]?.isImage || !card.miniatureCard[0]?.isMinatureImageBig) {\n            backgroundSvg = `/vectors/v3/mediaCards/card${(index % 4) + 1}.svg`\n          }\n          const getCardUrl = card => {\n            if (card.__typename === \"DatoCmsNews\") {\n              return buildInternalLink({ __typename: \"DatoCmsNews\", slug: card.slug })\n            } else if (card.__typename === \"DatoCmsPressRelease\") {\n              return buildInternalLink({ __typename: \"DatoCmsPressRelease\", slug: card.slug })\n            }\n          }\n\n          return (\n            <Card\n              key={card.id}\n              title={title}\n              url={getCardUrl(card)}\n              cardType={cardType}\n              date={card.publicationDate}\n              backgroundSvg={backgroundSvg}\n              backgroundImage={backgroundImage}\n              backgroundColor={card.miniatureCard[0]?.cardBackgroundColor.hex}\n              backgroundColorBis={getAssociatedColor(card.miniatureCard[0]?.cardBackgroundColor.hex)}\n              textColor={card.miniatureCard[0]?.cardTextColor.hex}\n            />\n          )\n        })}\n      </ul>\n\n      {limit > 4 && (\n        <div className={styles.arrowsContainer}>\n          <ScrollArrow direction=\"left\" onClick={() => scrollToCard(-1)} />\n          <ScrollArrow direction=\"right\" onClick={() => scrollToCard(1)} />\n        </div>\n      )}\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment MediaNewsFields on DatoCmsHomePageMediaNews {\n    id\n    isEnabled\n    title\n    text\n    gradientBackground\n    buttonLabel\n  }\n\n  fragment MediaMiniatureCardFields on DatoCmsMediaMiniatureCard {\n    id\n    isTitle\n    cardBackgroundColor {\n      hex\n    }\n    cardTextColor {\n      hex\n    }\n    isImage\n    miniatureImage {\n      alt\n      url\n    }\n    isMinatureImageBig\n  }\n\n  fragment NewsMediaFields on DatoCmsNews {\n    id\n    __typename\n    title\n    slug\n    publicationDate\n    publicationEndDate\n    miniatureCard {\n      ...MediaMiniatureCardFields\n    }\n  }\n\n  fragment PressReleaseMediaFields on DatoCmsPressRelease {\n    id\n    __typename\n    title\n    slug\n    publicationDate\n    publicationEndDate\n    miniatureCard {\n      ...MediaMiniatureCardFields\n    }\n  }\n\n  fragment PublicationMediaFields on DatoCmsPublication {\n    id\n    __typename\n    title\n    image {\n      alt\n      url\n    }\n    category {\n      category\n    }\n    isPdf\n    pdf {\n      url\n    }\n    externalLink\n    publicationDate\n    publicationEndDate\n  }\n\n  fragment NewsroomFilterTitlesFields on DatoCmsNewsroom {\n    id\n    newsroomInTheSpotlightIsEnabled\n    newsroomInTheSpotlightTitle\n    newsroomNewsIsEnabled\n    newsroomNewsTitle\n    newsroomPressReleaseIsEnabled\n    newsroomPressReleaseTitle\n    newsroomPublicationsIsEnabled\n    newsroomPublicationsTitle\n  }\n`\n\nexport default MediaCards\n","// extracted by mini-css-extract-plugin\nexport var arrowsContainer = \"media-cards-module--arrowsContainer--0f699\";\nexport var capsule = \"media-cards-module--capsule--be892\";\nexport var cardsContainer = \"media-cards-module--cardsContainer--eaa6e\";\nexport var content = \"media-cards-module--content--769c2\";\nexport var filtersColumn = \"media-cards-module--filtersColumn--77f7c\";\nexport var header = \"media-cards-module--header--d8efc\";\nexport var mediaContainer = \"media-cards-module--mediaContainer--0eb23\";\nexport var textIntro = \"media-cards-module--textIntro--e1347\";\nexport var title = \"media-cards-module--title--9961c\";","import React from \"react\"\nimport * as styles from \"./capsule.module.scss\"\n\ntype RenderProps = {\n  title: string\n  isSelected: boolean\n  special?: boolean\n  className?: string\n  onClick?: () => void\n  link?: {\n    url: string\n    isInternal: boolean\n  }\n}\n\nconst Capsule: React.FC<RenderProps> = ({ title, isSelected, special = false, className = \"\", onClick, link }) => {\n  const capsuleClassName = `${styles.capsule} ${isSelected ? styles.selected : \"\"} ${\n    special ? styles.special : \"\"\n  } ${className}`\n\n  if (link?.url) {\n    return (\n      <a href={link.url} target={link.isInternal ? \"_self\" : \"_blank\"} className={capsuleClassName} onClick={onClick}>\n        {title}\n      </a>\n    )\n  }\n\n  return (\n    <button className={capsuleClassName} onClick={onClick}>\n      {title}\n    </button>\n  )\n}\n\nexport default Capsule\n","// extracted by mini-css-extract-plugin\nexport var capsule = \"capsule-module--capsule--1cc8a\";\nexport var selected = \"capsule-module--selected--f8460\";\nexport var special = \"capsule-module--special--e590a\";","import React, { useState } from \"react\"\nimport Capsule from \"./capsule/capsule\"\nimport * as styles from \"./filter-bar.module.scss\"\nimport { ca } from \"date-fns/locale\"\n\ntype RenderProps = {\n  capsules: {\n    label: string\n    onClick?: () => void\n    url?: string\n    isActive?: boolean\n    special?: boolean\n  }[]\n}\n\nconst FilterBar: React.FC<RenderProps> = ({ capsules }) => {\n  return (\n    <div className={styles.filterBar}>\n      <div className={styles.capsules}>\n        {capsules?.map((capsule, index) => (\n          <Capsule\n            title={capsule.label}\n            isSelected={capsule.isActive}\n            className={capsule.special ? styles.specialCapsule : \"\"}\n            special={capsule.special}\n            onClick={capsule.onClick}\n            link={capsule.url && { url: capsule.url, isInternal: true }}\n            key={capsule.label}\n          />\n        ))}\n      </div>\n    </div>\n  )\n}\n\nexport default FilterBar\n","// extracted by mini-css-extract-plugin\nexport var capsules = \"filter-bar-module--capsules--27ec4\";\nexport var filterBar = \"filter-bar-module--filterBar--9f9ec\";\nexport var specialCapsule = \"filter-bar-module--specialCapsule--90bc8\";","import React from \"react\"\nimport * as styles from \"./scroll-arrow.module.scss\"\n\nconst arrowPath = \"/vectors/v3/\"\ntype RenderProps = {\n  direction: \"left\" | \"right\"\n  style?: React.CSSProperties\n  disabled?: boolean\n  onClick?: () => void\n}\nconst ScrollArrow: React.FC<RenderProps> = ({ direction, style, disabled, onClick }) => {\n  return (\n    <button className={styles.arrows} style={style} onClick={onClick} disabled={disabled}>\n      <img\n        src={`${arrowPath}left-arrow.svg`}\n        className={direction === \"right\" ? styles.rightArrow : \"\"}\n        alt={direction === \"left\" ? \"left arrow\" : \"right arrow\"}\n      />\n    </button>\n  )\n}\nexport default ScrollArrow\n","// extracted by mini-css-extract-plugin\nexport var arrows = \"scroll-arrow-module--arrows--c204b\";\nexport var rightArrow = \"scroll-arrow-module--rightArrow--864cd\";","import { format } from \"date-fns\"\nimport { enGB, fr } from \"date-fns/locale\"\n\nexport const useFormatDate = (date: string, locale: string, shortFormat?: boolean) => {\n  if (date === \"\") return \"\"\n\n  const optionLocale = locale === \"fr\" ? fr : enGB\n  const dateFormat = locale === \"fr\" ? \"d MMMM yyyy\" : \"do MMMM yyyy\"\n\n  const formattedDate = format(new Date(date), dateFormat, { locale: optionLocale })\n  const formattedDateWithOptions = new Intl.DateTimeFormat(locale, {\n    month: \"short\",\n    day: \"numeric\",\n  }).format(new Date(date))\n\n  if (locale === \"fr\" && formattedDate.startsWith(\"1 \")) {\n    return \"1er \" + formattedDate.slice(2)\n  }\n\n  return shortFormat ? formattedDateWithOptions : formattedDate\n}\n","// extracted by mini-css-extract-plugin\nexport var container = \"home-module--container--d765e\";\nexport var mediaCardsContainer = \"home-module--mediaCardsContainer--1fb63\";","// extracted by mini-css-extract-plugin\nexport var arrowsContainer = \"hero-banner-module--arrowsContainer--42f2d\";\nexport var card = \"hero-banner-module--card--50776\";\nexport var heroBanner = \"hero-banner-module--heroBanner--a09a4\";\nexport var image = \"hero-banner-module--image--cce44\";\nexport var leftContainer = \"hero-banner-module--leftContainer--aa076\";","import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { InternalExternalLinkBlockFieldsFragment } from \"../../../../../../graphql-types\"\nimport * as styles from \"./card.module.scss\"\nimport sanitizeHtml from \"sanitize-html\"\nimport { useFormatDate, useIsMobile } from \"../../../../hooks\"\nimport { useLocale } from \"../../../../context/locale-context\"\nimport { useSlugs } from \"../../../../context/slugs-context\"\n\ntype RenderProps = {\n  title: string\n  text: string\n  backgroundSvg: string\n  backgroundColor: string\n  backgroundColorBis: string\n  textColor: string\n  redirectLink: InternalExternalLinkBlockFieldsFragment\n}\n\nconst Card: React.FC<RenderProps> = ({\n  title,\n  text,\n  backgroundSvg,\n  backgroundColor,\n  backgroundColorBis,\n  textColor,\n  redirectLink,\n}) => {\n  const style = {\n    \"--text-color\": textColor,\n    \"--background-color\": backgroundColor,\n    \"--background-color-bis\": backgroundColorBis,\n  } as React.CSSProperties\n\n  const isMobile = useIsMobile()\n  const { getInternalExternalLink } = useSlugs()\n  const { locale } = useLocale()\n\n  const hasPublicationDate = (link: any): link is { publicationDate: string } =>\n    typeof link.publicationDate === \"string\"\n\n  const cardContent = (\n    <div className={styles.card} style={style}>\n      <ReactSVG\n        src={backgroundSvg}\n        beforeInjection={svg => {\n          if (!isMobile) svg.setAttribute(\"preserveAspectRatio\", \"xMidYMid meet\")\n        }}\n        afterInjection={svg => {\n          svg.querySelector(\"rect\").style.fill = backgroundColor\n          const paths = svg.querySelectorAll(\"path\")\n          paths.forEach(path => (path.style.fill = backgroundColorBis))\n        }}\n      />\n      <div className={styles.cardContent}>\n        <div className={styles.title}>{title}</div>\n        <div className={styles.chapo} dangerouslySetInnerHTML={{ __html: sanitizeHtml(text) }} />\n        {redirectLink.isInternalPage &&\n          hasPublicationDate(redirectLink.internalLink) &&\n          redirectLink.internalLink.publicationDate !== \"\" && (\n            <div className={styles.date}>{useFormatDate(redirectLink.internalLink.publicationDate, locale)}</div>\n          )}\n      </div>\n    </div>\n  )\n\n  return (\n    <>\n      {getInternalExternalLink(redirectLink) !== \"/\" ? (\n        <a href={getInternalExternalLink(redirectLink)} target={redirectLink?.isInternalPage ? \"_self\" : \"_blank\"}>\n          {cardContent}\n        </a>\n      ) : (\n        <>{cardContent}</>\n      )}\n    </>\n  )\n}\n\nexport default Card\n","// extracted by mini-css-extract-plugin\nexport var card = \"card-module--card--7758c\";\nexport var cardContent = \"card-module--cardContent--5d61c\";\nexport var chapo = \"card-module--chapo--58581\";\nexport var date = \"card-module--date--f9ccd\";\nexport var title = \"card-module--title--dc63e\";","import React, { useState } from \"react\"\nimport { graphql } from \"gatsby\"\nimport { HeroBannerFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./hero-banner.module.scss\"\nimport { useIsMobile } from \"../../../hooks\"\nimport Card from \"./card/card\"\nimport ScrollArrow from \"../../tools/scroll-arrow/scroll-arrow\"\nimport { getAssociatedColor } from \"../../../utils\"\n\ntype RenderProps = {\n  data: HeroBannerFieldsFragment\n}\n\nconst HeroBanner: React.FC<RenderProps> = ({ data }) => {\n  const isMobile = useIsMobile()\n  const arrowStyleMobile = {\n    border: \"none\",\n    boxShadow: \"0px 0px 16px 0px #394A641C\",\n  } as React.CSSProperties\n\n  const [slideIndex, setSlideIndex] = useState(1)\n  const handleArrowClick = (direction: \"left\" | \"right\") => {\n    if (direction === \"left\") {\n      if (slideIndex === 0) {\n        setSlideIndex(data.carousel.length - 1)\n      } else {\n        setSlideIndex(slideIndex - 1)\n      }\n    } else if (slideIndex === data.carousel.length - 1) {\n      setSlideIndex(0)\n    } else {\n      setSlideIndex(slideIndex + 1)\n    }\n  }\n\n  return (\n    <div className={styles.heroBanner}>\n      <div className={styles.leftContainer}>\n        <div className={styles.image} style={{ backgroundImage: `url(${data.carousel[slideIndex].image?.url})` }} />\n        {!isMobile && (\n          <div className={styles.arrowsContainer}>\n            <ScrollArrow direction=\"left\" onClick={() => handleArrowClick(\"left\")} />\n            <ScrollArrow direction=\"right\" onClick={() => handleArrowClick(\"right\")} />\n          </div>\n        )}\n      </div>\n      <div className={styles.card}>\n        <Card\n          title={data.carousel[slideIndex].redirectLink[0]?.title || data.carousel[slideIndex].title}\n          text={data.carousel[slideIndex].chapo}\n          backgroundSvg=\"/vectors/v3/hero-banner.svg\"\n          backgroundColor={data.carousel[slideIndex].cardBackgroundColor.hex}\n          backgroundColorBis={getAssociatedColor(data.carousel[slideIndex].cardBackgroundColor.hex)}\n          textColor={data.carousel[slideIndex].cardTextColor.hex}\n          redirectLink={data.carousel[slideIndex].redirectLink[0]}\n        />\n      </div>\n      {isMobile && (\n        <div className={styles.arrowsContainer}>\n          <ScrollArrow direction=\"left\" style={arrowStyleMobile} onClick={() => handleArrowClick(\"left\")} />\n          <ScrollArrow direction=\"right\" style={arrowStyleMobile} onClick={() => handleArrowClick(\"right\")} />\n        </div>\n      )}\n    </div>\n  )\n}\n\nexport const fragments = graphql`\n  fragment HeroBannerFields on DatoCmsHomePageHeroBanner {\n    id\n    isEnabled\n    carousel {\n      title\n      chapo\n      redirectLink {\n        ...InternalExternalLinkBlockFields\n      }\n      cardBackgroundColor {\n        hex\n      }\n      cardTextColor {\n        hex\n      }\n      image {\n        alt\n        url\n        urlMobile: url(imgixParams: { fit: \"crop\", w: \"351\", h: \"372\" })\n      }\n    }\n  }\n`\n\nexport default HeroBanner\n","import React, { useRef } from \"react\"\nimport { graphql } from \"gatsby\"\nimport { CarouselFieldsFragment } from \"../../../../../../graphql-types\"\nimport * as styles from \"./carousel.module.scss\"\nimport { useSlugs } from \"../../../../context/slugs-context\"\nimport { useIsMobile } from \"../../../../hooks\"\nimport ScrollArrow from \"../../../tools/scroll-arrow/scroll-arrow\"\n\ntype RenderProps = {\n  links: CarouselFieldsFragment[]\n}\n\nconst Carousel: React.FC<RenderProps> = ({ links }) => {\n  const isMobile = useIsMobile()\n  const { buildInternalLink } = useSlugs()\n  const cards = useRef(null)\n\n  const scrollToCard = (scrollDirection: number) => {\n    const itemWidth = cards.current.children[0].clientWidth + 20\n    cards.current.scrollBy({\n      left: itemWidth * scrollDirection,\n      top: 0,\n      behavior: \"smooth\",\n    })\n  }\n\n  return (\n    <>\n      <ul className={styles.cardsContainer} ref={cards}>\n        {links\n          .filter(link => link.image)\n          .map((link, index) => {\n            const textColor =\n              link.__typename !== \"DatoCmsPublication\"\n                ? link.miniatureCardMapModule?.cardTextColor?.hex || \"#fff\"\n                : \"#fff\"\n            const filterColor =\n              link.__typename !== \"DatoCmsPublication\"\n                ? (link.miniatureCardMapModule?.filterColor?.hex ?? \"#fff\")\n                : \"#fff\"\n            const filterOpacity =\n              link.__typename !== \"DatoCmsPublication\" ? (link.miniatureCardMapModule?.filterOpacity ?? 0) : 0\n            const internalLink =\n              link.__typename !== \"DatoCmsPublication\"\n                ? buildInternalLink(link)\n                : link.isPdf\n                  ? link.pdf?.url\n                  : link.externalLink\n\n            return (\n              <li className={styles.card} key={link.title + link.image.url}>\n                <a href={internalLink}>\n                  <img className={styles.image} src={link.image.url} alt={link.image.alt || \"\"} />\n                  <div\n                    className={styles.filter}\n                    style={\n                      {\n                        \"--filter-color\": filterColor ?? \"white\",\n                        \"--filter-opacity\": filterOpacity / 100,\n                      } as React.CSSProperties\n                    }\n                  />\n                  <div className={styles.cardContent}>\n                    <span className={styles.title} style={{ \"--color\": textColor } as React.CSSProperties}>\n                      {link.title}\n                    </span>\n                  </div>\n                </a>\n              </li>\n            )\n          })}\n      </ul>\n      {links.length > 1 && !isMobile && (\n        <div className={styles.arrowsContainer}>\n          <ScrollArrow direction=\"left\" onClick={() => scrollToCard(-1)} />\n          <ScrollArrow direction=\"right\" onClick={() => scrollToCard(1)} />\n        </div>\n      )}\n    </>\n  )\n}\n\nexport const fragment = graphql`\n  fragment CarouselFields on DatoCmsUnionForDatoCmsHomePageMapModuleCarouselLinks {\n    __typename\n    ... on DatoCmsPage {\n      title\n      image {\n        alt\n        url\n      }\n      slug\n      miniatureCardMapModule {\n        cardTextColor {\n          hex\n        }\n        filterColor {\n          hex\n        }\n        filterOpacity\n      }\n    }\n    ... on DatoCmsNews {\n      title\n      image {\n        alt\n        url\n      }\n      slug\n      miniatureCardMapModule {\n        cardTextColor {\n          hex\n        }\n        filterColor {\n          hex\n        }\n        filterOpacity\n      }\n    }\n    ... on DatoCmsPressRelease {\n      title\n      image {\n        alt\n        url\n      }\n      slug\n      miniatureCardMapModule {\n        cardTextColor {\n          hex\n        }\n        filterColor {\n          hex\n        }\n        filterOpacity\n      }\n    }\n    ... on DatoCmsPublication {\n      title\n      image {\n        alt\n        url\n      }\n      isPdf\n      pdf {\n        url\n      }\n      externalLink\n    }\n  }\n`\n\nexport default Carousel\n","// extracted by mini-css-extract-plugin\nexport var arrowsContainer = \"carousel-module--arrowsContainer--ffa32\";\nexport var card = \"carousel-module--card--3452d\";\nexport var cardContent = \"carousel-module--cardContent--4d70a\";\nexport var cardsContainer = \"carousel-module--cardsContainer--30678\";\nexport var filter = \"carousel-module--filter--1eb6e\";\nexport var image = \"carousel-module--image--821d1\";\nexport var title = \"carousel-module--title--da85f\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { MapModuleFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./map-module.module.scss\"\nimport { useSlugs } from \"../../../context/slugs-context\"\nimport FilterBar from \"../../tools/filter-bar/filter-bar\"\nimport Capsule from \"../../tools/filter-bar/capsule/capsule\"\nimport Carousel from \"./carousel/carousel\"\n\ntype RenderProps = {\n  data: MapModuleFieldsFragment\n}\n\nconst MapModule: React.FC<RenderProps> = ({ data }) => {\n  const { mapPageSlug } = useSlugs()\n\n  return (\n    <div className={data.isBackgroundDisplayed ? styles.background : \"\"}>\n      <div className={styles.header}>\n        <h2 className={styles.title}>{data.title}</h2>\n        <div className={styles.content}>\n          {(data.filters || data.text) && (\n            <div className={styles.filtersColumn}>\n              {data.filters.length > 0 && (\n                <FilterBar capsules={[...data.filters.map(filter => ({ label: filter.label }))]} />\n              )}\n              {data.text && <p className={styles.text}>{data.text}</p>}\n            </div>\n          )}\n          {data.buttonLabel && (\n            <a href={mapPageSlug}>\n              <Capsule title={data.buttonLabel} isSelected={false} special={true} />\n            </a>\n          )}\n        </div>\n      </div>\n      <div className={styles.imagesContainer}>\n        <div className={styles.carouselContainer}>\n          <Carousel links={data.carouselLinks} />\n        </div>\n        <div className={styles.mainImage}>\n          <img src={data.image?.url} alt={data.image?.alt || \"\"} />\n        </div>\n      </div>\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment MapModuleFields on DatoCmsHomePageMapModule {\n    id\n    isEnabled\n    title\n    text\n    image {\n      alt\n      url\n    }\n    buttonLabel\n    isBackgroundDisplayed\n    filters {\n      label\n    }\n    carouselLinks {\n      ...CarouselFields\n    }\n  }\n`\n\nexport default MapModule\n","// extracted by mini-css-extract-plugin\nexport var background = \"map-module-module--background--abae5\";\nexport var carouselContainer = \"map-module-module--carouselContainer--02a87\";\nexport var content = \"map-module-module--content--9602d\";\nexport var filtersColumn = \"map-module-module--filtersColumn--1f4dd\";\nexport var header = \"map-module-module--header--3d756\";\nexport var imagesContainer = \"map-module-module--imagesContainer--096bf\";\nexport var mainImage = \"map-module-module--mainImage--2fee4\";\nexport var text = \"map-module-module--text--85cb3\";\nexport var title = \"map-module-module--title--d6953\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { DatoCmsSlugsConfiguration, HomeQuery } from \"../../../../graphql-types\"\nimport * as styles from \"./home.module.scss\"\nimport { useFormatLocale } from \"../../hooks\"\nimport Layout from \"../../components/layout/layout\"\nimport HeroBanner from \"../../components/home/hero-banner/hero-banner\"\nimport KeyFigures from \"../../components/key-figures/key-figures\"\nimport MediaCards from \"../../components/media-cards/media-cards\"\nimport Highlight from \"../../components/highlight/highlight\"\nimport MapModule from \"../../components/home/map-module/map-module\"\nimport Thematic from \"../../components/home/thematic/thematic\"\nimport Recruitment from \"../../components/home/recruitment/recruitment\"\nimport SEO from \"../../components/seo/seo\"\nimport { HrefLangLinks } from \"../../components/hrefLangLinks/hrefLangLinks\"\n\ntype RenderProps = {\n  data: HomeQuery\n  location: Location\n  pageContext: {\n    locale: string\n    defaultLocale: string\n    slugs: DatoCmsSlugsConfiguration\n  }\n}\n\nconst Home: React.FC<RenderProps> = ({ data, location, pageContext }) => {\n  const renderContent = (content, index: number) => {\n    if (!content.isEnabled) return\n\n    switch (content?.__typename) {\n      case \"DatoCmsHomePageHeroBanner\":\n        return (\n          <section id=\"KeolisHeroBanner\" className={styles.container} key={content.id}>\n            <HeroBanner data={content} />\n          </section>\n        )\n      case \"DatoCmsHomePageKeyFigure\":\n        return (\n          <section id=\"KeolisKeyFigures\" className={styles.container} key={content.id}>\n            <KeyFigures data={content} />\n          </section>\n        )\n      case \"DatoCmsHomePageMediaNews\":\n        const newsroomPageSlug =\n          pageContext.slugs._allNewsroomPageSlugLocales?.find(slug => slug.locale === pageContext.locale)?.value || \"\"\n        return (\n          <section id=\"KeolisMedia\" className={`${styles.container} ${styles.mediaCardsContainer}`} key={content.id}>\n            <MediaCards\n              title={content.title}\n              text={content.text}\n              buttonLink={`${newsroomPageSlug}`}\n              buttonLabel={content.buttonLabel}\n              news={data.allDatoCmsNews.nodes}\n              pressReleases={data.allDatoCmsPressRelease.nodes}\n              publications={data.allDatoCmsPublication.nodes}\n              filters={data.datoCmsNewsroom}\n              limit={15}\n            />\n          </section>\n        )\n      case \"DatoCmsHomePageHighlight\":\n        return (\n          <section id=\"KeolisHighlight\" className={styles.container} key={content.id}>\n            <Highlight data={content} />\n          </section>\n        )\n      case \"DatoCmsHomePageMapModule\":\n        return (\n          <section id=\"KeolisMapModule\" className={styles.container} key={content.id}>\n            <MapModule data={content} />\n          </section>\n        )\n      case \"DatoCmsHomePageThematic\":\n        return (\n          <section id=\"KeolisThematic\" className={styles.container} key={content.id}>\n            <Thematic data={content} />\n          </section>\n        )\n      case \"DatoCmsV3HomePageRecruitment\":\n        return (\n          <section id=\"KeolisRecruitment\" className={styles.container} key={content.id}>\n            <Recruitment data={content} />\n          </section>\n        )\n    }\n  }\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=\"/\"\n      pageTemplate=\"homepage\"\n    >\n      {data.datoCmsHomePage.content.map((content, index) => renderContent(content, index))}\n    </Layout>\n  )\n}\n\nexport const Head: React.FC<RenderProps> = ({ data, pageContext }) => (\n  <>\n    {data.datoCmsGlobalConfiguration.tokenGoogleSiteVerification && (\n      <meta name=\"google-site-verification\" content={data.datoCmsGlobalConfiguration.tokenGoogleSiteVerification} />\n    )}\n    <SEO description={data.datoCmsGlobalConfiguration.metaDescription} locale={useFormatLocale(pageContext.locale)} />\n    {typeof window !== \"undefined\" && (\n      <>\n        <link rel=\"canonical\" href={window.location.href} />\n        <HrefLangLinks defaultDomain={window.location.origin} defaultLocale={pageContext.defaultLocale} />\n      </>\n    )}\n  </>\n)\n\nexport const pageQuery = graphql`\n  query Home($locale: String!) {\n    datoCmsGlobalConfiguration(locale: $locale) {\n      metaDescription\n      tokenGoogleSiteVerification\n      subsidiaryLogo {\n        alt\n        format\n        originalId\n        url\n      }\n    }\n    datoCmsHomePage(locale: $locale) {\n      content {\n        __typename\n        ...MediaNewsFields\n        ...KeyFiguresFields\n        ...HighlightFields\n        ...HeroBannerFields\n        ...MapModuleFields\n        ...ThematicFields\n        ...V3HomePageRecruitmentFields\n      }\n    }\n    allDatoCmsPressRelease(\n      locale: $locale\n      sort: { publicationDate: DESC }\n      filter: { locales: { eq: $locale }, title: { ne: null } }\n    ) {\n      nodes {\n        ... on DatoCmsPressRelease {\n          ...PressReleaseMediaFields\n        }\n      }\n    }\n    allDatoCmsPublication(\n      locale: $locale\n      sort: { publicationDate: DESC }\n      filter: { locales: { eq: $locale }, title: { ne: null } }\n    ) {\n      nodes {\n        ... on DatoCmsPublication {\n          ...PublicationMediaFields\n        }\n      }\n    }\n    allDatoCmsNews(\n      locale: $locale\n      sort: { publicationDate: DESC }\n      filter: { locales: { eq: $locale }, title: { ne: null } }\n    ) {\n      nodes {\n        ... on DatoCmsNews {\n          ...NewsMediaFields\n        }\n      }\n    }\n    datoCmsNewsroom(locale: $locale) {\n      ...NewsroomFilterTitlesFields\n    }\n\n    datoCmsV3Header(locale: $locale) {\n      ...V3HeaderFields\n    }\n\n    datoCmsFooter(locale: $locale) {\n      ...FooterFields\n    }\n\n    datoCmsV3ContactButton(locale: $locale) {\n      ...V3ContactButtonFields\n    }\n  }\n`\n\nexport default Home\n","export const getAssociatedColor = (color: string) => {\n  const colorPairs = [\n    [\"#008296\", \"#00aac3\"], // keolis blue\n    [\"#bbe2f0\", \"#ecfaff\"], // sky blue\n    [\"#183149\", \"#61809d\"], // deep blue\n    [\"#554c43\", \"#928b83\"], // warm grey\n    [\"#5f006e\", \"#9233a1\"], // purple\n    [\"#484f0a\", \"#96b442\"], // green\n    [\"#af3100\", \"#e16433\"], // orange\n    [\"#ad915c\", \"#dac59d\"], // sand\n  ]\n\n  const findAssociatedColor = (inputColor: string) => {\n    for (const [color1, color2] of colorPairs) {\n      if (inputColor.toLowerCase() === color1) return color2\n      if (inputColor.toLowerCase() === color2) return color1\n    }\n    return \"\"\n  }\n  if (!color) return \"\"\n  return findAssociatedColor(color)\n}\n","export const isDateInRange = (start: string, end: string) => {\n  const startDate = new Date(start)\n  const endDate = end ? new Date(end) : null\n  const todayDate = new Date()\n\n  // IF end date is not provided, only check if start date is in range\n  if (!startDate || todayDate < startDate || (endDate && todayDate > endDate)) {\n    return false\n  } else if (startDate <= todayDate && (!endDate || todayDate < endDate)) {\n    return true\n  }\n}\n"],"names":["_ref","title","backgroundSvg","backgroundColor","backgroundColorBis","textColor","buttonText","redirectLink","getInternalExternalLink","useSlugs","style","React","className","ReactSVG","src","beforeInjection","svg","setAttribute","afterInjection","querySelector","fill","querySelectorAll","forEach","path","href","target","isInternalPage","Capsule","isSelected","special","_data$backgroundImage","_data$backgroundImage2","data","isMobile","useIsMobile","__typename","backgroundImage","url","urlMobile","alt","Card","cardBackgroundColor","hex","getAssociatedColor","cardTextColor","_redirectLink$interna","_redirectLink$interna2","article","arrows","onScroll","locale","useLocale","cards","useRef","publicationDate","internalLink","ref","key","id","useFormatDate","ScrollArrow","direction","onClick","sanitizedText","sanitizeHtml","text","_useState","useState","currentLink","setCurrentLink","recruitment","redirectLinkContentPage","isBackgroundDisplayed","dangerouslySetInnerHTML","__html","buttonLabel","link","isInternal","length","Carousel","scrollDirection","imageOrVideo","urlVideo","tabIndex","allow","sandbox","loading","allowFullScreen","image","cardsList","introductionText","redirectLinkHighlight","styles","gradientBackground","thematicCard","map","card","index","_card$cardBackgroundC","_card$cardBackgroundC2","_card$cardBackgroundC3","_card$cardBackgroundC4","_card$cardTextColor","_card$cardTextColorHo","sanitizedDescription","description","substring","cardBackgroundColorHover","cardTextColorHover","justifyContent","keyFigureTitle","_data$keyFigures","keyFigures","kf","_kf$redirectLink","_kf$redirectLink2","_kf$redirectLink3","value","date","cardDiv","closest","_cardDiv$getBoundingC","getBoundingClientRect","width","height","rect","cardType","color","CardImage","CardSvg","CardSplit","buttonLink","news","pressReleases","publications","filters","categories","limit","multiRow","buildInternalLink","mediaCardsRef","concat","_toConsumableArray","filter","isDateInRange","publicationEndDate","sort","a","b","Date","getTime","filteredCards","setFilteredCards","_useState2","activeCapsule","setActiveCapsule","scrollToCard","_document","rtlRatio","document","dir","itemWidth","current","children","clientWidth","scrollBy","left","top","behavior","useEffect","scrollLeft","filtersArray","newsroomInTheSpotlightIsEnabled","newsroomInTheSpotlightTitle","typename","newsroomNewsIsEnabled","newsroomNewsTitle","newsroomPressReleaseIsEnabled","newsroomPressReleaseTitle","newsroomPublicationsIsEnabled","newsroomPublicationsTitle","category","filterPublications","FilterBar","capsules","label","_card$category","isActive","flexWrap","slice","_card$miniatureCard$","_card$miniatureCard$2","_card$miniatureCard$3","_card$miniatureCard$4","_card$miniatureCard$10","_card$miniatureCard$11","_card$miniatureCard$12","_card$miniatureCard$13","_card$miniatureCard$14","_card$pdf","isPdf","pdf","externalLink","_card$miniatureCard$5","_card$miniatureCard$6","_card$miniatureCard$7","_card$miniatureCard$8","_card$miniatureCard$9","miniatureCard","isTitle","isImage","miniatureImage","isMinatureImageBig","slug","getCardUrl","_ref$special","_ref$className","capsuleClassName","capsule","disabled","arrowPath","shortFormat","optionLocale","fr","enGB","dateFormat","formattedDate","format","formattedDateWithOptions","Intl","DateTimeFormat","month","day","startsWith","container","arrowsContainer","cardContent","_data$carousel$slideI","_data$carousel$slideI2","arrowStyleMobile","border","boxShadow","slideIndex","setSlideIndex","handleArrowClick","carousel","chapo","links","_link$miniatureCardMa","_link$miniatureCardMa2","_link$miniatureCardMa3","_link$miniatureCardMa4","_link$miniatureCardMa5","_link$miniatureCardMa6","_link$miniatureCardMa7","_link$pdf","miniatureCardMapModule","filterColor","filterOpacity","_data$image","_data$image2","mapPageSlug","carouselLinks","Head","_ref2","pageContext","datoCmsGlobalConfiguration","tokenGoogleSiteVerification","name","content","SEO","metaDescription","useFormatLocale","window","rel","location","HrefLangLinks","defaultDomain","origin","defaultLocale","Layout","header","datoCmsV3Header","footer","datoCmsFooter","subsidiaryLogo","contactButton","datoCmsV3ContactButton","currentRoute","pageTemplate","datoCmsHomePage","_pageContext$slugs$_a","_pageContext$slugs$_a2","isEnabled","HeroBanner","KeyFigures","newsroomPageSlug","slugs","_allNewsroomPageSlugLocales","find","MediaCards","allDatoCmsNews","nodes","allDatoCmsPressRelease","allDatoCmsPublication","datoCmsNewsroom","Highlight","MapModule","Thematic","Recruitment","renderContent","colorPairs","inputColor","_i","_colorPairs","_colorPairs$_i","color1","color2","toLowerCase","findAssociatedColor","start","end","startDate","endDate","todayDate"],"sourceRoot":""}