framework7 8.0.0-beta.9 → 8.0.0

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.0.0-beta.9
2
+ * Framework7 8.0.0
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 31, 2023
10
+ * Released on: April 3, 2023
11
11
  */
12
12
 
13
13
  (function (global, factory) {
@@ -1425,7 +1425,6 @@
1425
1425
 
1426
1426
  var methods = /*#__PURE__*/Object.freeze({
1427
1427
  __proto__: null,
1428
- 'default': $$1,
1429
1428
  $: $$1,
1430
1429
  add: add,
1431
1430
  addClass: addClass,
@@ -1442,6 +1441,7 @@
1442
1441
  css: css,
1443
1442
  data: data,
1444
1443
  dataset: dataset,
1444
+ default: $$1,
1445
1445
  detach: detach,
1446
1446
  each: each,
1447
1447
  empty: empty,
@@ -2502,8 +2502,9 @@
2502
2502
  } else if (typeof obj[prop] !== 'undefined' && obj[prop] !== '') {
2503
2503
  // Should be string or plain value
2504
2504
  resultArray.push(`${varName(prop)}=${varValue(obj[prop])}`);
2505
- } else if (obj[prop] === '') resultArray.push(varName(prop));
2505
+ } else if (obj[prop] === '') resultArray.push(varName(prop)); // eslint-disable-line
2506
2506
  });
2507
+
2507
2508
  return resultArray.join(separator);
2508
2509
  }
2509
2510
  function isObject$2(o) {
@@ -2858,33 +2859,33 @@
2858
2859
 
2859
2860
  var utils = /*#__PURE__*/Object.freeze({
2860
2861
  __proto__: null,
2861
- uniqueNumber: uniqueNumber,
2862
- id: id$1,
2863
- mdPreloaderContent: mdPreloaderContent,
2864
- iosPreloaderContent: iosPreloaderContent,
2865
- eventNameToColonCase: eventNameToColonCase,
2866
- deleteProps: deleteProps$1,
2867
- requestAnimationFrame: requestAnimationFrame$1,
2862
+ bindMethods: bindMethods,
2868
2863
  cancelAnimationFrame: cancelAnimationFrame$1,
2869
- nextTick: nextTick$1,
2870
- nextFrame: nextFrame$1,
2871
- now: now$1,
2872
- parseUrlQuery: parseUrlQuery,
2873
- getTranslate: getTranslate$1,
2874
- serializeObject: serializeObject,
2875
- isObject: isObject$2,
2876
- merge: merge,
2877
- extend: extend$2,
2878
2864
  colorHexToRgb: colorHexToRgb,
2879
- colorRgbToHex: colorRgbToHex,
2880
- colorRgbToHsl: colorRgbToHsl,
2881
- colorHslToRgb: colorHslToRgb,
2882
2865
  colorHsbToHsl: colorHsbToHsl,
2883
2866
  colorHslToHsb: colorHslToHsb,
2867
+ colorHslToRgb: colorHslToRgb,
2868
+ colorRgbToHex: colorRgbToHex,
2869
+ colorRgbToHsl: colorRgbToHsl,
2884
2870
  colorThemeCSSProperties: colorThemeCSSProperties,
2885
- bindMethods: bindMethods,
2871
+ colorThemeCSSStyles: colorThemeCSSStyles,
2872
+ deleteProps: deleteProps$1,
2873
+ eventNameToColonCase: eventNameToColonCase,
2874
+ extend: extend$2,
2886
2875
  flattenArray: flattenArray,
2887
- colorThemeCSSStyles: colorThemeCSSStyles
2876
+ getTranslate: getTranslate$1,
2877
+ id: id$1,
2878
+ iosPreloaderContent: iosPreloaderContent,
2879
+ isObject: isObject$2,
2880
+ mdPreloaderContent: mdPreloaderContent,
2881
+ merge: merge,
2882
+ nextFrame: nextFrame$1,
2883
+ nextTick: nextTick$1,
2884
+ now: now$1,
2885
+ parseUrlQuery: parseUrlQuery,
2886
+ requestAnimationFrame: requestAnimationFrame$1,
2887
+ serializeObject: serializeObject,
2888
+ uniqueNumber: uniqueNumber
2888
2889
  });
2889
2890
 
2890
2891
  let support$1;
@@ -9222,7 +9223,7 @@
9222
9223
  });
9223
9224
  }
9224
9225
 
9225
- class View$1 extends Framework7Class {
9226
+ let View$1 = class View extends Framework7Class {
9226
9227
  constructor(app, el, viewParams) {
9227
9228
  if (viewParams === void 0) {
9228
9229
  viewParams = {};
@@ -9418,7 +9419,7 @@
9418
9419
  view.emit('local::init viewInit', view);
9419
9420
  }
9420
9421
  }
9421
- }
9422
+ };
9422
9423
 
9423
9424
  // Use Router
9424
9425
  View$1.use(RouterModule);
@@ -12911,7 +12912,7 @@
12911
12912
  }
12912
12913
  };
12913
12914
 
