{"version":3,"sources":["webpack:///./src/actions/index.js","webpack:///./src/scroll/intro.js","webpack:///./src/scroll/textblock_left.js","webpack:///./src/scroll/textblock_right.js","webpack:///./src/scroll/text_sections.js","webpack:///./src/scroll/section_links.js","webpack:///./src/scroll/contact.js","webpack:///./src/pages/index.js","webpack:///./node_modules/smoothscroll-polyfill/dist/smoothscroll.js"],"names":["WLEndPoint","getArticle","dispatch","type","axios","get","then","response","payload","data","catch","error","getPodcasts","id","url","getWL","IDQuery","Array","isArray","ID","setSections","sections","site","subsite","gsap","registerPlugin","ScrollTrigger","Reveal2","children","headerRef","pinspace","controller","scrollProgress","sectionnumber","section","scrubspeed","anticipate","revealRef","useRef","LogoRef","React","createRef","TextRef","useEffect","timeline","scrollTrigger","trigger","current","start","end","scrub","anticipatePin","pin","onEnter","onEnterBack","onUpdate","self","progress","to","duration","opacity","x","ref","className","y","viewBox","points","d","width","height","source","text","escapeHtml","linkTarget","pagenav","location","scrollref","setScrollPos","ScrollPos","tl","from","addLabel","setTimeout","percent","labels","totalDuration","undefined","title","links","map","document","index","state","returnPage","pathname","linkText","articles","length","slug","microsites","xmlns","fill","TitleRef","GroupRef","columns","OverviewRef","OptionsRef","ToggleRef","useState","group","setgroup","titleY","Groups","_","chain","groupBy","value","key","sectionsRef","window","innerWidth","scale","Title","data-solutions","indexx","onClick","textY","contactType","typeText","Index","props","Minimised","menuOpen","scrollpercent","scrollsection","selectedSection","scrollToSections","subSectionsShow","mountscroll","setContactState","bind","layoutContents","ThreeController","menuToggle","handleScroll","ScrolltoSection","SubShow","HeaderRef","PageNav","Sections","Scrubspeed","OG","strapiHomepage","social_image","childImageSharp","fixed","src","console","log","content","SectionContent","sectionStepper","pagenavsection","hide_from_menu","push","uniqBy","PageSections","main_nav_sections","subsections","section_id","sectionsScroll","this","setState","section_name","Scroll","scroll","position","scrollTo","componentDidMount","ScrollSection","history","page","DontChangeScroll","inView","entry","subsection","handleSectionScroll","number","returnImage","image","reverse","fluid","min","render","metaImage","description","meta_description","aria-label","aria-controls","Section_name","href","target","role","onMouseOver","onMouseOut","scrollpercentage","sectionindex","as","onChange","replace","Component","connect","pods","WL","micrositeID","pageQuery","module","exports","polyfill","w","documentElement","style","__forceSmoothScrollPolyfill__","userAgent","Element","HTMLElement","original","scrollBy","elementScroll","prototype","scrollElement","scrollIntoView","now","performance","Date","ROUNDING_TOLERANCE","navigator","RegExp","join","test","arguments","shouldBailOut","smoothScroll","call","body","left","scrollX","pageXOffset","top","scrollY","pageYOffset","scrollLeft","scrollTop","SyntaxError","behavior","scrollableParent","findScrollableParent","parentRects","getBoundingClientRect","clientRects","getComputedStyle","firstArg","TypeError","hasScrollableSpace","el","axis","clientHeight","scrollHeight","clientWidth","scrollWidth","canOverflow","overflowValue","isScrollable","isScrollableY","isScrollableX","parentNode","host","step","context","currentX","currentY","k","elapsed","startTime","Math","cos","PI","startX","startY","method","scrollable","requestAnimationFrame"],"mappings":"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","file":"component---src-pages-index-js-44f6bd5e2911fea34a79.js","sourcesContent":["// src/js/actions/index.js\nimport { GET_WL,ARTICLE_LOADING,ARTICLE_LOADED,ARTICLE_ERROR, POD_ERROR,POD_LOADING,POD_LOADED,WL_ERROR,WL_LOADING,WL_LOADED, SUB_SITE_SECTIONS,PARENT_SITE, SUB_SITE } from \"../constants/action-types\";\n\nimport axios from 'axios'\n\n// https://www.aecom.com/without-limits/wp-json/wp/v2/article?include[]=5693&_embed\n//\n// include[]=496&include[]=503\n\nconst WLEndPoint = 'https://www.aecom.com/without-limits/wp-json/wp/v2/article?'\n// const podUrl = 'https://api.whooshkaa.com/episodes?_sort=-published_at&podcast_id=5732&limit=10'\n\n\n\n// axios(`${WLEndPoint}/?id=${ID}&_embed`)\nexport function getArticle() {\n return function(dispatch) {\n dispatch({ type: \"ARTICLE_LOADING\" });\n return axios.get(`${WLEndPoint}`)\n .then((response) => {\n dispatch({ type: \"ARTICLE_LOADED\", payload: response.data });\n }).catch((error) => {\n\n dispatch({ type: \"ARTICLE_ERROR\", payload: error });\n\n });\n };\n}\n\nexport function getPodcasts(id, url) {\n return function(dispatch) {\n dispatch({ type: \"POD_LOADING\" });\n // return axios.get(`${WLEndPoint}`)\n return axios.get(`${url}&id=${id}`)\n .then((response) => {\n\n dispatch({ type: \"POD_LOADED\", payload: response.data });\n }).catch((error) => {\n\n dispatch({ type: \"POD_ERROR\", payload: error });\n\n });\n };\n}\n\nexport function getWL(id) {\nlet IDQuery = \"\"\nif(Array.isArray(id)){\n\nfor(let ID of id){\n IDQuery += `include[]=${ID}&`\n}\n}else{\n IDQuery = `include[]=${id}&`\n}\n return function(dispatch) {\n dispatch({ type: \"WL_LOADING\" });\n // return axios.get(`${WLEndPoint}`)\n return axios.get(`${WLEndPoint}${IDQuery}_embed`)\n .then((response) => {\n dispatch({ type: \"WL_LOADED\", payload: response.data });\n }).catch((error) => {\n\n dispatch({ type: \"WL_ERROR\", payload: error });\n\n });\n };\n}\n\n\n\nexport function setSections(sections,site,subsite) {\n return function(dispatch) {\n dispatch({ type: \"SUB_SITE_SECTIONS\", payload: sections });\n dispatch({ type: \"PARENT_SITE\", payload: site });\n dispatch({ type: \"SUB_SITE\", payload: subsite });\n\n }\n\n }\n","import React, { useEffect, useRef } from 'react'\n\nimport gsap from 'gsap'\nimport ScrollTrigger from 'gsap/ScrollTrigger';\nimport ReactMarkdown from \"react-markdown\"\n\ngsap.registerPlugin(ScrollTrigger);\n\n\nconst Reveal2 = ({ children, data, pinspace, headerRef, controller,scrollProgress,sectionnumber,section,scrubspeed,anticipate}) => {\n const revealRef = useRef(null);\n let LogoRef = React.createRef();\n let TextRef = React.createRef();\n\n\n useEffect(() => {\n\n let tl = gsap.timeline({\n\n scrollTrigger: {\n trigger: revealRef.current,\n start: \"top top\",\n end: \"+=100%\",\n scrub: scrubspeed,\n anticipatePin: anticipate,\n pin: true,\n onEnter: () => controller(section,sectionnumber),\n onEnterBack: () => controller(section,sectionnumber),\n onUpdate: self => scrollProgress(self.progress)\n }\n\n\n });\n\n\n tl.to(headerRef.current, {duration: 1, opacity: 1}, \"+=1\")\n .to(LogoRef.current, {duration: 2, x: \"100vw\"})\n .to(TextRef.current, {duration: 2, x: \"-100vw\"}, \"<\")\n\n\n\n\n }, []);\n\n\n\n return(\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n\n\n);\n};\n\n\nexport default Reveal2;\n","import React, { useEffect, useRef } from 'react'\nimport {Link } from 'gatsby'\nimport gsap from 'gsap'\nimport ScrollTrigger from 'gsap/ScrollTrigger';\nimport ReactMarkdown from \"react-markdown\"\n\ngsap.registerPlugin(ScrollTrigger);\n\n\nconst Reveal2 = ({ children, data, pinspace, pagenav, section,sectionnumber,controller,scrollProgress,location,scrollref, setScrollPos,scrubspeed,anticipate }) => {\n const revealRef = useRef(null);\n let TitleRef = React.createRef();\n let TextRef = React.createRef();\n let ScrollPos = 0\n\n\n\n useEffect(() => {\n\n\n\n\n let tl = gsap.timeline({\n\n scrollTrigger: {\n trigger: revealRef.current,\n start: \"top top\",\n end: \"+=150%\",\n scrub: scrubspeed,\n anticipatePin: anticipate,\n pin: true,\n onEnter: () => controller(section,sectionnumber),\n onEnterBack: () => controller(section,sectionnumber),\n onUpdate: self => scrollProgress(self.progress)\n }\n\n\n });\n\n\n\n // all the tweens\n tl.from(TextRef.current, {duration: 1, opacity: 0})\n .addLabel(\"fullviewleft\")\n .to(TextRef.current, {duration: 1, x: \"-100vw\"}, \">2\");\n\n\n\n const timer2 = setTimeout(() => {\n const percent = tl.labels[\"fullviewleft\"] / tl.totalDuration();\n ScrollPos = tl.scrollTrigger.start + (tl.scrollTrigger.end - tl.scrollTrigger.start) * percent;\n if(scrollref !== undefined){\n setScrollPos(scrollref , ScrollPos)\n }\n }, 100);\n\n\n\n }, []);\n\n\n\n return(\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

{data.title}

\n
\n
\n \n
\n\n\n {data.links !== null ?\n\n data.links.map((document, index) => (\n\n \n {document.title}\n \n \n \n \n \n \n \n\n\n )):\n <>\n }\n\n\n\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n);\n};\n\n\nexport default Reveal2;\n","import React, { useEffect, useRef } from 'react'\nimport {Link } from 'gatsby'\nimport gsap from 'gsap'\nimport ScrollTrigger from 'gsap/ScrollTrigger';\nimport ReactMarkdown from \"react-markdown\"\n\ngsap.registerPlugin(ScrollTrigger);\n\n\nconst Reveal2 = ({ children, data, pinspace, pagenav, section,sectionnumber,controller,scrollProgress, location,scrollref, setScrollPos,scrubspeed,anticipate }) => {\n const revealRef = useRef(null);\n let TitleRef = React.createRef();\n let TextRef = React.createRef();\n let ScrollPos = 0\n\n\n useEffect(() => {\n\n\n\n\n let tl = gsap.timeline({\n\n scrollTrigger: {\n trigger: revealRef.current,\n start: \"top top\",\n end: \"+=200%\",\n scrub: scrubspeed,\n anticipatePin: anticipate,\n pin: true,\n onEnter: () => controller(section,sectionnumber),\n onEnterBack: () => controller(section,sectionnumber),\n onUpdate: self => scrollProgress(self.progress)\n }\n\n\n });\n\n tl.from(TextRef.current, {duration: 1, x: \"100vw\"})\n .addLabel(\"fullviewright\")\n .to(TextRef.current, {duration: 1, y: \"-100vh\"}, \">1\");\n\n\n const timer2 = setTimeout(() => {\n const percent = tl.labels[\"fullviewright\"] / tl.totalDuration();\n ScrollPos = tl.scrollTrigger.start + (tl.scrollTrigger.end - tl.scrollTrigger.start) * percent;\n if(scrollref !== undefined){\n setScrollPos(scrollref , ScrollPos)\n }\n }, 100);\n\n }, []);\n\n\n\n return(\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

