{"version":3,"file":"component---src-templates-pni-pni-tsx-0383ac2c295d766c90c8.js","mappings":"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","sources":["webpack://portail-innovation/./node_modules/react-gtm-module/dist/Snippets.js","webpack://portail-innovation/./node_modules/react-gtm-module/dist/TagManager.js","webpack://portail-innovation/./node_modules/react-gtm-module/dist/index.js","webpack://portail-innovation/./node_modules/react-gtm-module/dist/utils/warn.js","webpack://portail-innovation/./src/components/home/articleCard/articleCard.module.scss","webpack://portail-innovation/./src/components/home/articleCard/articleCard.tsx","webpack://portail-innovation/./src/templates/pni/cover/cover.module.scss","webpack://portail-innovation/./static/vectors/pniLensIcon.svg","webpack://portail-innovation/./src/templates/pni/cover/filter/filter.module.scss","webpack://portail-innovation/./src/components/common/jsx/button/button.module.scss","webpack://portail-innovation/./src/components/common/jsx/button/button.tsx","webpack://portail-innovation/./src/templates/pni/cover/filter/filter.tsx","webpack://portail-innovation/./src/templates/pni/cover/cover.tsx","webpack://portail-innovation/./src/templates/pni/articles/articles.module.scss","webpack://portail-innovation/./src/templates/pni/articles/articles.tsx","webpack://portail-innovation/./src/templates/pni/banner/banner.tsx","webpack://portail-innovation/./src/templates/pni/banner/banner.module.scss","webpack://portail-innovation/./src/templates/pni/pni.tsx","webpack://portail-innovation/./src/templates/pni/pni.module.scss","webpack://portail-innovation/./src/components/newsletter/newsletter.module.scss","webpack://portail-innovation/./static/vectors/arrow.svg","webpack://portail-innovation/./static/vectors/arrowV2.svg","webpack://portail-innovation/./static/vectors/backArrowV2.svg"],"sourcesContent":["'use strict';\n\nvar _warn = require('./utils/warn');\nvar _warn2 = _interopRequireDefault(_warn);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\n// https://developers.google.com/tag-manager/quickstart\n\nvar Snippets = {\n tags: function tags(_ref) {\n var id = _ref.id,\n events = _ref.events,\n dataLayer = _ref.dataLayer,\n dataLayerName = _ref.dataLayerName,\n preview = _ref.preview,\n auth = _ref.auth;\n var gtm_auth = '>m_auth=' + auth;\n var gtm_preview = '>m_preview=' + preview;\n if (!id) (0, _warn2.default)('GTM Id is required');\n var iframe = '\\n <iframe src=\"https://www.googletagmanager.com/ns.html?id=' + id + gtm_auth + gtm_preview + '>m_cookies_win=x\"\\n height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\" id=\"tag-manager\"></iframe>';\n var script = '\\n (function(w,d,s,l,i){w[l]=w[l]||[];\\n w[l].push({\\'gtm.start\\': new Date().getTime(),event:\\'gtm.js\\', ' + JSON.stringify(events).slice(1, -1) + '});\\n var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!=\\'dataLayer\\'?\\'&l=\\'+l:\\'\\';\\n j.async=true;j.src=\\'https://www.googletagmanager.com/gtm.js?id=\\'+i+dl+\\'' + gtm_auth + gtm_preview + '>m_cookies_win=x\\';\\n f.parentNode.insertBefore(j,f);\\n })(window,document,\\'script\\',\\'' + dataLayerName + '\\',\\'' + id + '\\');';\n var dataLayerVar = this.dataLayer(dataLayer, dataLayerName);\n return {\n iframe: iframe,\n script: script,\n dataLayerVar: dataLayerVar\n };\n },\n dataLayer: function dataLayer(_dataLayer, dataLayerName) {\n return '\\n window.' + dataLayerName + ' = window.' + dataLayerName + ' || [];\\n window.' + dataLayerName + '.push(' + JSON.stringify(_dataLayer) + ')';\n }\n};\nmodule.exports = Snippets;","'use strict';\n\nvar _Snippets = require('./Snippets');\nvar _Snippets2 = _interopRequireDefault(_Snippets);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nvar TagManager = {\n dataScript: function dataScript(dataLayer) {\n var script = document.createElement('script');\n script.innerHTML = dataLayer;\n return script;\n },\n gtm: function gtm(args) {\n var snippets = _Snippets2.default.tags(args);\n var noScript = function noScript() {\n var noscript = document.createElement('noscript');\n noscript.innerHTML = snippets.iframe;\n return noscript;\n };\n var script = function script() {\n var script = document.createElement('script');\n script.innerHTML = snippets.script;\n return script;\n };\n var dataScript = this.dataScript(snippets.dataLayerVar);\n return {\n noScript: noScript,\n script: script,\n dataScript: dataScript\n };\n },\n initialize: function initialize(_ref) {\n var gtmId = _ref.gtmId,\n _ref$events = _ref.events,\n events = _ref$events === undefined ? {} : _ref$events,\n dataLayer = _ref.dataLayer,\n _ref$dataLayerName = _ref.dataLayerName,\n dataLayerName = _ref$dataLayerName === undefined ? 'dataLayer' : _ref$dataLayerName,\n _ref$auth = _ref.auth,\n auth = _ref$auth === undefined ? '' : _ref$auth,\n _ref$preview = _ref.preview,\n preview = _ref$preview === undefined ? '' : _ref$preview;\n var gtm = this.gtm({\n id: gtmId,\n events: events,\n dataLayer: dataLayer || undefined,\n dataLayerName: dataLayerName,\n auth: auth,\n preview: preview\n });\n if (dataLayer) document.head.appendChild(gtm.dataScript);\n document.head.insertBefore(gtm.script(), document.head.childNodes[0]);\n document.body.insertBefore(gtm.noScript(), document.body.childNodes[0]);\n },\n dataLayer: function dataLayer(_ref2) {\n var _dataLayer = _ref2.dataLayer,\n _ref2$dataLayerName = _ref2.dataLayerName,\n dataLayerName = _ref2$dataLayerName === undefined ? 'dataLayer' : _ref2$dataLayerName;\n if (window[dataLayerName]) return window[dataLayerName].push(_dataLayer);\n var snippets = _Snippets2.default.dataLayer(_dataLayer, dataLayerName);\n var dataScript = this.dataScript(snippets);\n document.head.insertBefore(dataScript, document.head.childNodes[0]);\n }\n};\nmodule.exports = TagManager;","'use strict';\n\nvar _TagManager = require('./TagManager');\nvar _TagManager2 = _interopRequireDefault(_TagManager);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nmodule.exports = _TagManager2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar warn = function warn(s) {\n console.warn('[react-gtm]', s);\n};\nexports.default = warn;","// extracted by mini-css-extract-plugin\nexport var circle = \"articleCard-module--circle--64433\";\nexport var circleCross = \"articleCard-module--circleCross--8e6f2\";\nexport var dateContainerDouble = \"articleCard-module--dateContainerDouble--02778\";\nexport var news = \"articleCard-module--news--46e73\";\nexport var newsDate = \"articleCard-module--newsDate--3f761\";\nexport var newsDouble = \"articleCard-module--newsDouble--6fcec\";\nexport var newsImage = \"articleCard-module--newsImage--3b2b2\";\nexport var newsImageDouble = \"articleCard-module--newsImageDouble--be964\";\nexport var newsInfoContainer = \"articleCard-module--newsInfoContainer--62708\";\nexport var newsInfoContainerDouble = \"articleCard-module--newsInfoContainerDouble--2d3c4\";\nexport var newsInfos = \"articleCard-module--newsInfos--067cb\";\nexport var newsInfosDouble = \"articleCard-module--newsInfosDouble--9833c\";\nexport var newsTitle = \"articleCard-module--newsTitle--fa71f\";\nexport var newsTitleContainer = \"articleCard-module--newsTitleContainer--bc933\";\nexport var newsTitleDouble = \"articleCard-module--newsTitleDouble--4ce2b\";","import * as styles from \"./articleCard.module.scss\"\nimport React from \"react\";\nimport { navigate } from \"gatsby\";\nimport { ReactSVG } from \"react-svg\";\nimport addCross from \"../../../../static/vectors/addCross.svg\"\nimport moment from \"moment\";\n\ntype ArticleCardProps = {\n image: string\n title: string\n type?: string\n date?: string\n infos: string\n bgColor: string\n textColor: string\n iconColor: string\n circleColor: string\n link: string\n fullscreedMode?: boolean\n double?: boolean\n padding?: string\n style?: React.CSSProperties\n}\n\nconst ArticleCard: React.FC<ArticleCardProps> = (props: ArticleCardProps) => {\n const handleClick = () => {\n navigate(props.link)\n }\n\n return (\n <a \n href={props.link}\n className={props.double ? styles.newsDouble : styles.news} \n style={{\n ...(props.padding ? {padding: props.padding} : {}),\n ...(props.style || {}),\n textDecoration: 'none'\n }}\n >\n <div\n className={props.double ? styles.newsImageDouble : styles.newsImage}\n style={\n props.image\n ? {\n backgroundImage: `url(${props.image})`,\n backgroundSize: \"cover\",\n backgroundPosition: \"center\",\n borderRadius: !props.fullscreedMode\n ? props.double\n ? \"0 28px 28px 0\"\n : \"28px 28px 0 0\"\n : undefined,\n }\n : {\n backgroundColor: \"#FFFF74\",\n borderRadius: !props.fullscreedMode\n ? props.double\n ? \"0 28px 28px 0\"\n : \"28px 28px 0 0\"\n : undefined,\n }\n }\n />\n\n <div className={props.double ? styles.newsInfoContainerDouble : styles.newsInfoContainer}\n style={{\n backgroundColor: props.bgColor,\n borderRadius: !props.fullscreedMode\n ? props.double\n ? \"28px 0 0 28px \"\n : \"0 0 28px 28px\"\n : undefined,\n }}>\n <div>\n <div className={styles.newsTitleContainer}>\n <h3 className={props.double ? styles.newsTitleDouble : styles.newsTitle} style={{ color: props.textColor }}>\n {props.title}\n </h3>\n <div>\n <p className={styles.newsDate} style={{ color: props.textColor }}>\n {props.type}\n </p>\n <p className={styles.newsDate} style={{ color: props.textColor }}>\n {props.date ? `${moment(props.date).format(\"DD.MM.YYYY\")}` : null}\n </p>\n </div>\n </div>\n <p className={props.double ? styles.newsInfosDouble : styles.newsInfos} style={{ color: props.textColor }}>\n {props.infos}\n </p>\n </div>\n <div className={styles.circle} style={{ backgroundColor: props.circleColor }}>\n <ReactSVG src={addCross} beforeInjection={(svg) => {\n const paths = svg.querySelectorAll('path')\n paths.forEach(path => path.setAttribute('stroke', props.iconColor))\n }} />\n </div>\n </div>\n </a>\n )\n}\n\nexport default ArticleCard","// extracted by mini-css-extract-plugin\nexport var container = \"cover-module--container--a8308\";\nexport var filtersContainer = \"cover-module--filtersContainer--35f07\";\nexport var formElements = \"cover-module--formElements--fdc43\";\nexport var mobileContainer = \"cover-module--mobileContainer--24b1e\";\nexport var mobileFormElements = \"cover-module--mobileFormElements--63680\";\nexport var mobileSearchButton = \"cover-module--mobileSearchButton--dc633\";\nexport var mobileSearchForm = \"cover-module--mobileSearchForm--c9b90\";\nexport var searchButton = \"cover-module--searchButton--b8f73\";\nexport var searchForm = \"cover-module--searchForm--a0e69\";\nexport var searchInput = \"cover-module--searchInput--27f3d\";","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyMCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IlNlYXJjaCI+CjxwYXRoIGlkPSJWZWN0b3IiIGQ9Ik0xMy41IDEyTDE4LjUgMTdNMTUuNSA4QzE1LjUgMTEuODY2IDEyLjM2NiAxNSA4LjUgMTVDNC42MzQwMSAxNSAxLjUgMTEuODY2IDEuNSA4QzEuNSA0LjEzNDAxIDQuNjM0MDEgMSA4LjUgMUMxMi4zNjYgMSAxNS41IDQuMTM0MDEgMTUuNSA4WiIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIi8+CjwvZz4KPC9zdmc+Cg==\"","// extracted by mini-css-extract-plugin\nexport var buttonContainer = \"filter-module--buttonContainer--23ea1\";\nexport var closedIcon = \"filter-module--closedIcon--16ea8\";\nexport var container = \"filter-module--container--e5fa9\";\nexport var dropdownLabel = \"filter-module--dropdownLabel--c5cf6\";\nexport var mobileDropdownClosed = \"filter-module--mobileDropdownClosed--64fc3\";\nexport var openedIcon = \"filter-module--openedIcon--86b6d\";\nexport var selectedFilterName = \"filter-module--selectedFilterName--d3564\";","// extracted by mini-css-extract-plugin\nexport var animatedButton = \"button-module--animatedButton--b7320\";\nexport var animatedButtonCircle = \"button-module--animatedButtonCircle--e84ad\";\nexport var animatedButtonCircleDark = \"button-module--animatedButtonCircleDark--32cd6\";\nexport var animatedButtonDark = \"button-module--animatedButtonDark--65753\";\nexport var button = \"button-module--button--7ba42\";\nexport var buttonDark = \"button-module--buttonDark--78b6a\";\nexport var circleButton = \"button-module--circleButton--5fe1b\";\nexport var circleButtonDark = \"button-module--circleButtonDark--74722\";\nexport var filterButton = \"button-module--filterButton--1893b\";\nexport var filterButtonTitle = \"button-module--filterButtonTitle--c760a\";\nexport var goBackButton = \"button-module--goBackButton--fc26e\";\nexport var goBackButtonTitle = \"button-module--goBackButtonTitle--6e96c\";\nexport var goBackPictogram = \"button-module--goBackPictogram--d3a01\";\nexport var moveArrow = \"button-module--moveArrow--1e6e0\";\nexport var pictogram = \"button-module--pictogram--bca73\";\nexport var pictogramContainer = \"button-module--pictogramContainer--effbb\";\nexport var selectedFilterButton = \"button-module--selectedFilterButton--d400c\";\nexport var title = \"button-module--title--4df73\";","import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\n\nimport { Link } from \"gatsby\"\n\nimport * as styles from \"./button.module.scss\"\nimport arrow from \"../../../../../static/vectors/arrow.svg\"\nimport backArrow from \"../../../../../static/vectors/backArrow.svg\"\n\ntype ButtonProps = {\n data: any\n darkMode?: boolean\n isCircleButton?: boolean\n isGoBackButton?: boolean\n isFilterButton?: boolean\n isFilterSelected?: boolean\n disabled?: boolean\n onClick?: () => void\n}\n\nconst Button: React.FC<ButtonProps> = ({\n data,\n darkMode,\n isCircleButton,\n isGoBackButton,\n isFilterButton,\n isFilterSelected,\n disabled = false,\n onClick,\n}) => {\n return (\n <div>\n {isCircleButton && (\n <a\n href={data.isInternalPage ? \"/\" + data.link : data.link}\n className={darkMode ? styles.circleButtonDark : styles.circleButton}\n onClick={onClick}\n >\n <div className={styles.pictogramContainer}>\n <ReactSVG className={styles.pictogram} src={arrow} />\n <ReactSVG className={styles.pictogram} src={arrow} />\n </div>\n </a>\n )}\n {isFilterButton && (\n <button\n disabled={disabled}\n className={isFilterSelected ? styles.selectedFilterButton : styles.filterButton}\n onClick={onClick}\n >\n <h2 className={styles.filterButtonTitle}>{data.title}</h2>\n </button>\n )}\n {isGoBackButton && (\n <Link to={\"/\"} className={styles.goBackButton} onClick={onClick}>\n <ReactSVG className={styles.goBackPictogram} src={backArrow} />\n <div className={styles.goBackButtonTitle}>{data.title}</div>\n </Link>\n )}\n {!isCircleButton && !isFilterButton && !isGoBackButton && (\n <a\n href={\n data.isInternalPage ? (data.link === \"/\" || data.link[0] === \"/\" ? data.link : \"/\" + data.link) : data.link\n }\n className={darkMode ? styles.buttonDark : styles.button}\n onClick={onClick}\n target={data.isInternalPage ? \"_self\" : \"_blank\"}\n >\n <div className={styles.title}>{data.title}</div>\n <div className={styles.pictogramContainer}>\n <ReactSVG className={styles.pictogram} src={arrow} />\n <ReactSVG className={styles.pictogram} src={arrow} />\n </div>\n </a>\n )}\n </div>\n )\n}\n\nexport default Button\n","import React, { useState } from \"react\"\nimport { ReactSVG } from \"react-svg\"\n\nimport * as styles from \"./filter.module.scss\"\nimport Button from \"../../../../components/common/jsx/button/button\"\nimport useWindowWidth from \"../../../../hooks/use-window-width\"\nimport downArrow from \"../../../../../static/vectors/downArrow.svg\"\nimport { DatoCmsArticle } from \"../../../../../graphql-types\"\n\ntype FilterProps = {\n projectsNewsInsightsAllFilter: boolean\n projectsNewsInsightsFilterLabel: string\n projectsNewsInsightsTwoFilters: Array<any>\n articles: Array<DatoCmsArticle>\n filterArticles: any\n color?: string\n changeCurrentPage?: any\n}\n\nconst Filter: React.FC<FilterProps> = ({\n projectsNewsInsightsAllFilter,\n projectsNewsInsightsFilterLabel,\n projectsNewsInsightsTwoFilters,\n filterArticles,\n articles,\n color,\n changeCurrentPage,\n}) => {\n const [isFilterSelected, setIsFilterSelected] = useState(projectsNewsInsightsAllFilter)\n const [selectedFilterName, setSelectedFilterName] = useState(projectsNewsInsightsFilterLabel || undefined)\n\n const displayDesktopFilters = (): JSX.Element => {\n return (\n <section className={styles.container}>\n {projectsNewsInsightsAllFilter && (\n <div className={styles.buttonContainer}>\n <Button\n data={{ title: `${projectsNewsInsightsFilterLabel}` }}\n isFilterButton={true}\n isFilterSelected={isFilterSelected && projectsNewsInsightsFilterLabel === selectedFilterName}\n disabled={isFilterSelected && projectsNewsInsightsFilterLabel === selectedFilterName}\n onClick={() => handleAllFilterSelection(projectsNewsInsightsFilterLabel)}\n />\n </div>\n )}\n {projectsNewsInsightsTwoFilters.map((filter, index) => (\n <div key={index} className={styles.buttonContainer}>\n <Button\n data={{ title: `${filter.label}` }}\n isFilterButton={true}\n isFilterSelected={isFilterSelected && filter.label === selectedFilterName}\n disabled={isFilterSelected && filter.label === selectedFilterName}\n onClick={() => handleFilterSelection(filter.label)}\n />\n </div>\n ))}\n </section>\n )\n }\n\n /**\n * Handle filter selection when it's not ALL articles filter.\n * @param filterName\n */\n const handleFilterSelection = (filterName): void => {\n setSelectedFilterName(filterName)\n setIsFilterSelected(true)\n\n const filteredArticles: Array<DatoCmsArticle> = []\n articles.forEach(article => {\n if (article.category.label === filterName) {\n filteredArticles.push(article)\n }\n })\n filterArticles(filteredArticles)\n if (changeCurrentPage) changeCurrentPage(1)\n }\n\n /**\n * Handle ALL filter selection\n * @param filterName\n */\n const handleAllFilterSelection = (filterName): void => {\n setSelectedFilterName(filterName)\n setIsFilterSelected(true)\n\n filterArticles(articles)\n }\n\n return <div>{displayDesktopFilters()}</div>\n}\n\nexport default Filter\n","import React, { useEffect, useRef, useState } from \"react\"\nimport { useForm } from \"react-hook-form\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { DatoCmsArticle, PniCoverFieldsFragment } from \"../../../../graphql-types\"\nimport * as styles from \"./cover.module.scss\"\nimport lensIcon from \"../../../../static/vectors/pniLensIcon.svg\"\nimport Filter from \"./filter/filter\"\nimport useWindowWidth from \"../../../hooks/use-window-width\"\n\ntype CoverProps = {\n data: PniCoverFieldsFragment\n filterArticles: (filteredArticles: []) => void\n articles: DatoCmsArticle[]\n searchRequestSlug: string\n searchTerms: string\n changeCurrentPage?: any\n displayFilters?: boolean\n}\n\nconst Cover: React.FC<CoverProps> = ({\n data,\n filterArticles,\n articles,\n searchRequestSlug,\n searchTerms,\n changeCurrentPage,\n displayFilters = true,\n}) => {\n const { register } = useForm()\n const isMobile = useWindowWidth() < 800;\n const [isSearchExpanded, setIsSearchExpanded] = useState(false)\n const searchFormRef = useRef<HTMLFormElement>(null)\n\n const handleSearchClick = (e: React.MouseEvent) => {\n if (isMobile && !isSearchExpanded) {\n e.preventDefault()\n setIsSearchExpanded(true)\n }\n }\n\n const handleClickOutside = (e: MouseEvent) => {\n if (isSearchExpanded && searchFormRef.current && !searchFormRef.current.contains(e.target as Node)) {\n setIsSearchExpanded(false)\n }\n }\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClickOutside)\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside)\n }\n }, [isSearchExpanded])\n\n return isMobile ? (\n <section className={styles.mobileContainer}>\n <form method=\"get\" ref={searchFormRef} className={styles.mobileSearchForm} style={isSearchExpanded ? {width: \"100%\"} : undefined} action={`/${searchRequestSlug}`}>\n <div className={styles.mobileFormElements}>\n {isSearchExpanded && (\n <input\n id=\"searchWord\"\n type=\"text\"\n name=\"query\"\n className={styles.searchInput}\n defaultValue={searchTerms}\n placeholder={data.searchPlaceholder}\n {...register(\"query\")}\n />\n )}\n <button\n className={styles.mobileSearchButton}\n type=\"submit\"\n aria-label={data.buttonSearchAriaLabel}\n onClick={handleSearchClick}\n >\n <ReactSVG src={lensIcon} />\n </button>\n </div>\n </form>\n {!isSearchExpanded && displayFilters && (\n <div className={styles.filtersContainer}>\n <Filter\n projectsNewsInsightsAllFilter={data.projectsNewsInsightsAllFilter}\n projectsNewsInsightsFilterLabel={data.projectsNewsInsightsFilterLabel}\n projectsNewsInsightsTwoFilters={data.projectsNewsInsightsTwoFilters}\n filterArticles={filterArticles}\n changeCurrentPage={changeCurrentPage}\n articles={articles}\n color=\"white\"\n />\n </div>\n )}\n </section>\n ) : (\n <section className={styles.container}>\n <form ref={searchFormRef} method=\"get\" className={styles.searchForm} action={`/${searchRequestSlug}`}>\n <div className={styles.formElements}>\n <input\n id=\"searchWord\"\n type=\"text\"\n name=\"query\"\n className={styles.searchInput}\n defaultValue={searchTerms}\n placeholder={data.searchPlaceholder}\n {...register(\"query\")}\n />\n <button className={styles.searchButton} type=\"submit\" aria-label={data.buttonSearchAriaLabel}>\n <ReactSVG src={lensIcon} />\n </button>\n </div>\n </form>\n {displayFilters && (\n <div className={styles.filtersContainer}>\n <Filter\n projectsNewsInsightsAllFilter={data.projectsNewsInsightsAllFilter}\n projectsNewsInsightsFilterLabel={data.projectsNewsInsightsFilterLabel}\n projectsNewsInsightsTwoFilters={data.projectsNewsInsightsTwoFilters}\n filterArticles={filterArticles}\n changeCurrentPage={changeCurrentPage}\n articles={articles}\n color=\"white\"\n />\n </div>\n )}\n </section>\n )\n}\n\nexport const fragment = graphql`\n fragment PniCoverFields on DatoCmsPniPage {\n searchPlaceholder\n buttonSearchAriaLabel\n projectsNewsInsightsAllFilter\n projectsNewsInsightsFiltrers {\n label\n }\n projectsNewsInsightsFilterLabel\n projectsNewsInsightsTwoFilters {\n label\n }\n }\n`\n\nexport default Cover\n","// extracted by mini-css-extract-plugin\nexport var allArticlesContainers = \"articles-module--allArticlesContainers--b8c48\";\nexport var arrow = \"articles-module--arrow--14a68\";\nexport var articlesContainer = \"articles-module--articlesContainer--2bb3e\";\nexport var circularContent = \"articles-module--circularContent--a2406\";\nexport var content = \"articles-module--content--aa19e\";\nexport var data = \"articles-module--data--b0423\";\nexport var date = \"articles-module--date--eb504\";\nexport var description = \"articles-module--description--ba698\";\nexport var highlightedArticle = \"articles-module--highlightedArticle--9147b\";\nexport var highlightedArticleContainer = \"articles-module--highlightedArticleContainer--c52b8\";\nexport var image = \"articles-module--image--b0ad0\";\nexport var imageContainer = \"articles-module--imageContainer--dd903\";\nexport var info = \"articles-module--info--74a46\";\nexport var location = \"articles-module--location--02178\";\nexport var mainInfo = \"articles-module--mainInfo--7b9b8\";\nexport var page = \"articles-module--page--d3bc6\";\nexport var pageButton = \"articles-module--pageButton--f5744\";\nexport var pagesContainer = \"articles-module--pagesContainer--d8d4d\";\nexport var paginationContainer = \"articles-module--paginationContainer--b83c5\";\nexport var title = \"articles-module--title--78365\";\nexport var type = \"articles-module--type--e6aba\";","import React, { useEffect } from \"react\"\nimport { ReactSVG } from \"react-svg\"\n\nimport { graphql } from \"gatsby\"\nimport { PniArticlesFieldsFragment } from \"../../../../graphql-types\"\n\nimport * as styles from \"./articles.module.scss\"\nimport {\n elementOffset,\n transformItem,\n transformItemWithoutTransition,\n} from \"../../../components/common/functions/functions\"\nimport { useLocale } from \"../../../context/locale-context\"\nimport useWindowWidth from \"../../../hooks/use-window-width\"\nimport arrow from \"../../../../static/vectors/arrowV2.svg\"\nimport backArrow from \"../../../../static/vectors/backArrowV2.svg\"\nimport ArticleCard from \"../../../components/home/articleCard/articleCard\"\nimport { truncateText } from \"../../../tools/functions\"\n\ntype ArticlesProps = {\n data: PniArticlesFieldsFragment\n projectsNewsInsightsPageSlug: string\n articles: any\n currentPage: number\n changeCurrentPage: any\n displayHighlightedArticle: boolean\n}\n\nconst Articles: React.FC<ArticlesProps> = ({\n data,\n projectsNewsInsightsPageSlug,\n articles,\n currentPage,\n changeCurrentPage,\n displayHighlightedArticle,\n}) => {\n const { locale, defaultLocale } = useLocale()\n const isMobile = useWindowWidth() <= 825\n\n const articlesPerPage = data.articlesPerPage || 7\n const articlesWithoutHighlightedArticle = articles.filter(article => article.title !== data.highlightedArticle?.title)\n const indexOfLastArticle = currentPage * articlesPerPage\n const indexOfFirstArticle = indexOfLastArticle - articlesPerPage\n const currentArticles = articlesWithoutHighlightedArticle.slice(indexOfFirstArticle, indexOfLastArticle)\n\n const handleScrollAnimation = (): void => {\n const renderArticles = () => {\n const allArticles = document.querySelectorAll(\"article\")\n const articlesImages = document.getElementsByClassName(\"imageContainer\")\n const articlesContainer =\n typeof window !== \"undefined\" && !!window.document && document.getElementById(\"allArticles\")\n const articlesContainerHeight = articlesContainer && articlesContainer.clientHeight\n\n Array.from(allArticles).forEach((art, index) => {\n if (articlesContainer && window.scrollY >= elementOffset(art).top - articlesContainerHeight - 900) {\n !displayHighlightedArticle ? transformItemWithoutTransition(art) : transformItem(art, 400 * (index + 1))\n\n if (articlesImages[index]) {\n !displayHighlightedArticle\n ? transformItemWithoutTransition(articlesImages[index])\n : transformItem(articlesImages[index], 400 * (index + 1) + 200)\n }\n }\n })\n }\n\n renderArticles()\n document.addEventListener(\"scroll\", () => renderArticles())\n }\n\n const prevPage = (): void => {\n if (currentPage > 1) {\n document.documentElement.scrollTo({ top: 0, behavior: \"auto\" })\n changeCurrentPage(currentPage - 1)\n }\n }\n\n const nextPage = (): void => {\n if (currentPage < Math.ceil(articles.length / articlesPerPage)) {\n document.documentElement.scrollTo({ top: 0, behavior: \"auto\" })\n changeCurrentPage(currentPage + 1)\n }\n }\n\n const goToPage = (number): void => {\n if (number !== currentPage) {\n document.documentElement.scrollTo({ top: 0, behavior: \"auto\" })\n changeCurrentPage(number)\n }\n }\n\n const displayPageNavigationButtons = () => {\n const totalArticles = articles.length\n let pageNumbers = []\n\n for (let i = 1; i <= Math.ceil(totalArticles / articlesPerPage); i++) {\n pageNumbers.push(i)\n }\n\n if (isMobile) {\n return (\n <nav\n className={styles.paginationContainer}\n role=\"navigation\"\n >\n <ul className={styles.pagesContainer}>\n <button onClick={() => prevPage()} className={styles.arrow} aria-label=\"Previous page\">\n <ReactSVG src={backArrow}/>\n </button>\n <div>\n <span\n onClick={() => goToPage(1)}\n className={styles.pageButton}\n style={{ fontWeight: \"bold\", backgroundColor: \"#F2ECFD\"}}\n >\n {currentPage}\n </span>\n </div>\n <button onClick={() => nextPage()} className={styles.arrow} aria-label=\"Next page\">\n <ReactSVG src={arrow} />\n </button>\n </ul>\n </nav>\n )\n }\n\n return (\n <nav\n className={styles.paginationContainer}\n role=\"navigation\"\n >\n <ul className={styles.pagesContainer}>\n <button onClick={() => prevPage()} className={styles.arrow} aria-label=\"Previous page\">\n <ReactSVG src={backArrow}/>\n </button>\n {pageNumbers.map(number => {\n if (currentPage != number && pageNumbers.length > 3 && number === pageNumbers[pageNumbers.length - 2]) {\n return (\n <li className={styles.page} key={number}>\n <span className={styles.pageButton} key={number}>\n {\"...\"}\n </span>\n </li>\n )\n } else {\n return (\n <li className={styles.page} key={number}>\n <span\n onClick={() => goToPage(number)}\n className={styles.pageButton}\n key={number}\n style={{ fontWeight: currentPage === number ? \"bold\" : \"normal\", backgroundColor: currentPage === number ? \"#F2ECFD\" : \"transparent\"}}\n >\n {number}\n </span>\n </li>\n )\n }\n })}\n <button onClick={() => nextPage()} className={styles.arrow} aria-label=\"Next page\">\n <ReactSVG src={arrow} />\n </button>\n </ul>\n </nav>\n )\n }\n\n useEffect(() => {\n if (!isMobile) handleScrollAnimation()\n }, [indexOfFirstArticle, indexOfLastArticle])\n\n return (\n <section className={styles.content}>\n <div className={styles.allArticlesContainers}>\n {data.highlightedArticle && (\n <div className={styles.highlightedArticleContainer}>\n <ArticleCard\n image={data.highlightedArticle.thumbnailImage?.url ?? data.highlightedArticle.image?.url ?? \"\"}\n title={data.highlightedArticle.thumbnailTitle?.trim() ? data.highlightedArticle.thumbnailTitle : data.highlightedArticle.articleTitle}\n infos={truncateText(data.highlightedArticle.description, 210)}\n type={data.highlightedArticle.category?.label ?? \"\"}\n date={data.highlightedArticle.date ?? \"\"}\n bgColor={data.highlightedArticle.thumbnailBackgroundColor?.hex ?? \"#162B44\"}\n textColor={data.highlightedArticle.thumbnailTextColor?.hex ?? \"#FFFFFF\"}\n iconColor={data.highlightedArticle.thumbnailIconColor?.hex ?? \"#162B44\"}\n circleColor={data.highlightedArticle.thumbnailCircleColor?.hex ?? \"#FFFF74\"}\n link={locale === defaultLocale\n ? `/${projectsNewsInsightsPageSlug}/${data.highlightedArticle.slug}`\n : `/${locale}/${projectsNewsInsightsPageSlug}/${data.highlightedArticle.slug}`}\n double={!isMobile}\n fullscreedMode={isMobile}\n />\n </div>\n )}\n {currentArticles.map((article, index) => {\n return (\n <ArticleCard\n key={index}\n image={article.thumbnailImage?.url ?? article.image?.url ?? \"\"}\n title={article.thumbnailTitle?.trim() ? article.thumbnailTitle : article.articleTitle}\n infos={truncateText(article.description, 210)}\n type={article.category?.label ?? \"\"}\n date={article.date ?? \"\"}\n bgColor={article.thumbnailBackgroundColor?.hex ?? \"#162B44\"}\n textColor={article.thumbnailTextColor?.hex ?? \"#FFFFFF\"}\n iconColor={article.thumbnailIconColor?.hex ?? \"#162B44\"}\n circleColor={article.thumbnailCircleColor?.hex ?? \"#FFFF74\"}\n link={locale === defaultLocale\n ? `/${projectsNewsInsightsPageSlug}/${article.slug}`\n : `/${locale}/${projectsNewsInsightsPageSlug}/${article.slug}`}\n padding={isMobile ? \"0 32px\" : undefined}\n />\n )\n })}\n </div>\n {displayPageNavigationButtons()}\n </section>\n )\n}\n\nexport const fragment = graphql`\n fragment PniArticlesFields on DatoCmsPniPage {\n highlightedArticle {\n ...ArticleFields\n }\n highlightedArticleTeaser\n articles {\n ...ArticleFields\n }\n articlesOrderByDate\n articlesPerPage\n }\n`\n\nexport default Articles\n","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport * as styles from \"./banner.module.scss\"\nimport { PniBannerFieldsFragment } from \"../../../../graphql-types\"\n\ntype BannerProps = {\n data: PniBannerFieldsFragment\n}\n\nconst Cover: React.FC<BannerProps> = ({\n data,\n}) => {\n const style = {\n \"--text-color\": data.coverTextColor?.hex ?? \"white\",\n \"--bg-color\": data.coverBackgroundColor?.hex ?? \"red\",\n \"--bg-image\": `url(${data.coverBackgroundImage?.url ?? \"\"})`,\n } as React.CSSProperties\n return (\n <section className={styles.container} style={style}>\n <div className={styles.titleContainer}>\n <h1 className={styles.visuallyHidden}>\n {data.coverTitle.alt || \"\"}\n </h1>\n <img src={data.coverTitle?.url ?? \"\"} alt={data.coverTitle.alt || \"\"} />\n </div>\n <span>\n <p className={styles.imageTitle}>\n {data.coverSubtitle}\n </p>\n </span>\n </section>\n )\n}\n\nexport const fragment = graphql`\n fragment PniBannerFields on DatoCmsPniPage {\n coverTitle {\n alt\n format\n title\n url\n }\n coverSubtitle\n coverTextColor {\n hex\n }\n coverBackgroundColor {\n hex\n }\n coverBackgroundImage {\n alt\n format\n title\n url\n }\n }\n`\n\nexport default Cover\n","// extracted by mini-css-extract-plugin\nexport var container = \"banner-module--container--0c7c4\";\nexport var imageTitle = \"banner-module--imageTitle--ed757\";\nexport var subtitle = \"banner-module--subtitle--e9851\";\nexport var subtitleContainer = \"banner-module--subtitleContainer--6013c\";\nexport var titleContainer = \"banner-module--titleContainer--8e425\";\nexport var visuallyHidden = \"banner-module--visuallyHidden--2bffb\";","import React, { useEffect, useState } from \"react\"\nimport TagManager from \"react-gtm-module\"\n\nimport { graphql, Script } from \"gatsby\"\nimport { DatoCmsArticle, DatoCmsSlugsConfiguration, PniPageQuery } from \"../../../graphql-types\"\n\nimport * as config from \"../../../config\"\nimport * as styles from \"./pni.module.scss\"\nimport * as stylesNewsletter from \"../../components/newsletter/newsletter.module.scss\"\nimport { StringParam, useQueryParam } from \"use-query-params\"\nimport Layout from \"../../components/layout/layout\"\nimport SEO from \"../../components/seo\"\nimport HrefLangLinks from \"../../components/layout/href-lang-links/href-lang-links\"\nimport Cover from \"./cover/cover\"\nimport Articles from \"./articles/articles\"\nimport useSlugValue from \"../../hooks/use-slug-value\"\nimport Banner from \"./banner/banner\"\n\ntype PNIProps = {\n data: PniPageQuery\n pageContext: {\n locale: string\n defaultLocale: string\n slugs: DatoCmsSlugsConfiguration\n }\n}\n\nenum SearchState {\n NoSearch,\n Searching,\n Success,\n Error,\n}\n\nconst PNI: React.FC<PNIProps> = ({ data, pageContext }) => {\n const displayMessage = (message): JSX.Element => <p className={styles.searchStatusMessage}>{message}</p>\n\n const filterArticles = (filteredArticles: []) => {\n setArticles(data.datoCmsPniPage.articlesOrderByDate ? sortArticlesByDate(filteredArticles) : filteredArticles)\n setSearchResultsArticles(\n data.datoCmsPniPage.articlesOrderByDate ? sortArticlesByDate(filteredArticles) : filteredArticles\n )\n }\n\n const changeCurrentPage = newPageNumber => setCurrentPage(newPageNumber)\n\n /**\n * Sort a list of articles from newer to older.\n * @param articles\n */\n const sortArticlesByDate = (art): [] => {\n return art.slice().sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime())\n }\n\n const stringRemoveAccents = (str): string => {\n return str\n .toLowerCase()\n .normalize(\"NFD\")\n .replace(/[\\u0300-\\u036f]/g, \"\")\n }\n\n const searchArticles = searchTerm => {\n const terms = stringRemoveAccents(searchTerm)\n const termsSplit = terms.split(\" \")\n const matchArticles: Array<DatoCmsArticle> = []\n\n const searchWord = word => {\n const pushArticle = art => {\n if (!matchArticles.includes(art)) {\n if (\n (art.articleTitle && stringRemoveAccents(art.articleTitle).indexOf(word.toString()) !== -1) ||\n (art.author && stringRemoveAccents(art.author).indexOf(word.toString()) !== -1) ||\n (art.category.label && stringRemoveAccents(art.category.label).indexOf(word.toString()) !== -1) ||\n (art.description && stringRemoveAccents(art.description).indexOf(word.toString()) !== -1) ||\n (art.authorPosition && stringRemoveAccents(art.authorPosition).indexOf(word.toString()) !== -1)\n ) {\n if (matchArticles.indexOf(art) < 0) matchArticles.push(art)\n }\n art.tags.forEach(tag => {\n if (\n stringRemoveAccents(tag.label).indexOf(word.toString()) !== -1 ||\n stringRemoveAccents(tag.label).includes(word.toString()) ||\n stringRemoveAccents(tag.label) === word.toString()\n ) {\n if (matchArticles.indexOf(art) < 0) matchArticles.push(art)\n }\n })\n }\n }\n\n pushArticle(data.datoCmsPniPage.highlightedArticle)\n articles.forEach(art => pushArticle(art))\n }\n\n termsSplit.forEach(word => {\n if (word.length >= 3) {\n searchWord(word)\n }\n })\n searchWord(terms)\n\n setStaticSearchResultsArticles(sortArticlesByDate(matchArticles))\n setSearchResultsArticles(sortArticlesByDate(matchArticles))\n }\n\n useEffect(() => {\n if (config.google_tag_manager_id) {\n TagManager.initialize({ gtmId: config.google_tag_manager_id })\n TagManager.dataLayer({\n dataLayer: {\n environment: process.env.NODE_ENV,\n language: pageContext.locale,\n pageTemplate: searchTerms ? \"search result\" : \"categorie\",\n },\n })\n }\n }, [])\n\n const siteSearchUrl = \"https://unpkg.com/datocms-search@0.1.8/dist/datocms-search.base.js\"\n\n const [siteSearchLoaded, setSiteSearchLoaded] = useState(typeof window !== \"undefined\" && !!window[\"DatoCmsSearch\"])\n const [client, setClient] = useState(null)\n const [searchResults, setSearchResults] = useState([])\n const [searchResultsArticles, setSearchResultsArticles] = useState([])\n const [staticSearchResultsArticles, setStaticSearchResultsArticles] = useState([])\n const [searchState, setSearchState] = useState(SearchState.NoSearch)\n const [searchTerms, _] = useQueryParam(\"query\", StringParam)\n const [articles, setArticles] = useState(\n data.datoCmsPniPage.articlesOrderByDate\n ? sortArticlesByDate(data.datoCmsPniPage.articles)\n : data.datoCmsPniPage.articles\n )\n const [currentPage, setCurrentPage] = useState(1)\n const breadcrumb = [\n {\n link: data.datoCmsSlugsConfiguration.projectsNewsInsightsPageSlug,\n title: data.datoCmsPniPage.headerTitle,\n },\n ]\n\n /**\n * Set client when site is loaded\n */\n useEffect(() => {\n if (!siteSearchLoaded) return\n\n setClient(new window[\"DatoCmsSearch\"](\"005efa7f664c7391e38f9007881135\", \"main\"))\n }, [siteSearchLoaded])\n\n /**\n * If client has been set and search word exist, search for that word.\n */\n useEffect(() => {\n if (!client) {\n return\n }\n if (!searchTerms) {\n setSearchState(SearchState.NoSearch)\n return\n }\n setSearchState(SearchState.Searching)\n client.search(searchTerms).then(\n ({ results }) => {\n searchArticles(searchTerms)\n setSearchResults(results)\n setSearchState(SearchState.Success)\n },\n error => {\n console.error(error)\n setSearchState(SearchState.Error)\n }\n )\n }, [client, searchTerms])\n\n const pniSlug = useSlugValue(pageContext.slugs._allProjectsNewsInsightsPageSlugLocales, pageContext.locale)\n\n return (\n <Layout\n pageContext={pageContext}\n currentRoute={pniSlug}\n headerConfig={data.datoCmsHeader}\n footerConfig={data.datoCmsFooter}\n noIndex={!!searchTerms}\n >\n <Script src={siteSearchUrl} onLoad={() => setSiteSearchLoaded(true)} />\n <div className={styles.pni}>\n <Banner\n data={data.datoCmsPniPage}\n />\n <Cover\n data={data.datoCmsPniPage}\n filterArticles={filterArticles}\n articles={\n searchTerms && searchResults && searchState === SearchState.Success && searchResults.length > 0\n ? staticSearchResultsArticles\n : data.datoCmsPniPage.articles\n }\n searchRequestSlug={\n pageContext.locale === pageContext.defaultLocale ? pniSlug : `${pageContext.locale}/${pniSlug}`\n }\n searchTerms={searchTerms}\n changeCurrentPage={changeCurrentPage}\n displayFilters={!(searchTerms && searchState === SearchState.Success && searchResults.length === 0)}\n />\n {searchState === SearchState.NoSearch && (\n <Articles\n articles={articles}\n data={data.datoCmsPniPage}\n projectsNewsInsightsPageSlug={data.datoCmsSlugsConfiguration.projectsNewsInsightsPageSlug}\n currentPage={currentPage}\n changeCurrentPage={changeCurrentPage}\n displayHighlightedArticle={true}\n />\n )}\n {searchState === SearchState.Searching && displayMessage(data.datoCmsPniPage.searchInProgressMessage)}\n {searchState === SearchState.Error && displayMessage(data.datoCmsPniPage.searchErrorMessage)}\n {((searchTerms && searchState === SearchState.Success && searchResultsArticles.length === 0) ||\n (searchResultsArticles.length === 0 && articles.length === 0)) &&\n displayMessage(data.datoCmsPniPage.noResultsFoundMessage)}\n {searchTerms &&\n searchResults &&\n searchState === SearchState.Success &&\n searchResultsArticles.length > 0 &&\n articles.length > 0 && (\n <Articles\n articles={searchResultsArticles}\n data={data.datoCmsPniPage}\n projectsNewsInsightsPageSlug={data.datoCmsSlugsConfiguration.projectsNewsInsightsPageSlug}\n currentPage={currentPage}\n changeCurrentPage={changeCurrentPage}\n displayHighlightedArticle={false}\n />\n )}\n </div>\n {/*{data.datoCmsHomePage.newsletterIsActive && <Newsletter data={data.datoCmsHomePage} />}*/}\n <section className={stylesNewsletter.container}>\n <div className={stylesNewsletter.iframe} id=\"newsletter\">\n {pageContext.locale === pageContext.defaultLocale ? (\n <iframe\n title=\"Landing Page\"\n src=\"https://f.inno.keolis.com/f/l/?q=BSLqpzmY16RtCSEShgohLdWayZ7VLugElOIBd2us19BPYmcYHtWnKpZ_ghOHlwepKS8vEt2XF5fgJVpUTxggfGgh-u3ecnw4-iMJYaJL4PUWZ0fQ30PVivkfxCsaGeXFURFY1n9rGUovvmn4gjhnLYdWzv1jAMrtWxpTPOZmjilw2he_luP-qSjZukWgwL7LDF2AE08YfAU1ZfHF9nGi1cx52MZS_6zv-5JbE27ctJ5w4kkP_keKx-Cw5tdC2TvE\"\n />\n ) : (\n <iframe\n title=\"Landing Page\"\n src=\"https://f.inno.keolis.com/f/l/?q=BSLqpzmY16RtCSEShgohLTb9NHftVXSchI5U5X7tFck1wSvnK6Zju4LY9embQyGwFPQdea4JaeTvJx99yXHXclaUhOvyWW_WeYDVvlSeXvuqssfSD2RlonLzJpgW8R20QGbQNQqp7rusHzAE9gDZIjcD53XmVjJPoxHfCcN2-4__pURFfpdMI14KVPoBL9VUVewRCg07AwrLLZ33NS3YaE_sOSd8bVgxSs-DXSo3dHT9AsYS-1K3UrI9nal2LqNc\"\n />\n )}\n </div>\n </section>\n </Layout>\n )\n}\n\nexport const Head: React.FC<PNIProps> = ({ data, pageContext }) => {\n const isBrowser = typeof window !== \"undefined\"\n const [searchTerms, _] = useQueryParam(\"query\", StringParam)\n const defaultDomain = \"https://innovation.keolis.com\"\n return (\n isBrowser && (\n <>\n <SEO\n title={\n !searchTerms\n ? data.datoCmsPniPage.title\n : `${data.datoCmsPniPage.titleSearchPagePrefix} - ${searchTerms} | ${data.datoCmsPniPage.titleSearchPageSuffix}`\n }\n description={data.datoCmsPniPage.metaDescription}\n locale={pageContext.locale}\n noindex={data.datoCmsPniPage.noindex}\n />\n {typeof window !== \"undefined\" && (\n <HrefLangLinks\n defaultDomain={window.location.origin}\n defaultLocale={pageContext.defaultLocale}\n slugs={[pageContext.slugs._allProjectsNewsInsightsPageSlugLocales]}\n />\n )}\n </>\n )\n )\n}\n\nexport const fragment = graphql`\n fragment SearchFields on DatoCmsPniPage {\n searchInProgressMessage\n searchErrorMessage\n noResultsFoundMessage\n }\n`\n\nexport const pageQuery = graphql`\n query PniPage($locale: String!) {\n datoCmsGlobalConfiguration {\n locales\n }\n datoCmsSlugsConfiguration(locale: $locale) {\n projectsNewsInsightsPageSlug\n }\n datoCmsHeader(locale: $locale) {\n ...HeaderFields\n }\n datoCmsFooter(locale: $locale) {\n ...FooterFields\n }\n datoCmsPniPage(locale: $locale) {\n title\n titleSearchPagePrefix\n titleSearchPageSuffix\n metaDescription\n noindex\n ...HeaderPNIFields\n ...PniCoverFields\n ...PniArticlesFields\n ...SearchFields\n ...PniBannerFields\n ...PniCardFields\n }\n datoCmsHomePage(locale: $locale) {\n ...NewsletterFields\n }\n }\n`\n\nexport default PNI\n","// extracted by mini-css-extract-plugin\nexport var pni = \"pni-module--pni--e3fe1\";\nexport var searchStatusMessage = \"pni-module--searchStatusMessage--9b6e5\";","// extracted by mini-css-extract-plugin\nexport var arrow = \"newsletter-module--arrow--088a4\";\nexport var arrowContainer = \"newsletter-module--arrowContainer--f7928\";\nexport var circle = \"newsletter-module--circle--cb565\";\nexport var container = \"newsletter-module--container--5650b\";\nexport var content = \"newsletter-module--content--19d79\";\nexport var emailErrorMessage = \"newsletter-module--emailErrorMessage--0b697\";\nexport var emailInput = \"newsletter-module--emailInput--376c3\";\nexport var errorCircle = \"newsletter-module--errorCircle--da95e\";\nexport var errorMessage = \"newsletter-module--errorMessage--ac077\";\nexport var form = \"newsletter-module--form--975dd\";\nexport var formContainer = \"newsletter-module--formContainer--6a9a7\";\nexport var iframe = \"newsletter-module--iframe--10433\";\nexport var image = \"newsletter-module--image--78e87\";\nexport var label = \"newsletter-module--label--e702c\";\nexport var moveArrow = \"newsletter-module--moveArrow--1f9a8\";\nexport var submitButton = \"newsletter-module--submitButton--fedc4\";\nexport var subtitle = \"newsletter-module--subtitle--4c774\";\nexport var successMessage = \"newsletter-module--successMessage--ceb1e\";\nexport var title = \"newsletter-module--title--3a208\";","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCA0MiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM1IDFMNDAgNk00MCA2TDM1IDExTTQwIDZMMCA2IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMjkiIHZpZXdCb3g9IjAgMCAzMCAyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9Ii0mIzYyOyI+CjxwYXRoIGlkPSJWZWN0b3IiIGQ9Ik0xNC44NTU3IDAuNTAyMTczTDI4Ljg1NSAxNC41MDE1TTI4Ljg1NSAxNC41MDE1TDE0Ljg1NzEgMjguNDk5M00yOC44NTUgMTQuNTAxNUwwLjg1Nzg0OSAxNC41IiBzdHJva2U9IiM0NTVBNjQiLz4KPC9nPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMjkiIHZpZXdCb3g9IjAgMCAzMCAyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9Ii0mIzYyOyI+CjxwYXRoIGlkPSJWZWN0b3IiIGQ9Ik0xNS4xNDQzIDI4LjQ5NzhMMS4xNDUwNCAxNC40OTg1TTEuMTQ1MDQgMTQuNDk4NUwxNS4xNDI5IDAuNTAwNzEyTTEuMTQ1MDQgMTQuNDk4NUwyOS4xNDIyIDE0LjUiIHN0cm9rZT0iIzQ1NUE2NCIvPgo8L2c+Cjwvc3ZnPgo=\""],"names":["obj","_warn","_warn2","__esModule","default","Snippets","tags","_ref","id","events","dataLayer","dataLayerName","preview","gtm_auth","auth","gtm_preview","iframe","script","JSON","stringify","slice","dataLayerVar","this","_dataLayer","module","exports","_Snippets","_Snippets2","TagManager","dataScript","document","createElement","innerHTML","gtm","args","snippets","noScript","noscript","initialize","gtmId","_ref$events","undefined","_ref$dataLayerName","_ref$auth","_ref$preview","head","appendChild","insertBefore","childNodes","body","_ref2","_ref2$dataLayerName","window","push","_TagManager","_TagManager2","Object","defineProperty","value","s","console","warn","newsDate","props","React","href","link","className","double","style","assign","padding","textDecoration","image","backgroundImage","backgroundSize","backgroundPosition","borderRadius","fullscreedMode","backgroundColor","bgColor","color","textColor","title","styles","type","date","moment","format","infos","circleColor","ReactSVG","src","addCross","beforeInjection","svg","querySelectorAll","forEach","path","setAttribute","iconColor","filtersContainer","searchInput","buttonContainer","pictogram","pictogramContainer","data","darkMode","isCircleButton","isGoBackButton","isFilterButton","isFilterSelected","_ref$disabled","disabled","onClick","isInternalPage","arrow","Link","to","backArrow","target","projectsNewsInsightsAllFilter","projectsNewsInsightsFilterLabel","projectsNewsInsightsTwoFilters","filterArticles","articles","changeCurrentPage","_useState","useState","setIsFilterSelected","_useState2","selectedFilterName","setSelectedFilterName","handleFilterSelection","filterName","filteredArticles","article","category","label","handleAllFilterSelection","Button","map","filter","index","key","searchRequestSlug","searchTerms","_ref$displayFilters","displayFilters","register","useForm","isMobile","useWindowWidth","isSearchExpanded","setIsSearchExpanded","searchFormRef","useRef","handleClickOutside","e","current","contains","useEffect","addEventListener","removeEventListener","method","ref","width","action","name","defaultValue","placeholder","searchPlaceholder","buttonSearchAriaLabel","preventDefault","lensIcon","Filter","page","pageButton","pagesContainer","paginationContainer","_data$highlightedArti2","_data$highlightedArti3","_data$highlightedArti4","_data$highlightedArti5","_data$highlightedArti6","_data$highlightedArti7","_data$highlightedArti8","_data$highlightedArti9","_data$highlightedArti10","_data$highlightedArti11","_data$highlightedArti12","_data$highlightedArti13","_data$highlightedArti14","_data$highlightedArti15","_data$highlightedArti16","projectsNewsInsightsPageSlug","currentPage","displayHighlightedArticle","_useLocale","useLocale","locale","defaultLocale","articlesPerPage","articlesWithoutHighlightedArticle","_data$highlightedArti","highlightedArticle","indexOfLastArticle","indexOfFirstArticle","currentArticles","prevPage","documentElement","scrollTo","top","behavior","nextPage","Math","ceil","length","goToPage","number","renderArticles","allArticles","articlesImages","getElementsByClassName","articlesContainer","getElementById","articlesContainerHeight","clientHeight","Array","from","art","scrollY","elementOffset","transformItem","transformItemWithoutTransition","ArticleCard","thumbnailImage","url","thumbnailTitle","trim","articleTitle","truncateText","description","thumbnailBackgroundColor","hex","thumbnailTextColor","thumbnailIconColor","thumbnailCircleColor","slug","_ref3","_article$thumbnailIma","_article$thumbnailIma2","_article$image","_article$thumbnailTit","_article$category$lab","_article$category","_article$date","_article$thumbnailBac","_article$thumbnailBac2","_article$thumbnailTex","_article$thumbnailTex2","_article$thumbnailIco","_article$thumbnailIco2","_article$thumbnailCir","_article$thumbnailCir2","totalArticles","pageNumbers","i","role","fontWeight","displayPageNavigationButtons","_data$coverTextColor$","_data$coverTextColor","_data$coverBackground","_data$coverBackground2","_data$coverBackground3","_data$coverBackground4","_data$coverTitle$url","_data$coverTitle","coverTextColor","coverBackgroundColor","coverBackgroundImage","coverTitle","alt","coverSubtitle","SearchState","Head","pageContext","isBrowser","_useQueryParam2","useQueryParam","StringParam","SEO","datoCmsPniPage","titleSearchPagePrefix","titleSearchPageSuffix","metaDescription","noindex","HrefLangLinks","defaultDomain","location","origin","slugs","_allProjectsNewsInsightsPageSlugLocales","displayMessage","message","newPageNumber","setCurrentPage","sortArticlesByDate","sort","a","b","Date","getTime","stringRemoveAccents","str","toLowerCase","normalize","replace","config","google_tag_manager_id","environment","process","language","pageTemplate","siteSearchLoaded","setSiteSearchLoaded","client","setClient","_useState3","searchResults","setSearchResults","_useState4","searchResultsArticles","setSearchResultsArticles","_useState5","staticSearchResultsArticles","setStaticSearchResultsArticles","_useState6","NoSearch","searchState","setSearchState","_useQueryParam","_useState7","articlesOrderByDate","setArticles","_useState8","datoCmsSlugsConfiguration","headerTitle","Searching","search","then","terms","termsSplit","matchArticles","searchWord","results","split","word","pushArticle","includes","indexOf","toString","author","authorPosition","tag","Success","error","Error","pniSlug","useSlugValue","Layout","currentRoute","headerConfig","datoCmsHeader","footerConfig","datoCmsFooter","noIndex","Script","onLoad","Banner","Cover","Articles","searchInProgressMessage","searchErrorMessage","noResultsFoundMessage","stylesNewsletter","container"],"sourceRoot":""}