{"version":3,"sources":["jsdelivr-header.js","/gh/leo-mattar/guide@master/assets/script.js"],"names":[],"mappings":"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","file":"/gh/leo-mattar/guide@master/assets/script.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /gh/leo-mattar/guide@master/assets/script.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","// --- GSAP\ngsap.registerPlugin(ScrollTrigger);\n\ngsap.config({\n  nullTargetWarn: false,\n  trialWarn: false,\n});\n\nlet mm = gsap.matchMedia();\n\n// --- GLOBAL - RELOAD AT THE TOP\nwindow.addEventListener(\"beforeunload\", function () {\n  history.scrollRestoration = \"manual\";\n});\n\n// --- LENIS\nwindow.lenis = new Lenis();\n\nlenis.on(\"scroll\", ScrollTrigger.update);\n\ngsap.ticker.add((time) => {\n  lenis.raf(time * 1000);\n});\n\ngsap.ticker.lagSmoothing(0);\n\n// --- PAPER TIGET SIGNATURE\nconst pprtgr = [\n  'color: #F2F3F3',\n  'background: #080808',\n  'font-size: 12px',\n  'padding-left: 10px',\n  'line-height: 2',\n  'border-left: 5px solid #ff3c31',\n].join(';');\nconsole.info(`\n\n%cWebsite by Paper Tiger${' '}\nwww.papertiger.com${'     '}\n\n`, pprtgr);\n\n// --- CURRENT YEAR\nconst currentYear = document.querySelector('[current-year]');\nif (currentYear) {\n  currentYear.innerHTML = new Date().getFullYear();\n}\n\n// --- LIGHT SECTIONS REVEAL\nfunction lightSection() {\n  const sections = document.querySelectorAll(\".c-section[section-theme='light']\");\n\n  sections.forEach((section) => {\n    const tl = gsap.timeline({ paused: true });\n\n    gsap.set(section, { opacity: 0 });\n\n    tl.to(section, {\n      opacity: 1,\n      ease: \"power2.out\",\n      duration: 1.2,\n    });\n\n    ScrollTrigger.create({\n      trigger: section,\n      start: \"top 70%\",\n      onToggle: (self) => {\n        if (self.isActive) {\n          tl.play();\n        } else {\n          tl.reverse();\n        }\n      },\n    });\n  });\n}\n\n// --- HEADER BG\nfunction headerBg() {\n  const header = document.querySelector(\".c-header\");\n\n  ScrollTrigger.create({\n    trigger: \"body\",\n    start: \"100 top\",\n    onToggle: (self) => {\n      if (self.isActive) {\n        header.classList.add(\"scrolled\");\n      } else {\n        header.classList.remove(\"scrolled\");\n      }\n    }\n  });\n}\n\n// --- HEADER VISIBILITY\nfunction headerScrollVisibility() {\n  let lastScrollTop = 0;\n\n  window.addEventListener('scroll', function () {\n    const header = document.querySelector(\".c-header\");\n    let scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n\n    if (scrollTop > lastScrollTop) {\n      if (!header.classList.contains('not-visible')) {\n        // Header\n        header.classList.add('not-visible');\n        gsap.to(header, { autoAlpha: 0, duration: 0.4, ease: \"power2.inOut\" });\n      }\n    } else {\n      if (header.classList.contains('not-visible')) {\n        // Header\n        header.classList.remove('not-visible');\n        gsap.to(header, { autoAlpha: 1, duration: 0.4, ease: \"power2.inOut\" });\n      }\n    }\n\n    lastScrollTop = scrollTop;\n  });\n}\n\n// --- GLOBAL - FADE\nfunction fade() {\n  const fadeElements = document.querySelectorAll(\"[fade]\");\n\n  gsap.set(fadeElements, { opacity: 0, y: \"5em\" });\n\n  ScrollTrigger.batch(fadeElements, {\n    once: true,\n    start: \"top 95%\",\n    onEnter: (batch) =>\n      gsap.to(batch, {\n        opacity: 1,\n        duration: 1.8,\n        ease: \"power3.out\",\n        stagger: 0.2,\n        y: 0\n      }),\n  });\n}\n\n// --- TABBER\nfunction tabber() {\n  const panels = document.querySelectorAll(\".c-img-contain.tab-visual\");\n  const tabs = document.querySelectorAll(\".c-tab-item\");\n  const track = document.querySelector(\".c-section.tab\");\n\n  if (panels.length === 0) return;\n\n  ScrollTrigger.create({\n    trigger: track,\n    start: \"top top\",\n    end: \"bottom bottom\",\n    scrub: true,\n    onUpdate: self => {\n      const progress = self.progress;\n      const panelIndex = Math.floor(progress * panels\n        .length);\n\n      panels.forEach((panel, index) => {\n        if (index === panelIndex || (progress === 1 && index === panels.length - 1)) {\n          panel.classList.add(\"is-active\");\n          tabs[index].classList.add(\"is-active\");\n\n        } else {\n          panel.classList.remove(\"is-active\");\n          tabs[index].classList.remove(\"is-active\");\n\n        }\n      });\n    }\n  });\n}\n\nfunction drawLine() {\n  // Draw line\n  gsap.set(\"[draw-line]\", {\n    opacity: 1,\n    scaleX: 0,\n    transformOrigin: \"top left\",\n  });\n\n  ScrollTrigger.batch(\"[draw-line]\", {\n    once: true,\n    onEnter: (batch) =>\n      gsap.to(batch, {\n        scaleX: 1,\n        delay: 0.1,\n        duration: 1.2,\n        ease: \"power3.out\",\n        stagger: 0.1,\n        markers: true,\n      }),\n  });\n}\n\n// --- ACCORDIONS\nfunction accordions() {\n  const accordions = document.querySelectorAll(\".c-ac-item\");\n  let active = null;\n\n  if (accordions.length === 0) return;\n\n  accordions.forEach(accordion => {\n    const question = accordion.querySelector(\".c-ac-question\");\n    const response = accordion.querySelector(\".c-ac-response\");\n    const arrow = accordion.querySelector(\".c-icon.ac-arrow\");\n\n    const tl = gsap.timeline({\n      paused: true,\n      defaults: {\n        ease: \"power2.inOut\",\n        duration: 0.5\n      }\n    });\n\n    tl.to(response, { height: \"auto\" });\n    tl.to(arrow, { rotation: 135 }, 0);\n\n    accordion.tl = tl;\n\n    question.addEventListener(\"click\", function () {\n      if (active === accordion) {\n        tl.reverse();\n        active = null;\n      } else {\n        if (active) active.tl.reverse();\n        tl.play();\n        active = accordion;\n      }\n    });\n  });\n}\n\n// --- HEADER MOBILE\nfunction headerMobile() {\n  let header = document.querySelector(\".c-header\");\n  let headerBtn = document.querySelector(\".c-nav-btn\");\n  let headerNav = document.querySelector(\".c-header-nav\");\n  let menuLine1 = document.querySelectorAll(\".c-nav-bar.is-1\");\n  let menuLine2 = document.querySelectorAll(\".c-nav-bar.is-2\");\n  let menuLine3 = document.querySelectorAll(\".c-nav-bar.is-3\");\n\n  let tl = gsap.timeline({ paused: true, defaults: { ease: \"expo.inOut\", duration: 1 } });\n\n  gsap.set(menuLine1, { transformOrigin: \"center center\" });\n  gsap.set(menuLine2, { transformOrigin: \"center center\" });\n  gsap.set(menuLine3, { transformOrigin: \"center center\" });\n\n  tl.to(headerNav, { clipPath: \"inset(0% 0% 0% 0%)\" });\n  tl.to(menuLine1, { rotation: 45, y: 5 }, 0);\n  tl.to(menuLine2, { width: 0 }, 0);\n  tl.to(menuLine3, { rotation: -45, y: -5, width: 24 }, 0);\n\n  headerBtn.addEventListener(\"click\", function () {\n    header.classList.toggle(\"is-open\");\n    if (header.classList.contains(\"is-open\")) {\n      lenis.stop();\n      tl.restart();\n    } else {\n      lenis.start();\n      tl.reverse();\n    }\n  });\n}\n\n// --- FADE PAGE LOAD\nfunction simpleLoader() {\n  let tl = gsap.timeline({\n    defaults: { ease: \"power2.out\", duration: 1.4, delay: 0.1 },\n  });\n\n  tl.to(\".o-wrapper\", { autoAlpha: 1 });\n}\n\nfunction homeCtaPin() {\n  const section = document.querySelector(\".c-hero-cta-wrap\");\n  const buttonsWrap = document.querySelector(\".c-btn-wrap.hm-hero\");\n  const heroScrollTxt = document.querySelector(\".c-hero-scroll\");\n\n  if (!section || !buttonsWrap) return;\n\n  ScrollTrigger.create({\n    trigger: section,\n    start: \"top top\",\n    end: \"bottom center\",\n    pin: true,\n    onLeave: () => {\n      gsap.to([buttonsWrap, heroScrollTxt], { autoAlpha: 0 });\n    },\n    onEnterBack: () => {\n      gsap.to([buttonsWrap, heroScrollTxt], { autoAlpha: 1 });\n    }\n  });\n}\n\n// --- PARALLAX\nfunction parallax() {\n  let parallaxEl = document.querySelectorAll(\"[parallax]\");\n\n  parallaxEl.forEach(item => {\n    let parallaxY = parseFloat(item.getAttribute(\"data-parallax-y\")) || 0;\n    let screenWidth = window.innerWidth;\n\n    if (item.getAttribute(\"parallax\") !== \"mobile-false\" || screenWidth > 991) {\n      let tl = gsap.timeline({\n        defaults: { ease: \"none\" }\n      });\n\n      tl.to(item, {\n        yPercent: parallaxY,\n        scrollTrigger: {\n          trigger: item,\n          start: \"clamp(top bottom)\",\n          end: \"clamp(bottom center)\",\n          scrub: 1,\n        }\n      });\n    }\n  });\n}\n\nfunction footerAnimation() {\n  const footer = document.querySelector(\".c-section.footer\");\n  const circle = document.querySelector(\".c-img-contain.footer-bg\");\n\n  gsap.set(circle, { y: \"75em\" });\n\n  ScrollTrigger.create({\n    trigger: footer,\n    start: \"top center\",\n    // markers: true,\n    onEnter: () => {\n      gsap.to(circle, { y: \"32.25em\", duration: 2, ease: \"expo.out\" });\n    }\n  });\n}\n\n// function homeHeroVideo() {\n//   const video = document.querySelector(\".c-video.hm-hero\");\n//   console.log(video);\n\n//   ScrollTrigger.create({\n//     trigger: video,\n//     start: \"center 80%\",\n//     end: \"bottom top\",\n//     onEnter: () => {\n//       video.play();\n//     },\n//     onLeaveBack: () => {\n//       if (video.ended) {\n//         video.play();\n//       }\n//     },\n//   });\n// }\n\nfunction homeHeroVideo() {\n  const video = document.querySelector(\".c-video.hm-hero\");\n\n  if (video) {\n    // Log video progress as percentage\n    video.addEventListener(\"timeupdate\", () => {\n      const percentage = ((video.currentTime / video.duration) * 100).toFixed(2);\n\n      // Stop video at 95%\n      if (percentage >= 95) {\n        video.pause();\n        video.currentTime = video.duration * 0.95;\n      }\n    });\n  }\n\n  ScrollTrigger.create({\n    trigger: video,\n    start: \"center 80%\",\n    end: \"bottom top\",\n    onEnter: () => {\n      video.play();\n    },\n    onLeaveBack: () => {\n      const percentage = ((video.currentTime / video.duration) * 100).toFixed(2);\n      if (percentage >= 95) {\n        video.currentTime = 0;\n        video.play();\n      }\n    },\n  });\n}\n\nconst homepage = document.querySelector(\"[data-page='home']\");\n\n// --- INIT\nfunction init() {\n  headerBg();\n  tabber();\n  headerScrollVisibility();\n  accordions();\n  simpleLoader();\n  if (homepage) {\n    homeHeroVideo();\n  }\n}\n\ninit();\n\nconst headerFinalLocation = document.querySelector(\".c-header-nav\");\nconst headerInitialLocation = document.querySelector(\".c-header-inner\");\nconst headerBtnWrap = document.querySelector(\".c-header_rt\");\n\n// --- MATCHMEDIA - DESKTOP\nmm.add(\"(min-width: 992px)\", () => {\n  lightSection();\n  fade();\n  drawLine();\n  homeCtaPin();\n  parallax();\n  footerAnimation();\n  return () => {\n    //\n  };\n});\n\n// --- MATCHMEDIA - TABLET AND MOBILE\nmm.add(\"(max-width: 991px)\", () => {\n  headerMobile();\n  headerFinalLocation.appendChild(headerBtnWrap);\n  gsap.set(headerBtnWrap, { display: \"block\" });\n  return () => {\n    headerInitialLocation.appendChild(headerBtnWrap);\n  };\n});\n"]}