{"version":3,"file":"aboutpage.entry.js","mappings":"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","sources":["webpack://DDI-Main-Marketing-Website/./src/about/leadershipTeamFunctionality.js","webpack://DDI-Main-Marketing-Website/./src/about/aboutScrollTriggers.js","webpack://DDI-Main-Marketing-Website/./src/about/ourClientsSlider.js","webpack://DDI-Main-Marketing-Website/./src/about/modalStateChangeVideoKiller.js"],"sourcesContent":["function initAboutLeadershipTeam() {\r\n //this is just an example plugin that allows us to animate a \"blur\" property like gsap.to(target, {blur:10}) and it'll feed that value to this plugin which will do all the necessary calculations to add/update a blur() value in the CSS \"filter\" property (in browsers that support it). We wrap it in an iife just so that we can declare some local variables in a private scope at the top.\r\n (function () {\r\n const blurProperty = gsap.utils.checkPrefix(\"filter\"),\r\n blurExp = /blur\\((.+)?px\\)/,\r\n getBlurMatch = (target) =>\r\n (gsap.getProperty(target, blurProperty) || \"\").match(blurExp) || [];\r\n\r\n gsap.registerPlugin({\r\n name: \"blur\",\r\n get(target) {\r\n return +getBlurMatch(target)[1] || 0;\r\n },\r\n init(target, endValue) {\r\n let data = this,\r\n filter = gsap.getProperty(target, blurProperty),\r\n endBlur = \"blur(\" + endValue + \"px)\",\r\n match = getBlurMatch(target)[0],\r\n index;\r\n if (filter === \"none\") {\r\n filter = \"\";\r\n }\r\n if (match) {\r\n index = filter.indexOf(match);\r\n endValue =\r\n filter.substr(0, index) +\r\n endBlur +\r\n filter.substr(index + match.length);\r\n } else {\r\n endValue = filter + endBlur;\r\n filter += filter ? \" blur(0px)\" : \"blur(0px)\";\r\n }\r\n data.target = target;\r\n data.interp = gsap.utils.interpolate(filter, endValue);\r\n },\r\n render(progress, data) {\r\n data.target.style[blurProperty] = data.interp(progress);\r\n }\r\n });\r\n })();\r\n\r\n const headshots = gsap.utils.toArray(\".leadershipCard\"),\r\n expandedContainer = document.querySelector(\".leadershipExpandedContainer\"),\r\n expandedBioContainer = document.querySelector(\r\n \".leadershipExpandedContainer__bio\"\r\n ),\r\n expandedImage = document.querySelector(\r\n \".leadershipExpandedContainer__headshot img\"\r\n ),\r\n expandedName = document.querySelector(\r\n \".leadershipExpandedContainer__bio .name\"\r\n ),\r\n expandedTitle = document.querySelector(\r\n \".leadershipExpandedContainer__bio .title\"\r\n ),\r\n expandedBio = document.querySelector(\r\n \".leadershipExpandedContainer__bio .bio\"\r\n ),\r\n expandedSocial = document.querySelector(\r\n \".leadershipExpandedContainer__bio .social\"\r\n ),\r\n expandedLearnMore = document.querySelector(\r\n \".leadershipExpandedContainer__bio .learnMore\"\r\n );\r\n\r\n let activeHeadshot;\r\n\r\n gsap.set(expandedBioContainer, { xPercent: 15, opacity: 0 });\r\n\r\n function expandHeadshot(card) {\r\n //If someone clicks on element behind expanded headshot, then we should\r\n //just close the currently expanded headshot\r\n if (activeHeadshot) {\r\n return closeHeadshot();\r\n }\r\n\r\n //If we're on a small screen, just return. The bios are expanded via css\r\n if (window.innerWidth < 800) {\r\n return;\r\n }\r\n\r\n //Prevent scrolling\r\n gsap.set('body', { overflow: 'hidden' });\r\n\r\n //When the image in the detail DOM is loaded, we run the GSAP flip stuff.\r\n //Anything outside this function isn't related to FLIPing the headshot\r\n const onload = () => {\r\n //Position the expanded container on top of the headshot.\r\n //Make sure to use fitChild on the image so that's what looks like\r\n //it's growing.\r\n Flip.fit(expandedContainer, card.querySelector(\"img\"), {\r\n scale: true,\r\n fitChild: expandedImage\r\n });\r\n\r\n //Record the state that everything is in.\r\n const state = Flip.getState(expandedContainer);\r\n\r\n //Set the final state\r\n gsap.set(expandedContainer, { clearProps: true });\r\n gsap.set(expandedContainer, { visibility: \"visible\" });\r\n\r\n Flip.from(state, {\r\n duration: 0.45,\r\n scale: true,\r\n ease: \"power2.in\",\r\n absolute: true\r\n }).to(expandedBioContainer, { xPercent: 0, opacity: 1, duration: 0.25 });\r\n\r\n expandedImage.removeEventListener(\"load\", onload);\r\n document.addEventListener(\"click\", closeHeadshot);\r\n };\r\n\r\n //Change image and text\r\n const data = card.dataset;\r\n expandedImage.addEventListener(\"load\", onload);\r\n expandedImage.src = data.headshot;\r\n expandedName.innerText = data.name;\r\n expandedTitle.innerText = data.titles;\r\n expandedBio.innerText = data.bio;\r\n expandedLearnMore.href = data.learnmore;\r\n\r\n\r\n //Fade out the other items\r\n gsap.to(headshots, {\r\n opacity: 0.3,\r\n stagger: { amount: 0.7, from: headshots.indexOf(card), grid: \"auto\" }\r\n });\r\n gsap.to(headshots, { blur: 6 });\r\n activeHeadshot = card;\r\n }\r\n\r\n function closeHeadshot() {\r\n document.removeEventListener(\"click\", closeHeadshot);\r\n\r\n //allow scrolling again\r\n gsap.set('body', { overflow: 'auto' });\r\n\r\n //Record current state\r\n const state = Flip.getState(expandedContainer);\r\n\r\n //Scale details down so that it's image fits exactly on top of the active headshot\r\n Flip.fit(expandedContainer, activeHeadshot.querySelector(\"img\"), {\r\n scale: true,\r\n fitChild: expandedImage\r\n });\r\n\r\n //Put the bio container back and then fade in the other headshots\r\n\r\n const tl = gsap.timeline();\r\n tl.to(expandedBioContainer, { xPercent: 5, opacity: 0, duration: 0.25 })\r\n .to(headshots, { blur: 0 })\r\n .to(\r\n headshots,\r\n {\r\n opacity: 1,\r\n stagger: {\r\n amount: 0.3,\r\n from: headshots.indexOf(activeHeadshot),\r\n grid: \"auto\"\r\n }\r\n },\r\n 0\r\n );\r\n\r\n Flip.from(state, {\r\n scale: true,\r\n duration: 0.5,\r\n delay: 0.2,\r\n ease: \"power2.inOut\",\r\n absolute: true\r\n }).to(expandedContainer, { visibility: \"hidden\" });\r\n\r\n activeHeadshot = null;\r\n }\r\n\r\n function generateHoverTimeline(target) {\r\n const tl = gsap.timeline({ paused: true });\r\n tl.to(target, { yPercent: -2, duration: 0.25, ease: \"power2.inOut\" });\r\n return tl;\r\n }\r\n\r\n //Add click events\r\n gsap.utils.toArray(\".leadershipCard\").forEach((item) => {\r\n item.addEventListener(\"click\", () => {\r\n expandHeadshot(item);\r\n });\r\n });\r\n\r\n gsap.set(\".leadershipCard\", { autoAlpha: 1 });\r\n gsap.from(\".leadershipCard\", {\r\n onComplete: initHovers,\r\n opacity: 0,\r\n yPercent: 30,\r\n stagger: 0.14,\r\n scrollTrigger: {\r\n trigger: \".leadershipContainer\",\r\n start: \"top 60%\"\r\n }\r\n });\r\n\r\n function initHovers() {\r\n gsap.utils.toArray(\".leadershipCard\").forEach((item) => {\r\n const cardTimeline = generateHoverTimeline(item);\r\n item.addEventListener(\"mouseenter\", () => {\r\n if (activeHeadshot) {\r\n return;\r\n } else {\r\n cardTimeline.play();\r\n }\r\n });\r\n item.addEventListener(\"mouseleave\", () => {\r\n if (activeHeadshot) {\r\n return;\r\n } else {\r\n cardTimeline.reverse();\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\ninitAboutLeadershipTeam();","//header section\r\ngsap.set(\".aboutPageHeader .lottieContainer\", { autoAlpha: 1 });\r\ngsap.from(\".aboutPageHeader .lottieContainer\", { opacity: 0, y: 30, stagger: 0.2 });\r\n\r\n//Why Work with us section\r\ngsap.set('.paperBulbContainer', {autoAlpha:1})\r\ngsap.from('.lightBulbImg', {\r\n opacity: 0, xPercent: 30, scrollTrigger: {\r\n trigger: '.paperBulbContainer',\r\n start: 'top center',\r\n }\r\n});\r\n\r\n//Why you need us section\r\ngsap.set('.byYourSidePerkContainer', { autoAlpha: 1 });\r\ngsap.from('.byYourSidePerkContainer', {\r\n opacity: 0,\r\n y: -30,\r\n stagger: 0.2,\r\n scrollTrigger: {\r\n trigger: '.whyYouNeedUsContainer',\r\n start: 'top center'\r\n }\r\n});\r\n\r\n//Awards section\r\ngsap.from(\".awardCard\", {\r\n opacity: 0,\r\n yPercent: 30,\r\n stagger: 0.14,\r\n scrollTrigger: {\r\n trigger: \".mainAwardsContainer\",\r\n start: \"top 65%\"\r\n }\r\n});\r\n\r\n//Diversity section\r\ngsap.from('.diversityList li', {\r\n xPercent: 30,\r\n opacity: 0,\r\n stagger: .2,\r\n scrollTrigger: {\r\n trigger: '.weBelieveHeader',\r\n start: 'top 80%'\r\n }\r\n});\r\n\r\n//uspark section\r\ngsap.from('.uSparkImage', {\r\n yPercent: 30,\r\n opacity: 0,\r\n scrollTrigger: {\r\n trigger: '.uSparkSection',\r\n start: 'top center'\r\n }\r\n});\r\n\r\n//Our People section\r\ngsap.from('.gallery-img', {\r\n opacity: 0, stagger: 0.1, scrollTrigger: {\r\n trigger: '.albumContainerColumn',\r\n start: 'top center',\r\n end: 'top 60%'\r\n }\r\n});","function initAboutClientSlider() {\r\n\tconst wrapper = document.querySelector(\".wrapper\");\r\n\tconst boxes = gsap.utils.toArray(\".box\");\r\n\r\n\tconst loop = horizontalLoop(boxes, { paused: true });\r\n\r\n\tdocument.querySelector(\".next\").addEventListener(\"click\", () => loop.next({ duration: 0.4, ease: \"power1.inOut\" }));\r\n\tdocument.querySelector(\".prev\").addEventListener(\"click\", () => loop.previous({ duration: 0.4, ease: \"power1.inOut\" }));\r\n\r\n\r\n\tfunction horizontalLoop(items, config) {\r\n\t\titems = gsap.utils.toArray(items);\r\n\t\tconfig = config || {};\r\n\t\tlet tl = gsap.timeline({ repeat: config.repeat, paused: config.paused, defaults: { ease: \"none\" }, onReverseComplete: () => tl.totalTime(tl.rawTime() + tl.duration() * 100) }),\r\n\t\t\tlength = items.length,\r\n\t\t\tstartX = items[0].offsetLeft,\r\n\t\t\ttimes = [],\r\n\t\t\twidths = [],\r\n\t\t\txPercents = [],\r\n\t\t\tcurIndex = 0,\r\n\t\t\tpixelsPerSecond = (config.speed || 1) * 100,\r\n\t\t\tsnap = config.snap === false ? v => v : gsap.utils.snap(config.snap || 1), // some browsers shift by a pixel to accommodate flex layouts, so for example if width is 20% the first element's width might be 242px, and the next 243px, alternating back and forth. So we snap to 5 percentage points to make things look more natural\r\n\t\t\ttotalWidth, curX, distanceToStart, distanceToLoop, item, i;\r\n\t\tgsap.set(items, { // convert \"x\" to \"xPercent\" to make things responsive, and populate the widths/xPercents Arrays to make lookups faster.\r\n\t\t\txPercent: (i, el) => {\r\n\t\t\t\tlet w = widths[i] = parseFloat(gsap.getProperty(el, \"width\", \"px\"));\r\n\t\t\t\txPercents[i] = snap(parseFloat(gsap.getProperty(el, \"x\", \"px\")) / w * 100 + gsap.getProperty(el, \"xPercent\"));\r\n\t\t\t\treturn xPercents[i];\r\n\t\t\t}\r\n\t\t});\r\n\t\tgsap.set(items, { x: 0 });\r\n\t\ttotalWidth = items[length - 1].offsetLeft + xPercents[length - 1] / 100 * widths[length - 1] - startX + items[length - 1].offsetWidth * gsap.getProperty(items[length - 1], \"scaleX\") + (parseFloat(config.paddingRight) || 0);\r\n\t\tfor (i = 0; i < length; i++) {\r\n\t\t\titem = items[i];\r\n\t\t\tcurX = xPercents[i] / 100 * widths[i];\r\n\t\t\tdistanceToStart = item.offsetLeft + curX - startX;\r\n\t\t\tdistanceToLoop = distanceToStart + widths[i] * gsap.getProperty(item, \"scaleX\");\r\n\t\t\ttl.to(item, { xPercent: snap((curX - distanceToLoop) / widths[i] * 100), duration: distanceToLoop / pixelsPerSecond }, 0)\r\n\t\t\t\t.fromTo(item, { xPercent: snap((curX - distanceToLoop + totalWidth) / widths[i] * 100) }, { xPercent: xPercents[i], duration: (curX - distanceToLoop + totalWidth - curX) / pixelsPerSecond, immediateRender: false }, distanceToLoop / pixelsPerSecond)\r\n\t\t\t\t.add(\"label\" + i, distanceToStart / pixelsPerSecond);\r\n\t\t\ttimes[i] = distanceToStart / pixelsPerSecond;\r\n\t\t}\r\n\t\tfunction toIndex(index, vars) {\r\n\t\t\tvars = vars || {};\r\n\t\t\t(Math.abs(index - curIndex) > length / 2) && (index += index > curIndex ? -length : length); // always go in the shortest direction\r\n\t\t\tlet newIndex = gsap.utils.wrap(0, length, index),\r\n\t\t\t\ttime = times[newIndex];\r\n\t\t\tif (time > tl.time() !== index > curIndex) { // if we're wrapping the timeline's playhead, make the proper adjustments\r\n\t\t\t\tvars.modifiers = { time: gsap.utils.wrap(0, tl.duration()) };\r\n\t\t\t\ttime += tl.duration() * (index > curIndex ? 1 : -1);\r\n\t\t\t}\r\n\t\t\tcurIndex = newIndex;\r\n\t\t\tvars.overwrite = true;\r\n\t\t\treturn tl.tweenTo(time, vars);\r\n\t\t}\r\n\t\ttl.next = vars => toIndex(curIndex + 1, vars);\r\n\t\ttl.previous = vars => toIndex(curIndex - 1, vars);\r\n\t\ttl.current = () => curIndex;\r\n\t\ttl.toIndex = (index, vars) => toIndex(index, vars);\r\n\t\ttl.times = times;\r\n\t\ttl.progress(1, true).progress(0, true); // pre-render for performance\r\n\t\tif (config.reversed) {\r\n\t\t\ttl.vars.onReverseComplete();\r\n\t\t\ttl.reverse();\r\n\t\t}\r\n\t\treturn tl;\r\n\t}\r\n}\r\n\r\ninitAboutClientSlider();","//We have a video inside of a modal. When the user closes the modal, it should determine if the video is playing and if so, stop it.\r\n//We also play the video when the 'play video' button is clicked. No point in forcing user to click twice to play a video.\r\n\r\nfunction initAboutHeaderVideoModal() {\r\n const videoFrame = document.getElementById('embedded480Video');\r\n $('#headerVideoModal').on('shown.bs.modal', function (e) {\r\n videoFrame.src = 'https://www.youtube.com/embed/2ysLh4dYKZI';\r\n });\r\n $('#headerVideoModal').on('hide.bs.modal', function (e) {\r\n videoFrame.src = '';\r\n });\r\n}\r\n\r\ninitAboutHeaderVideoModal();"],"names":["blurProperty","gsap","utils","checkPrefix","blurExp","getBlurMatch","target","getProperty","match","registerPlugin","name","get","init","endValue","index","filter","endBlur","indexOf","substr","length","this","interp","interpolate","render","progress","data","style","headshots","toArray","expandedContainer","document","querySelector","expandedBioContainer","expandedImage","expandedName","expandedTitle","expandedBio","expandedLearnMore","activeHeadshot","closeHeadshot","removeEventListener","set","overflow","state","Flip","getState","fit","scale","fitChild","timeline","to","xPercent","opacity","duration","blur","stagger","amount","from","grid","delay","ease","absolute","visibility","forEach","item","addEventListener","card","window","innerWidth","onload","clearProps","dataset","src","headshot","innerText","titles","bio","href","learnmore","expandHeadshot","autoAlpha","onComplete","cardTimeline","tl","paused","yPercent","generateHoverTimeline","play","reverse","scrollTrigger","trigger","start","initAboutLeadershipTeam","y","end","loop","items","config","totalWidth","curX","distanceToStart","distanceToLoop","i","repeat","defaults","onReverseComplete","totalTime","rawTime","startX","offsetLeft","times","widths","xPercents","curIndex","pixelsPerSecond","speed","snap","v","el","w","parseFloat","x","offsetWidth","paddingRight","fromTo","immediateRender","add","toIndex","vars","Math","abs","newIndex","wrap","time","modifiers","overwrite","tweenTo","next","previous","current","reversed","horizontalLoop","initAboutClientSlider","videoFrame","getElementById","$","on","e","initAboutHeaderVideoModal"],"sourceRoot":""}