This commit is contained in:
2025-07-26 21:54:04 +03:30
parent f720424180
commit 615dc6a033
682 changed files with 6709 additions and 15232 deletions
+2 -2
View File
@@ -236,9 +236,9 @@ function A11y(_ref) {
requestAnimationFrame(() => {
if (preventFocusHandler) return;
if (swiper.params.loop) {
swiper.slideToLoop(swiper.getSlideIndexWhenGrid(parseInt(slideEl.getAttribute('data-swiper-slide-index'))), 0);
swiper.slideToLoop(parseInt(slideEl.getAttribute('data-swiper-slide-index')), 0);
} else {
swiper.slideTo(swiper.getSlideIndexWhenGrid(swiper.slides.indexOf(slideEl)), 0);
swiper.slideTo(swiper.slides.indexOf(slideEl), 0);
}
preventFocusHandler = false;
});
+1 -1
View File
@@ -46,7 +46,7 @@ function Keyboard(_ref) {
if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {
return undefined;
}
if (document.activeElement && (document.activeElement.isContentEditable || document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea'))) {
if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {
return undefined;
}
if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "swiper",
"version": "11.2.10",
"version": "11.2.8",
"description": "Most modern mobile touch slider and framework with hardware accelerated transitions",
"typings": "swiper.d.ts",
"type": "module",
@@ -209,5 +209,5 @@
"engines": {
"node": ">= 4.7.0"
},
"releaseDate": "June 28, 2025"
"releaseDate": "May 23, 2025"
}
+1 -1
View File
@@ -2,7 +2,7 @@ function classesToSelector(classes) {
if (classes === void 0) {
classes = '';
}
return `.${classes.trim().replace(/([\.:!+\/()[\]])/g, '\\$1') // eslint-disable-line
return `.${classes.trim().replace(/([\.:!+\/])/g, '\\$1') // eslint-disable-line
.replace(/ /g, '.')}`;
}
+2 -2
View File
@@ -1,5 +1,5 @@
/**
* SSR Window 5.0.1
* SSR Window 5.0.0
* Better handling for window object in SSR environment
* https://github.com/nolimits4web/ssr-window
*
@@ -7,7 +7,7 @@
*
* Licensed under MIT
*
* Released on: June 27, 2025
* Released on: February 12, 2025
*/
/* eslint-disable no-param-reassign */
function isObject(obj) {
+12 -28
View File
@@ -1768,16 +1768,23 @@ function slideToClickedSlide() {
slidesEl
} = swiper;
const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;
let slideToIndex = swiper.getSlideIndexWhenGrid(swiper.clickedIndex);
let slideToIndex = swiper.clickedIndex;
let realIndex;
const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;
const isGrid = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1;
if (params.loop) {
if (swiper.animating) return;
realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);
if (params.centeredSlides) {
swiper.slideToLoop(realIndex);
} else if (slideToIndex > (isGrid ? (swiper.slides.length - slidesPerView) / 2 - (swiper.params.grid.rows - 1) : swiper.slides.length - slidesPerView)) {
if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {
swiper.loopFix();
slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
nextTick(() => {
swiper.slideTo(slideToIndex);
});
} else {
swiper.slideTo(slideToIndex);
}
} else if (slideToIndex > swiper.slides.length - slidesPerView) {
swiper.loopFix();
slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
nextTick(() => {
@@ -1814,20 +1821,7 @@ function loopCreate(slideRealIndex, initial) {
el.setAttribute('data-swiper-slide-index', index);
});
};
const clearBlankSlides = () => {
const slides = elementChildren(slidesEl, `.${params.slideBlankClass}`);
slides.forEach(el => {
el.remove();
});
if (slides.length > 0) {
swiper.recalcSlides();
swiper.updateSlides();
}
};
const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;
if (params.loopAddBlankSlides && (params.slidesPerGroup > 1 || gridEnabled)) {
clearBlankSlides();
}
const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1);
const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0;
const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0;
@@ -1919,7 +1913,7 @@ function loopFix(_temp) {
}
}
const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup;
let loopedSlides = centeredSlides ? Math.max(slidesPerGroup, Math.ceil(slidesPerView / 2)) : slidesPerGroup;
let loopedSlides = slidesPerGroup;
if (loopedSlides % slidesPerGroup !== 0) {
loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup;
}
@@ -3517,16 +3511,6 @@ class Swiper {
getSlideIndexByData(index) {
return this.getSlideIndex(this.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index));
}
getSlideIndexWhenGrid(index) {
if (this.grid && this.params.grid && this.params.grid.rows > 1) {
if (this.params.grid.fill === 'column') {
index = Math.floor(index / this.params.grid.rows);
} else if (this.params.grid.fill === 'row') {
index = index % Math.ceil(this.slides.length / this.params.grid.rows);
}
}
return index;
}
recalcSlides() {
const swiper = this;
const {
+3 -3
View File
@@ -1,5 +1,5 @@
/**
* Swiper Vue 11.2.10
* Swiper Vue 11.2.8
* Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com
*
@@ -7,7 +7,7 @@
*
* Released under the MIT License
*
* Released on: June 28, 2025
* Released on: May 23, 2025
*/
import { h, ref, onUpdated, provide, watch, nextTick, onMounted, onBeforeUnmount, onBeforeUpdate, computed, inject } from 'vue';
@@ -565,7 +565,7 @@ const Swiper = {
default: undefined
}
},
emits: ['_beforeBreakpoint', '_containerClasses', '_slideClass', '_slideClasses', '_swiper', '_freeModeNoMomentumRelease', '_virtualUpdated', 'activeIndexChange', 'afterInit', 'autoplay', 'autoplayStart', 'autoplayStop', 'autoplayPause', 'autoplayResume', 'autoplayTimeLeft', 'beforeDestroy', 'beforeInit', 'beforeLoopFix', 'beforeResize', 'beforeSlideChangeStart', 'beforeTransitionStart', 'breakpoint', 'changeDirection', 'click', 'disable', 'doubleTap', 'doubleClick', 'destroy', 'enable', 'fromEdge', 'hashChange', 'hashSet', 'init', 'keyPress', 'lock', 'loopFix', 'momentumBounce', 'navigationHide', 'navigationShow', 'navigationPrev', 'navigationNext', 'observerUpdate', 'orientationchange', 'paginationHide', 'paginationRender', 'paginationShow', 'paginationUpdate', 'progress', 'reachBeginning', 'reachEnd', 'realIndexChange', 'resize', 'scroll', 'scrollbarDragEnd', 'scrollbarDragMove', 'scrollbarDragStart', 'setTransition', 'setTranslate', 'slidesUpdated', 'slideChange', 'slideChangeTransitionEnd', 'slideChangeTransitionStart', 'slideNextTransitionEnd', 'slideNextTransitionStart', 'slidePrevTransitionEnd', 'slidePrevTransitionStart', 'slideResetTransitionStart', 'slideResetTransitionEnd', 'sliderMove', 'sliderFirstMove', 'slidesLengthChange', 'slidesGridLengthChange', 'snapGridLengthChange', 'snapIndexChange', 'swiper', 'tap', 'toEdge', 'touchEnd', 'touchMove', 'touchMoveOpposite', 'touchStart', 'transitionEnd', 'transitionStart', 'unlock', 'update', 'virtualUpdate', 'zoomChange'],
emits: ['_beforeBreakpoint', '_containerClasses', '_slideClass', '_slideClasses', '_swiper', '_freeModeNoMomentumRelease', 'activeIndexChange', 'afterInit', 'autoplay', 'autoplayStart', 'autoplayStop', 'autoplayPause', 'autoplayResume', 'autoplayTimeLeft', 'beforeDestroy', 'beforeInit', 'beforeLoopFix', 'beforeResize', 'beforeSlideChangeStart', 'beforeTransitionStart', 'breakpoint', 'changeDirection', 'click', 'disable', 'doubleTap', 'doubleClick', 'destroy', 'enable', 'fromEdge', 'hashChange', 'hashSet', 'init', 'keyPress', 'lock', 'loopFix', 'momentumBounce', 'navigationHide', 'navigationShow', 'navigationPrev', 'navigationNext', 'observerUpdate', 'orientationchange', 'paginationHide', 'paginationRender', 'paginationShow', 'paginationUpdate', 'progress', 'reachBeginning', 'reachEnd', 'realIndexChange', 'resize', 'scroll', 'scrollbarDragEnd', 'scrollbarDragMove', 'scrollbarDragStart', 'setTransition', 'setTranslate', 'slidesUpdated', 'slideChange', 'slideChangeTransitionEnd', 'slideChangeTransitionStart', 'slideNextTransitionEnd', 'slideNextTransitionStart', 'slidePrevTransitionEnd', 'slidePrevTransitionStart', 'slideResetTransitionStart', 'slideResetTransitionEnd', 'sliderMove', 'sliderFirstMove', 'slidesLengthChange', 'slidesGridLengthChange', 'snapGridLengthChange', 'snapIndexChange', 'swiper', 'tap', 'toEdge', 'touchEnd', 'touchMove', 'touchMoveOpposite', 'touchStart', 'transitionEnd', 'transitionStart', 'unlock', 'update', 'virtualUpdate', 'zoomChange'],
setup(props, _ref) {
let {
slots: originalSlots,
+2 -2
View File
@@ -1,5 +1,5 @@
/**
* Swiper 11.2.10
* Swiper 11.2.8
* Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com
*
@@ -7,7 +7,7 @@
*
* Released under the MIT License
*
* Released on: June 28, 2025
* Released on: May 23, 2025
*/
export { S as Swiper, S as default } from './shared/swiper-core.mjs';