framework7 8.0.0-beta.3 → 8.0.0-beta.5

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 (49) hide show
  1. package/components/app/app-class.d.ts +0 -12
  2. package/components/app/app-class.js +0 -9
  3. package/components/panel/swipe-panel.js +1 -1
  4. package/components/popover/popover-class.js +37 -37
  5. package/components/popover/popover-rtl.css +1 -1
  6. package/components/popover/popover.css +1 -1
  7. package/components/popover/popover.d.ts +2 -2
  8. package/components/popover/popover.js +1 -1
  9. package/components/popover/popover.less +1 -1
  10. package/components/preloader/preloader-ios.less +3 -1
  11. package/components/preloader/preloader-rtl.css +1 -1
  12. package/components/preloader/preloader.css +1 -1
  13. package/components/searchbar/searchbar-class.js +2 -2
  14. package/components/searchbar/searchbar.d.ts +2 -2
  15. package/components/smart-select/smart-select-class.js +4 -4
  16. package/components/swiper/swiper-rtl.css +1 -1
  17. package/components/swiper/swiper.css +1 -1
  18. package/components/swiper/swiper.js +15 -32
  19. package/components/tabs/tabs-rtl.css +1 -1
  20. package/components/tabs/tabs.css +1 -1
  21. package/components/tabs/tabs.js +5 -4
  22. package/components/tabs/tabs.less +2 -5
  23. package/components/timeline/timeline-rtl.css +1 -1
  24. package/components/timeline/timeline.css +1 -1
  25. package/components/timeline/timeline.less +35 -11
  26. package/components/typography/typography-rtl.css +1 -1
  27. package/components/typography/typography.css +1 -1
  28. package/components/typography/typography.less +0 -25
  29. package/components/virtual-list/virtual-list-class.js +1 -1
  30. package/framework7-bundle-rtl.css +344 -140
  31. package/framework7-bundle-rtl.min.css +3 -3
  32. package/framework7-bundle.css +344 -140
  33. package/framework7-bundle.esm.js +2 -2
  34. package/framework7-bundle.js +191 -144
  35. package/framework7-bundle.js.map +1 -1
  36. package/framework7-bundle.less +2 -2
  37. package/framework7-bundle.min.css +3 -3
  38. package/framework7-bundle.min.js +3 -3
  39. package/framework7-bundle.min.js.map +1 -1
  40. package/framework7-lite-bundle.esm.js +2 -2
  41. package/framework7-lite.esm.js +2 -2
  42. package/framework7-rtl.css +2 -2
  43. package/framework7-rtl.min.css +2 -2
  44. package/framework7.css +2 -2
  45. package/framework7.esm.js +2 -2
  46. package/framework7.less +2 -2
  47. package/framework7.min.css +2 -2
  48. package/modules/router/router-class.js +4 -4
  49. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.0.0-beta.3
2
+ * Framework7 8.0.0-beta.5
3
3
  * Full featured mobile HTML framework for building iOS & Android apps
4
4
  * https://framework7.io/
5
5
  *
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Released under the MIT License
9
9
  *
10
- * Released on: March 9, 2023
10
+ * Released on: March 23, 2023
11
11
  */
12
12
 
