PageSourceSearch

https://rosemont.com/wp-content/cache/flying-press/340b05f0b23f.popup-animations.js

js rosemont.com collected 2026-10-02 02:57:28 UTC 3,464 bytes, 11 lines download raw bytes

1(function(){const{mergeObjects,prefersReducedMotion}=BreakdanceFrontend.utils;class BreakdancePopupAnimation{animatingClass='breakdance-popup-animating';completedClass='breakdance-popup-open';slideWidth=200;slideHeight=200;flipDistance=100;entranceAnimations={fade:[{alpha:0},{alpha:1}],slideUp:[{y:this.slideHeight},{y:0}],slideDown:[{y:-this.slideHeight},{y:0}],slideRight:[{x:-this.slideWidth},{x:0}],slideLeft:[{x:this.slideWidth},{x:0}],flipUp:[{perspective:2500,rotateX:-this.flipDistance},{rotateX:0}],flipDown:[{perspective:2500,rotateX:this.flipDistance},{rotateX:0}],flipLeft:[{perspective:2500,rotateY:-this.flipDistance},{rotateY:0}],flipRight:[{perspective:2500,rotateY:this.flipDistance},{rotateY:0}],zoomIn:[{scale:0.6},{scale:1}],zoomOut:[{scale:1.2},{scale:1}],};exitAnimations={fade:[{alpha:1},{alpha:0}],slideDown:[{y:0},{y:this.slideHeight},],slideUp:[{y:0},{y:-this.slideHeight},],slideRight:[{x:0},{x:this.slideWidth},],slideLeft:[{x:0},{x:-this.slideWidth},],flipUp:[{rotateX:0},{perspective:2500,rotateX:this.flipDistance},],flipDown:[{rotateX:0},{perspective:2500,rotateX:-this.flipDistance},],flipLeft:[{rotateY:0},{perspective:2500,rotateY:this.flipDistance},],flipRight:[{rotateY:0},{perspective:2500,rotateY:-this.flipDistance},],zoomOut:[{scale:1},{scale:0.6},],zoomIn:[{scale:1},{scale:1.2},],};defaultOptions={animation_type:null,duration:{number:500,unit:'ms',style:'500ms'},delay:{number:0,unit:'ms',style:'0ms'},ease:'power1.out',};initialized=!1;constructor(element,wrapper,options,isExitAnimation=!1){this.element=element;this.wrapper=wrapper;this.options=mergeObjects(this.defaultOptions,options);this.isExitAnimation=isExitAnimation;this.init()}
2getDuration(value){if(!value)return value;if(value.unit==='s')return value.number;return value.number/1000}
3createTween(){const type=this.options.animation_type;const animations=this.isExitAnimation?this.exitAnimations:this.entranceAnimations;if(!animations[type]){console.log(`[POPUP] The selected ${type} animation is invalid.`);return}
4const[from,to]=animations[type];const ease=this.options.ease;const duration=this.getDuration(this.options.duration);const delay=this.getDuration(this.options.delay);const anim=gsap.timeline({paused:!0});anim.fromTo(this.wrapper,{alpha:this.isExitAnimation?1:0},{alpha:this.isExitAnimation?0:1,duration,delay,},0);anim.fromTo(this.element,{...from,autoAlpha:this.isExitAnimation?1:0},{...to,autoAlpha:this.isExitAnimation?0:1,duration,delay,ease,clearProps:'all',onStart:()=>{this.wrapper.classList.add(this.animatingClass)},onComplete:()=>{this.wrapper.classList.remove(this.animatingClass);if(this.isExitAnimation){this.wrapper.classList.remove(this.completedClass)}else{this.wrapper.classList.add(this.completedClass)}}},0);return anim}
5play(){if(!this.tween)return;return this.tween.progress(0).play()}
6initTween(){if(this.initialized)return;this.initialized=!0;this.element.classList.remove(this.completedClass);this.tween=this.createTween()}
7destroy(){this.initialized=!1;if(!this.element)return;this.element.classList.add(this.completedClass);if(!this.tween)return;this.tween.kill();this.tween=null;gsap.set(this.element,{clearProps:'all'})}
8init(){if(!this.options.animation_type)return;if(prefersReducedMotion()){console.log('[POPUP] Not playing animations. "Prefers Reduced Motion" is enabled.')
9this.wrapper.classList.add(this.completedClass);return}
10this.initTween()}}
11window.BreakdancePopupAnimation=BreakdancePopupAnimation}())

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.