Browse code

Refactor and rewrite as contao bundle

Benjamin Roth authored on04/11/2022 22:32:32
Showing1 changed files
1 1
deleted file mode 100644
... ...
@@ -1,644 +0,0 @@
1
-import { h, ref, onMounted, onUpdated, onBeforeUnmount, watch, nextTick } from 'vue';
2
-import { getParams } from './get-params';
3
-import { initSwiper, mountSwiper } from './init-swiper';
4
-import { needsScrollbar, needsNavigation, needsPagination, uniqueClasses, extend } from './utils';
5
-import { renderLoop, calcLoopedSlides } from './loop';
6
-import { getChangedParams } from './get-changed-params';
7
-import { getChildren } from './get-children';
8
-import { updateSwiper } from './update-swiper';
9
-import { renderVirtual, updateOnVirtualData } from './virtual';
10
-var Swiper = {
11
-  name: 'Swiper',
12
-  props: {
13
-    tag: {
14
-      type: String,
15
-      default: 'div'
16
-    },
17
-    wrapperTag: {
18
-      type: String,
19
-      default: 'div'
20
-    },
21
-    init: {
22
-      type: Boolean,
23
-      default: undefined
24
-    },
25
-    direction: {
26
-      type: String,
27
-      default: undefined
28
-    },
29
-    touchEventsTarget: {
30
-      type: String,
31
-      default: undefined
32
-    },
33
-    initialSlide: {
34
-      type: Number,
35
-      default: undefined
36
-    },
37
-    speed: {
38
-      type: Number,
39
-      default: undefined
40
-    },
41
-    cssMode: {
42
-      type: Boolean,
43
-      default: undefined
44
-    },
45
-    updateOnWindowResize: {
46
-      type: Boolean,
47
-      default: undefined
48
-    },
49
-    resizeObserver: {
50
-      type: Boolean,
51
-      default: undefined
52
-    },
53
-    nested: {
54
-      type: Boolean,
55
-      default: undefined
56
-    },
57
-    width: {
58
-      type: Number,
59
-      default: undefined
60
-    },
61
-    height: {
62
-      type: Number,
63
-      default: undefined
64
-    },
65
-    preventInteractionOnTransition: {
66
-      type: Boolean,
67
-      default: undefined
68
-    },
69
-    userAgent: {
70
-      type: String,
71
-      default: undefined
72
-    },
73
-    url: {
74
-      type: String,
75
-      default: undefined
76
-    },
77
-    edgeSwipeDetection: {
78
-      type: [Boolean, String],
79
-      default: undefined
80
-    },
81
-    edgeSwipeThreshold: {
82
-      type: Number,
83
-      default: undefined
84
-    },
85
-    freeMode: {
86
-      type: Boolean,
87
-      default: undefined
88
-    },
89
-    freeModeMomentum: {
90
-      type: Boolean,
91
-      default: undefined
92
-    },
93
-    freeModeMomentumRatio: {
94
-      type: Number,
95
-      default: undefined
96
-    },
97
-    freeModeMomentumBounce: {
98
-      type: Boolean,
99
-      default: undefined
100
-    },
101
-    freeModeMomentumBounceRatio: {
102
-      type: Number,
103
-      default: undefined
104
-    },
105
-    freeModeMomentumVelocityRatio: {
106
-      type: Number,
107
-      default: undefined
108
-    },
109
-    freeModeSticky: {
110
-      type: Boolean,
111
-      default: undefined
112
-    },
113
-    freeModeMinimumVelocity: {
114
-      type: Number,
115
-      default: undefined
116
-    },
117
-    autoHeight: {
118
-      type: Boolean,
119
-      default: undefined
120
-    },
121
-    setWrapperSize: {
122
-      type: Boolean,
123
-      default: undefined
124
-    },
125
-    virtualTranslate: {
126
-      type: Boolean,
127
-      default: undefined
128
-    },
129
-    effect: {
130
-      type: String,
131
-      default: undefined
132
-    },
133
-    breakpoints: {
134
-      type: Object,
135
-      default: undefined
136
-    },
137
-    spaceBetween: {
138
-      type: Number,
139
-      default: undefined
140
-    },
141
-    slidesPerView: {
142
-      type: [Number, String],
143
-      default: undefined
144
-    },
145
-    slidesPerColumn: {
146
-      type: Number,
147
-      default: undefined
148
-    },
149
-    slidesPerColumnFill: {
150
-      type: String,
151
-      default: undefined
152
-    },
153
-    slidesPerGroup: {
154
-      type: Number,
155
-      default: undefined
156
-    },
157
-    slidesPerGroupSkip: {
158
-      type: Number,
159
-      default: undefined
160
-    },
161
-    centeredSlides: {
162
-      type: Boolean,
163
-      default: undefined
164
-    },
165
-    centeredSlidesBounds: {
166
-      type: Boolean,
167
-      default: undefined
168
-    },
169
-    slidesOffsetBefore: {
170
-      type: Number,
171
-      default: undefined
172
-    },
173
-    slidesOffsetAfter: {
174
-      type: Number,
175
-      default: undefined
176
-    },
177
-    normalizeSlideIndex: {
178
-      type: Boolean,
179
-      default: undefined
180
-    },
181
-    centerInsufficientSlides: {
182
-      type: Boolean,
183
-      default: undefined
184
-    },
185
-    watchOverflow: {
186
-      type: Boolean,
187
-      default: undefined
188
-    },
189
-    roundLengths: {
190
-      type: Boolean,
191
-      default: undefined
192
-    },
193
-    touchRatio: {
194
-      type: Number,
195
-      default: undefined
196
-    },
197
-    touchAngle: {
198
-      type: Number,
199
-      default: undefined
200
-    },
201
-    simulateTouch: {
202
-      type: Boolean,
203
-      default: undefined
204
-    },
205
-    shortSwipes: {
206
-      type: Boolean,
207
-      default: undefined
208
-    },
209
-    longSwipes: {
210
-      type: Boolean,
211
-      default: undefined
212
-    },
213
-    longSwipesRatio: {
214
-      type: Number,
215
-      default: undefined
216
-    },
217
-    longSwipesMs: {
218
-      type: Number,
219
-      default: undefined
220
-    },
221
-    followFinger: {
222
-      type: Boolean,
223
-      default: undefined
224
-    },
225
-    allowTouchMove: {
226
-      type: Boolean,
227
-      default: undefined
228
-    },
229
-    threshold: {
230
-      type: Number,
231
-      default: undefined
232
-    },
233
-    touchMoveStopPropagation: {
234
-      type: Boolean,
235
-      default: undefined
236
-    },
237
-    touchStartPreventDefault: {
238
-      type: Boolean,
239
-      default: undefined
240
-    },
241
-    touchStartForcePreventDefault: {
242
-      type: Boolean,
243
-      default: undefined
244
-    },
245
-    touchReleaseOnEdges: {
246
-      type: Boolean,
247
-      default: undefined
248
-    },
249
-    uniqueNavElements: {
250
-      type: Boolean,
251
-      default: undefined
252
-    },
253
-    resistance: {
254
-      type: Boolean,
255
-      default: undefined
256
-    },
257
-    resistanceRatio: {
258
-      type: Number,
259
-      default: undefined
260
-    },
261
-    watchSlidesProgress: {
262
-      type: Boolean,
263
-      default: undefined
264
-    },
265
-    watchSlidesVisibility: {
266
-      type: Boolean,
267
-      default: undefined
268
-    },
269
-    grabCursor: {
270
-      type: Boolean,
271
-      default: undefined
272
-    },
273
-    preventClicks: {
274
-      type: Boolean,
275
-      default: undefined
276
-    },
277
-    preventClicksPropagation: {
278
-      type: Boolean,
279
-      default: undefined
280
-    },
281
-    slideToClickedSlide: {
282
-      type: Boolean,
283
-      default: undefined
284
-    },
285
-    preloadImages: {
286
-      type: Boolean,
287
-      default: undefined
288
-    },
289
-    updateOnImagesReady: {
290
-      type: Boolean,
291
-      default: undefined
292
-    },
293
-    loop: {
294
-      type: Boolean,
295
-      default: undefined
296
-    },
297
-    loopAdditionalSlides: {
298
-      type: Number,
299
-      default: undefined
300
-    },
301
-    loopedSlides: {
302
-      type: Number,
303
-      default: undefined
304
-    },
305
-    loopFillGroupWithBlank: {
306
-      type: Boolean,
307
-      default: undefined
308
-    },
309
-    loopPreventsSlide: {
310
-      type: Boolean,
311
-      default: undefined
312
-    },
313
-    allowSlidePrev: {
314
-      type: Boolean,
315
-      default: undefined
316
-    },
317
-    allowSlideNext: {
318
-      type: Boolean,
319
-      default: undefined
320
-    },
321
-    swipeHandler: {
322
-      type: Boolean,
323
-      default: undefined
324
-    },
325
-    noSwiping: {
326
-      type: Boolean,
327
-      default: undefined
328
-    },
329
-    noSwipingClass: {
330
-      type: String,
331
-      default: undefined
332
-    },
333
-    noSwipingSelector: {
334
-      type: String,
335
-      default: undefined
336
-    },
337
-    passiveListeners: {
338
-      type: Boolean,
339
-      default: undefined
340
-    },
341
-    containerModifierClass: {
342
-      type: String,
343
-      default: undefined
344
-    },
345
-    slideClass: {
346
-      type: String,
347
-      default: undefined
348
-    },
349
-    slideBlankClass: {
350
-      type: String,
351
-      default: undefined
352
-    },
353
-    slideActiveClass: {
354
-      type: String,
355
-      default: undefined
356
-    },
357
-    slideDuplicateActiveClass: {
358
-      type: String,
359
-      default: undefined
360
-    },
361
-    slideVisibleClass: {
362
-      type: String,
363
-      default: undefined
364
-    },
365
-    slideDuplicateClass: {
366
-      type: String,
367
-      default: undefined
368
-    },
369
-    slideNextClass: {
370
-      type: String,
371
-      default: undefined
372
-    },
373
-    slideDuplicateNextClass: {
374
-      type: String,
375
-      default: undefined
376
-    },
377
-    slidePrevClass: {
378
-      type: String,
379
-      default: undefined
380
-    },
381
-    slideDuplicatePrevClass: {
382
-      type: String,
383
-      default: undefined
384
-    },
385
-    wrapperClass: {
386
-      type: String,
387
-      default: undefined
388
-    },
389
-    runCallbacksOnInit: {
390
-      type: Boolean,
391
-      default: undefined
392
-    },
393
-    observer: {
394
-      type: Boolean,
395
-      default: undefined
396
-    },
397
-    observeParents: {
398
-      type: Boolean,
399
-      default: undefined
400
-    },
401
-    observeSlideChildren: {
402
-      type: Boolean,
403
-      default: undefined
404
-    },
405
-    a11y: {
406
-      type: [Boolean, Object],
407
-      default: undefined
408
-    },
409
-    autoplay: {
410
-      type: [Boolean, Object],
411
-      default: undefined
412
-    },
413
-    controller: {
414
-      type: Object,
415
-      default: undefined
416
-    },
417
-    coverflowEffect: {
418
-      type: Object,
419
-      default: undefined
420
-    },
421
-    cubeEffect: {
422
-      type: Object,
423
-      default: undefined
424
-    },
425
-    fadeEffect: {
426
-      type: Object,
427
-      default: undefined
428
-    },
429
-    flipEffect: {
430
-      type: Object,
431
-      default: undefined
432
-    },
433
-    hashNavigation: {
434
-      type: [Boolean, Object],
435
-      default: undefined
436
-    },
437
-    history: {
438
-      type: [Boolean, Object],
439
-      default: undefined
440
-    },
441
-    keyboard: {
442
-      type: [Boolean, Object],
443
-      default: undefined
444
-    },
445
-    lazy: {
446
-      type: [Boolean, Object],
447
-      default: undefined
448
-    },
449
-    mousewheel: {
450
-      type: [Boolean, Object],
451
-      default: undefined
452
-    },
453
-    navigation: {
454
-      type: [Boolean, Object],
455
-      default: undefined
456
-    },
457
-    pagination: {
458
-      type: [Boolean, Object],
459
-      default: undefined
460
-    },
461
-    parallax: {
462
-      type: [Boolean, Object],
463
-      default: undefined
464
-    },
465
-    scrollbar: {
466
-      type: [Boolean, Object],
467
-      default: undefined
468
-    },
469
-    thumbs: {
470
-      type: Object,
471
-      default: undefined
472
-    },
473
-    virtual: {
474
-      type: [Boolean, Object],
475
-      default: undefined
476
-    },
477
-    zoom: {
478
-      type: [Boolean, Object],
479
-      default: undefined
480
-    }
481
-  },
482
-  emits: ['_beforeBreakpoint', '_containerClasses', '_slideClass', '_slideClasses', '_swiper', 'activeIndexChange', 'afterInit', 'autoplay', 'autoplayStart', 'autoplayStop', 'beforeDestroy', 'beforeInit', 'beforeLoopFix', 'beforeResize', 'beforeSlideChangeStart', 'beforeTransitionStart', 'breakpoint', 'changeDirection', 'click', 'doubleTap', 'doubleClick', 'destroy', 'fromEdge', 'hashChange', 'hashSet', 'imagesReady', 'init', 'keyPress', 'lazyImageLoad', 'lazyImageReady', 'loopFix', 'momentumBounce', 'navigationHide', 'navigationShow', 'observerUpdate', 'orientationchange', 'paginationHide', 'paginationRender', 'paginationShow', 'paginationUpdate', 'progress', 'reachBeginning', 'reachEnd', 'realIndexChange', 'resize', 'scroll', 'scrollbarDragEnd', 'scrollbarDragMove', 'scrollbarDragStart', 'setTransition', 'setTranslate', 'slideChange', 'slideChangeTransitionEnd', 'slideChangeTransitionStart', 'slideNextTransitionEnd', 'slideNextTransitionStart', 'slidePrevTransitionEnd', 'slidePrevTransitionStart', 'slideResetTransitionStart', 'slideResetTransitionEnd', 'sliderMove', 'sliderFirstMove', 'slidesLengthChange', 'slidesGridLengthChange', 'snapGridLengthChange', 'snapIndexChange', 'swiper', 'tap', 'toEdge', 'touchEnd', 'touchMove', 'touchMoveOpposite', 'touchStart', 'transitionEnd', 'transitionStart', 'update', 'zoomChange'],
483
-  setup: function setup(props, _ref) {
484
-    var originalSlots = _ref.slots,
485
-        emit = _ref.emit;
486
-    var Tag = props.tag,
487
-        WrapperTag = props.wrapperTag;
488
-    var containerClasses = ref('swiper-container');
489
-    var virtualData = ref(null);
490
-    var breakpointChanged = ref(false);
491
-    var initializedRef = ref(false);
492
-    var swiperElRef = ref(null);
493
-    var swiperRef = ref(null);
494
-    var oldPassedParamsRef = ref(null);
495
-    var slidesRef = {
496
-      value: []
497
-    };
498
-    var oldSlidesRef = {
499
-      value: []
500
-    };
501
-    var nextElRef = ref(null);
502
-    var prevElRef = ref(null);
503
-    var paginationElRef = ref(null);
504
-    var scrollbarElRef = ref(null);
505
-
506
-    var _getParams = getParams(props),
507
-        swiperParams = _getParams.params,
508
-        passedParams = _getParams.passedParams;
509
-
510
-    getChildren(originalSlots, slidesRef, oldSlidesRef);
511
-    oldPassedParamsRef.value = passedParams;
512
-    oldSlidesRef.value = slidesRef.value;
513
-
514
-    var onBeforeBreakpoint = function onBeforeBreakpoint() {
515
-      getChildren(originalSlots, slidesRef, oldSlidesRef);
516
-      breakpointChanged.value = true;
517
-    };
518
-
519
-    swiperParams.onAny = function (event) {
520
-      for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
521
-        args[_key - 1] = arguments[_key];
522
-      }
523
-
524
-      emit.apply(void 0, [event].concat(args));
525
-    };
526
-
527
-    Object.assign(swiperParams.on, {
528
-      _beforeBreakpoint: onBeforeBreakpoint,
529
-      _containerClasses: function _containerClasses(swiper, classes) {
530
-        containerClasses.value = classes;
531
-      }
532
-    }); // init Swiper
533
-
534
-    swiperRef.value = initSwiper(swiperParams);
535
-
536
-    swiperRef.value.loopCreate = function () {};
537
-
538
-    swiperRef.value.loopDestroy = function () {};
539
-
540
-    if (swiperParams.loop) {
541
-      swiperRef.value.loopedSlides = calcLoopedSlides(slidesRef.value, swiperParams);
542
-    }
543
-
544
-    if (swiperRef.value.virtual && swiperRef.value.params.virtual.enabled) {
545
-      swiperRef.value.virtual.slides = slidesRef.value;
546
-      var extendWith = {
547
-        cache: false,
548
-        renderExternal: function renderExternal(data) {
549
-          virtualData.value = data;
550
-        },
551
-        renderExternalUpdate: false
552
-      };
553
-      extend(swiperRef.value.params.virtual, extendWith);
554
-      extend(swiperRef.value.originalParams.virtual, extendWith);
555
-    }
556
-
557
-    onUpdated(function () {
558
-      // set initialized flag
559
-      if (!initializedRef.value && swiperRef.value) {
560
-        swiperRef.value.emitSlidesClasses();
561
-        initializedRef.value = true;
562
-      } // watch for params change
563
-
564
-
565
-      var _getParams2 = getParams(props),
566
-          newPassedParams = _getParams2.passedParams;
567
-
568
-      var changedParams = getChangedParams(newPassedParams, oldPassedParamsRef.value, slidesRef.value, oldSlidesRef.value);
569
-      oldPassedParamsRef.value = newPassedParams;
570
-
571
-      if ((changedParams.length || breakpointChanged.value) && swiperRef.value && !swiperRef.value.destroyed) {
572
-        updateSwiper(swiperRef.value, slidesRef.value, newPassedParams, changedParams);
573
-      }
574
-
575
-      breakpointChanged.value = false;
576
-    }); // update on virtual update
577
-
578
-    watch(virtualData, function () {
579
-      nextTick(function () {
580
-        updateOnVirtualData(swiperRef.value);
581
-      });
582
-    }); // mount swiper
583
-
584
-    onMounted(function () {
585
-      if (!swiperElRef.value) return;
586
-      mountSwiper({
587
-        el: swiperElRef.value,
588
-        nextEl: nextElRef.value,
589
-        prevEl: prevElRef.value,
590
-        paginationEl: paginationElRef.value,
591
-        scrollbarEl: scrollbarElRef.value,
592
-        swiper: swiperRef.value
593
-      }, swiperParams);
594
-      emit('swiper', swiperRef.value);
595
-    });
596
-    onBeforeUnmount(function () {
597
-      if (swiperRef.value && !swiperRef.value.destroyed) {
598
-        swiperRef.value.destroy(true, false);
599
-      }
600
-    }); // bypass swiper instance to slides
601
-
602
-    function renderSlides(slides) {
603
-      if (swiperParams.virtual) {
604
-        return renderVirtual(swiperRef, slides, virtualData.value);
605
-      }
606
-
607
-      if (!swiperParams.loop || swiperRef.value && swiperRef.value.destroyed) {
608
-        slides.forEach(function (slide) {
609
-          if (!slide.props) slide.props = {};
610
-          slide.props.swiperRef = swiperRef;
611
-        });
612
-        return slides;
613
-      }
614
-
615
-      return renderLoop(swiperRef, slides, swiperParams);
616
-    }
617
-
618
-    return function () {
619
-      var _getChildren = getChildren(originalSlots, slidesRef, oldSlidesRef),
620
-          slides = _getChildren.slides,
621
-          slots = _getChildren.slots;
622
-
623
-      return h(Tag, {
624
-        ref: swiperElRef,
625
-        class: uniqueClasses(containerClasses.value)
626
-      }, [slots['container-start'], needsNavigation(props) && [h('div', {
627
-        ref: prevElRef,
628
-        class: 'swiper-button-prev'
629
-      }), h('div', {
630
-        ref: nextElRef,
631
-        class: 'swiper-button-next'
632
-      })], needsScrollbar(props) && h('div', {
633
-        ref: scrollbarElRef,
634
-        class: 'swiper-scrollbar'
635
-      }), needsPagination(props) && h('div', {
636
-        ref: paginationElRef,
637
-        class: 'swiper-pagination'
638
-      }), h(WrapperTag, {
639
-        class: 'swiper-wrapper'
640
-      }, [slots['wrapper-start'], renderSlides(slides), slots['wrapper-end']]), slots['container-end']]);
641
-    };
642
-  }
643
-};
644
-export { Swiper };
645 0
\ No newline at end of file
Browse code