{data.title}

\n
\n
\n \n
\n {data.links !== null ?\n\n data.links.map((document, index) => (\n\n \n {document.title}\n \n \n \n \n \n \n \n\n\n )):\n <>\n }\n\n\n
\n
\n
\n
\n
\n
\n
\n\n
\n\n\n);\n};\n\n\n\nexport default Reveal2;\n","import React, { useEffect, useRef } from 'react'\n\nimport gsap from 'gsap'\nimport ScrollTrigger from 'gsap/ScrollTrigger';\nimport ReactMarkdown from \"react-markdown\"\n\ngsap.registerPlugin(ScrollTrigger);\n\n\nconst Reveal2 = ({ children, data, pinspace, pagenav, section,sectionnumber,controller,scrollProgress,scrollref, setScrollPos ,scrubspeed,anticipate}) => {\n const revealRef = useRef(null);\n let TitleRef = React.createRef();\n let TextRef = React.createRef();\n let GroupRef = React.createRef();\n let ScrollPos = 0\n\n\n\n useEffect(() => {\n\n\n\n\n let tl = gsap.timeline({\n\n scrollTrigger: {\n trigger: revealRef.current,\n start: \"top top\",\n end: \"+=200%\",\n scrub: scrubspeed,\n anticipatePin: anticipate,\n pin: true,\n onEnter: () => controller(section,sectionnumber),\n onEnterBack: () => controller(section,sectionnumber),\n onUpdate: self => scrollProgress(self.progress)\n }\n\n\n });\n\n tl.from(TextRef.current, {duration: 1, y: \"100vh\"})\n .addLabel(\"fullviewtextsections\")\n .to(TitleRef.current, {duration: 1, x: \"-100vw\"}, \">1\")\n .to(GroupRef.current, {duration: 1, x: \"100vw\"}, \"-=1\");\n\n const timer2 = setTimeout(() => {\n const percent = tl.labels[\"fullviewtextsections\"] / tl.totalDuration();\n ScrollPos = tl.scrollTrigger.start + (tl.scrollTrigger.end - tl.scrollTrigger.start) * percent;\n if(scrollref !== undefined){\n setScrollPos(scrollref , ScrollPos)\n }\n }, 100);\n\n\n }, []);\n\n\n\n return(\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

