{"version":3,"sources":["gsap.js"],"names":["gsap","registerPlugin","ScrollTrigger","document","addEventListener","animationClasses","selector","element","contains","c","join","querySelectorAll","animationType","fromVars","toVars","find","opacity","scale","y","x","z","fromTo","_objectSpread","ease","scrollTrigger","trigger","start","end","markers"],"mappings":"i1CAGAA,KAAKC,eAAeC,aAAa,EAEjCC,SAASC,iBAAiB,mBAAoB,WAC5C,IAAMC,EAAmB,CACvB,kBAPJ,eASI,iBAPJ,kBACI,gBAEJF,UACE,cAcA,cAAwC,gBAAa,iBACrD,gBAGgDG,EAC5CC,EAAkBC,IAASC,SAACA,GAAC,MAAA,IAAAA,CAAA,CAAA,EAAAC,KAAA,IAAA,EAC9BP,SAAAQ,iBAAAL,CAAA,EAIOM,QAAa,SAAAL,GANrB,IAQsCM,EAACC,EAFvC,OACOT,EAAiBU,KAAA,SAAAN,GAAA,OANtBF,EAOEM,UAAWL,SAAAC,CAAA,CAAA,CANf,GAKE,IAEuBO,kBAAWH,EAAC,CAAAI,MAAA,EAAAD,QAAA,CAAA,EACjCF,EAAA,CAAAG,MAAA,EAAAD,QAAA,CAAA,EACF,MAAA,IACEH,eAAAA,EAAgB,CAAOK,EAAA,QAAAF,QAAA,CAAA,EACvBF,EADgC,CAAEI,EAAA,EAAAF,QAAA,CAAA,EAAE,MAGtC,IAFEF,iBAGAD,EAHe,CAAAM,EAAA,QAAAH,QAAA,CAAA,EAIfF,EAJwB,CAAEK,EAAA,EAAAH,QAAA,CAAA,EAAE,MAM9B,IALE,kBACFH,EAAK,CAAAK,EAAA,OAAgBF,QAAA,CAAA,EACnBH,EAAQ,CAAGK,EAAA,EAAAF,QAAA,CAAA,EAMX,MACF,IAP2BA,gBAAWH,EAAC,CAAAM,EAAA,SAAAH,QAAA,CAAA,EACrCF,EAAS,CAAAK,EAAA,EAAAH,QAAA,CAAA,EAST,MACF,IAVmBA,UAAWH,EAAC,CAAAG,QAAA,CAAA,EAC7BF,EAAA,CAAAE,QAAA,CAAA,EACF,MAYA,IAXEH,cAYAA,EAZsB,CAAAO,EAAA,CAAA,GAAAJ,QAAA,CAAA,EAatBF,EAb+B,CAAEM,EAAA,EAAAJ,QAAA,CAAA,EAAE,MAerC,IAdEF,cAeAD,EAfe,CAAAK,EAAA,QAAAF,QAAA,CAAA,EAgBfF,EAhBwB,CAAEI,EAAA,EAAAF,QAAA,CAAA,EAAE,MAkB9B,IAjBE,gBACFH,EAAK,CAAAM,EAAA,QAAeH,QAAA,CAAA,EAClBH,EAAQ,CAAGM,EAAA,EAAAH,QAAA,CAAA,EAkBX,MACF,IAnB4BA,iBAAWH,EAAC,CAAAK,EAAA,OAAAF,QAAA,CAAA,EACtCF,EAAS,CAAAI,EAAA,EAAAF,QAAA,CAAA,EAqBT,MACF,IAtBmBA,eAAWH,EAAC,CAAAM,EAAA,SAAAH,QAAA,CAAA,EAC7BF,EAAA,CAAAK,EAAA,EAAAH,QAAA,CAAA,EACF,MAwBA,QACEH,EAxBsB,CAAAG,QAAA,CAAA,EAAEF,EAAC,CAAAE,QAAA,CAAA,CA0B7B,CAEAhB,KA3B2BqB,OAAAd,EAAAM,EAAAS,cAAAA,cAAA,GACvBR,CAAA,EAAA,GAAA,CACFS,KAAK,aA4BLC,cA3Ba,CA4BXC,QA5BmBlB,EA6BnBmB,MA7BqBV,aAAWW,IAAC,UACjCb,MAAM,GA+BNc,QA/Be,CAAA,CAgCjB,CAAC,CAAA,CACF,CACH,CAAC,CACH,CAAC","file":"gsap.min.js","sourcesContent":["// gsap-animations.js\n\n// gsap-scroll-linked-animations.js\ngsap.registerPlugin(ScrollTrigger);\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n  const animationClasses = [\n    \"scale-in-center\",\n    \"slide-in-top\",\n    \"slide-in-right\",\n    \"slide-in-bottom\",\n    \"slide-in-left\",\n    \"fade-in\",\n    \"fade-in-fwd\",\n    \"fade-in-top\",\n    \"fade-in-right\",\n    \"fade-in-bottom\",\n    \"fade-in-left\",\n  ];\n\n  const selector = animationClasses.map((c) => \".\" + c).join(\", \");\n  const animatedElements = document.querySelectorAll(selector);\n\n  animatedElements.forEach((element) => {\n    const animationType = animationClasses.find((c) =>\n      element.classList.contains(c)\n    );\n\n    let fromVars, toVars;\n\n    switch (animationType) {\n      case \"scale-in-center\":\n        fromVars = { scale: 0, opacity: 0 };\n        toVars = { scale: 1, opacity: 1 };\n        break;\n      case \"slide-in-top\":\n        fromVars = { y: \"-60vh\", opacity: 0 };\n        toVars = { y: 0, opacity: 1 };\n        break;\n      case \"slide-in-right\":\n        fromVars = { x: \"100vw\", opacity: 0 };\n        toVars = { x: 0, opacity: 1 };\n        break;\n      case \"slide-in-bottom\":\n        fromVars = { y: \"30vh\", opacity: 0 };\n        toVars = { y: 0, opacity: 1 };\n        break;\n      case \"slide-in-left\":\n        fromVars = { x: \"-100vw\", opacity: 0 };\n        toVars = { x: 0, opacity: 1 };\n        break;\n      case \"fade-in\":\n        fromVars = { opacity: 0 };\n        toVars = { opacity: 1 };\n        break;\n      case \"fade-in-fwd\":\n        fromVars = { z: -80, opacity: 0 };\n        toVars = { z: 0, opacity: 1 };\n        break;\n      case \"fade-in-top\":\n        fromVars = { y: \"-50vh\", opacity: 0 };\n        toVars = { y: 0, opacity: 1 };\n        break;\n      case \"fade-in-right\":\n        fromVars = { x: \"100vw\", opacity: 0 };\n        toVars = { x: 0, opacity: 1 };\n        break;\n      case \"fade-in-bottom\":\n        fromVars = { y: \"50vh\", opacity: 0 };\n        toVars = { y: 0, opacity: 1 };\n        break;\n      case \"fade-in-left\":\n        fromVars = { x: \"-100vw\", opacity: 0 };\n        toVars = { x: 0, opacity: 1 };\n        break;\n      default:\n        fromVars = { opacity: 0 };\n        toVars = { opacity: 1 };\n    }\n\n    gsap.fromTo(element, fromVars, {\n      ...toVars,\n      ease: \"power2.out\",\n      scrollTrigger: {\n        trigger: element,\n        start: \"top bottom\", // Starts when the top of the element hits the bottom of the viewport\n        end: \"top 50%\", // Ends when the bottom of the element is 40% up from the bottom of the viewport\n        scrub: 0.5, // Added a small delay for smoother scrolling\n        markers: false, // Set to true for debugging\n      },\n    });\n  });\n});\n"]}