{"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":""}