{data.title}

\n
\n
\n\n {data.columns.map((document, index) => (\n\n
\n

\n \n

\n

\n \n

\n
\n\n\n ))}\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n);\n};\n\n\n\nexport default Reveal2;\n","import React, { useEffect, useRef,useState } from 'react'\nimport { Link } from 'gatsby'\nimport _ from \"lodash\"\nimport gsap from 'gsap'\nimport ScrollTrigger from 'gsap/ScrollTrigger';\nimport ReactMarkdown from \"react-markdown\"\n\ngsap.registerPlugin(ScrollTrigger);\n\n\nconst Reveal2 = ({ children, data, pinspace, pagenav, section,sectionnumber,title,text,controller,scrollProgress,scrollref, setScrollPos,scrubspeed, anticipate }) => {\n const revealRef = useRef(null);\n let TitleRef = React.createRef();\n let TextRef = React.createRef();\n let OverviewRef = React.createRef();\n let OptionsRef = React.createRef();\n let ToggleRef = React.createRef();\n const [group, setgroup] = useState(0);\n let ScrollPos = 0\n let titleY = \"-40%\"\n\n\nlet Groups =\n _.chain(data.links)\n .groupBy(\"group\")\n .map((value, key) => ({ group: key, data: value }))\n .value()\n\n\n const sectionsRef = useRef(Groups.map(() => React.createRef()));\n\n\n useEffect(() => {\n\n\n\n\n let tl = gsap.timeline({\n\n scrollTrigger: {\n trigger: revealRef.current,\n start: \"top top\",\n end: \"+=500%\",\n scrub: scrubspeed,\n anticipatePin: anticipate,\n pin: true,\n onEnter: () => controller(section,sectionnumber),\n onEnterBack: () => controller(section,sectionnumber),\n onUpdate: self => scrollProgress(self.progress)\n }\n\n\n });\n\n if(typeof window !== undefined){\n if(window.innerWidth < 730){\n titleY = \"-80%\"\n }\n }\n\n\n\n\n\n\n tl.from(TitleRef.current, {duration: 1, x: \"-100vw\"})\n .from(TextRef.current, {duration: 1, x: \"100vw\"}, \"<\")\n .to(TitleRef.current, {duration: 1, scale: 0.5, y: titleY}, \">1\")\n .to(TextRef.current, {duration: 1, x: \"-100vw\"}, \"<\")\n .from(OverviewRef.current, {duration: 1, opacity: 0}, \"<0.5\")\n .from(OptionsRef.current, {duration: 1, x: \"-100vw\"}, \"<-0.5\")\n .from(ToggleRef.current, {duration: 1, y: \"60vh\"}, \"<-0.5\")\n .addLabel(\"fullviewLinks\")\n .to(TitleRef.current, {duration: 1, x: \"-100vw\"}, \">1\")\n .to(OverviewRef.current, {duration: 1, x: \"100vw\"}, \"<\")\n .to(OptionsRef.current, {duration: 1, x: \"-100vw\"}, \"<\")\n .to(ToggleRef.current, {duration: 1, y: \"60vh\", opacity: 0}, \"<\");\n\n\n const timer2 = setTimeout(() => {\n const percent = tl.labels[\"fullviewLinks\"] / tl.totalDuration();\n ScrollPos = tl.scrollTrigger.start + (tl.scrollTrigger.end - tl.scrollTrigger.start) * percent;\n\n if(scrollref !== undefined){\n setScrollPos(scrollref , ScrollPos)\n }\n }, 100);\n\n\n\n }, []);\n\n\n\n return(\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