12914
- class TouchRipple$1 {
12915
+ let TouchRipple$1 = class TouchRipple {
12915
12916
  constructor(app, $el, x, y) {
12916
12917
  const ripple = this;
12917
12918
  if (!$el) return undefined;
@@ -12994,7 +12995,7 @@
12994
12995
  ripple.out();
12995
12996
  }
12996
12997
  }
12997
- }
12998
+ };
12998
12999
 
12999
13000
  var TouchRipple = {
13000
13001
  name: 'touch-ripple',
@@ -13021,7 +13022,7 @@
13021
13022
  const dialog = dialogsQueue.shift();
13022
13023
  dialog.open();
13023
13024
  }
13024
- class Modal$1 extends Framework7Class {
13025
+ let Modal$1 = class Modal extends Framework7Class {
13025
13026
  constructor(app, params) {
13026
13027
  super(params, [app]);
13027
13028
  const modal = this;
@@ -13232,7 +13233,7 @@
13232
13233
  deleteProps$1(modal);
13233
13234
  modal.destroyed = true;
13234
13235
  }
13235
- }
13236
+ };
13236
13237
 
13237
13238
  class CustomModal extends Modal$1 {
13238
13239
  constructor(app, params) {
@@ -13318,7 +13319,7 @@
13318
13319
  }
13319
13320
  };
13320
13321
 
13321
- class Dialog$1 extends Modal$1 {
13322
+ let Dialog$1 = class Dialog extends Modal$1 {
13322
13323
  constructor(app, params) {
13323
13324
  const extendedParams = extend$2({
13324
13325
  title: app.params.dialog.title,
@@ -13505,7 +13506,7 @@
13505
13506
  }
13506
13507
  return dialog;
13507
13508
  }
13508
- }
13509
+ };
13509
13510
 
13510
13511
  var Dialog = {
13511
13512
  name: 'dialog',
@@ -13747,7 +13748,7 @@
13747
13748
  }
13748
13749
  };
13749
13750
 
13750
- class Popup$1 extends Modal$1 {
13751
+ let Popup$1 = class Popup extends Modal$1 {
13751
13752
  constructor(app, params) {
13752
13753
  const extendedParams = extend$2({
13753
13754
  on: {}
@@ -14066,7 +14067,7 @@
14066
14067
  $el[0].f7Modal = popup;
14067
14068
  return popup;
14068
14069
  }
14069
- }
14070
+ };
14070
14071
 
14071
14072
  var Popup = {
14072
14073
  name: 'popup',
@@ -14113,7 +14114,7 @@
14113
14114
  }
14114
14115
  };
14115
14116
 
14116
- class LoginScreen$1 extends Modal$1 {
14117
+ let LoginScreen$1 = class LoginScreen extends Modal$1 {
14117
14118
  constructor(app, params) {
14118
14119
  const extendedParams = extend$2({
14119
14120
  on: {}
@@ -14146,7 +14147,7 @@
14146
14147
  $el[0].f7Modal = loginScreen;
14147
14148
  return loginScreen;
14148
14149
  }
14149
- }
14150
+ };
14150
14151
 
14151
14152
  var LoginScreen = {
14152
14153
  name: 'loginScreen',
@@ -14179,7 +14180,7 @@
14179
14180
  }
14180
14181
  };
14181
14182
 
14182
- class Popover$1 extends Modal$1 {
14183
+ let Popover$1 = class Popover extends Modal$1 {
14183
14184
  constructor(app, params) {
14184
14185
  const extendedParams = extend$2({
14185
14186
  on: {}
@@ -14465,7 +14466,7 @@
14465
14466
  left: `${left}px`
14466
14467
  });
14467
14468
  }
14468
- }
14469
+ };
14469
14470
 
14470
14471
  var Popover = {
14471
14472
  name: 'popover',
@@ -14540,7 +14541,7 @@
14540
14541
  };
14541
14542
 
14542
14543
  /* eslint indent: ["off"] */
14543
- class Actions$1 extends Modal$1 {
14544
+ let Actions$1 = class Actions extends Modal$1 {
14544
14545
  constructor(app, params) {
14545
14546
  const extendedParams = extend$2({
14546
14547
  on: {}
@@ -14855,7 +14856,7 @@
14855
14856
  }, text));
14856
14857
  }))))));
14857
14858
  }
14858
- }
14859
+ };
14859
14860
 
14860
14861
  var Actions = {
14861
14862
  name: 'actions',
@@ -14903,7 +14904,7 @@
14903
14904
  }
14904
14905
  };
14905
14906
 
14906
- class Sheet$1 extends Modal$1 {
14907
+ let Sheet$1 = class Sheet extends Modal$1 {
14907
14908
  constructor(app, params) {
14908
14909
  const extendedParams = extend$2({
14909
14910
  on: {}
@@ -15370,7 +15371,7 @@
15370
15371
  $el[0].f7Modal = sheet;
15371
15372
  return sheet;
15372
15373
  }
15373
- }
15374
+ };
15374
15375
 
15375
15376
  var Sheet = {
15376
15377
  name: 'sheet',
@@ -15437,7 +15438,7 @@
15437
15438
  }
15438
15439
  };
15439
15440
 
15440
- class Toast$1 extends Modal$1 {
15441
+ let Toast$1 = class Toast extends Modal$1 {
15441
15442
  constructor(app, params) {
15442
15443
  const extendedParams = extend$2({
15443
15444
  on: {}
@@ -15534,7 +15535,7 @@
15534
15535
  class: `toast-button button ${closeButtonColor ? `color-${closeButtonColor}` : ''}`
15535
15536
  }, closeButtonText)));
15536
15537
  }
15537
- }
15538
+ };
15538
15539
 
