@gem-sdk/swiper 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -0
- package/README.md +11 -0
- package/modules/a11y-element.css +9 -0
- package/modules/a11y-element.min.css +1 -0
- package/modules/a11y.css +9 -0
- package/modules/a11y.less +9 -0
- package/modules/a11y.min.css +1 -0
- package/modules/a11y.min.mjs +2 -0
- package/modules/a11y.min.mjs.map +1 -0
- package/modules/a11y.mjs +377 -0
- package/modules/a11y.scss +9 -0
- package/modules/autoplay-element.css +0 -0
- package/modules/autoplay-element.min.css +0 -0
- package/modules/autoplay.css +0 -0
- package/modules/autoplay.less +0 -0
- package/modules/autoplay.min.css +0 -0
- package/modules/autoplay.min.mjs +2 -0
- package/modules/autoplay.min.mjs.map +1 -0
- package/modules/autoplay.mjs +304 -0
- package/modules/autoplay.scss +0 -0
- package/modules/controller-element.css +0 -0
- package/modules/controller-element.min.css +0 -0
- package/modules/controller.css +0 -0
- package/modules/controller.less +0 -0
- package/modules/controller.min.css +0 -0
- package/modules/controller.min.mjs +2 -0
- package/modules/controller.min.mjs.map +1 -0
- package/modules/controller.mjs +191 -0
- package/modules/controller.scss +0 -0
- package/modules/effect-cards-element.css +9 -0
- package/modules/effect-cards-element.min.css +1 -0
- package/modules/effect-cards.css +9 -0
- package/modules/effect-cards.less +10 -0
- package/modules/effect-cards.min.css +1 -0
- package/modules/effect-cards.min.mjs +2 -0
- package/modules/effect-cards.min.mjs.map +1 -0
- package/modules/effect-cards.mjs +128 -0
- package/modules/effect-cards.scss +10 -0
- package/modules/effect-coverflow-element.css +0 -0
- package/modules/effect-coverflow-element.min.css +0 -0
- package/modules/effect-coverflow.css +0 -0
- package/modules/effect-coverflow.less +2 -0
- package/modules/effect-coverflow.min.css +0 -0
- package/modules/effect-coverflow.min.mjs +2 -0
- package/modules/effect-coverflow.min.mjs.map +1 -0
- package/modules/effect-coverflow.mjs +104 -0
- package/modules/effect-coverflow.scss +2 -0
- package/modules/effect-creative-element.css +6 -0
- package/modules/effect-creative-element.min.css +1 -0
- package/modules/effect-creative.css +6 -0
- package/modules/effect-creative.less +7 -0
- package/modules/effect-creative.min.css +1 -0
- package/modules/effect-creative.min.mjs +2 -0
- package/modules/effect-creative.min.mjs.map +1 -0
- package/modules/effect-creative.mjs +146 -0
- package/modules/effect-creative.scss +7 -0
- package/modules/effect-cube-element.css +53 -0
- package/modules/effect-cube-element.min.css +1 -0
- package/modules/effect-cube.css +62 -0
- package/modules/effect-cube.less +71 -0
- package/modules/effect-cube.min.css +1 -0
- package/modules/effect-cube.min.mjs +2 -0
- package/modules/effect-cube.min.mjs.map +1 -0
- package/modules/effect-cube.mjs +174 -0
- package/modules/effect-cube.scss +71 -0
- package/modules/effect-fade-element.css +16 -0
- package/modules/effect-fade-element.min.css +1 -0
- package/modules/effect-fade.css +16 -0
- package/modules/effect-fade.less +20 -0
- package/modules/effect-fade.min.css +1 -0
- package/modules/effect-fade.min.mjs +2 -0
- package/modules/effect-fade.min.mjs.map +1 -0
- package/modules/effect-fade.mjs +66 -0
- package/modules/effect-fade.scss +20 -0
- package/modules/effect-flip-element.css +17 -0
- package/modules/effect-flip-element.min.css +1 -0
- package/modules/effect-flip.css +26 -0
- package/modules/effect-flip.less +30 -0
- package/modules/effect-flip.min.css +1 -0
- package/modules/effect-flip.min.mjs +2 -0
- package/modules/effect-flip.min.mjs.map +1 -0
- package/modules/effect-flip.mjs +111 -0
- package/modules/effect-flip.scss +30 -0
- package/modules/free-mode-element.css +4 -0
- package/modules/free-mode-element.min.css +1 -0
- package/modules/free-mode.css +4 -0
- package/modules/free-mode.less +4 -0
- package/modules/free-mode.min.css +1 -0
- package/modules/free-mode.min.mjs +2 -0
- package/modules/free-mode.min.mjs.map +1 -0
- package/modules/free-mode.mjs +237 -0
- package/modules/free-mode.scss +4 -0
- package/modules/grid-element.css +7 -0
- package/modules/grid-element.min.css +1 -0
- package/modules/grid.css +7 -0
- package/modules/grid.less +7 -0
- package/modules/grid.min.css +1 -0
- package/modules/grid.min.mjs +2 -0
- package/modules/grid.min.mjs.map +1 -0
- package/modules/grid.mjs +155 -0
- package/modules/grid.scss +7 -0
- package/modules/hash-navigation-element.css +0 -0
- package/modules/hash-navigation-element.min.css +0 -0
- package/modules/hash-navigation.css +0 -0
- package/modules/hash-navigation.less +2 -0
- package/modules/hash-navigation.min.css +0 -0
- package/modules/hash-navigation.min.mjs +2 -0
- package/modules/hash-navigation.min.mjs.map +1 -0
- package/modules/hash-navigation.mjs +93 -0
- package/modules/hash-navigation.scss +0 -0
- package/modules/history-element.css +0 -0
- package/modules/history-element.min.css +0 -0
- package/modules/history.css +0 -0
- package/modules/history.less +0 -0
- package/modules/history.min.css +0 -0
- package/modules/history.min.mjs +2 -0
- package/modules/history.min.mjs.map +1 -0
- package/modules/history.mjs +142 -0
- package/modules/history.scss +0 -0
- package/modules/index.min.mjs +2 -0
- package/modules/index.min.mjs.map +1 -0
- package/modules/index.mjs +23 -0
- package/modules/keyboard-element.css +0 -0
- package/modules/keyboard-element.min.css +0 -0
- package/modules/keyboard.css +0 -0
- package/modules/keyboard.less +0 -0
- package/modules/keyboard.min.css +0 -0
- package/modules/keyboard.min.mjs +2 -0
- package/modules/keyboard.min.mjs.map +1 -0
- package/modules/keyboard.mjs +117 -0
- package/modules/keyboard.scss +0 -0
- package/modules/manipulation-element.css +0 -0
- package/modules/manipulation-element.min.css +0 -0
- package/modules/manipulation.css +0 -0
- package/modules/manipulation.less +0 -0
- package/modules/manipulation.min.css +0 -0
- package/modules/manipulation.min.mjs +2 -0
- package/modules/manipulation.min.mjs.map +1 -0
- package/modules/manipulation.mjs +193 -0
- package/modules/manipulation.scss +0 -0
- package/modules/mousewheel-element.css +0 -0
- package/modules/mousewheel-element.min.css +0 -0
- package/modules/mousewheel.css +0 -0
- package/modules/mousewheel.less +0 -0
- package/modules/mousewheel.min.css +0 -0
- package/modules/mousewheel.min.mjs +2 -0
- package/modules/mousewheel.min.mjs.map +1 -0
- package/modules/mousewheel.mjs +395 -0
- package/modules/mousewheel.scss +0 -0
- package/modules/navigation-element.css +63 -0
- package/modules/navigation-element.min.css +1 -0
- package/modules/navigation.css +86 -0
- package/modules/navigation.less +86 -0
- package/modules/navigation.min.css +1 -0
- package/modules/navigation.min.mjs +2 -0
- package/modules/navigation.min.mjs.map +1 -0
- package/modules/navigation.mjs +200 -0
- package/modules/navigation.scss +87 -0
- package/modules/pagination-element.css +184 -0
- package/modules/pagination-element.min.css +1 -0
- package/modules/pagination.css +184 -0
- package/modules/pagination.less +187 -0
- package/modules/pagination.min.css +1 -0
- package/modules/pagination.min.mjs +2 -0
- package/modules/pagination.min.mjs.map +1 -0
- package/modules/pagination.mjs +467 -0
- package/modules/pagination.scss +188 -0
- package/modules/parallax-element.css +0 -0
- package/modules/parallax-element.min.css +0 -0
- package/modules/parallax.css +0 -0
- package/modules/parallax.less +0 -0
- package/modules/parallax.min.css +0 -0
- package/modules/parallax.min.mjs +2 -0
- package/modules/parallax.min.mjs.map +1 -0
- package/modules/parallax.mjs +124 -0
- package/modules/parallax.scss +0 -0
- package/modules/scrollbar-element.css +58 -0
- package/modules/scrollbar-element.min.css +1 -0
- package/modules/scrollbar.css +58 -0
- package/modules/scrollbar.less +59 -0
- package/modules/scrollbar.min.css +1 -0
- package/modules/scrollbar.min.mjs +2 -0
- package/modules/scrollbar.min.mjs.map +1 -0
- package/modules/scrollbar.mjs +366 -0
- package/modules/scrollbar.scss +61 -0
- package/modules/thumbs-element.css +0 -0
- package/modules/thumbs-element.min.css +0 -0
- package/modules/thumbs.css +0 -0
- package/modules/thumbs.less +5 -0
- package/modules/thumbs.min.css +0 -0
- package/modules/thumbs.min.mjs +2 -0
- package/modules/thumbs.min.mjs.map +1 -0
- package/modules/thumbs.mjs +197 -0
- package/modules/thumbs.scss +5 -0
- package/modules/virtual-element.css +19 -0
- package/modules/virtual-element.min.css +1 -0
- package/modules/virtual.css +19 -0
- package/modules/virtual.less +26 -0
- package/modules/virtual.min.css +1 -0
- package/modules/virtual.min.mjs +2 -0
- package/modules/virtual.min.mjs.map +1 -0
- package/modules/virtual.mjs +349 -0
- package/modules/virtual.scss +26 -0
- package/modules/zoom-element.css +5 -0
- package/modules/zoom-element.min.css +1 -0
- package/modules/zoom.css +21 -0
- package/modules/zoom.less +23 -0
- package/modules/zoom.min.css +1 -0
- package/modules/zoom.min.mjs +2 -0
- package/modules/zoom.min.mjs.map +1 -0
- package/modules/zoom.mjs +701 -0
- package/modules/zoom.scss +21 -0
- package/package.json +213 -0
- package/shared/classes-to-selector.min.mjs +2 -0
- package/shared/classes-to-selector.min.mjs.map +1 -0
- package/shared/classes-to-selector.mjs +9 -0
- package/shared/create-element-if-not-defined.min.mjs +2 -0
- package/shared/create-element-if-not-defined.min.mjs.map +1 -0
- package/shared/create-element-if-not-defined.mjs +21 -0
- package/shared/create-shadow.min.mjs +2 -0
- package/shared/create-shadow.min.mjs.map +1 -0
- package/shared/create-shadow.mjs +14 -0
- package/shared/effect-init.min.mjs +2 -0
- package/shared/effect-init.min.mjs.map +1 -0
- package/shared/effect-init.mjs +58 -0
- package/shared/effect-target.min.mjs +2 -0
- package/shared/effect-target.min.mjs.map +1 -0
- package/shared/effect-target.mjs +12 -0
- package/shared/effect-virtual-transition-end.min.mjs +2 -0
- package/shared/effect-virtual-transition-end.min.mjs.map +1 -0
- package/shared/effect-virtual-transition-end.mjs +48 -0
- package/shared/get-element-params.min.mjs +2 -0
- package/shared/get-element-params.min.mjs.map +1 -0
- package/shared/get-element-params.mjs +113 -0
- package/shared/ssr-window.esm.min.mjs +2 -0
- package/shared/ssr-window.esm.min.mjs.map +1 -0
- package/shared/ssr-window.esm.mjs +146 -0
- package/shared/swiper-core.min.mjs +2 -0
- package/shared/swiper-core.min.mjs.map +1 -0
- package/shared/swiper-core.mjs +3969 -0
- package/shared/update-on-virtual-data.min.mjs +2 -0
- package/shared/update-on-virtual-data.min.mjs.map +1 -0
- package/shared/update-on-virtual-data.mjs +131 -0
- package/shared/update-swiper.min.mjs +2 -0
- package/shared/update-swiper.min.mjs.map +1 -0
- package/shared/update-swiper.mjs +238 -0
- package/shared/utils.min.mjs +2 -0
- package/shared/utils.min.mjs.map +1 -0
- package/shared/utils.mjs +343 -0
- package/swiper-bundle.css +735 -0
- package/swiper-bundle.js +9870 -0
- package/swiper-bundle.min.css +13 -0
- package/swiper-bundle.min.js +14 -0
- package/swiper-bundle.min.js.map +1 -0
- package/swiper-bundle.min.mjs +14 -0
- package/swiper-bundle.min.mjs.map +1 -0
- package/swiper-bundle.mjs +42 -0
- package/swiper-effect-utils.d.ts +28 -0
- package/swiper-effect-utils.min.mjs +14 -0
- package/swiper-effect-utils.min.mjs.map +1 -0
- package/swiper-effect-utils.mjs +17 -0
- package/swiper-element-bundle.js +10477 -0
- package/swiper-element-bundle.min.js +14 -0
- package/swiper-element-bundle.min.js.map +1 -0
- package/swiper-element-bundle.min.mjs +14 -0
- package/swiper-element-bundle.min.mjs.map +1 -0
- package/swiper-element-bundle.mjs +288 -0
- package/swiper-element.d.ts +444 -0
- package/swiper-element.js +5037 -0
- package/swiper-element.min.js +14 -0
- package/swiper-element.min.js.map +1 -0
- package/swiper-element.min.mjs +14 -0
- package/swiper-element.min.mjs.map +1 -0
- package/swiper-element.mjs +287 -0
- package/swiper-react.d.ts +501 -0
- package/swiper-react.mjs +394 -0
- package/swiper-vars.less +1 -0
- package/swiper-vars.scss +1 -0
- package/swiper-vue.d.ts +866 -0
- package/swiper-vue.mjs +838 -0
- package/swiper.css +228 -0
- package/swiper.d.ts +5 -0
- package/swiper.js +4418 -0
- package/swiper.less +251 -0
- package/swiper.min.css +13 -0
- package/swiper.min.js +14 -0
- package/swiper.min.js.map +1 -0
- package/swiper.min.mjs +14 -0
- package/swiper.min.mjs.map +1 -0
- package/swiper.mjs +13 -0
- package/swiper.scss +252 -0
- package/types/index.d.ts +6 -0
- package/types/modules/a11y.d.ts +110 -0
- package/types/modules/autoplay.d.ts +133 -0
- package/types/modules/controller.d.ts +35 -0
- package/types/modules/effect-cards.d.ts +33 -0
- package/types/modules/effect-coverflow.d.ts +45 -0
- package/types/modules/effect-creative.d.ts +86 -0
- package/types/modules/effect-cube.d.ts +30 -0
- package/types/modules/effect-fade.d.ts +12 -0
- package/types/modules/effect-flip.d.ts +18 -0
- package/types/modules/free-mode.d.ts +64 -0
- package/types/modules/grid.d.ts +21 -0
- package/types/modules/hash-navigation.d.ts +38 -0
- package/types/modules/history.d.ts +43 -0
- package/types/modules/index.d.ts +51 -0
- package/types/modules/keyboard.d.ts +46 -0
- package/types/modules/manipulation.d.ts +70 -0
- package/types/modules/mousewheel.d.ts +86 -0
- package/types/modules/navigation.d.ts +105 -0
- package/types/modules/pagination.d.ts +307 -0
- package/types/modules/parallax.d.ts +12 -0
- package/types/modules/public-api.d.ts +23 -0
- package/types/modules/scrollbar.d.ts +140 -0
- package/types/modules/thumbs.d.ts +54 -0
- package/types/modules/virtual.d.ts +135 -0
- package/types/modules/zoom.d.ts +91 -0
- package/types/shared.d.ts +13 -0
- package/types/swiper-class.d.ts +522 -0
- package/types/swiper-events.d.ts +359 -0
- package/types/swiper-options.d.ts +1217 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { s as setInnerHTML } from '../shared/utils.mjs';
|
|
2
|
+
|
|
3
|
+
function appendSlide(slides) {
|
|
4
|
+
const swiper = this;
|
|
5
|
+
const {
|
|
6
|
+
params,
|
|
7
|
+
slidesEl
|
|
8
|
+
} = swiper;
|
|
9
|
+
if (params.loop) {
|
|
10
|
+
swiper.loopDestroy();
|
|
11
|
+
}
|
|
12
|
+
const appendElement = slideEl => {
|
|
13
|
+
if (typeof slideEl === 'string') {
|
|
14
|
+
const tempDOM = document.createElement('div');
|
|
15
|
+
setInnerHTML(tempDOM, slideEl);
|
|
16
|
+
slidesEl.append(tempDOM.children[0]);
|
|
17
|
+
setInnerHTML(tempDOM, '');
|
|
18
|
+
} else {
|
|
19
|
+
slidesEl.append(slideEl);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
if (typeof slides === 'object' && 'length' in slides) {
|
|
23
|
+
for (let i = 0; i < slides.length; i += 1) {
|
|
24
|
+
if (slides[i]) appendElement(slides[i]);
|
|
25
|
+
}
|
|
26
|
+
} else {
|
|
27
|
+
appendElement(slides);
|
|
28
|
+
}
|
|
29
|
+
swiper.recalcSlides();
|
|
30
|
+
if (params.loop) {
|
|
31
|
+
swiper.loopCreate();
|
|
32
|
+
}
|
|
33
|
+
if (!params.observer || swiper.isElement) {
|
|
34
|
+
swiper.update();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function prependSlide(slides) {
|
|
39
|
+
const swiper = this;
|
|
40
|
+
const {
|
|
41
|
+
params,
|
|
42
|
+
activeIndex,
|
|
43
|
+
slidesEl
|
|
44
|
+
} = swiper;
|
|
45
|
+
if (params.loop) {
|
|
46
|
+
swiper.loopDestroy();
|
|
47
|
+
}
|
|
48
|
+
let newActiveIndex = activeIndex + 1;
|
|
49
|
+
const prependElement = slideEl => {
|
|
50
|
+
if (typeof slideEl === 'string') {
|
|
51
|
+
const tempDOM = document.createElement('div');
|
|
52
|
+
setInnerHTML(tempDOM, slideEl);
|
|
53
|
+
slidesEl.prepend(tempDOM.children[0]);
|
|
54
|
+
setInnerHTML(tempDOM, '');
|
|
55
|
+
} else {
|
|
56
|
+
slidesEl.prepend(slideEl);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
if (typeof slides === 'object' && 'length' in slides) {
|
|
60
|
+
for (let i = 0; i < slides.length; i += 1) {
|
|
61
|
+
if (slides[i]) prependElement(slides[i]);
|
|
62
|
+
}
|
|
63
|
+
newActiveIndex = activeIndex + slides.length;
|
|
64
|
+
} else {
|
|
65
|
+
prependElement(slides);
|
|
66
|
+
}
|
|
67
|
+
swiper.recalcSlides();
|
|
68
|
+
if (params.loop) {
|
|
69
|
+
swiper.loopCreate();
|
|
70
|
+
}
|
|
71
|
+
if (!params.observer || swiper.isElement) {
|
|
72
|
+
swiper.update();
|
|
73
|
+
}
|
|
74
|
+
swiper.slideTo(newActiveIndex, 0, false);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function addSlide(index, slides) {
|
|
78
|
+
const swiper = this;
|
|
79
|
+
const {
|
|
80
|
+
params,
|
|
81
|
+
activeIndex,
|
|
82
|
+
slidesEl
|
|
83
|
+
} = swiper;
|
|
84
|
+
let activeIndexBuffer = activeIndex;
|
|
85
|
+
if (params.loop) {
|
|
86
|
+
activeIndexBuffer -= swiper.loopedSlides;
|
|
87
|
+
swiper.loopDestroy();
|
|
88
|
+
swiper.recalcSlides();
|
|
89
|
+
}
|
|
90
|
+
const baseLength = swiper.slides.length;
|
|
91
|
+
if (index <= 0) {
|
|
92
|
+
swiper.prependSlide(slides);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (index >= baseLength) {
|
|
96
|
+
swiper.appendSlide(slides);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;
|
|
100
|
+
const slidesBuffer = [];
|
|
101
|
+
for (let i = baseLength - 1; i >= index; i -= 1) {
|
|
102
|
+
const currentSlide = swiper.slides[i];
|
|
103
|
+
currentSlide.remove();
|
|
104
|
+
slidesBuffer.unshift(currentSlide);
|
|
105
|
+
}
|
|
106
|
+
if (typeof slides === 'object' && 'length' in slides) {
|
|
107
|
+
for (let i = 0; i < slides.length; i += 1) {
|
|
108
|
+
if (slides[i]) slidesEl.append(slides[i]);
|
|
109
|
+
}
|
|
110
|
+
newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;
|
|
111
|
+
} else {
|
|
112
|
+
slidesEl.append(slides);
|
|
113
|
+
}
|
|
114
|
+
for (let i = 0; i < slidesBuffer.length; i += 1) {
|
|
115
|
+
slidesEl.append(slidesBuffer[i]);
|
|
116
|
+
}
|
|
117
|
+
swiper.recalcSlides();
|
|
118
|
+
if (params.loop) {
|
|
119
|
+
swiper.loopCreate();
|
|
120
|
+
}
|
|
121
|
+
if (!params.observer || swiper.isElement) {
|
|
122
|
+
swiper.update();
|
|
123
|
+
}
|
|
124
|
+
if (params.loop) {
|
|
125
|
+
swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
|
|
126
|
+
} else {
|
|
127
|
+
swiper.slideTo(newActiveIndex, 0, false);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function removeSlide(slidesIndexes) {
|
|
132
|
+
const swiper = this;
|
|
133
|
+
const {
|
|
134
|
+
params,
|
|
135
|
+
activeIndex
|
|
136
|
+
} = swiper;
|
|
137
|
+
let activeIndexBuffer = activeIndex;
|
|
138
|
+
if (params.loop) {
|
|
139
|
+
activeIndexBuffer -= swiper.loopedSlides;
|
|
140
|
+
swiper.loopDestroy();
|
|
141
|
+
}
|
|
142
|
+
let newActiveIndex = activeIndexBuffer;
|
|
143
|
+
let indexToRemove;
|
|
144
|
+
if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {
|
|
145
|
+
for (let i = 0; i < slidesIndexes.length; i += 1) {
|
|
146
|
+
indexToRemove = slidesIndexes[i];
|
|
147
|
+
if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();
|
|
148
|
+
if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
|
|
149
|
+
}
|
|
150
|
+
newActiveIndex = Math.max(newActiveIndex, 0);
|
|
151
|
+
} else {
|
|
152
|
+
indexToRemove = slidesIndexes;
|
|
153
|
+
if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();
|
|
154
|
+
if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
|
|
155
|
+
newActiveIndex = Math.max(newActiveIndex, 0);
|
|
156
|
+
}
|
|
157
|
+
swiper.recalcSlides();
|
|
158
|
+
if (params.loop) {
|
|
159
|
+
swiper.loopCreate();
|
|
160
|
+
}
|
|
161
|
+
if (!params.observer || swiper.isElement) {
|
|
162
|
+
swiper.update();
|
|
163
|
+
}
|
|
164
|
+
if (params.loop) {
|
|
165
|
+
swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
|
|
166
|
+
} else {
|
|
167
|
+
swiper.slideTo(newActiveIndex, 0, false);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
function removeAllSlides() {
|
|
172
|
+
const swiper = this;
|
|
173
|
+
const slidesIndexes = [];
|
|
174
|
+
for (let i = 0; i < swiper.slides.length; i += 1) {
|
|
175
|
+
slidesIndexes.push(i);
|
|
176
|
+
}
|
|
177
|
+
swiper.removeSlide(slidesIndexes);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
function Manipulation(_ref) {
|
|
181
|
+
let {
|
|
182
|
+
swiper
|
|
183
|
+
} = _ref;
|
|
184
|
+
Object.assign(swiper, {
|
|
185
|
+
appendSlide: appendSlide.bind(swiper),
|
|
186
|
+
prependSlide: prependSlide.bind(swiper),
|
|
187
|
+
addSlide: addSlide.bind(swiper),
|
|
188
|
+
removeSlide: removeSlide.bind(swiper),
|
|
189
|
+
removeAllSlides: removeAllSlides.bind(swiper)
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export { Manipulation as default };
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as getWindow}from"../shared/ssr-window.esm.min.mjs";import{n as nextTick,f as now}from"../shared/utils.min.mjs";function Mousewheel(e){let{swiper:t,extendParams:a,on:s,emit:n}=e;const l=getWindow();let i;a({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}}),t.mousewheel={enabled:!1};let r,o=now();const d=[];function m(){t.enabled&&(t.mouseEntered=!0)}function p(){t.enabled&&(t.mouseEntered=!1)}function u(e){return!(t.params.mousewheel.thresholdDelta&&e.delta<t.params.mousewheel.thresholdDelta)&&(!(t.params.mousewheel.thresholdTime&&now()-o<t.params.mousewheel.thresholdTime)&&(e.delta>=6&&now()-o<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),n("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),n("scroll",e.raw)),o=(new l.Date).getTime(),!1)))}function h(e){let a=e,s=!0;if(!t.enabled)return;if(e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`))return;const l=t.params.mousewheel;t.params.cssMode&&a.preventDefault();let o=t.el;"container"!==t.params.mousewheel.eventsTarget&&(o=document.querySelector(t.params.mousewheel.eventsTarget));const m=o&&o.contains(a.target);if(!t.mouseEntered&&!m&&!l.releaseOnEdges)return!0;a.originalEvent&&(a=a.originalEvent);let p=0;const h=t.rtlTranslate?-1:1,c=function(e){let t=0,a=0,s=0,n=0;return"detail"in e&&(a=e.detail),"wheelDelta"in e&&(a=-e.wheelDelta/120),"wheelDeltaY"in e&&(a=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=a,a=0),s=10*t,n=10*a,"deltaY"in e&&(n=e.deltaY),"deltaX"in e&&(s=e.deltaX),e.shiftKey&&!s&&(s=n,n=0),(s||n)&&e.deltaMode&&(1===e.deltaMode?(s*=40,n*=40):(s*=800,n*=800)),s&&!t&&(t=s<1?-1:1),n&&!a&&(a=n<1?-1:1),{spinX:t,spinY:a,pixelX:s,pixelY:n}}(a);if(l.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(c.pixelX)>Math.abs(c.pixelY)))return!0;p=-c.pixelX*h}else{if(!(Math.abs(c.pixelY)>Math.abs(c.pixelX)))return!0;p=-c.pixelY}else p=Math.abs(c.pixelX)>Math.abs(c.pixelY)?-c.pixelX*h:-c.pixelY;if(0===p)return!0;l.invert&&(p=-p);let w=t.getTranslate()+p*l.sensitivity;if(w>=t.minTranslate()&&(w=t.minTranslate()),w<=t.maxTranslate()&&(w=t.maxTranslate()),s=!!t.params.loop||!(w===t.minTranslate()||w===t.maxTranslate()),s&&t.params.nested&&a.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:now(),delta:Math.abs(p),direction:Math.sign(p)},s=r&&e.time<r.time+500&&e.delta<=r.delta&&e.direction===r.direction;if(!s){r=void 0;let o=t.getTranslate()+p*l.sensitivity;const m=t.isBeginning,u=t.isEnd;if(o>=t.minTranslate()&&(o=t.minTranslate()),o<=t.maxTranslate()&&(o=t.maxTranslate()),t.setTransition(0),t.setTranslate(o),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!m&&t.isBeginning||!u&&t.isEnd)&&t.updateSlidesClasses(),t.params.loop&&t.loopFix({direction:e.direction<0?"next":"prev",byMousewheel:!0}),t.params.freeMode.sticky){clearTimeout(i),i=void 0,d.length>=15&&d.shift();const a=d.length?d[d.length-1]:void 0,s=d[0];if(d.push(e),a&&(e.delta>a.delta||e.direction!==a.direction))d.splice(0);else if(d.length>=15&&e.time-s.time<500&&s.delta-e.delta>=1&&e.delta<=6){const a=p>0?.8:.2;r=e,d.splice(0),i=nextTick((()=>{!t.destroyed&&t.params&&t.slideToClosest(t.params.speed,!0,void 0,a)}),0)}i||(i=nextTick((()=>{if(t.destroyed||!t.params)return;r=e,d.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(s||n("scroll",a),t.params.autoplay&&t.params.autoplay.disableOnInteraction&&t.autoplay.stop(),l.releaseOnEdges&&(o===t.minTranslate()||o===t.maxTranslate()))return!0}}else{const a={time:now(),delta:Math.abs(p),direction:Math.sign(p),raw:e};d.length>=2&&d.shift();const s=d.length?d[d.length-1]:void 0;if(d.push(a),s?(a.direction!==s.direction||a.delta>s.delta||a.time>s.time+150)&&u(a):u(a),function(e){const a=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&a.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&a.releaseOnEdges)return!0;return!1}(a))return!0}return a.preventDefault?a.preventDefault():a.returnValue=!1,!1}function c(e){let a=t.el;"container"!==t.params.mousewheel.eventsTarget&&(a=document.querySelector(t.params.mousewheel.eventsTarget)),a[e]("mouseenter",m),a[e]("mouseleave",p),a[e]("wheel",h)}function w(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",h),!0):!t.mousewheel.enabled&&(c("addEventListener"),t.mousewheel.enabled=!0,!0)}function f(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,h),!0):!!t.mousewheel.enabled&&(c("removeEventListener"),t.mousewheel.enabled=!1,!0)}s("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&f(),t.params.mousewheel.enabled&&w()})),s("destroy",(()=>{t.params.cssMode&&w(),t.mousewheel.enabled&&f()})),Object.assign(t.mousewheel,{enable:w,disable:f})}export{Mousewheel as default};
|
|
2
|
+
//# sourceMappingURL=mousewheel.min.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mousewheel.mjs.mjs","names":["getWindow","nextTick","now","Mousewheel","_ref","swiper","extendParams","on","emit","window","timeout","mousewheel","enabled","releaseOnEdges","invert","forceToAxis","sensitivity","eventsTarget","thresholdDelta","thresholdTime","noMousewheelClass","lastEventBeforeSnap","lastScrollTime","recentWheelEvents","handleMouseEnter","mouseEntered","handleMouseLeave","animateSlider","newEvent","params","delta","direction","isEnd","loop","animating","slideNext","raw","isBeginning","slidePrev","Date","getTime","handle","event","e","disableParentSwiper","target","closest","cssMode","preventDefault","targetEl","el","document","querySelector","targetElContainsTarget","contains","originalEvent","rtlFactor","rtlTranslate","data","sX","sY","pX","pY","detail","wheelDelta","wheelDeltaY","wheelDeltaX","axis","HORIZONTAL_AXIS","deltaY","deltaX","shiftKey","deltaMode","spinX","spinY","pixelX","pixelY","normalize","isHorizontal","Math","abs","positions","getTranslate","minTranslate","maxTranslate","nested","stopPropagation","freeMode","time","sign","ignoreWheelEvents","undefined","position","wasBeginning","wasEnd","setTransition","setTranslate","updateProgress","updateActiveIndex","updateSlidesClasses","loopFix","byMousewheel","sticky","clearTimeout","length","shift","prevEvent","firstEvent","push","splice","snapToThreshold","destroyed","slideToClosest","speed","autoplay","disableOnInteraction","stop","releaseScroll","returnValue","events","method","enable","wrapperEl","removeEventListener","disable","addEventListener","Object","assign"],"sources":["0"],"mappings":"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"}
|
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
import { a as getWindow } from '../shared/ssr-window.esm.mjs';
|
|
2
|
+
import { n as nextTick, f as now } from '../shared/utils.mjs';
|
|
3
|
+
|
|
4
|
+
/* eslint-disable consistent-return */
|
|
5
|
+
function Mousewheel(_ref) {
|
|
6
|
+
let {
|
|
7
|
+
swiper,
|
|
8
|
+
extendParams,
|
|
9
|
+
on,
|
|
10
|
+
emit
|
|
11
|
+
} = _ref;
|
|
12
|
+
const window = getWindow();
|
|
13
|
+
extendParams({
|
|
14
|
+
mousewheel: {
|
|
15
|
+
enabled: false,
|
|
16
|
+
releaseOnEdges: false,
|
|
17
|
+
invert: false,
|
|
18
|
+
forceToAxis: false,
|
|
19
|
+
sensitivity: 1,
|
|
20
|
+
eventsTarget: 'container',
|
|
21
|
+
thresholdDelta: null,
|
|
22
|
+
thresholdTime: null,
|
|
23
|
+
noMousewheelClass: 'swiper-no-mousewheel'
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
swiper.mousewheel = {
|
|
27
|
+
enabled: false
|
|
28
|
+
};
|
|
29
|
+
let timeout;
|
|
30
|
+
let lastScrollTime = now();
|
|
31
|
+
let lastEventBeforeSnap;
|
|
32
|
+
const recentWheelEvents = [];
|
|
33
|
+
function normalize(e) {
|
|
34
|
+
// Reasonable defaults
|
|
35
|
+
const PIXEL_STEP = 10;
|
|
36
|
+
const LINE_HEIGHT = 40;
|
|
37
|
+
const PAGE_HEIGHT = 800;
|
|
38
|
+
let sX = 0;
|
|
39
|
+
let sY = 0; // spinX, spinY
|
|
40
|
+
let pX = 0;
|
|
41
|
+
let pY = 0; // pixelX, pixelY
|
|
42
|
+
|
|
43
|
+
// Legacy
|
|
44
|
+
if ('detail' in e) {
|
|
45
|
+
sY = e.detail;
|
|
46
|
+
}
|
|
47
|
+
if ('wheelDelta' in e) {
|
|
48
|
+
sY = -e.wheelDelta / 120;
|
|
49
|
+
}
|
|
50
|
+
if ('wheelDeltaY' in e) {
|
|
51
|
+
sY = -e.wheelDeltaY / 120;
|
|
52
|
+
}
|
|
53
|
+
if ('wheelDeltaX' in e) {
|
|
54
|
+
sX = -e.wheelDeltaX / 120;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// side scrolling on FF with DOMMouseScroll
|
|
58
|
+
if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {
|
|
59
|
+
sX = sY;
|
|
60
|
+
sY = 0;
|
|
61
|
+
}
|
|
62
|
+
pX = sX * PIXEL_STEP;
|
|
63
|
+
pY = sY * PIXEL_STEP;
|
|
64
|
+
if ('deltaY' in e) {
|
|
65
|
+
pY = e.deltaY;
|
|
66
|
+
}
|
|
67
|
+
if ('deltaX' in e) {
|
|
68
|
+
pX = e.deltaX;
|
|
69
|
+
}
|
|
70
|
+
if (e.shiftKey && !pX) {
|
|
71
|
+
// if user scrolls with shift he wants horizontal scroll
|
|
72
|
+
pX = pY;
|
|
73
|
+
pY = 0;
|
|
74
|
+
}
|
|
75
|
+
if ((pX || pY) && e.deltaMode) {
|
|
76
|
+
if (e.deltaMode === 1) {
|
|
77
|
+
// delta in LINE units
|
|
78
|
+
pX *= LINE_HEIGHT;
|
|
79
|
+
pY *= LINE_HEIGHT;
|
|
80
|
+
} else {
|
|
81
|
+
// delta in PAGE units
|
|
82
|
+
pX *= PAGE_HEIGHT;
|
|
83
|
+
pY *= PAGE_HEIGHT;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Fall-back if spin cannot be determined
|
|
88
|
+
if (pX && !sX) {
|
|
89
|
+
sX = pX < 1 ? -1 : 1;
|
|
90
|
+
}
|
|
91
|
+
if (pY && !sY) {
|
|
92
|
+
sY = pY < 1 ? -1 : 1;
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
spinX: sX,
|
|
96
|
+
spinY: sY,
|
|
97
|
+
pixelX: pX,
|
|
98
|
+
pixelY: pY
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
function handleMouseEnter() {
|
|
102
|
+
if (!swiper.enabled) return;
|
|
103
|
+
swiper.mouseEntered = true;
|
|
104
|
+
}
|
|
105
|
+
function handleMouseLeave() {
|
|
106
|
+
if (!swiper.enabled) return;
|
|
107
|
+
swiper.mouseEntered = false;
|
|
108
|
+
}
|
|
109
|
+
function animateSlider(newEvent) {
|
|
110
|
+
if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) {
|
|
111
|
+
// Prevent if delta of wheel scroll delta is below configured threshold
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
if (swiper.params.mousewheel.thresholdTime && now() - lastScrollTime < swiper.params.mousewheel.thresholdTime) {
|
|
115
|
+
// Prevent if time between scrolls is below configured threshold
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// If the movement is NOT big enough and
|
|
120
|
+
// if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):
|
|
121
|
+
// Don't go any further (avoid insignificant scroll movement).
|
|
122
|
+
if (newEvent.delta >= 6 && now() - lastScrollTime < 60) {
|
|
123
|
+
// Return false as a default
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
// If user is scrolling towards the end:
|
|
127
|
+
// If the slider hasn't hit the latest slide or
|
|
128
|
+
// if the slider is a loop and
|
|
129
|
+
// if the slider isn't moving right now:
|
|
130
|
+
// Go to next slide and
|
|
131
|
+
// emit a scroll event.
|
|
132
|
+
// Else (the user is scrolling towards the beginning) and
|
|
133
|
+
// if the slider hasn't hit the first slide or
|
|
134
|
+
// if the slider is a loop and
|
|
135
|
+
// if the slider isn't moving right now:
|
|
136
|
+
// Go to prev slide and
|
|
137
|
+
// emit a scroll event.
|
|
138
|
+
if (newEvent.direction < 0) {
|
|
139
|
+
if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {
|
|
140
|
+
swiper.slideNext();
|
|
141
|
+
emit('scroll', newEvent.raw);
|
|
142
|
+
}
|
|
143
|
+
} else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {
|
|
144
|
+
swiper.slidePrev();
|
|
145
|
+
emit('scroll', newEvent.raw);
|
|
146
|
+
}
|
|
147
|
+
// If you got here is because an animation has been triggered so store the current time
|
|
148
|
+
lastScrollTime = new window.Date().getTime();
|
|
149
|
+
// Return false as a default
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
function releaseScroll(newEvent) {
|
|
153
|
+
const params = swiper.params.mousewheel;
|
|
154
|
+
if (newEvent.direction < 0) {
|
|
155
|
+
if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {
|
|
156
|
+
// Return true to animate scroll on edges
|
|
157
|
+
return true;
|
|
158
|
+
}
|
|
159
|
+
} else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {
|
|
160
|
+
// Return true to animate scroll on edges
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
function handle(event) {
|
|
166
|
+
let e = event;
|
|
167
|
+
let disableParentSwiper = true;
|
|
168
|
+
if (!swiper.enabled) return;
|
|
169
|
+
|
|
170
|
+
// Ignore event if the target or its parents have the swiper-no-mousewheel class
|
|
171
|
+
if (event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`)) return;
|
|
172
|
+
const params = swiper.params.mousewheel;
|
|
173
|
+
if (swiper.params.cssMode) {
|
|
174
|
+
e.preventDefault();
|
|
175
|
+
}
|
|
176
|
+
let targetEl = swiper.el;
|
|
177
|
+
if (swiper.params.mousewheel.eventsTarget !== 'container') {
|
|
178
|
+
targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);
|
|
179
|
+
}
|
|
180
|
+
const targetElContainsTarget = targetEl && targetEl.contains(e.target);
|
|
181
|
+
if (!swiper.mouseEntered && !targetElContainsTarget && !params.releaseOnEdges) return true;
|
|
182
|
+
if (e.originalEvent) e = e.originalEvent; // jquery fix
|
|
183
|
+
let delta = 0;
|
|
184
|
+
const rtlFactor = swiper.rtlTranslate ? -1 : 1;
|
|
185
|
+
const data = normalize(e);
|
|
186
|
+
if (params.forceToAxis) {
|
|
187
|
+
if (swiper.isHorizontal()) {
|
|
188
|
+
if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;
|
|
189
|
+
} else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;
|
|
190
|
+
} else {
|
|
191
|
+
delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;
|
|
192
|
+
}
|
|
193
|
+
if (delta === 0) return true;
|
|
194
|
+
if (params.invert) delta = -delta;
|
|
195
|
+
|
|
196
|
+
// Get the scroll positions
|
|
197
|
+
let positions = swiper.getTranslate() + delta * params.sensitivity;
|
|
198
|
+
if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();
|
|
199
|
+
if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate();
|
|
200
|
+
|
|
201
|
+
// When loop is true:
|
|
202
|
+
// the disableParentSwiper will be true.
|
|
203
|
+
// When loop is false:
|
|
204
|
+
// if the scroll positions is not on edge,
|
|
205
|
+
// then the disableParentSwiper will be true.
|
|
206
|
+
// if the scroll on edge positions,
|
|
207
|
+
// then the disableParentSwiper will be false.
|
|
208
|
+
disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());
|
|
209
|
+
if (disableParentSwiper && swiper.params.nested) e.stopPropagation();
|
|
210
|
+
if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {
|
|
211
|
+
// Register the new event in a variable which stores the relevant data
|
|
212
|
+
const newEvent = {
|
|
213
|
+
time: now(),
|
|
214
|
+
delta: Math.abs(delta),
|
|
215
|
+
direction: Math.sign(delta),
|
|
216
|
+
raw: event
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
// Keep the most recent events
|
|
220
|
+
if (recentWheelEvents.length >= 2) {
|
|
221
|
+
recentWheelEvents.shift(); // only store the last N events
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;
|
|
225
|
+
recentWheelEvents.push(newEvent);
|
|
226
|
+
|
|
227
|
+
// If there is at least one previous recorded event:
|
|
228
|
+
// If direction has changed or
|
|
229
|
+
// if the scroll is quicker than the previous one:
|
|
230
|
+
// Animate the slider.
|
|
231
|
+
// Else (this is the first time the wheel is moved):
|
|
232
|
+
// Animate the slider.
|
|
233
|
+
if (prevEvent) {
|
|
234
|
+
if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {
|
|
235
|
+
animateSlider(newEvent);
|
|
236
|
+
}
|
|
237
|
+
} else {
|
|
238
|
+
animateSlider(newEvent);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
// If it's time to release the scroll:
|
|
242
|
+
// Return now so you don't hit the preventDefault.
|
|
243
|
+
if (releaseScroll(newEvent)) {
|
|
244
|
+
return true;
|
|
245
|
+
}
|
|
246
|
+
} else {
|
|
247
|
+
// Freemode or scrollContainer:
|
|
248
|
+
|
|
249
|
+
// If we recently snapped after a momentum scroll, then ignore wheel events
|
|
250
|
+
// to give time for the deceleration to finish. Stop ignoring after 500 msecs
|
|
251
|
+
// or if it's a new scroll (larger delta or inverse sign as last event before
|
|
252
|
+
// an end-of-momentum snap).
|
|
253
|
+
const newEvent = {
|
|
254
|
+
time: now(),
|
|
255
|
+
delta: Math.abs(delta),
|
|
256
|
+
direction: Math.sign(delta)
|
|
257
|
+
};
|
|
258
|
+
const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction;
|
|
259
|
+
if (!ignoreWheelEvents) {
|
|
260
|
+
lastEventBeforeSnap = undefined;
|
|
261
|
+
let position = swiper.getTranslate() + delta * params.sensitivity;
|
|
262
|
+
const wasBeginning = swiper.isBeginning;
|
|
263
|
+
const wasEnd = swiper.isEnd;
|
|
264
|
+
if (position >= swiper.minTranslate()) position = swiper.minTranslate();
|
|
265
|
+
if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();
|
|
266
|
+
swiper.setTransition(0);
|
|
267
|
+
swiper.setTranslate(position);
|
|
268
|
+
swiper.updateProgress();
|
|
269
|
+
swiper.updateActiveIndex();
|
|
270
|
+
swiper.updateSlidesClasses();
|
|
271
|
+
if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {
|
|
272
|
+
swiper.updateSlidesClasses();
|
|
273
|
+
}
|
|
274
|
+
if (swiper.params.loop) {
|
|
275
|
+
swiper.loopFix({
|
|
276
|
+
direction: newEvent.direction < 0 ? 'next' : 'prev',
|
|
277
|
+
byMousewheel: true
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
if (swiper.params.freeMode.sticky) {
|
|
281
|
+
// When wheel scrolling starts with sticky (aka snap) enabled, then detect
|
|
282
|
+
// the end of a momentum scroll by storing recent (N=15?) wheel events.
|
|
283
|
+
// 1. do all N events have decreasing or same (absolute value) delta?
|
|
284
|
+
// 2. did all N events arrive in the last M (M=500?) msecs?
|
|
285
|
+
// 3. does the earliest event have an (absolute value) delta that's
|
|
286
|
+
// at least P (P=1?) larger than the most recent event's delta?
|
|
287
|
+
// 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?
|
|
288
|
+
// If 1-4 are "yes" then we're near the end of a momentum scroll deceleration.
|
|
289
|
+
// Snap immediately and ignore remaining wheel events in this scroll.
|
|
290
|
+
// See comment above for "remaining wheel events in this scroll" determination.
|
|
291
|
+
// If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.
|
|
292
|
+
clearTimeout(timeout);
|
|
293
|
+
timeout = undefined;
|
|
294
|
+
if (recentWheelEvents.length >= 15) {
|
|
295
|
+
recentWheelEvents.shift(); // only store the last N events
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;
|
|
299
|
+
const firstEvent = recentWheelEvents[0];
|
|
300
|
+
recentWheelEvents.push(newEvent);
|
|
301
|
+
if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) {
|
|
302
|
+
// Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.
|
|
303
|
+
recentWheelEvents.splice(0);
|
|
304
|
+
} else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) {
|
|
305
|
+
// We're at the end of the deceleration of a momentum scroll, so there's no need
|
|
306
|
+
// to wait for more events. Snap ASAP on the next tick.
|
|
307
|
+
// Also, because there's some remaining momentum we'll bias the snap in the
|
|
308
|
+
// direction of the ongoing scroll because it's better UX for the scroll to snap
|
|
309
|
+
// in the same direction as the scroll instead of reversing to snap. Therefore,
|
|
310
|
+
// if it's already scrolled more than 20% in the current direction, keep going.
|
|
311
|
+
const snapToThreshold = delta > 0 ? 0.8 : 0.2;
|
|
312
|
+
lastEventBeforeSnap = newEvent;
|
|
313
|
+
recentWheelEvents.splice(0);
|
|
314
|
+
timeout = nextTick(() => {
|
|
315
|
+
if (swiper.destroyed || !swiper.params) return;
|
|
316
|
+
swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
|
|
317
|
+
}, 0); // no delay; move on next tick
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
if (!timeout) {
|
|
321
|
+
// if we get here, then we haven't detected the end of a momentum scroll, so
|
|
322
|
+
// we'll consider a scroll "complete" when there haven't been any wheel events
|
|
323
|
+
// for 500ms.
|
|
324
|
+
timeout = nextTick(() => {
|
|
325
|
+
if (swiper.destroyed || !swiper.params) return;
|
|
326
|
+
const snapToThreshold = 0.5;
|
|
327
|
+
lastEventBeforeSnap = newEvent;
|
|
328
|
+
recentWheelEvents.splice(0);
|
|
329
|
+
swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
|
|
330
|
+
}, 500);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
// Emit event
|
|
335
|
+
if (!ignoreWheelEvents) emit('scroll', e);
|
|
336
|
+
|
|
337
|
+
// Stop autoplay
|
|
338
|
+
if (swiper.params.autoplay && swiper.params.autoplay.disableOnInteraction) swiper.autoplay.stop();
|
|
339
|
+
// Return page scroll on edge positions
|
|
340
|
+
if (params.releaseOnEdges && (position === swiper.minTranslate() || position === swiper.maxTranslate())) {
|
|
341
|
+
return true;
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
if (e.preventDefault) e.preventDefault();else e.returnValue = false;
|
|
346
|
+
return false;
|
|
347
|
+
}
|
|
348
|
+
function events(method) {
|
|
349
|
+
let targetEl = swiper.el;
|
|
350
|
+
if (swiper.params.mousewheel.eventsTarget !== 'container') {
|
|
351
|
+
targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);
|
|
352
|
+
}
|
|
353
|
+
targetEl[method]('mouseenter', handleMouseEnter);
|
|
354
|
+
targetEl[method]('mouseleave', handleMouseLeave);
|
|
355
|
+
targetEl[method]('wheel', handle);
|
|
356
|
+
}
|
|
357
|
+
function enable() {
|
|
358
|
+
if (swiper.params.cssMode) {
|
|
359
|
+
swiper.wrapperEl.removeEventListener('wheel', handle);
|
|
360
|
+
return true;
|
|
361
|
+
}
|
|
362
|
+
if (swiper.mousewheel.enabled) return false;
|
|
363
|
+
events('addEventListener');
|
|
364
|
+
swiper.mousewheel.enabled = true;
|
|
365
|
+
return true;
|
|
366
|
+
}
|
|
367
|
+
function disable() {
|
|
368
|
+
if (swiper.params.cssMode) {
|
|
369
|
+
swiper.wrapperEl.addEventListener(event, handle);
|
|
370
|
+
return true;
|
|
371
|
+
}
|
|
372
|
+
if (!swiper.mousewheel.enabled) return false;
|
|
373
|
+
events('removeEventListener');
|
|
374
|
+
swiper.mousewheel.enabled = false;
|
|
375
|
+
return true;
|
|
376
|
+
}
|
|
377
|
+
on('init', () => {
|
|
378
|
+
if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {
|
|
379
|
+
disable();
|
|
380
|
+
}
|
|
381
|
+
if (swiper.params.mousewheel.enabled) enable();
|
|
382
|
+
});
|
|
383
|
+
on('destroy', () => {
|
|
384
|
+
if (swiper.params.cssMode) {
|
|
385
|
+
enable();
|
|
386
|
+
}
|
|
387
|
+
if (swiper.mousewheel.enabled) disable();
|
|
388
|
+
});
|
|
389
|
+
Object.assign(swiper.mousewheel, {
|
|
390
|
+
enable,
|
|
391
|
+
disable
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
export { Mousewheel as default };
|
|
File without changes
|