13
13
  (function (global, factory) {
@@ -3593,11 +3593,8 @@
3593
3593
 
3594
3594
  // Default
3595
3595
  const defaults = {
3596
- version: '1.0.0',
3597
- id: 'io.framework7.myapp',
3598
3596
  el: 'body',
3599
3597
  theme: 'auto',
3600
- language: w.navigator.language,
3601
3598
  routes: [],
3602
3599
  name: 'Framework7',
3603
3600
  lazyModulesPath: null,
@@ -3635,16 +3632,10 @@
3635
3632
  // Extend defaults with passed params
3636
3633
  app.params = extend$2(defaults, params);
3637
3634
  extend$2(app, {
3638
- // App Id
3639
- id: app.params.id,
3640
3635
  // App Name
3641
3636
  name: app.params.name,
3642
- // App version
3643
- version: app.params.version,
3644
3637
  // Routes
3645
3638
  routes: app.params.routes,
3646
- // Lang
3647
- language: app.params.language,
3648
3639
  // Theme
3649
3640
  theme: function getTheme() {
3650
3641
  if (app.params.theme === 'auto') {
@@ -8394,7 +8385,7 @@
8394
8385
  flattenedRoutes.forEach(route => {
8395
8386
  if (matchingRoute) return;
8396
8387
  const keys = [];
8397
- const pathsToMatch = [route.path];
8388
+ const pathsToMatch = [route.path || '/'];
8398
8389
  if (route.alias) {
8399
8390
  if (typeof route.alias === 'string') pathsToMatch.push(route.alias);else if (Array.isArray(route.alias)) {
8400
8391
  route.alias.forEach(aliasPath => {
@@ -8405,7 +8396,7 @@
8405
8396
  let matched;
8406
8397
  pathsToMatch.forEach(pathToMatch => {
8407
8398
  if (matched) return;
8408
- matched = pathToRegexp(pathToMatch, keys).exec(path);
8399
+ matched = pathToRegexp(pathToMatch, keys).exec(path || '/');
8409
8400
  });
8410
8401
  if (matched) {
8411
8402
  keys.forEach((keyObj, index) => {
@@ -8419,14 +8410,14 @@
8419
8410
  });
8420
8411
  let parentPath;
8421
8412
  if (route.parentPath) {
8422
- parentPath = path.split('/').slice(0, route.parentPath.split('/').length - 1).join('/');
8413
+ parentPath = (path || '/').split('/').slice(0, route.parentPath.split('/').length - 1).join('/');
8423
8414
  }
8424
8415
  matchingRoute = {
8425
8416
  query,
8426
8417
  hash,
8427
8418
  params,
8428
8419
  url,
8429
- path,
8420
+ path: path || '/',
8430
8421
  parentPath,
8431
8422
  route,
8432
8423
  name: route.name
@@ -14064,13 +14055,13 @@
14064
14055
  }
14065
14056
  }
14066
14057
 
14067
- // Find Angle
14068
- let $angleEl;
14069
- if ($el.find('.popover-angle').length === 0 && popover.params.angle) {
14070
- $angleEl = $('<div class="popover-angle"></div>');
14071
- $el.prepend($angleEl);
14058
+ // Find Arrow
14059
+ let $arrowEl;
14060
+ if ($el.find('.popover-arrow').length === 0 && popover.params.arrow) {
14061
+ $arrowEl = $('<div class="popover-arrow"></div>');
14062
+ $el.prepend($arrowEl);
14072
14063
  } else {
14073
- $angleEl = $el.find('.popover-angle');
14064
+ $arrowEl = $el.find('.popover-arrow');
14074
14065
  }
14075
14066
 
14076
14067
  // Open
@@ -14081,8 +14072,8 @@
14081
14072
  el: $el[0],
14082
14073
  $targetEl,
14083
14074
  targetEl: $targetEl[0],
14084
- $angleEl,
14085
- angleEl: $angleEl[0],
14075
+ $arrowEl,
14076
+ arrowEl: $arrowEl[0],
14086
14077
  $backdropEl,
14087
14078
  backdropEl: $backdropEl && $backdropEl[0],
14088
14079
  type: 'popover',
@@ -14168,7 +14159,7 @@
14168
14159
  app,
14169
14160
  $el,
14170
14161
  $targetEl,
14171
- $angleEl
14162
+ $arrowEl
14172
14163
  } = popover;
14173
14164
  const {
14174
14165
  targetX,
@@ -14180,17 +14171,17 @@
14180
14171
  top: ''
14181
14172
  });
14182
14173
  const [width, height] = [$el.width(), $el.height()];
14183
- let angleSize = 0;
14184
- let angleLeft;
14185
- let angleTop;
14186
- const hasAngle = $angleEl.length > 0;
14187
- const angleMin = app.theme === 'ios' ? 13 : 24;
14188
- if (hasAngle) {
14189
- $angleEl.removeClass('on-left on-right on-top on-bottom').css({
14174
+ let arrowSize = 0;
14175
+ let arrowLeft;
14176
+ let arrowTop;
14177
+ const hasArrow = $arrowEl.length > 0;
14178
+ const arrowMin = app.theme === 'ios' ? 13 : 24;
14179
+ if (hasArrow) {
14180
+ $arrowEl.removeClass('on-left on-right on-top on-bottom').css({
14190
14181
  left: '',
14191
14182
  top: ''
14192
14183
  });
14193
- angleSize = $angleEl.width() / 2;
14184
+ arrowSize = $arrowEl.width() / 2;
14194
14185
  }
14195
14186
  $el.removeClass('popover-on-left popover-on-right popover-on-top popover-on-bottom popover-on-middle').css({
14196
14187
  left: '',
@@ -14226,13 +14217,13 @@
14226
14217
  // Top Position
14227
14218
  const forcedPosition = verticalPosition === 'auto' ? false : verticalPosition;
14228
14219
  let position = forcedPosition || 'top';
14229
- if (forcedPosition === 'top' || !forcedPosition && height + angleSize < targetOffsetTop - safeAreaTop) {
14220
+ if (forcedPosition === 'top' || !forcedPosition && height + arrowSize < targetOffsetTop - safeAreaTop) {
14230
14221
  // On top
14231
- top = targetOffsetTop - height - angleSize;
14232
- } else if (forcedPosition === 'bottom' || !forcedPosition && height + angleSize < app.height - targetOffsetTop - targetHeight) {
14222
+ top = targetOffsetTop - height - arrowSize;
14223
+ } else if (forcedPosition === 'bottom' || !forcedPosition && height + arrowSize < app.height - targetOffsetTop - targetHeight) {
14233
14224
  // On bottom
14234
14225
  position = 'bottom';
14235
- top = targetOffsetTop + targetHeight + angleSize;
14226
+ top = targetOffsetTop + targetHeight + arrowSize;
14236
14227
  } else {
14237
14228
  // On middle
14238
14229
  position = 'middle';
@@ -14254,33 +14245,33 @@
14254
14245
  left = app.width - 5 - safeAreaRight - width;
14255
14246
  }
14256
14247
  diff -= left;
14257
- if (hasAngle) {
14248
+ if (hasArrow) {
14258
14249
  if (position === 'top') {
14259
- $angleEl.addClass('on-bottom');
14250
+ $arrowEl.addClass('on-bottom');
14260
14251
  }
14261
14252
  if (position === 'bottom') {
14262
- $angleEl.addClass('on-top');
14253
+ $arrowEl.addClass('on-top');
14263
14254
  }
14264
- angleLeft = width / 2 - angleSize + diff;
14265
- angleLeft = Math.max(Math.min(angleLeft, width - angleSize * 2 - angleMin), angleMin);
14266
- $angleEl.css({
14267
- left: `${angleLeft}px`
14255
+ arrowLeft = width / 2 - arrowSize + diff;
14256
+ arrowLeft = Math.max(Math.min(arrowLeft, width - arrowSize * 2 - arrowMin), arrowMin);
14257
+ $arrowEl.css({
14258
+ left: `${arrowLeft}px`
14268
14259
  });
14269
14260
  }
14270
14261
  } else if (position === 'middle') {
14271
- left = targetOffsetLeft - width - angleSize;
14272
- if (hasAngle) $angleEl.addClass('on-right');
14262
+ left = targetOffsetLeft - width - arrowSize;
14263
+ if (hasArrow) $arrowEl.addClass('on-right');
14273
14264
  if (left < 5 || left + width + safeAreaRight > app.width || left < safeAreaLeft) {
14274
- if (left < 5) left = targetOffsetLeft + targetWidth + angleSize;
14265
+ if (left < 5) left = targetOffsetLeft + targetWidth + arrowSize;
14275
14266
  if (left + width + safeAreaRight > app.width) left = app.width - width - 5 - safeAreaRight;
14276
14267
  if (left < safeAreaLeft) left = safeAreaLeft;
14277
- if (hasAngle) $angleEl.removeClass('on-right').addClass('on-left');
14268
+ if (hasArrow) $arrowEl.removeClass('on-right').addClass('on-left');
14278
14269
  }
14279
- if (hasAngle) {
14280
- angleTop = height / 2 - angleSize + diff;
14281
- angleTop = Math.max(Math.min(angleTop, height - angleSize * 2 - angleMin), angleMin);
14282
- $angleEl.css({
14283
- top: `${angleTop}px`
14270
+ if (hasArrow) {
14271
+ arrowTop = height / 2 - arrowSize + diff;
14272
+ arrowTop = Math.max(Math.min(arrowTop, height - arrowSize * 2 - arrowMin), arrowMin);
14273
+ $arrowEl.css({
14274
+ top: `${arrowTop}px`
14284
14275
  });
14285
14276
  }
14286
14277
  }
@@ -14307,7 +14298,7 @@
14307
14298
  params: {
14308
14299
  popover: {
14309
14300
  verticalPosition: 'auto',
14310
- angle: true,
14301
+ arrow: true,
14311
14302
  backdrop: true,
14312
14303
  backdropEl: undefined,
14313
14304
  backdropUnique: false,
@@ -16700,7 +16691,7 @@
16700
16691
  vl.attachEvents = function attachEvents() {
16701
16692
  $pageEl = vl.$el.parents('.page').eq(0);
16702
16693
  $tabEl = vl.$el.parents('.tab').filter(tabEl => {
16703
- return $(tabEl).parent('.tabs').parent('.tabs-animated-wrap, .tabs-swipeable-wrap').length === 0;
16694
+ return $(tabEl).parent('.tabs').parent('.tabs-animated-wrap, swiper-container.tabs').length === 0;
16704
16695
  }).eq(0);
16705
16696
  $panelEl = vl.$el.parents('.panel').eq(0);
16706
16697
  $popupEl = vl.$el.parents('.popup').eq(0);
@@ -17639,13 +17630,14 @@
17639
17630
 
17640
17631
  // Swipeable tabs
17641
17632
  let swiper;
17642
- if ($tabsEl.parent().hasClass('tabs-swipeable-wrap') && app.swiper) {
17643
- swiper = $tabsEl.parent()[0].swiper;
17644
- if (swiper && swiper.activeIndex !== $newTabEl.index()) {
17633
+ if ($tabsEl[0].nodeName.toLowerCase() === 'swiper-container' && app.swiper) {
17634
+ swiper = $tabsEl[0].swiper;
17635
+ const newTabIndex = swiper.slides.indexOf($newTabEl[0]);
17636
+ if (swiper && swiper.activeIndex !== newTabIndex) {
17645
17637
  animated = true;
17646
17638
  swiper.once('slideChangeTransitionEnd', () => {
17647
17639
  tabsChanged();
17648
- }).slideTo($newTabEl.index(), animate ? undefined : 0);
17640
+ }).slideTo(newTabIndex, animate ? undefined : 0);
17649
17641
  } else if (swiper && swiper.animating) {
17650
17642
  animated = true;
17651
17643
  swiper.once('slideChangeTransitionEnd', () => {
@@ -17850,7 +17842,7 @@
17850
17842
  if (otherPanelOpened) return;
17851
17843
  }
17852
17844
  if (e.target && e.target.nodeName.toLowerCase() === 'input' && e.target.type === 'range') return;
17853
- if ($(e.target).closest('.range-slider, .tabs-swipeable-wrap, .calendar-months, .no-swipe-panel, .card-opened').length > 0) return;
17845
+ if ($(e.target).closest('.range-slider, swiper-container.tabs, .calendar-months, .no-swipe-panel, .card-opened').length > 0) return;
17854
17846
  touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;
17855
17847
  touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;
17856
17848
  if (params.swipeOnlyClose && !panel.opened) {
@@ -22227,7 +22219,7 @@
22227
22219
  }), $jsx$1("div", {
22228
22220
  class: "page-content"
22229
22221
  }, $jsx$1("div", {
22230
- class: `list smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
22222
+ class: `list list-outline-ios list-strong-ios list-dividers-ios smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
22231
22223
  }, $jsx$1("ul", null, !ss.params.virtualList && ss.renderItems(ss.items)))));
22232
22224
  }
22233
22225
  renderPopup() {
@@ -22267,7 +22259,7 @@
22267
22259
  }), $jsx$1("div", {
22268
22260
  class: "page-content"
22269
22261
  }, $jsx$1("div", {
22270
- class: `list smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
22262
+ class: `list list-outline-ios list-strong-ios list-dividers-ios smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
22271
22263
  }, $jsx$1("ul", null, !ss.params.virtualList && ss.renderItems(ss.items)))))));
22272
22264
  }
22273
22265
  renderSheet() {
@@ -22293,7 +22285,7 @@
22293
22285
  }, $jsx$1("div", {
22294
22286
  class: "page-content"
22295
22287
  }, $jsx$1("div", {
22296
- class: `list smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
22288
+ class: `list list-strong-ios list-dividers-ios smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
22297
22289
  }, $jsx$1("ul", null, !ss.params.virtualList && ss.renderItems(ss.items))))));
22298
22290
  }
22299
22291
  renderPopover() {
@@ -22307,7 +22299,7 @@
22307
22299
  }, $jsx$1("div", {
22308
22300
  class: "popover-inner"
22309
22301
  }, $jsx$1("div", {
22310
- class: `list smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
22302
+ class: `list list-strong-ios list-dividers-ios smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
22311
22303
  }, $jsx$1("ul", null, !ss.params.virtualList && ss.renderItems(ss.items)))));
22312
22304
  }
22313
22305
  scrollToSelectedItem() {
@@ -26575,7 +26567,7 @@
26575
26567
  backdrop: true,
26576
26568
  removeDiacritics: true,
26577
26569
  customSearch: false,
26578
- hideDividers: true,
26570
+ hideGroupTitles: true,
26579
26571
  hideGroups: true,
26580
26572
  disableOnBackdropClick: true,
26581
26573
  expandable: false,
@@ -27062,7 +27054,7 @@
27062
27054
  foundItems.push($itemEl[0]);
27063
27055
  }
27064
27056
  });
27065
- if (sb.params.hideDividers) {
27057
+ if (sb.params.hideGroupTitles) {
27066
27058
  $searchContainer.find(sb.params.searchGroupTitle).each(titleEl => {
27067
27059
  const $titleEl = $(titleEl);
27068
27060
  const $nextElements = $titleEl.nextAll(sb.params.searchItem);
@@ -30719,6 +30711,7 @@
30719
30711
  // The observerUpdate event should only be triggered
30720
30712
  // once despite the number of mutations. Additional
30721
30713
  // triggers are redundant and are very costly
30714
+ if (swiper.__preventObserver__) return;
30722
30715
  if (mutations.length === 1) {
30723
30716
  emit('observerUpdate', mutations[0]);
30724
30717
  return;
@@ -31206,7 +31199,7 @@
31206
31199
  }
31207
31200
  const getSlideByIndex = index => {
31208
31201
  if (isVirtual) {
31209
- return swiper.slides.filter(el => parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index)[0];
31202
+ return swiper.getSlideIndexByData(index);
31210
31203
  }
31211
31204
  return swiper.slides[index];
31212
31205
  };
@@ -31323,8 +31316,8 @@
31323
31316
  if (isEndRounded) progress = 1;
31324
31317
  }
31325
31318
  if (params.loop) {
31326
- const firstSlideIndex = elementIndex(swiper.slides.filter(el => el.getAttribute('data-swiper-slide-index') === '0')[0]);
31327
- const lastSlideIndex = elementIndex(swiper.slides.filter(el => el.getAttribute('data-swiper-slide-index') * 1 === swiper.slides.length - 1)[0]);
31319
+ const firstSlideIndex = swiper.getSlideIndexByData(0);
31320
+ const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1);
31328
31321
  const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex];
31329
31322
  const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex];
31330
31323
  const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1];
@@ -31959,7 +31952,7 @@
31959
31952
  // eslint-disable-next-line
31960
31953
  newIndex = newIndex + swiper.virtual.slidesBefore;
31961
31954
  } else {
31962
- newIndex = elementIndex(swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === newIndex)[0]);
31955
+ newIndex = swiper.getSlideIndexByData(newIndex);
31963
31956
  }
31964
31957
  }
31965
31958
  return swiper.slideTo(newIndex, speed, runCallbacks, internal);
@@ -32129,7 +32122,7 @@
32129
32122
  if (params.centeredSlides) {
32130
32123
  if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {
32131
32124
  swiper.loopFix();
32132
- slideToIndex = elementIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
32125
+ slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
32133
32126
  nextTick(() => {
32134
32127
  swiper.slideTo(slideToIndex);
32135
32128
  });
@@ -32138,7 +32131,7 @@
32138
32131
  }
32139
32132
  } else if (slideToIndex > swiper.slides.length - slidesPerView) {
32140
32133
  swiper.loopFix();
32141
- slideToIndex = elementIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
32134
+ slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
32142
32135
  nextTick(() => {
32143
32136
  swiper.slideTo(slideToIndex);
32144
32137
  });
@@ -32224,7 +32217,7 @@
32224
32217
  const appendSlidesIndexes = [];
32225
32218
  let activeIndex = swiper.activeIndex;
32226
32219
  if (typeof activeSlideIndex === 'undefined') {
32227
- activeSlideIndex = elementIndex(swiper.slides.filter(el => el.classList.contains('swiper-slide-active'))[0]);
32220
+ activeSlideIndex = swiper.getSlideIndex(swiper.slides.filter(el => el.classList.contains(params.slideActiveClass))[0]);
32228
32221
  } else {
32229
32222
  activeIndex = activeSlideIndex;
32230
32223
  }
@@ -32234,13 +32227,13 @@
32234
32227
  let slidesAppended = 0;
32235
32228
  // prepend last slides before start
32236
32229
  if (activeSlideIndex < loopedSlides) {
32237
- slidesPrepended = loopedSlides - activeSlideIndex;
32230
+ slidesPrepended = Math.max(loopedSlides - activeSlideIndex, params.slidesPerGroup);
32238
32231
  for (let i = 0; i < loopedSlides - activeSlideIndex; i += 1) {
32239
32232
  const index = i - Math.floor(i / slides.length) * slides.length;
32240
32233
  prependSlidesIndexes.push(slides.length - index - 1);
32241
32234
  }
32242
32235
  } else if (activeSlideIndex /* + slidesPerView */ > swiper.slides.length - loopedSlides * 2) {
32243
- slidesAppended = activeSlideIndex - (swiper.slides.length - loopedSlides * 2);
32236
+ slidesAppended = Math.max(activeSlideIndex - (swiper.slides.length - loopedSlides * 2), params.slidesPerGroup);
32244
32237
  for (let i = 0; i < slidesAppended; i += 1) {
32245
32238
  const index = i - Math.floor(i / slides.length) * slides.length;
32246
32239
  appendSlidesIndexes.push(index);
@@ -32310,7 +32303,7 @@
32310
32303
  };
32311
32304
  if (Array.isArray(swiper.controller.control)) {
32312
32305
  swiper.controller.control.forEach(c => {
32313
- if (c.params.loop) c.loopFix(loopParams);
32306
+ if (!c.destroyed && c.params.loop) c.loopFix(loopParams);
32314
32307
  });
32315
32308
  } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) {
32316
32309
  swiper.controller.control.loopFix(loopParams);
@@ -32322,18 +32315,17 @@
32322
32315
  function loopDestroy() {
32323
32316
  const swiper = this;
32324
32317
  const {
32325
- slides,
32326
32318
  params,
32327
32319
  slidesEl
32328
32320
  } = swiper;
32329
32321
  if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;
32330
32322
  swiper.recalcSlides();
32331
32323
  const newSlidesOrder = [];
32332
- slides.forEach(slideEl => {
32324
+ swiper.slides.forEach(slideEl => {
32333
32325
  const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;
32334
32326
  newSlidesOrder[index] = slideEl;
32335
32327
  });
32336
- slides.forEach(slideEl => {
32328
+ swiper.slides.forEach(slideEl => {
32337
32329
  slideEl.removeAttribute('data-swiper-slide-index');
32338
32330
  });
32339
32331
  newSlidesOrder.forEach(slideEl => {
@@ -32353,8 +32345,16 @@
32353
32345
  const swiper = this;
32354
32346
  if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;
32355
32347
  const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;
32348
+ if (swiper.isElement) {
32349
+ swiper.__preventObserver__ = true;
32350
+ }
32356
32351
  el.style.cursor = 'move';
32357
32352
  el.style.cursor = moving ? 'grabbing' : 'grab';
32353
+ if (swiper.isElement) {
32354
+ requestAnimationFrame(() => {
32355
+ swiper.__preventObserver__ = false;
32356
+ });
32357
+ }
32358
32358
  }
32359
32359
 
32360
32360
  function unsetGrabCursor() {
@@ -32362,7 +32362,15 @@
32362
32362
  if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {
32363
32363
  return;
32364
32364
  }
32365
+ if (swiper.isElement) {
32366
+ swiper.__preventObserver__ = true;
32367
+ }
32365
32368
  swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';
32369
+ if (swiper.isElement) {
32370
+ requestAnimationFrame(() => {
32371
+ swiper.__preventObserver__ = false;
32372
+ });
32373
+ }
32366
32374
  }
32367
32375
 
32368
32376
  var grabCursor = {
@@ -32730,7 +32738,12 @@
32730
32738
  if (pointerIndex >= 0) {
32731
32739
  data.evCache.splice(pointerIndex, 1);
32732
32740
  }
32733
- if (['pointercancel', 'pointerout', 'pointerleave'].includes(event.type)) return;
32741
+ if (['pointercancel', 'pointerout', 'pointerleave'].includes(event.type)) {
32742
+ const proceed = event.type === 'pointercancel' && (swiper.browser.isSafari || swiper.browser.isWebView);
32743
+ if (!proceed) {
32744
+ return;
32745
+ }
32746
+ }
32734
32747
  const {
32735
32748
  params,
32736
32749
  touches,
@@ -32909,7 +32922,9 @@
32909
32922
  if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {
32910
32923
  clearTimeout(timeout);
32911
32924
  timeout = setTimeout(() => {
32912
- swiper.autoplay.resume();
32925
+ if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {
32926
+ swiper.autoplay.resume();
32927
+ }
32913
32928
  }, 500);
32914
32929
  }
32915
32930
  // Return locks after resize
@@ -33597,6 +33612,18 @@
33597
33612
  // eslint-disable-next-line no-constructor-return
33598
33613
  return swiper;
33599
33614
  }
33615
+ getSlideIndex(slideEl) {
33616
+ const {
33617
+ slidesEl,
33618
+ params
33619
+ } = this;
33620
+ const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);
33621
+ const firstSlideIndex = elementIndex(slides[0]);
33622
+ return elementIndex(slideEl) - firstSlideIndex;
33623
+ }
33624
+ getSlideIndexByData(index) {
33625
+ return this.getSlideIndex(this.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index)[0]);
33626
+ }
33600
33627
  recalcSlides() {
33601
33628
  const swiper = this;
33602
33629
  const {
@@ -34054,7 +34081,7 @@
34054
34081
  }
34055
34082
  slideEl.setAttribute('data-swiper-slide-index', index);
34056
34083
  if (!params.renderSlide) {
34057
- slideEl.textContent = slide;
34084
+ slideEl.innerHTML = slide;
34058
34085
  }
34059
34086
  if (params.cache) swiper.virtual.cache[index] = slideEl;
34060
34087
  return slideEl;
@@ -34282,7 +34309,7 @@
34282
34309
  if (!swiper.params.virtual.enabled) return;
34283
34310
  let domSlidesAssigned;
34284
34311
  if (typeof swiper.passedParams.virtual.slides === 'undefined') {
34285
- const slides = swiper.slidesEl.querySelectorAll(`.${swiper.params.slideClass}, swiper-slide`);
34312
+ const slides = [...swiper.slidesEl.children].filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`));
34286
34313
  if (slides && slides.length) {
34287
34314
  swiper.virtual.slides = [...slides];
34288
34315
  domSlidesAssigned = true;
@@ -35034,7 +35061,7 @@
35034
35061
  if (classes === void 0) {
35035
35062
  classes = '';
35036
35063
  }
35037
- return `.${classes.trim().replace(/([\.:!\/])/g, '\\$1') // eslint-disable-line
35064
+ return `.${classes.trim().replace(/([\.:!+\/])/g, '\\$1') // eslint-disable-line
35038
35065
  .replace(/ /g, '.')}`;
35039
35066
  }
35040
35067
 
@@ -35106,11 +35133,21 @@
35106
35133
  }
35107
35134
  }
35108
35135
  function onBulletClick(e) {
35109
- const isBullet = e.target.matches(classesToSelector(swiper.params.pagination.bulletClass));
35110
- if (!isBullet) return;
35136
+ const bulletEl = e.target.closest(classesToSelector(swiper.params.pagination.bulletClass));
35137
+ if (!bulletEl) {
35138
+ return;
35139
+ }
35111
35140
  e.preventDefault();
35112
- const index = elementIndex(e.target) * swiper.params.slidesPerGroup;
35141
+ const index = elementIndex(bulletEl) * swiper.params.slidesPerGroup;
35113
35142
  if (swiper.params.loop) {
35143
+ if (swiper.realIndex === index) return;
35144
+ if (index < swiper.loopedSlides || index > swiper.slides.length - swiper.loopedSlides) {
35145
+ swiper.loopFix({
35146
+ direction: index < swiper.loopedSlides ? 'prev' : 'next',
35147
+ activeSlideIndex: index,
35148
+ slideTo: false
35149
+ });
35150
+ }
35114
35151
  swiper.slideToLoop(index);
35115
35152
  } else {
35116
35153
  swiper.slideTo(index);
@@ -35158,17 +35195,18 @@
35158
35195
  midIndex = (lastIndex + firstIndex) / 2;
35159
35196
  }
35160
35197
  bullets.forEach(bulletEl => {
35161
- bulletEl.classList.remove(...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`));
35198
+ const classesToRemove = [...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`)].map(s => typeof s === 'string' && s.includes(' ') ? s.split(' ') : s).flat();
35199
+ bulletEl.classList.remove(...classesToRemove);
35162
35200
  });
35163
35201
  if (el.length > 1) {
35164
35202
  bullets.forEach(bullet => {
35165
35203
  const bulletIndex = elementIndex(bullet);
35166
35204
  if (bulletIndex === current) {
35167
- bullet.classList.add(params.bulletActiveClass);
35205
+ bullet.classList.add(...params.bulletActiveClass.split(' '));
35168
35206
  }
35169
35207
  if (params.dynamicBullets) {
35170
35208
  if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {
35171
- bullet.classList.add(`${params.bulletActiveClass}-main`);
35209
+ bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' '));
35172
35210
  }
35173
35211
  if (bulletIndex === firstIndex) {
35174
35212
  setSideBullets(bullet, 'prev');
@@ -35181,13 +35219,15 @@
35181
35219
  } else {
35182
35220
  const bullet = bullets[current];
35183
35221
  if (bullet) {
35184
- bullet.classList.add(params.bulletActiveClass);
35222
+ bullet.classList.add(...params.bulletActiveClass.split(' '));
35185
35223
  }
35186
35224
  if (params.dynamicBullets) {
35187
35225
  const firstDisplayedBullet = bullets[firstIndex];
35188
35226
  const lastDisplayedBullet = bullets[lastIndex];
35189
35227
  for (let i = firstIndex; i <= lastIndex; i += 1) {
35190
- bullets[i].classList.add(`${params.bulletActiveClass}-main`);
35228
+ if (bullets[i]) {
35229
+ bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' '));
35230
+ }
35191
35231
  }
35192
35232
  setSideBullets(firstDisplayedBullet, 'prev');
35193
35233
  setSideBullets(lastDisplayedBullet, 'next');
@@ -35278,12 +35318,13 @@
35278
35318
  paginationHTML = `<span class="${params.progressbarFillClass}"></span>`;
35279
35319
  }
35280
35320
  }
35321
+ swiper.pagination.bullets = [];
35281
35322
  el.forEach(subEl => {
35282
35323
  if (params.type !== 'custom') {
35283
35324
  subEl.innerHTML = paginationHTML || '';
35284
35325
  }
35285
35326
  if (params.type === 'bullets') {
35286
- swiper.pagination.bullets = [...subEl.querySelectorAll(classesToSelector(params.bulletClass))];
35327
+ swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass)));
35287
35328
  }
35288
35329
  });
35289
35330
  if (params.type !== 'custom') {
@@ -35361,7 +35402,7 @@
35361
35402
  }
35362
35403
  });
35363
35404
  }
35364
- if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(params.bulletActiveClass));
35405
+ if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(...params.bulletActiveClass.split(' ')));
35365
35406
  }
35366
35407
  on('init', () => {
35367
35408
  if (swiper.params.pagination.enabled === false) {
@@ -35717,7 +35758,7 @@
35717
35758
  el.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
35718
35759
  let dragEl;
35719
35760
  if (el) {
35720
- el.querySelector(`.${swiper.params.scrollbar.dragClass}`);
35761
+ dragEl = el.querySelector(`.${swiper.params.scrollbar.dragClass}`);
35721
35762
  if (!dragEl) {
35722
35763
  dragEl = createElement('div', swiper.params.scrollbar.dragClass);
35723
35764
  el.append(dragEl);
@@ -35988,6 +36029,14 @@
35988
36029
  const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);
35989
36030
  return distance;
35990
36031
  }
36032
+ function getScaleOrigin() {
36033
+ if (evCache.length < 2) return {
36034
+ x: null,
36035
+ y: null
36036
+ };
36037
+ const box = gesture.imageEl.getBoundingClientRect();
36038
+ return [(evCache[0].pageX + (evCache[1].pageX - evCache[0].pageX) / 2 - box.x) / currentScale, (evCache[0].pageY + (evCache[1].pageY - evCache[0].pageY) / 2 - box.y) / currentScale];
36039
+ }
35991
36040
  function getSlideSelector() {
35992
36041
  return swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;
35993
36042
  }
@@ -36006,6 +36055,9 @@
36006
36055
 
36007
36056
  // Events
36008
36057
  function onGestureStart(e) {
36058
+ if (e.pointerType === 'mouse') {
36059
+ evCache.splice(0, evCache.length);
36060
+ }
36009
36061
  if (!eventWithinSlide(e)) return;
36010
36062
  const params = swiper.params.zoom;
36011
36063
  fakeGestureTouched = false;
@@ -36036,6 +36088,8 @@
36036
36088
  gesture.maxRatio = gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio;
36037
36089
  }
36038
36090
  if (gesture.imageEl) {
36091
+ const [originX, originY] = getScaleOrigin();
36092
+ gesture.imageEl.style.transformOrigin = `${originX}px ${originY}px`;
36039
36093
  gesture.imageEl.style.transitionDuration = '0ms';
36040
36094
  }
36041
36095
  isScaling = true;
@@ -36065,6 +36119,7 @@
36065
36119
  }
36066
36120
  function onGestureEnd(e) {
36067
36121
  if (!eventWithinSlide(e)) return;
36122
+ if (e.pointerType === 'mouse' && e.type === 'pointerout') return;
36068
36123
  const params = swiper.params.zoom;
36069
36124
  const zoom = swiper.zoom;
36070
36125
  const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);
@@ -36074,7 +36129,7 @@
36074
36129
  }
36075
36130
  fakeGestureTouched = false;
36076
36131
  fakeGestureMoved = false;
36077
- if (!gesture.imageE) return;
36132
+ if (!gesture.imageEl) return;
36078
36133
  zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);
36079
36134
  gesture.imageEl.style.transitionDuration = `${swiper.params.speed}ms`;
36080
36135
  gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;
@@ -36387,7 +36442,7 @@
36387
36442
 
36388
36443
  swiper.wrapperEl.addEventListener('pointerdown', onGestureStart, passiveListener);
36389
36444
  swiper.wrapperEl.addEventListener('pointermove', onGestureChange, activeListenerWithCapture);
36390
- ['pointerup', 'pointercancel'].forEach(eventName => {
36445
+ ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => {
36391
36446
  swiper.wrapperEl.addEventListener(eventName, onGestureEnd, passiveListener);
36392
36447
  });
36393
36448
 
@@ -36406,7 +36461,7 @@
36406
36461
  // Scale image
36407
36462
  swiper.wrapperEl.removeEventListener('pointerdown', onGestureStart, passiveListener);
36408
36463
  swiper.wrapperEl.removeEventListener('pointermove', onGestureChange, activeListenerWithCapture);
36409
- ['pointerup', 'pointercancel'].forEach(eventName => {
36464
+ ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => {
36410
36465
  swiper.wrapperEl.removeEventListener(eventName, onGestureEnd, passiveListener);
36411
36466
  });
36412
36467
 
@@ -36811,7 +36866,7 @@
36811
36866
  addElLabel(bulletEl, params.paginationBulletMessage.replace(/\{\{index\}\}/, elementIndex(bulletEl) + 1));
36812
36867
  }
36813
36868
  }
36814
- if (bulletEl.matches(`.${swiper.params.pagination.bulletActiveClass}`)) {
36869
+ if (bulletEl.matches(classesToSelector(swiper.params.pagination.bulletActiveClass))) {
36815
36870
  bulletEl.setAttribute('aria-current', 'true');
36816
36871
  } else {
36817
36872
  bulletEl.removeAttribute('aria-current');
@@ -37057,7 +37112,7 @@
37057
37112
  const slide = swiper.slides[i];
37058
37113
  const slideHistory = slugify(slide.getAttribute('data-history'));
37059
37114
  if (slideHistory === value) {
37060
- const index = elementIndex(slide);
37115
+ const index = swiper.getSlideIndex(slide);
37061
37116
  swiper.slideTo(index, speed, runCallbacks);
37062
37117
  }
37063
37118
  }
@@ -37140,7 +37195,7 @@
37140
37195
  const newHash = document.location.hash.replace('#', '');
37141
37196
  const activeSlideHash = swiper.slides[swiper.activeIndex].getAttribute('data-hash');
37142
37197
  if (newHash !== activeSlideHash) {
37143
- const newIndex = elementIndex(elementChildren(swiper.slidesEl, `.${swiper.params.slideClass}[data-hash="${newHash}"], swiper-slide[data-hash="${newHash}"]`)[0]);
37198
+ const newIndex = swiper.getSlideIndex(elementChildren(swiper.slidesEl, `.${swiper.params.slideClass}[data-hash="${newHash}"], swiper-slide[data-hash="${newHash}"]`)[0]);
37144
37199
  if (typeof newIndex === 'undefined') return;
37145
37200
  swiper.slideTo(newIndex);
37146
37201
  }
@@ -37167,7 +37222,7 @@
37167
37222
  const slide = swiper.slides[i];
37168
37223
  const slideHash = slide.getAttribute('data-hash') || slide.getAttribute('data-history');
37169
37224
  if (slideHash === hash) {
37170
- const index = elementIndex(slide);
37225
+ const index = swiper.getSlideIndex(slide);
37171
37226
  swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true);
37172
37227
  }
37173
37228
  }
@@ -37288,6 +37343,7 @@
37288
37343
  autoplayTimeLeft = delay;
37289
37344
  const speed = swiper.params.speed;
37290
37345
  const proceed = () => {
37346
+ if (!swiper || swiper.destroyed) return;
37291
37347
  if (swiper.params.autoplay.reverseDirection) {
37292
37348
  if (!swiper.isBeginning || swiper.params.loop || swiper.params.rewind) {
37293
37349
  swiper.slidePrev(speed, true, true);
@@ -38283,7 +38339,7 @@
38283
38339
  } else {
38284
38340
  transitionEndTarget = transformElements.filter(transformEl => {
38285
38341
  const el = transformEl.classList.contains('swiper-slide-transform') ? getSlide(transformEl) : transformEl;
38286
- return elementIndex(el) === activeIndex;
38342
+ return swiper.getSlideIndex(el) === activeIndex;
38287
38343
  });
38288
38344
  }
38289
38345
  transitionEndTarget.forEach(el => {
@@ -38846,7 +38902,7 @@
38846
38902
  targetEl.style.transform = transform;
38847
38903
  targetEl.style.opacity = opacityString;
38848
38904
  if (data.origin) {
38849
- targetEl.style.transformOrigin = opacityString;
38905
+ targetEl.style.transformOrigin = data.origin;
38850
38906
  }
38851
38907
  }
38852
38908
  };
@@ -38993,7 +39049,7 @@
38993
39049
  }
38994
39050
 
38995
39051
  /**
38996
- * Swiper 9.0.3
39052
+ * Swiper 9.1.1
38997
39053
  * Most modern mobile touch slider and framework with hardware accelerated transitions
38998
39054
  * https://swiperjs.com
38999
39055
  *
@@ -39001,7 +39057,7 @@
39001
39057
  *
39002
39058
  * Released under the MIT License
39003
39059
  *
39004
- * Released on: February 6, 2023
39060
+ * Released on: March 16, 2023
39005
39061
  */
39006
39062
 
39007
39063
  // Swiper Class
@@ -39009,7 +39065,7 @@
39009
39065
  Swiper$1.use(modules);
39010
39066
 
39011
39067
  /* underscore in name -> watch for changes */
39012
- const paramsList = ['modules', 'init', '_direction', 'oneWayMovement', 'touchEventsTarget', 'initialSlide', '_speed', 'cssMode', 'updateOnWindowResize', 'resizeObserver', 'nested', 'focusableElements', '_enabled', '_width', '_height', 'preventInteractionOnTransition', 'userAgent', 'url', '_edgeSwipeDetection', '_edgeSwipeThreshold', '_freeMode', '_autoHeight', 'setWrapperSize', 'virtualTranslate', '_effect', 'breakpoints', '_spaceBetween', '_slidesPerView', 'maxBackfaceHiddenSlides', '_grid', '_slidesPerGroup', '_slidesPerGroupSkip', '_slidesPerGroupAuto', '_centeredSlides', '_centeredSlidesBounds', '_slidesOffsetBefore', '_slidesOffsetAfter', 'normalizeSlideIndex', '_centerInsufficientSlides', '_watchOverflow', 'roundLengths', 'touchRatio', 'touchAngle', 'simulateTouch', '_shortSwipes', '_longSwipes', 'longSwipesRatio', 'longSwipesMs', '_followFinger', 'allowTouchMove', '_threshold', 'touchMoveStopPropagation', 'touchStartPreventDefault', 'touchStartForcePreventDefault', 'touchReleaseOnEdges', 'uniqueNavElements', '_resistance', '_resistanceRatio', '_watchSlidesProgress', '_grabCursor', 'preventClicks', 'preventClicksPropagation', '_slideToClickedSlide', '_loop', 'loopedSlides', 'loopPreventsSliding', '_rewind', '_allowSlidePrev', '_allowSlideNext', '_swipeHandler', '_noSwiping', 'noSwipingClass', 'noSwipingSelector', 'passiveListeners', 'containerModifierClass', 'slideClass', 'slideActiveClass', 'slideVisibleClass', 'slideNextClass', 'slidePrevClass', 'wrapperClass', 'lazyPreloaderClass', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren',
39068
+ const paramsList = ['eventsPrefix', 'modules', 'init', '_direction', 'oneWayMovement', 'touchEventsTarget', 'initialSlide', '_speed', 'cssMode', 'updateOnWindowResize', 'resizeObserver', 'nested', 'focusableElements', '_enabled', '_width', '_height', 'preventInteractionOnTransition', 'userAgent', 'url', '_edgeSwipeDetection', '_edgeSwipeThreshold', '_freeMode', '_autoHeight', 'setWrapperSize', 'virtualTranslate', '_effect', 'breakpoints', '_spaceBetween', '_slidesPerView', 'maxBackfaceHiddenSlides', '_grid', '_slidesPerGroup', '_slidesPerGroupSkip', '_slidesPerGroupAuto', '_centeredSlides', '_centeredSlidesBounds', '_slidesOffsetBefore', '_slidesOffsetAfter', 'normalizeSlideIndex', '_centerInsufficientSlides', '_watchOverflow', 'roundLengths', 'touchRatio', 'touchAngle', 'simulateTouch', '_shortSwipes', '_longSwipes', 'longSwipesRatio', 'longSwipesMs', '_followFinger', 'allowTouchMove', '_threshold', 'touchMoveStopPropagation', 'touchStartPreventDefault', 'touchStartForcePreventDefault', 'touchReleaseOnEdges', 'uniqueNavElements', '_resistance', '_resistanceRatio', '_watchSlidesProgress', '_grabCursor', 'preventClicks', 'preventClicksPropagation', '_slideToClickedSlide', '_loop', 'loopedSlides', 'loopPreventsSliding', '_rewind', '_allowSlidePrev', '_allowSlideNext', '_swipeHandler', '_noSwiping', 'noSwipingClass', 'noSwipingSelector', 'passiveListeners', 'containerModifierClass', 'slideClass', 'slideActiveClass', 'slideVisibleClass', 'slideNextClass', 'slidePrevClass', 'wrapperClass', 'lazyPreloaderClass', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren',
39013
39069
  // modules
39014
39070
  'a11y', '_autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'creativeEffect', 'cardsEffect', 'hashNavigation', 'history', 'keyboard', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom', 'control', 'injectStyles', 'injectStylesUrls'];
39015
39071
 
@@ -39084,10 +39140,11 @@
39084
39140
  const params = {};
39085
39141
  const passedParams = {};
39086
39142
  extend(params, defaults);
39087
- const allowedParams = paramsList.map(key => key.replace(/_/, ''));
39143
+ const localParamsList = [...paramsList, 'on'];
39144
+ const allowedParams = localParamsList.map(key => key.replace(/_/, ''));
39088
39145
 
39089
39146
  // First check props
39090
- paramsList.forEach(paramName => {
39147
+ localParamsList.forEach(paramName => {
39091
39148
  paramName = paramName.replace('_', '');
39092
39149
  if (typeof element[paramName] !== 'undefined') {
39093
39150
  passedParams[paramName] = element[paramName];
@@ -39315,7 +39372,7 @@
39315
39372
  }
39316
39373
 
39317
39374
  /**
39318
- * Swiper Custom Element 9.0.3
39375
+ * Swiper Custom Element 9.1.1
39319
39376
  * Most modern mobile touch slider and framework with hardware accelerated transitions
39320
39377
  * https://swiperjs.com
39321
39378
  *
@@ -39323,10 +39380,10 @@
39323
39380
  *
39324
39381
  * Released under the MIT License
39325
39382
  *
39326
- * Released on: February 6, 2023
39383
+ * Released on: March 16, 2023
39327
39384
  */
39328
39385
  const SwiperFontCSS = `@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}`;
39329
- const SwiperCSS = `:root{--swiper-theme-color:#007aff}.swiper,swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}:host(.swiper-vertical)>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight swiper-slide{height:auto}:host(.swiper-autoheight) .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}:host(.swiper-3d.swiper-css-mode) .swiper-wrapper{perspective:1200px}:host(.swiper-3d) .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d swiper-slide{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}:host(.swiper-css-mode)>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}:host(.swiper-css-mode)>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>swiper-slide{scroll-snap-align:start start}:host(.swiper-horizontal.swiper-css-mode)>.swiper-wrapper{scroll-snap-type:x mandatory}:host(.swiper-vertical.swiper-css-mode)>.swiper-wrapper{scroll-snap-type:y mandatory}:host(.swiper-centered)>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered>swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-centered.swiper-horizontal>swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}:host(.swiper-centered.swiper-horizontal)>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}:host(.swiper-centered.swiper-vertical)>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}:host(.swiper-virtual.swiper-css-mode) .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}:host(.swiper-virtual.swiper-css-mode.swiper-horizontal) .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}:host(.swiper-virtual.swiper-css-mode.swiper-vertical) .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,:host(.swiper-rtl) .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-prev:after,:host(.swiper-rtl) .swiper-button-next:after{content:'prev'}.swiper-button-next,:host(.swiper-rtl) .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,:host(.swiper-rtl) .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}:host(.swiper-rtl) .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;-ms-touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification,swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}:host(.swiper-free-mode)>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}:host(.swiper-grid)>.swiper-wrapper{flex-wrap:wrap}:host(.swiper-grid-column)>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode swiper-slide{transition-timing-function:ease-out}.swiper-fade swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade swiper-slide swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube swiper-slide swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev,.swiper-cube swiper-slide-next+swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip swiper-slide swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}`;
39386
+ const SwiperCSS = `:root{--swiper-theme-color:#007aff}.swiper,swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}:host(.swiper-vertical)>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight swiper-slide{height:auto}:host(.swiper-autoheight) .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}:host(.swiper-3d.swiper-css-mode) .swiper-wrapper{perspective:1200px}:host(.swiper-3d) .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d swiper-slide{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}:host(.swiper-css-mode)>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}:host(.swiper-css-mode)>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>swiper-slide{scroll-snap-align:start start}:host(.swiper-horizontal.swiper-css-mode)>.swiper-wrapper{scroll-snap-type:x mandatory}:host(.swiper-vertical.swiper-css-mode)>.swiper-wrapper{scroll-snap-type:y mandatory}:host(.swiper-centered)>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered>swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-centered.swiper-horizontal>swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}:host(.swiper-centered.swiper-horizontal)>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}:host(.swiper-centered.swiper-vertical)>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}:host(.swiper-virtual.swiper-css-mode) .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}:host(.swiper-virtual.swiper-css-mode.swiper-horizontal) .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}:host(.swiper-virtual.swiper-css-mode.swiper-vertical) .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,:host(.swiper-rtl) .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-prev:after,:host(.swiper-rtl) .swiper-button-next:after{content:'prev'}.swiper-button-next,:host(.swiper-rtl) .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,:host(.swiper-rtl) .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}:host(.swiper-rtl) .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;-ms-touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification,swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}:host(.swiper-free-mode)>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}:host(.swiper-grid)>.swiper-wrapper{flex-wrap:wrap}:host(.swiper-grid-column)>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode swiper-slide{transition-timing-function:ease-out}.swiper-fade swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade swiper-slide swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube swiper-slide swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev,.swiper-cube swiper-slide-next+swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip swiper-slide swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}`;
39330
39387
  let globalInjectStyles = true;
39331
39388
  const addGlobalStyles = (preInit, swiper) => {
39332
39389
  let globalStyles = document.querySelector('style#swiper-element-styles');
@@ -39428,10 +39485,11 @@
39428
39485
  observer: true
39429
39486
  }),
39430
39487
  onAny: function (name) {
39488
+ const eventName = swiperParams.eventsPrefix ? `${swiperParams.eventsPrefix}${name.toLowerCase()}` : name.toLowerCase();
39431
39489
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
39432
39490
  args[_key - 1] = arguments[_key];
39433
39491
  }
39434
- const event = new CustomEvent(name.toLowerCase(), {
39492
+ const event = new CustomEvent(eventName, {
39435
39493
  detail: args,
39436
39494
  bubbles: true,
39437
39495
  cancelable: true
@@ -39451,6 +39509,7 @@
39451
39509
  if (this.swiper && this.swiper.destroy) {
39452
39510
  this.swiper.destroy();
39453
39511
  }
39512
+ this.initialized = false;
39454
39513
  }
39455
39514
  updateSwiperOnPropChange(propName) {
39456
39515
  const {
@@ -39542,6 +39601,11 @@
39542
39601
  if (!window.customElements.get('swiper-container')) window.customElements.define('swiper-container', SwiperContainer);
39543
39602
  if (!window.customElements.get('swiper-slide')) window.customElements.define('swiper-slide', SwiperSlide);
39544
39603
  };
39604
+ if (typeof window !== 'undefined') {
39605
+ window.SwiperElementRegisterParams = params => {
39606
+ paramsList.push(...params);
39607
+ };
39608
+ }
39545
39609
 
39546
39610
  // eslint-disable-next-line
39547
39611
  register();
@@ -39558,14 +39622,14 @@
39558
39622
  const app = this;
39559
39623
  const $swiperEl = $(swiperEl);
39560
39624
  if ($swiperEl.length === 0) return;
39561
- if ($swiperEl[0].swiper) return;
39625
+ const isElement = $swiperEl[0].swiper && $swiperEl[0].swiper.isElement;
39626
+ if ($swiperEl[0].swiper && !$swiperEl[0].swiper.isElement) return;
39562
39627
  let initialSlide;
39563
39628
  let params = {};
39564
39629
  let isTabs;
39565
39630
  let isRoutableTabs;
39566
- if ($swiperEl.hasClass('tabs-swipeable-wrap')) {
39567
- $swiperEl.addClass('swiper').children('.tabs').addClass('swiper-wrapper').children('.tab').addClass('swiper-slide');
39568
- initialSlide = $swiperEl.children('.tabs').children('.tab-active').index();
39631
+ if ($swiperEl.hasClass('tabs')) {
39632
+ initialSlide = $swiperEl.children('swiper-slide').indexOf($swiperEl.children('.tab-active')[0]);
39569
39633
  isTabs = true;
39570
39634
  isRoutableTabs = $swiperEl.find('.tabs-routable').length > 0;
39571
39635
  }
@@ -39589,12 +39653,15 @@
39589
39653
  if (typeof params.initialSlide === 'undefined' && typeof initialSlide !== 'undefined') {
39590
39654
  params.initialSlide = initialSlide;
39591
39655
  }
39592
- const swiper = app.swiper.create($swiperEl[0], params);
39656
+ const swiper = isElement ? $swiperEl[0].swiper : app.swiper.create($swiperEl[0], params);
39657
+ if (isElement) {
39658
+ swiper.slideTo(initialSlide, 0);
39659
+ }
39593
39660
  function updateSwiper() {
39594
39661
  swiper.update();
39595
39662
  }
39596
39663
  const $tabEl = $swiperEl.parents('.tab').filter(tabEl => {
39597
- return $(tabEl).parent('.tabs').parent('.tabs-animated-wrap, .tabs-swipeable-wrap').length === 0;
39664
+ return $(tabEl).parent('.tabs').parent('.tabs-animated-wrap, swiper-container.tabs').length === 0;
39598
39665
  }).eq(0);
39599
39666
  $swiperEl.parents('.popup, .login-screen, .sheet-modal, .popover').on('modal:open', updateSwiper);
39600
39667
  $swiperEl.parents('.panel').on('panel:open', updateSwiper);
@@ -39642,64 +39709,44 @@
39642
39709
  });
39643
39710
  },
39644
39711
  on: {
39645
- pageBeforeRemove(page) {
39646
- const app = this;
39647
- page.$el.find('.tabs-swipeable-wrap').each(swiperEl => {
39648
- app.swiper.destroy(swiperEl);
39649
- });
39650
- },
39651
39712
  pageMounted(page) {
39652
39713
  const app = this;
39653
- page.$el.find('.tabs-swipeable-wrap').each(swiperEl => {
39714
+ page.$el.find('swiper-container.tabs').each(swiperEl => {
39654
39715
  initSwiper.call(app, swiperEl);
39655
39716
  });
39656
39717
  },
39657
39718
  pageInit(page) {
39658
39719
  const app = this;
39659
- page.$el.find('.tabs-swipeable-wrap').each(swiperEl => {
39720
+ page.$el.find('swiper-container.tabs').each(swiperEl => {
39660
39721
  initSwiper.call(app, swiperEl);
39661
39722
  });
39662
39723
  },
39663
39724
  pageReinit(page) {
39664
39725
  const app = this;
39665
- page.$el.find('.tabs-swipeable-wrap').each(swiperEl => {
39726
+ page.$el.find('swiper-container.tabs').each(swiperEl => {
39666
39727
  const swiper = app.swiper.get(swiperEl);
39667
39728
  if (swiper && swiper.update) swiper.update();
39668
39729
  });
39669
39730
  },
39670
39731
  tabMounted(tabEl) {
39671
39732
  const app = this;
39672
- $(tabEl).find('.tabs-swipeable-wrap').each(swiperEl => {
39733
+ $(tabEl).find('swiper-container.tabs').each(swiperEl => {
39673
39734
  initSwiper.call(app, swiperEl);
39674
39735
  });
39675
39736
  },
39676
39737
  tabShow(tabEl) {
39677
39738
  const app = this;
39678
- $(tabEl).find('.tabs-swipeable-wrap').each(swiperEl => {
39739
+ $(tabEl).find('swiper-container.tabs').each(swiperEl => {
39679
39740
  const swiper = app.swiper.get(swiperEl);
39680
39741
  if (swiper && swiper.update) swiper.update();
39681
39742
  });
39682
39743
  },
39683
39744
  tabBeforeRemove(tabEl) {
39684
39745
  const app = this;
39685
- $(tabEl).find('.tabs-swipeable-wrap').each(swiperEl => {
39746
+ $(tabEl).find('swiper-container.tabs').each(swiperEl => {
39686
39747
  app.swiper.destroy(swiperEl);
39687
39748
  });
39688
39749
  }
39689
- },
39690
- vnode: {
39691
- 'tabs-swipeable-wrap': {
39692
- insert(vnode) {
39693
- const app = this;
39694
- const swiperEl = vnode.elm;
39695
- initSwiper.call(app, swiperEl);
39696
- },
39697
- destroy(vnode) {
39698
- const app = this;
39699
- const swiperEl = vnode.elm;
39700
- app.swiper.destroy(swiperEl);
39701
- }
39702
- }
39703
39750
  }
39704
39751
  };
39705
39752