15539
15540
  var Toast = {
15540
15541
  name: 'toast',
@@ -16742,7 +16743,7 @@
16742
16743
  name: 'contactsList'
16743
16744
  };
16744
16745
 
16745
- class VirtualList$1 extends Framework7Class {
16746
+ let VirtualList$1 = class VirtualList extends Framework7Class {
16746
16747
  constructor(app, params) {
16747
16748
  if (params === void 0) {
16748
16749
  params = {};
@@ -17317,7 +17318,7 @@
17317
17318
  deleteProps$1(vl);
17318
17319
  vl = null;
17319
17320
  }
17320
- }
17321
+ };
17321
17322
 
17322
17323
  var VirtualList = {
17323
17324
  name: 'virtualList',
@@ -17335,7 +17336,7 @@
17335
17336
  }
17336
17337
  };
17337
17338
 
17338
- class ListIndex$1 extends Framework7Class {
17339
+ let ListIndex$1 = class ListIndex extends Framework7Class {
17339
17340
  constructor(app, params) {
17340
17341
  if (params === void 0) {
17341
17342
  params = {};
@@ -17662,7 +17663,7 @@
17662
17663
  deleteProps$1(index);
17663
17664
  index = null;
17664
17665
  }
17665
- }
17666
+ };
17666
17667
 
17667
17668
  var ListIndex = {
17668
17669
  name: 'listIndex',
@@ -18437,7 +18438,7 @@
18437
18438
  });
18438
18439
  }
18439
18440
 
18440
- class Panel$1 extends Framework7Class {
18441
+ let Panel$1 = class Panel extends Framework7Class {
18441
18442
  constructor(app, params) {
18442
18443
  if (params === void 0) {
18443
18444
  params = {};
@@ -18983,7 +18984,7 @@
18983
18984
  deleteProps$1(panel);
18984
18985
  panel = null;
18985
18986
  }
18986
- }
18987
+ };
18987
18988
 
18988
18989
  var Panel = {
18989
18990
  name: 'panel',
@@ -20328,7 +20329,7 @@
20328
20329
  name: 'radio'
20329
20330
  };
20330
20331
 
20331
- class Toggle$1 extends Framework7Class {
20332
+ let Toggle$1 = class Toggle extends Framework7Class {
20332
20333
  constructor(app, params) {
20333
20334
  if (params === void 0) {
20334
20335
  params = {};
@@ -20487,7 +20488,7 @@
20487
20488
  deleteProps$1(toggle);
20488
20489
  toggle = null;
20489
20490
  }
20490
- }
20491
+ };
20491
20492
 
20492
20493
  var Toggle = {
20493
20494
  name: 'toggle',
@@ -20544,7 +20545,7 @@
20544
20545
  }
20545
20546
  };
20546
20547
 
20547
- class Range$1 extends Framework7Class {
20548
+ let Range$1 = class Range extends Framework7Class {
20548
20549
  constructor(app, params) {
20549
20550
  super(params, [app]);
20550
20551
  const range = this;
@@ -21115,7 +21116,7 @@
21115
21116
  deleteProps$1(range);
21116
21117
  range = null;
21117
21118
  }
21118
- }
21119
+ };
21119
21120
 
21120
21121
  var Range = {
21121
21122
  name: 'range',
@@ -21189,7 +21190,7 @@
21189
21190
  }
21190
21191
  };
21191
21192
 
21192
- class Stepper$1 extends Framework7Class {
21193
+ let Stepper$1 = class Stepper extends Framework7Class {
21193
21194
  constructor(app, params) {
21194
21195
  super(params, [app]);
21195
21196
  const stepper = this;
@@ -21587,7 +21588,7 @@
21587
21588
  deleteProps$1(stepper);
21588
21589
  stepper = null;
21589
21590
  }
21590
- }
21591
+ };
21591
21592
 
21592
21593
  var Stepper = {
21593
21594
  name: 'stepper',
@@ -21939,7 +21940,7 @@
21939
21940
  return str.replace(/[^\u0000-\u007E]/g, a => diacriticsMap[a] || a);
21940
21941
  }
21941
21942
 
