@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,304 @@
|
|
|
1
|
+
import { g as getDocument } from '../shared/ssr-window.esm.mjs';
|
|
2
|
+
|
|
3
|
+
/* eslint no-underscore-dangle: "off" */
|
|
4
|
+
/* eslint no-use-before-define: "off" */
|
|
5
|
+
function Autoplay(_ref) {
|
|
6
|
+
let {
|
|
7
|
+
swiper,
|
|
8
|
+
extendParams,
|
|
9
|
+
on,
|
|
10
|
+
emit,
|
|
11
|
+
params
|
|
12
|
+
} = _ref;
|
|
13
|
+
swiper.autoplay = {
|
|
14
|
+
running: false,
|
|
15
|
+
paused: false,
|
|
16
|
+
timeLeft: 0
|
|
17
|
+
};
|
|
18
|
+
extendParams({
|
|
19
|
+
autoplay: {
|
|
20
|
+
enabled: false,
|
|
21
|
+
delay: 3000,
|
|
22
|
+
waitForTransition: true,
|
|
23
|
+
disableOnInteraction: false,
|
|
24
|
+
stopOnLastSlide: false,
|
|
25
|
+
reverseDirection: false,
|
|
26
|
+
pauseOnMouseEnter: false
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
let timeout;
|
|
30
|
+
let raf;
|
|
31
|
+
let autoplayDelayTotal = params && params.autoplay ? params.autoplay.delay : 3000;
|
|
32
|
+
let autoplayDelayCurrent = params && params.autoplay ? params.autoplay.delay : 3000;
|
|
33
|
+
let autoplayTimeLeft;
|
|
34
|
+
let autoplayStartTime = new Date().getTime();
|
|
35
|
+
let wasPaused;
|
|
36
|
+
let isTouched;
|
|
37
|
+
let pausedByTouch;
|
|
38
|
+
let touchStartTimeout;
|
|
39
|
+
let slideChanged;
|
|
40
|
+
let pausedByInteraction;
|
|
41
|
+
let pausedByPointerEnter;
|
|
42
|
+
function onTransitionEnd(e) {
|
|
43
|
+
if (!swiper || swiper.destroyed || !swiper.wrapperEl) return;
|
|
44
|
+
if (e.target !== swiper.wrapperEl) return;
|
|
45
|
+
swiper.wrapperEl.removeEventListener('transitionend', onTransitionEnd);
|
|
46
|
+
if (pausedByPointerEnter || e.detail && e.detail.bySwiperTouchMove) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
resume();
|
|
50
|
+
}
|
|
51
|
+
const calcTimeLeft = () => {
|
|
52
|
+
if (swiper.destroyed || !swiper.autoplay.running) return;
|
|
53
|
+
if (swiper.autoplay.paused) {
|
|
54
|
+
wasPaused = true;
|
|
55
|
+
} else if (wasPaused) {
|
|
56
|
+
autoplayDelayCurrent = autoplayTimeLeft;
|
|
57
|
+
wasPaused = false;
|
|
58
|
+
}
|
|
59
|
+
const timeLeft = swiper.autoplay.paused ? autoplayTimeLeft : autoplayStartTime + autoplayDelayCurrent - new Date().getTime();
|
|
60
|
+
swiper.autoplay.timeLeft = timeLeft;
|
|
61
|
+
emit('autoplayTimeLeft', timeLeft, timeLeft / autoplayDelayTotal);
|
|
62
|
+
raf = requestAnimationFrame(() => {
|
|
63
|
+
calcTimeLeft();
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
const getSlideDelay = () => {
|
|
67
|
+
let activeSlideEl;
|
|
68
|
+
if (swiper.virtual && swiper.params.virtual.enabled) {
|
|
69
|
+
activeSlideEl = swiper.slides.find(slideEl => slideEl.classList.contains('swiper-slide-active'));
|
|
70
|
+
} else {
|
|
71
|
+
activeSlideEl = swiper.slides[swiper.activeIndex];
|
|
72
|
+
}
|
|
73
|
+
if (!activeSlideEl) return undefined;
|
|
74
|
+
const currentSlideDelay = parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'), 10);
|
|
75
|
+
return currentSlideDelay;
|
|
76
|
+
};
|
|
77
|
+
const run = delayForce => {
|
|
78
|
+
if (swiper.destroyed || !swiper.autoplay.running) return;
|
|
79
|
+
cancelAnimationFrame(raf);
|
|
80
|
+
calcTimeLeft();
|
|
81
|
+
let delay = typeof delayForce === 'undefined' ? swiper.params.autoplay.delay : delayForce;
|
|
82
|
+
autoplayDelayTotal = swiper.params.autoplay.delay;
|
|
83
|
+
autoplayDelayCurrent = swiper.params.autoplay.delay;
|
|
84
|
+
const currentSlideDelay = getSlideDelay();
|
|
85
|
+
if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0 && typeof delayForce === 'undefined') {
|
|
86
|
+
delay = currentSlideDelay;
|
|
87
|
+
autoplayDelayTotal = currentSlideDelay;
|
|
88
|
+
autoplayDelayCurrent = currentSlideDelay;
|
|
89
|
+
}
|
|
90
|
+
autoplayTimeLeft = delay;
|
|
91
|
+
const speed = swiper.params.speed;
|
|
92
|
+
const proceed = () => {
|
|
93
|
+
if (!swiper || swiper.destroyed) return;
|
|
94
|
+
if (swiper.params.autoplay.reverseDirection) {
|
|
95
|
+
if (!swiper.isBeginning || swiper.params.loop || swiper.params.rewind) {
|
|
96
|
+
swiper.slidePrev(speed, true, true);
|
|
97
|
+
emit('autoplay');
|
|
98
|
+
} else if (!swiper.params.autoplay.stopOnLastSlide) {
|
|
99
|
+
swiper.slideTo(swiper.slides.length - 1, speed, true, true);
|
|
100
|
+
emit('autoplay');
|
|
101
|
+
}
|
|
102
|
+
} else {
|
|
103
|
+
if (!swiper.isEnd || swiper.params.loop || swiper.params.rewind) {
|
|
104
|
+
swiper.slideNext(speed, true, true);
|
|
105
|
+
emit('autoplay');
|
|
106
|
+
} else if (!swiper.params.autoplay.stopOnLastSlide) {
|
|
107
|
+
swiper.slideTo(0, speed, true, true);
|
|
108
|
+
emit('autoplay');
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (swiper.params.cssMode) {
|
|
112
|
+
autoplayStartTime = new Date().getTime();
|
|
113
|
+
requestAnimationFrame(() => {
|
|
114
|
+
run();
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
if (delay > 0) {
|
|
119
|
+
clearTimeout(timeout);
|
|
120
|
+
timeout = setTimeout(() => {
|
|
121
|
+
proceed();
|
|
122
|
+
}, delay);
|
|
123
|
+
} else {
|
|
124
|
+
requestAnimationFrame(() => {
|
|
125
|
+
proceed();
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// eslint-disable-next-line
|
|
130
|
+
return delay;
|
|
131
|
+
};
|
|
132
|
+
const start = () => {
|
|
133
|
+
autoplayStartTime = new Date().getTime();
|
|
134
|
+
swiper.autoplay.running = true;
|
|
135
|
+
run();
|
|
136
|
+
emit('autoplayStart');
|
|
137
|
+
};
|
|
138
|
+
const stop = () => {
|
|
139
|
+
swiper.autoplay.running = false;
|
|
140
|
+
clearTimeout(timeout);
|
|
141
|
+
cancelAnimationFrame(raf);
|
|
142
|
+
emit('autoplayStop');
|
|
143
|
+
};
|
|
144
|
+
const pause = (internal, reset) => {
|
|
145
|
+
if (swiper.destroyed || !swiper.autoplay.running) return;
|
|
146
|
+
clearTimeout(timeout);
|
|
147
|
+
if (!internal) {
|
|
148
|
+
pausedByInteraction = true;
|
|
149
|
+
}
|
|
150
|
+
const proceed = () => {
|
|
151
|
+
emit('autoplayPause');
|
|
152
|
+
if (swiper.params.autoplay.waitForTransition) {
|
|
153
|
+
swiper.wrapperEl.addEventListener('transitionend', onTransitionEnd);
|
|
154
|
+
} else {
|
|
155
|
+
resume();
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
swiper.autoplay.paused = true;
|
|
159
|
+
if (reset) {
|
|
160
|
+
if (slideChanged) {
|
|
161
|
+
autoplayTimeLeft = swiper.params.autoplay.delay;
|
|
162
|
+
}
|
|
163
|
+
slideChanged = false;
|
|
164
|
+
proceed();
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
const delay = autoplayTimeLeft || swiper.params.autoplay.delay;
|
|
168
|
+
autoplayTimeLeft = delay - (new Date().getTime() - autoplayStartTime);
|
|
169
|
+
if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop) return;
|
|
170
|
+
if (autoplayTimeLeft < 0) autoplayTimeLeft = 0;
|
|
171
|
+
proceed();
|
|
172
|
+
};
|
|
173
|
+
const resume = () => {
|
|
174
|
+
if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop || swiper.destroyed || !swiper.autoplay.running) return;
|
|
175
|
+
autoplayStartTime = new Date().getTime();
|
|
176
|
+
if (pausedByInteraction) {
|
|
177
|
+
pausedByInteraction = false;
|
|
178
|
+
run(autoplayTimeLeft);
|
|
179
|
+
} else {
|
|
180
|
+
run();
|
|
181
|
+
}
|
|
182
|
+
swiper.autoplay.paused = false;
|
|
183
|
+
emit('autoplayResume');
|
|
184
|
+
};
|
|
185
|
+
const onVisibilityChange = () => {
|
|
186
|
+
if (swiper.destroyed || !swiper.autoplay.running) return;
|
|
187
|
+
const document = getDocument();
|
|
188
|
+
if (document.visibilityState === 'hidden') {
|
|
189
|
+
pausedByInteraction = true;
|
|
190
|
+
pause(true);
|
|
191
|
+
}
|
|
192
|
+
if (document.visibilityState === 'visible') {
|
|
193
|
+
resume();
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
const onPointerEnter = e => {
|
|
197
|
+
if (e.pointerType !== 'mouse') return;
|
|
198
|
+
pausedByInteraction = true;
|
|
199
|
+
pausedByPointerEnter = true;
|
|
200
|
+
if (swiper.animating || swiper.autoplay.paused) return;
|
|
201
|
+
pause(true);
|
|
202
|
+
};
|
|
203
|
+
const onPointerLeave = e => {
|
|
204
|
+
if (e.pointerType !== 'mouse') return;
|
|
205
|
+
pausedByPointerEnter = false;
|
|
206
|
+
if (swiper.autoplay.paused) {
|
|
207
|
+
resume();
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
const attachMouseEvents = () => {
|
|
211
|
+
if (swiper.params.autoplay.pauseOnMouseEnter) {
|
|
212
|
+
swiper.el.addEventListener('pointerenter', onPointerEnter);
|
|
213
|
+
swiper.el.addEventListener('pointerleave', onPointerLeave);
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
const detachMouseEvents = () => {
|
|
217
|
+
if (swiper.el && typeof swiper.el !== 'string') {
|
|
218
|
+
swiper.el.removeEventListener('pointerenter', onPointerEnter);
|
|
219
|
+
swiper.el.removeEventListener('pointerleave', onPointerLeave);
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
const attachDocumentEvents = () => {
|
|
223
|
+
const document = getDocument();
|
|
224
|
+
document.addEventListener('visibilitychange', onVisibilityChange);
|
|
225
|
+
};
|
|
226
|
+
const detachDocumentEvents = () => {
|
|
227
|
+
const document = getDocument();
|
|
228
|
+
document.removeEventListener('visibilitychange', onVisibilityChange);
|
|
229
|
+
};
|
|
230
|
+
on('init', () => {
|
|
231
|
+
if (swiper.params.autoplay.enabled) {
|
|
232
|
+
attachMouseEvents();
|
|
233
|
+
attachDocumentEvents();
|
|
234
|
+
start();
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
on('destroy', () => {
|
|
238
|
+
detachMouseEvents();
|
|
239
|
+
detachDocumentEvents();
|
|
240
|
+
if (swiper.autoplay.running) {
|
|
241
|
+
stop();
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
on('_freeModeStaticRelease', () => {
|
|
245
|
+
if (pausedByTouch || pausedByInteraction) {
|
|
246
|
+
resume();
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
on('_freeModeNoMomentumRelease', () => {
|
|
250
|
+
if (!swiper.params.autoplay.disableOnInteraction) {
|
|
251
|
+
pause(true, true);
|
|
252
|
+
} else {
|
|
253
|
+
stop();
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
on('beforeTransitionStart', (_s, speed, internal) => {
|
|
257
|
+
if (swiper.destroyed || !swiper.autoplay.running) return;
|
|
258
|
+
if (internal || !swiper.params.autoplay.disableOnInteraction) {
|
|
259
|
+
pause(true, true);
|
|
260
|
+
} else {
|
|
261
|
+
stop();
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
on('sliderFirstMove', () => {
|
|
265
|
+
if (swiper.destroyed || !swiper.autoplay.running) return;
|
|
266
|
+
if (swiper.params.autoplay.disableOnInteraction) {
|
|
267
|
+
stop();
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
isTouched = true;
|
|
271
|
+
pausedByTouch = false;
|
|
272
|
+
pausedByInteraction = false;
|
|
273
|
+
touchStartTimeout = setTimeout(() => {
|
|
274
|
+
pausedByInteraction = true;
|
|
275
|
+
pausedByTouch = true;
|
|
276
|
+
pause(true);
|
|
277
|
+
}, 200);
|
|
278
|
+
});
|
|
279
|
+
on('touchEnd', () => {
|
|
280
|
+
if (swiper.destroyed || !swiper.autoplay.running || !isTouched) return;
|
|
281
|
+
clearTimeout(touchStartTimeout);
|
|
282
|
+
clearTimeout(timeout);
|
|
283
|
+
if (swiper.params.autoplay.disableOnInteraction) {
|
|
284
|
+
pausedByTouch = false;
|
|
285
|
+
isTouched = false;
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
if (pausedByTouch && swiper.params.cssMode) resume();
|
|
289
|
+
pausedByTouch = false;
|
|
290
|
+
isTouched = false;
|
|
291
|
+
});
|
|
292
|
+
on('slideChange', () => {
|
|
293
|
+
if (swiper.destroyed || !swiper.autoplay.running) return;
|
|
294
|
+
slideChanged = true;
|
|
295
|
+
});
|
|
296
|
+
Object.assign(swiper.autoplay, {
|
|
297
|
+
start,
|
|
298
|
+
stop,
|
|
299
|
+
pause,
|
|
300
|
+
resume
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
export { Autoplay 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{n as nextTick,l as elementTransitionEnd}from"../shared/utils.min.mjs";function Controller(t){let{swiper:r,extendParams:e,on:n}=t;function o(t,r){const e=function(){let t,r,e;return(n,o)=>{for(r=-1,t=n.length;t-r>1;)e=t+r>>1,n[e]<=o?r=e:t=e;return t}}();let n,o;return this.x=t,this.y=r,this.lastIndex=t.length-1,this.interpolate=function(t){return t?(o=e(this.x,t),n=o-1,(t-this.x[n])*(this.y[o]-this.y[n])/(this.x[o]-this.x[n])+this.y[n]):0},this}function l(){r.controller.control&&r.controller.spline&&(r.controller.spline=void 0,delete r.controller.spline)}e({controller:{control:void 0,inverse:!1,by:"slide"}}),r.controller={control:void 0},n("beforeInit",(()=>{if("undefined"!=typeof window&&("string"==typeof r.params.controller.control||r.params.controller.control instanceof HTMLElement)){("string"==typeof r.params.controller.control?[...document.querySelectorAll(r.params.controller.control)]:[r.params.controller.control]).forEach((t=>{if(r.controller.control||(r.controller.control=[]),t&&t.swiper)r.controller.control.push(t.swiper);else if(t){const e=`${r.params.eventsPrefix}init`,n=o=>{r.controller.control.push(o.detail[0]),r.update(),t.removeEventListener(e,n)};t.addEventListener(e,n)}}))}else r.controller.control=r.params.controller.control})),n("update",(()=>{l()})),n("resize",(()=>{l()})),n("observerUpdate",(()=>{l()})),n("setTranslate",((t,e,n)=>{r.controller.control&&!r.controller.control.destroyed&&r.controller.setTranslate(e,n)})),n("setTransition",((t,e,n)=>{r.controller.control&&!r.controller.control.destroyed&&r.controller.setTransition(e,n)})),Object.assign(r.controller,{setTranslate:function(t,e){const n=r.controller.control;let l,s;const i=r.constructor;function a(t){if(t.destroyed)return;const e=r.rtlTranslate?-r.translate:r.translate;"slide"===r.params.controller.by&&(!function(t){r.controller.spline=r.params.loop?new o(r.slidesGrid,t.slidesGrid):new o(r.snapGrid,t.snapGrid)}(t),s=-r.controller.spline.interpolate(-e)),s&&"container"!==r.params.controller.by||(l=(t.maxTranslate()-t.minTranslate())/(r.maxTranslate()-r.minTranslate()),!Number.isNaN(l)&&Number.isFinite(l)||(l=1),s=(e-r.minTranslate())*l+t.minTranslate()),r.params.controller.inverse&&(s=t.maxTranslate()-s),t.updateProgress(s),t.setTranslate(s,r),t.updateActiveIndex(),t.updateSlidesClasses()}if(Array.isArray(n))for(let t=0;t<n.length;t+=1)n[t]!==e&&n[t]instanceof i&&a(n[t]);else n instanceof i&&e!==n&&a(n)},setTransition:function(t,e){const n=r.constructor,o=r.controller.control;let l;function s(e){e.destroyed||(e.setTransition(t,r),0!==t&&(e.transitionStart(),e.params.autoHeight&&nextTick((()=>{e.updateAutoHeight()})),elementTransitionEnd(e.wrapperEl,(()=>{o&&e.transitionEnd()}))))}if(Array.isArray(o))for(l=0;l<o.length;l+=1)o[l]!==e&&o[l]instanceof n&&s(o[l]);else o instanceof n&&e!==o&&s(o)}})}export{Controller as default};
|
|
2
|
+
//# sourceMappingURL=controller.min.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.mjs.mjs","names":["nextTick","elementTransitionEnd","Controller","_ref","swiper","extendParams","on","LinearSpline","x","y","binarySearch","maxIndex","minIndex","guess","array","val","length","i1","i3","this","lastIndex","interpolate","x2","removeSpline","controller","control","spline","undefined","inverse","by","window","params","HTMLElement","document","querySelectorAll","forEach","controlElement","push","eventName","eventsPrefix","onControllerSwiper","e","detail","update","removeEventListener","addEventListener","_s","translate","byController","destroyed","setTranslate","duration","setTransition","Object","assign","_t","controlled","multiplier","controlledTranslate","Swiper","constructor","setControlledTranslate","c","rtlTranslate","loop","slidesGrid","snapGrid","getInterpolateFunction","maxTranslate","minTranslate","Number","isNaN","isFinite","updateProgress","updateActiveIndex","updateSlidesClasses","Array","isArray","i","setControlledTransition","transitionStart","autoHeight","updateAutoHeight","wrapperEl","transitionEnd"],"sources":["0"],"mappings":"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"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { n as nextTick, l as elementTransitionEnd } from '../shared/utils.mjs';
|
|
2
|
+
|
|
3
|
+
/* eslint no-bitwise: ["error", { "allow": [">>"] }] */
|
|
4
|
+
function Controller(_ref) {
|
|
5
|
+
let {
|
|
6
|
+
swiper,
|
|
7
|
+
extendParams,
|
|
8
|
+
on
|
|
9
|
+
} = _ref;
|
|
10
|
+
extendParams({
|
|
11
|
+
controller: {
|
|
12
|
+
control: undefined,
|
|
13
|
+
inverse: false,
|
|
14
|
+
by: 'slide' // or 'container'
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
swiper.controller = {
|
|
19
|
+
control: undefined
|
|
20
|
+
};
|
|
21
|
+
function LinearSpline(x, y) {
|
|
22
|
+
const binarySearch = function search() {
|
|
23
|
+
let maxIndex;
|
|
24
|
+
let minIndex;
|
|
25
|
+
let guess;
|
|
26
|
+
return (array, val) => {
|
|
27
|
+
minIndex = -1;
|
|
28
|
+
maxIndex = array.length;
|
|
29
|
+
while (maxIndex - minIndex > 1) {
|
|
30
|
+
guess = maxIndex + minIndex >> 1;
|
|
31
|
+
if (array[guess] <= val) {
|
|
32
|
+
minIndex = guess;
|
|
33
|
+
} else {
|
|
34
|
+
maxIndex = guess;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return maxIndex;
|
|
38
|
+
};
|
|
39
|
+
}();
|
|
40
|
+
this.x = x;
|
|
41
|
+
this.y = y;
|
|
42
|
+
this.lastIndex = x.length - 1;
|
|
43
|
+
// Given an x value (x2), return the expected y2 value:
|
|
44
|
+
// (x1,y1) is the known point before given value,
|
|
45
|
+
// (x3,y3) is the known point after given value.
|
|
46
|
+
let i1;
|
|
47
|
+
let i3;
|
|
48
|
+
this.interpolate = function interpolate(x2) {
|
|
49
|
+
if (!x2) return 0;
|
|
50
|
+
|
|
51
|
+
// Get the indexes of x1 and x3 (the array indexes before and after given x2):
|
|
52
|
+
i3 = binarySearch(this.x, x2);
|
|
53
|
+
i1 = i3 - 1;
|
|
54
|
+
|
|
55
|
+
// We have our indexes i1 & i3, so we can calculate already:
|
|
56
|
+
// y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1
|
|
57
|
+
return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];
|
|
58
|
+
};
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
function getInterpolateFunction(c) {
|
|
62
|
+
swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid);
|
|
63
|
+
}
|
|
64
|
+
function setTranslate(_t, byController) {
|
|
65
|
+
const controlled = swiper.controller.control;
|
|
66
|
+
let multiplier;
|
|
67
|
+
let controlledTranslate;
|
|
68
|
+
const Swiper = swiper.constructor;
|
|
69
|
+
function setControlledTranslate(c) {
|
|
70
|
+
if (c.destroyed) return;
|
|
71
|
+
|
|
72
|
+
// this will create an Interpolate function based on the snapGrids
|
|
73
|
+
// x is the Grid of the scrolled scroller and y will be the controlled scroller
|
|
74
|
+
// it makes sense to create this only once and recall it for the interpolation
|
|
75
|
+
// the function does a lot of value caching for performance
|
|
76
|
+
const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;
|
|
77
|
+
if (swiper.params.controller.by === 'slide') {
|
|
78
|
+
getInterpolateFunction(c);
|
|
79
|
+
// i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid
|
|
80
|
+
// but it did not work out
|
|
81
|
+
controlledTranslate = -swiper.controller.spline.interpolate(-translate);
|
|
82
|
+
}
|
|
83
|
+
if (!controlledTranslate || swiper.params.controller.by === 'container') {
|
|
84
|
+
multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());
|
|
85
|
+
if (Number.isNaN(multiplier) || !Number.isFinite(multiplier)) {
|
|
86
|
+
multiplier = 1;
|
|
87
|
+
}
|
|
88
|
+
controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();
|
|
89
|
+
}
|
|
90
|
+
if (swiper.params.controller.inverse) {
|
|
91
|
+
controlledTranslate = c.maxTranslate() - controlledTranslate;
|
|
92
|
+
}
|
|
93
|
+
c.updateProgress(controlledTranslate);
|
|
94
|
+
c.setTranslate(controlledTranslate, swiper);
|
|
95
|
+
c.updateActiveIndex();
|
|
96
|
+
c.updateSlidesClasses();
|
|
97
|
+
}
|
|
98
|
+
if (Array.isArray(controlled)) {
|
|
99
|
+
for (let i = 0; i < controlled.length; i += 1) {
|
|
100
|
+
if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
|
|
101
|
+
setControlledTranslate(controlled[i]);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
} else if (controlled instanceof Swiper && byController !== controlled) {
|
|
105
|
+
setControlledTranslate(controlled);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
function setTransition(duration, byController) {
|
|
109
|
+
const Swiper = swiper.constructor;
|
|
110
|
+
const controlled = swiper.controller.control;
|
|
111
|
+
let i;
|
|
112
|
+
function setControlledTransition(c) {
|
|
113
|
+
if (c.destroyed) return;
|
|
114
|
+
c.setTransition(duration, swiper);
|
|
115
|
+
if (duration !== 0) {
|
|
116
|
+
c.transitionStart();
|
|
117
|
+
if (c.params.autoHeight) {
|
|
118
|
+
nextTick(() => {
|
|
119
|
+
c.updateAutoHeight();
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
elementTransitionEnd(c.wrapperEl, () => {
|
|
123
|
+
if (!controlled) return;
|
|
124
|
+
c.transitionEnd();
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
if (Array.isArray(controlled)) {
|
|
129
|
+
for (i = 0; i < controlled.length; i += 1) {
|
|
130
|
+
if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
|
|
131
|
+
setControlledTransition(controlled[i]);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
} else if (controlled instanceof Swiper && byController !== controlled) {
|
|
135
|
+
setControlledTransition(controlled);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
function removeSpline() {
|
|
139
|
+
if (!swiper.controller.control) return;
|
|
140
|
+
if (swiper.controller.spline) {
|
|
141
|
+
swiper.controller.spline = undefined;
|
|
142
|
+
delete swiper.controller.spline;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
on('beforeInit', () => {
|
|
146
|
+
if (typeof window !== 'undefined' && (
|
|
147
|
+
// eslint-disable-line
|
|
148
|
+
typeof swiper.params.controller.control === 'string' || swiper.params.controller.control instanceof HTMLElement)) {
|
|
149
|
+
const controlElements = typeof swiper.params.controller.control === 'string' ? [...document.querySelectorAll(swiper.params.controller.control)] : [swiper.params.controller.control];
|
|
150
|
+
controlElements.forEach(controlElement => {
|
|
151
|
+
if (!swiper.controller.control) swiper.controller.control = [];
|
|
152
|
+
if (controlElement && controlElement.swiper) {
|
|
153
|
+
swiper.controller.control.push(controlElement.swiper);
|
|
154
|
+
} else if (controlElement) {
|
|
155
|
+
const eventName = `${swiper.params.eventsPrefix}init`;
|
|
156
|
+
const onControllerSwiper = e => {
|
|
157
|
+
swiper.controller.control.push(e.detail[0]);
|
|
158
|
+
swiper.update();
|
|
159
|
+
controlElement.removeEventListener(eventName, onControllerSwiper);
|
|
160
|
+
};
|
|
161
|
+
controlElement.addEventListener(eventName, onControllerSwiper);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
swiper.controller.control = swiper.params.controller.control;
|
|
167
|
+
});
|
|
168
|
+
on('update', () => {
|
|
169
|
+
removeSpline();
|
|
170
|
+
});
|
|
171
|
+
on('resize', () => {
|
|
172
|
+
removeSpline();
|
|
173
|
+
});
|
|
174
|
+
on('observerUpdate', () => {
|
|
175
|
+
removeSpline();
|
|
176
|
+
});
|
|
177
|
+
on('setTranslate', (_s, translate, byController) => {
|
|
178
|
+
if (!swiper.controller.control || swiper.controller.control.destroyed) return;
|
|
179
|
+
swiper.controller.setTranslate(translate, byController);
|
|
180
|
+
});
|
|
181
|
+
on('setTransition', (_s, duration, byController) => {
|
|
182
|
+
if (!swiper.controller.control || swiper.controller.control.destroyed) return;
|
|
183
|
+
swiper.controller.setTransition(duration, byController);
|
|
184
|
+
});
|
|
185
|
+
Object.assign(swiper.controller, {
|
|
186
|
+
setTranslate,
|
|
187
|
+
setTransition
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
export { Controller as default };
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.swiper.swiper-cards{overflow:visible}.swiper-cards ::slotted(swiper-slide){transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{c as createShadow}from"../shared/create-shadow.min.mjs";import{e as effectInit}from"../shared/effect-init.min.mjs";import{e as effectTarget}from"../shared/effect-target.min.mjs";import{e as effectVirtualTransitionEnd}from"../shared/effect-virtual-transition-end.min.mjs";import{g as getSlideTransformEl}from"../shared/utils.min.mjs";function EffectCards(e){let{swiper:t,extendParams:a,on:s}=e;a({cardsEffect:{slideShadows:!0,rotate:!0,perSlideRotate:2,perSlideOffset:8}});effectInit({effect:"cards",swiper:t,on:s,setTranslate:()=>{const{slides:e,activeIndex:a,rtlTranslate:s}=t,r=t.params.cardsEffect,{startTranslate:i,isTouched:o}=t.touchEventsData,n=s?-t.translate:t.translate;for(let l=0;l<e.length;l+=1){const d=e[l],c=d.progress,f=Math.min(Math.max(c,-4),4);let m=d.swiperSlideOffset;t.params.centeredSlides&&!t.params.cssMode&&(t.wrapperEl.style.transform=`translateX(${t.minTranslate()}px)`),t.params.centeredSlides&&t.params.cssMode&&(m-=e[0].swiperSlideOffset);let p=t.params.cssMode?-m-t.translate:-m,h=0;const M=-100*Math.abs(f);let S=1,u=-r.perSlideRotate*f,w=r.perSlideOffset-.75*Math.abs(f);const $=t.virtual&&t.params.virtual.enabled?t.virtual.from+l:l,E=($===a||$===a-1)&&f>0&&f<1&&(o||t.params.cssMode)&&n<i,T=($===a||$===a+1)&&f<0&&f>-1&&(o||t.params.cssMode)&&n>i;if(E||T){const e=(1-Math.abs((Math.abs(f)-.5)/.5))**.5;u+=-28*f*e,S+=-.5*e,w+=96*e,h=-25*e*Math.abs(f)+"%"}if(p=f<0?`calc(${p}px ${s?"-":"+"} (${w*Math.abs(f)}%))`:f>0?`calc(${p}px ${s?"-":"+"} (-${w*Math.abs(f)}%))`:`${p}px`,!t.isHorizontal()){const e=h;h=p,p=e}const g=f<0?""+(1+(1-S)*f):""+(1-(1-S)*f),x=`\n translate3d(${p}, ${h}, ${M}px)\n rotateZ(${r.rotate?s?-u:u:0}deg)\n scale(${g})\n `;if(r.slideShadows){let e=d.querySelector(".swiper-slide-shadow");e||(e=createShadow("cards",d)),e&&(e.style.opacity=Math.min(Math.max((Math.abs(f)-.5)/.5,0),1))}d.style.zIndex=-Math.abs(Math.round(c))+e.length;effectTarget(r,d).style.transform=x}},setTransition:e=>{const a=t.slides.map((e=>getSlideTransformEl(e)));a.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),effectVirtualTransitionEnd({swiper:t,duration:e,transformElements:a})},perspective:()=>!0,overwriteParams:()=>({_loopSwapReset:!1,watchSlidesProgress:!0,loopAdditionalSlides:t.params.cardsEffect.rotate?3:2,centeredSlides:!0,virtualTranslate:!t.params.cssMode})})}export{EffectCards as default};
|
|
2
|
+
//# sourceMappingURL=effect-cards.min.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-cards.mjs.mjs","names":["createShadow","effectInit","effectTarget","effectVirtualTransitionEnd","getSlideTransformEl","EffectCards","_ref","swiper","extendParams","on","cardsEffect","slideShadows","rotate","perSlideRotate","perSlideOffset","effect","setTranslate","slides","activeIndex","rtlTranslate","rtl","params","startTranslate","isTouched","touchEventsData","currentTranslate","translate","i","length","slideEl","slideProgress","progress","Math","min","max","offset","swiperSlideOffset","centeredSlides","cssMode","wrapperEl","style","transform","minTranslate","tX","tY","tZ","abs","scale","tXAdd","slideIndex","virtual","enabled","from","isSwipeToNext","isSwipeToPrev","subProgress","isHorizontal","prevY","scaleString","shadowEl","querySelector","opacity","zIndex","round","setTransition","duration","transformElements","map","forEach","el","transitionDuration","querySelectorAll","perspective","overwriteParams","_loopSwapReset","watchSlidesProgress","loopAdditionalSlides","virtualTranslate"],"sources":["0"],"mappings":"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"}
|