\n {data.title === undefined ? data.Title : data.title}\n

\n
\n
\n
\n
\n
\n
\n

\n \n

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n Select a {Groups[group].group} to find out how we can help\n
\n
\n
\n
\n\n {sectionsRef.current.map((document, index) => (\n\n
\n
\n {Groups[index].data.map((group, indexx) => (\n
\n {group.articles.length !== 0 || group.microsites.length !== 0?\n \n {group.title}\n \n :\n
\n {group.title}\n
\n }\n
\n\n ))}\n\n
\n
\n ))}\n\n
\n
\n
\n {Groups.length>1?
\n Want to see solutions for {group === 0 ? setgroup(1):setgroup(0)}} >{group === 0 ? Groups[1].group:Groups[0].group} instead?\n
:<>}\n\n
\n
\n
\n
\n
\n
\n
\n\n);\n};\n\n\n\nexport default Reveal2;\n","import React, { useEffect, useRef } from 'react'\nimport {graphql, Link } from \"gatsby\"\nimport gsap from 'gsap'\nimport ScrollTrigger from 'gsap/ScrollTrigger';\nimport ReactMarkdown from \"react-markdown\"\n\ngsap.registerPlugin(ScrollTrigger);\n\n\nconst Reveal2 = ({ children, data, pinspace, pagenav, section,sectionnumber,controller,scrollProgress, location ,scrollref, setScrollPos, scrubspeed,anticipate}) => {\n const revealRef = useRef(null);\n let TitleRef = React.createRef();\n let TextRef = React.createRef();\n let GroupRef = React.createRef();\n let textY = \"-475%\"\n let titleY = \"-40%\"\n let ScrollPos = 0\n\n useEffect(() => {\n\n\n\n\n let tl = gsap.timeline({\n\n scrollTrigger: {\n trigger: revealRef.current,\n start: \"top top\",\n end: \"+=300%\",\n scrub: scrubspeed,\n anticipatePin: 1,\n anticipatePin: anticipate,\n pin: true,\n onEnter: () => controller(section,sectionnumber),\n onEnterBack: () => controller(section,sectionnumber),\n onUpdate: self => scrollProgress(self.progress)\n }\n\n\n });\n\n if(typeof window !== undefined){\n if(window.innerWidth < 730){\n titleY = \"-80%\"\n textY = \"-200%\"\n }\n }\n\n\n tl.from(TitleRef.current, {duration: 1, x: \"-100vw\"})\n .from(TextRef.current, {duration: 1, x: \"100vw\"}, \"<\")\n .to(TitleRef.current, {duration: 1, scale: 0.5, y: titleY}, \">0.5\")\n //.to('#contact .section-teaser .data-block__inner', {duration: 1, x: \"-100vw\"}, \"<\")\n // .to(TextRef.current, {duration: 1, scale: 0.85, y: \"-475%\"}, \"<\")\n .to(TextRef.current, {duration: 1, scale: 0.85, y: textY }, \"<\")\n //.from('#contact .contact-methods__lede', {duration: 1.5, opacity: 0}, \"<\")\n .from(GroupRef.current, {duration: 1, y: \"60vh\"}, \"<\")\n .addLabel(\"fullviewcontact\");\n\n const timer2 = setTimeout(() => {\n const percent = tl.labels[\"fullviewcontact\"] / tl.totalDuration();\n ScrollPos = tl.scrollTrigger.start + (tl.scrollTrigger.end - tl.scrollTrigger.start) * percent;\n if(scrollref !== undefined){\n setScrollPos(scrollref , ScrollPos)\n }\n }, 100);\n\n\n }, []);\n\n\n\n return(\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