21942
- class SmartSelect$1 extends Framework7Class {
21943
+ let SmartSelect$1 = class SmartSelect extends Framework7Class {
21943
21944
  constructor(app, params) {
21944
21945
  if (params === void 0) {
21945
21946
  params = {};
@@ -22804,7 +22805,7 @@
22804
22805
  deleteProps$1(ss);
22805
22806
  ss.destroyed = true;
22806
22807
  }
22807
- }
22808
+ };
22808
22809
 
22809
22810
  var SmartSelect = {
22810
22811
  name: 'smartSelect',
@@ -22945,7 +22946,7 @@
22945
22946
  name: 'grid'
22946
22947
  };
22947
22948
 
22948
- class Calendar$1 extends Framework7Class {
22949
+ let Calendar$1 = class Calendar extends Framework7Class {
22949
22950
  constructor(app, params) {
22950
22951
  if (params === void 0) {
22951
22952
  params = {};
@@ -24808,7 +24809,7 @@
24808
24809
  deleteProps$1(calendar);
24809
24810
  calendar.destroyed = true;
24810
24811
  }
24811
- }
24812
+ };
24812
24813
 
24813
24814
  var Calendar = {
24814
24815
  name: 'calendar',
@@ -25047,7 +25048,7 @@
25047
25048
  col.init();
25048
25049
  }
25049
25050
 
25050
- class Picker$1 extends Framework7Class {
25051
+ let Picker$1 = class Picker extends Framework7Class {
25051
25052
  constructor(app, params) {
25052
25053
  if (params === void 0) {
25053
25054
  params = {};
@@ -25624,7 +25625,7 @@
25624
25625
  deleteProps$1(picker);
25625
25626
  picker.destroyed = true;
25626
25627
  }
25627
- }
25628
+ };
25628
25629
 
25629
25630
  var Picker = {
25630
25631
  name: 'picker',
@@ -25776,7 +25777,7 @@
25776
25777
  }
25777
25778
  };
25778
25779
 
25779
- class PullToRefresh$1 extends Framework7Class {
25780
+ let PullToRefresh$1 = class PullToRefresh extends Framework7Class {
25780
25781
  constructor(app, el) {
25781
25782
  super({}, [app]);
25782
25783
  const ptr = this;
@@ -26279,7 +26280,7 @@
26279
26280
  deleteProps$1(ptr);
26280
26281
  ptr = null;
26281
26282
  }
26282
- }
26283
+ };
26283
26284
 
26284
26285
  var PullToRefresh = {
26285
26286
  name: 'pullToRefresh',
@@ -26340,7 +26341,7 @@
26340
26341
  }
26341
26342
  };
26342
26343
 
26343
- class DataTable$1 extends Framework7Class {
26344
+ let DataTable$1 = class DataTable extends Framework7Class {
26344
26345
  constructor(app, params) {
26345
26346
  if (params === void 0) {
26346
26347
  params = {};
@@ -26476,7 +26477,7 @@
26476
26477
  deleteProps$1(table);
26477
26478
  table = null;
26478
26479
  }
26479
- }
26480
+ };
26480
26481
 
26481
26482
  var DataTable = {
26482
26483
  name: 'dataTable',
@@ -26711,7 +26712,7 @@
26711
26712
  }
26712
26713
  };
26713
26714
 
26714
- class Searchbar$1 extends Framework7Class {
26715
+ let Searchbar$1 = class Searchbar extends Framework7Class {
26715
26716
  constructor(app, params) {
26716
26717
  if (params === void 0) {
26717
26718
  params = {};
@@ -27295,7 +27296,7 @@
27295
27296
  }
27296
27297
  deleteProps$1(sb);
27297
27298
  }
27298
- }
27299
+ };
27299
27300
 
27300
27301
  var Searchbar = {
27301
27302
  name: 'searchbar',
@@ -29446,7 +29447,7 @@
29446
29447
  return x;
29447
29448
  }
29448
29449
 
29449
- class Messages$1 extends Framework7Class {
29450
+ let Messages$1 = class Messages extends Framework7Class {
29450
29451
  constructor(app, params) {
29451
29452
  if (params === void 0) {
29452
29453
  params = {};
@@ -29925,7 +29926,7 @@
29925
29926
  }
29926
29927
  deleteProps$1(m);
29927
29928
  }
29928
- }
29929
+ };
29929
29930
 
29930
29931
  var Messages = {
29931
29932
  name: 'messages',
@@ -29990,7 +29991,7 @@
29990
29991
  }
29991
29992
  };
29992
29993
 
29993
- class Messagebar$1 extends Framework7Class {
29994
+ let Messagebar$1 = class Messagebar extends Framework7Class {
29994
29995
  constructor(app, params) {
29995
29996
  if (params === void 0) {
29996
29997
  params = {};
@@ -30352,7 +30353,7 @@
30352
30353
  }
30353
30354
  deleteProps$1(messagebar);
30354
30355
  }
30355
- }
30356
+ };
30356
30357
 
30357
30358
  var Messagebar = {
30358
30359
  name: 'messagebar',
@@ -31574,6 +31575,41 @@
31574
31575
  swiper.emitSlidesClasses();
31575
31576
  }
31576
31577
 
