{"version":3,"file":"planetary-boundaries.js","mappings":"uFAqDA,UArDA,SAA6BA,GACzB,MAAMC,EAAsBD,EAAGE,iBAAiB,sDAC1CC,EAAuBH,EAAGI,cAAc,wCACxCC,EAA0BL,EAAGI,cAAc,+CACjD,IAAIE,EAAgB,EAChBC,EAAkB,KAEtBF,EAAwBG,iBAAiB,SAAS,KAC9CL,EAAqBM,UAAUC,OAAO,0CAA0C,IA4BpF,IAAIC,EAAW,IAAIC,sBAzBnB,SAAkCC,GAC9BA,EAAQC,SAAQ,SAAUC,GACtB,MAAMC,EAAOD,EAAME,QACb,QAACC,GAAWF,EAAKG,QACjBC,EAAepB,EAAGI,cAAc,kCAAkCc,KAClEG,EAAmBrB,EAAGE,iBAAiB,kCACzCa,EAAMO,gBACND,EAAiBP,SAASS,IACtB,IAAK,IAAIC,EAAI,EAAGA,GAAK,GAAIA,IACrBD,EAAMd,UAAUgB,OAAO,uCAAuCD,KAElED,EAAMd,UAAUgB,OAAO,uCACvBF,EAAMd,UAAUgB,OAAO,gDACvB,MAAMC,EAAiC,OAApBnB,EACb,+CACA,uCAAuCW,IAC7CK,EAAMd,UAAUkB,IAAID,EAAW,IAEnCN,EAAaX,UAAUkB,IAAI,wCAE3BP,EAAaX,UAAUgB,OAAO,sCAEtC,GACJ,GAEkE,CAACG,UAAW,KAC9E3B,EAAoBa,SAASe,IACzBlB,EAASmB,QAAQD,EAAQ,IAI7BE,OAAOvB,iBAAiB,UAAU,WAE1BD,EADCyB,SAASC,KAAKC,wBAAyBC,IAAM7B,EAC5B,KAGA,OAEtBA,EAAiB0B,SAASC,KAAKC,wBAAyBC,GAC5D,GACJ,C","sources":["webpack:///./scripts/planetary-boundaries.js"],"sourcesContent":["function planetaryBoundaries(el) {\n const intersectionTrigger = el.querySelectorAll('.js-planetary-boundaries-part-intersection-trigger');\n const explanationContainer = el.querySelector('.js-planetary-boundaries-explanation');\n const explanationToggleButton = el.querySelector('.js-planetary-boundaries-explanation-toggle');\n let lastScrollPos = 0;\n let scrollDirection = 'up';\n\n explanationToggleButton.addEventListener('click', () => {\n explanationContainer.classList.toggle('planetary-boundaries__explanation--show');\n });\n\n function handleIntersectionChange(entries) {\n entries.forEach(function (entry) {\n const elem = entry.target;\n const {imageId} = elem.dataset;\n const imageElement = el.querySelector(`.js-planetary-boundaries-image-${imageId}`);\n const allImageElements = el.querySelectorAll('.js-planetary-boundaries-image');\n if (entry.isIntersecting) {\n allImageElements.forEach((image) => {\n for (let i = 1; i <= 12; i++) {\n image.classList.remove(`planetary-boundaries__image--active-${i}`);\n }\n image.classList.remove('planetary-boundaries__image--active');\n image.classList.remove('planetary-boundaries__image--active-disabled');\n const classToAdd = scrollDirection === 'up'\n ? 'planetary-boundaries__image--active-disabled'\n : `planetary-boundaries__image--active-${imageId}`;\n image.classList.add(classToAdd);\n });\n imageElement.classList.add('planetary-boundaries__image--active');\n } else {\n imageElement.classList.remove('planetary-boundaries__image--active');\n }\n });\n }\n\n var observer = new IntersectionObserver(handleIntersectionChange, {threshold: 0.5});\n intersectionTrigger.forEach((trigger) => {\n observer.observe(trigger);\n });\n\n\n window.addEventListener('scroll', function () {\n if ((document.body.getBoundingClientRect()).top > lastScrollPos) {\n scrollDirection = 'up';\n }\n else {\n scrollDirection = 'down';\n }\n lastScrollPos = (document.body.getBoundingClientRect()).top;\n });\n}\n\nexport default planetaryBoundaries;\n\n"],"names":["el","intersectionTrigger","querySelectorAll","explanationContainer","querySelector","explanationToggleButton","lastScrollPos","scrollDirection","addEventListener","classList","toggle","observer","IntersectionObserver","entries","forEach","entry","elem","target","imageId","dataset","imageElement","allImageElements","isIntersecting","image","i","remove","classToAdd","add","threshold","trigger","observe","window","document","body","getBoundingClientRect","top"],"sourceRoot":""}