{"version":3,"file":"component---src-v-3-templates-newsroom-newsroom-tsx-cbd84e21127642ce05a6.js","mappings":"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","sources":["webpack://keolis.com/./src/v3/components/banner/banner.tsx","webpack://keolis.com/./src/v3/components/banner/banner.module.scss","webpack://keolis.com/./src/v3/components/breadcrumb/breadcrumb.module.scss","webpack://keolis.com/./src/v3/components/breadcrumb/breadcrumb.tsx","webpack://keolis.com/./src/v3/components/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/newsroom/newsroom.tsx","webpack://keolis.com/./src/v3/templates/newsroom/newsroom.module.scss","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 * as styles from \"./banner.module.scss\"\n\ntype RenderProps = {\n title: string\n image?: {\n alt?: string\n url?: string\n }\n isFullscreenImage?: boolean\n}\n\nconst Banner: React.FC<RenderProps> = ({ title, image, isFullscreenImage }) => {\n return (\n <div className={styles.banner}>\n <div className={`${styles.container} ${isFullscreenImage ? styles.fullscreenBanner : \"\"}`}>\n <h1 className={`${styles.title} ${isFullscreenImage ? styles.overlayTitle : \"\"}`}>{title}</h1>\n {image?.url && (\n <img\n src={image.url}\n alt={image.alt || \"\"}\n className={`${styles.image} ${isFullscreenImage ? styles.fullscreenImage : \"\"}`}\n />\n )}\n </div>\n </div>\n )\n}\n\nexport default Banner\n","// extracted by mini-css-extract-plugin\nexport var banner = \"banner-module--banner--229be\";\nexport var container = \"banner-module--container--4e0c9\";\nexport var fullscreenBanner = \"banner-module--fullscreenBanner--c6525\";\nexport var fullscreenImage = \"banner-module--fullscreenImage--b2b8e\";\nexport var image = \"banner-module--image--75459\";\nexport var overlayTitle = \"banner-module--overlayTitle--30faf\";\nexport var title = \"banner-module--title--b50c6\";","// extracted by mini-css-extract-plugin\nexport var breadcrumb = \"breadcrumb-module--breadcrumb--a05f8\";\nexport var breadcrumbContainer = \"breadcrumb-module--breadcrumbContainer--19e9a\";\nexport var home = \"breadcrumb-module--home--2f79d\";\nexport var lastPage = \"breadcrumb-module--lastPage--dd27b\";\nexport var pElement = \"breadcrumb-module--pElement--155b5\";","import React from \"react\"\nimport { InternalExternalLinkBlockFieldsFragment } from \"../../../../graphql-types\"\nimport * as styles from \"./breadcrumb.module.scss\"\nimport { useLocale } from \"../../context/locale-context\"\nimport { useSlugs } from \"../../context/slugs-context\"\n\ntype RenderProps = {\n title: string\n homeLabel: string\n middlePages?: InternalExternalLinkBlockFieldsFragment[]\n}\n\nconst Breadcrumb: React.FC<RenderProps> = ({ title, homeLabel, middlePages }) => {\n const { locale } = useLocale()\n const { homeLink, getInternalExternalLink } = useSlugs()\n\n return (\n <ul className={styles.breadcrumb} data-datocms-noindex={true}>\n <li>\n <a className={styles.home} href={homeLink}>\n {homeLabel}\n </a>\n </li>\n {middlePages?.map(\n middlePage =>\n middlePage?.title && (\n <li className={styles.breadcrumbContainer} key={middlePage.title}>\n <p className={styles.pElement}>{\">\"}</p>\n <a\n href={getInternalExternalLink(middlePage)}\n className={styles.home}\n lang={locale !== \"en\" && middlePage.title === \"Newsroom\" ? \"en\" : null}\n >\n {middlePage.title}\n </a>\n </li>\n )\n )}\n {title && (\n <li className={styles.breadcrumbContainer}>\n <p className={styles.pElement}>{\">\"}</p>\n <p className={styles.lastPage} lang={locale !== \"en\" && title === \"Newsroom\" ? \"en\" : null}>\n {title}\n </p>\n </li>\n )}\n </ul>\n )\n}\n\nexport default Breadcrumb\n","import React from \"react\"\nimport * 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","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { DatoCmsSlugsConfiguration, NewsroomPageQuery } from \"../../../../graphql-types\"\nimport * as styles from \"./newsroom.module.scss\"\nimport { useFormatLocale, useIsMobile, useSlugValue } from \"../../hooks\"\nimport Layout from \"../../components/layout/layout\"\nimport Banner from \"../../components/banner/banner\"\nimport Breadcrumb from \"../../components/breadcrumb/breadcrumb\"\nimport MediaCards from \"../../components/media-cards/media-cards\"\nimport SEO from \"../../components/seo/seo\"\nimport { HrefLangLinks } from \"../../components/hrefLangLinks/hrefLangLinks\"\n\ntype RenderProps = {\n data: NewsroomPageQuery\n location: Location\n pageContext: {\n locale: string\n defaultLocale: string\n slugs: DatoCmsSlugsConfiguration\n }\n}\n\nconst Newsroom: React.FC<RenderProps> = ({ data, location, pageContext }) => {\n const isMobile = useIsMobile()\n const newsLink = useSlugValue(pageContext.slugs._allNewsPageSlugLocales, pageContext.locale)\n const pressReleasesLink = useSlugValue(pageContext.slugs._allPressReleasesPageSlugLocales, pageContext.locale)\n const publicationsLink = useSlugValue(pageContext.slugs._allPublicationsPageSlugLocales, pageContext.locale)\n\n return (\n <Layout\n pageContext={pageContext}\n location={location}\n header={data.datoCmsV3Header}\n footer={data.datoCmsFooter}\n subsidiaryLogo={data.datoCmsGlobalConfiguration.subsidiaryLogo}\n contactButton={data.datoCmsV3ContactButton}\n currentRoute={useSlugValue(pageContext.slugs._allNewsroomPageSlugLocales, pageContext.locale)}\n pageTemplate=\"newsroom\"\n >\n <section className={styles.container}>\n <Banner title={data.datoCmsNewsroom.newsroomPageTitle} image={data.datoCmsNewsroom.newsroomPageImage} />\n\n <div className={styles.content}>\n {!isMobile && <Breadcrumb title=\"Newsroom\" homeLabel={data.datoCmsGlobalConfiguration.homePageTitle} />}\n {data.datoCmsNewsroom.newsroomInTheSpotlightIsEnabled && (\n <MediaCards\n title={data.datoCmsNewsroom.newsroomInTheSpotlightTitle}\n text={data.datoCmsNewsroom.newsroomInTheSpotlightText}\n news={data.allDatoCmsNews.nodes}\n pressReleases={data.allDatoCmsPressRelease.nodes}\n publications={data.allDatoCmsPublication.nodes}\n limit={15}\n />\n )}\n {data.datoCmsNewsroom.newsroomNewsIsEnabled && (\n <MediaCards\n title={data.datoCmsNewsroom.newsroomNewsTitle}\n text={data.datoCmsNewsroom.newsroomNewsText}\n buttonLink={newsLink}\n buttonLabel={data.datoCmsNewsroom.newsroomNewsRedirectionButtonLabel}\n news={data.allDatoCmsNews.nodes}\n limit={4}\n />\n )}\n {data.datoCmsNewsroom.newsroomPressReleaseIsEnabled && (\n <MediaCards\n title={data.datoCmsNewsroom.newsroomPressReleaseTitle}\n text={data.datoCmsNewsroom.newsroomPressReleaseText}\n buttonLink={pressReleasesLink}\n buttonLabel={data.datoCmsNewsroom.newsroomPressReleaseButtonLabel}\n pressReleases={data.allDatoCmsPressRelease.nodes}\n limit={4}\n />\n )}\n {data.datoCmsNewsroom.newsroomPublicationsIsEnabled && (\n <MediaCards\n title={data.datoCmsNewsroom.newsroomPublicationsTitle}\n text={data.datoCmsNewsroom.newsroomPublicationsText}\n buttonLink={publicationsLink}\n buttonLabel={data.datoCmsNewsroom.newsroomPublicationsButtonLabel}\n publications={data.allDatoCmsPublication.nodes}\n categories={data.datoCmsPublicationCategoryList.categories.map(category => category.category)}\n limit={4}\n />\n )}\n </div>\n </section>\n </Layout>\n )\n}\n\nexport const Head: React.FC<RenderProps> = ({ data, pageContext }) => (\n <>\n <SEO\n title={data.datoCmsNewsroom.newsroomPageTitle}\n description={data.datoCmsGlobalConfiguration.metaDescription}\n locale={useFormatLocale(pageContext.locale)}\n />\n {typeof window !== \"undefined\" && (\n <HrefLangLinks\n defaultDomain={window.location.origin}\n defaultLocale={pageContext.defaultLocale}\n slugs={[pageContext.slugs._allNewsroomPageSlugLocales]}\n />\n )}\n </>\n)\nexport const fragment = graphql`\n fragment NewsFields on DatoCmsNews {\n id\n __typename\n titleTag\n metaDescription\n noindex\n isCanonical\n urlCanonical\n title\n slug\n category {\n category\n }\n chapo\n description\n publicationDate\n publicationEndDate\n image {\n alt\n format\n url\n format\n }\n imageDisplayedOnCards {\n alt\n url\n }\n richContent {\n __typename\n ... on DatoCmsStructuredText {\n ...StructuredTextFields\n }\n ... on DatoCmsVideo {\n ...VideoFields\n }\n ... on DatoCmsTransportMethodContent {\n ...TransportModeFields\n }\n ... on DatoCmsButton {\n ...ButtonFields\n }\n ... on DatoCmsContactNetwork {\n ...NetworkContactFields\n }\n ... on DatoCmsRelatedContent {\n ...RelatedContentFields\n }\n ... on DatoCmsImage {\n ...ImageFields\n }\n ... on DatoCmsOutlinedTextBlock {\n ...OutlinedTextBlockFields\n }\n ... on DatoCmsSlider {\n ...SliderFields\n }\n ... on DatoCmsKeyNumberSimple {\n ...KeyNumberSimpleFields\n }\n ... on DatoCmsKeyNumberColored {\n ...KeyNumberColoredFields\n }\n ... on DatoCmsKeyNumberColoredBackground {\n ...KeyNumberColoredBackgroundFields\n }\n ... on DatoCmsSimpleText {\n ...SimpleTextFields\n }\n # ... on DatoCmsQuote {\n # ...QuoteFields\n # }\n }\n # ...ReadMoreNewsFields\n # pdfFile {\n # url\n # }\n }\n\n fragment PressReleaseFields on DatoCmsPressRelease {\n id\n __typename\n titleTag\n metaDescription\n noindex\n isCanonical\n urlCanonical\n title\n slug\n category {\n category\n }\n subtitle\n chapo\n image {\n alt\n url\n format\n }\n imageDisplayedOnCards {\n alt\n url\n }\n publicationDate\n publicationEndDate\n richContent {\n __typename\n ... on DatoCmsStructuredText {\n ...StructuredTextFields\n }\n ... on DatoCmsVideo {\n ...VideoFields\n }\n ... on DatoCmsTransportMethodContent {\n ...TransportModeFields\n }\n ... on DatoCmsButton {\n ...ButtonFields\n }\n ... on DatoCmsContactNetwork {\n ...NetworkContactFields\n }\n ... on DatoCmsRelatedContent {\n ...RelatedContentFields\n }\n ... on DatoCmsImage {\n ...ImageFields\n }\n ... on DatoCmsOutlinedTextBlock {\n ...OutlinedTextBlockFields\n }\n ... on DatoCmsSlider {\n ...SliderFields\n }\n ... on DatoCmsKeyNumberSimple {\n ...KeyNumberSimpleFields\n }\n ... on DatoCmsKeyNumberColored {\n ...KeyNumberColoredFields\n }\n ... on DatoCmsKeyNumberColoredBackground {\n ...KeyNumberColoredBackgroundFields\n }\n ... on DatoCmsSimpleText {\n ...SimpleTextFields\n }\n # ... on DatoCmsQuote {\n # ...QuoteFields\n # }\n }\n # ...ReadMorePressReleaseFields\n # pdfFile {\n # url\n # }\n }\n\n fragment PublicationFields on DatoCmsPublication {\n id\n __typename\n title\n highlightedTitle\n publicationDate\n publicationEndDate\n image {\n alt\n url\n }\n description\n category {\n ...PublicationCategoryFields\n }\n isPdf\n pdf {\n url\n }\n externalLink\n }\n fragment NewsroomNewsFields on DatoCmsNewsroom {\n id\n newsroomNewsIsEnabled\n newsroomNewsTitle\n newsroomNewsText\n newsroomNewsRedirectionButtonLabel\n displayNewsManually\n news {\n ...NewsFields\n }\n }\n fragment NewsroomInTheSpotlightFields on DatoCmsNewsroom {\n id\n newsroomInTheSpotlightIsEnabled\n newsroomInTheSpotlightTitle\n newsroomInTheSpotlightText\n }\n`\nexport const pageQuery = graphql`\n query NewsroomPage($locale: String!) {\n datoCmsGlobalConfiguration(locale: $locale) {\n metaDescription\n homePageTitle\n subsidiaryLogo {\n alt\n format\n originalId\n url\n }\n }\n\n datoCmsV3Header(locale: $locale) {\n ...V3HeaderFields\n }\n datoCmsFooter(locale: $locale) {\n ...FooterFields\n }\n datoCmsV3ContactButton(locale: $locale) {\n ...V3ContactButtonFields\n }\n\n datoCmsNewsroom(locale: $locale) {\n newsroomPageTitle\n newsroomPageImage {\n alt\n url\n }\n ...NewsroomInTheSpotlightFields\n ...NewsroomNewsFields\n ...NewsroomPressReleasesFields\n ...NewsroomPublicationsFields\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 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\n datoCmsPublicationCategoryList(locale: $locale) {\n categories {\n category\n }\n }\n }\n`\n\nexport default Newsroom\n","// extracted by mini-css-extract-plugin\nexport var container = \"newsroom-module--container--9a517\";\nexport var content = \"newsroom-module--content--596c2\";","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","image","isFullscreenImage","React","className","styles","url","src","alt","breadcrumbContainer","home","pElement","homeLabel","middlePages","locale","useLocale","_useSlugs","useSlugs","homeLink","getInternalExternalLink","href","map","middlePage","key","lang","date","backgroundImage","useFormatDate","backgroundSvg","backgroundColor","backgroundColorBis","isMobile","useIsMobile","ReactSVG","afterInjection","svg","querySelector","style","fill","querySelectorAll","forEach","path","cardDiv","closest","_cardDiv$getBoundingC","getBoundingClientRect","width","height","setAttribute","rect","cardType","textColor","color","CardImage","CardSvg","CardSplit","text","buttonLink","buttonLabel","news","pressReleases","publications","filters","categories","limit","multiRow","buildInternalLink","mediaCardsRef","useRef","cards","concat","_toConsumableArray","filter","card","isDateInRange","publicationDate","publicationEndDate","sort","a","b","Date","getTime","_useState","useState","filteredCards","setFilteredCards","_useState2","activeCapsule","setActiveCapsule","scrollToCard","scrollDirection","_document","rtlRatio","document","dir","itemWidth","current","children","clientWidth","scrollBy","left","top","behavior","useEffect","scrollLeft","sanitizedText","sanitizeHtml","filtersArray","newsroomInTheSpotlightIsEnabled","newsroomInTheSpotlightTitle","typename","newsroomNewsIsEnabled","newsroomNewsTitle","newsroomPressReleaseIsEnabled","newsroomPressReleaseTitle","newsroomPublicationsIsEnabled","newsroomPublicationsTitle","category","filterPublications","dangerouslySetInnerHTML","__html","length","FilterBar","capsules","label","onClick","_card$category","__typename","isActive","Capsule","isSelected","special","ref","flexWrap","slice","index","_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","Card","id","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","cardBackgroundColor","hex","getAssociatedColor","cardTextColor","ScrollArrow","direction","_ref$special","_ref$className","link","capsuleClassName","target","isInternal","capsule","disabled","arrowPath","shortFormat","optionLocale","fr","enGB","dateFormat","formattedDate","format","formattedDateWithOptions","Intl","DateTimeFormat","month","day","startsWith","Head","_ref2","data","pageContext","SEO","datoCmsNewsroom","newsroomPageTitle","description","datoCmsGlobalConfiguration","metaDescription","useFormatLocale","window","HrefLangLinks","defaultDomain","location","origin","defaultLocale","slugs","_allNewsroomPageSlugLocales","newsLink","useSlugValue","_allNewsPageSlugLocales","pressReleasesLink","_allPressReleasesPageSlugLocales","publicationsLink","_allPublicationsPageSlugLocales","Layout","header","datoCmsV3Header","footer","datoCmsFooter","subsidiaryLogo","contactButton","datoCmsV3ContactButton","currentRoute","pageTemplate","Banner","newsroomPageImage","Breadcrumb","homePageTitle","MediaCards","newsroomInTheSpotlightText","allDatoCmsNews","nodes","allDatoCmsPressRelease","allDatoCmsPublication","newsroomNewsText","newsroomNewsRedirectionButtonLabel","newsroomPressReleaseText","newsroomPressReleaseButtonLabel","newsroomPublicationsText","newsroomPublicationsButtonLabel","datoCmsPublicationCategoryList","colorPairs","inputColor","_i","_colorPairs","_colorPairs$_i","color1","color2","toLowerCase","findAssociatedColor","start","end","startDate","endDate","todayDate"],"sourceRoot":""}