31578
+ const processLazyPreloader = (swiper, imageEl) => {
31579
+ if (!swiper || swiper.destroyed || !swiper.params) return;
31580
+ const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;
31581
+ const slideEl = imageEl.closest(slideSelector());
31582
+ if (slideEl) {
31583
+ const lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);
31584
+ if (lazyEl) lazyEl.remove();
31585
+ }
31586
+ };
31587
+ const unlazy = (swiper, index) => {
31588
+ if (!swiper.slides[index]) return;
31589
+ const imageEl = swiper.slides[index].querySelector('[loading="lazy"]');
31590
+ if (imageEl) imageEl.removeAttribute('loading');
31591
+ };
31592
+ const preload = swiper => {
31593
+ if (!swiper || swiper.destroyed || !swiper.params) return;
31594
+ let amount = swiper.params.lazyPreloadPrevNext;
31595
+ const len = swiper.slides.length;
31596
+ if (!len || !amount || amount < 0) return;
31597
+ amount = Math.min(amount, len);
31598
+ const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView);
31599
+ const activeIndex = swiper.activeIndex;
31600
+ const slideIndexLastInView = activeIndex + slidesPerView - 1;
31601
+ if (swiper.params.rewind) {
31602
+ for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) {
31603
+ const realIndex = (i % len + len) % len;
31604
+ if (realIndex !== activeIndex && realIndex > slideIndexLastInView) unlazy(swiper, realIndex);
31605
+ }
31606
+ } else {
31607
+ for (let i = Math.max(slideIndexLastInView - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) {
31608
+ if (i !== activeIndex && i > slideIndexLastInView) unlazy(swiper, i);
31609
+ }
31610
+ }
31611
+ };
31612
+
31577
31613
  function getActiveIndexByTranslate(swiper) {
31578
31614
  const {
31579
31615
  slidesGrid,
@@ -31655,6 +31691,9 @@
31655
31691
  previousIndex,
31656
31692
  activeIndex
31657
31693
  });
31694
+ if (swiper.initialized) {
31695
+ preload(swiper);
31696
+ }
31658
31697
  swiper.emit('activeIndexChange');
31659
31698
  swiper.emit('snapIndexChange');
31660
31699
  if (previousRealIndex !== realIndex) {
@@ -33152,16 +33191,6 @@
33152
33191
  swiper.emit('setTranslate', swiper.translate, false);
33153
33192
  }
33154
33193
 
33155
- const processLazyPreloader = (swiper, imageEl) => {
33156
- if (!swiper || swiper.destroyed || !swiper.params) return;
33157
- const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;
33158
- const slideEl = imageEl.closest(slideSelector());
33159
- if (slideEl) {
33160
- const lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);
33161
- if (lazyEl) lazyEl.remove();
33162
- }
33163
- };
33164
-
33165
33194
  function onLoad(e) {
33166
33195
  const swiper = this;
33167
33196
  processLazyPreloader(swiper, e.target);
@@ -33577,6 +33606,7 @@
33577
33606
  slidePrevClass: 'swiper-slide-prev',
33578
33607
  wrapperClass: 'swiper-wrapper',
33579
33608
  lazyPreloaderClass: 'swiper-lazy-preloader',
33609
+ lazyPreloadPrevNext: 0,
33580
33610
  // Callbacks
33581
33611
  runCallbacksOnInit: true,
33582
33612
  // Internals
@@ -33633,7 +33663,7 @@
33633
33663
  classes
33634
33664
  };
33635
33665
  const extendedDefaults = {};
33636
- class Swiper$1 {
33666
+ let Swiper$1 = class Swiper {
33637
33667
  constructor() {
33638
33668
  let el;
33639
33669
  let params;
@@ -33655,7 +33685,7 @@
33655
33685
  const newParams = extend$1({}, params, {
33656
33686
  el: containerEl
33657
33687
  });
33658
- swipers.push(new Swiper$1(newParams));
33688
+ swipers.push(new Swiper(newParams));
33659
33689
  });
33660
33690
  // eslint-disable-next-line no-constructor-return
33661
33691
  return swipers;
@@ -33752,7 +33782,7 @@
33752
33782
  // Form elements to match
33753
33783
  focusableElements: swiper.params.focusableElements,
33754
33784
  // Last click time
33755
- lastClickTime: now(),
33785
+ lastClickTime: 0,
33756
33786
  clickTimeout: undefined,
33757
33787
  // Velocities
33758
33788
  velocities: [],
@@ -34108,9 +34138,11 @@
34108
34138
  });
34109
34139
  }
34110
34140
  });
34141
+ preload(swiper);
34111
34142
 
34112
34143
  // Init Flag
34113
34144
  swiper.initialized = true;
34145
+ preload(swiper);
34114
34146
 
34115
34147
  // Emit
34116
34148
  swiper.emit('init');
@@ -34183,21 +34215,21 @@
34183
34215
  return defaults;
34184
34216
  }
34185
34217
  static installModule(mod) {
34186
- if (!Swiper$1.prototype.__modules__) Swiper$1.prototype.__modules__ = [];
34187
- const modules = Swiper$1.prototype.__modules__;
34218
+ if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];
34219
+ const modules = Swiper.prototype.__modules__;
34188
34220
  if (typeof mod === 'function' && modules.indexOf(mod) < 0) {
34189
34221
  modules.push(mod);
34190
34222
  }
34191
34223
  }
34192
34224
  static use(module) {
34193
34225
  if (Array.isArray(module)) {
34194
- module.forEach(m => Swiper$1.installModule(m));
34195
- return Swiper$1;
34226
+ module.forEach(m => Swiper.installModule(m));
34227
+ return Swiper;
34196
34228
  }
34197
- Swiper$1.installModule(module);
34198
- return Swiper$1;
34229
+ Swiper.installModule(module);
34230
+ return Swiper;
34199
34231
  }
