UNPKG

swiper

Version:

Most modern mobile touch slider and framework with hardware accelerated transitions

2 lines 2.44 kB
import{w as setInnerHTML}from"../shared/utils.min.mjs";function addSlide(e,l){const o=this,{params:s,activeIndex:t,slidesEl:i}=o;let n=t;s.loop&&(n-=o.loopedSlides??0,o.loopDestroy(),o.recalcSlides());const d=o.slides.length;if(e<=0)return void o.prependSlide(l);if(e>=d)return void o.appendSlide(l);let r=n>e?n+1:n;const p=[];for(let l=d-1;l>=e;l-=1){const e=o.slides[l];e&&(e.remove(),p.unshift(e))}if(Array.isArray(l)){for(let e=0;e<l.length;e+=1){const o=l[e];o&&i.append(o)}r=n>e?n+l.length:n}else i.append(l);for(let e=0;e<p.length;e+=1)i.append(p[e]);o.recalcSlides(),s.loop&&o.loopCreate(),s.observer&&!o.isElement||o.update(),s.loop?o.slideTo(r+(o.loopedSlides??0),0,!1):o.slideTo(r,0,!1)}function appendSlide(e){const l=this,{params:o,slidesEl:s}=l;o.loop&&l.loopDestroy();const t=e=>{if("string"==typeof e){const l=document.createElement("div");setInnerHTML(l,e);const o=l.children[0];o&&s.append(o),setInnerHTML(l,"")}else s.append(e)};if(Array.isArray(e))for(let l=0;l<e.length;l+=1){const o=e[l];o&&t(o)}else t(e);l.recalcSlides(),o.loop&&l.loopCreate(),o.observer&&!l.isElement||l.update()}function prependSlide(e){const l=this,{params:o,activeIndex:s,slidesEl:t}=l;o.loop&&l.loopDestroy();let i=s+1;const n=e=>{if("string"==typeof e){const l=document.createElement("div");setInnerHTML(l,e);const o=l.children[0];o&&t.prepend(o),setInnerHTML(l,"")}else t.prepend(e)};if(Array.isArray(e)){for(let l=0;l<e.length;l+=1){const o=e[l];o&&n(o)}i=s+e.length}else n(e);l.recalcSlides(),o.loop&&l.loopCreate(),o.observer&&!l.isElement||l.update(),l.slideTo(i,0,!1)}function removeAllSlides(){const e=this,l=[];for(let o=0;o<e.slides.length;o+=1)l.push(o);e.removeSlide(l)}function removeSlide(e){const l=this,{params:o,activeIndex:s}=l;let t=s;o.loop&&(t-=l.loopedSlides??0,l.loopDestroy());let i=t;if(Array.isArray(e)){for(let o=0;o<e.length;o+=1){const s=e[o];l.slides[s]&&l.slides[s].remove(),s<i&&(i-=1)}i=Math.max(i,0)}else{const o=e;l.slides[o]&&l.slides[o].remove(),o<i&&(i-=1),i=Math.max(i,0)}l.recalcSlides(),o.loop&&l.loopCreate(),o.observer&&!l.isElement||l.update(),o.loop?l.slideTo(i+(l.loopedSlides??0),0,!1):l.slideTo(i,0,!1)}const Manipulation=({swiper:e})=>{Object.assign(e,{appendSlide:appendSlide.bind(e),prependSlide:prependSlide.bind(e),addSlide:addSlide.bind(e),removeSlide:removeSlide.bind(e),removeAllSlides:removeAllSlides.bind(e)})};export{Manipulation as default}; //# sourceMappingURL=manipulation.min.mjs.map