framework7 7.1.2 → 7.1.4

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 7.1.2
2
+ * Framework7 7.1.4
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: January 18, 2023
10
+ * Released on: February 2, 2023
11
11
  */
12
12
 
13
13
  /*====================
@@ -7093,6 +7093,10 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
7093
7093
  border-radius: var(--f7-popover-border-radius);
7094
7094
  box-shadow: var(--f7-popover-box-shadow);
7095
7095
  will-change: transform, opacity;
7096
+ --f7-safe-area-top: 0px;
7097
+ --f7-safe-area-left: 0px;
7098
+ --f7-safe-area-right: 0px;
7099
+ --f7-safe-area-bottom: 0px;
7096
7100
  }
7097
7101
  .popover .list {
7098
7102
  margin: 0;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 7.1.2
2
+ * Framework7 7.1.4
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: January 18, 2023
10
+ * Released on: February 2, 2023
11
11
  */
12
12
 
13
13
  import $ from './shared/dom7.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 7.1.2
2
+ * Framework7 7.1.4
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: January 18, 2023
10
+ * Released on: February 2, 2023
11
11
  */
12
12
 
13
13
  (function (global, factory) {
@@ -204,15 +204,15 @@
204
204
  }
205
205
 
206
206
  /**
207
- * Dom7 4.0.4
207
+ * Dom7 4.0.5
208
208
  * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API
209
209
  * https://framework7.io/docs/dom7.html
210
210
  *
211
- * Copyright 2022, Vladimir Kharlampidi
211
+ * Copyright 2023, Vladimir Kharlampidi
212
212
  *
213
213
  * Licensed under MIT
214
214
  *
215
- * Released on: January 11, 2022
215
+ * Released on: February 2, 2023
216
216
  */
217
217
  /* eslint-disable no-proto */
218
218
 
@@ -754,6 +754,22 @@
754
754
  return this;
755
755
  }
756
756
 
757
+ function transitionStart$1(callback) {
758
+ const dom = this;
759
+
760
+ function fireCallBack(e) {
761
+ if (e.target !== this) return;
762
+ callback.call(this, e);
763
+ dom.off('transitionstart', fireCallBack);
764
+ }
765
+
766
+ if (callback) {
767
+ dom.on('transitionstart', fireCallBack);
768
+ }
769
+
770
+ return this;
771
+ }
772
+
757
773
  function transitionEnd$1(callback) {
758
774
  const dom = this;
759
775
 
@@ -1830,6 +1846,7 @@
1830
1846
  transform: transform,
1831
1847
  transition: transition$1,
1832
1848
  transitionEnd: transitionEnd$1,
1849
+ transitionStart: transitionStart$1,
1833
1850
  trigger: trigger,
1834
1851
  val: val,
1835
1852
  value: value,
@@ -6522,15 +6539,20 @@
6522
6539
  if (((options.reloadCurrent || reloadDetail && otherDetailPageEl) && router.history.length) > 0 || options.replaceState) {
6523
6540
  if (reloadDetail && detailsInBetweenRemoved > 0) {
6524
6541
  router.history = router.history.slice(0, router.history.length - detailsInBetweenRemoved);
6542
+ router.propsHistory = router.propsHistory.slice(0, router.propsHistory.length - detailsInBetweenRemoved);
6525
6543
  }
6526
6544
 
6527
6545
  router.history[router.history.length - (options.reloadPrevious ? 2 : 1)] = url;
6546
+ router.propsHistory[router.propsHistory.length - (options.reloadPrevious ? 2 : 1)] = options.props || {};
6528
6547
  } else if (options.reloadPrevious) {
6529
6548
  router.history[router.history.length - 2] = url;
6549
+ router.propsHistory[router.propsHistory.length - 2] = options.props || {};
6530
6550
  } else if (options.reloadAll) {
6531
6551
  router.history = [url];
6552
+ router.propsHistory = [options.props || {}];
6532
6553
  } else {
6533
6554
  router.history.push(url);
6555
+ router.propsHistory.push(options.props || {});
6534
6556
  }
6535
6557
  }
6536
6558
 
@@ -7781,11 +7803,13 @@
7781
7803
  if (router.history.indexOf(options.route.url) >= 0) {
7782
7804
  backIndex = router.history.length - router.history.indexOf(options.route.url) - 1;
7783
7805
  router.history = router.history.slice(0, router.history.indexOf(options.route.url) + 2);
7806
+ router.propsHistory = router.propsHistory.slice(0, router.history.indexOf(options.route.url) + 2);
7784
7807
  view.history = router.history;
7785
7808
  } else if (router.history[[router.history.length - 2]]) {
7786
- router.history[router.history.length - 2] = options.route.url;
7809
+ router.propsHistory[router.propsHistory.length - 2] = options.props || {};
7787
7810
  } else {
7788
7811
  router.history.unshift(router.url);
7812
+ router.propsHistory.unshift(options.props || {});
7789
7813
  }
7790
7814
 
