@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.
Files changed (321) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +11 -0
  3. package/modules/a11y-element.css +9 -0
  4. package/modules/a11y-element.min.css +1 -0
  5. package/modules/a11y.css +9 -0
  6. package/modules/a11y.less +9 -0
  7. package/modules/a11y.min.css +1 -0
  8. package/modules/a11y.min.mjs +2 -0
  9. package/modules/a11y.min.mjs.map +1 -0
  10. package/modules/a11y.mjs +377 -0
  11. package/modules/a11y.scss +9 -0
  12. package/modules/autoplay-element.css +0 -0
  13. package/modules/autoplay-element.min.css +0 -0
  14. package/modules/autoplay.css +0 -0
  15. package/modules/autoplay.less +0 -0
  16. package/modules/autoplay.min.css +0 -0
  17. package/modules/autoplay.min.mjs +2 -0
  18. package/modules/autoplay.min.mjs.map +1 -0
  19. package/modules/autoplay.mjs +304 -0
  20. package/modules/autoplay.scss +0 -0
  21. package/modules/controller-element.css +0 -0
  22. package/modules/controller-element.min.css +0 -0
  23. package/modules/controller.css +0 -0
  24. package/modules/controller.less +0 -0
  25. package/modules/controller.min.css +0 -0
  26. package/modules/controller.min.mjs +2 -0
  27. package/modules/controller.min.mjs.map +1 -0
  28. package/modules/controller.mjs +191 -0
  29. package/modules/controller.scss +0 -0
  30. package/modules/effect-cards-element.css +9 -0
  31. package/modules/effect-cards-element.min.css +1 -0
  32. package/modules/effect-cards.css +9 -0
  33. package/modules/effect-cards.less +10 -0
  34. package/modules/effect-cards.min.css +1 -0
  35. package/modules/effect-cards.min.mjs +2 -0
  36. package/modules/effect-cards.min.mjs.map +1 -0
  37. package/modules/effect-cards.mjs +128 -0
  38. package/modules/effect-cards.scss +10 -0
  39. package/modules/effect-coverflow-element.css +0 -0
  40. package/modules/effect-coverflow-element.min.css +0 -0
  41. package/modules/effect-coverflow.css +0 -0
  42. package/modules/effect-coverflow.less +2 -0
  43. package/modules/effect-coverflow.min.css +0 -0
  44. package/modules/effect-coverflow.min.mjs +2 -0
  45. package/modules/effect-coverflow.min.mjs.map +1 -0
  46. package/modules/effect-coverflow.mjs +104 -0
  47. package/modules/effect-coverflow.scss +2 -0
  48. package/modules/effect-creative-element.css +6 -0
  49. package/modules/effect-creative-element.min.css +1 -0
  50. package/modules/effect-creative.css +6 -0
  51. package/modules/effect-creative.less +7 -0
  52. package/modules/effect-creative.min.css +1 -0
  53. package/modules/effect-creative.min.mjs +2 -0
  54. package/modules/effect-creative.min.mjs.map +1 -0
  55. package/modules/effect-creative.mjs +146 -0
  56. package/modules/effect-creative.scss +7 -0
  57. package/modules/effect-cube-element.css +53 -0
  58. package/modules/effect-cube-element.min.css +1 -0
  59. package/modules/effect-cube.css +62 -0
  60. package/modules/effect-cube.less +71 -0
  61. package/modules/effect-cube.min.css +1 -0
  62. package/modules/effect-cube.min.mjs +2 -0
  63. package/modules/effect-cube.min.mjs.map +1 -0
  64. package/modules/effect-cube.mjs +174 -0
  65. package/modules/effect-cube.scss +71 -0
  66. package/modules/effect-fade-element.css +16 -0
  67. package/modules/effect-fade-element.min.css +1 -0
  68. package/modules/effect-fade.css +16 -0
  69. package/modules/effect-fade.less +20 -0
  70. package/modules/effect-fade.min.css +1 -0
  71. package/modules/effect-fade.min.mjs +2 -0
  72. package/modules/effect-fade.min.mjs.map +1 -0
  73. package/modules/effect-fade.mjs +66 -0
  74. package/modules/effect-fade.scss +20 -0
  75. package/modules/effect-flip-element.css +17 -0
  76. package/modules/effect-flip-element.min.css +1 -0
  77. package/modules/effect-flip.css +26 -0
  78. package/modules/effect-flip.less +30 -0
  79. package/modules/effect-flip.min.css +1 -0
  80. package/modules/effect-flip.min.mjs +2 -0
  81. package/modules/effect-flip.min.mjs.map +1 -0
  82. package/modules/effect-flip.mjs +111 -0
  83. package/modules/effect-flip.scss +30 -0
  84. package/modules/free-mode-element.css +4 -0
  85. package/modules/free-mode-element.min.css +1 -0
  86. package/modules/free-mode.css +4 -0
  87. package/modules/free-mode.less +4 -0
  88. package/modules/free-mode.min.css +1 -0
  89. package/modules/free-mode.min.mjs +2 -0
  90. package/modules/free-mode.min.mjs.map +1 -0
  91. package/modules/free-mode.mjs +237 -0
  92. package/modules/free-mode.scss +4 -0
  93. package/modules/grid-element.css +7 -0
  94. package/modules/grid-element.min.css +1 -0
  95. package/modules/grid.css +7 -0
  96. package/modules/grid.less +7 -0
  97. package/modules/grid.min.css +1 -0
  98. package/modules/grid.min.mjs +2 -0
  99. package/modules/grid.min.mjs.map +1 -0
  100. package/modules/grid.mjs +155 -0
  101. package/modules/grid.scss +7 -0
  102. package/modules/hash-navigation-element.css +0 -0
  103. package/modules/hash-navigation-element.min.css +0 -0
  104. package/modules/hash-navigation.css +0 -0
  105. package/modules/hash-navigation.less +2 -0
  106. package/modules/hash-navigation.min.css +0 -0
  107. package/modules/hash-navigation.min.mjs +2 -0
  108. package/modules/hash-navigation.min.mjs.map +1 -0
  109. package/modules/hash-navigation.mjs +93 -0
  110. package/modules/hash-navigation.scss +0 -0
  111. package/modules/history-element.css +0 -0
  112. package/modules/history-element.min.css +0 -0
  113. package/modules/history.css +0 -0
  114. package/modules/history.less +0 -0
  115. package/modules/history.min.css +0 -0
  116. package/modules/history.min.mjs +2 -0
  117. package/modules/history.min.mjs.map +1 -0
  118. package/modules/history.mjs +142 -0
  119. package/modules/history.scss +0 -0
  120. package/modules/index.min.mjs +2 -0
  121. package/modules/index.min.mjs.map +1 -0
  122. package/modules/index.mjs +23 -0
  123. package/modules/keyboard-element.css +0 -0
  124. package/modules/keyboard-element.min.css +0 -0
  125. package/modules/keyboard.css +0 -0
  126. package/modules/keyboard.less +0 -0
  127. package/modules/keyboard.min.css +0 -0
  128. package/modules/keyboard.min.mjs +2 -0
  129. package/modules/keyboard.min.mjs.map +1 -0
  130. package/modules/keyboard.mjs +117 -0
  131. package/modules/keyboard.scss +0 -0
  132. package/modules/manipulation-element.css +0 -0
  133. package/modules/manipulation-element.min.css +0 -0
  134. package/modules/manipulation.css +0 -0
  135. package/modules/manipulation.less +0 -0
  136. package/modules/manipulation.min.css +0 -0
  137. package/modules/manipulation.min.mjs +2 -0
  138. package/modules/manipulation.min.mjs.map +1 -0
  139. package/modules/manipulation.mjs +193 -0
  140. package/modules/manipulation.scss +0 -0
  141. package/modules/mousewheel-element.css +0 -0
  142. package/modules/mousewheel-element.min.css +0 -0
  143. package/modules/mousewheel.css +0 -0
  144. package/modules/mousewheel.less +0 -0
  145. package/modules/mousewheel.min.css +0 -0
  146. package/modules/mousewheel.min.mjs +2 -0
  147. package/modules/mousewheel.min.mjs.map +1 -0
  148. package/modules/mousewheel.mjs +395 -0
  149. package/modules/mousewheel.scss +0 -0
  150. package/modules/navigation-element.css +63 -0
  151. package/modules/navigation-element.min.css +1 -0
  152. package/modules/navigation.css +86 -0
  153. package/modules/navigation.less +86 -0
  154. package/modules/navigation.min.css +1 -0
  155. package/modules/navigation.min.mjs +2 -0
  156. package/modules/navigation.min.mjs.map +1 -0
  157. package/modules/navigation.mjs +200 -0
  158. package/modules/navigation.scss +87 -0
  159. package/modules/pagination-element.css +184 -0
  160. package/modules/pagination-element.min.css +1 -0
  161. package/modules/pagination.css +184 -0
  162. package/modules/pagination.less +187 -0
  163. package/modules/pagination.min.css +1 -0
  164. package/modules/pagination.min.mjs +2 -0
  165. package/modules/pagination.min.mjs.map +1 -0
  166. package/modules/pagination.mjs +467 -0
  167. package/modules/pagination.scss +188 -0
  168. package/modules/parallax-element.css +0 -0
  169. package/modules/parallax-element.min.css +0 -0
  170. package/modules/parallax.css +0 -0
  171. package/modules/parallax.less +0 -0
  172. package/modules/parallax.min.css +0 -0
  173. package/modules/parallax.min.mjs +2 -0
  174. package/modules/parallax.min.mjs.map +1 -0
  175. package/modules/parallax.mjs +124 -0
  176. package/modules/parallax.scss +0 -0
  177. package/modules/scrollbar-element.css +58 -0
  178. package/modules/scrollbar-element.min.css +1 -0
  179. package/modules/scrollbar.css +58 -0
  180. package/modules/scrollbar.less +59 -0
  181. package/modules/scrollbar.min.css +1 -0
  182. package/modules/scrollbar.min.mjs +2 -0
  183. package/modules/scrollbar.min.mjs.map +1 -0
  184. package/modules/scrollbar.mjs +366 -0
  185. package/modules/scrollbar.scss +61 -0
  186. package/modules/thumbs-element.css +0 -0
  187. package/modules/thumbs-element.min.css +0 -0
  188. package/modules/thumbs.css +0 -0
  189. package/modules/thumbs.less +5 -0
  190. package/modules/thumbs.min.css +0 -0
  191. package/modules/thumbs.min.mjs +2 -0
  192. package/modules/thumbs.min.mjs.map +1 -0
  193. package/modules/thumbs.mjs +197 -0
  194. package/modules/thumbs.scss +5 -0
  195. package/modules/virtual-element.css +19 -0
  196. package/modules/virtual-element.min.css +1 -0
  197. package/modules/virtual.css +19 -0
  198. package/modules/virtual.less +26 -0
  199. package/modules/virtual.min.css +1 -0
  200. package/modules/virtual.min.mjs +2 -0
  201. package/modules/virtual.min.mjs.map +1 -0
  202. package/modules/virtual.mjs +349 -0
  203. package/modules/virtual.scss +26 -0
  204. package/modules/zoom-element.css +5 -0
  205. package/modules/zoom-element.min.css +1 -0
  206. package/modules/zoom.css +21 -0
  207. package/modules/zoom.less +23 -0
  208. package/modules/zoom.min.css +1 -0
  209. package/modules/zoom.min.mjs +2 -0
  210. package/modules/zoom.min.mjs.map +1 -0
  211. package/modules/zoom.mjs +701 -0
  212. package/modules/zoom.scss +21 -0
  213. package/package.json +213 -0
  214. package/shared/classes-to-selector.min.mjs +2 -0
  215. package/shared/classes-to-selector.min.mjs.map +1 -0
  216. package/shared/classes-to-selector.mjs +9 -0
  217. package/shared/create-element-if-not-defined.min.mjs +2 -0
  218. package/shared/create-element-if-not-defined.min.mjs.map +1 -0
  219. package/shared/create-element-if-not-defined.mjs +21 -0
  220. package/shared/create-shadow.min.mjs +2 -0
  221. package/shared/create-shadow.min.mjs.map +1 -0
  222. package/shared/create-shadow.mjs +14 -0
  223. package/shared/effect-init.min.mjs +2 -0
  224. package/shared/effect-init.min.mjs.map +1 -0
  225. package/shared/effect-init.mjs +58 -0
  226. package/shared/effect-target.min.mjs +2 -0
  227. package/shared/effect-target.min.mjs.map +1 -0
  228. package/shared/effect-target.mjs +12 -0
  229. package/shared/effect-virtual-transition-end.min.mjs +2 -0
  230. package/shared/effect-virtual-transition-end.min.mjs.map +1 -0
  231. package/shared/effect-virtual-transition-end.mjs +48 -0
  232. package/shared/get-element-params.min.mjs +2 -0
  233. package/shared/get-element-params.min.mjs.map +1 -0
  234. package/shared/get-element-params.mjs +113 -0
  235. package/shared/ssr-window.esm.min.mjs +2 -0
  236. package/shared/ssr-window.esm.min.mjs.map +1 -0
  237. package/shared/ssr-window.esm.mjs +146 -0
  238. package/shared/swiper-core.min.mjs +2 -0
  239. package/shared/swiper-core.min.mjs.map +1 -0
  240. package/shared/swiper-core.mjs +3969 -0
  241. package/shared/update-on-virtual-data.min.mjs +2 -0
  242. package/shared/update-on-virtual-data.min.mjs.map +1 -0
  243. package/shared/update-on-virtual-data.mjs +131 -0
  244. package/shared/update-swiper.min.mjs +2 -0
  245. package/shared/update-swiper.min.mjs.map +1 -0
  246. package/shared/update-swiper.mjs +238 -0
  247. package/shared/utils.min.mjs +2 -0
  248. package/shared/utils.min.mjs.map +1 -0
  249. package/shared/utils.mjs +343 -0
  250. package/swiper-bundle.css +735 -0
  251. package/swiper-bundle.js +9870 -0
  252. package/swiper-bundle.min.css +13 -0
  253. package/swiper-bundle.min.js +14 -0
  254. package/swiper-bundle.min.js.map +1 -0
  255. package/swiper-bundle.min.mjs +14 -0
  256. package/swiper-bundle.min.mjs.map +1 -0
  257. package/swiper-bundle.mjs +42 -0
  258. package/swiper-effect-utils.d.ts +28 -0
  259. package/swiper-effect-utils.min.mjs +14 -0
  260. package/swiper-effect-utils.min.mjs.map +1 -0
  261. package/swiper-effect-utils.mjs +17 -0
  262. package/swiper-element-bundle.js +10477 -0
  263. package/swiper-element-bundle.min.js +14 -0
  264. package/swiper-element-bundle.min.js.map +1 -0
  265. package/swiper-element-bundle.min.mjs +14 -0
  266. package/swiper-element-bundle.min.mjs.map +1 -0
  267. package/swiper-element-bundle.mjs +288 -0
  268. package/swiper-element.d.ts +444 -0
  269. package/swiper-element.js +5037 -0
  270. package/swiper-element.min.js +14 -0
  271. package/swiper-element.min.js.map +1 -0
  272. package/swiper-element.min.mjs +14 -0
  273. package/swiper-element.min.mjs.map +1 -0
  274. package/swiper-element.mjs +287 -0
  275. package/swiper-react.d.ts +501 -0
  276. package/swiper-react.mjs +394 -0
  277. package/swiper-vars.less +1 -0
  278. package/swiper-vars.scss +1 -0
  279. package/swiper-vue.d.ts +866 -0
  280. package/swiper-vue.mjs +838 -0
  281. package/swiper.css +228 -0
  282. package/swiper.d.ts +5 -0
  283. package/swiper.js +4418 -0
  284. package/swiper.less +251 -0
  285. package/swiper.min.css +13 -0
  286. package/swiper.min.js +14 -0
  287. package/swiper.min.js.map +1 -0
  288. package/swiper.min.mjs +14 -0
  289. package/swiper.min.mjs.map +1 -0
  290. package/swiper.mjs +13 -0
  291. package/swiper.scss +252 -0
  292. package/types/index.d.ts +6 -0
  293. package/types/modules/a11y.d.ts +110 -0
  294. package/types/modules/autoplay.d.ts +133 -0
  295. package/types/modules/controller.d.ts +35 -0
  296. package/types/modules/effect-cards.d.ts +33 -0
  297. package/types/modules/effect-coverflow.d.ts +45 -0
  298. package/types/modules/effect-creative.d.ts +86 -0
  299. package/types/modules/effect-cube.d.ts +30 -0
  300. package/types/modules/effect-fade.d.ts +12 -0
  301. package/types/modules/effect-flip.d.ts +18 -0
  302. package/types/modules/free-mode.d.ts +64 -0
  303. package/types/modules/grid.d.ts +21 -0
  304. package/types/modules/hash-navigation.d.ts +38 -0
  305. package/types/modules/history.d.ts +43 -0
  306. package/types/modules/index.d.ts +51 -0
  307. package/types/modules/keyboard.d.ts +46 -0
  308. package/types/modules/manipulation.d.ts +70 -0
  309. package/types/modules/mousewheel.d.ts +86 -0
  310. package/types/modules/navigation.d.ts +105 -0
  311. package/types/modules/pagination.d.ts +307 -0
  312. package/types/modules/parallax.d.ts +12 -0
  313. package/types/modules/public-api.d.ts +23 -0
  314. package/types/modules/scrollbar.d.ts +140 -0
  315. package/types/modules/thumbs.d.ts +54 -0
  316. package/types/modules/virtual.d.ts +135 -0
  317. package/types/modules/zoom.d.ts +91 -0
  318. package/types/shared.d.ts +13 -0
  319. package/types/swiper-class.d.ts +522 -0
  320. package/types/swiper-events.d.ts +359 -0
  321. 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