| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- import { ariaDisable, ariaHidden } from './swiper-a11y';
- import { CLS, addClass, queryChildren, removeClass } from './swiper-utils';
- import { updatePaginationClasses } from './swiper-pagination';
- /*=========================
- Classes
- ===========================*/
- export function updateClasses(s) {
- var childElements;
- removeClass(s._slides, [CLS.slideActive, CLS.slideNext, CLS.slidePrev, CLS.slideDuplicateActive, CLS.slideDuplicateNext, CLS.slideDuplicatePrev]);
- for (var i = 0; i < s._slides.length; i++) {
- ariaHidden(s._slides[i], true);
- }
- var activeSlide = s._slides[s._activeIndex];
- if (!activeSlide) {
- return;
- }
- // Active classes
- addClass(activeSlide, CLS.slideActive);
- ariaHidden(activeSlide, false);
- if (s.loop) {
- // Duplicate to all looped slides
- if (activeSlide.classList.contains(CLS.slideDuplicate)) {
- childElements = queryChildren(s._wrapper, '.' + CLS.slide + ':not(.' + CLS.slideDuplicate + ')[data-swiper-slide-index="' + s.realIndex + '"]');
- }
- else {
- childElements = queryChildren(s._wrapper, '.' + CLS.slide + '.' + CLS.slideDuplicate + '[data-swiper-slide-index="' + s.realIndex + '"]');
- }
- addClass(childElements, CLS.slideDuplicateActive);
- }
- // Next Slide
- var nextSlide = activeSlide.nextElementSibling;
- if (s.loop && !nextSlide) {
- nextSlide = s._slides[0];
- }
- nextSlide && nextSlide.classList.add(CLS.slideNext);
- // Prev Slide
- var prevSlide = activeSlide.previousElementSibling;
- if (s.loop && !prevSlide) {
- prevSlide = s._slides[s._slides.length - 1];
- }
- prevSlide && prevSlide.classList.add(CLS.slidePrev);
- if (s.loop) {
- // Duplicate to all looped slides
- if (nextSlide.classList.contains(CLS.slideDuplicate)) {
- childElements = queryChildren(s._wrapper, '.' + CLS.slide + ':not(.' + CLS.slideDuplicate + ')[data-swiper-slide-index="' + nextSlide.getAttribute('data-swiper-slide-index') + '"]');
- }
- else {
- childElements = queryChildren(s._wrapper, '.' + CLS.slide + '.' + CLS.slideDuplicate + '[data-swiper-slide-index="' + nextSlide.getAttribute('data-swiper-slide-index') + '"]');
- }
- addClass(childElements, CLS.slideDuplicateNext);
- if (prevSlide.classList.contains(CLS.slideDuplicate)) {
- childElements = queryChildren(s._wrapper, '.' + CLS.slide + ':not(.' + CLS.slideDuplicate + ')[data-swiper-slide-index="' + prevSlide.getAttribute('data-swiper-slide-index') + '"]');
- }
- else {
- childElements = queryChildren(s._wrapper, '.' + CLS.slide + '.' + CLS.slideDuplicate + '[data-swiper-slide-index="' + prevSlide.getAttribute('data-swiper-slide-index') + '"]');
- }
- addClass(childElements, CLS.slideDuplicatePrev);
- }
- // Pagination
- if (s._paginationContainer) {
- updatePaginationClasses(s);
- }
- // Next/active buttons
- if (!s.loop) {
- if (s.prevButton) {
- if (s._isBeginning) {
- s.prevButton.classList.add(CLS.buttonDisabled);
- ariaDisable(s.prevButton, true);
- }
- else {
- s.prevButton.classList.remove(CLS.buttonDisabled);
- ariaDisable(s.prevButton, false);
- }
- }
- if (s.nextButton) {
- if (s._isEnd) {
- s.nextButton.classList.add(CLS.buttonDisabled);
- ariaDisable(s.nextButton, true);
- }
- else {
- s.nextButton.classList.remove(CLS.buttonDisabled);
- ariaDisable(s.nextButton, false);
- }
- }
- }
- }
- //# sourceMappingURL=swiper-classes.js.map
|