1/** 2 * UI Initiative Material You Slider 3 * 4 * Material You Carousel made with Swiper 5 * 6 * https://uiinitiative.com 7 * 8 * Copyright 2023 UI Initiative 9 * 10 * Released under the UI Initiative Regular License 11 * 12 * November 23, 2023 13 */ 14 15!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).EffectMaterial=t()}(this,(function(){"use strict";function e({swiper:e,duration:t,transformElements:a,allSlides:s}){const{activeIndex:i}=e;if(e.params.virtualTranslate&&0!==t){let t,r=!1;t=s?a:a.filter((t=>{const a=t.classList.contains("swiper-slide-transform")?(t=>{if(!t.parentElement)return e.slides.filter((e=>e.shadowRoot&&e.shadowRoot===t.parentNode))[0];return t.parentElement})(t):t;return e.getSlideIndex(a)===i})),t.forEach((t=>{!function(e,t){t&&e.addEventListener("transitionend",(function a(s){s.target===e&&(t.call(e,s),e.removeEventListener("transitionend",a))}))}(t,(()=>{if(r)return;if(!e||e.destroyed)return;r=!0,e.animating=!1;const t=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});e.wrapperEl.dispatchEvent(t)}))}))}}return function({swiper:t,on:a}){a("beforeInit",(()=>{if("material"!==t.params.effect)return;t.classNames.push(`${t.params.containerModifierClass}material`),t.isElement&&t.hostEl&&t.hostEl.classList.add(`swiper-${t.params.direction}`);const e={loopAdditionalSlides:1,watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode};Object.assign(t.params,e),Object.assign(t.originalParams,e)})),a("setTranslate",(()=>{"material"===t.params.effect&&(()=>{const{slides:e,slidesSizesGrid:a,params:s,size:i}=t,{slidesPerView:r,spaceBetween:l,cssMode:n,centeredSlides:o}=s,c=o?.5:.65,d=o?.5:.35;for(let s=0;s<e.length;s+=1){const p=e[s],f=p.querySelector(".swiper-material-wrapper"),m=p.querySelectorAll(".swiper-material-animate-opacity"),h=p.querySelectorAll("[data-swiper-material-scale]"),u=-p.progress,w=p.swiperSlideOffset,y=t.translate;let M,b=0,E=0;const S=a[s],g=l/2/S,x=n?y:0,v=o&&r%2==1,$=o&&r%2==0;if(u<=0)if(o&&r>1){if(u<=0&&u>=-(r-2)&&(b=y,M=1,E=1),v&&u<-(r-Math.ceil(r/2))){const e=Math.ceil(r/2)-Math.abs(u);M=e,E=M**4,b=y+S*(1-e)*(1+2*g)}if($&&u<-(r/2-1)&&u>=-r/2){const e=r/2-Math.abs(u);M=c-g+(d+2*g)*(r/2-Math.abs(u)),E=((M-c)/(1-c))**4,b=y+S*(d+g)*(1-e)}if($&&u<-r/2){let e=r/2+1-Math.abs(u);M=0,e>=0&&(e=2*-g+e*(1+2*g),e=Math.max(Math.min(e,1),0),M=(d-g)*e),b=y+S*(d+g)*(2-e)+S*(d-g)*(1-e)}}else M=1+u,b=-w,E=M**4;if(1===r)u>0&&(M=1-u,b=-w+i*Math.min(u,1),E=M**4);else{if(u>0&&u<=r-2&&(b=y,M=1,E=1),$?u>r/2-1&&u<=r/2:u>r-2&&u<=r-1){const e=$?Math.floor(r/2):1;M=c-g+(d+2*g)*(r-e-Math.abs(u)),b=y,E=((M-c)/(1-c))**4}if(v&&u>r-Math.ceil(r/2)){const e=Math.ceil(r/2)-(r-Math.abs(u));b=y-S*(2*g)*e,M=1-e,E=M**4}if(u>r-1&&u<=r&&!o){const e=r-Math.abs(u),t=d-g;M=t+(c-g-t)*e,b=y-S*(d+g)*(1-e)}if(u>(o?r/2:r)&&!v){let e=(o?r/2+1:r+1)-Math.abs(u),t=0;M=0,e>=0&&(e=2*-g+e*(1+2*g),e=Math.max(Math.min(e,1),0),M=(d-g)*e,t=-e*(d+g)*S+e*l),b=-w+i*Math.min(u,1)+t,E=0}}M<0&&(M=0),M>1&&(M=1),p.style.setProperty("--swiper-material-scale",M),m.forEach((e=>{e.style.opacity=E})),h.forEach((e=>{let t=parseFloat(e.getAttribute("data-swiper-material-scale"));(Number.isNaN(t)||!t&&0!==t)&&(t=1),e.style.transform=`scale(${1+(t-1)*(1-M)})`})),t.isHorizontal()?(f.style.width=100*M+"%",f.style.transform=`translate3d(${b-x}px, 0, 0)`):(f.style.height=100*M+"%",f.style.transform=`translate3d(0, ${b-x}px, 0)`)}})()})),a("setTransition",((a,s)=>{"material"===t.params.effect&&(a=>{const{slides:s}=t,i=[];for(let e=0;e<s.length;e+=1){const t=s[e],r=t.querySelector(".swiper-material-wrapper"),l=t.querySelectorAll(".swiper-material-animate-opacity");[r,...t.querySelectorAll("[data-swiper-material-scale]"),...l].forEach((e=>{e.style.transitionDuration=`${a}ms`})),i.push(r)}e({swiper:t,duration:a,transformElements:i,allSlides:!0})})(s)})),a("slidesUpdated",(()=>{if(!t.params.centeredSlides&&t.params.slidesPerView>1&&!t.params.loop){const e=t.snapGrid[t.snapGrid.length-1];t.snapGrid.push(e+t.slidesSizesGrid[0]+t.params.spaceBetween)}t.el.style.setProperty("--swiper-material-slide-size",`${t.slidesSizesGrid[0]}px`)}
15))}})); 16//# sourceMappingURL=effect-material.min.js.map
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.