123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import { k as elementTransitionEnd } from './utils.mjs';
- function effectVirtualTransitionEnd(_ref) {
- let {
- swiper,
- duration,
- transformElements,
- allSlides
- } = _ref;
- const {
- activeIndex
- } = swiper;
- const getSlide = el => {
- if (!el.parentElement) {
- // assume shadow root
- const slide = swiper.slides.filter(slideEl => slideEl.shadowRoot && slideEl.shadowRoot === el.parentNode)[0];
- return slide;
- }
- return el.parentElement;
- };
- if (swiper.params.virtualTranslate && duration !== 0) {
- let eventTriggered = false;
- let transitionEndTarget;
- if (allSlides) {
- transitionEndTarget = transformElements;
- } else {
- transitionEndTarget = transformElements.filter(transformEl => {
- const el = transformEl.classList.contains('swiper-slide-transform') ? getSlide(transformEl) : transformEl;
- return swiper.getSlideIndex(el) === activeIndex;
- });
- }
- transitionEndTarget.forEach(el => {
- elementTransitionEnd(el, () => {
- if (eventTriggered) return;
- if (!swiper || swiper.destroyed) return;
- eventTriggered = true;
- swiper.animating = false;
- const evt = new window.CustomEvent('transitionend', {
- bubbles: true,
- cancelable: true
- });
- swiper.wrapperEl.dispatchEvent(evt);
- });
- });
- }
- }
- export { effectVirtualTransitionEnd as e };
|