1var dce_crs=null;var Widget_DCE_Dynamicposts_crossroadsslideshow_Handler=function($scope,$){var elementSettings=get_Dyncontel_ElementSettings($scope);var id_scope=$scope.attr('data-id');var splitter;var split;const MathUtils={lineEq:(y2,y1,x2,x1,currentVal)=>{var m=(y2-y1)/(x2-x1),b=y1-m*x1;return m*currentVal+b},lerp:(a,b,n)=>(1-n)*a+n*b,distance:(x1,x2,y1,y2)=>{var a=x1-x2;var b=y1-y2;return Math.hypot(a,b)},randomNumber:(min,max)=>Math.floor(Math.random()*(max-min+1)+min)};let winsize;const calcWinsize=()=>winsize={width:window.innerWidth,height:window.innerHeight};calcWinsize();window.addEventListener('resize',calcWinsize);const getMousePos=(ev)=>{let posx=0;let posy=0;if(!ev)ev=window.event;if(ev.pageX||ev.pageY){posx=ev.pageX;posy=ev.pageY}else if(ev.clientX||ev.clientY){posx=ev.clientX+body.scrollLeft+docEl.scrollLeft;posy=ev.clientY+body.scrollTop+docEl.scrollTop} 2return{x:posx,y:posy}} 3let mousePos={x:winsize.width/2,y:winsize.height/2};window.addEventListener('mousemove',ev=>mousePos=getMousePos(ev));class Slide{constructor(el,title){this.DOM={el:el};this.DOM.title=title;split=new SplitText(this.DOM.title,{type:['chars','words','lines'],});this.DOM.titleLetters=split.chars;this.DOM.titleLetters.sort(()=>Math.round(Math.random())-0.5);this.DOM.number=this.DOM.el.querySelector('.dce-number');this.DOM.subtitle=this.DOM.el.querySelector('.dce-caption');this.DOM.imgWrap=this.DOM.el.querySelector('.dce-img-wrap');this.DOM.img=this.DOM.imgWrap.querySelector('.dce-img-el')} 4move(direction,val){return new Promise((resolve,reject)=>{const tx=direction==='left'?'+='+val*-1:'+='+val;const duration=1.2;new TimelineMax({onComplete:resolve}).to(this.DOM.imgWrap,duration,{x:tx,ease:Quart.easeInOut},0).to(this.DOM.imgWrap,duration*.5,{scaleX:1.3,ease:Quart.easeIn},0).to(this.DOM.imgWrap,duration*.5,{scaleX:1,ease:Quart.easeOut},duration*.5).to(this.DOM.number,duration,{x:tx,ease:Quint.easeInOut},0).to(this.DOM.subtitle,duration*1.1,{x:tx,ease:Quart.easeInOut},0).to(this.DOM.title,duration*1.05,{x:tx,ease:Quart.easeInOut},0)})} 5setCenter(){this.isCenter=!0;this.DOM.el.classList.add('dce-grid__item--center');this.DOM.title.classList.add('dce-grid__item--center');TweenMax.set([this.DOM.el,this.DOM.title],{opacity:1})} 6setRight(){this.isRight=this.isCenter=!1;this.isLeft=!0;this.DOM.el.classList.add('dce-grid__item--right');this.DOM.title.classList.add('dce-grid__item--right');TweenMax.set([this.DOM.el,this.DOM.title],{opacity:1})} 7setLeft(){this.isLeft=this.isCenter=!1;this.isRight=!0;this.DOM.el.classList.add('dce-grid__item--left');this.DOM.title.classList.add('dce-grid__item--left');TweenMax.set([this.DOM.el,this.DOM.title],{opacity:1})} 8reset(){TweenMax.set([this.DOM.el,this.DOM.imgWrap,this.DOM.number,this.DOM.subtitle,this.DOM.title],{transform:'none'});TweenMax.set([this.DOM.el,this.DOM.title],{opacity:0});this.DOM.title.classList='dce-grid__item dce-grid__item--title';this.DOM.el.classList='dce-grid__item dce-grid__item--slide'} 9animateElementsOut(contentItem){return new Promise((resolve,reject)=>{const time=MathUtils.randomNumber(0,100)/500;this.elemsTimeline=new TimelineMax({onComplete:resolve}).staggerTo(this.DOM.titleLetters,1,{y:MathUtils.randomNumber(300,600),opacity:0,ease:Quart.easeInOut},0.04,time).staggerTo(this.DOM.titleLetters,0.5,{scaleY:2.2,ease:Quart.easeIn},0.04,time).staggerTo(this.DOM.titleLetters,0.5,{scaleY:1,ease:Quart.easeOut},0.04,time+0.5).to(this.DOM.number,1,{y:-500,opacity:0,ease:Quart.easeInOut},time+0.3).to(this.DOM.imgWrap,0.8,{y:-500,opacity:0,ease:Quart.easeInOut},time+0.4).to(this.DOM.imgWrap,.4,{scaleX:0.95,scaleY:1.4,ease:Quart.easeIn},time+0.4).to(this.DOM.imgWrap,.4,{scaleX:1,scaleY:1,ease:Quart.easeOut},time+0.4+0.4).to(this.DOM.subtitle,1,{y:-500,opacity:0,ease:Quart.easeInOut},time+0.5);if(this.isCenter){const contentItemTitle=contentItem.querySelector('.dce-content__item-header-title');const contentItemImg=contentItem.querySelector('.dce-img--content');this.elemsTimeline.to(contentItemTitle,0.8,{ease:Expo.easeOut,startAt:{y:'100%',opacity:0,rotation:-16},y:'0%',rotation:0,opacity:1},time+1.3).set(contentItemImg,{scale:1.2},0).to(contentItemImg,0.8,{ease:Expo.easeOut,scale:1},time+1.3).to(revealer.DOM.el,1,{ease:Quint.easeOut,y:'-100%'},time+1.2)}})} 10animateElementsIn(contentItem){return new Promise((resolve,reject)=>{const time=MathUtils.randomNumber(0,50)/500;this.elemsTimeline=new TimelineMax({onComplete:resolve});if(this.isCenter){const contentItemTitle=contentItem.querySelector('.dce-content__item-header-title');const contentItemImg=contentItem.querySelector('.dce-img--content');this.elemsTimeline.to(contentItemTitle,1,{ease:Quint.easeOut,y:'50%',opacity:0}
10,0).to(contentItemImg,1,{ease:Quint.easeOut,scale:1.2},0).to(revealer.DOM.el,1,{ease:Quint.easeOut,y:'0%'},0)} 11this.elemsTimeline.to(this.DOM.subtitle,0.8,{y:0,opacity:1,ease:Quart.easeOut},time).to(this.DOM.imgWrap,0.8,{y:0,opacity:1,scaleX:1,scaleY:1,ease:Quart.easeOut},time+0.1).to(this.DOM.number,0.8,{y:0,opacity:1,ease:Quart.easeOut},time+0.2).staggerTo(this.DOM.titleLetters,0.8,{y:0,opacity:1,scaleX:1,scaleY:1,ease:Quart.easeOut},0.03,time+0.1)})}} 12class Slideshow{constructor(el){this.DOM={el:el};this.DOM.titlesWrap=this.DOM.el.querySelector('.dce-titles-wrap');this.DOM.titlesInner=this.DOM.titlesWrap.querySelector('.dce-grid--titles');this.DOM.titles=[...this.DOM.titlesInner.querySelectorAll('.dce-grid__item--title')];this.slides=[];[...this.DOM.el.querySelectorAll('.dce-grid__item--slide')].forEach((slide,pos)=>this.slides.push(new Slide(slide,this.DOM.titles[pos])));this.slidesTotal=this.slides.length;if(this.slidesTotal<4)return;this.center=0;this.DOM.contentItems=[...document.querySelectorAll('.dce-content__item')];this.DOM.interaction={left:document.querySelector('.dce-grid__item--left'),center:document.querySelector('.dce-grid__item--center'),right:document.querySelector('.dce-grid__item--right')};this.setVisibleSlides();this.calculateGap();this.initEvents();let mouseMoveVals={translation:0,rotation:-8};const render=()=>{mouseMoveVals.translation=MathUtils.lerp(mouseMoveVals.translation,MathUtils.lineEq(-15,15,winsize.width,0,mousePos.x),0.03);for(let i=0;i<=this.slidesTotal-1;++i){TweenMax.set(this.slides[i].DOM.img,{x:mouseMoveVals.translation});TweenMax.set(this.DOM.titlesInner,{x:-4*mouseMoveVals.translation})} 13requestAnimationFrame(render)} 14requestAnimationFrame(render)} 15setVisibleSlides(){this.centerSlide=this.slides[this.center];this.rightSlide=this.slides[this.center+1<=this.slidesTotal-1?this.center+1:0];this.leftSlide=this.slides[this.center-1>=0?this.center-1:this.slidesTotal-1];this.centerSlide.setCenter();this.rightSlide.setRight();this.leftSlide.setLeft()} 16calculateGap(){const s1=this.slides[0].DOM.el.getBoundingClientRect();const s2=this.slides[1].DOM.el.getBoundingClientRect();this.gap=MathUtils.distance(s1.left+s1.width/2,s2.left+s2.width/2,s1.top+s1.height/2,s2.top+s2.height/2)} 17initEvents(){this.clickRightFn=()=>this.navigate('right');this.DOM.interaction.right.addEventListener('click',this.clickRightFn);this.clickLeftFn=()=>this.navigate('left');this.DOM.interaction.left.addEventListener('click',this.clickLeftFn);this.clickCenterFn=()=>this.openSlide();this.DOM.interaction.center.addEventListener('click',this.clickCenterFn);this.mouseenterCenterFn=()=>{if(this.isAnimating){return} 18new TimelineMax().to(this.centerSlide.DOM.imgWrap,0.7,{ease:Expo.easeOut,scale:1.02}).to(this.centerSlide.DOM.img,1.7,{ease:Expo.easeOut,scale:1.05},0)};this.DOM.interaction.center.addEventListener('mouseenter',this.mouseenterCenterFn);this.mouseleaveCenterFn=()=>{if(this.isAnimating){return} 19new TimelineMax().to(this.centerSlide.DOM.imgWrap,0.7,{ease:Expo.easeOut,scale:1}).to(this.centerSlide.DOM.img,0.7,{ease:Expo.easeOut,scale:1},0)};this.DOM.interaction.center.addEventListener('mouseleave',this.mouseleaveCenterFn);this.resizeFn=()=>this.calculateGap();window.addEventListener('resize',this.resizeFn);this.DOM.contentItems.forEach(item=>{item.querySelector('.dce-img-wrap--content').addEventListener('click',()=>this.closeSlide())});document.addEventListener("keyup",(e)=>{if(e.keyCode==27){this.closeSlide()} 20if(e.keyCode==39){this.clickRightFn()} 21if(e.keyCode==37){this.clickLeftFn()}})} 22navigate(direction){if(this.isAnimating){return!1} 23this.isAnimating=!0;const upcomingPos=direction==='right'?this.center<this.slidesTotal-2?this.center+2:Math.abs(this.slidesTotal-2-this.center):this.center>=2?this.center-2:Math.abs(this.slidesTotal-2+this.center);this.center=direction==='right'?this.center<this.slidesTotal-1?this.center+1:0:this.center>0?this.center-1:this.slidesTotal-1;this.upcomingSlide=this.slides[upcomingPos];this.upcomingTitle=this.upcomingSlide.DOM.title;TweenMax.set(this.upcomingSlide.DOM.el,{x:direction==='right'?this.gap*2:-1*this.gap*2,opacity:1});TweenMax.set(this.upcomingTitle,{x:direction==='right'?this.gap*2:-1*this.gap*2,opacity:1});const movingSlides=[this.upcomingSlide,this.centerSlide,this.rightSlide,this.leftSlide];let promises=[];
23movingSlides.forEach(slide=>promises.push(slide.move(direction==='right'?'left':'right',this.gap)));Promise.all(promises).then(()=>{movingSlides.forEach(slide=>slide.reset());this.setVisibleSlides();this.isAnimating=!1})} 24openSlide(){this.toggleSlide('open')} 25closeSlide(){this.toggleSlide('close')} 26toggleSlide(action){if(this.isAnimating){return} 27this.isAnimating=!0;const contentItem=this.DOM.contentItems[this.center];this.DOM.el.classList[action==='open'?'add':'remove']('dce-content-open');const movingSlides=[this.centerSlide,this.rightSlide,this.leftSlide];let promises=[];movingSlides.forEach(slide=>promises.push(slide[action==='open'?'animateElementsOut':'animateElementsIn'](contentItem)));if(action==='open'){contentItem.classList.add('dce-content__item--current')} 28Promise.all(promises).then(()=>{if(action==='close'){contentItem.classList.remove('dce-content__item--current')} 29this.isAnimating=!1})}} 30class Revealer{constructor(el){this.DOM={el:el};this.DOM.el.style.width=`calc(100vw * ${Math.cos(8 * Math.PI/180)} + 100vh * ${Math.sin(8 * Math.PI/180)})`;this.DOM.el.style.height=`calc(100vw * ${Math.sin(8 * Math.PI/180)} + 100vh * ${Math.cos(8 * Math.PI/180)})`}} 31const revealer=new Revealer(document.querySelector('.dce-revealer__inner'));new Slideshow(document.querySelector('.dce-grid--slideshow'));imagesLoaded(document.querySelectorAll('.dce-img'),{background:!0},()=>document.body.classList.remove('loading'));[...document.querySelectorAll('.frame__mode input[type="radio"]')].forEach(radio=>radio.addEventListener('click',()=>{document.body.classList[radio.parentNode.classList.contains('frame__mode-item--dark')?'add':'remove']('dark-mode')}))};jQuery(window).on('elementor/frontend/init',function(){elementorFrontend.hooks.addAction('frontend/element_ready/dce-dynamicposts-v2.crossroadsslideshow',Widget_DCE_Dynamicposts_crossroadsslideshow_Handler)})
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.