swiper.js version 6.5.0

Benjamin Roth authored on14/03/2021 15:29:46
Showing1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,644 @@
1
+import { h, ref, onMounted, onUpdated, onBeforeUnmount, watch, nextTick } from 'vue';
2
+import { getParams } from './get-params';
3
+import { initSwiper, mountSwiper } from './init-swiper';
4
+import { needsScrollbar, needsNavigation, needsPagination, uniqueClasses, extend } from './utils';
5
+import { renderLoop, calcLoopedSlides } from './loop';
6
+import { getChangedParams } from './get-changed-params';
7
+import { getChildren } from './get-children';
8
+import { updateSwiper } from './update-swiper';
9
+import { renderVirtual, updateOnVirtualData } from './virtual';
10
+var Swiper = {
11
+  name: 'Swiper',
12
+  props: {
13
+    tag: {
14
+      type: String,
15
+      default: 'div'
16
+    },
17
+    wrapperTag: {
18
+      type: String,
19
+      default: 'div'
20
+    },
21
+    init: {
22
+      type: Boolean,
23
+      default: undefined
24
+    },
25
+    direction: {
26
+      type: String,
27
+      default: undefined
28
+    },
29
+    touchEventsTarget: {
30
+      type: String,
31
+      default: undefined
32
+    },
33
+    initialSlide: {
34
+      type: Number,
35
+      default: undefined
36
+    },
37
+    speed: {
38
+      type: Number,
39
+      default: undefined
40
+    },
41
+    cssMode: {
42
+      type: Boolean,
43
+      default: undefined
44
+    },
45
+    updateOnWindowResize: {
46
+      type: Boolean,
47
+      default: undefined
48
+    },
49
+    resizeObserver: {
50
+      type: Boolean,
51
+      default: undefined
52
+    },
53
+    nested: {
54
+      type: Boolean,
55
+      default: undefined
56
+    },
57
+    width: {
58
+      type: Number,
59
+      default: undefined
60
+    },
61
+    height: {
62
+      type: Number,
63
+      default: undefined
64
+    },
65
+    preventInteractionOnTransition: {
66
+      type: Boolean,
67
+      default: undefined
68
+    },
69
+    userAgent: {
70
+      type: String,
71
+      default: undefined
72
+    },
73
+    url: {
74
+      type: String,
75
+      default: undefined
76
+    },
77
+    edgeSwipeDetection: {
78
+      type: [Boolean, String],
79
+      default: undefined
80
+    },
81
+    edgeSwipeThreshold: {
82
+      type: Number,
83
+      default: undefined
84
+    },
85
+    freeMode: {
86
+      type: Boolean,
87
+      default: undefined
88
+    },
89
+    freeModeMomentum: {
90
+      type: Boolean,
91
+      default: undefined
92
+    },
93
+    freeModeMomentumRatio: {
94
+      type: Number,
95
+      default: undefined
96
+    },
97
+    freeModeMomentumBounce: {
98
+      type: Boolean,
99
+      default: undefined
100
+    },
101
+    freeModeMomentumBounceRatio: {
102
+      type: Number,
103
+      default: undefined
104
+    },
105
+    freeModeMomentumVelocityRatio: {
106
+      type: Number,
107
+      default: undefined
108
+    },
109
+    freeModeSticky: {
110
+      type: Boolean,
111
+      default: undefined
112
+    },
113
+    freeModeMinimumVelocity: {
114
+      type: Number,
115
+      default: undefined
116
+    },
117
+    autoHeight: {
118
+      type: Boolean,
119
+      default: undefined
120
+    },
121
+    setWrapperSize: {
122
+      type: Boolean,
123
+      default: undefined
124
+    },
125
+    virtualTranslate: {
126
+      type: Boolean,
127
+      default: undefined
128
+    },
129
+    effect: {
130
+      type: String,
131
+      default: undefined
132
+    },
133
+    breakpoints: {
134
+      type: Object,
135
+      default: undefined
136
+    },
137
+    spaceBetween: {
138
+      type: Number,
139
+      default: undefined
140
+    },
141
+    slidesPerView: {
142
+      type: [Number, String],
143
+      default: undefined
144
+    },
145
+    slidesPerColumn: {
146
+      type: Number,
147
+      default: undefined
148
+    },
149
+    slidesPerColumnFill: {
150
+      type: String,
151
+      default: undefined
152
+    },
153
+    slidesPerGroup: {
154
+      type: Number,
155
+      default: undefined
156
+    },
157
+    slidesPerGroupSkip: {
158
+      type: Number,
159
+      default: undefined
160
+    },
161
+    centeredSlides: {
162
+      type: Boolean,
163
+      default: undefined
164
+    },
165
+    centeredSlidesBounds: {
166
+      type: Boolean,
167
+      default: undefined
168
+    },
169
+    slidesOffsetBefore: {
170
+      type: Number,
171
+      default: undefined
172
+    },
173
+    slidesOffsetAfter: {
174
+      type: Number,
175
+      default: undefined
176
+    },
177
+    normalizeSlideIndex: {
178
+      type: Boolean,
179
+      default: undefined
180
+    },
181
+    centerInsufficientSlides: {
182
+      type: Boolean,
183
+      default: undefined
184
+    },
185
+    watchOverflow: {
186
+      type: Boolean,
187
+      default: undefined
188
+    },
189
+    roundLengths: {
190
+      type: Boolean,
191
+      default: undefined
192
+    },
193
+    touchRatio: {
194
+      type: Number,
195
+      default: undefined
196
+    },
197
+    touchAngle: {
198
+      type: Number,
199
+      default: undefined
200
+    },
201
+    simulateTouch: {
202
+      type: Boolean,
203
+      default: undefined
204
+    },
205
+    shortSwipes: {
206
+      type: Boolean,
207
+      default: undefined
208
+    },
209
+    longSwipes: {
210
+      type: Boolean,
211
+      default: undefined
212
+    },
213
+    longSwipesRatio: {
214
+      type: Number,
215
+      default: undefined
216
+    },
217
+    longSwipesMs: {
218
+      type: Number,
219
+      default: undefined
220
+    },
221
+    followFinger: {
222
+      type: Boolean,
223
+      default: undefined
224
+    },
225
+    allowTouchMove: {
226
+      type: Boolean,
227
+      default: undefined
228
+    },
229
+    threshold: {
230
+      type: Number,
231
+      default: undefined
232
+    },
233
+    touchMoveStopPropagation: {
234
+      type: Boolean,
235
+      default: undefined
236
+    },
237
+    touchStartPreventDefault: {
238
+      type: Boolean,
239
+      default: undefined
240
+    },
241
+    touchStartForcePreventDefault: {
242
+      type: Boolean,
243
+      default: undefined
244
+    },
245
+    touchReleaseOnEdges: {
246
+      type: Boolean,
247
+      default: undefined
248
+    },
249
+    uniqueNavElements: {
250
+      type: Boolean,
251
+      default: undefined
252
+    },
253
+    resistance: {
254
+      type: Boolean,
255
+      default: undefined
256
+    },
257
+    resistanceRatio: {
258
+      type: Number,
259
+      default: undefined
260
+    },
261
+    watchSlidesProgress: {
262
+      type: Boolean,
263
+      default: undefined
264
+    },
265
+    watchSlidesVisibility: {
266
+      type: Boolean,
267
+      default: undefined
268
+    },
269
+    grabCursor: {
270
+      type: Boolean,
271
+      default: undefined
272
+    },
273
+    preventClicks: {
274
+      type: Boolean,
275
+      default: undefined
276
+    },
277
+    preventClicksPropagation: {
278
+      type: Boolean,
279
+      default: undefined
280
+    },
281
+    slideToClickedSlide: {
282
+      type: Boolean,
283
+      default: undefined
284
+    },
285
+    preloadImages: {
286
+      type: Boolean,
287
+      default: undefined
288
+    },
289
+    updateOnImagesReady: {
290
+      type: Boolean,
291
+      default: undefined
292
+    },
293
+    loop: {
294
+      type: Boolean,
295
+      default: undefined
296
+    },
297
+    loopAdditionalSlides: {
298
+      type: Number,
299
+      default: undefined
300
+    },
301
+    loopedSlides: {
302
+      type: Number,
303
+      default: undefined
304
+    },
305
+    loopFillGroupWithBlank: {
306
+      type: Boolean,
307
+      default: undefined
308
+    },
309
+    loopPreventsSlide: {
310
+      type: Boolean,
311
+      default: undefined
312
+    },
313
+    allowSlidePrev: {
314
+      type: Boolean,
315
+      default: undefined
316
+    },
317
+    allowSlideNext: {
318
+      type: Boolean,
319
+      default: undefined
320
+    },
321
+    swipeHandler: {
322
+      type: Boolean,
323
+      default: undefined
324
+    },
325
+    noSwiping: {
326
+      type: Boolean,
327
+      default: undefined
328
+    },
329
+    noSwipingClass: {
330
+      type: String,
331
+      default: undefined
332
+    },
333
+    noSwipingSelector: {
334
+      type: String,
335
+      default: undefined
336
+    },
337
+    passiveListeners: {
338
+      type: Boolean,
339
+      default: undefined
340
+    },
341
+    containerModifierClass: {
342
+      type: String,
343
+      default: undefined
344
+    },
345
+    slideClass: {
346
+      type: String,
347
+      default: undefined
348
+    },
349
+    slideBlankClass: {
350
+      type: String,
351
+      default: undefined
352
+    },
353
+    slideActiveClass: {
354
+      type: String,
355
+      default: undefined
356
+    },
357
+    slideDuplicateActiveClass: {
358
+      type: String,
359
+      default: undefined
360
+    },
361
+    slideVisibleClass: {
362
+      type: String,
363
+      default: undefined
364
+    },
365
+    slideDuplicateClass: {
366
+      type: String,
367
+      default: undefined
368
+    },
369
+    slideNextClass: {
370
+      type: String,
371
+      default: undefined
372
+    },
373
+    slideDuplicateNextClass: {
374
+      type: String,
375
+      default: undefined
376
+    },
377
+    slidePrevClass: {
378
+      type: String,
379
+      default: undefined
380
+    },
381
+    slideDuplicatePrevClass: {
382
+      type: String,
383
+      default: undefined
384
+    },
385
+    wrapperClass: {
386
+      type: String,
387
+      default: undefined
388
+    },
389
+    runCallbacksOnInit: {
390
+      type: Boolean,
391
+      default: undefined
392
+    },
393
+    observer: {
394
+      type: Boolean,
395
+      default: undefined
396
+    },
397
+    observeParents: {
398
+      type: Boolean,
399
+      default: undefined
400
+    },
401
+    observeSlideChildren: {
402
+      type: Boolean,
403
+      default: undefined
404
+    },
405
+    a11y: {
406
+      type: [Boolean, Object],
407
+      default: undefined
408
+    },
409
+    autoplay: {
410
+      type: [Boolean, Object],
411
+      default: undefined
412
+    },
413
+    controller: {
414
+      type: Object,
415
+      default: undefined
416
+    },
417
+    coverflowEffect: {
418
+      type: Object,
419
+      default: undefined
420
+    },
421
+    cubeEffect: {
422
+      type: Object,
423
+      default: undefined
424
+    },
425
+    fadeEffect: {
426
+      type: Object,
427
+      default: undefined
428
+    },
429
+    flipEffect: {
430
+      type: Object,
431
+      default: undefined
432
+    },
433
+    hashNavigation: {
434
+      type: [Boolean, Object],
435
+      default: undefined
436
+    },
437
+    history: {
438
+      type: [Boolean, Object],
439
+      default: undefined
440
+    },
441
+    keyboard: {
442
+      type: [Boolean, Object],
443
+      default: undefined
444
+    },
445
+    lazy: {
446
+      type: [Boolean, Object],
447
+      default: undefined
448
+    },
449
+    mousewheel: {
450
+      type: [Boolean, Object],
451
+      default: undefined
452
+    },
453
+    navigation: {
454
+      type: [Boolean, Object],
455
+      default: undefined
456
+    },
457
+    pagination: {
458
+      type: [Boolean, Object],
459
+      default: undefined
460
+    },
461
+    parallax: {
462
+      type: [Boolean, Object],
463
+      default: undefined
464
+    },
465
+    scrollbar: {
466
+      type: [Boolean, Object],
467
+      default: undefined
468
+    },
469
+    thumbs: {
470
+      type: Object,
471
+      default: undefined
472
+    },
473
+    virtual: {
474
+      type: [Boolean, Object],
475
+      default: undefined
476
+    },
477
+    zoom: {
478
+      type: [Boolean, Object],
479
+      default: undefined
480
+    }
481
+  },
482
+  emits: ['_beforeBreakpoint', '_containerClasses', '_slideClass', '_slideClasses', '_swiper', 'activeIndexChange', 'afterInit', 'autoplay', 'autoplayStart', 'autoplayStop', 'beforeDestroy', 'beforeInit', 'beforeLoopFix', 'beforeResize', 'beforeSlideChangeStart', 'beforeTransitionStart', 'breakpoint', 'changeDirection', 'click', 'doubleTap', 'doubleClick', 'destroy', 'fromEdge', 'hashChange', 'hashSet', 'imagesReady', 'init', 'keyPress', 'lazyImageLoad', 'lazyImageReady', 'loopFix', 'momentumBounce', 'navigationHide', 'navigationShow', 'observerUpdate', 'orientationchange', 'paginationHide', 'paginationRender', 'paginationShow', 'paginationUpdate', 'progress', 'reachBeginning', 'reachEnd', 'realIndexChange', 'resize', 'scroll', 'scrollbarDragEnd', 'scrollbarDragMove', 'scrollbarDragStart', 'setTransition', 'setTranslate', 'slideChange', 'slideChangeTransitionEnd', 'slideChangeTransitionStart', 'slideNextTransitionEnd', 'slideNextTransitionStart', 'slidePrevTransitionEnd', 'slidePrevTransitionStart', 'slideResetTransitionStart', 'slideResetTransitionEnd', 'sliderMove', 'sliderFirstMove', 'slidesLengthChange', 'slidesGridLengthChange', 'snapGridLengthChange', 'snapIndexChange', 'swiper', 'tap', 'toEdge', 'touchEnd', 'touchMove', 'touchMoveOpposite', 'touchStart', 'transitionEnd', 'transitionStart', 'update', 'zoomChange'],
483
+  setup: function setup(props, _ref) {
484
+    var originalSlots = _ref.slots,
485
+        emit = _ref.emit;
486
+    var Tag = props.tag,
487
+        WrapperTag = props.wrapperTag;
488
+    var containerClasses = ref('swiper-container');
489
+    var virtualData = ref(null);
490
+    var breakpointChanged = ref(false);
491
+    var initializedRef = ref(false);
492
+    var swiperElRef = ref(null);
493
+    var swiperRef = ref(null);
494
+    var oldPassedParamsRef = ref(null);
495
+    var slidesRef = {
496
+      value: []
497
+    };
498
+    var oldSlidesRef = {
499
+      value: []
500
+    };
501
+    var nextElRef = ref(null);
502
+    var prevElRef = ref(null);
503
+    var paginationElRef = ref(null);
504
+    var scrollbarElRef = ref(null);
505
+
506
+    var _getParams = getParams(props),
507
+        swiperParams = _getParams.params,
508
+        passedParams = _getParams.passedParams;
509
+
510
+    getChildren(originalSlots, slidesRef, oldSlidesRef);
511
+    oldPassedParamsRef.value = passedParams;
512
+    oldSlidesRef.value = slidesRef.value;
513
+
514
+    var onBeforeBreakpoint = function onBeforeBreakpoint() {
515
+      getChildren(originalSlots, slidesRef, oldSlidesRef);
516
+      breakpointChanged.value = true;
517
+    };
518
+
519
+    swiperParams.onAny = function (event) {
520
+      for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
521
+        args[_key - 1] = arguments[_key];
522
+      }
523
+
524
+      emit.apply(void 0, [event].concat(args));
525
+    };
526
+
527
+    Object.assign(swiperParams.on, {
528
+      _beforeBreakpoint: onBeforeBreakpoint,
529
+      _containerClasses: function _containerClasses(swiper, classes) {
530
+        containerClasses.value = classes;
531
+      }
532
+    }); // init Swiper
533
+
534
+    swiperRef.value = initSwiper(swiperParams);
535
+
536
+    swiperRef.value.loopCreate = function () {};
537
+
538
+    swiperRef.value.loopDestroy = function () {};
539
+
540
+    if (swiperParams.loop) {
541
+      swiperRef.value.loopedSlides = calcLoopedSlides(slidesRef.value, swiperParams);
542
+    }
543
+
544
+    if (swiperRef.value.virtual && swiperRef.value.params.virtual.enabled) {
545
+      swiperRef.value.virtual.slides = slidesRef.value;
546
+      var extendWith = {
547
+        cache: false,
548
+        renderExternal: function renderExternal(data) {
549
+          virtualData.value = data;
550
+        },
551
+        renderExternalUpdate: false
552
+      };
553
+      extend(swiperRef.value.params.virtual, extendWith);
554
+      extend(swiperRef.value.originalParams.virtual, extendWith);
555
+    }
556
+
557
+    onUpdated(function () {
558
+      // set initialized flag
559
+      if (!initializedRef.value && swiperRef.value) {
560
+        swiperRef.value.emitSlidesClasses();
561
+        initializedRef.value = true;
562
+      } // watch for params change
563
+
564
+
565
+      var _getParams2 = getParams(props),
566
+          newPassedParams = _getParams2.passedParams;
567
+
568
+      var changedParams = getChangedParams(newPassedParams, oldPassedParamsRef.value, slidesRef.value, oldSlidesRef.value);
569
+      oldPassedParamsRef.value = newPassedParams;
570
+
571
+      if ((changedParams.length || breakpointChanged.value) && swiperRef.value && !swiperRef.value.destroyed) {
572
+        updateSwiper(swiperRef.value, slidesRef.value, newPassedParams, changedParams);
573
+      }
574
+
575
+      breakpointChanged.value = false;
576
+    }); // update on virtual update
577
+
578
+    watch(virtualData, function () {
579
+      nextTick(function () {
580
+        updateOnVirtualData(swiperRef.value);
581
+      });
582
+    }); // mount swiper
583
+
584
+    onMounted(function () {
585
+      if (!swiperElRef.value) return;
586
+      mountSwiper({
587
+        el: swiperElRef.value,
588
+        nextEl: nextElRef.value,
589
+        prevEl: prevElRef.value,
590
+        paginationEl: paginationElRef.value,
591
+        scrollbarEl: scrollbarElRef.value,
592
+        swiper: swiperRef.value
593
+      }, swiperParams);
594
+      emit('swiper', swiperRef.value);
595
+    });
596
+    onBeforeUnmount(function () {
597
+      if (swiperRef.value && !swiperRef.value.destroyed) {
598
+        swiperRef.value.destroy(true, false);
599
+      }
600
+    }); // bypass swiper instance to slides
601
+
602
+    function renderSlides(slides) {
603
+      if (swiperParams.virtual) {
604
+        return renderVirtual(swiperRef, slides, virtualData.value);
605
+      }
606
+
607
+      if (!swiperParams.loop || swiperRef.value && swiperRef.value.destroyed) {
608
+        slides.forEach(function (slide) {
609
+          if (!slide.props) slide.props = {};
610
+          slide.props.swiperRef = swiperRef;
611
+        });
612
+        return slides;
613
+      }
614
+
615
+      return renderLoop(swiperRef, slides, swiperParams);
616
+    }
617
+
618
+    return function () {
619
+      var _getChildren = getChildren(originalSlots, slidesRef, oldSlidesRef),
620
+          slides = _getChildren.slides,
621
+          slots = _getChildren.slots;
622
+
623
+      return h(Tag, {
624
+        ref: swiperElRef,
625
+        class: uniqueClasses(containerClasses.value)
626
+      }, [slots['container-start'], needsNavigation(props) && [h('div', {
627
+        ref: prevElRef,
628
+        class: 'swiper-button-prev'
629
+      }), h('div', {
630
+        ref: nextElRef,
631
+        class: 'swiper-button-next'
632
+      })], needsScrollbar(props) && h('div', {
633
+        ref: scrollbarElRef,
634
+        class: 'swiper-scrollbar'
635
+      }), needsPagination(props) && h('div', {
636
+        ref: paginationElRef,
637
+        class: 'swiper-pagination'
638
+      }), h(WrapperTag, {
639
+        class: 'swiper-wrapper'
640
+      }, [slots['wrapper-start'], renderSlides(slides), slots['wrapper-end']]), slots['container-end']]);
641
+    };
642
+  }
643
+};
644
+export { Swiper };
0 645
\ No newline at end of file