{"version":3,"file":"726-6dc3bb2a8cf25f6597c2.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/hrefLangLinks/hrefLangLinks.tsx","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/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/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/utils/get-associated-color.ts","webpack://keolis.com/./src/v3/components/seo/seo.js"],"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\";","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 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 \"./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 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","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","/**\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","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","HrefLangLinks","defaultDomain","locales","defaultLocale","slugs","manualSlugs","config","endsWith","basePath","startsWith","slug","useSlugValue","join","generatePath","Fragment","rel","hrefLang","keyFigureTitle","_data$keyFigures","keyFigures","kf","_kf$redirectLink","_kf$redirectLink2","_kf$redirectLink3","value","_ref$special","_ref$className","capsuleClassName","disabled","arrowPath","date","shortFormat","optionLocale","fr","enGB","dateFormat","formattedDate","format","Date","formattedDateWithOptions","Intl","DateTimeFormat","month","day","slice","color","colorPairs","inputColor","_i","_colorPairs","_colorPairs$_i","color1","color2","toLowerCase","findAssociatedColor","_datoCmsSite$faviconM","_datoCmsSite$faviconM2","noindex","datoCmsSite","useStaticQuery","metaDescription","globalSeo","fallbackSeo","defaultTitle","siteName","formattedTitle","titleDisplayed","isRtl","lang","dir","name","content","property","faviconMetaTags","tags","tagName","attributes","sizes","type","enableGoogleAnalytics","enableGoogleTagManagerHead"],"sourceRoot":""}