{"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 = '&gtm_auth=' + auth;\n    var gtm_preview = '&gtm_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 + '&gtm_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 + '&gtm_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":""}