UNPKG

swiper

Version:

Most modern mobile touch slider and framework with hardware accelerated transitions

2 lines 1.33 kB
function Grid(e){let r,t,a,{swiper:l,extendParams:i}=e;i({grid:{rows:1,fill:"column"}});const o=()=>{let e=l.params.spaceBetween;return"string"==typeof e&&e.indexOf("%")>=0?e=parseFloat(e.replace("%",""))/100*l.size:"string"==typeof e&&(e=parseFloat(e)),e};l.grid={initSlides:e=>{const{slidesPerView:i}=l.params,{rows:o,fill:s}=l.params.grid;a=Math.floor(e/o),r=Math.floor(e/o)===e/o?e:Math.ceil(e/o)*o,"auto"!==i&&"row"===s&&(r=Math.max(r,i*o)),t=r/o},updateSlide:(e,i,s,p)=>{const{slidesPerGroup:n}=l.params,d=o(),{rows:f,fill:h}=l.params.grid;let u,c,m;if("row"===h&&n>1){const t=Math.floor(e/(n*f)),a=e-f*n*t,l=0===t?n:Math.min(Math.ceil((s-t*f*n)/f),n);m=Math.floor(a/l),c=a-m*l+t*n,u=c+m*r/f,i.style.order=u}else"column"===h?(c=Math.floor(e/f),m=e-c*f,(c>a||c===a&&m===f-1)&&(m+=1,m>=f&&(m=0,c+=1))):(m=Math.floor(e/t),c=e-m*t);i.row=m,i.column=c,i.style[p("margin-top")]=0!==m?d&&`${d}px`:""},updateWrapperSize:(e,t,a)=>{const{centeredSlides:i,roundLengths:s}=l.params,p=o(),{rows:n}=l.params.grid;if(l.virtualSize=(e+p)*r,l.virtualSize=Math.ceil(l.virtualSize/n)-p,l.wrapperEl.style[a("width")]=`${l.virtualSize+p}px`,i){const e=[];for(let r=0;r<t.length;r+=1){let a=t[r];s&&(a=Math.floor(a)),t[r]<l.virtualSize+t[0]&&e.push(a)}t.splice(0,t.length),t.push(...e)}}}}export{Grid as default}; //# sourceMappingURL=grid.mjs.map