{ "version": 3, "sources": ["../../javascript/landing_page.js"], "sourcesContent": ["const navItems = document.querySelectorAll('.js-nav__item');\nconst pageNav = document.querySelector('.js-.page-nav');\nconst pageNavSentinel = document.querySelector('.js-nav-sentinel');\nconst sectionTitles = document.querySelectorAll('.js-section-title');\nconst upOffset = 150;\n\nfunction updateClasses(element, classesToAdd = [], classesToRemove = []) {\n element.classList.remove(...classesToRemove);\n element.classList.add(...classesToAdd);\n}\n\n// Intersection Observer for sticky navigation\nconst stickyObserver = new IntersectionObserver(entries => {\n entries.forEach(entry => {\n if (!entry.isIntersecting) {\n navItems.forEach(navItem => navItem.classList.add('is-active-sticky'));\n pageNav.classList.add('stuck');\n } else {\n navItems.forEach(navItem => navItem.classList.remove('is-active-sticky'));\n pageNav.classList.remove('stuck');\n }\n });\n}, { rootMargin: '-84px 0% 0% 0%' });\nstickyObserver.observe(pageNavSentinel);\n\n// Observer options\nconst observerOptions = {\n sections: { rootMargin: '-84px 0% -30% 0%', threshold: 0.5 },\n boxes: { rootMargin: '0% 0% -50% 0%' }\n};\n\n// Intersection Observer for sections\nconst observerSections = new IntersectionObserver((entries) => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n const targetClass = entry.target.closest('section').dataset.class;\n const targetElement = document.querySelector(targetClass);\n\n navItems.forEach(navItem => updateClasses(navItem, [], ['is-active', 'stroke__right-in', 'stroke__left-in']));\n if (targetElement) {\n updateClasses(targetElement, ['is-active', 'stroke__left-in']);\n }\n }\n });\n}, observerOptions.sections);\n\nsectionTitles.forEach(section => observerSections.observe(section));\n\n// Observer for boxes\nconst observerBoxesTriggerOnce = new IntersectionObserver((entries, observer) => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n Array.from(entry.target.children).forEach(child => child.classList.add('fadeInUp'));\n observer.unobserve(entry.target);\n }\n });\n}, observerOptions.boxes);\n\nconst boxes = document.querySelectorAll('.js-waypoint__boxes');\nboxes.forEach(box => observerBoxesTriggerOnce.observe(box));\n\n// Smooth scrolling for navigation items\nnavItems.forEach(navItem => {\n navItem.addEventListener('click', event => {\n event.preventDefault();\n const target = document.querySelector(event.target.hash);\n if (target) {\n const offset = target.offsetTop - upOffset;\n window.scrollTo({ top: offset, behavior: 'smooth' });\n }\n });\n});\n"], "mappings": ";AAAA,IAAM,WAAW,SAAS,iBAAiB,eAAe;AAC1D,IAAM,UAAU,SAAS,cAAc,eAAe;AACtD,IAAM,kBAAkB,SAAS,cAAc,kBAAkB;AACjE,IAAM,gBAAgB,SAAS,iBAAiB,mBAAmB;AACnE,IAAM,WAAW;AAEjB,SAAS,cAAc,SAAS,eAAe,CAAC,GAAG,kBAAkB,CAAC,GAAG;AACvE,UAAQ,UAAU,OAAO,GAAG,eAAe;AAC3C,UAAQ,UAAU,IAAI,GAAG,YAAY;AACvC;AAGA,IAAM,iBAAiB,IAAI,qBAAqB,aAAW;AACzD,UAAQ,QAAQ,WAAS;AACvB,QAAI,CAAC,MAAM,gBAAgB;AACzB,eAAS,QAAQ,aAAW,QAAQ,UAAU,IAAI,kBAAkB,CAAC;AACrE,cAAQ,UAAU,IAAI,OAAO;AAAA,IAC/B,OAAO;AACL,eAAS,QAAQ,aAAW,QAAQ,UAAU,OAAO,kBAAkB,CAAC;AACxE,cAAQ,UAAU,OAAO,OAAO;AAAA,IAClC;AAAA,EACF,CAAC;AACH,GAAG,EAAE,YAAY,iBAAiB,CAAC;AACnC,eAAe,QAAQ,eAAe;AAGtC,IAAM,kBAAkB;AAAA,EACtB,UAAU,EAAE,YAAY,oBAAoB,WAAW,IAAI;AAAA,EAC3D,OAAO,EAAE,YAAY,gBAAgB;AACvC;AAGA,IAAM,mBAAmB,IAAI,qBAAqB,CAAC,YAAY;AAC7D,UAAQ,QAAQ,WAAS;AACvB,QAAI,MAAM,gBAAgB;AACxB,YAAM,cAAc,MAAM,OAAO,QAAQ,SAAS,EAAE,QAAQ;AAC5D,YAAM,gBAAgB,SAAS,cAAc,WAAW;AAExD,eAAS,QAAQ,aAAW,cAAc,SAAS,CAAC,GAAG,CAAC,aAAa,oBAAoB,iBAAiB,CAAC,CAAC;AAC5G,UAAI,eAAe;AACjB,sBAAc,eAAe,CAAC,aAAa,iBAAiB,CAAC;AAAA,MAC/D;AAAA,IACF;AAAA,EACF,CAAC;AACH,GAAG,gBAAgB,QAAQ;AAE3B,cAAc,QAAQ,aAAW,iBAAiB,QAAQ,OAAO,CAAC;AAGlE,IAAM,2BAA2B,IAAI,qBAAqB,CAAC,SAAS,aAAa;AAC/E,UAAQ,QAAQ,WAAS;AACvB,QAAI,MAAM,gBAAgB;AACxB,YAAM,KAAK,MAAM,OAAO,QAAQ,EAAE,QAAQ,WAAS,MAAM,UAAU,IAAI,UAAU,CAAC;AAClF,eAAS,UAAU,MAAM,MAAM;AAAA,IACjC;AAAA,EACF,CAAC;AACH,GAAG,gBAAgB,KAAK;AAExB,IAAM,QAAQ,SAAS,iBAAiB,qBAAqB;AAC7D,MAAM,QAAQ,SAAO,yBAAyB,QAAQ,GAAG,CAAC;AAG1D,SAAS,QAAQ,aAAW;AAC1B,UAAQ,iBAAiB,SAAS,WAAS;AACzC,UAAM,eAAe;AACrB,UAAM,SAAS,SAAS,cAAc,MAAM,OAAO,IAAI;AACvD,QAAI,QAAQ;AACV,YAAM,SAAS,OAAO,YAAY;AAClC,aAAO,SAAS,EAAE,KAAK,QAAQ,UAAU,SAAS,CAAC;AAAA,IACrD;AAAA,EACF,CAAC;AACH,CAAC;", "names": [] }