34200
- }
34232
+ };
34201
34233
  Object.keys(prototypes).forEach(prototypeGroup => {
34202
34234
  Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {
34203
34235
  Swiper$1.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];
@@ -36150,6 +36182,8 @@
36150
36182
  let fakeGestureMoved;
36151
36183
  const evCache = [];
36152
36184
  const gesture = {
36185
+ originX: 0,
36186
+ originY: 0,
36153
36187
  slideEl: undefined,
36154
36188
  slideWidth: undefined,
36155
36189
  slideHeight: undefined,
@@ -36263,7 +36297,8 @@
36263
36297
  }
36264
36298
  if (gesture.imageEl) {
36265
36299
  const [originX, originY] = getScaleOrigin();
36266
- gesture.imageEl.style.transformOrigin = `${originX}px ${originY}px`;
36300
+ gesture.originX = originX;
36301
+ gesture.originY = originY;
36267
36302
  gesture.imageEl.style.transitionDuration = '0ms';
36268
36303
  }
36269
36304
  isScaling = true;
@@ -36309,7 +36344,16 @@
36309
36344
  gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;
36310
36345
  currentScale = zoom.scale;
36311
36346
  isScaling = false;
36312
- if (zoom.scale === 1) gesture.slideEl = undefined;
36347
+ if (zoom.scale > 1 && gesture.slideEl) {
36348
+ gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);
36349
+ } else if (zoom.scale <= 1 && gesture.slideEl) {
36350
+ gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);
36351
+ }
36352
+ if (zoom.scale === 1) {
36353
+ gesture.originX = 0;
36354
+ gesture.originY = 0;
36355
+ gesture.slideEl = undefined;
36356
+ }
36313
36357
  }
36314
36358
  function onTouchStart(e) {
36315
36359
  const device = swiper.device;
@@ -36317,14 +36361,14 @@
36317
36361
  if (image.isTouched) return;
36318
36362
  if (device.android && e.cancelable) e.preventDefault();
36319
36363
  image.isTouched = true;
36320
- image.touchesStart.x = e.pageX;
36321
- image.touchesStart.y = e.pageY;
36364
+ const event = evCache.length > 0 ? evCache[0] : e;
36365
+ image.touchesStart.x = event.pageX;
36366
+ image.touchesStart.y = event.pageY;
36322
36367
  }
36323
36368
  function onTouchMove(e) {
36324
36369
  if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) return;
36325
36370
  const zoom = swiper.zoom;
36326
36371
  if (!gesture.imageEl) return;
36327
- swiper.allowClick = false;
36328
36372
  if (!image.isTouched || !gesture.slideEl) return;