\n Get in touch\n

\n
\n
\n
\n
\n
\n
\n

\n We can put you in touch with one of our specialists in your region\n

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n\n
\n \n \n \n \n
\n
\n Make an enquiry\n
\n \n
\n
\n \n
\n \n \n \n \n
\n
\n Request a call\n
\n \n
\n
\n \n
\n \n \n \n \n
\n
\n Sign up for info\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n);\n};\n\n\n\n\nexport default Reveal2;\n","import React, { Component, useRef } from 'react'\nimport {graphql, Link, withPrefix } from \"gatsby\"\nimport Smoothscroll from 'smoothscroll-polyfill';\nimport ReactMarkdown from \"react-markdown\"\nimport { connect } from 'react-redux';\nimport BackgroundImage from 'gatsby-background-image'\nimport _ from \"lodash\"\nimport SEO from \"../components/seo\"\nimport { InView } from 'react-intersection-observer'\nimport gsap from 'gsap'\n\n\n// import Grid from \"../components/grid\"\n// import MarketingLinks from \"../components/marketinglinks\"\nimport { getArticle, getPodcasts, getWL, setSections } from '../actions';\nimport StrapiImage from \"../components/StrapiImage.js\"\n// import Layout from '../components/layout'\n// import Nav from '../components/nav'\n// import NewSection from '../components/sectionnew'\n// import Contact from \"../components/contact_article\"\nimport ThreeD from \"../ThreeD/threed.js\"\n\nimport Intro from \"../scroll/intro.js\"\nimport SectionHeader from \"../scroll/sectionHeader.js\"\nimport TextLeft from \"../scroll/textblock_left.js\"\nimport TextRight from \"../scroll/textblock_right.js\"\nimport TextSections from \"../scroll/text_sections.js\"\nimport SectionLinks from \"../scroll/section_links.js\"\nimport Contactscroll from \"../scroll/contact.js\"\nimport HamMenuSections from \"../components/hammenusections.js\"\n\n\n\n\n\n\nclass Index extends Component {\n constructor(props) {\n super(props)\n this.state = {\n Minimised:false,\n menuOpen: false,\n scrollpercent:0,\n scrollsection:\"intro\",\n selectedSection:\"\",\n scrollToSections:[],\n subSectionsShow:false,\n sectionnumber:0,\n mountscroll:false\n }\n // this.verticalAnimation = this.verticalAnimation.bind(this)\n // this.handleShow = this.handleShow.bind(this)\n this.setContactState = this.setContactState.bind(this)\n this.layoutContents = React.createRef()\n this.ThreeController = this.ThreeController.bind(this)\n this.scrollProgress = this.scrollProgress.bind(this)\n this.menuToggle = this.menuToggle.bind(this)\n this.handleScroll = this.handleScroll.bind(this)\n this.ScrolltoSection = this.ScrolltoSection.bind(this)\n this.SubShow = this.SubShow.bind(this)\n this.setScrollPos = this.setScrollPos.bind(this)\n let DontChangeScroll = false;\n\n\n\n\n this.HeaderRef = React.createRef();\n this.PageNav = React.createRef();\n\n\n this.Sections =[]\n this.Scrubspeed = 0.8;\n this.OG = \"\"\n if(this.props.data.strapiHomepage.social_image !== null){\n this.OG = this.props.data.strapiHomepage.social_image.childImageSharp.fixed.src\n }\n\nconsole.log(this.props.data.strapiHomepage.content)\n\n this.SectionContent = _.chain(this.props.data.strapiHomepage.content)\n .groupBy(\"pagenavsection.section_id\")\n .map((value, key) => ({ section: key, content: value }))\n .value()\n\n let sectionStepper = -1\n for(let section of this.SectionContent){\n for(let content of section.content){\n sectionStepper ++\n content.ID = sectionStepper\n }\n }\n\n\n\n for(let section of this.props.data.strapiHomepage.content){\n\n if(section.pagenavsection !== null){\n if(!section.pagenavsection.hide_from_menu){\n this.Sections.push({section:section.pagenavsection,links:section.links})\n }\n }\n\n }\n this.Sections = _.uniqBy(this.Sections, 'section.section_id');\n // console.log(\"SECTIONS\" , this.Sections)\n\n\n\n\n this.PageSections =[]\n for(let section of this.props.data.strapiHomepage.main_nav_sections){\n if(section !== null){\n if(!section.hide_from_menu){\n this.PageSections.push(section)\n }\n }\n }\n\n for(let subsections of this.SectionContent){\n for(let section of this.Sections){\n if(section.section.section_id === subsections.section){\n // console.log(section, subsections.content)\n section[\"content\"] = [...subsections.content]\n\n }\n }\n }\n\n\n\n console.log(\"SectionContent\", this.SectionContent)\n console.log(\"PageSections\",this.PageSections)\n console.log(\"Sections\",this.Sections)\n\n this.sectionsScroll =[]\n for(let scrollsection of this.SectionContent){\n for(let section of scrollsection.content){\n this.sectionsScroll.push(section)\n }\n }\n\n console.log(\"sectionsScroll\",this.sectionsScroll)\n\n\n }\n\n\n\n\nSubShow(subSectionsShow){\n// console.log(\"subShow\", subSectionsShow )\nthis.setState({subSectionsShow:subSectionsShow})\n}\n\n\n\nScrolltoSection(section_name){\n// console.log(\"ScrollllTo\", section_name, this.state.scrollToSections )\nif(typeof window !== \"undefined\"){\nlet Scroll = 0\n for(let scroll of this.sectionsScroll){\n console.log(scroll)\n if(scroll.pagenavsection.section_id === section_name){\n // this.setState({scrollsection:scroll.section.section_id})\n this.setState({sectionnumber:scroll.ID})\n }\n }\n\n for(let scroll of this.state.scrollToSections){\n console.log(scroll)\n if(scroll.section === section_name){\n\n Scroll = scroll.position\n }\n// this.state.scrollsection\n// this.state.sectionnumber\n }\n\n\n console.log(\"ScrolltoSection\", Scroll)\n // window.scrollTo({\n // top: Scroll\n // });\n window.scrollTo(0,Scroll)\n\n if(this.state.menuOpen){\n this.setState({menuOpen:false});\n }\n\n }\n\n\n\n}\n\ncomponentDidMount(){\n\n\nif (typeof window !== 'undefined') {\n\nlet ScrollSection = \"\"\n if(window.history.state !== undefined && window.history.state !== null ){\n if(window.history.state.page !== undefined && window.history.state.page !== null){\n ScrollSection = window.history.state.page\n }else{\n ScrollSection = window.history.state.section\n }\n }\n if(this.props.location.state !== undefined && this.props.location.state !== null){\n if(this.props.location.state.page !== undefined && this.props.location.state.page !== null){\n ScrollSection = this.props.location.state.page\n }else{\n ScrollSection = this.props.location.state.section\n }\n }\n\n\nthis.DontChangeScroll = true\n const timer2 = setTimeout(() => {\n this.ScrolltoSection(ScrollSection)\n }, 1300);\n const timer3 = setTimeout(() => {\n this.DontChangeScroll = false\n this.setState({mountscroll:true})\n }, 1400);\n}\n}\n\n\nhandleScroll(inView, entry ,subsection) {\n if(!this.DontChangeScroll){\n if(inView ){\n if(typeof window !== \"undefined\"){\n // window.history.pushState({page: subsection}, this.props.data.strapiHomepage.title, this.props.location.pathname);\n }\n }\n}\n}\n\nhandleSectionScroll(inView, entry ,section) {\n\n if(inView ){\n this.setState({selectedSection:section})\n }\n\n}\n\n\n\n\n ThreeController(section,number) {\n // console.log(\"ThreeController\" , section)\n this.setState({scrollsection:section})\n this.setState({sectionnumber:number})\n\n }\n\n scrollProgress(progress){\n // console.log(\"ThreeProgress\" , progress)\n this.setState({scrollpercent:progress})\n }\n\n setScrollPos(section, percent){\n let scroll = this.state.scrollToSections\n scroll.push({section:section,position:percent})\n this.setState({scrollToSections:scroll})\n\n }\n\n\nreturnImage(image){\n if(image === null){\n return ([`backgroundColor:black;`].reverse())\n }else{\n return ([image.childImageSharp.fluid,`linear-gradient(60deg, rgba(0,0,0,0.6895133053221288) 50%, rgba(0,0,0,0.258140756302521) 80%, rgba(0,0,0,0.6446953781512605) 87%)`].reverse())\n }\n};\n\nsetContactState(min){\nthis.setState({Minimised:min})\n}\n\nmenuToggle() {\n if(this.state.menuOpen){\n this.setState({menuOpen:false});\n }else{\n this.setState({menuOpen:true});\n }\n}\n\n\n\n\n render() {\n\n // console.log(\"ROUTER\" , withPrefix(\"/\"), this.props.location.pathname)\n\n return (\n
\n \n
\n\n
\n
\n
\n
\n \n\n
\n
\n \n
\n
\n

