{"version":3,"file":"TEKsystems.SitecoreXP.GsapAnimations.js","names":["define","$","gsap","ScrollTrigger","setSlideHorizontal","selector","amount","utils","toArray","forEach","revealItem","timeline","scrollTrigger","trigger","fromTo","opacity","x","duration","ease","setSlideVertical","resize","Math","abs","markers","start","yPercent","height","Init","isPageEditor","registerPlugin","scale","setSlideLeft","setSlideRight","setSlideTop","setSlideBottom","scrollItem","create","end","onUpdate","self","css","progress","toFixed","setScrollTimeline","scope","parent","on","this","find","first","stop","fadeIn","fadeOut","setMenuAnimations","rotatingItem","to","rotation","rotateImage","window","addEventListener","removeClass","from","onEnter","addClass","onLeaveBack","onRefresh","setSticky"],"sources":["site/TEKsystems.SitecoreXP.GsapAnimations.js"],"mappings":"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","sourcesContent":["define([\"jquery\", \"gsap\", \"gsapScrollTrigger\"], function ($, { gsap }, { ScrollTrigger }) {\r\n function Init(isPageEditor) {\r\n if (!isPageEditor) {\r\n gsap.registerPlugin(ScrollTrigger);\r\n // Selectors are like jquery selector\r\n setReveal(\".quote--block, .gsap-reveal\");\r\n\r\n setSlideLeft(\".gsap-slide-left\");\r\n setSlideRight(\".gsap-slide-right\");\r\n setSlideTop(\".gsap-slide-top\");\r\n setSlideBottom(\".gsap-slide-bottom\");\r\n\r\n setScrollTimeline(\".timeline-container\");\r\n\r\n setMenuAnimations(\".navbar-megamenu\");\r\n rotateImage(\".gsap-rotate-image\");\r\n setSticky(\".make-sticky\");\r\n }\r\n }\r\n\r\n function setSticky(selector) {\r\n window.addEventListener('resize', function () {\r\n $(selector).removeClass(\"sticky\");\r\n });\r\n gsap.from($(selector), {\r\n scrollTrigger: {\r\n trigger: $(selector),\r\n start: \"top \" + $(\"header\").height() + \"px\",\r\n end: \"bottom top\",\r\n markers: false,\r\n onEnter: self => {\r\n $(selector).addClass(\"sticky\");\r\n },\r\n onLeaveBack: self => {\r\n $(selector).removeClass(\"sticky\");\r\n },\r\n onRefresh: self => {\r\n if (self.progress > 0) {\r\n $(selector).addClass(\"sticky\");\r\n }\r\n }\r\n },\r\n });\r\n }\r\n\r\n function rotateImage(selector) {\r\n\r\n gsap.utils.toArray(selector).forEach((rotatingItem) => {\r\n gsap.to(rotatingItem, {\r\n x: 0,\r\n rotation: 210,\r\n scrollTrigger: {\r\n trigger: rotatingItem,\r\n start: \"top center\",\r\n markers: false\r\n }\r\n });\r\n });\r\n }\r\n\r\n function setMenuAnimations(selector) {\r\n\r\n var scope = $(selector);\r\n\r\n $(\".dropdown-toggle\", scope).parent().on('show.bs.dropdown', function () {\r\n //console.log(\"show dropdown\");\r\n //gsap.fromTo(\".dropdown-menu\", {opacity: 0 }, {opacity: 1, duration: 0.2, ease: \"power1.inOut\"});\r\n $(this).find('.dropdown-menu').first().stop(true, true).fadeIn();\r\n });\r\n\r\n $(\".dropdown-toggle\", scope).parent().on('shown.bs.dropdown', function () {\r\n //console.log(\"shown dropdown\");\r\n });\r\n\r\n $(\".dropdown-toggle\", scope).parent().on('hide.bs.dropdown', function () {\r\n //console.log(\"hide dropdown\");\r\n //gsap.fromTo(\".dropdown-menu\", {opacity: 1 }, {opacity: 0, duration: 0.2, ease: \"power1.inOut\"});\r\n $(this).find('.dropdown-menu').first().stop(true, true).fadeOut();\r\n });\r\n\r\n $(\".dropdown-toggle\", scope).parent().on('hidden.bs.dropdown', function () {\r\n //console.log(\"hidden dropdown\");\r\n });\r\n\r\n $(\".navbar-collapse\", scope).on('show.bs.collapse', function () {\r\n //console.log(\"show collapse\");\r\n //gsap.fromTo(this, {opacity: 0 }, {opacity: 1, duration: 1, ease: \"power1.inOut\"});\r\n\r\n });\r\n\r\n $(\".navbar-collapse\", scope).on('hide.bs.collapse', function () {\r\n //console.log(\"hide collapse\");\r\n //gsap.fromTo(this, {opacity: 1 }, {opacity: 0, duration: 1, ease: \"power1.inOut\"});\r\n\r\n });\r\n }\r\n\r\n function setReveal(selector) {\r\n gsap.utils.toArray(selector).forEach((revealItem) => {\r\n gsap.timeline({\r\n scrollTrigger: { trigger: revealItem }\r\n }).fromTo(revealItem, {\r\n opacity: 0,\r\n scale: 0.2\r\n },\r\n {\r\n opacity: 1,\r\n scale: 1,\r\n duration: 2,\r\n ease: \"power1.inOut\"\r\n }\r\n );\r\n });\r\n }\r\n\r\n function setSlideLeft(selector) { setSlideHorizontal(selector, \"-50%\"); }\r\n function setSlideRight(selector) { setSlideHorizontal(selector, \"50%\"); }\r\n function setSlideTop(selector) {\r\n setSlideVertical(selector, -50);\r\n }\r\n function setSlideBottom(selector) {\r\n setSlideVertical(selector, 50);\r\n }\r\n\r\n function setSlideHorizontal(selector, amount) {\r\n gsap.utils.toArray(selector).forEach((revealItem) => {\r\n gsap.timeline({\r\n scrollTrigger: { trigger: revealItem }\r\n }).fromTo(revealItem, {\r\n opacity: 0,\r\n x: amount\r\n },\r\n {\r\n opacity: 1,\r\n x: 0,\r\n duration: 2,\r\n ease: \"power1.inOut\"\r\n }\r\n );\r\n });\r\n }\r\n\r\n function setSlideVertical(selector, amount) {\r\n var resize = 100 - Math.abs(amount);\r\n\r\n gsap.utils.toArray(selector).forEach((revealItem) => {\r\n gsap.timeline({\r\n scrollTrigger: { trigger: revealItem, markers: false, start: (-1 * amount) + \"% bottom\" }\r\n }).fromTo(revealItem, {\r\n opacity: 0,\r\n yPercent: amount,\r\n height: resize + \"%\",\r\n \"margin-bottom\": \"1px\"\r\n },\r\n {\r\n opacity: 1,\r\n duration: 2,\r\n ease: \"power1.inOut\",\r\n yPercent: 0,\r\n height: \"100%\",\r\n \"margin-bottom\": \"0px\"\r\n }\r\n );\r\n });\r\n }\r\n\r\n\r\n function setScrollTimeline(selector) {\r\n gsap.utils.toArray(selector).forEach((scrollItem) => {\r\n ScrollTrigger.create({\r\n trigger: scrollItem,\r\n //markers: true,\r\n start: \"top center\",\r\n end: \"bottom center\",\r\n onUpdate: self => {\r\n $(\".timeline\", $(scrollItem)).css(\"height\", self.progress.toFixed(3) * 100 + \"%\");\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n return {\r\n Init: Init\r\n };\r\n});"]}