7791
7815
  if (backIndex && router.params.stackPages) {
@@ -7988,12 +8012,15 @@
7988
8012
 
7989
8013
  if (options.replaceState) {
7990
8014
  router.history[router.history.length - 1] = options.route.url;
8015
+ router.propsHistory[router.propsHistory.length - 1] = options.props || {};
7991
8016
  } else {
7992
8017
  if (router.history.length === 1) {
7993
8018
  router.history.unshift(router.url);
8019
+ router.propsHistory.unshift(options.props || {});
7994
8020
  }
7995
8021
 
7996
8022
  router.history.pop();
8023
+ router.propsHistory.pop();
7997
8024
  }
7998
8025
 
7999
8026
  router.saveHistory(); // Current Page & Navbar
@@ -8083,7 +8110,8 @@
8083
8110
 
8084
8111
  if (preloadPreviousPage && router.history[router.history.length - 2] && !isMaster) {
8085
8112
  router.back(router.history[router.history.length - 2], {
8086
- preload: true
8113
+ preload: true,
8114
+ props: router.propsHistory[router.propsHistory.length - 2] || {}
8087
8115
  });
8088
8116
  }
8089
8117
 
@@ -8214,6 +8242,7 @@
8214
8242
  if (router.swipeBackActive) return router;
8215
8243
  let navigateUrl;
8216
8244
  let navigateOptions;
8245
+ let navigateProps;
8217
8246
  let route;
8218
8247
 
8219
8248
  if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'object') {
@@ -8313,6 +8342,7 @@
8313
8342
 
8314
8343
  router.currentRoute = previousRoute;
8315
8344
  router.history.pop();
8345
+ router.propsHistory.pop();
8316
8346
  router.saveHistory();
8317
8347
 
8318
8348
  if (needHistoryBack && isBrokenBrowserHistory && !currentRouteWithoutBrowserHistory) {
@@ -8366,7 +8396,8 @@
8366
8396
  if (!navigateOptions.force && $previousPage.length && !skipMaster) {
8367
8397
  if (router.params.browserHistory && $previousPage[0].f7Page && router.history[router.history.length - 2] !== $previousPage[0].f7Page.route.url) {
8368
8398
  router.back(router.history[router.history.length - 2], extend$1(navigateOptions, {
8369
- force: true
8399
+ force: true,
8400
+ props: router.propsHistory[router.propsHistory.length - 2] || {}
8370
8401
  }));
8371
8402
  return router;
8372
8403
  }
@@ -8403,12 +8434,14 @@
8403
8434
 
8404
8435
  if (!navigateUrl && router.history.length > 1) {
8405
8436
  navigateUrl = router.history[router.history.length - 2];
8437
+ navigateProps = router.propsHistory[router.propsHistory.length - 2] || {};
8406
8438
  }
8407
8439
 
8408
8440
  if (skipMaster && !navigateOptions.force && router.history[router.history.length - 3]) {
8409
8441
  return router.back(router.history[router.history.length - 3], extend$1({}, navigateOptions || {}, {
8410
8442
  force: true,
8411
- animate: false
8443
+ animate: false,
8444
+ props: router.propsHistory[router.propsHistory.length - 3] || {}
8412
8445
  }));
8413
8446
  }
8414
8447
 
@@ -8444,9 +8477,13 @@
8444
8477
  const options = {};
8445
8478
 
8446
8479
  if (route.route.options) {
8447
- extend$1(options, route.route.options, navigateOptions);
8480
+ extend$1(options, route.route.options, navigateOptions, {
8481
+ props: navigateProps || {}
8482
+ });
8448
8483
  } else {
8449
- extend$1(options, navigateOptions);
8484
+ extend$1(options, navigateOptions, {
8485
+ props: navigateProps || {}
8486
+ });
8450
8487
  }
8451
8488
 
8452
8489
  options.route = route;
@@ -8606,6 +8643,7 @@
8606
8643
  params: view.params,
8607
8644
  routes: view.routes,
8608
8645
  history: view.history,
8646
+ propsHistory: [],
8609
8647
  scrollHistory: view.scrollHistory,
8610
8648
  cache: app.cache,
8611
8649
  dynamicNavbar: app.theme === 'ios' && view.params.iosDynamicNavbar,
@@ -21050,7 +21088,7 @@
21050
21088
 
21051
21089
  const panel = this; // eslint-disable-next-line
21052
21090
 
21053
- panel._openTimeStamp = new Date().getTime();
21091
+ panel._openTransitionStarted = false;
21054
21092
  const app = panel.app;
21055
21093
  panel.opened = true;
21056
21094
  app.panel.allowOpen = false;
@@ -21211,6 +21249,13 @@
21211
21249
 
21212
21250
  const transitionEndTarget = effect === 'reveal' ? $viewEl : $el;
21213
21251
 
21252
+ function panelTransitionStart() {
21253
+ transitionEndTarget.transitionStart(() => {
21254
+ // eslint-disable-next-line
21255
+ panel._openTransitionStarted = true;
21256
+ });
21257
+ }
21258
+
21214
21259
  function panelTransitionEnd() {
21215
21260
  transitionEndTarget.transitionEnd(e => {
21216
21261
  if ($(e.target).is(transitionEndTarget)) {
@@ -21228,6 +21273,7 @@
21228
21273
  $backdropEl.removeClass('not-animated');
21229
21274
  }
21230
21275
 
21276
+ panelTransitionStart();
21231
21277
  panelTransitionEnd();
21232
21278
  $el.removeClass('panel-out not-animated').addClass('panel-in');
21233
21279
  panel.onOpen();
@@ -21272,9 +21318,7 @@
21272
21318
 
21273
21319
  const transitionEndTarget = effect === 'reveal' ? $viewEl : $el; // eslint-disable-next-line
21274
21320
 
21275
- const openTimeDiff = new Date().getTime() - panel._openTimeStamp;
21276
-
21277
- if (openTimeDiff < 16) {
21321
+ if (!panel._openTransitionStarted) {
21278
21322
  // eslint-disable-next-line
21279
21323
  animate = false;
21280
21324
  }