36329
36373
  if (!image.isMoved) {
36330
36374
  image.width = gesture.imageEl.offsetWidth;
@@ -36345,6 +36389,10 @@
36345
36389
  image.maxY = -image.minY;
36346
36390
  image.touchesCurrent.x = evCache.length > 0 ? evCache[0].pageX : e.pageX;
36347
36391
  image.touchesCurrent.y = evCache.length > 0 ? evCache[0].pageY : e.pageY;
36392
+ const touchesDiff = Math.max(Math.abs(image.touchesCurrent.x - image.touchesStart.x), Math.abs(image.touchesCurrent.y - image.touchesStart.y));
36393
+ if (touchesDiff > 5) {
36394
+ swiper.allowClick = false;
36395
+ }
36348
36396
  if (!image.isMoved && !isScaling) {
36349
36397
  if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {
36350
36398
  image.isTouched = false;
@@ -36360,8 +36408,13 @@
36360
36408
  }
36361
36409
  e.stopPropagation();
36362
36410
  image.isMoved = true;
36363
- image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX;
36364
- image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY;
36411
+ const scaleRatio = (zoom.scale - currentScale) / (gesture.maxRatio - swiper.params.zoom.minRatio);
36412
+ const {
36413
+ originX,
36414
+ originY
36415
+ } = gesture;
36416
+ image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX + scaleRatio * (image.width - originX * 2);
36417
+ image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY + scaleRatio * (image.height - originY * 2);
36365
36418
  if (image.currentX < image.minX) {
36366
36419
  image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8;
36367
36420
  }
@@ -36411,7 +36464,6 @@
36411
36464
  const momentumDuration = Math.max(momentumDurationX, momentumDurationY);
36412
36465
  image.currentX = newPositionX;
36413
36466
  image.currentY = newPositionY;
36414
-
36415
36467
  // Define if we need image drag
36416
36468
  const scaledWidth = image.width * zoom.scale;
36417
36469
  const scaledHeight = image.height * zoom.scale;
@@ -36426,18 +36478,21 @@
36426
36478
  }
36427
36479
  function onTransitionEnd() {
36428
36480
  const zoom = swiper.zoom;
36429
- if (gesture.slideEl && swiper.previousIndex !== swiper.activeIndex) {
36481
+ if (gesture.slideEl && swiper.activeIndex !== swiper.slides.indexOf(gesture.slideEl)) {
36430
36482
  if (gesture.imageEl) {
36431
36483
  gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)';
36432
36484
  }
36433
36485
  if (gesture.imageWrapEl) {
36434
36486
  gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)';
36435
36487
  }
36488
+ gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`);
36436
36489
  zoom.scale = 1;
36437
36490
  currentScale = 1;
36438
36491
  gesture.slideEl = undefined;
36439
36492
  gesture.imageEl = undefined;
36440
36493
  gesture.imageWrapEl = undefined;
36494
+ gesture.originX = 0;
36495
+ gesture.originY = 0;
36441
36496
  }
36442
36497
  }
36443
36498
  function zoomIn(e) {
@@ -36536,6 +36591,10 @@
36536
36591
  translateX = 0;
36537
36592
  translateY = 0;
36538
36593
  }
36594
+ if (forceZoomRatio && zoom.scale === 1) {
36595
+ gesture.originX = 0;
36596
+ gesture.originY = 0;
36597
+ }
36539
36598
  gesture.imageWrapEl.style.transitionDuration = '300ms';
36540
36599
  gesture.imageWrapEl.style.transform = `translate3d(${translateX}px, ${translateY}px,0)`;
36541
36600
  gesture.imageEl.style.transitionDuration = '300ms';
@@ -36574,6 +36633,8 @@
36574
36633
  gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)';
36575
36634
  gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);
36576
36635
  gesture.slideEl = undefined;
36636
+ gesture.originX = 0;
36637
+ gesture.originY = 0;
36577
36638
  }
36578
36639
 
36579
36640
  // Toggle Zoom
@@ -36613,7 +36674,6 @@
36613
36674
  } = getListeners();
36614
36675
 
36615
36676
  // Scale image
36616
-
36617
36677
  swiper.wrapperEl.addEventListener('pointerdown', onGestureStart, passiveListener);
36618
36678
  swiper.wrapperEl.addEventListener('pointermove', onGestureChange, activeListenerWithCapture);
36619
36679
  ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => {
@@ -36752,6 +36812,8 @@
36752
36812
  let controlledTranslate;
36753
36813
  const Swiper = swiper.constructor;
36754
36814
  function setControlledTranslate(c) {
36815
+ if (c.destroyed) return;
36816
+
36755
36817
  // this will create an Interpolate function based on the snapGrids
36756
36818
  // x is the Grid of the scrolled scroller and y will be the controlled scroller
36757
36819
  // it makes sense to create this only once and recall it for the interpolation
@@ -36790,6 +36852,7 @@
36790
36852
  const controlled = swiper.controller.control;
36791
36853
  let i;
36792
36854
  function setControlledTransition(c) {
36855
+ if (c.destroyed) return;
36793
36856
  c.setTransition(duration, swiper);
36794
36857
  if (duration !== 0) {
36795
36858
  c.transitionStart();
@@ -39223,7 +39286,7 @@
39223
39286
  }
39224
39287
 
39225
39288
  /**
39226
- * Swiper 9.1.1
39289
+ * Swiper 9.2.0
39227
39290
  * Most modern mobile touch slider and framework with hardware accelerated transitions
39228
39291
  * https://swiperjs.com
39229
39292
  *
@@ -39231,7 +39294,7 @@
39231
39294
  *
39232
39295
  * Released under the MIT License
39233
39296
  *
39234
- * Released on: March 16, 2023
39297
+ * Released on: March 31, 2023
39235
39298
  */
39236
39299
 
39237
39300
  // Swiper Class
@@ -39239,7 +39302,7 @@
39239
39302
  Swiper$1.use(modules);
39240
39303
 
39241
39304
  /* underscore in name -> watch for changes */
39242
- 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',
39305
+ 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', 'lazyPreloadPrevNext', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren',
39243
39306
  // modules
39244
39307
  'a11y', '_autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'creativeEffect', 'cardsEffect', 'hashNavigation', 'history', 'keyboard', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom', 'control', 'injectStyles', 'injectStylesUrls'];
39245
39308
 
@@ -39546,7 +39609,7 @@
39546
39609
  }
39547
39610
 
39548
39611
  /**
39549
- * Swiper Custom Element 9.1.1
39612
+ * Swiper Custom Element 9.2.0
39550
39613
  * Most modern mobile touch slider and framework with hardware accelerated transitions
39551
39614
  * https://swiperjs.com
39552
39615
  *
@@ -39554,7 +39617,7 @@
39554
39617
  *
39555
39618
  * Released under the MIT License
39556
39619
  *
39557
- * Released on: March 16, 2023
39620
+ * Released on: March 31, 2023
39558
39621
  */
39559
39622
  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}`;
39560
39623
  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}`;
@@ -39925,7 +39988,7 @@
39925
39988
  };
39926
39989
 
39927
39990
  /* eslint indent: ["off"] */
39928
- class PhotoBrowser$1 extends Framework7Class {
39991
+ let PhotoBrowser$1 = class PhotoBrowser extends Framework7Class {
39929
39992
  constructor(app, params) {
39930
39993
  if (params === void 0) {
39931
39994
  params = {};
@@ -40650,7 +40713,7 @@
40650
40713
  pb.destroyed = true;
40651
40714
  pb = null;
40652
40715
  }
40653
- }
40716
+ };
40654
40717
 
40655
40718
  var PhotoBrowser = {
40656
40719
  name: 'photoBrowser',
@@ -40724,7 +40787,7 @@
40724
40787
  }
40725
40788
  };
40726
40789
 
40727
- class Notification$1 extends Modal$1 {
40790
+ let Notification$1 = class Notification extends Modal$1 {
40728
40791
  constructor(app, params) {
40729
40792
  const extendedParams = extend$2({
40730
40793
  on: {}
@@ -40929,7 +40992,7 @@
40929
40992
  class: "notification-text"
40930
40993
  }, text)));
40931
40994
  }
40932
- }
40995
+ };
40933
40996
 
40934
40997
  var Notification = {
40935
40998
  name: 'notification',
@@ -40963,7 +41026,7 @@
40963
41026
  };
40964
41027
 
40965
41028
  /* eslint "no-useless-escape": "off" */
40966
- class Autocomplete$1 extends Framework7Class {
41029
+ let Autocomplete$1 = class Autocomplete extends Framework7Class {
40967
41030
  constructor(app, params) {
40968
41031
  if (params === void 0) {
40969
41032
  params = {};
@@ -41767,7 +41830,7 @@
41767
41830
  deleteProps$1(ac);
41768
41831
  ac.destroyed = true;
41769
41832
  }
41770
- }
41833
+ };
41771
41834
 
41772
41835
  var Autocomplete = {
41773
41836
  name: 'autocomplete',
@@ -41848,7 +41911,7 @@
41848
41911
  }
41849
41912
  };
41850
41913
 
41851
- class Tooltip$1 extends Framework7Class {
41914
+ let Tooltip$1 = class Tooltip extends Framework7Class {
41852
41915
  constructor(app, params) {
41853
41916
  if (params === void 0) {
41854
41917
  params = {};
@@ -42177,7 +42240,7 @@
42177
42240
  deleteProps$1(tooltip);
42178
42241
  tooltip.destroyed = true;
42179
42242
  }
42180
- }
42243
+ };
42181
42244
 
42182
42245
  var Tooltip = {
42183
42246
  name: 'tooltip',
@@ -42307,7 +42370,7 @@
42307
42370
  };
42308
42371
 
42309
42372
  /* eslint no-nested-ternary: off */
42310
- class Gauge$1 extends Framework7Class {
42373
+ let Gauge$1 = class Gauge extends Framework7Class {
42311
42374
  constructor(app, params) {
42312
42375
  if (params === void 0) {
42313
42376
  params = {};
@@ -42596,7 +42659,7 @@
42596
42659
  deleteProps$1(self);
42597
42660
  self.destroyed = true;
42598
42661
  }
42599
- }
42662
+ };
42600
42663
 
42601
42664
  var Gauge = {
42602
42665
  name: 'gauge',
@@ -44055,7 +44118,7 @@
44055
44118
  }
44056
44119
  };
44057
44120
 
44058
- class ColorPicker$1 extends Framework7Class {
44121
+ let ColorPicker$1 = class ColorPicker extends Framework7Class {
44059
44122
  constructor(app, params) {
44060
44123
  if (params === void 0) {
44061
44124
  params = {};
@@ -44904,7 +44967,7 @@
44904
44967
  deleteProps$1(self);
44905
44968
  self.destroyed = true;
44906
44969
  }
44907
- }
44970
+ };
44908
44971
 
44909
44972
  var ColorPicker = {
44910
44973
  name: 'colorPicker',
@@ -45092,7 +45155,7 @@
45092
45155
  indent: ['increase_indent', 'format_indent_increase', 'indent'],
45093
45156
  outdent: ['decrease_indent', 'format_indent_decrease', 'outdent']
45094
45157
  };
45095
- class TextEditor$1 extends Framework7Class {
45158
+ let TextEditor$1 = class TextEditor extends Framework7Class {
45096
45159
  constructor(app, params) {
45097
45160
  super(params, [app]);
45098
45161
  const self = this;
@@ -45578,7 +45641,7 @@
45578
45641
  deleteProps$1(self);
45579
45642
  self = null;
45580
45643
  }
45581
- }
45644
+ };
45582
45645
 
45583
45646
  var TextEditor = {
45584
45647
  name: 'textEditor',
@@ -45658,7 +45721,7 @@
45658
45721
  }
45659
45722
  };
45660
45723
 
45661
- class PieChart$1 extends Framework7Class {
45724
+ let PieChart$1 = class PieChart extends Framework7Class {
45662
45725
  constructor(app, params) {
45663
45726
  if (params === void 0) {
45664
45727
  params = {};
@@ -45901,7 +45964,7 @@
45901
45964
  deleteProps$1(self);
45902
45965
  self.destroyed = true;
45903
45966
  }
45904
- }
45967
+ };
45905
45968
 
45906
45969
  var PieChart = {
45907
45970
  name: 'pieChart',
@@ -45933,7 +45996,7 @@
45933
45996
  }
45934
45997
  };
45935
45998
 
45936
- class AreaChart$1 extends Framework7Class {
45999
+ let AreaChart$1 = class AreaChart extends Framework7Class {
45937
46000
  constructor(app, params) {
45938
46001
  if (params === void 0) {
45939
46002
  params = {};
@@ -46393,7 +46456,7 @@
46393
46456
  deleteProps$1(self);
46394
46457
  self.destroyed = true;
46395
46458
  }
46396
- }
46459
+ };
46397
46460
 
46398
46461
  var AreaChart = {
46399
46462
  name: 'areaChart',