this.ScrolltoSection(\"\")}>\n {this.props.data.strapiHomepage.title}\n

\n
\n
\n
\n\n \n\n
\n
\n
\n
\n \n
\n
\n
\n\n\n\n\n
\n\n
\n \n
\n
\n
\n
\n\n\n
\n\n
\n\n\n{this.SectionContent !== undefined ?\n this.SectionContent.map((section, sectionindex) => (\n this.handleSectionScroll(inView, entry, section.section)}>\n
\n {section.content.map((document, index) => (\n this.handleScroll(inView, entry, index === 0 ? section.section:document.title.replace(/[^A-Z0-9]+/ig, \"_\"))}>\n {document.type === \"intro\" ?:
}\n {document.type === \"section_header\" ? :
}\n {document.type === \"text_left\" ? :
}\n {document.type === \"text_right\" ? :
}\n {document.type === \"text_columns\" ? :
}\n {document.type === \"section_links\" ? :
}\n {document.type === \"contact\" ? :
}\n
\n ))}\n
\n
\n))\n:<>}\n
\n
\n\n\n\n
\n\n )\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n articles: state.articles,\n pods:state.pods,\n WL:state.WL,\n micrositeID:state.micrositeID\n };\n}\nexport default connect(mapStateToProps,{ getArticle, getPodcasts, getWL,setSections })(Index);\nexport const pageQuery = graphql`\n query ScrollIndexxQuery {\n strapiHomepage {\n title\n main_nav_sections {\n Section_name\n hide_from_menu\n section_id\n }\n social_image {\n childImageSharp {\n fixed {\n base64\n tracedSVG\n aspectRatio\n srcWebp\n srcSetWebp\n originalName\n src\n }\n }\n }\n meta_description\n content {\n text\n title\n type\n columns {\n title\n text\n }\n pagenavsection {\n Section_name\n section_id\n hide_from_menu\n }\n links {\n group\n title\n articles {\n title\n type\n slug\n }\n microsites {\n slug\n site_name\n }\n }\n }\n }\n}\n\n`\n","require(\"core-js/modules/es6.regexp.constructor\");\n\nrequire(\"core-js/modules/es6.date.now\");\n\nrequire(\"core-js/modules/es6.function.bind\");\n\n/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n 'use strict'; // polyfill\n\n function polyfill() {\n // aliases\n var w = window;\n var d = document; // return if scroll behavior is supported and polyfill is not forced\n\n if ('scrollBehavior' in d.documentElement.style && w.__forceSmoothScrollPolyfill__ !== true) {\n return;\n } // globals\n\n\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468; // object gathering original scroll methods\n\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n }; // define timing method\n\n var now = w.performance && w.performance.now ? w.performance.now.bind(w.performance) : Date.now;\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n\n\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n\n\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n\n\n function shouldBailOut(firstArg) {\n if (firstArg === null || typeof firstArg !== 'object' || firstArg.behavior === undefined || firstArg.behavior === 'auto' || firstArg.behavior === 'instant') {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n } // throw error when behavior is not supported\n\n\n throw new TypeError('behavior member of ScrollOptions ' + firstArg.behavior + ' is not a valid value for enumeration ScrollBehavior.');\n }\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n\n\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n }\n }\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n\n\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n\n\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n return isScrollableY || isScrollableX;\n }\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n\n\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n\n return el;\n }\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n\n\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME; // avoid elapsed times higher than one\n\n elapsed = elapsed > 1 ? 1 : elapsed; // apply easing to elapsed time\n\n value = ease(elapsed);\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n context.method.call(context.scrollable, currentX, currentY); // scroll more if we have not reached our destination\n\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n\n\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now(); // define scroll context\n\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n } // scroll looping over a frame\n\n\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n } // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n\n\n w.scroll = w.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : w.scrollX || w.pageXOffset, // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : w.scrollY || w.pageYOffset);\n return;\n } // LET THE SMOOTHNESS BEGIN!\n\n\n smoothScroll.call(w, d.body, arguments[0].left !== undefined ? ~~arguments[0].left : w.scrollX || w.pageXOffset, arguments[0].top !== undefined ? ~~arguments[0].top : w.scrollY || w.pageYOffset);\n }; // w.scrollBy\n\n\n w.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : 0, arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : 0);\n return;\n } // LET THE SMOOTHNESS BEGIN!\n\n\n smoothScroll.call(w, d.body, ~~arguments[0].left + (w.scrollX || w.pageXOffset), ~~arguments[0].top + (w.scrollY || w.pageYOffset));\n }; // Element.prototype.scroll and Element.prototype.scrollTo\n\n\n Element.prototype.scroll = Element.prototype.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n\n original.elementScroll.call(this, // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined ? ~~arguments[0].left : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft, // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined ? ~~arguments[0].top : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop);\n return;\n }\n\n var left = arguments[0].left;\n var top = arguments[0].top; // LET THE SMOOTHNESS BEGIN!\n\n smoothScroll.call(this, this, typeof left === 'undefined' ? this.scrollLeft : ~~left, typeof top === 'undefined' ? this.scrollTop : ~~top);\n }; // Element.prototype.scrollBy\n\n\n Element.prototype.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(this, arguments[0].left !== undefined ? ~~arguments[0].left + this.scrollLeft : ~~arguments[0] + this.scrollLeft, arguments[0].top !== undefined ? ~~arguments[0].top + this.scrollTop : ~~arguments[1] + this.scrollTop);\n return;\n }\n\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n }; // Element.prototype.scrollIntoView\n\n\n Element.prototype.scrollIntoView = function () {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(this, arguments[0] === undefined ? true : arguments[0]);\n return;\n } // LET THE SMOOTHNESS BEGIN!\n\n\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(this, scrollableParent, scrollableParent.scrollLeft + clientRects.left - parentRects.left, scrollableParent.scrollTop + clientRects.top - parentRects.top); // reveal parent in viewport unless is fixed\n\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n }\n\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n // commonjs\n module.exports = {\n polyfill: polyfill\n };\n } else {\n // global\n polyfill();\n }\n})();"],"sourceRoot":""}