@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
package/swiper-vue.mjs ADDED
@@ -0,0 +1,838 @@
1
+ /**
2
+ * Swiper Vue 0.0.7
3
+ * Gem SDK - Swiper, Customized of swiper
4
+ * https://swiperjs.com
5
+ *
6
+ * Copyright 2014-2025 GemPages
7
+ *
8
+ * Released under the MIT License
9
+ *
10
+ * Released on: October 9, 2025
11
+ */
12
+
13
+ import { h, ref, onUpdated, provide, watch, nextTick, onMounted, onBeforeUnmount, onBeforeUpdate, computed, inject } from 'vue';
14
+ import { S as Swiper$1 } from './shared/swiper-core.mjs';
15
+ import { g as getParams, a as getChangedParams, u as updateOnVirtualData, m as mountSwiper } from './shared/update-on-virtual-data.mjs';
16
+ import { e as extend, u as updateSwiper, d as uniqueClasses, w as wrapperClass, n as needsNavigation, b as needsScrollbar, a as needsPagination } from './shared/update-swiper.mjs';
17
+
18
+ function getChildren(originalSlots, slidesRef, oldSlidesRef) {
19
+ if (originalSlots === void 0) {
20
+ originalSlots = {};
21
+ }
22
+ const slides = [];
23
+ const slots = {
24
+ 'container-start': [],
25
+ 'container-end': [],
26
+ 'wrapper-start': [],
27
+ 'wrapper-end': []
28
+ };
29
+ const getSlidesFromElements = (els, slotName) => {
30
+ if (!Array.isArray(els)) {
31
+ return;
32
+ }
33
+ els.forEach(vnode => {
34
+ const isFragment = typeof vnode.type === 'symbol';
35
+ if (slotName === 'default') slotName = 'container-end';
36
+ if (isFragment && vnode.children) {
37
+ getSlidesFromElements(vnode.children, slotName);
38
+ } else if (vnode.type && (vnode.type.name === 'SwiperSlide' || vnode.type.name === 'AsyncComponentWrapper') || vnode.componentOptions && vnode.componentOptions.tag === 'SwiperSlide') {
39
+ slides.push(vnode);
40
+ } else if (slots[slotName]) {
41
+ slots[slotName].push(vnode);
42
+ }
43
+ });
44
+ };
45
+ Object.keys(originalSlots).forEach(slotName => {
46
+ if (typeof originalSlots[slotName] !== 'function') return;
47
+ const els = originalSlots[slotName]();
48
+ getSlidesFromElements(els, slotName);
49
+ });
50
+ oldSlidesRef.value = slidesRef.value;
51
+ slidesRef.value = slides;
52
+ return {
53
+ slides,
54
+ slots
55
+ };
56
+ }
57
+
58
+ function renderVirtual(swiperRef, slides, virtualData) {
59
+ if (!virtualData) return null;
60
+ const getSlideIndex = index => {
61
+ let slideIndex = index;
62
+ if (index < 0) {
63
+ slideIndex = slides.length + index;
64
+ } else if (slideIndex >= slides.length) {
65
+ // eslint-disable-next-line
66
+ slideIndex = slideIndex - slides.length;
67
+ }
68
+ return slideIndex;
69
+ };
70
+ const style = swiperRef.value.isHorizontal() ? {
71
+ [swiperRef.value.rtlTranslate ? 'right' : 'left']: `${virtualData.offset}px`
72
+ } : {
73
+ top: `${virtualData.offset}px`
74
+ };
75
+ const {
76
+ from,
77
+ to
78
+ } = virtualData;
79
+ const loopFrom = swiperRef.value.params.loop ? -slides.length : 0;
80
+ const loopTo = swiperRef.value.params.loop ? slides.length * 2 : slides.length;
81
+ const slidesToRender = [];
82
+ for (let i = loopFrom; i < loopTo; i += 1) {
83
+ if (i >= from && i <= to && slidesToRender.length < slides.length) {
84
+ slidesToRender.push(slides[getSlideIndex(i)]);
85
+ }
86
+ }
87
+ return slidesToRender.map(slide => {
88
+ if (!slide.props) slide.props = {};
89
+ if (!slide.props.style) slide.props.style = {};
90
+ slide.props.swiperRef = swiperRef;
91
+ slide.props.style = style;
92
+ if (slide.type) {
93
+ return h(slide.type, {
94
+ ...slide.props
95
+ }, slide.children);
96
+ } else if (slide.componentOptions) {
97
+ return h(slide.componentOptions.Ctor, {
98
+ ...slide.props
99
+ }, slide.componentOptions.children);
100
+ }
101
+ });
102
+ }
103
+
104
+ const Swiper = {
105
+ name: 'Swiper',
106
+ props: {
107
+ tag: {
108
+ type: String,
109
+ default: 'div'
110
+ },
111
+ wrapperTag: {
112
+ type: String,
113
+ default: 'div'
114
+ },
115
+ modules: {
116
+ type: Array,
117
+ default: undefined
118
+ },
119
+ init: {
120
+ type: Boolean,
121
+ default: undefined
122
+ },
123
+ direction: {
124
+ type: String,
125
+ default: undefined
126
+ },
127
+ oneWayMovement: {
128
+ type: Boolean,
129
+ default: undefined
130
+ },
131
+ swiperElementNodeName: {
132
+ type: String,
133
+ default: 'SWIPER-CONTAINER'
134
+ },
135
+ touchEventsTarget: {
136
+ type: String,
137
+ default: undefined
138
+ },
139
+ initialSlide: {
140
+ type: Number,
141
+ default: undefined
142
+ },
143
+ speed: {
144
+ type: Number,
145
+ default: undefined
146
+ },
147
+ cssMode: {
148
+ type: Boolean,
149
+ default: undefined
150
+ },
151
+ updateOnWindowResize: {
152
+ type: Boolean,
153
+ default: undefined
154
+ },
155
+ resizeObserver: {
156
+ type: Boolean,
157
+ default: undefined
158
+ },
159
+ nested: {
160
+ type: Boolean,
161
+ default: undefined
162
+ },
163
+ focusableElements: {
164
+ type: String,
165
+ default: undefined
166
+ },
167
+ width: {
168
+ type: Number,
169
+ default: undefined
170
+ },
171
+ height: {
172
+ type: Number,
173
+ default: undefined
174
+ },
175
+ preventInteractionOnTransition: {
176
+ type: Boolean,
177
+ default: undefined
178
+ },
179
+ userAgent: {
180
+ type: String,
181
+ default: undefined
182
+ },
183
+ url: {
184
+ type: String,
185
+ default: undefined
186
+ },
187
+ edgeSwipeDetection: {
188
+ type: [Boolean, String],
189
+ default: undefined
190
+ },
191
+ edgeSwipeThreshold: {
192
+ type: Number,
193
+ default: undefined
194
+ },
195
+ autoHeight: {
196
+ type: Boolean,
197
+ default: undefined
198
+ },
199
+ setWrapperSize: {
200
+ type: Boolean,
201
+ default: undefined
202
+ },
203
+ virtualTranslate: {
204
+ type: Boolean,
205
+ default: undefined
206
+ },
207
+ effect: {
208
+ type: String,
209
+ default: undefined
210
+ },
211
+ breakpoints: {
212
+ type: Object,
213
+ default: undefined
214
+ },
215
+ breakpointsBase: {
216
+ type: String,
217
+ default: undefined
218
+ },
219
+ spaceBetween: {
220
+ type: [Number, String],
221
+ default: undefined
222
+ },
223
+ slidesPerView: {
224
+ type: [Number, String],
225
+ default: undefined
226
+ },
227
+ maxBackfaceHiddenSlides: {
228
+ type: Number,
229
+ default: undefined
230
+ },
231
+ slidesPerGroup: {
232
+ type: Number,
233
+ default: undefined
234
+ },
235
+ slidesPerGroupSkip: {
236
+ type: Number,
237
+ default: undefined
238
+ },
239
+ slidesPerGroupAuto: {
240
+ type: Boolean,
241
+ default: undefined
242
+ },
243
+ centeredSlides: {
244
+ type: Boolean,
245
+ default: undefined
246
+ },
247
+ centeredSlidesBounds: {
248
+ type: Boolean,
249
+ default: undefined
250
+ },
251
+ slidesOffsetBefore: {
252
+ type: Number,
253
+ default: undefined
254
+ },
255
+ slidesOffsetAfter: {
256
+ type: Number,
257
+ default: undefined
258
+ },
259
+ normalizeSlideIndex: {
260
+ type: Boolean,
261
+ default: undefined
262
+ },
263
+ centerInsufficientSlides: {
264
+ type: Boolean,
265
+ default: undefined
266
+ },
267
+ watchOverflow: {
268
+ type: Boolean,
269
+ default: undefined
270
+ },
271
+ roundLengths: {
272
+ type: Boolean,
273
+ default: undefined
274
+ },
275
+ touchRatio: {
276
+ type: Number,
277
+ default: undefined
278
+ },
279
+ touchAngle: {
280
+ type: Number,
281
+ default: undefined
282
+ },
283
+ simulateTouch: {
284
+ type: Boolean,
285
+ default: undefined
286
+ },
287
+ shortSwipes: {
288
+ type: Boolean,
289
+ default: undefined
290
+ },
291
+ longSwipes: {
292
+ type: Boolean,
293
+ default: undefined
294
+ },
295
+ longSwipesRatio: {
296
+ type: Number,
297
+ default: undefined
298
+ },
299
+ longSwipesMs: {
300
+ type: Number,
301
+ default: undefined
302
+ },
303
+ followFinger: {
304
+ type: Boolean,
305
+ default: undefined
306
+ },
307
+ allowTouchMove: {
308
+ type: Boolean,
309
+ default: undefined
310
+ },
311
+ threshold: {
312
+ type: Number,
313
+ default: undefined
314
+ },
315
+ touchMoveStopPropagation: {
316
+ type: Boolean,
317
+ default: undefined
318
+ },
319
+ touchStartPreventDefault: {
320
+ type: Boolean,
321
+ default: undefined
322
+ },
323
+ touchStartForcePreventDefault: {
324
+ type: Boolean,
325
+ default: undefined
326
+ },
327
+ touchReleaseOnEdges: {
328
+ type: Boolean,
329
+ default: undefined
330
+ },
331
+ uniqueNavElements: {
332
+ type: Boolean,
333
+ default: undefined
334
+ },
335
+ resistance: {
336
+ type: Boolean,
337
+ default: undefined
338
+ },
339
+ resistanceRatio: {
340
+ type: Number,
341
+ default: undefined
342
+ },
343
+ watchSlidesProgress: {
344
+ type: Boolean,
345
+ default: undefined
346
+ },
347
+ grabCursor: {
348
+ type: Boolean,
349
+ default: undefined
350
+ },
351
+ preventClicks: {
352
+ type: Boolean,
353
+ default: undefined
354
+ },
355
+ preventClicksPropagation: {
356
+ type: Boolean,
357
+ default: undefined
358
+ },
359
+ slideToClickedSlide: {
360
+ type: Boolean,
361
+ default: undefined
362
+ },
363
+ loop: {
364
+ type: Boolean,
365
+ default: undefined
366
+ },
367
+ loopedSlides: {
368
+ type: Number,
369
+ default: undefined
370
+ },
371
+ loopPreventsSliding: {
372
+ type: Boolean,
373
+ default: undefined
374
+ },
375
+ loopAdditionalSlides: {
376
+ type: Number,
377
+ default: undefined
378
+ },
379
+ loopAddBlankSlides: {
380
+ type: Boolean,
381
+ default: undefined
382
+ },
383
+ rewind: {
384
+ type: Boolean,
385
+ default: undefined
386
+ },
387
+ allowSlidePrev: {
388
+ type: Boolean,
389
+ default: undefined
390
+ },
391
+ allowSlideNext: {
392
+ type: Boolean,
393
+ default: undefined
394
+ },
395
+ swipeHandler: {
396
+ type: Boolean,
397
+ default: undefined
398
+ },
399
+ noSwiping: {
400
+ type: Boolean,
401
+ default: undefined
402
+ },
403
+ noSwipingClass: {
404
+ type: String,
405
+ default: undefined
406
+ },
407
+ noSwipingSelector: {
408
+ type: String,
409
+ default: undefined
410
+ },
411
+ passiveListeners: {
412
+ type: Boolean,
413
+ default: undefined
414
+ },
415
+ containerModifierClass: {
416
+ type: String,
417
+ default: undefined
418
+ },
419
+ slideClass: {
420
+ type: String,
421
+ default: undefined
422
+ },
423
+ slideActiveClass: {
424
+ type: String,
425
+ default: undefined
426
+ },
427
+ slideVisibleClass: {
428
+ type: String,
429
+ default: undefined
430
+ },
431
+ slideFullyVisibleClass: {
432
+ type: String,
433
+ default: undefined
434
+ },
435
+ slideBlankClass: {
436
+ type: String,
437
+ default: undefined
438
+ },
439
+ slideNextClass: {
440
+ type: String,
441
+ default: undefined
442
+ },
443
+ slidePrevClass: {
444
+ type: String,
445
+ default: undefined
446
+ },
447
+ wrapperClass: {
448
+ type: String,
449
+ default: undefined
450
+ },
451
+ lazyPreloaderClass: {
452
+ type: String,
453
+ default: undefined
454
+ },
455
+ lazyPreloadPrevNext: {
456
+ type: Number,
457
+ default: undefined
458
+ },
459
+ runCallbacksOnInit: {
460
+ type: Boolean,
461
+ default: undefined
462
+ },
463
+ observer: {
464
+ type: Boolean,
465
+ default: undefined
466
+ },
467
+ observeParents: {
468
+ type: Boolean,
469
+ default: undefined
470
+ },
471
+ observeSlideChildren: {
472
+ type: Boolean,
473
+ default: undefined
474
+ },
475
+ a11y: {
476
+ type: [Boolean, Object],
477
+ default: undefined
478
+ },
479
+ autoplay: {
480
+ type: [Boolean, Object],
481
+ default: undefined
482
+ },
483
+ controller: {
484
+ type: Object,
485
+ default: undefined
486
+ },
487
+ coverflowEffect: {
488
+ type: Object,
489
+ default: undefined
490
+ },
491
+ cubeEffect: {
492
+ type: Object,
493
+ default: undefined
494
+ },
495
+ fadeEffect: {
496
+ type: Object,
497
+ default: undefined
498
+ },
499
+ flipEffect: {
500
+ type: Object,
501
+ default: undefined
502
+ },
503
+ creativeEffect: {
504
+ type: Object,
505
+ default: undefined
506
+ },
507
+ cardsEffect: {
508
+ type: Object,
509
+ default: undefined
510
+ },
511
+ hashNavigation: {
512
+ type: [Boolean, Object],
513
+ default: undefined
514
+ },
515
+ history: {
516
+ type: [Boolean, Object],
517
+ default: undefined
518
+ },
519
+ keyboard: {
520
+ type: [Boolean, Object],
521
+ default: undefined
522
+ },
523
+ mousewheel: {
524
+ type: [Boolean, Object],
525
+ default: undefined
526
+ },
527
+ navigation: {
528
+ type: [Boolean, Object],
529
+ default: undefined
530
+ },
531
+ pagination: {
532
+ type: [Boolean, Object],
533
+ default: undefined
534
+ },
535
+ parallax: {
536
+ type: [Boolean, Object],
537
+ default: undefined
538
+ },
539
+ scrollbar: {
540
+ type: [Boolean, Object],
541
+ default: undefined
542
+ },
543
+ thumbs: {
544
+ type: Object,
545
+ default: undefined
546
+ },
547
+ virtual: {
548
+ type: [Boolean, Object],
549
+ default: undefined
550
+ },
551
+ zoom: {
552
+ type: [Boolean, Object],
553
+ default: undefined
554
+ },
555
+ grid: {
556
+ type: [Object],
557
+ default: undefined
558
+ },
559
+ freeMode: {
560
+ type: [Boolean, Object],
561
+ default: undefined
562
+ },
563
+ enabled: {
564
+ type: Boolean,
565
+ default: undefined
566
+ }
567
+ },
568
+ emits: ['_beforeBreakpoint', '_containerClasses', '_slideClass', '_slideClasses', '_swiper', '_freeModeNoMomentumRelease', '_virtualUpdated', 'activeIndexChange', 'afterInit', 'autoplay', 'autoplayStart', 'autoplayStop', 'autoplayPause', 'autoplayResume', 'autoplayTimeLeft', 'beforeDestroy', 'beforeInit', 'beforeLoopFix', 'beforeResize', 'beforeSlideChangeStart', 'beforeTransitionStart', 'breakpoint', 'changeDirection', 'click', 'disable', 'doubleTap', 'doubleClick', 'destroy', 'enable', 'fromEdge', 'hashChange', 'hashSet', 'init', 'keyPress', 'lock', 'loopFix', 'momentumBounce', 'navigationHide', 'navigationShow', 'navigationPrev', 'navigationNext', 'observerUpdate', 'orientationchange', 'paginationHide', 'paginationRender', 'paginationShow', 'paginationUpdate', 'progress', 'reachBeginning', 'reachEnd', 'realIndexChange', 'resize', 'scroll', 'scrollbarDragEnd', 'scrollbarDragMove', 'scrollbarDragStart', 'setTransition', 'setTranslate', 'slidesUpdated', 'slideChange', 'slideChangeTransitionEnd', 'slideChangeTransitionStart', 'slideNextTransitionEnd', 'slideNextTransitionStart', 'slidePrevTransitionEnd', 'slidePrevTransitionStart', 'slideResetTransitionStart', 'slideResetTransitionEnd', 'sliderMove', 'sliderFirstMove', 'slidesLengthChange', 'slidesGridLengthChange', 'snapGridLengthChange', 'snapIndexChange', 'swiper', 'tap', 'toEdge', 'touchEnd', 'touchMove', 'touchMoveOpposite', 'touchStart', 'transitionEnd', 'transitionStart', 'unlock', 'update', 'virtualUpdate', 'zoomChange'],
569
+ setup(props, _ref) {
570
+ let {
571
+ slots: originalSlots,
572
+ emit
573
+ } = _ref;
574
+ const {
575
+ tag: Tag,
576
+ wrapperTag: WrapperTag
577
+ } = props;
578
+ const containerClasses = ref('swiper');
579
+ const virtualData = ref(null);
580
+ const breakpointChanged = ref(false);
581
+ const initializedRef = ref(false);
582
+ const swiperElRef = ref(null);
583
+ const swiperRef = ref(null);
584
+ const oldPassedParamsRef = ref(null);
585
+ const slidesRef = {
586
+ value: []
587
+ };
588
+ const oldSlidesRef = {
589
+ value: []
590
+ };
591
+ const nextElRef = ref(null);
592
+ const prevElRef = ref(null);
593
+ const paginationElRef = ref(null);
594
+ const scrollbarElRef = ref(null);
595
+ const {
596
+ params: swiperParams,
597
+ passedParams
598
+ } = getParams(props, false);
599
+ getChildren(originalSlots, slidesRef, oldSlidesRef);
600
+ oldPassedParamsRef.value = passedParams;
601
+ oldSlidesRef.value = slidesRef.value;
602
+ const onBeforeBreakpoint = () => {
603
+ getChildren(originalSlots, slidesRef, oldSlidesRef);
604
+ breakpointChanged.value = true;
605
+ };
606
+ swiperParams.onAny = function (event) {
607
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
608
+ args[_key - 1] = arguments[_key];
609
+ }
610
+ emit(event, ...args);
611
+ };
612
+ Object.assign(swiperParams.on, {
613
+ _beforeBreakpoint: onBeforeBreakpoint,
614
+ _containerClasses(swiper, classes) {
615
+ containerClasses.value = classes;
616
+ }
617
+ });
618
+
619
+ // init Swiper
620
+ const passParams = {
621
+ ...swiperParams
622
+ };
623
+ delete passParams.wrapperClass;
624
+ swiperRef.value = new Swiper$1(passParams);
625
+ if (swiperRef.value.virtual && swiperRef.value.params.virtual.enabled) {
626
+ swiperRef.value.virtual.slides = slidesRef.value;
627
+ const extendWith = {
628
+ cache: false,
629
+ slides: slidesRef.value,
630
+ renderExternal: data => {
631
+ virtualData.value = data;
632
+ },
633
+ renderExternalUpdate: false
634
+ };
635
+ extend(swiperRef.value.params.virtual, extendWith);
636
+ extend(swiperRef.value.originalParams.virtual, extendWith);
637
+ }
638
+ onUpdated(() => {
639
+ // set initialized flag
640
+ if (!initializedRef.value && swiperRef.value) {
641
+ swiperRef.value.emitSlidesClasses();
642
+ initializedRef.value = true;
643
+ }
644
+ // watch for params change
645
+ const {
646
+ passedParams: newPassedParams
647
+ } = getParams(props, false);
648
+ const changedParams = getChangedParams(newPassedParams, oldPassedParamsRef.value, slidesRef.value, oldSlidesRef.value, c => c.props && c.props.key);
649
+ oldPassedParamsRef.value = newPassedParams;
650
+ if ((changedParams.length || breakpointChanged.value) && swiperRef.value && !swiperRef.value.destroyed) {
651
+ updateSwiper({
652
+ swiper: swiperRef.value,
653
+ slides: slidesRef.value,
654
+ passedParams: newPassedParams,
655
+ changedParams,
656
+ nextEl: nextElRef.value,
657
+ prevEl: prevElRef.value,
658
+ scrollbarEl: scrollbarElRef.value,
659
+ paginationEl: paginationElRef.value
660
+ });
661
+ }
662
+ breakpointChanged.value = false;
663
+ });
664
+ provide('swiper', swiperRef);
665
+
666
+ // update on virtual update
667
+ watch(virtualData, () => {
668
+ nextTick(() => {
669
+ updateOnVirtualData(swiperRef.value);
670
+ });
671
+ });
672
+
673
+ // mount swiper
674
+ onMounted(() => {
675
+ if (!swiperElRef.value) return;
676
+ mountSwiper({
677
+ el: swiperElRef.value,
678
+ nextEl: nextElRef.value,
679
+ prevEl: prevElRef.value,
680
+ paginationEl: paginationElRef.value,
681
+ scrollbarEl: scrollbarElRef.value,
682
+ swiper: swiperRef.value
683
+ }, swiperParams);
684
+ emit('swiper', swiperRef.value);
685
+ });
686
+ onBeforeUnmount(() => {
687
+ if (swiperRef.value && !swiperRef.value.destroyed) {
688
+ swiperRef.value.destroy(true, false);
689
+ }
690
+ });
691
+
692
+ // bypass swiper instance to slides
693
+ function renderSlides(slides) {
694
+ if (swiperParams.virtual) {
695
+ return renderVirtual(swiperRef, slides, virtualData.value);
696
+ }
697
+ slides.forEach((slide, index) => {
698
+ if (!slide.props) slide.props = {};
699
+ slide.props.swiperRef = swiperRef;
700
+ slide.props.swiperSlideIndex = index;
701
+ });
702
+ return slides;
703
+ }
704
+ return () => {
705
+ const {
706
+ slides,
707
+ slots
708
+ } = getChildren(originalSlots, slidesRef, oldSlidesRef);
709
+ return h(Tag, {
710
+ ref: swiperElRef,
711
+ class: uniqueClasses(containerClasses.value)
712
+ }, [slots['container-start'], h(WrapperTag, {
713
+ class: wrapperClass(swiperParams.wrapperClass)
714
+ }, [slots['wrapper-start'], renderSlides(slides), slots['wrapper-end']]), needsNavigation(props) && [h('div', {
715
+ ref: prevElRef,
716
+ class: 'swiper-button-prev'
717
+ }), h('div', {
718
+ ref: nextElRef,
719
+ class: 'swiper-button-next'
720
+ })], needsScrollbar(props) && h('div', {
721
+ ref: scrollbarElRef,
722
+ class: 'swiper-scrollbar'
723
+ }), needsPagination(props) && h('div', {
724
+ ref: paginationElRef,
725
+ class: 'swiper-pagination'
726
+ }), slots['container-end']]);
727
+ };
728
+ }
729
+ };
730
+
731
+ const SwiperSlide = {
732
+ name: 'SwiperSlide',
733
+ props: {
734
+ tag: {
735
+ type: String,
736
+ default: 'div'
737
+ },
738
+ swiperRef: {
739
+ type: Object,
740
+ required: false
741
+ },
742
+ swiperSlideIndex: {
743
+ type: Number,
744
+ default: undefined,
745
+ required: false
746
+ },
747
+ zoom: {
748
+ type: Boolean,
749
+ default: undefined,
750
+ required: false
751
+ },
752
+ lazy: {
753
+ type: Boolean,
754
+ default: false,
755
+ required: false
756
+ },
757
+ virtualIndex: {
758
+ type: [String, Number],
759
+ default: undefined
760
+ }
761
+ },
762
+ setup(props, _ref) {
763
+ let {
764
+ slots
765
+ } = _ref;
766
+ let eventAttached = false;
767
+ const {
768
+ swiperRef
769
+ } = props;
770
+ const slideElRef = ref(null);
771
+ const slideClasses = ref('swiper-slide');
772
+ const lazyLoaded = ref(false);
773
+ function updateClasses(swiper, el, classNames) {
774
+ if (el === slideElRef.value) {
775
+ slideClasses.value = classNames;
776
+ }
777
+ }
778
+ onMounted(() => {
779
+ if (!swiperRef || !swiperRef.value) return;
780
+ swiperRef.value.on('_slideClass', updateClasses);
781
+ eventAttached = true;
782
+ });
783
+ onBeforeUpdate(() => {
784
+ if (eventAttached || !swiperRef || !swiperRef.value) return;
785
+ swiperRef.value.on('_slideClass', updateClasses);
786
+ eventAttached = true;
787
+ });
788
+ onUpdated(() => {
789
+ if (!slideElRef.value || !swiperRef || !swiperRef.value) return;
790
+ if (typeof props.swiperSlideIndex !== 'undefined') {
791
+ slideElRef.value.swiperSlideIndex = props.swiperSlideIndex;
792
+ }
793
+ if (swiperRef.value.destroyed) {
794
+ if (slideClasses.value !== 'swiper-slide') {
795
+ slideClasses.value = 'swiper-slide';
796
+ }
797
+ }
798
+ });
799
+ onBeforeUnmount(() => {
800
+ if (!swiperRef || !swiperRef.value) return;
801
+ swiperRef.value.off('_slideClass', updateClasses);
802
+ });
803
+ const slideData = computed(() => ({
804
+ isActive: slideClasses.value.indexOf('swiper-slide-active') >= 0,
805
+ isVisible: slideClasses.value.indexOf('swiper-slide-visible') >= 0,
806
+ isPrev: slideClasses.value.indexOf('swiper-slide-prev') >= 0,
807
+ isNext: slideClasses.value.indexOf('swiper-slide-next') >= 0
808
+ }));
809
+ provide('swiperSlide', slideData);
810
+ const onLoad = () => {
811
+ lazyLoaded.value = true;
812
+ };
813
+ return () => {
814
+ return h(props.tag, {
815
+ class: uniqueClasses(`${slideClasses.value}`),
816
+ ref: slideElRef,
817
+ 'data-swiper-slide-index': typeof props.virtualIndex === 'undefined' && swiperRef && swiperRef.value && swiperRef.value.params.loop ? props.swiperSlideIndex : props.virtualIndex,
818
+ onLoadCapture: onLoad
819
+ }, props.zoom ? h('div', {
820
+ class: 'swiper-zoom-container',
821
+ 'data-swiper-zoom': typeof props.zoom === 'number' ? props.zoom : undefined
822
+ }, [slots.default && slots.default(slideData.value), props.lazy && !lazyLoaded.value && h('div', {
823
+ class: 'swiper-lazy-preloader'
824
+ })]) : [slots.default && slots.default(slideData.value), props.lazy && !lazyLoaded.value && h('div', {
825
+ class: 'swiper-lazy-preloader'
826
+ })]);
827
+ };
828
+ }
829
+ };
830
+
831
+ const useSwiperSlide = () => {
832
+ return inject('swiperSlide');
833
+ };
834
+ const useSwiper = () => {
835
+ return inject('swiper');
836
+ };
837
+
838
+ export { Swiper, SwiperSlide, useSwiper, useSwiperSlide };