123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. (function (factory) {
  2. if (typeof module === "object" && typeof module.exports === "object") {
  3. var v = factory(require, exports);
  4. if (v !== undefined) module.exports = v;
  5. }
  6. else if (typeof define === "function" && define.amd) {
  7. define(["require", "exports", "./swiper-a11y", "./swiper-utils", "./swiper-pagination"], factory);
  8. }
  9. })(function (require, exports) {
  10. "use strict";
  11. Object.defineProperty(exports, "__esModule", { value: true });
  12. var swiper_a11y_1 = require("./swiper-a11y");
  13. var swiper_utils_1 = require("./swiper-utils");
  14. var swiper_pagination_1 = require("./swiper-pagination");
  15. /*=========================
  16. Classes
  17. ===========================*/
  18. function updateClasses(s) {
  19. var childElements;
  20. swiper_utils_1.removeClass(s._slides, [swiper_utils_1.CLS.slideActive, swiper_utils_1.CLS.slideNext, swiper_utils_1.CLS.slidePrev, swiper_utils_1.CLS.slideDuplicateActive, swiper_utils_1.CLS.slideDuplicateNext, swiper_utils_1.CLS.slideDuplicatePrev]);
  21. for (var i = 0; i < s._slides.length; i++) {
  22. swiper_a11y_1.ariaHidden(s._slides[i], true);
  23. }
  24. var activeSlide = s._slides[s._activeIndex];
  25. if (!activeSlide) {
  26. return;
  27. }
  28. // Active classes
  29. swiper_utils_1.addClass(activeSlide, swiper_utils_1.CLS.slideActive);
  30. swiper_a11y_1.ariaHidden(activeSlide, false);
  31. if (s.loop) {
  32. // Duplicate to all looped slides
  33. if (activeSlide.classList.contains(swiper_utils_1.CLS.slideDuplicate)) {
  34. childElements = swiper_utils_1.queryChildren(s._wrapper, '.' + swiper_utils_1.CLS.slide + ':not(.' + swiper_utils_1.CLS.slideDuplicate + ')[data-swiper-slide-index="' + s.realIndex + '"]');
  35. }
  36. else {
  37. childElements = swiper_utils_1.queryChildren(s._wrapper, '.' + swiper_utils_1.CLS.slide + '.' + swiper_utils_1.CLS.slideDuplicate + '[data-swiper-slide-index="' + s.realIndex + '"]');
  38. }
  39. swiper_utils_1.addClass(childElements, swiper_utils_1.CLS.slideDuplicateActive);
  40. }
  41. // Next Slide
  42. var nextSlide = activeSlide.nextElementSibling;
  43. if (s.loop && !nextSlide) {
  44. nextSlide = s._slides[0];
  45. }
  46. nextSlide && nextSlide.classList.add(swiper_utils_1.CLS.slideNext);
  47. // Prev Slide
  48. var prevSlide = activeSlide.previousElementSibling;
  49. if (s.loop && !prevSlide) {
  50. prevSlide = s._slides[s._slides.length - 1];
  51. }
  52. prevSlide && prevSlide.classList.add(swiper_utils_1.CLS.slidePrev);
  53. if (s.loop) {
  54. // Duplicate to all looped slides
  55. if (nextSlide.classList.contains(swiper_utils_1.CLS.slideDuplicate)) {
  56. childElements = swiper_utils_1.queryChildren(s._wrapper, '.' + swiper_utils_1.CLS.slide + ':not(.' + swiper_utils_1.CLS.slideDuplicate + ')[data-swiper-slide-index="' + nextSlide.getAttribute('data-swiper-slide-index') + '"]');
  57. }
  58. else {
  59. childElements = swiper_utils_1.queryChildren(s._wrapper, '.' + swiper_utils_1.CLS.slide + '.' + swiper_utils_1.CLS.slideDuplicate + '[data-swiper-slide-index="' + nextSlide.getAttribute('data-swiper-slide-index') + '"]');
  60. }
  61. swiper_utils_1.addClass(childElements, swiper_utils_1.CLS.slideDuplicateNext);
  62. if (prevSlide.classList.contains(swiper_utils_1.CLS.slideDuplicate)) {
  63. childElements = swiper_utils_1.queryChildren(s._wrapper, '.' + swiper_utils_1.CLS.slide + ':not(.' + swiper_utils_1.CLS.slideDuplicate + ')[data-swiper-slide-index="' + prevSlide.getAttribute('data-swiper-slide-index') + '"]');
  64. }
  65. else {
  66. childElements = swiper_utils_1.queryChildren(s._wrapper, '.' + swiper_utils_1.CLS.slide + '.' + swiper_utils_1.CLS.slideDuplicate + '[data-swiper-slide-index="' + prevSlide.getAttribute('data-swiper-slide-index') + '"]');
  67. }
  68. swiper_utils_1.addClass(childElements, swiper_utils_1.CLS.slideDuplicatePrev);
  69. }
  70. // Pagination
  71. if (s._paginationContainer) {
  72. swiper_pagination_1.updatePaginationClasses(s);
  73. }
  74. // Next/active buttons
  75. if (!s.loop) {
  76. if (s.prevButton) {
  77. if (s._isBeginning) {
  78. s.prevButton.classList.add(swiper_utils_1.CLS.buttonDisabled);
  79. swiper_a11y_1.ariaDisable(s.prevButton, true);
  80. }
  81. else {
  82. s.prevButton.classList.remove(swiper_utils_1.CLS.buttonDisabled);
  83. swiper_a11y_1.ariaDisable(s.prevButton, false);
  84. }
  85. }
  86. if (s.nextButton) {
  87. if (s._isEnd) {
  88. s.nextButton.classList.add(swiper_utils_1.CLS.buttonDisabled);
  89. swiper_a11y_1.ariaDisable(s.nextButton, true);
  90. }
  91. else {
  92. s.nextButton.classList.remove(swiper_utils_1.CLS.buttonDisabled);
  93. swiper_a11y_1.ariaDisable(s.nextButton, false);
  94. }
  95. }
  96. }
  97. }
  98. exports.updateClasses = updateClasses;
  99. });
  100. //# sourceMappingURL=swiper-classes.js.map