{"version":3,"file":"component---src-templates-offer-js-ee3bd5268973d922dd5f.js","mappings":"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","sources":["webpack://terega-solutions/./src/icons/pill2-shape.svg","webpack://terega-solutions/./src/components/anchors.js","webpack://terega-solutions/./src/components/anchorsContent.js","webpack://terega-solutions/./src/components/cards/pageCard.js","webpack://terega-solutions/./src/components/hero/offerHero.js","webpack://terega-solutions/./src/components/offers/challenges.js","webpack://terega-solutions/./src/components/layouts/offer.js","webpack://terega-solutions/./src/components/pushContent.js","webpack://terega-solutions/./src/components/seo.js","webpack://terega-solutions/./src/templates/offer.js","webpack://terega-solutions/./src/utils/getOffsetEl.js","webpack://terega-solutions/./src/utils/pageAlternatesUrls.js"],"sourcesContent":["var publicPath = __webpack_public_path__;\n var symbolUrl = 'sprites.b04f3fc9e571fbddf273dbd20af180a5.svg#p';\n var viewUrl = 'sprites.b04f3fc9e571fbddf273dbd20af180a5.svg#view-p';\n\n \n\n module.exports = {\n url: publicPath + symbolUrl,\n view: publicPath + viewUrl,\n viewBox: '0 0 461 589',\n title: '',\n toString: function () {\n return JSON.stringify(this.view);\n }\n };","import React, { useEffect, useState } from 'react'\nimport slugify from 'slugify'\n\nimport GetOffsetEl from '../utils/getOffsetEl'\n\nimport ChevronIcon from '../icons/chevron-right.svg'\n\nconst Anchors = ({sections, activeItem, activeItemTitle, isSticky, isBottomed, isOffer}) => {\n const [anchorsToggled, setAnchorsToggled] = useState(false)\n\n const goToAnchor = (e) => {\n e.preventDefault()\n const targetSection = document.querySelector(e.target.dataset.anchor)\n let targetOffset = GetOffsetEl(targetSection)\n let offset = window.innerWidth < 1024 ? 64 : 0\n let offsetBg = targetSection.classList.contains('slice--bg') ? 0 : 24\n \n targetOffset -= 104 + offset + offsetBg // height header\n window.scrollTo({\n top: targetOffset,\n behavior: 'smooth'\n })\n\n setAnchorsToggled(!anchorsToggled)\n }\n\n useEffect(() => {\n if (!isSticky) {\n setAnchorsToggled(false)\n }\n }, [isSticky])\n\n const toggleAnchors = () => {\n setAnchorsToggled(!anchorsToggled)\n }\n \n return (\n \n )\n}\n\nexport default Anchors","import React, {useState, useRef, useCallback, useEffect} from 'react'\nimport { useEventListener } from 'react-recipes'\nimport slugify from 'slugify'\n\nimport Anchors from './anchors'\n\nconst AnchorsContent = ({children, sections, isOffer = false}) => {\n const [isSticky, setIsSticky] = useState(false)\n const [isBottomed, setIsBottomed] = useState(false)\n const [activeItem, setActiveItem] = useState(null)\n const [activeItemTitle, setActiveItemTitle] = useState(null)\n\n const anchorsWrapper = useRef(null)\n const contentWrapper = useRef(null)\n const sectionsDOM = useRef()\n\n const scrollHandler = useCallback(\n () => {\n const offsetBottom = anchorsWrapper.current.getBoundingClientRect().top + anchorsWrapper.current.offsetHeight - 200 - anchorsWrapper.current.querySelector('.anchors').offsetHeight\n\n // set sticky or is bottomed\n if (anchorsWrapper.current) {\n if (window.innerWidth >= 1024) {\n setIsSticky(anchorsWrapper.current.getBoundingClientRect().top <= 200 && offsetBottom >= 0)\n setIsBottomed(offsetBottom < 0)\n } else {\n const headerOffset = window.innerWidth >= 768 ? 104 : 64\n setIsSticky(contentWrapper.current.getBoundingClientRect().top <= headerOffset + 64)\n }\n }\n\n // set activeItem\n sectionsDOM.current.forEach(section => {\n // 109 = 77 of header height + 32 of breathing on anchors for mobile // 182 for desktop with header at 150\n if (section.getBoundingClientRect().top < (window.innerWidth < 1024 ? window.innerWidth < 768 ? 109 : 194 : 182)) {\n setActiveItem(section.id)\n setActiveItemTitle(section.dataset.anchor)\n }\n })\n }, []\n )\n useEventListener(\"scroll\", scrollHandler)\n\n useEffect(() => {\n setActiveItem(slugify(sections[0], {remove: /[*+~.,()'\"!?:@,]/g}).toLocaleLowerCase())\n setActiveItemTitle(sections[0])\n\n sectionsDOM.current = document.querySelectorAll('.slice')\n }, [sections])\n\n return (\n
\n
\n
\n \n
\n
\n
\n {children}\n
\n
\n )\n}\n\nexport default AnchorsContent","import React from 'react'\nimport { useSelector } from 'react-redux'\nimport { Link } from 'gatsby'\n\nimport LinkIcon from '../linkIcon'\nimport Image from '../image'\n\nimport trads from '../../intl/trads.json'\n\nimport transformLink from '../../utils/transformLink'\n\nconst PageCard = ({ctaLabel, url, title, mainImage, chapo, isSmall = false, directAccess = false, type = 'reg', mainTag = null }) => {\n const lang = useSelector(state => state.lang)\n\n return (\n
\n \n { mainImage ?\n \n :
\n \"Terega\n
\n }\n
\n
\n { mainTag && mainTag !== 'Default' && mainTag !== 'Institutionnel' &&\n

{mainTag}

\n }\n

{title}

\n

{ chapo }

\n
\n \n
\n \n { directAccess &&\n
\n

{trads[lang].directAccess}

\n\n
    \n { directAccess.map((link, i) => {\n const url = transformLink(link, false, false).url\n let title = (link.fields) ? link.fields.title : link.title\n\n return (\n
  • \n \n
  • \n )\n })}\n
\n
\n }\n
\n )\n}\n\nexport default PageCard","import React from 'react'\nimport { useInView } from 'react-intersection-observer'\n\nimport Breadcrumb from '../breadcrumb'\nimport Wysiwyg from '../wysiwyg'\nimport Image from '../image'\n\nimport hexagonShape from '../../icons/hexagon-shape.svg'\nimport semiroundShape from '../../icons/semiround-shape.svg'\nimport slugify from 'slugify'\n\nconst OfferHero = ({data, currentUrl}) => {\n const { ref, inView} = useInView({ threshold: 0.3, triggerOnce: true})\n const chapo = (data.chapo) ? data.chapo : null\n const breadcrumbLabel = (data.breadcrumbCurrentLabel) ? data.breadcrumbCurrentLabel : data.title\n const type = slugify(data.solution.fields ? data.solution.fields.solution : data.solution.solution).toLowerCase()\n\n let semiroundColor = null\n let hexagonColor = null\n\n switch(type) {\n case 'hydrogene':\n semiroundColor = 'turquoise'\n hexagonColor = 'gradient-purple'\n break\n case 'digital':\n semiroundColor = 'orange'\n hexagonColor = 'gradient-sienne2'\n break\n case 'mobilite-bas-carbone':\n semiroundColor = 'sienne'\n hexagonColor = 'gradient-aqua'\n break\n case 'methanisation':\n semiroundColor = 'night'\n hexagonColor = 'gradient-green'\n break\n case 'co2':\n semiroundColor = 'tumbleweed'\n hexagonColor = 'gradient-co2-2'\n break\n default:\n return 'error'\n }\n\n return (\n
\n \n
\n
\n
\n

\n {data.titleLine1}\n {data.titleLine2 &&\n data.titleLine2\n }\n

\n\n { chapo &&\n
\n
\n \n
\n
\n }\n
\n
\n
\n
\n { data.mainImage &&\n \n }\n
\n \n \n \n \n\n { data.logo\n ?
\n \n
\n : \n \n \n }\n
\n
\n
\n )\n}\n\nexport default OfferHero","import React from 'react'\nimport { useInView } from 'react-intersection-observer'\n\nimport Slider from '../slider'\nimport Image from '../image'\nimport { useSelector } from 'react-redux'\n\nimport pillShape from '../../icons/pill2-shape.svg'\nimport hexagonShape from '../../icons/hexagon-shape.svg'\n\nimport trads from '../../intl/trads.json'\n\nconst Challenges = ({challenges}) => {\n const lang = useSelector(state => state.lang)\n const { ref, inView} = useInView({ threshold: 0.6, triggerOnce: true})\n\n return (\n
\n

\n {trads[lang].offers.titleOne}
{trads[lang].offers.titleTwo}\n

\n
\n \n { challenges.map((challenge, i) => { \n let color = ''\n let secondColor = ''\n let shape = (i + 1) % 2 ? 'hexagon-rotate' : 'pill'\n\n challenge = challenge.fields ? challenge.fields : challenge\n\n switch((i + 1) % 3) {\n case 1:\n color = 'turquoise'\n secondColor = 'aqua'\n break\n case 2:\n color = 'purple'\n secondColor = 'parma'\n break\n case 0:\n color = 'sienne'\n secondColor = 'beige'\n break\n default:\n color = 'purple'\n secondColor= 'parma'\n }\n\n return(\n
\n
\n {i + 1}\n\n { challenge.picture\n ? \n : (i + 1) % 2 \n ? \n \n \n : \n \n \n }\n\n \n
\n
\n

{challenge.title}

\n

{challenge.text.text ? challenge.text.text : challenge.text}

\n
\n
\n )\n }) }\n \n
\n
\n )\n}\n\nexport default Challenges","import React from 'react'\nimport OfferHero from '../hero/offerHero'\nimport SlicesWrapper from '../slices/slicesWrapper'\nimport AnchorsContent from '../anchorsContent'\nimport PushContent from '../pushContent'\nimport SliderOffers from '../slices/sliderOffers'\nimport Challenges from '../offers/challenges'\nimport { useSelector } from 'react-redux'\n\nimport trads from '../../intl/trads.json'\nimport MapContacts from '../slices/mapContacts'\n\nconst OfferLayout = ({data, currentUrl, furtherContent}) => {\n const sectionsTitles = []\n const lang = useSelector(state => state.lang)\n\n data.slices && data.slices.forEach(slice => {\n const type = slice.internal ? slice.internal.type : slice.sys.contentType.sys.id\n\n if (type === 'ContentfulRates' || type === 'rates') {\n sectionsTitles.push(trads[lang].offers.rates)\n } else {\n slice = slice.fields ? slice.fields : slice\n sectionsTitles.push(slice.title ? slice.title : slice.anchorTitle ? slice.anchorTitle : '')\n }\n })\n\n return (\n <>\n \n\n \n\n { data.mapContacts &&\n \n }\n\n \n \n \n\n
\n \n
\n\n { ((furtherContent.nodes !== undefined && furtherContent.nodes.length > 0) || data.pushPages !== null) &&\n \n }\n \n )\n}\n\nexport default OfferLayout","import React from 'react'\nimport { useInView } from 'react-intersection-observer'\nimport { useSelector } from 'react-redux'\n\nimport trads from '../intl/trads.json'\n\nimport transformLink from '../utils/transformLink'\nimport PageCard from './cards/pageCard'\nimport NewsCard from './cards/newsCard'\n\nimport semiroundShape from '../icons/semiround-shape.svg'\n\nconst PushContent = ({data, type, autoItems}) => {\n const { ref, inView} = useInView({ threshold: 0.3, triggerOnce: true})\n // redux lang\n const lang = useSelector(state => state.lang)\n\n let pushs = data\n\n if(data === null || data === undefined) {\n pushs = (autoItems.nodes) ? autoItems.nodes : autoItems\n }\n\n return (\n <>\n { pushs.length > 0 && pushs.filter(push => push !== undefined).length > 0 &&\n
\n \n \n \n
\n

\n { trads[lang].readAlso }\n { trads[lang].readAlso2 }\n

\n
\n\n
\n
\n {pushs.map((item, i) => {\n let datas, page, url, title\n let chapo = null\n let ctaLabel = null\n let mainImage = null\n let mainTag = ''\n \n if(data !== null && data !== undefined) {\n datas = (item.fields) ? item.fields : item\n page = (item.fields) ? datas.page.fields : datas.page\n\n let cta = transformLink(datas.page, false, false)\n url = cta.url\n\n if (datas.chapo) {\n chapo = (datas.chapo.chapo) ? datas.chapo.chapo : datas.chapo\n }\n title = page.title\n\n mainTag = page.mainTag ? page.mainTag.title : ''\n\n if (page.mainImage || (page.fields && page.fields.mainImage)) {\n mainImage = (page.fields) ? page.fields.mainImage : page.mainImage\n }\n\n ctaLabel = datas.ctaLabel ? datas.ctaLabel : trads[lang].learnMore\n } else {\n title = (item.fields) ? item.fields.title : item.title\n let cta = transformLink(item, false, false)\n url = cta.url\n \n item = item.field ? item.fields : item\n\n if (item.mainImage || (item.fields && item.fields.mainImage)) {\n mainImage = item.fields ? item.fields.mainImage : item.mainImage\n }\n\n ctaLabel = trads[lang].learnMore\n mainTag = item.mainTag ? item.mainTag.title : ''\n }\n\n return (\n
\n { type === 'news'\n ? \n : \n }\n
\n ) \n })}\n
\n
\n
\n }\n \n )\n}\n\nexport default PushContent\n","/**\n * SEO component that queries for data with\n * Gatsby's useStaticQuery React hook\n *\n * See: https://www.gatsbyjs.org/docs/use-static-query/\n */\n\nimport React from 'react'\nimport Helmet from 'react-helmet'\nimport { useStaticQuery, graphql } from 'gatsby'\nimport { useSelector } from 'react-redux'\n\n\nfunction SEO({ frUrl, enUrl, page, noIndex = false, newsroomPage = 0 }) {\n const lang = useSelector(state => state.lang)\n\n const data = useStaticQuery(\n graphql`\n query {\n site {\n siteMetadata {\n title\n description\n descriptionEN\n baseUrl\n image\n }\n }\n }\n `\n )\n\n const defaults = data.site.siteMetadata\n const defaultsDescription = (lang === 'fr') ? defaults.description : defaults.descriptionEN\n const defaultsUrl = (lang === 'fr') ? defaults.baseUrl : `${defaults.baseUrl}en`\n\n const title = (page.title) ? page.title : defaults.title;\n const description = (page.description) ? page.description : defaultsDescription;\n const url = (page.path) ? `${defaults.baseUrl.slice(0,-1)}${page.path}` : defaultsUrl;\n const image = (page.image) ? page.image : defaults.image;\n\n return (\n \n {title}\n 1 ? `/page/${newsroomPage}` : ''}`} />\n \n {image && }\n\n {noIndex && }\n\n \n\n { enUrl && 1 ? `/page/${newsroomPage}` : ''}`} /> } \n { enUrl && 1 ? `/page/${newsroomPage}` : ''}`} /> }\n \n \n \n \n \n {image && }\n\n \n \n \n \n {image && }\n\n \n \n )\n}\n\nexport default SEO\n","import React from 'react'\nimport { useSelector } from 'react-redux'\nimport slugify from 'slugify'\nimport { graphql } from 'gatsby'\nimport { documentToPlainTextString } from '@contentful/rich-text-plain-text-renderer'\n\nimport Seo from '../components/seo'\nimport Layout from '../components/layout'\nimport OfferLayout from '../components/layouts/offer'\n\nimport pageAlternatesUrls from '../utils/pageAlternatesUrls'\n\nfunction Offer({data, pageContext}) {\n const mainContent = data.mainContent\n const lang = useSelector(state => state.lang)\n const urls = pageAlternatesUrls(mainContent, data.alternateContent, 'title', `/solutions/${slugify(lang === 'fr' ? mainContent.solution.title : data.alternateContent.solution.title, {remove: /[*+~.,()'\"!?:@,]/g}).toLowerCase()}/`, `/en/solutions/${slugify(lang === 'fr' ? data.alternateContent.solution.title : mainContent.solution.title, {remove: /[*+~.,()'\"!?:@,]/g}).toLowerCase()}/`, pageContext.locale)\n\n return (\n \n \n\n \n \n );\n}\n\nexport const pageQuery = graphql`\n query SingleOffer($contentful_id: String!, $locale: String!, $mainTag: String!) {\n mainContent: contentfulOffer(contentful_id: { eq: $contentful_id }, node_locale: { eq: $locale }) {\n internal {\n type\n }\n seoTitle\n seoDescription {\n seoDescription\n }\n mainImage {\n altImage\n file {\n file {\n url\n }\n }\n }\n logo {\n altImage\n file {\n file {\n url\n }\n }\n }\n solution {\n solution\n title\n }\n mainTag {\n title\n }\n breadcrumb {\n pageLink {\n ... on Node {\n ... on ContentfulEvent {\n title\n node_locale\n internal {\n type\n }\n } \n ... on ContentfulNews {\n title\n node_locale\n internal {\n type\n }\n }\n \n ... on ContentfulHomepageSolutions {\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulContact {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulSimulator {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulHub {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulPage {\n title\n slug\n customType\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulNewsroomList {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulSolution {\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulOffer {\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulLanding {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n }\n }\n label\n customLink\n assetLink {\n file {\n url\n }\n }\n }\n breadcrumbCurrentLabel\n title\n titleLine1\n titleLine2\n chapo {\n raw\n }\n node_locale\n challenges {\n title\n text {\n text\n }\n picture {\n altImage\n file {\n file {\n url\n }\n }\n }\n }\n mapContacts {\n internal {\n type\n }\n title\n subtitle\n contactZone1 {\n title\n content {\n raw\n }\n }\n contactZone2 {\n title\n content {\n raw\n }\n }\n contactZone3 {\n title\n content {\n raw\n }\n }\n text {\n raw\n references {\n __typename\n ... on ContentfulNewsroomList {\n contentful_id\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulNews {\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulSolution {\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulLanding {\n contentful_id\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulOffer {\n solution {\n title\n }\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulEvent {\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulContact {\n title\n contentful_id\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulHub {\n title\n slug\n contentful_id\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulHomepageSolutions {\n title\n contentful_id\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulPage {\n contentful_id\n title\n slug\n customType\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulAsset {\n contentful_id\n file {\n url\n }\n }\n }\n }\n }\n slices {\n ... on Node {\n ... on ContentfulRates {\n internal {\n type\n }\n title\n items {\n isFull\n title\n rate\n rateUnit\n mention\n content {\n raw\n }\n cta {\n pageLink {\n ... on Node {\n ... on ContentfulEvent {\n title\n node_locale\n internal {\n type\n }\n } \n ... on ContentfulNews {\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulSolution {\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulLanding {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulOffer {\n solution {\n title\n }\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulHomepageSolutions {\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulContact {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulSimulator {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulHub {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulPage {\n title\n slug\n customType\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulNewsroomList {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n }\n }\n label\n customLink\n assetLink {\n file {\n url\n }\n }\n }\n }\n }\n ... on ContentfulFullText {\n internal {\n type\n }\n displayTitle\n title\n switchDecoPlacement\n cta {\n pageLink {\n ... on Node {\n ... on ContentfulEvent {\n title\n node_locale\n internal {\n type\n }\n } \n ... on ContentfulNews {\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulSolution {\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulLanding {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulOffer {\n solution {\n title\n }\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulHomepageSolutions {\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulContact {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulSimulator {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulHub {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulPage {\n title\n slug\n customType\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulNewsroomList {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n }\n }\n label\n customLink\n assetLink {\n file {\n url\n }\n }\n }\n content {\n raw\n references {\n __typename\n ... on ContentfulStyledText {\n contentful_id\n text\n type\n }\n ... on ContentfulTestimony {\n contentful_id\n image {\n altImage\n file {\n url\n }\n }\n themeSolutions\n imageShape\n anchorTitle\n content {\n content\n }\n author\n job\n theme\n }\n ... on ContentfulVideo {\n contentful_id\n title\n suptitle\n youtubeId\n youtubePlaylistId\n cover {\n file {\n url\n }\n }\n }\n ... on ContentfulFrontImg {\n contentful_id\n file {\n url\n }\n altImage\n legend {\n legend\n }\n }\n ... on ContentfulNewsroomList {\n contentful_id\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulNews {\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulSolution {\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulLanding {\n contentful_id\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulOffer {\n solution {\n title\n }\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulEvent {\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulContact {\n contentful_id\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulSimulator {\n contentful_id\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulHub {\n contentful_id\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulHomepageSolutions {\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulPage {\n contentful_id\n title\n slug\n customType\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulAsset {\n contentful_id\n file {\n url\n }\n }\n }\n }\n node_locale\n }\n ... on ContentfulImageTexteSection {\n internal {\n type\n }\n node_locale\n themeSolutions\n imageShape\n title\n content {\n raw\n references {\n __typename\n ... on ContentfulStyledText {\n contentful_id\n text\n type\n }\n ... on ContentfulNewsroomList {\n contentful_id\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulNews {\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulSolution {\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulLanding {\n contentful_id\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulOffer {\n solution {\n title\n }\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulEvent {\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulContact {\n title\n contentful_id\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulSimulator {\n title\n slug\n contentful_id\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulHub {\n title\n slug\n contentful_id\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulHomepageSolutions {\n title\n contentful_id\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulPage {\n contentful_id\n title\n slug\n customType\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulAsset {\n contentful_id\n file {\n url\n }\n }\n }\n }\n proportions\n cta {\n pageLink {\n ... on Node {\n ... on ContentfulEvent {\n title\n node_locale\n internal {\n type\n }\n } \n ... on ContentfulNews {\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulSolution {\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulLanding {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulOffer {\n solution {\n title\n }\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulHomepageSolutions {\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulContact {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulSimulator {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulHub {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulPage {\n title\n slug\n customType\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulNewsroomList {\n title\n slug\n node_locale\n internal {\n type\n }\n }\n }\n }\n customLink\n label\n assetLink {\n file {\n url\n }\n }\n }\n image {\n altImage\n file {\n file {\n url\n }\n }\n }\n reversed\n theme\n }\n ... on ContentfulTestimony {\n internal {\n type\n }\n author\n job\n themeSolutions\n imageShape\n theme\n anchorTitle\n content {\n content\n }\n image {\n altImage\n file {\n file {\n url\n }\n }\n }\n }\n ... on ContentfulSliderPartnersClients {\n internal {\n type\n }\n title\n items {\n logo {\n altImage\n file {\n file {\n url\n }\n }\n }\n link\n noFollow\n }\n }\n ... on ContentfulSlider {\n internal {\n type\n }\n title\n type\n chapo {\n chapo\n }\n items {\n ... on Node {\n ... on ContentfulFrontImg {\n altImage\n file {\n file {\n url\n }\n }\n legend:childContentfulFrontImgLegendTextNode {\n legend\n }\n }\n ... on ContentfulShortItem {\n title\n text {\n text\n }\n }\n }\n }\n }\n }\n }\n otherOffers {\n internal {\n type\n }\n node_locale\n title\n solution {\n solution\n title\n }\n mainImage {\n altImage\n file {\n file {\n url\n }\n }\n }\n }\n }\n\n alternateContent: contentfulOffer(contentful_id: { eq: $contentful_id }, node_locale: { ne: $locale }, title: {ne: null}) {\n title\n node_locale\n solution {\n title\n }\n }\n\n furtherContent: allContentfulPage(filter: {distributionChannel: {elemMatch: {title: {eq: \"Terega solutions\"}}}, customType: {eq: \"Edito\"}, contentful_id: { ne: $contentful_id }, node_locale: {eq: $locale}, title: {ne: null}, mainTag: {title: {eq: $mainTag}}}, limit: 3, sort: {fields: createdAt, order: DESC}) {\n nodes {\n title\n slug\n internal {\n type\n }\n mainTag {\n title\n }\n mainImage {\n altImage\n file {\n file {\n url\n }\n }\n }\n chapo {\n raw\n references {\n __typename\n ... on ContentfulStyledText {\n contentful_id\n text\n type\n }\n ... on ContentfulNewsroomList {\n contentful_id\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulNews {\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulSolution {\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulLanding {\n contentful_id\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulOffer {\n solution {\n title\n }\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulEvent {\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulContact {\n contentful_id\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulSimulator {\n contentful_id\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulHub {\n contentful_id\n title\n slug\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulHomepageSolutions {\n contentful_id\n title\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulPage {\n contentful_id\n title\n slug\n customType\n node_locale\n internal {\n type\n }\n }\n ... on ContentfulAsset {\n contentful_id\n file {\n url\n }\n }\n }\n }\n node_locale\n }\n }\n }\n`;\n\nexport default Offer","const GetOffsetEl = (el) => {\n let offset = 0\n\n while(true) {\n offset += el.offsetTop\n \n if(el.offsetParent === null) break;\n el = el.offsetParent\n }\n\n return offset\n}\n\nexport default GetOffsetEl","import slugify from 'slugify'\n\nconst pageAlternatesUrls = (page, alternatePage, type, frPath, enPath, locale) => {\n let pageURL\n let alternateURL = null\n \n if (type === 'slug') {\n pageURL = `${page.node_locale === 'fr' ? '/' : '/en/'}${page.slug}`\n \n if (alternatePage !== null) {\n alternateURL = `${alternatePage.node_locale === 'fr' ? '/' : '/en/'}${alternatePage.slug}`\n }\n } else {\n pageURL = `${page.node_locale === 'fr' ? frPath : enPath}${slugify(page.title, {remove: /[*+~.,()'\"!?:@,]/g}).toLowerCase()}`\n \n if (alternatePage !== null) {\n alternateURL = `${alternatePage.node_locale === 'fr' ? frPath : enPath}${slugify(alternatePage.title, {remove: /[*+~.,()'\"!?:@,]/g}).toLowerCase()}`\n }\n }\n\n const frUrl = (locale === 'fr') ? pageURL : alternateURL\n const enUrl = (locale === 'en') ? pageURL : alternateURL\n\n return { frUrl, enUrl }\n}\n\nexport default pageAlternatesUrls"],"names":["publicPath","module","exports","url","view","viewBox","title","toString","JSON","stringify","this","sections","activeItem","activeItemTitle","isSticky","isBottomed","isOffer","useState","anchorsToggled","setAnchorsToggled","useEffect","className","onClick","width","height","xlinkHref","ChevronIcon","map","section","i","slugItem","slugify","remove","toLocaleLowerCase","key","href","e","preventDefault","targetSection","document","querySelector","target","dataset","anchor","targetOffset","GetOffsetEl","window","innerWidth","classList","contains","scrollTo","top","behavior","goToAnchor","children","setIsSticky","setIsBottomed","setActiveItem","setActiveItemTitle","anchorsWrapper","useRef","contentWrapper","sectionsDOM","scrollHandler","useCallback","offsetBottom","current","getBoundingClientRect","offsetHeight","headerOffset","forEach","id","useEventListener","querySelectorAll","ref","ctaLabel","mainImage","chapo","isSmall","directAccess","type","mainTag","lang","useSelector","state","Link","to","image","sizes","classes","src","alt","iconColor","text","trads","link","transformLink","fields","color","small","data","currentUrl","useInView","threshold","triggerOnce","inView","breadcrumbLabel","breadcrumbCurrentLabel","solution","toLowerCase","semiroundColor","hexagonColor","links","breadcrumb","isAbsolute","titleLine1","titleLine2","isTop","semiroundShape","logo","maxWidth","hexagonShape","challenges","offers","titleOne","titleTwo","hasCards","nbItems","length","options","name","challenge","secondColor","shape","picture","pillShape","furtherContent","sectionsTitles","slices","slice","internal","sys","contentType","push","rates","anchorTitle","mapContacts","otherOffers","undefined","nodes","pushPages","autoItems","pushs","filter","readAlso","readAlso2","item","datas","page","learnMore","field","news","frUrl","enUrl","noIndex","newsroomPage","defaults","useStaticQuery","site","siteMetadata","defaultsDescription","description","descriptionEN","defaultsUrl","baseUrl","path","rel","content","hreflang","property","pageContext","mainContent","urls","pageAlternatesUrls","alternateContent","locale","initLocale","headerType","isSolution","seoTitle","seoDescription","documentToPlainTextString","parse","raw","file","el","offset","offsetTop","offsetParent","alternatePage","frPath","enPath","pageURL","alternateURL","node_locale","slug"],"sourceRoot":""}