{"version":3,"file":"862-dd82949f5003a0f896c7.js","mappings":"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","sources":["webpack://keolis.com/./config.js","webpack://keolis.com/./src/v3/components/layout/header/header.module.scss","webpack://keolis.com/./src/v3/components/layout/header/menu/submenus/submenus.module.scss","webpack://keolis.com/./src/v3/components/layout/header/menu/submenus/submenus.tsx","webpack://keolis.com/./src/v3/components/layout/header/menu/details/details.tsx","webpack://keolis.com/./src/v3/components/layout/header/menu/details/details.module.scss","webpack://keolis.com/./src/v3/components/layout/header/menu/menu.tsx","webpack://keolis.com/./src/v3/components/layout/header/menu/menu.module.scss","webpack://keolis.com/./src/v3/components/layout/header/capsule/capsule.tsx","webpack://keolis.com/./src/v3/components/layout/header/capsule/capsule.module.scss","webpack://keolis.com/./src/v3/components/layout/header/language-selector/language-selector.module.scss","webpack://keolis.com/./src/v3/components/layout/header/language-selector/language-selector.tsx","webpack://keolis.com/./src/v3/hooks/use-change-language.ts","webpack://keolis.com/./src/v3/components/layout/header/burger-menu/accordion/accordion.module.scss","webpack://keolis.com/./static/vectors/v3/accordion-arrow.svg","webpack://keolis.com/./src/v3/components/layout/header/burger-menu/accordion/accordion.tsx","webpack://keolis.com/./src/v3/components/layout/header/burger-menu/burger-menu.tsx","webpack://keolis.com/./src/v3/components/layout/header/burger-menu/burger-menu.module.scss","webpack://keolis.com/./src/v3/components/layout/header/header.tsx","webpack://keolis.com/./static/vectors/v3/globe.svg","webpack://keolis.com/./static/vectors/v3/search.svg","webpack://keolis.com/./src/v3/components/layout/footer/footer.module.scss","webpack://keolis.com/./src/v3/components/layout/footer/site-map-columns/site-map-columns.tsx","webpack://keolis.com/./src/v3/components/layout/footer/site-map-columns/site-map-columns.module.scss","webpack://keolis.com/./src/v3/components/layout/footer/social-networks-column/social-networks-column.tsx","webpack://keolis.com/./src/v3/components/layout/footer/social-networks-column/social-networks-column.module.scss","webpack://keolis.com/./src/v3/components/layout/footer/legal-documents-column/legal-documents-column.module.scss","webpack://keolis.com/./src/v3/components/layout/footer/legal-documents-column/legal-documents-column.tsx","webpack://keolis.com/./src/v3/components/layout/footer/footer.tsx","webpack://keolis.com/./src/v3/components/layout/button-sticky/button-sticky.tsx","webpack://keolis.com/./src/v3/components/layout/button-sticky/button-sticky.module.scss","webpack://keolis.com/./src/v3/components/layout/layout.tsx","webpack://keolis.com/./src/v3/context/locale-context.tsx","webpack://keolis.com/./src/v3/context/slugs-context.tsx","webpack://keolis.com/./src/v3/hooks/use-format-locale.ts","webpack://keolis.com/./src/v3/hooks/use-is-mobile.ts","webpack://keolis.com/./src/v3/hooks/use-slug-value.ts","webpack://keolis.com/./static/vectors/v3/keolis-logo-mobile.svg","webpack://keolis.com/./static/vectors/v3/right-arrow.svg"],"sourcesContent":["const {fr} = require(\"date-fns/locale\");\nmodule.exports = Object.assign({dateFnsLocale: fr}, {\n  \"chapo_length_number\": 559,\n  \"date_format\": {\n    \"en\": \"MMMM d yyyy\",\n    \"fr\": \"d MMMM yyyy\"\n  },\n  \"didomi_api_key\": \"2127e597-3d3f-4aa2-9727-c8126f86298c\",\n  \"notifications_service_endpoint\": \"https://apim.keolis.com/SIK/000/notification\",\n  \"search_token\": \"0f9cf61b130ac5c861f09bf6cd8149\",\n  \"v3_share_label\": {\n    \"en\": \"I share\",\n    \"fr\": \"Je partage\"\n  },\n  \"hour_format\": {\n    \"en\": \"HH:mm\",\n    \"fr\": \"HH:mm\"\n  },\n  \"notifications_service_import_file_endpoint\": \"https://apim.keolis.com/SIK/000/file/import HTTP/1.1\",\n  \"piano_site_id\": \"639186\",\n  \"serverless_sendmail_endpoint\": \"https://apim.keolis.com/dato/send/form/instit/\",\n  \"site_name\": \"Keolis.com\",\n  \"v3_social_networks\": [\n    \"el5Na9RFTiyBJ3BY8tOv0Q\",\n    \"Lu0AFAbxTM6prGLWYnrN1Q\",\n    \"QSV8oy53SJuCUYSlPdJf6Q\",\n    \"ClP1RWJ4QW-y1obolfiSkg\"\n  ],\n  \"facebook_link\": \"https://www.facebook.com/sharer/sharer.php?u=\",\n  \"google_tag_manager_id\": \"GTM-PX3LLBB\",\n  \"meta_description\": {\n    \"en\": \"Keolis develops public transport solutions worldwide, and commits to a sustainable and connected mobility.\",\n    \"fr\": \"Keolis est un opérateur privé de transport public de voyageurs, engagé pour une mobilité durable et connectée.\"\n  },\n  \"notifications_service_token\": \"2d5392f4a9404b2690515b92a3eadc93\",\n  \"serverless_sendmail_token\": \"1142321004f3407b98a95856f9820607\",\n  \"google_analytics_key\": \"\",\n  \"subsidiary_logo\": {\n    \"en\": {\n      \"path\": \"/46688/1721396559-keolis-2c.svg\",\n      \"format\": \"svg\",\n      \"size\": 1983,\n      \"alt\": \"Logo de Keolis en deux couleurs\",\n      \"title\": \"Keolis 2C\",\n      \"width\": 350,\n      \"height\": 90\n    },\n    \"fr\": {\n      \"path\": \"/46688/1721396559-keolis-2c.svg\",\n      \"format\": \"svg\",\n      \"size\": 1983,\n      \"alt\": \"Logo de Keolis en deux couleurs\",\n      \"title\": \"Keolis 2C\",\n      \"width\": 350,\n      \"height\": 90\n    }\n  },\n  \"twitter_link\": \"https://twitter.com/intent/tweet?url=\",\n  \"linkedin_link\": \"https://www.linkedin.com/sharing/share-offsite/?url=\",\n  \"subsidiary_reduced_logo\": {\n    \"en\": {\n      \"path\": \"/46688/1721396563-logo_k_bleu.svg\",\n      \"format\": \"svg\",\n      \"size\": 639,\n      \"alt\": \"Pictogramme du logo Keolis en bleu\",\n      \"title\": \"Logo K bleu\",\n      \"width\": 400,\n      \"height\": 400\n    },\n    \"fr\": {\n      \"path\": \"/46688/1724157792-logo_k_bleu-size5.svg\",\n      \"format\": \"svg\",\n      \"size\": 754,\n      \"alt\": \"Logo Keolis\",\n      \"title\": \"Keolis\",\n      \"width\": 256,\n      \"height\": 256\n    }\n  },\n  \"home_page_title\": {\n    \"en\": \"Home\",\n    \"fr\": \"Accueil\"\n  },\n  \"mailto_addresse\": \"mailto:someone@example.com\",\n  \"share_buttons_title\": {\n    \"en\": \"share\",\n    \"fr\": \"Partager\"\n  },\n  \"transport_mode_title\": {\n    \"en\": \"\",\n    \"fr\": \"Modes de transport\"\n  },\n  \"facebook_label\": {\n    \"en\": \"facebook label\",\n    \"fr\": \"Facebook\"\n  },\n  \"token_google_site_verification\": \"google7953ee90b1b2ac4b\",\n  \"twitter_label\": {\n    \"en\": \"twitter label\",\n    \"fr\": \"Twitter\"\n  },\n  \"linkedin_label\": {\n    \"en\": \"linkedIn label\",\n    \"fr\": \"LinkedIn\"\n  },\n  \"mailto_label\": {\n    \"en\": \"mailTo label\",\n    \"fr\": \"Partager par mail\"\n  },\n  \"download_label\": {\n    \"en\": \"Download\",\n    \"fr\": \"Télécharger\"\n  },\n  \"updated_at\": \"2024-12-04T18:10:29.386+01:00\",\n  \"created_at\": \"2021-04-20T17:40:04.593+02:00\",\n  \"locale\": \"fr\",\n  \"locales\": [\n    \"fr\",\n    \"en\"\n  ],\n  \"siteUrl\": \"https://www.keolis.com/\"\n})","// extracted by mini-css-extract-plugin\nexport var buttons = \"header-module--buttons--dc50a\";\nexport var capsules = \"header-module--capsules--c9d01\";\nexport var globeIcon = \"header-module--globeIcon--9526d\";\nexport var header = \"header-module--header--39aed\";\nexport var icon = \"header-module--icon--56a26\";\nexport var logo = \"header-module--logo--7dfe7\";\nexport var menus = \"header-module--menus--eef91\";\nexport var navMenu = \"header-module--navMenu--a486a\";\nexport var searchIcon = \"header-module--searchIcon--5748e\";","// extracted by mini-css-extract-plugin\nexport var multipleLinks = \"submenus-module--multipleLinks--25e2e\";\nexport var spanAnimated = \"submenus-module--spanAnimated--9194e\";\nexport var submenuTitle = \"submenus-module--submenuTitle--ba01e\";\nexport var submenus = \"submenus-module--submenus--bc126\";","import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { V3SubmenuHeaderFieldsFragment } from \"../../../../../../../graphql-types\"\nimport * as styles from \"./submenus.module.scss\"\nimport { useSlugs } from \"../../../../../context/slugs-context\"\nimport RightArrow from \"../../../../../../../static/vectors/v3/right-arrow.svg\"\n\ntype RenderProps = {\n  submenus: V3SubmenuHeaderFieldsFragment[]\n  onClick: (index: number) => void\n}\n\nconst Submenus: React.FC<RenderProps> = ({ submenus, onClick }) => {\n  const { buildInternalLink } = useSlugs()\n\n  return (\n    <div className={styles.submenus}>\n      {submenus.map((submenu, index) =>\n        submenu.containsMultipleLinks ? (\n          <div key={submenu.id} className={styles.multipleLinks}>\n            <button className={styles.submenuTitle} onClick={() => onClick(index)} key={submenu.title}>\n              <span className={styles.spanAnimated}>{submenu.title}</span>\n            </button>\n            <div>\n              <ReactSVG src={RightArrow} />\n            </div>\n          </div>\n        ) : (\n          <a href={buildInternalLink(submenu.uniqueLink)} className={styles.submenuTitle} key={submenu.title}>\n            <span className={styles.spanAnimated}>{submenu.title}</span>\n          </a>\n        )\n      )}\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment V3SubmenuHeaderFields on DatoCmsV3SubmenuHeader {\n    id\n    title\n    containsMultipleLinks\n    multipleLinks {\n      ...InternalExternalLinkBlockFields\n    }\n    uniqueLink {\n      __typename\n      ... on DatoCmsParentPage {\n        image {\n          alt\n          url\n        }\n        slug\n      }\n      ... on DatoCmsGeneratedPage {\n        slug\n      }\n      ... on DatoCmsPage {\n        slug\n      }\n    }\n  }\n`\n\nexport default Submenus\n","import React from \"react\"\nimport * as styles from \"./details.module.scss\"\nimport { InternalExternalLinkBlockFieldsFragment } from \"../../../../../../../graphql-types\"\nimport { useSlugs } from \"../../../../../context/slugs-context\"\n\ntype RenderProps = {\n  links: InternalExternalLinkBlockFieldsFragment[]\n}\n\nconst Details: React.FC<RenderProps> = ({ links }) => {\n  const { buildInternalLink } = useSlugs()\n\n  return (\n    <div className={styles.details}>\n      {links?.map(link => (\n        <a\n          href={link.isInternalPage ? buildInternalLink(link.internalLink) : link.externalLink}\n          className={styles.linkTitle}\n          key={link.id}\n        >\n          <span className={styles.spanAnimated}>{link.title}</span>\n        </a>\n      ))}\n    </div>\n  )\n}\n\nexport default Details\n","// extracted by mini-css-extract-plugin\nexport var details = \"details-module--details--5ae39\";\nexport var linkTitle = \"details-module--linkTitle--4638d\";\nexport var spanAnimated = \"details-module--spanAnimated--e1b9c\";","import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { V3MenuHeaderFieldsFragment } from \"../../../../../../graphql-types\"\nimport * as styles from \"./menu.module.scss\"\nimport Submenus from \"./submenus/submenus\"\nimport Details from \"./details/details\"\nimport RightArrow from \"../../../../../../static/vectors/v3/right-arrow.svg\"\n\ntype RenderProps = {\n  menu: V3MenuHeaderFieldsFragment\n  onClick: (e: React.MouseEvent<HTMLAnchorElement>, menuId: string) => void\n  isMenuOpened: boolean\n}\n\nconst Menu: React.FC<RenderProps> = ({ menu, onClick, isMenuOpened }) => {\n  const [indexSubmenu, setIndexSubmenu] = React.useState(-1)\n\n  const handleSubmenuClick = (index: number) => {\n    setIndexSubmenu(indexSubmenu === index ? -1 : index)\n  }\n\n  return (\n    <li>\n      <a href=\"#\" className={styles.mainTitle} onClick={e => onClick(e, menu.id)}>\n        {menu.title}\n        <div className={styles.arrow}>\n          <ReactSVG src={RightArrow} />\n        </div>\n      </a>\n      <div className={`${styles.menu} ${isMenuOpened ? styles.menuOpened : \"\"}`}>\n        <div className={styles.menuTitle}>{menu.title}</div>\n        <div className={styles.container}>\n          <Submenus submenus={menu.submenus} onClick={handleSubmenuClick} />\n          {indexSubmenu >= 0 && <Details links={menu.submenus[indexSubmenu].multipleLinks} />}\n        </div>\n      </div>\n    </li>\n  )\n}\n\nexport const fragment = graphql`\n  fragment V3MenuHeaderFields on DatoCmsV3MenuHeader {\n    id\n    title\n    submenus {\n      ...V3SubmenuHeaderFields\n    }\n  }\n`\n\nexport default Menu\n","// extracted by mini-css-extract-plugin\nexport var arrow = \"menu-module--arrow--33761\";\nexport var container = \"menu-module--container--1309e\";\nexport var mainTitle = \"menu-module--mainTitle--6bbbf\";\nexport var menu = \"menu-module--menu--f058b\";\nexport var menuOpened = \"menu-module--menuOpened--319c7\";\nexport var menuTitle = \"menu-module--menuTitle--2ce99\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { V3CapsuleHeaderFieldsFragment } from \"../../../../../../graphql-types\"\nimport * as styles from \"./capsule.module.scss\"\nimport { useSlugs } from \"../../../../context/slugs-context\"\n\ntype RenderProps = {\n  capsule: V3CapsuleHeaderFieldsFragment\n}\n\nconst Capsule: React.FC<RenderProps> = ({ capsule }) => {\n  const { getInternalExternalLink } = useSlugs()\n\n  return (\n    <div className={styles.capsule} style={{ \"--color\": capsule.color.hex } as React.CSSProperties}>\n      <a href={getInternalExternalLink(capsule.redirectLink)} className={styles.title}>\n        {capsule.title}\n      </a>\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment V3CapsuleHeaderFields on DatoCmsV3CapsuleHeader {\n    id\n    title\n    color {\n      hex\n    }\n    redirectLink {\n      ...InternalExternalLinkBlockFields\n    }\n  }\n`\n\nexport default Capsule\n","// extracted by mini-css-extract-plugin\nexport var capsule = \"capsule-module--capsule--da280\";\nexport var title = \"capsule-module--title--bda47\";","// extracted by mini-css-extract-plugin\nexport var arrow = \"language-selector-module--arrow--1de2b\";\nexport var countryLabel = \"language-selector-module--countryLabel--d3fa5\";\nexport var displayOnTop = \"language-selector-module--displayOnTop--faf50\";\nexport var dropdownContent = \"language-selector-module--dropdownContent--d98d8\";\nexport var languageSelector = \"language-selector-module--languageSelector--0967c\";\nexport var menuButton = \"language-selector-module--menuButton--974ec\";\nexport var submenuButton = \"language-selector-module--submenuButton--64828\";","import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport * as config from \"../../../../../../config\"\nimport * as styles from \"./language-selector.module.scss\"\nimport { useLocale } from \"../../../../context/locale-context\"\nimport { useSlugs } from \"../../../../context/slugs-context\"\nimport { useChangeLanguage, useFormatLocale } from \"../../../../hooks\"\nimport RightArrow from \"../../../../../../static/vectors/v3/right-arrow.svg\"\n\ntype RenderProps = {\n  currentRoute: string\n  allSlugLocales: { locale: string; value: string }[]\n  displayOnTop?: boolean\n}\n\nconst LanguageSelector: React.FC<RenderProps> = ({ currentRoute, allSlugLocales, displayOnTop = false }) => {\n  const { locale, defaultLocale } = useLocale()\n  const { slugs } = useSlugs()\n\n  const otherLocales: string[] = config.locales\n    .map((otherLocale: string) => useFormatLocale(otherLocale))\n    .filter((otherLocale: string) => otherLocale !== locale)\n\n  return (\n    <div className={`${styles.languageSelector} ${displayOnTop ? styles.displayOnTop : \"\"}`}>\n      <button className={styles.menuButton}>\n        <span className={styles.countryLabel}>{locale}</span>\n        <div className={styles.arrow}>\n          <ReactSVG src={RightArrow} />\n        </div>\n      </button>\n      <div className={styles.dropdownContent}>\n        {otherLocales.map((otherLocale: string) => {\n          const localeLink = useChangeLanguage(slugs, currentRoute, allSlugLocales, otherLocale, defaultLocale)\n          return (\n            <a href={localeLink} key={otherLocale} className={styles.submenuButton}>\n              <span className={styles.countryLabel}>{otherLocale}</span>\n            </a>\n          )\n        })}\n      </div>\n    </div>\n  )\n}\n\nexport default LanguageSelector\n","import { DatoCmsSlugsConfiguration } from \"../../../graphql-types\"\nimport { useFormatLocale } from \"./use-format-locale\"\n\n/**\n * Change page language\n *\n * @param slugs all the slugs of the website all languages included\n * @param currentRoute the current route (ex: /newsroom/press-release)\n * @param allSlugLocales the current end of slug translated in all languages\n * @param otherLocale the new language locale\n * @param defaultLocale the default locale of the page\n */\nexport const useChangeLanguage = (\n  slugs: DatoCmsSlugsConfiguration,\n  currentRoute: string,\n  allSlugLocales: { locale: string; value: string }[],\n  otherLocale: string,\n  defaultLocale: string\n) => {\n  const routeArray = currentRoute.split(\"/\")\n  let relatedSlug = \"\"\n\n  routeArray.forEach(route => {\n    for (const key in slugs) {\n      if (Array.isArray(slugs[key])) {\n        const isRelatedSlug = slugs[key].filter(slug => slug.value === route)\n        if (isRelatedSlug.length > 0) {\n          const slugByLocale = slugs[key].filter(slug => useFormatLocale(slug.locale) === otherLocale)\n          if (slugByLocale.length > 0) {\n            if (relatedSlug.length > 0) relatedSlug += \"/\"\n            relatedSlug += slugByLocale[0].value\n          }\n        }\n      }\n    }\n  })\n\n  relatedSlug = otherLocale === defaultLocale ? `/${relatedSlug}` : `/${otherLocale}/${relatedSlug}`\n\n  if (allSlugLocales) {\n    if (relatedSlug.length > 1 && relatedSlug[relatedSlug.length - 1] === \"/\") {\n      relatedSlug = relatedSlug.slice(0, -1)\n    }\n\n    const articleSlug = allSlugLocales.filter(slug => useFormatLocale(slug.locale) === otherLocale)\n    if (articleSlug && articleSlug[0]) {\n      if (relatedSlug.slice(-1) !== \"/\") {\n        relatedSlug += \"/\"\n      }\n      relatedSlug += articleSlug[0].value\n    }\n  }\n\n  return relatedSlug\n}\n","// extracted by mini-css-extract-plugin\nexport var accordion = \"accordion-module--accordion--a54fd\";\nexport var accordionContent = \"accordion-module--accordionContent--5928a\";\nexport var arrow = \"accordion-module--arrow--23f38\";\nexport var link = \"accordion-module--link--073d6\";\nexport var rotated = \"accordion-module--rotated--ae5bc\";\nexport var submenuLink = \"accordion-module--submenuLink--7283f\";\nexport var submenuTitle = \"accordion-module--submenuTitle--efa61\";\nexport var title = \"accordion-module--title--28b6f\";","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggaWQ9IiYjMjM5OyYjMTMwOyYjMTY5OyIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjI2NTYxIDE0LjUzMTJDMTEuMjc5MyAxNC41MzEyIDE0LjUzMTIgMTEuMjc5MyAxNC41MzEyIDcuMjY1NjFDMTQuNTMxMiAzLjI1MTk1IDExLjI3OTMgMCA3LjI2NTYxIDBDMy4yNTE5NSAwIDAgMy4yNTE5NSAwIDcuMjY1NjFDMCAxMS4yNzkzIDMuMjUxOTUgMTQuNTMxMiA3LjI2NTYxIDE0LjUzMTJaTTcuMjY1NjEgMTMuMTI1QzQuMDI4MzEgMTMuMTI1IDEuNDA2MjUgMTAuNTAyOSAxLjQwNjI1IDcuMjY1NjFDMS40MDYyNSA0LjAyODMxIDQuMDI4MzEgMS40MDYyNSA3LjI2NTYxIDEuNDA2MjVDMTAuNTAyOSAxLjQwNjI1IDEzLjEyNSA0LjAyODMxIDEzLjEyNSA3LjI2NTYxQzEzLjEyNSAxMC41MDI5IDEwLjUwMjkgMTMuMTI1IDcuMjY1NjEgMTMuMTI1Wk0xMS4xNDE2IDcuNTE0NjNMNy41ODQ5NSAxMS4wNzEzQzcuNDQ3MjUgMTEuMjA4OSA3LjIyNDU4IDExLjIwODkgNy4wODY5MSAxMS4wNzEzTDYuNTEyNjcgMTAuNDk3QzYuMzcyMDYgMTAuMzU2NCA2LjM3NDk3IDEwLjEzMDggNi41MTg1NCA5Ljk5MzEzTDguNTc4MSA4LjAyNzMySDMuODY3MThDMy42NzM4MyA4LjAyNzMyIDMuNTE1NjIgNy44NjkxMSAzLjUxNTYyIDcuNjc1NzZWNi44NTU0NUMzLjUxNTYyIDYuNjYyMSAzLjY3MzgzIDYuNTAzODkgMy44NjcxOCA2LjUwMzg5SDguNTc4MUw2LjUxODU0IDQuNTM4MDlDNi4zNzQ5NyA0LjQwMDM5IDYuMzcyMDYgNC4xNzQ3OSA2LjUxMjY3IDQuMDM0MThMNy4wODY5MSAzLjQ1OTk0QzcuMjI0NTggMy4zMjIyNyA3LjQ0NzI1IDMuMzIyMjcgNy41ODQ5NSAzLjQ1OTk0TDExLjE0MTYgNy4wMTY1OEMxMS4yNzkzIDcuMTU0MjkgMTEuMjc5MyA3LjM3NjkzIDExLjE0MTYgNy41MTQ2M1oiIGZpbGw9IiMxQjFCMUIiLz4KPC9zdmc+Cg==\"","import React, { Fragment, useRef, useState } from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { V3MenuHeaderFieldsFragment } from \"../../../../../../../graphql-types\"\nimport * as styles from \"./accordion.module.scss\"\nimport { useSlugs } from \"../../../../../context/slugs-context\"\nimport RightArrow from \"../../../../../../../static/vectors/v3/right-arrow.svg\"\nimport AccordionArrow from \"../../../../../../../static/vectors/v3/accordion-arrow.svg\"\n\ntype RenderProps = {\n  menu: V3MenuHeaderFieldsFragment\n}\n\nconst Accordion: React.FC<RenderProps> = ({ menu }) => {\n  const { buildInternalLink } = useSlugs()\n  const [active, setActive] = useState(false)\n  const [height, setHeight] = useState(\"0px\")\n  const accordionContent = useRef(null)\n\n  const toggleAccordion = () => {\n    setActive(!active)\n    setHeight(active === true ? \"0px\" : `${accordionContent.current.scrollHeight}px`)\n  }\n\n  return (\n    <li className={styles.accordion} tabIndex={-1}>\n      <button className={styles.link} onClick={toggleAccordion}>\n        <h2 className={styles.title}>{menu.title}</h2>\n        <div className={`${styles.arrow} ${active && styles.rotated}`}>\n          <ReactSVG src={RightArrow} />\n        </div>\n      </button>\n      <div ref={accordionContent} style={{ maxHeight: `${height}` }} className={styles.accordionContent}>\n        {menu.submenus.map(submenu => {\n          if (submenu.containsMultipleLinks) {\n            return (\n              <Fragment key={submenu.id}>\n                <h3 className={styles.submenuTitle}>{submenu.title}</h3>\n                {submenu.multipleLinks?.map(link => (\n                  <a\n                    href={link.isInternalPage ? buildInternalLink(link.internalLink) : link.externalLink}\n                    className={styles.submenuLink}\n                    key={link.id}\n                  >\n                    <ReactSVG src={AccordionArrow} className={styles.arrow} />\n                    <h4>{link.title}</h4>\n                  </a>\n                ))}\n              </Fragment>\n            )\n          }\n          return (\n            <a href={buildInternalLink(submenu.uniqueLink)} className={styles.submenuLink} key={submenu.id}>\n              <ReactSVG src={AccordionArrow} className={styles.arrow} />\n              <h4>{submenu.title}</h4>\n            </a>\n          )\n        })}\n      </div>\n    </li>\n  )\n}\n\nexport default Accordion\n","import React, { useState } from \"react\"\nimport { Turn as Hamburger } from \"hamburger-react\"\nimport * as config from \"../../../../../../config\"\nimport * as styles from \"./burger-menu.module.scss\"\nimport { V3MenuHeaderFieldsFragment } from \"../../../../../../graphql-types\"\nimport Accordion from \"./accordion/accordion\"\nimport LanguageSelector from \"../language-selector/language-selector\"\n\ntype RenderProps = {\n  menus: V3MenuHeaderFieldsFragment[]\n  currentRoute: string\n  allSlugLocales: { locale: string; value: string }[]\n}\n\nconst BurgerMenu: React.FC<RenderProps> = ({ menus, currentRoute, allSlugLocales }) => {\n  const [isMenuOpened, setIsMenuOpened] = useState(false)\n  const hasSeveralLanguages = config.locales.length > 1\n\n  return (\n    <nav className={styles.burgerMenuIcon} role=\"navigation\">\n      <div>\n        <Hamburger\n          label=\"Burger Menu\"\n          hideOutline={false}\n          color=\"#20405f\"\n          size={18}\n          toggled={isMenuOpened}\n          toggle={setIsMenuOpened}\n          distance=\"md\"\n          rounded\n        />\n      </div>\n      <div className={`${styles.menus} ${isMenuOpened ? styles.opened : styles.closed}`}>\n        <ul>\n          {menus.map(menu => (\n            <Accordion menu={menu} key={menu.id} />\n          ))}\n        </ul>\n        {hasSeveralLanguages && (\n          <div className={styles.languageSelector}>\n            <LanguageSelector currentRoute={currentRoute} allSlugLocales={allSlugLocales} displayOnTop={true} />\n          </div>\n        )}\n      </div>\n    </nav>\n  )\n}\n\nexport default BurgerMenu\n","// extracted by mini-css-extract-plugin\nexport var accordionButtons = \"burger-menu-module--accordionButtons--66ad1\";\nexport var burgerMenuIcon = \"burger-menu-module--burgerMenuIcon--06710\";\nexport var closed = \"burger-menu-module--closed--ac502\";\nexport var languageSelector = \"burger-menu-module--languageSelector--02522\";\nexport var menus = \"burger-menu-module--menus--4c6b4\";\nexport var opened = \"burger-menu-module--opened--65b1a\";","import React, { useState, useEffect, useRef } from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { DatoCmsFileField, V3HeaderFieldsFragment } from \"../../../../../graphql-types\"\nimport * as config from \"../../../../../config\"\nimport * as styles from \"./header.module.scss\"\nimport { useLocale } from \"../../../context/locale-context\"\nimport { useSlugs } from \"../../../context/slugs-context\"\nimport { useIsMobile } from \"../../../hooks\"\nimport Menu from \"./menu/menu\"\nimport Capsule from \"./capsule/capsule\"\nimport LanguageSelector from \"./language-selector/language-selector\"\nimport BurgerMenu from \"./burger-menu/burger-menu\"\nimport LogoMobile from \"../../../../../static/vectors/v3/keolis-logo-mobile.svg\"\nimport Globe from \"../../../../../static/vectors/v3/globe.svg\"\nimport Search from \"../../../../../static/vectors/v3/search.svg\"\n\ntype RenderProps = {\n  data: V3HeaderFieldsFragment\n  subsidiaryLogo: DatoCmsFileField\n  currentRoute: string\n  allSlugLocales: { locale: string; value: string }[]\n}\n\nconst Header: React.FC<RenderProps> = ({ data, subsidiaryLogo, currentRoute, allSlugLocales }) => {\n  const { baseSlug } = useLocale()\n  const { mapPageSlug, searchPageSlug } = useSlugs()\n  const hasSeveralLanguages = config.locales.length > 1\n  const isMedium = useIsMobile(1200)\n  const [openedMenu, setOpenedMenu] = useState(\"\")\n  const menuRef = useRef<HTMLDivElement>(null)\n\n  const handleSubmenuClick = (e: React.MouseEvent<HTMLAnchorElement>, menuId: string) => {\n    if (openedMenu === menuId) {\n      setOpenedMenu(\"\")\n    } else {\n      setOpenedMenu(menuId)\n    }\n    e.preventDefault()\n  }\n\n  useEffect(() => {\n    const handleClickOutside = (event: MouseEvent) => {\n      if (menuRef.current && !menuRef.current.contains(event.target as Node)) {\n        setOpenedMenu(\"\")\n      }\n    }\n\n    document.addEventListener(\"click\", handleClickOutside)\n    return () => {\n      document.removeEventListener(\"click\", handleClickOutside)\n    }\n  }, [])\n\n  return (\n    <header className={styles.header} data-datocms-noindex={true} role=\"banner\">\n      <div className={styles.logo}>\n        <a href=\"/\">\n          {!isMedium ? (\n            <img src={subsidiaryLogo.url} alt={subsidiaryLogo.alt} />\n          ) : (\n            <ReactSVG src={LogoMobile} aria-hidden={true} />\n          )}\n        </a>\n      </div>\n      {!isMedium && (\n        <nav className={styles.navMenu} role=\"navigation\" ref={menuRef}>\n          <ul className={styles.menus}>\n            {data.menus.map(menu => (\n              <Menu menu={menu} onClick={handleSubmenuClick} isMenuOpened={openedMenu === menu.id} key={menu.id} />\n            ))}\n          </ul>\n        </nav>\n      )}\n      <div className={styles.buttons}>\n        {!isMedium && data.capsules.length > 0 && (\n          <div className={styles.capsules}>\n            {data.capsules.map(capsule => (\n              <Capsule capsule={capsule} key={capsule.id} />\n            ))}\n          </div>\n        )}\n        {data.isMapIconDisplayed && (\n          <a href={`${baseSlug}${mapPageSlug}`} className={styles.icon}>\n            <ReactSVG src={Globe} className={styles.globeIcon} />\n          </a>\n        )}\n        <a href={`${baseSlug}${searchPageSlug}`} className={styles.icon}>\n          <ReactSVG src={Search} className={styles.searchIcon} />\n        </a>\n        {!isMedium ? (\n          hasSeveralLanguages && <LanguageSelector currentRoute={currentRoute} allSlugLocales={allSlugLocales} />\n        ) : (\n          <BurgerMenu menus={data.menus} currentRoute={currentRoute} allSlugLocales={allSlugLocales} />\n        )}\n      </div>\n    </header>\n  )\n}\n\nexport const enableDidomi = () => {\n  const head = document.getElementsByTagName(\"head\")\n  const script = document.createElement(\"script\")\n\n  script.type = \"text/javascript\"\n  script.text =\n    `window.gdprAppliesGlobally=true;(function(){function a(e){if(!window.frames[e]){if(document.body&&document.body.firstChild){var t=document.body;var n=document.createElement(\"iframe\");n.style.display=\"none\";n.name=e;n.title=e;t.insertBefore(n,t.firstChild)}\\n` +\n    `else{setTimeout(function(){a(e)},5)}}}function e(n,r,o,c,s){function e(e,t,n,a){if(typeof n!==\"function\"){return}if(!window[r]){window[r]=[]}var i=false;if(s){i=s(e,t,n)}if(!i){window[r].push({command:e,parameter:t,callback:n,version:a})}}e.stub=true;function t(a){if(!window[n]||window[n].stub!==true){return}if(!a.data){return}\\n` +\n    `var i=typeof a.data===\"string\";var e;try{e=i?JSON.parse(a.data):a.data}catch(t){return}if(e[o]){var r=e[o];window[n](r.command,r.parameter,function(e,t){var n={};n[c]={returnValue:e,success:t,callId:r.callId};a.source.postMessage(i?JSON.stringify(n):n,\"*\")},r.version)}}\\n` +\n    `if(typeof window[n]!==\"function\"){window[n]=e;if(window.addEventListener){window.addEventListener(\"message\",t,false)}else{window.attachEvent(\"onmessage\",t)}}}e(\"__tcfapi\",\"__tcfapiBuffer\",\"__tcfapiCall\",\"__tcfapiReturn\");a(\"__tcfapiLocator\");(function(e){\\n` +\n    `var t=document.createElement(\"script\");t.id=\"spcloader\";t.type=\"text/javascript\";t.async=true;t.src=\"https://sdk.privacy-center.org/\"+e+\"/loader.js?target=\"+document.location.hostname;t.charset=\"utf-8\";var n=document.getElementsByTagName(\"script\")[0];n.parentNode.insertBefore(t,n)})(\"${config.didomi_api_key}\")})();`\n\n  head[0].prepend(script)\n}\n\nexport const enableGoogleAnalytics = () => (\n  <script\n    type=\"didomi/javascript\"\n    data-vendor=\"c:googleana-4TXnJigR\"\n    dangerouslySetInnerHTML={{\n      __html: `(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n            })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');\n            ga('create', '${config.google_analytics_key}', 'auto');\n            ga('send', 'pageview');`,\n    }}\n  />\n)\n\nexport const enableGoogleTagManagerHead = () => (\n  <script\n    dangerouslySetInnerHTML={{\n      __html: `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\n            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\n            j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n            'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n            })(window,document,'script','dataLayer','${config.google_tag_manager_id}');`,\n    }}\n  />\n)\n\nexport const enableGoogleTagManagerBody = () => {\n  const body = document.getElementsByTagName(\"body\")\n  const noscript = document.createElement(\"noscript\")\n  const iframe = document.createElement(\"iframe\")\n\n  iframe.src = `https://www.googletagmanager.com/ns.html?id=${config.google_tag_manager_id}`\n  iframe.height = \"0\"\n  iframe.width = \"0\"\n  iframe.setAttribute(\"style\", \"display:none;visibility:hidden\")\n\n  noscript.appendChild(iframe)\n\n  body[0].prepend(noscript)\n}\n\nexport const fragment = graphql`\n  fragment V3HeaderFields on DatoCmsV3Header {\n    id\n    menus {\n      ...V3MenuHeaderFields\n    }\n    capsules {\n      ...V3CapsuleHeaderFields\n    }\n    isMapIconDisplayed\n    searchLabel\n  }\n`\n\nexport default Header\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiByeD0iNyIgZmlsbD0iIzIwNDA1RiIvPgo8cGF0aCBkPSJNOS4wNDA5OSAxNS4zMDQxQzkuMjc1ODYgMTUuMzA0MSA5LjUwMDk0IDE1LjI5MDkgOS43MTYyNCAxNS4yNjQ0QzkuOTMxNTMgMTUuMjM3OSAxMC4xNTAxIDE1LjE5ODEgMTAuMzcxOSAxNS4xNDUxTDkuNDMyNDQgMTMuNzEzNUg2LjY5MjMxVjEyLjkxODJDNi42OTIzMSAxMi40ODA4IDYuODQ1NjIgMTIuMTA2MyA3LjE1MjI2IDExLjc5NDhDNy40NTg4OSAxMS40ODMzIDcuODI3NSAxMS4zMjc1IDguMjU4MSAxMS4zMjc1SDkuODIzODhWOC45NDE1N0g4LjI1ODFDOC4wMzYyNyA4Ljk0MTU3IDcuODUwMzQgOC44NjUzNiA3LjcwMDI4IDguNzEyOTJDNy41NTAyMyA4LjU2MDQ4IDcuNDc1MiA4LjM3MTU5IDcuNDc1MiA4LjE0NjI1VjYuNTU1NjFINy4xMjI5QzYuNzgzNjQgNi41NTU2MSA2LjQ5NjU4IDYuNDM5NjMgNi4yNjE3MSA2LjIwNzY2QzYuMDI2ODUgNS45NzU2OSA1LjkwOTQxIDUuNjg3MzggNS45MDk0MSA1LjM0Mjc0QzUuOTA5NDEgNS4yMjM0NSA1LjkyNTcyIDUuMTA0MTUgNS45NTgzNCA0Ljk4NDg1QzUuOTkwOTYgNC44NjU1NSA2LjAzOTg5IDQuNzUyODggNi4xMDUxMyA0LjY0Njg0TDcuMzE4NjIgMi44Mzc0OEM2LjAwMDc1IDMuMjIxODkgNC45MTQ0OCAzLjk3MDgxIDQuMDU5ODIgNS4wODQyNkMzLjIwNTE2IDYuMTk3NzIgMi43Nzc4MyA3LjQ4MzQ5IDIuNzc3ODMgOC45NDE1N0gzLjU2MDczVjguMTQ2MjVDMy41NjA3MyA3LjkyMDkxIDMuNjM1NzUgNy43MzIwMiAzLjc4NTgxIDcuNTc5NTlDMy45MzU4NiA3LjQyNzE1IDQuMTIxOCA3LjM1MDkzIDQuMzQzNjIgNy4zNTA5M0g1LjkwOTQxQzYuMTMxMjMgNy4zNTA5MyA2LjMxNzE3IDcuNDI3MTUgNi40NjcyMiA3LjU3OTU5QzYuNjE3MjggNy43MzIwMiA2LjY5MjMxIDcuOTIwOTEgNi42OTIzMSA4LjE0NjI1VjguOTQxNTdDNi42OTIzMSA5LjE2NjkyIDYuNjE3MjggOS4zNTU4MSA2LjQ2NzIyIDkuNTA4MjRDNi4zMTcxNyA5LjY2MDY4IDYuMTMxMjMgOS43MzY5IDUuOTA5NDEgOS43MzY5VjEwLjUzMjJDNS45MDk0MSAxMC45Njk2IDUuNzU2MDkgMTEuMzQ0MSA1LjQ0OTQ2IDExLjY1NTZDNS4xNDI4MyAxMS45NjcxIDQuNzc0MjEgMTIuMTIyOSA0LjM0MzYyIDEyLjEyMjlIMy42MTk0NEM0LjE2NzQ3IDEzLjA3NzIgNC45MTc3NCAxMy44NDYxIDUuODcwMjcgMTQuNDI5M0M2LjgyMjc5IDE1LjAxMjUgNy44Nzk3IDE1LjMwNDEgOS4wNDA5OSAxNS4zMDQxWk0xNC45OTEgMTAuODkwMUMxNS4wOTU0IDEwLjU4NTIgMTUuMTczNyAxMC4yNzA0IDE1LjIyNTkgOS45NDU2N0MxNS4yNzgxIDkuNjIwOTEgMTUuMzA0MSA5LjI4NjIxIDE1LjMwNDEgOC45NDE1N0MxNS4zMDQxIDcuNDU2OTcgMTQuODYwNSA2LjE0ODAxIDEzLjk3MzIgNS4wMTQ2N0MxMy4wODU5IDMuODgxMzQgMTEuOTYzOCAzLjEzNTczIDEwLjYwNjggMi43Nzc4M1Y0Ljk2NDk3QzExLjAzNzQgNC45NjQ5NyAxMS40MDYgNS4xMjA3MiAxMS43MTI2IDUuNDMyMjJDMTIuMDE5MyA1Ljc0MzcyIDEyLjE3MjYgNi4xMTgxOCAxMi4xNzI2IDYuNTU1NjFWOC4xNDYyNUMxMi40MjA1IDguMTQ2MjUgMTIuNjQyMyA4LjE3NjA4IDEyLjgzOCA4LjIzNTczQzEzLjAzMzggOC4yOTUzOCAxMy4yMjMgOC40MTc5OSAxMy40MDU2IDguNjAzNTZMMTQuOTkxIDEwLjg5MDFaIiBmaWxsPSJ3aGl0ZSIvPgo8Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iNi40MTY2NyIgc3Ryb2tlPSIjMjA0MDVGIiBzdHJva2Utd2lkdGg9IjEuMTY2NjciLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE1IDE1TDEyLjE2NjcgMTIuMTYxN00xMy43MzY4IDguMzY4NDJDMTMuNzM2OCA5Ljc5MjIxIDEzLjE3MTIgMTEuMTU3NyAxMi4xNjQ1IDEyLjE2NDVDMTEuMTU3NyAxMy4xNzEyIDkuNzkyMjEgMTMuNzM2OCA4LjM2ODQyIDEzLjczNjhDNi45NDQ2MyAxMy43MzY4IDUuNTc5MTUgMTMuMTcxMiA0LjU3MjM3IDEyLjE2NDVDMy41NjU2IDExLjE1NzcgMyA5Ljc5MjIxIDMgOC4zNjg0MkMzIDYuOTQ0NjMgMy41NjU2IDUuNTc5MTUgNC41NzIzNyA0LjU3MjM3QzUuNTc5MTUgMy41NjU2IDYuOTQ0NjMgMyA4LjM2ODQyIDNDOS43OTIyMSAzIDExLjE1NzcgMy41NjU2IDEyLjE2NDUgNC41NzIzN0MxMy4xNzEyIDUuNTc5MTUgMTMuNzM2OCA2Ljk0NDYzIDEzLjczNjggOC4zNjg0MlY4LjM2ODQyWiIgc3Ryb2tlPSIjMjA0MDVGIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPgo=\"","// extracted by mini-css-extract-plugin\nexport var columns = \"footer-module--columns--c96e5\";\nexport var container = \"footer-module--container--23490\";\nexport var flexLogos = \"footer-module--flexLogos--fbf58\";\nexport var logoImg = \"footer-module--logoImg--574b1\";\nexport var logoLink = \"footer-module--logoLink--21dd8\";\nexport var separator = \"footer-module--separator--ce965\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { SiteMapColumnsFieldsFragment } from \"../../../../../../graphql-types\"\nimport * as styles from \"./site-map-columns.module.scss\"\nimport { useSlugs } from \"../../../../context/slugs-context\"\n\ntype RenderProps = {\n  columns: SiteMapColumnsFieldsFragment[]\n}\n\nconst SiteMapColumns: React.FC<RenderProps> = ({ columns }) => {\n  const { getInternalExternalLink } = useSlugs()\n\n  return columns.map((column, index) => (\n    <div className={styles.column} key={column.title || index}>\n      <span className={styles.title}>{column.title}</span>\n      <ul>\n        {column.redirectLinks.map(redirectLink => (\n          <li key={redirectLink.id}>\n            <a\n              href={getInternalExternalLink(redirectLink)}\n              target={redirectLink.isInternalPage ? \"_self\" : \"_blank\"}\n              className={styles.redirectLink}\n            >\n              {redirectLink.title}\n            </a>\n          </li>\n        ))}\n      </ul>\n    </div>\n  ))\n}\n\nexport const fragment = graphql`\n  fragment SiteMapColumnsFields on DatoCmsV3FooterSiteMapColumn {\n    id\n    title\n    redirectLinks {\n      ...InternalExternalLinkBlockFields\n    }\n  }\n`\n\nexport default SiteMapColumns\n","// extracted by mini-css-extract-plugin\nexport var column = \"site-map-columns-module--column--43614\";\nexport var redirectLink = \"site-map-columns-module--redirectLink--a2bab\";\nexport var title = \"site-map-columns-module--title--68157\";","import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { SocialNetworksColumnFieldsFragment } from \"../../../../../../graphql-types\"\nimport * as styles from \"./social-networks-column.module.scss\"\n\ntype RenderProps = {\n  title?: string\n  column: SocialNetworksColumnFieldsFragment[]\n}\n\nconst SocialNetworksColumn: React.FC<RenderProps> = ({ title, column }) => (\n  <div className={styles.column}>\n    {title && <span className={styles.title}>{title}</span>}\n    <ul className={styles.iconsContainer}>\n      {column.map((item, index) => (\n        <li key={item.socialMediaLink || index}>\n          <a href={item.socialMediaLink} target=\"_blank\">\n            <ReactSVG\n              src={item.socialMediaLogo.url}\n              className={styles.pictogram}\n              beforeInjection={svg => svg.setAttribute(\"alt\", item.socialMediaLogo.alt || \"\")}\n            />\n          </a>\n        </li>\n      ))}\n    </ul>\n  </div>\n)\n\nexport const fragment = graphql`\n  fragment SocialNetworksColumnFields on DatoCmsV3FooterSocialNetworkColumn {\n    id\n    socialMediaLink\n    socialMediaLogo {\n      alt\n      url\n    }\n  }\n`\n\nexport default SocialNetworksColumn\n","// extracted by mini-css-extract-plugin\nexport var column = \"social-networks-column-module--column--85870\";\nexport var iconsContainer = \"social-networks-column-module--iconsContainer--566b7\";\nexport var pictogram = \"social-networks-column-module--pictogram--064e3\";\nexport var title = \"social-networks-column-module--title--357cf\";","// extracted by mini-css-extract-plugin\nexport var column = \"legal-documents-column-module--column--0b706\";\nexport var didomiButton = \"legal-documents-column-module--didomiButton--6b017\";\nexport var link = \"legal-documents-column-module--link--312f9\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { LegalDocumentsColumnFieldsFragment } from \"../../../../../../graphql-types\"\nimport * as styles from \"./legal-documents-column.module.scss\"\nimport { useSlugs } from \"../../../../context/slugs-context\"\n\ndeclare global {\n  interface Window {\n    Didomi?: {\n      preferences?: {\n        show?: () => void\n      }\n    }\n  }\n}\n\ntype RenderProps = {\n  column: LegalDocumentsColumnFieldsFragment[]\n}\n\nconst triggerDidomiPreferences = () => {\n  if (window.Didomi?.preferences?.show) {\n    window.Didomi.preferences.show()\n  } else {\n    console.warn(\"Didomi n'est pas disponible dans le contexte global.\")\n  }\n}\n\nconst LegalDocumentsColumn: React.FC<RenderProps> = ({ column }) => {\n  const { getInternalExternalLink } = useSlugs()\n\n  return (\n    <ul className={styles.column}>\n      {column.map((item, index) => (\n        <li key={item.__typename + \" \" + index}>\n          {item.__typename === \"DatoCmsInternalExternalLinkBlock\" ? (\n            <a href={getInternalExternalLink(item)} className={styles.link}>\n              {item.title}\n            </a>\n          ) : (\n            <button\n              onClick={e => {\n                e.preventDefault()\n                triggerDidomiPreferences()\n              }}\n              className={styles.link + \" \" + styles.didomiButton}\n            >\n              {item.footerLabel}\n            </button>\n          )}\n        </li>\n      ))}\n    </ul>\n  )\n}\n\nexport const fragment = graphql`\n  fragment LegalDocumentsColumnFields on DatoCmsUnionForDatoCmsFooterLegalDocumentsColumn {\n    __typename\n    ... on DatoCmsV3BannerDidomi {\n      footerLabel\n    }\n    ... on DatoCmsInternalExternalLinkBlock {\n      ...InternalExternalLinkBlockFields\n    }\n  }\n`\n\nexport default LegalDocumentsColumn\n","import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { FooterFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./footer.module.scss\"\nimport { useSlugs } from \"../../../context/slugs-context\"\nimport { useIsMobile } from \"../../../hooks\"\nimport SiteMapColumns from \"./site-map-columns/site-map-columns\"\nimport SocialNetworksColumn from \"./social-networks-column/social-networks-column\"\nimport LegalDocumentsColumn from \"./legal-documents-column/legal-documents-column\"\nimport LogoMobile from \"../../../../../static/vectors/v3/keolis-logo-mobile.svg\"\n\ntype RenderProps = {\n  data: FooterFieldsFragment\n}\n\nconst Footer: React.FC<RenderProps> = ({ data }) => {\n  const { homeLink } = useSlugs()\n  const isMobile = useIsMobile()\n\n  return !isMobile ? (\n    <footer data-datocms-noindex={true} role=\"contentinfo\">\n      <div className={styles.container}>\n        <a href={homeLink} className={styles.logoLink}>\n          <img src={data.logo.url} alt={data.logo.alt} className={styles.logoImg} />\n        </a>\n        <div className={styles.columns}>\n          <SiteMapColumns columns={data.siteMapColumns} />\n          <SocialNetworksColumn title={data.socialNetworksColumnTitle} column={data.socialNetworksColumn} />\n        </div>\n      </div>\n      <div className={styles.separator}></div>\n      <LegalDocumentsColumn column={data.legalDocumentsColumn} />\n    </footer>\n  ) : (\n    <footer data-datocms-noindex={true} role=\"contentinfo\">\n      <div className={styles.container}>\n        <div className={styles.flexLogos}>\n          <a href={homeLink} className={styles.logoLink}>\n            {data.logoMobile ? (\n              <img src={data.logoMobile.url} alt={data.logoMobile.alt} className={styles.logoImg} />\n            ) : (\n              <ReactSVG src={LogoMobile} className={styles.logoImg} aria-hidden={true} />\n            )}\n          </a>\n          <SocialNetworksColumn column={data.socialNetworksColumn} />\n        </div>\n      </div>\n      <LegalDocumentsColumn column={data.legalDocumentsColumn} />\n    </footer>\n  )\n}\n\nexport const fragment = graphql`\n  fragment FooterFields on DatoCmsFooter {\n    id\n    logo {\n      alt\n      url\n    }\n    logoMobile {\n      alt\n      url\n    }\n    siteMapColumns {\n      ...SiteMapColumnsFields\n    }\n    socialNetworksColumnTitle\n    socialNetworksColumn {\n      ...SocialNetworksColumnFields\n    }\n    legalDocumentsColumn {\n      ...LegalDocumentsColumnFields\n    }\n  }\n`\n\nexport default Footer\n","import React, { useEffect, useState } from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { V3ContactButtonFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./button-sticky.module.scss\"\nimport { useSlugs } from \"../../../context/slugs-context\"\n\ntype RenderProps = {\n  data: V3ContactButtonFieldsFragment\n}\n\nconst ButtonSticky: React.FC<RenderProps> = ({ data }) => {\n  const { getInternalExternalLink } = useSlugs()\n  const [isOpened, setIsOpened] = useState(false)\n\n  useEffect(() => {\n    const handleKeyDown = e => {}\n\n    window.addEventListener(\"keydown\", handleKeyDown)\n\n    return () => {\n      window.removeEventListener(\"keydown\", handleKeyDown)\n    }\n  }, [])\n\n  return (\n    <a\n      href={getInternalExternalLink(data.redirectLink)}\n      target={data.redirectLink.isInternalPage ? \"_self\" : \"_blank\"}\n      className={isOpened ? styles.opened : styles.closed}\n      style={{ \"--button-color\": data.buttonColor.hex, \"--label-color\": data.labelColor.hex } as React.CSSProperties}\n      onMouseEnter={() => setIsOpened(true)}\n      onMouseLeave={() => setIsOpened(false)}\n    >\n      <span className={styles.title}>{data.redirectLink.title}</span>\n      <ReactSVG src={data.icon.url} className={styles.icon} />\n    </a>\n  )\n}\n\nexport const fragment = graphql`\n  fragment V3ContactButtonFields on DatoCmsV3ContactButton {\n    id\n    isEnabled\n    redirectLink {\n      ...InternalExternalLinkBlockFields\n    }\n    buttonColor {\n      hex\n    }\n    labelColor {\n      hex\n    }\n    icon {\n      alt\n      format\n      url\n    }\n  }\n`\n\nexport default ButtonSticky\n","// extracted by mini-css-extract-plugin\nexport var closed = \"button-sticky-module--closed--36375\";\nexport var icon = \"button-sticky-module--icon--7389f\";\nexport var opened = \"button-sticky-module--opened--a8ede\";\nexport var title = \"button-sticky-module--title--f348a\";","import React, { useEffect } from \"react\"\nimport TagManager from \"react-gtm-module\"\nimport {\n  DatoCmsFileField,\n  DatoCmsSlugsConfiguration,\n  FooterFieldsFragment,\n  V3ContactButtonFieldsFragment,\n  V3HeaderFieldsFragment,\n} from \"../../../../graphql-types\"\nimport * as config from \"../../../../config\"\nimport { LocaleProvider } from \"../../context/locale-context\"\nimport { SlugsProvider } from \"../../context/slugs-context\"\nimport Header, { enableDidomi, enableGoogleTagManagerBody } from \"./header/header\"\nimport Footer from \"./footer/footer\"\nimport ButtonSticky from \"./button-sticky/button-sticky\"\n\ntype RenderProps = {\n  children?: React.ReactNode\n  pageContext: {\n    locale: string\n    defaultLocale: string\n    slugs: DatoCmsSlugsConfiguration\n  }\n  location: Location\n  header: V3HeaderFieldsFragment\n  footer: FooterFieldsFragment\n  subsidiaryLogo: DatoCmsFileField\n  contactButton: V3ContactButtonFieldsFragment\n  currentRoute: string\n  pageTemplate: string\n  allSlugLocales?: { locale: string; value: string }[]\n}\n\nconst Layout: React.FC<RenderProps> = ({\n  children,\n  location,\n  pageContext,\n  header,\n  footer,\n  subsidiaryLogo,\n  contactButton,\n  currentRoute,\n  pageTemplate,\n  allSlugLocales,\n}) => {\n  useEffect(() => {\n    enableDidomi()\n    if (config.google_tag_manager_id) {\n      enableGoogleTagManagerBody()\n      TagManager.initialize({ gtmId: config.google_tag_manager_id })\n      TagManager.dataLayer({\n        dataLayer: { environment: process.env.NODE_ENV, language: pageContext.locale, pageTemplate },\n      })\n    }\n  }, [])\n\n  return (\n    <LocaleProvider locale={pageContext.locale} defaultLocale={pageContext.defaultLocale}>\n      <SlugsProvider slugs={pageContext.slugs}>\n        <Header\n          data={header}\n          subsidiaryLogo={subsidiaryLogo}\n          currentRoute={currentRoute}\n          allSlugLocales={allSlugLocales}\n        />\n        <main id=\"main\" role=\"main\" tabIndex={-1}>\n          {children}\n          {contactButton?.isEnabled && <ButtonSticky data={contactButton} />}\n        </main>\n        <Footer data={footer} />\n      </SlugsProvider>\n    </LocaleProvider>\n  )\n}\n\nexport default Layout\n","import React, { createContext, useContext } from \"react\"\nimport { useFormatLocale } from \"../hooks\"\n\ntype LocaleProviderProps = {\n  children: React.ReactNode\n  locale: string\n  defaultLocale: string\n}\n\ntype LocaleContextData = {\n  locale: string\n  defaultLocale: string\n  baseSlug: string\n}\n\nconst LocaleContext = createContext<LocaleContextData | undefined>(undefined)\n\nexport const useLocale = () => {\n  const context = useContext(LocaleContext)\n\n  if (!context) {\n    throw new Error(\"useLocale must be used inside LocaleProvider\")\n  }\n\n  return context\n}\n\nexport const LocaleProvider: React.FC<LocaleProviderProps> = ({ children, locale, defaultLocale }) => {\n  const localeFormatted = useFormatLocale(locale)\n  const defaultLocaleFormatted = useFormatLocale(defaultLocale)\n  const baseSlug = locale === defaultLocale ? \"/\" : `/${locale}/`\n\n  return (\n    <LocaleContext.Provider value={{ locale: localeFormatted, defaultLocale: defaultLocaleFormatted, baseSlug }}>\n      {children}\n    </LocaleContext.Provider>\n  )\n}\n","import React, { createContext, useContext } from \"react\"\nimport { graphql } from \"gatsby\"\nimport { DatoCmsSlugsConfiguration, InternalExternalLinkBlockFieldsFragment } from \"../../../graphql-types\"\nimport { useLocale } from \"./locale-context\"\n\ntype SlugsProviderProps = {\n  children: React.ReactNode\n  slugs: DatoCmsSlugsConfiguration\n}\n\ntype SlugsContextData = {\n  slugs: DatoCmsSlugsConfiguration\n  homeLink: string\n  pulsePageSlug: string\n  newsroomPageSlug: string\n  pressReleasesPageSlug: string\n  newsPageSlug: string\n  publicationsPageSlug: string\n  contactPageSlug: string\n  governanceMembersPageSlug: string\n  parentPageSlug: string\n  detailNetworkPageSlug: string\n  mapPageSlug: string\n  searchPageSlug: string\n  buildInternalLink: (internalLink: InternalLink) => string\n  getInternalExternalLink: (link: InternalExternalLinkBlockFieldsFragment) => string\n}\n\ntype InternalLink = {\n  __typename: string\n  slug?: string\n}\n\nconst SlugsContext = createContext<SlugsContextData | undefined>(undefined)\n\nexport const useSlugs = () => {\n  const context = useContext(SlugsContext)\n\n  if (!context) {\n    throw new Error(\"useSlugs must be used inside SlugsProvider\")\n  }\n\n  return context\n}\n\nexport const SlugsProvider: React.FC<SlugsProviderProps> = ({ children, slugs }) => {\n  const { locale, defaultLocale } = useLocale()\n\n  const homeLink = locale === defaultLocale ? `/` : `/${locale}`\n  const pulsePageSlug = slugs._allPulseHomePageSlugLocales?.find(slug => slug.locale === locale)?.value || \"\"\n  const newsroomPageSlug = slugs._allNewsroomPageSlugLocales?.find(slug => slug.locale === locale)?.value || \"\"\n  const pressReleasesPageSlug =\n    slugs._allPressReleasesPageSlugLocales?.find(slug => slug.locale === locale)?.value || \"\"\n  const newsPageSlug = slugs._allNewsPageSlugLocales?.find(slug => slug.locale === locale)?.value || \"\"\n  const publicationsPageSlug = slugs._allPublicationsPageSlugLocales?.find(slug => slug.locale === locale)?.value || \"\"\n  const contactPageSlug = slugs._allContactPageSlugLocales?.find(slug => slug.locale === locale)?.value || \"\"\n  const governanceMembersPageSlug =\n    slugs._allGovernanceMembersPageSlugLocales?.find(slug => slug.locale === locale)?.value || \"\"\n  const parentPageSlug = slugs._allPageParentSlugLocales?.find(slug => slug.locale === locale)?.value || \"\"\n  const detailNetworkPageSlug = slugs._allDetailNetworkSlugLocales?.find(slug => slug.locale === locale)?.value || \"\"\n  const mapPageSlug = slugs._allMapPageSlugLocales?.find(slug => slug.locale === locale)?.value || \"\"\n  const searchPageSlug = slugs._allSearchPageSlugLocales?.find(slug => slug.locale === locale)?.value || \"\"\n\n  const buildInternalLink = (internalLink: InternalLink) => {\n    if (!internalLink) return null\n\n    switch (internalLink.__typename) {\n      case \"DatoCmsHomePage\":\n        return homeLink\n      case \"DatoCmsPage\":\n      case \"DatoCmsGeneratedPage\":\n        return locale === defaultLocale ? `/${internalLink.slug}` : `/${locale}/${internalLink.slug}`\n      case \"DatoCmsNews\":\n        return locale === defaultLocale\n          ? `/${newsroomPageSlug}/${newsPageSlug}/${internalLink.slug}`\n          : `/${locale}/${newsroomPageSlug}/${newsPageSlug}/${internalLink.slug}`\n      case \"DatoCmsPressRelease\":\n        return locale === defaultLocale\n          ? `/${newsroomPageSlug}/${pressReleasesPageSlug}/${internalLink.slug}`\n          : `/${locale}/${newsroomPageSlug}/${pressReleasesPageSlug}/${internalLink.slug}`\n      case \"DatoCmsParentPage\":\n        return locale === defaultLocale\n          ? `/${parentPageSlug}/${internalLink.slug}`\n          : `/${locale}/${parentPageSlug}/${internalLink.slug}`\n      case \"DatoCmsThematicPulse\":\n        return locale === defaultLocale\n          ? `/${pulsePageSlug}/${internalLink.slug}`\n          : `/${locale}/${pulsePageSlug}/${internalLink.slug}`\n      case \"DatoCmsGovernanceMember\":\n        return locale === defaultLocale\n          ? `/${governanceMembersPageSlug}/${internalLink.slug}`\n          : `/${locale}/${governanceMembersPageSlug}/${internalLink.slug}`\n    }\n  }\n\n  const getInternalExternalLink = (link: InternalExternalLinkBlockFieldsFragment) => {\n    if (link.isInternalPage) {\n      return buildInternalLink(link.internalLink as InternalLink)\n    } else if (link.externalLink) {\n      return link.externalLink\n    }\n    return \"/\"\n  }\n\n  return (\n    <SlugsContext.Provider\n      value={{\n        slugs,\n        homeLink,\n        pulsePageSlug,\n        newsroomPageSlug,\n        pressReleasesPageSlug,\n        newsPageSlug,\n        publicationsPageSlug,\n        contactPageSlug,\n        governanceMembersPageSlug,\n        parentPageSlug,\n        detailNetworkPageSlug,\n        mapPageSlug,\n        searchPageSlug,\n        buildInternalLink,\n        getInternalExternalLink,\n      }}\n    >\n      {children}\n    </SlugsContext.Provider>\n  )\n}\n//\nexport const fragment = graphql`\n  fragment InternalExternalLinkBlockFields on DatoCmsInternalExternalLinkBlock {\n    id\n    title\n    isInternalPage\n    externalLink\n    internalLink {\n      __typename\n      ... on DatoCmsPage {\n        slug\n      }\n      ... on DatoCmsNews {\n        slug\n      }\n      ... on DatoCmsPressRelease {\n        slug\n      }\n      ... on DatoCmsParentPage {\n        slug\n      }\n      ... on DatoCmsThematicPulse {\n        slug\n      }\n      ... on DatoCmsGeneratedPage {\n        slug\n      }\n    }\n  }\n`\n","// format locale from DatoCMS like \"ar-AE\" to an expected format \"ae-ar\"\n\nexport const useFormatLocale = (locale: string) => locale.toLowerCase().split(\"-\").reverse().join(\"-\")\n","import { useWindowSize } from \"usehooks-ts\"\n\nexport const useIsMobile = (windowWidth = 660) => {\n  const { width } = useWindowSize()\n\n  return width <= windowWidth\n}\n","export const useSlugValue = (allSlugs, locale) => {\n  const filteredSlug = allSlugs.filter(slug => slug.locale === locale)\n\n  if (filteredSlug.length > 0) {\n    return filteredSlug[0].value\n  }\n  return \"\"\n}\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMjkiIHZpZXdCb3g9IjAgMCAzNiAyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuMDUyNjMgMS4xNDkwNUgwVjI3LjU2NTVINS4wNTI2M1YxLjE0OTA1WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTEyLjIzOSAxMy4wODYyTDM1LjQ4MTEgNS4xMjgxMkwzMy43OTY5IDAuMzc1MzY2TDEwLjU1NDggOC42NjUwNkM4LjE5NjkxIDkuNjU5ODIgNi41MTI3IDExLjc1OTkgNi41MTI3IDE0LjMwMjFDNi41MTI3IDE2Ljg0NDIgOC4xOTY5MSAxOS4wNTQ4IDEwLjU1NDggMTkuOTM5TDMzLjc5NjkgMjguMjI4N0wzNS40ODExIDIzLjQ3NkwxMi4yMzkgMTUuNDA3M0MxMS43ODk5IDE1LjE4NjMgMTEuNTY1MyAxNC43NDQyIDExLjU2NTMgMTQuMTkxNUMxMS41NjUzIDEzLjYzODkgMTEuNzg5OSAxMy4zMDczIDEyLjIzOSAxMy4wODYyWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IkFycm93Ij4KPHBhdGggaWQ9IlZlY3RvciAxIiBkPSJNNy41IDE0LjVMMTIuNSA5LjVMNy41IDQuNSIgc3Ryb2tlPSIjMjA0MDVGIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CjwvZz4KPC9zdmc+Cg==\""],"names":["fr","require","module","exports","Object","assign","dateFnsLocale","icon","spanAnimated","submenuTitle","_ref","submenus","_onClick","onClick","buildInternalLink","useSlugs","React","className","map","submenu","index","containsMultipleLinks","key","id","styles","title","ReactSVG","src","RightArrow","href","uniqueLink","links","link","isInternalPage","internalLink","externalLink","menu","isMenuOpened","_React$useState","indexSubmenu","setIndexSubmenu","e","Submenus","Details","multipleLinks","capsule","getInternalExternalLink","style","color","hex","redirectLink","countryLabel","currentRoute","allSlugLocales","_ref$displayOnTop","displayOnTop","_useLocale","useLocale","locale","defaultLocale","slugs","otherLocales","config","locales","otherLocale","useFormatLocale","filter","localeLink","routeArray","split","relatedSlug","forEach","route","Array","isArray","slug","value","length","slugByLocale","slice","articleSlug","useChangeLanguage","submenuLink","_useState","useState","active","setActive","_useState2","height","setHeight","accordionContent","useRef","tabIndex","current","scrollHeight","ref","maxHeight","_submenu$multipleLink","Fragment","AccordionArrow","menus","setIsMenuOpened","hasSeveralLanguages","role","Hamburger","label","hideOutline","size","toggled","toggle","distance","rounded","Accordion","LanguageSelector","enableDidomi","head","document","getElementsByTagName","script","createElement","type","text","didomi_api_key","prepend","enableGoogleAnalytics","dangerouslySetInnerHTML","__html","google_analytics_key","enableGoogleTagManagerHead","google_tag_manager_id","enableGoogleTagManagerBody","body","noscript","iframe","width","setAttribute","appendChild","data","subsidiaryLogo","baseSlug","_useSlugs","mapPageSlug","searchPageSlug","isMedium","useIsMobile","openedMenu","setOpenedMenu","menuRef","handleSubmenuClick","menuId","preventDefault","useEffect","handleClickOutside","event","contains","target","addEventListener","removeEventListener","LogoMobile","url","alt","Menu","capsules","Capsule","isMapIconDisplayed","BurgerMenu","container","logoImg","logoLink","columns","column","redirectLinks","item","socialMediaLink","socialMediaLogo","beforeInjection","svg","__typename","_window$Didomi","_window$Didomi$prefer","window","Didomi","preferences","show","console","warn","footerLabel","homeLink","logoMobile","SocialNetworksColumn","socialNetworksColumn","LegalDocumentsColumn","legalDocumentsColumn","logo","SiteMapColumns","siteMapColumns","socialNetworksColumnTitle","isOpened","setIsOpened","handleKeyDown","buttonColor","labelColor","onMouseEnter","onMouseLeave","children","pageContext","location","header","footer","contactButton","pageTemplate","TagManager","gtmId","dataLayer","environment","process","language","LocaleProvider","SlugsProvider","Header","isEnabled","ButtonSticky","Footer","LocaleContext","createContext","undefined","context","useContext","Error","localeFormatted","defaultLocaleFormatted","Provider","SlugsContext","_slugs$_allPulseHomeP","_slugs$_allPulseHomeP2","_slugs$_allNewsroomPa","_slugs$_allNewsroomPa2","_slugs$_allPressRelea","_slugs$_allPressRelea2","_slugs$_allNewsPageSl","_slugs$_allNewsPageSl2","_slugs$_allPublicatio","_slugs$_allPublicatio2","_slugs$_allContactPag","_slugs$_allContactPag2","_slugs$_allGovernance","_slugs$_allGovernance2","_slugs$_allPageParent","_slugs$_allPageParent2","_slugs$_allDetailNetw","_slugs$_allDetailNetw2","_slugs$_allMapPageSlu","_slugs$_allMapPageSlu2","_slugs$_allSearchPage","_slugs$_allSearchPage2","pulsePageSlug","_allPulseHomePageSlugLocales","find","newsroomPageSlug","_allNewsroomPageSlugLocales","pressReleasesPageSlug","_allPressReleasesPageSlugLocales","newsPageSlug","_allNewsPageSlugLocales","publicationsPageSlug","_allPublicationsPageSlugLocales","contactPageSlug","_allContactPageSlugLocales","governanceMembersPageSlug","_allGovernanceMembersPageSlugLocales","parentPageSlug","_allPageParentSlugLocales","detailNetworkPageSlug","_allDetailNetworkSlugLocales","_allMapPageSlugLocales","_allSearchPageSlugLocales","toLowerCase","reverse","join","windowWidth","useWindowSize","useSlugValue","allSlugs","filteredSlug"],"sourceRoot":""}