framework7 8.2.0 → 8.3.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.
Files changed (40) hide show
  1. package/components/panel/panel-rtl.css +1 -1
  2. package/components/panel/panel.css +1 -1
  3. package/components/panel/panel.less +2 -2
  4. package/components/popup/popup-class.js +1 -0
  5. package/components/popup/popup-rtl.css +1 -1
  6. package/components/popup/popup.css +1 -1
  7. package/components/popup/popup.less +3 -0
  8. package/components/sheet/sheet-class.js +216 -18
  9. package/components/sheet/sheet-rtl.css +1 -1
  10. package/components/sheet/sheet.css +1 -1
  11. package/components/sheet/sheet.d.ts +16 -1
  12. package/components/sheet/sheet.js +8 -0
  13. package/components/sheet/sheet.less +8 -14
  14. package/components/swiper/swiper-rtl.css +1 -1
  15. package/components/swiper/swiper.css +1 -1
  16. package/components/swiper/swiper.less +1 -1
  17. package/framework7-bundle-rtl.css +22 -21
  18. package/framework7-bundle-rtl.min.css +4 -4
  19. package/framework7-bundle.css +22 -21
  20. package/framework7-bundle.esm.js +2 -2
  21. package/framework7-bundle.js +394 -74
  22. package/framework7-bundle.js.map +1 -1
  23. package/framework7-bundle.less +2 -2
  24. package/framework7-bundle.min.css +4 -4
  25. package/framework7-bundle.min.js +3 -3
  26. package/framework7-bundle.min.js.map +1 -1
  27. package/framework7-lite-bundle.esm.js +2 -2
  28. package/framework7-lite.esm.js +2 -2
  29. package/framework7-lite.js +31 -0
  30. package/framework7-rtl.css +2 -2
  31. package/framework7-rtl.min.css +2 -2
  32. package/framework7.css +2 -2
  33. package/framework7.esm.js +2 -2
  34. package/framework7.js +42 -0
  35. package/framework7.less +2 -2
  36. package/framework7.min.css +2 -2
  37. package/less/plugin.js +15 -0
  38. package/modules/clicks/clicks.js +1 -1
  39. package/modules/router/component-loader.js +42 -8
  40. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.2.0
2
+ * Framework7 8.3.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: July 6, 2023
10
+ * Released on: August 18, 2023
11
11
  */
12
12
 
13
13
  import $ from './shared/dom7.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.2.0
2
+ * Framework7 8.3.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: July 6, 2023
10
+ * Released on: August 18, 2023
11
11
  */
12
12
 
13
13
  import $ from './shared/dom7.js';
@@ -0,0 +1,31 @@
1
+ import $ from './shared/dom7.js';
2
+ import Framework7 from './components/app/app-class.js';
3
+
4
+ //IMPORT_HELPERS
5
+
6
+ import DeviceModule from './modules/device/device.js';
7
+ import SupportModule from './modules/support/support.js';
8
+ import UtilsModule from './modules/utils/utils.js';
9
+ import ResizeModule from './modules/resize/resize.js';
10
+ import TouchModule from './modules/touch/touch.js';
11
+ import ClicksModule from './modules/clicks/clicks.js';
12
+ import RouterModule from './modules/router/router.js';
13
+ import HistoryModule from './modules/history/history.js';
14
+ import ServiceWorkerModule from './modules/service-worker/service-worker.js';
15
+ import StoreModule, { createStore } from './modules/store/store.js';
16
+ import Statusbar from './components/statusbar/statusbar.js';
17
+ import View from './components/view/view.js';
18
+ import Navbar from './components/navbar/navbar.js';
19
+ import Toolbar from './components/toolbar/toolbar.js';
20
+ import Subnavbar from './components/subnavbar/subnavbar.js';
21
+ import TouchRipple from './components/touch-ripple/touch-ripple.js';
22
+ import Modal from './components/modal/modal.js';
23
+
24
+ //IMPORT_COMPONENTS
25
+
26
+ Framework7.use([DeviceModule, SupportModule, UtilsModule, ResizeModule, TouchModule, ClicksModule, RouterModule, HistoryModule, ServiceWorkerModule, StoreModule, Statusbar, View, Navbar, Toolbar, Subnavbar, TouchRipple, Modal
27
+ //INSTALL_COMPONENTS
28
+ ]);
29
+
30
+ //NAMED_EXPORT
31
+ export default Framework7;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.2.0
2
+ * Framework7 8.3.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: July 6, 2023
10
+ * Released on: August 18, 2023
11
11
  */
12
12
 
13
13
  /*====================
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.2.0
2
+ * Framework7 8.3.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: July 6, 2023
10
+ * Released on: August 18, 2023
11
11
  */
12
12
 
13
13
  :root{--f7-safe-area-left:0px;--f7-safe-area-right:0px;--f7-safe-area-top:0px;--f7-safe-area-bottom:0px;--f7-safe-area-outer-left:0px;--f7-safe-area-outer-right:0px;--f7-device-pixel-ratio:1}@supports (left:env(safe-area-inset-left)){:root{--f7-safe-area-top:env(safe-area-inset-top);--f7-safe-area-bottom:env(safe-area-inset-bottom)}:root .ios-edges,:root .ios-left-edge,:root .panel-left,:root .popup,:root .safe-area-left,:root .safe-areas,:root .sheet-modal{--f7-safe-area-left:env(safe-area-inset-left);--f7-safe-area-outer-left:env(safe-area-inset-left)}:root .ios-edges,:root .ios-right-edge,:root .panel-right,:root .popup,:root .safe-area-right,:root .safe-areas,:root .sheet-modal{--f7-safe-area-right:env(safe-area-inset-right);--f7-safe-area-outer-right:env(safe-area-inset-right)}:root .no-ios-edges,:root .no-ios-left-edge,:root .no-safe-area-left,:root .no-safe-areas{--f7-safe-area-left:0px;--f7-safe-area-outer-left:0px}:root .no-ios-edges,:root .no-ios-right-edge,:root .no-safe-area-right,:root .no-safe-areas{--f7-safe-area-right:0px;--f7-safe-area-outer-right:0px}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){:root{--f7-device-pixel-ratio:2}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){:root{--f7-device-pixel-ratio:3}}:root{--f7-font-size:14px;--f7-bars-translucent-opacity:0.8;--f7-bars-translucent-blur:20px}.ios{--f7-font-family:-apple-system,SF Pro Text,SF UI Text,system-ui,Helvetica Neue,Helvetica,Arial,sans-serif;--f7-line-height:1.4;--f7-bars-text-color:#000;--f7-text-color:#000;--f7-bars-bg-color:#f7f7f8;--f7-bars-bg-color-rgb:247,247,248;--f7-bars-border-color:rgba(0, 0, 0, 0.25)}.ios .dark,.ios.dark{--f7-bars-text-color:#fff;--f7-text-color:#fff;--f7-bars-bg-color:#121212;--f7-bars-bg-color-rgb:22,22,22;--f7-bars-border-color:rgba(255, 255, 255, 0.16)}.md{--f7-font-family:Roboto,system-ui,Noto,Helvetica,Arial,sans-serif;--f7-line-height:1.5;--f7-bars-border-color:transparent;--f7-text-color:#212121}.md .dark,.md.dark{--f7-text-color:rgba(255, 255, 255, 0.87)}.md,.md .dark,.md [class*=color-]{--f7-bars-link-color:var(--f7-md-on-surface);--f7-bars-bg-color:var(--f7-md-surface-2);--f7-bars-bg-color-rgb:var(--f7-md-surface-2-rgb)}.text-color-primary{--f7-theme-color-text-color:var(--f7-theme-color)}.bg-color-primary{--f7-theme-color-bg-color:var(--f7-theme-color)}.border-color-primary{--f7-theme-color-border-color:var(--f7-theme-color)}.ripple-color-primary{--f7-theme-color-ripple-color:rgba(var(--f7-theme-color-rgb), 0.3)}@font-face{font-family:framework7-core-icons;src:url('data:application/font-woff;charset=utf-8;base64, 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') format('woff');font-weight:400;font-style:normal}html{overscroll-behavior:none}html{direction:rtl}.framework7-root,body,html{position:relative;height:100%;width:100%;overflow-x:hidden}body{margin:0;padding:0;width:100%;background:#fff;overflow:hidden;overflow-y:scroll;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-family:var(--f7-font-family);font-size:var(--f7-font-size);line-height:var(--f7-line-height);color:var(--f7-text-color);scrollbar-width:none;scrollbar-color:transparent}body::-webkit-scrollbar{-webkit-appearance:none;appearance:none;width:0px;display:none;opacity:0;background:0 0}body::-webkit-scrollbar-track{box-shadow:none;background:0 0}body::-webkit-scrollbar-thumb{background-color:transparent;outline:0;border-radius:9999px;position:relative}.dark body,body.dark{background:#000}.dark{color:var(--f7-text-color)}.framework7-root{overflow:hidden;box-sizing:border-box}.framework7-initializing *,.framework7-initializing :after,.framework7-initializing :before{transition-duration:0s!important}.device-android,.device-ios{cursor:pointer}.device-ios{touch-action:manipulation}@media (width:1024px) and (height:691px) and (orientation:landscape){.framework7-root,body,html{height:671px}}@media (width:1024px) and (height:692px) and (orientation:landscape){.framework7-root,body,html{height:672px}}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}a,input,select,textarea{outline:0}a{cursor:pointer;text-decoration:none;color:var(--f7-theme-color)}.item-link,.link{cursor:pointer}p{margin:1em 0}.disabled{opacity:.55!important;pointer-events:none!important}html.device-full-viewport,html.device-full-viewport body{height:100vh}.ios .if-md,.ios .if-not-ios,.ios .md-only,.ios .not-ios{display:none!important}@media (width:1024px) and (height:691px) and (orientation:landscape){.ios,.ios .framework7-root,.ios body{height:671px}}@media (width:1024px) and (height:692px) and (orientation:landscape){.ios,.ios .framework7-root,.ios body{height:672px}}.md .if-ios,.md .if-not-md,.md .ios-only,.md .not-md{display:none!important}.view,.views{position:relative;height:100%;z-index:5000;overflow:hidden;box-sizing:border-box}.framework7-root>.view,.framework7-root>.views{height:100%}.view-resize-handler{width:6px;height:100%;position:absolute;left:var(--f7-page-master-width);margin-left:-3px;top:0;cursor:col-resize;z-index:1000;display:none}.view-master-detail .view-resize-handler{display:block}:root{--f7-page-master-width:320px;--f7-page-master-border-color:rgba(0, 0, 0, 0.1);--f7-page-master-border-width:1px;--f7-page-swipeback-transition-duration:300ms;--f7-page-parallax-transition-duration:500ms;--f7-page-cover-transition-duration:450ms;--f7-page-dive-transition-duration:500ms;--f7-page-fade-transition-duration:500ms;--f7-page-flip-transition-duration:700ms;--f7-page-push-transition-duration:500ms;--f7-page-title-line-height:1.2;--f7-page-title-text-color:inherit;--f7-page-title-padding-left:16px;--f7-page-title-padding-right:16px}.ios{--f7-page-transition-duration:400ms;--f7-page-title-font-size:34px;--f7-page-title-font-weight:700;--f7-page-title-letter-spacing:-0.03em;--f7-page-title-padding-vertical:6px;--f7-page-bg-color:#efeff4}.ios .dark,.ios.dark{--f7-page-bg-color:#000}.md{--f7-page-transition-duration:400ms;--f7-page-title-font-size:34px;--f7-page-title-font-weight:500;--f7-page-title-letter-spacing:0;--f7-page-title-padding-vertical:8px}.md,.md .dark,.md [class*=color-]{--f7-page-bg-color:var(--f7-md-surface)}.dark{--f7-page-master-border-color:rgba(255, 255, 255, 0.2)}.pages{position:relative;width:100%;height:100%;overflow:hidden}.page{box-sizing:border-box;position:absolute;left:0;top:0;width:100%;height:100%;transform:none;background-color:var(--f7-page-bg-color);z-index:1}.page-with-navbar-large-collapsed{--f7-navbar-large-collapse-progress:1}.page-previous{pointer-events:none}.page-content{overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;height:100%;position:relative;z-index:1;padding-top:calc(var(--f7-page-navbar-offset,0px) + var(--f7-page-toolbar-top-offset,0px) + var(--f7-page-subnavbar-offset,0px) + var(--f7-page-searchbar-offset,0px) + var(--f7-page-content-extra-padding-top,0px));padding-bottom:calc(var(--f7-page-toolbar-bottom-offset,0px) + var(--f7-safe-area-bottom) + var(--f7-page-content-extra-padding-bottom,0px))}.page-transitioning,.page-transitioning .page-opacity-effect,.page-transitioning .page-shadow-effect{transition-duration:var(--f7-page-transition-duration)}.page-transitioning-swipeback,.page-transitioning-swipeback .page-opacity-effect,.page-transitioning-swipeback .page-shadow-effect{transition-duration:var(--f7-page-swipeback-transition-duration)}.router-transition-backward .page-current,.router-transition-backward .page-next,.router-transition-forward .page-current,.router-transition-forward .page-next{pointer-events:none}.page-shadow-effect{position:absolute;top:0;width:16px;bottom:0;z-index:-1;content:'';opacity:0;left:100%;background:linear-gradient(to left,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 10%,rgba(0,0,0,.01) 50%,rgba(0,0,0,.2) 100%)}.page-opacity-effect{position:absolute;left:0;top:0;background:rgba(0,0,0,.1);width:100%;bottom:0;content:'';opacity:0;z-index:10000}.ios .page-previous{transform:translate3d(20%,0,0)}.ios .page-next{transform:translate3d(-100%,0,0)}.ios .page-previous .page-opacity-effect{opacity:1}.ios .page-previous:after{opacity:1}.ios .page-current .page-shadow-effect{opacity:1}.ios .router-transition-forward .page-next{animation:ios-page-next-to-current var(--f7-page-transition-duration) forwards}.ios .router-transition-forward .page-next:before{position:absolute;top:0;width:16px;bottom:0;z-index:-1;content:'';opacity:0;left:100%;background:linear-gradient(to left,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 10%,rgba(0,0,0,.01) 50%,rgba(0,0,0,.2) 100%);animation:ios-page-element-fade-in var(--f7-page-transition-duration) forwards}.ios .router-transition-forward .page-current{animation:ios-page-current-to-previous var(--f7-page-transition-duration) forwards}.ios .router-transition-forward .page-current:after{position:absolute;left:0;top:0;background:rgba(0,0,0,.1);width:100%;bottom:0;content:'';opacity:0;z-index:10000;animation:ios-page-element-fade-in var(--f7-page-transition-duration) forwards}.ios .router-transition-backward .page-previous{animation:ios-page-previous-to-current var(--f7-page-transition-duration) forwards}.ios .router-transition-backward .page-previous:after{position:absolute;left:0;top:0;background:rgba(0,0,0,.1);width:100%;bottom:0;content:'';opacity:0;z-index:10000;animation:ios-page-element-fade-out var(--f7-page-transition-duration) forwards}.ios .router-transition-backward .page-current{animation:ios-page-current-to-next var(--f7-page-transition-duration) forwards}.ios .router-transition-backward .page-current:before{position:absolute;top:0;width:16px;bottom:0;z-index:-1;content:'';opacity:0;left:100%;background:linear-gradient(to left,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 10%,rgba(0,0,0,.01) 50%,rgba(0,0,0,.2) 100%);animation:ios-page-element-fade-out var(--f7-page-transition-duration) forwards}@keyframes ios-page-next-to-current{from{transform:translate3d(-100%,0,0)}to{transform:translate3d(0%,0,0)}}@keyframes ios-page-previous-to-current{from{transform:translate3d(20%,0,0)}to{transform:translate3d(0%,0,0)}}@keyframes ios-page-current-to-previous{from{transform:translate3d(0,0,0)}to{transform:translate3d(20%,0,0)}}@keyframes ios-page-current-to-next{from{transform:translate3d(0,0,0)}to{transform:translate3d(-100%,0,0)}}@keyframes ios-page-element-fade-in{from{opacity:0}to{opacity:1}}@keyframes ios-page-element-fade-out{from{opacity:1}to{opacity:0}}.md .page-previous{transform:translate3d(0,-20px,0)}.md .page-next{pointer-events:none;transform:translate3d(0,128px,0);opacity:0}.md .page-next.page-next-on-right{transform:translate3d(-100%,0,0);opacity:1}.md .router-transition-forward .page-next{opacity:1;animation:md-page-next-to-current var(--f7-page-transition-duration) forwards cubic-bezier(0,.8,.3,1)}.md .router-transition-forward .page-current{animation:md-page-current-to-previous var(--f7-page-transition-duration) forwards cubic-bezier(0,.8,.3,1)}.md .router-transition-backward .page-current{animation:md-page-current-to-next calc(var(--f7-page-transition-duration)/ 4) forwards cubic-bezier(.8,0,1,.3),md-page-current-to-next-opacity 0s calc(var(--f7-page-transition-duration)/ 4) forwards}.md .router-transition-backward .page-previous{animation:md-page-previous-to-current var(--f7-page-transition-duration) forwards}@keyframes md-page-next-to-current{from{transform:translate3d(0,128px,0)}to{transform:translate3d(0,0px,0)}}@keyframes md-page-current-to-next{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,128px,0)}}@keyframes md-page-current-to-next-opacity{from{opacity:1}to{opacity:0}}@keyframes md-page-current-to-previous{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-20px,0)}}@keyframes md-page-previous-to-current{from{transform:translate3d(0,-20px,0)}to{transform:translate3d(0,0px,0)}}.view:not(.view-master-detail) .page-master-stacked{display:none}.view:not(.view-master-detail) .navbar-master-stacked{display:none}.view-master-detail .navbar-master,.view-master-detail .page-master{width:var(--f7-page-master-width);left:auto;right:0;--f7-safe-area-left:0px;--f7-safe-area-outer-left:0px;border-left:var(--f7-page-master-border-width) solid var(--f7-page-master-border-color)}.view-master-detail .navbar-master-detail,.view-master-detail .page-master-detail{width:calc(100% - var(--f7-page-master-width));--f7-safe-area-right:0px;--f7-safe-area-outer-right:0px;right:var(--f7-page-master-width)}.view-master-detail .page-master-detail>.navbar-master-detail{left:0;right:0;width:100%}.view-master-detail .page-master{z-index:2;transform:none;pointer-events:auto}.view-master-detail .page-master:after,.view-master-detail .page-master:before{display:none}.view-master-detail.router-transition .page-master{animation:none}.ios .router-transition-custom .page-next,.ios .router-transition-custom .page-previous,.md .router-transition-custom .page-next,.md .router-transition-custom .page-previous{opacity:1;transform:none}.ios .router-transition-custom.view-master-detail .page-master,.md .router-transition-custom.view-master-detail .page-master{animation:none}.page-title{position:relative;z-index:10;text-overflow:ellipsis;white-space:nowrap;color:var(--f7-page-title-text-color);letter-spacing:var(--f7-page-title-letter-spacing);font-size:var(--f7-page-title-font-size);font-weight:var(--f7-page-title-font-weight);line-height:var(--f7-page-title-line-height);padding-left:calc(var(--f7-page-title-padding-left) + var(--f7-safe-area-left));padding-right:calc(var(--f7-page-title-padding-right) + var(--f7-safe-area-right));padding-top:var(--f7-page-title-padding-vertical);padding-bottom:var(--f7-page-title-padding-vertical);box-sizing:border-box;overflow:hidden;width:100%}.router-transition-f7-circle-backward:after,.router-transition-f7-circle-forward:after{content:'';position:absolute;left:50%;top:50%;width:100vmax;height:100vmax;margin-left:-50vmax;margin-top:-50vmax;background:var(--f7-page-bg-color);z-index:100}.router-transition-f7-circle-backward .page,.router-transition-f7-circle-forward .page{pointer-events:none}.router-transition-f7-circle-forward:after{transform:scale(0);border-radius:50%;animation:f7-circle-circle-in .4s forwards}.ios .router-transition-f7-circle-forward .page-next,.md .router-transition-f7-circle-forward .page-next{opacity:0;transform:scale(.9);animation:f7-circle-next-to-current .3s forwards;animation-delay:.3s;z-index:150}.router-transition-f7-circle-backward:after{animation:f7-circle-circle-out .3s forwards;animation-delay:350ms}.ios .router-transition-f7-circle-backward .page-current,.md .router-transition-f7-circle-backward .page-current{animation:f7-circle-current-to-next .7s forwards;z-index:150}@keyframes f7-circle-circle-in{from{transform:scale(0);border-radius:50%}50%{border-radius:50%}to{transform:scale(1);border-radius:0%}}@keyframes f7-circle-circle-out{from{transform:scale(1);border-radius:0%}50%{border-radius:50%}to{transform:scale(0);border-radius:50%}}@keyframes f7-circle-next-to-current{from{transform:scale(.9);opacity:0}40%{transform:scale(1.035);opacity:1}to{transform:scale(1);opacity:1}}@keyframes f7-circle-current-to-next{from{transform:scale(1);opacity:1}34%{transform:scale(1.035);opacity:1}57%{transform:scale(.9);opacity:0}to{transform:scale(.9);opacity:0}}.router-transition-f7-cover-v-backward,.router-transition-f7-cover-v-forward{background:#000;perspective:1200px}.router-transition-f7-cover-v-backward .page,.router-transition-f7-cover-v-forward .page{pointer-events:none}.router-transition-f7-cover-v-forward .page-next{animation:f7-cover-v-next-to-current var(--f7-page-cover-transition-duration) forwards}.router-transition-f7-cover-v-forward .page-current{animation:f7-cover-v-current-to-prev var(--f7-page-cover-transition-duration) forwards}.router-transition-f7-cover-v-backward .page-current{animation:f7-cover-v-current-to-next var(--f7-page-cover-transition-duration) forwards}.router-transition-f7-cover-v-backward .page-previous{animation:f7-cover-v-prev-to-current var(--f7-page-cover-transition-duration) forwards}@keyframes f7-cover-v-next-to-current{from{transform:translateY(100%)}to{transform:translateY(0%)}}@keyframes f7-cover-v-current-to-next{from{transform:translateY(0%)}to{transform:translateY(100%)}}@keyframes f7-cover-v-current-to-prev{from{transform:translateZ(0);opacity:1}to{transform:translateZ(-300px);opacity:.5}}@keyframes f7-cover-v-prev-to-current{from{transform:translateZ(-300px);opacity:.5}to{transform:translateZ(0);opacity:1}}.router-transition-f7-cover-backward,.router-transition-f7-cover-forward{background:#000;perspective:1200px}.router-transition-f7-cover-backward .page,.router-transition-f7-cover-forward .page{pointer-events:none}.router-transition-f7-cover-forward .page-next{animation:f7-cover-next-to-current var(--f7-page-cover-transition-duration) forwards}.router-transition-f7-cover-forward .page-current{animation:f7-cover-current-to-prev var(--f7-page-cover-transition-duration) forwards}.router-transition-f7-cover-backward .page-current{animation:f7-cover-current-to-next var(--f7-page-cover-transition-duration) forwards}.router-transition-f7-cover-backward .page-previous{animation:f7-cover-prev-to-current var(--f7-page-cover-transition-duration) forwards}@keyframes f7-cover-next-to-current{from{transform:translateX(-100%)}to{transform:translateX(0%)}}@keyframes f7-cover-current-to-next{from{transform:translateX(0%)}to{transform:translateX(-100%)}}@keyframes f7-cover-current-to-prev{from{transform:translateZ(0);opacity:1}to{transform:translateZ(-300px);opacity:.5}}@keyframes f7-cover-prev-to-current{from{transform:translateZ(-300px);opacity:.5}to{transform:translateZ(0);opacity:1}}.router-transition-f7-dive-backward,.router-transition-f7-dive-forward{background:var(--f7-page-bg-color);perspective:1200px}.router-transition-f7-dive-backward .page,.router-transition-f7-dive-forward .page{pointer-events:none}.router-transition-f7-dive-forward .page-next{animation:f7-dive-next-to-current var(--f7-page-dive-transition-duration) forwards}.router-transition-f7-dive-forward .page-current{animation:f7-dive-current-to-prev var(--f7-page-dive-transition-duration) forwards}.router-transition-f7-dive-backward .page-current{animation:f7-dive-current-to-next var(--f7-page-dive-transition-duration) forwards}.router-transition-f7-dive-backward .page-previous{animation:f7-dive-prev-to-current var(--f7-page-dive-transition-duration) forwards}@keyframes f7-dive-next-to-current{from{opacity:0;transform:translateZ(-150px)}50%{opacity:0}to{opacity:1;transform:translateZ(0px)}}@keyframes f7-dive-current-to-next{from{opacity:1;transform:translateZ(0px)}50%{opacity:0}to{opacity:0;transform:translateZ(-150px)}}@keyframes f7-dive-current-to-prev{from{transform:translateZ(0px);opacity:1}50%{opacity:0}to{opacity:0;transform:translateZ(150px)}}@keyframes f7-dive-prev-to-current{from{opacity:0;transform:translateZ(150px)}50%{opacity:0}to{opacity:1;transform:translateZ(0px)}}.router-transition-f7-fade-backward,.router-transition-f7-fade-forward{background:var(--f7-page-bg-color)}.router-transition-f7-fade-backward .page,.router-transition-f7-fade-forward .page{pointer-events:none}.ios .router-transition-f7-fade-forward .page-next,.md .router-transition-f7-fade-forward .page-next{opacity:0;animation:f7-fade-in var(--f7-page-fade-transition-duration) forwards}.ios .router-transition-f7-fade-forward .page-current,.md .router-transition-f7-fade-forward .page-current{animation:f7-fade-out var(--f7-page-fade-transition-duration) forwards}.ios .router-transition-f7-fade-backward .page-current,.md .router-transition-f7-fade-backward .page-current{animation:f7-fade-out var(--f7-page-fade-transition-duration) forwards}.ios .router-transition-f7-fade-backward .page-previous,.md .router-transition-f7-fade-backward .page-previous{animation:f7-fade-in var(--f7-page-fade-transition-duration) forwards}@keyframes f7-fade-in{from{opacity:0}50%{opacity:0}to{opacity:1}}@keyframes f7-fade-out{from{opacity:1}50%{opacity:0}to{opacity:0}}.router-transition-f7-flip-backward,.router-transition-f7-flip-forward{background:#000;perspective:1200px}.router-transition-f7-flip-backward .page,.router-transition-f7-flip-forward .page{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;pointer-events:none}.router-transition-f7-flip-forward .page-next{transform-style:preserve-3d;animation:f7-flip-next-to-current var(--f7-page-flip-transition-duration) forwards}.router-transition-f7-flip-forward .page-current{transform-style:preserve-3d;animation:f7-flip-current-to-prev var(--f7-page-flip-transition-duration) forwards}.router-transition-f7-flip-backward .page-current{transform-style:preserve-3d;animation:f7-flip-current-to-next var(--f7-page-flip-transition-duration) forwards}.router-transition-f7-flip-backward .page-previous{transform-style:preserve-3d;animation:f7-flip-prev-to-current var(--f7-page-flip-transition-duration) forwards}@keyframes f7-flip-next-to-current{from{border-radius:32px;transform:translateZ(-100vmax) rotateY(-180deg)}to{border-radius:0;transform:translateZ(0px) rotateY(0deg)}}@keyframes f7-flip-current-to-next{from{border-radius:0px;transform:translateZ(0px) rotateY(0deg)}to{border-radius:32px;transform:translateZ(-100vmax) rotateY(-180deg)}}@keyframes f7-flip-current-to-prev{from{border-radius:0px;transform:translateZ(0px) rotateY(0deg)}to{border-radius:32px;transform:translateZ(-100vmax) rotateY(180deg)}}@keyframes f7-flip-prev-to-current{from{border-radius:32px;transform:translateZ(-100vmax) rotateY(180deg)}to{border-radius:0px;transform:translateZ(0px) rotateY(0deg)}}.router-transition-f7-parallax-forward .page{pointer-events:none}.router-transition-f7-parallax-forward .page-next{animation:f7-parallax-next-to-current var(--f7-page-parallax-transition-duration) forwards}.router-transition-f7-parallax-forward .page-current{animation:f7-parallax-current-to-prev var(--f7-page-parallax-transition-duration) forwards}.router-transition-f7-parallax-backward .page{pointer-events:none}.router-transition-f7-parallax-backward .page-current{animation:f7-parallax-current-to-next var(--f7-page-parallax-transition-duration) forwards}.router-transition-f7-parallax-backward .page-previous{animation:f7-parallax-prev-to-current var(--f7-page-parallax-transition-duration) forwards}@keyframes f7-parallax-next-to-current{from{transform:translateX(-100%)}to{transform:translateX(0%)}}@keyframes f7-parallax-current-to-next{from{transform:translateX(0%)}to{transform:translateX(-100%)}}@keyframes f7-parallax-current-to-prev{from{transform:translateX(0%)}to{transform:translateX(20%)}}@keyframes f7-parallax-prev-to-current{from{transform:translateX(20%)}to{transform:translateX(0%)}}.router-transition-f7-push-forward .page{pointer-events:none}.router-transition-f7-push-forward .page-next{animation:f7-push-next-to-current var(--f7-page-push-transition-duration) forwards}.router-transition-f7-push-forward .page-current{animation:f7-push-current-to-prev var(--f7-page-push-transition-duration) forwards}.router-transition-f7-push-backward .page{pointer-events:none}.router-transition-f7-push-backward .page-current{animation:f7-push-current-to-next var(--f7-page-push-transition-duration) forwards}.router-transition-f7-push-backward .page-previous{animation:f7-push-prev-to-current var(--f7-page-push-transition-duration) forwards}@keyframes f7-push-next-to-current{from{transform:translateX(-100%)}to{transform:translateX(0%)}}@keyframes f7-push-current-to-next{from{transform:translateX(0%)}to{transform:translateX(-100%)}}@keyframes f7-push-current-to-prev{from{transform:translateX(0%)}to{transform:translateX(100%)}}@keyframes f7-push-prev-to-current{from{transform:translateX(100%)}to{transform:translateX(0%)}}:root{--f7-link-highlight-black:rgba(0, 0, 0, 0.1);--f7-link-highlight-white:rgba(255, 255, 255, 0.15);--f7-link-highlight-color:rgba(var(--f7-theme-color-rgb), 0.15)}.ios{--f7-link-pressed-opacity:0.3}.link,.tab-link{display:inline-flex;align-items:center;align-content:center;justify-content:center;position:relative;box-sizing:border-box;z-index:1;--f7-touch-ripple-color:var(--f7-link-touch-ripple-color, rgba(var(--f7-theme-color-rgb), 0.25))}.link i+i,.link i+span,.link span+i,.link span+span{margin-right:4px}.link[class*=color-]{color:var(--f7-theme-color)}.ios .link{transition:opacity .3s}.ios .link.active-state{opacity:var(--f7-link-pressed-opacity);transition-duration:0s}:root{--f7-navbar-hide-show-transition-duration:400ms;--f7-navbar-title-line-height:1.2;--f7-navbar-subtitle-text-align:inherit;--f7-navbar-large-title-line-height:1.2;--f7-navbar-large-title-text-color:inherit;--f7-navbar-large-title-padding-left:16px;--f7-navbar-large-title-padding-right:16px}.ios{--f7-navbar-height:44px;--f7-navbar-font-size:17px;--f7-navbar-title-font-size:inherit;--f7-navbar-inner-padding-left:8px;--f7-navbar-inner-padding-right:8px;--f7-navbar-title-font-weight:600;--f7-navbar-title-margin-left:0;--f7-navbar-title-margin-right:0;--f7-navbar-title-text-align:center;--f7-navbar-subtitle-font-size:10px;--f7-navbar-subtitle-line-height:1;--f7-navbar-large-title-height:52px;--f7-navbar-large-title-font-size:34px;--f7-navbar-large-title-font-weight:700;--f7-navbar-large-title-letter-spacing:-0.03em;--f7-navbar-large-title-padding-vertical:6px;--f7-navbar-subtitle-text-color:rgba(0, 0, 0, 0.55)}.ios .dark,.ios.dark{--f7-navbar-subtitle-text-color:rgba(255, 255, 255, 0.55)}.md{--f7-navbar-height:64px;--f7-navbar-font-size:16px;--f7-navbar-title-font-size:22px;--f7-navbar-inner-padding-left:0px;--f7-navbar-inner-padding-right:0px;--f7-navbar-title-font-weight:400;--f7-navbar-title-margin-left:0px;--f7-navbar-title-margin-right:16px;--f7-navbar-title-text-align:left;--f7-navbar-subtitle-font-size:14px;--f7-navbar-subtitle-line-height:1.2;--f7-navbar-large-title-font-size:28px;--f7-navbar-large-title-height:88px;--f7-navbar-large-title-font-weight:400;--f7-navbar-large-title-letter-spacing:0;--f7-navbar-large-title-padding-vertical:8px;--f7-navbar-link-height:48px;--f7-navbar-link-line-height:48px}.md,.md .dark,.md [class*=color-]{--f7-navbar-link-color:var(--f7-md-on-surface);--f7-navbar-text-color:var(--f7-md-on-surface);--f7-navbar-subtitle-text-color:var(--f7-md-on-surface-variant)}.navbar,.navbars{z-index:500;left:0;top:0;width:100%}.navbars{position:absolute}.navbars .navbar{z-index:auto}.navbars .navbar-transitioning{z-index:500}.navbar{--f7-navbar-large-collapse-progress:0;position:relative;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;margin:0;height:calc(var(--f7-navbar-height) + var(--f7-safe-area-top));color:var(--f7-navbar-text-color,var(--f7-bars-text-color));font-size:var(--f7-navbar-font-size)}.navbar b{font-weight:500}.navbar a{color:var(--f7-navbar-link-color,var(--f7-bars-link-color,var(--f7-theme-color)))}.navbar a.link{display:flex;justify-content:flex-start;line-height:var(--f7-navbar-link-line-height, var(--f7-navbar-height));height:var(--f7-navbar-link-height,var(--f7-navbar-height))}.navbar .left,.navbar .right,.navbar .title{position:relative;z-index:10}.navbar .title{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:10;font-weight:var(--f7-navbar-title-font-weight);display:inline-block;line-height:var(--f7-navbar-title-line-height);text-align:var(--f7-navbar-title-text-align);font-size:var(--f7-navbar-title-font-size);margin-right:var(--f7-navbar-title-margin-left);margin-left:var(--f7-navbar-title-margin-left)}.navbar .subtitle{display:block;color:var(--f7-navbar-subtitle-text-color);font-weight:400;font-size:var(--f7-navbar-subtitle-font-size);line-height:var(--f7-navbar-subtitle-line-height);text-align:var(--f7-navbar-subtitle-text-align)}.navbar .left,.navbar .right{flex-shrink:0;display:flex;justify-content:flex-start;align-items:center}.navbar .right:first-child{position:absolute;height:100%}.navbar .no-outline .navbar-bg:after,.navbar.no-outline .navbar-bg:after{display:none!important}.navbar .no-outline .title-large:after,.navbar.no-outline .title-large:after{display:none!important}.navbar-hidden .navbar .navbar-bg:before,.navbar.navbar-hidden .navbar-bg:before{opacity:0!important}.navbar-bg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:0;background:var(--f7-navbar-bg-color);background-color:var(--f7-navbar-bg-color,var(--f7-bars-bg-color));transition-property:transform}@supports ((-webkit-backdrop-filter:blur(20px)) or (backdrop-filter:blur(20px))){.ios-translucent-bars .navbar-bg{background-color:rgba(var(--f7-navbar-bg-color-rgb,var(--f7-bars-bg-color-rgb)),var(--f7-bars-translucent-opacity));-webkit-backdrop-filter:saturate(180%) blur(var(--f7-bars-translucent-blur));backdrop-filter:saturate(180%) blur(var(--f7-bars-translucent-blur))}}.navbar-bg:after,.navbar-bg:before{-webkit-backface-visibility:hidden;backface-visibility:hidden}.navbar-bg:after{content:'';position:absolute;background-color:var(--f7-navbar-border-color,var(--f7-bars-border-color));display:block;z-index:15;top:auto;right:auto;bottom:0;left:0;height:1px;width:100%;transform-origin:50% 100%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.navbar-bg:after{z-index:1}.navbar-transitioning,.navbar-transitioning .left,.navbar-transitioning .navbar-bg,.navbar-transitioning .navbar-bg:before,.navbar-transitioning .right,.navbar-transitioning .subnavbar,.navbar-transitioning .title,.navbar-transitioning .title-large-text{transition-duration:var(--f7-navbar-hide-show-transition-duration)}.navbar-page-transitioning{transition-duration:var(--f7-page-swipeback-transition-duration)!important}.navbar-page-transitioning .navbar-bg,.navbar-page-transitioning .title-large-text{transition-duration:var(--f7-page-swipeback-transition-duration)!important}.navbar-hidden{transform:translate3d(0,calc(-1 * var(--f7-navbar-height)),0)}.navbar-hidden .navbar-inner{pointer-events:none}.navbar-hidden .navbar-inner>.left,.navbar-hidden .navbar-inner>.right,.navbar-hidden .navbar-inner>.title{opacity:0!important}.navbar-hidden .subnavbar{pointer-events:auto}.navbar-hidden-statusbar{transform:translate3d(0,calc(-1 * var(--f7-navbar-height) - var(--f7-safe-area-top)),0)}.navbar-large-hidden .navbar-large{--f7-navbar-large-collapse-progress:1}.navbar-inner{position:absolute;left:0;bottom:0;width:100%;height:100%;display:flex;align-items:center;box-sizing:border-box;padding:var(--f7-safe-area-top) calc(var(--f7-navbar-inner-padding-right) + var(--f7-safe-area-right)) 0 calc(var(--f7-navbar-inner-padding-left) + var(--f7-safe-area-left));transform:translate3d(0,0,0);z-index:10}.navbars>.navbar,.page>.navbar,.view>.navbar,.views>.navbar{position:absolute}.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
package/framework7.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.2.0
2
+ * Framework7 8.3.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: July 6, 2023
10
+ * Released on: August 18, 2023
11
11
  */
12
12
 
13
13
  /*====================
package/framework7.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.2.0
2
+ * Framework7 8.3.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: July 6, 2023
10
+ * Released on: August 18, 2023
11
11
  */
12
12
 
13
13
  import $ from './shared/dom7.js';
package/framework7.js ADDED
@@ -0,0 +1,42 @@
1
+ import $ from './shared/dom7.js';
2
+ import Framework7 from './components/app/app-class.js';
3
+
4
+ //IMPORT_HELPERS
5
+
6
+ import DeviceModule from './modules/device/device.js';
7
+ import SupportModule from './modules/support/support.js';
8
+ import UtilsModule from './modules/utils/utils.js';
9
+ import ResizeModule from './modules/resize/resize.js';
10
+ import TouchModule from './modules/touch/touch.js';
11
+ import ClicksModule from './modules/clicks/clicks.js';
12
+ import RouterModule from './modules/router/router.js';
13
+ import RouterComponentLoaderModule from './modules/router/component-loader.js';
14
+ import ComponentModule, { Component, $jsx } from './modules/component/component.js';
15
+ import HistoryModule from './modules/history/history.js';
16
+ import ServiceWorkerModule from './modules/service-worker/service-worker.js';
17
+ import StoreModule, { createStore } from './modules/store/store.js';
18
+ import Statusbar from './components/statusbar/statusbar.js';
19
+ import View from './components/view/view.js';
20
+ import Navbar from './components/navbar/navbar.js';
21
+ import Toolbar from './components/toolbar/toolbar.js';
22
+ import Subnavbar from './components/subnavbar/subnavbar.js';
23
+ import TouchRipple from './components/touch-ripple/touch-ripple.js';
24
+ import Modal from './components/modal/modal.js';
25
+ import Router from './modules/router/router-class.js';
26
+
27
+ //IMPORT_COMPONENTS
28
+
29
+ // UMD_ONLY_START
30
+ if (typeof window !== 'undefined') {
31
+ // Dom7
32
+ if (!window.Dom7) window.Dom7 = $;
33
+ }
34
+ // UMD_ONLY_END
35
+
36
+ Router.use([RouterComponentLoaderModule]);
37
+ Framework7.use([DeviceModule, SupportModule, UtilsModule, ResizeModule, TouchModule, ClicksModule, RouterModule, HistoryModule, ComponentModule, ServiceWorkerModule, StoreModule, Statusbar, View, Navbar, Toolbar, Subnavbar, TouchRipple, Modal
38
+ //INSTALL_COMPONENTS
39
+ ]);
40
+
41
+ //NAMED_EXPORT
42
+ export default Framework7;
package/framework7.less CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.2.0
2
+ * Framework7 8.3.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: July 6, 2023
10
+ * Released on: August 18, 2023
11
11
  */
12
12
 
13
13
  @import (reference) './less/mixins.less';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.2.0
2
+ * Framework7 8.3.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: July 6, 2023
10
+ * Released on: August 18, 2023
11
11
  */
12
12
 
13
13
  :root{--f7-safe-area-left:0px;--f7-safe-area-right:0px;--f7-safe-area-top:0px;--f7-safe-area-bottom:0px;--f7-safe-area-outer-left:0px;--f7-safe-area-outer-right:0px;--f7-device-pixel-ratio:1}@supports (left:env(safe-area-inset-left)){:root{--f7-safe-area-top:env(safe-area-inset-top);--f7-safe-area-bottom:env(safe-area-inset-bottom)}:root .ios-edges,:root .ios-left-edge,:root .panel-left,:root .popup,:root .safe-area-left,:root .safe-areas,:root .sheet-modal{--f7-safe-area-left:env(safe-area-inset-left);--f7-safe-area-outer-left:env(safe-area-inset-left)}:root .ios-edges,:root .ios-right-edge,:root .panel-right,:root .popup,:root .safe-area-right,:root .safe-areas,:root .sheet-modal{--f7-safe-area-right:env(safe-area-inset-right);--f7-safe-area-outer-right:env(safe-area-inset-right)}:root .no-ios-edges,:root .no-ios-left-edge,:root .no-safe-area-left,:root .no-safe-areas{--f7-safe-area-left:0px;--f7-safe-area-outer-left:0px}:root .no-ios-edges,:root .no-ios-right-edge,:root .no-safe-area-right,:root .no-safe-areas{--f7-safe-area-right:0px;--f7-safe-area-outer-right:0px}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){:root{--f7-device-pixel-ratio:2}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){:root{--f7-device-pixel-ratio:3}}:root{--f7-font-size:14px;--f7-bars-translucent-opacity:0.8;--f7-bars-translucent-blur:20px}.ios{--f7-font-family:-apple-system,SF Pro Text,SF UI Text,system-ui,Helvetica Neue,Helvetica,Arial,sans-serif;--f7-line-height:1.4;--f7-bars-text-color:#000;--f7-text-color:#000;--f7-bars-bg-color:#f7f7f8;--f7-bars-bg-color-rgb:247,247,248;--f7-bars-border-color:rgba(0, 0, 0, 0.25)}.ios .dark,.ios.dark{--f7-bars-text-color:#fff;--f7-text-color:#fff;--f7-bars-bg-color:#121212;--f7-bars-bg-color-rgb:22,22,22;--f7-bars-border-color:rgba(255, 255, 255, 0.16)}.md{--f7-font-family:Roboto,system-ui,Noto,Helvetica,Arial,sans-serif;--f7-line-height:1.5;--f7-bars-border-color:transparent;--f7-text-color:#212121}.md .dark,.md.dark{--f7-text-color:rgba(255, 255, 255, 0.87)}.md,.md .dark,.md [class*=color-]{--f7-bars-link-color:var(--f7-md-on-surface);--f7-bars-bg-color:var(--f7-md-surface-2);--f7-bars-bg-color-rgb:var(--f7-md-surface-2-rgb)}.text-color-primary{--f7-theme-color-text-color:var(--f7-theme-color)}.bg-color-primary{--f7-theme-color-bg-color:var(--f7-theme-color)}.border-color-primary{--f7-theme-color-border-color:var(--f7-theme-color)}.ripple-color-primary{--f7-theme-color-ripple-color:rgba(var(--f7-theme-color-rgb), 0.3)}@font-face{font-family:framework7-core-icons;src:url('data:application/font-woff;charset=utf-8;base64, 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') format('woff');font-weight:400;font-style:normal}html{overscroll-behavior:none}.framework7-root,body,html{position:relative;height:100%;width:100%;overflow-x:hidden}body{margin:0;padding:0;width:100%;background:#fff;overflow:hidden;overflow-y:scroll;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-family:var(--f7-font-family);font-size:var(--f7-font-size);line-height:var(--f7-line-height);color:var(--f7-text-color);scrollbar-width:none;scrollbar-color:transparent}body::-webkit-scrollbar{-webkit-appearance:none;appearance:none;width:0px;display:none;opacity:0;background:0 0}body::-webkit-scrollbar-track{box-shadow:none;background:0 0}body::-webkit-scrollbar-thumb{background-color:transparent;outline:0;border-radius:9999px;position:relative}.dark body,body.dark{background:#000}.dark{color:var(--f7-text-color)}.framework7-root{overflow:hidden;box-sizing:border-box}.framework7-initializing *,.framework7-initializing :after,.framework7-initializing :before{transition-duration:0s!important}.device-android,.device-ios{cursor:pointer}.device-ios{touch-action:manipulation}@media (width:1024px) and (height:691px) and (orientation:landscape){.framework7-root,body,html{height:671px}}@media (width:1024px) and (height:692px) and (orientation:landscape){.framework7-root,body,html{height:672px}}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}a,input,select,textarea{outline:0}a{cursor:pointer;text-decoration:none;color:var(--f7-theme-color)}.item-link,.link{cursor:pointer}p{margin:1em 0}.disabled{opacity:.55!important;pointer-events:none!important}html.device-full-viewport,html.device-full-viewport body{height:100vh}.ios .if-md,.ios .if-not-ios,.ios .md-only,.ios .not-ios{display:none!important}@media (width:1024px) and (height:691px) and (orientation:landscape){.ios,.ios .framework7-root,.ios body{height:671px}}@media (width:1024px) and (height:692px) and (orientation:landscape){.ios,.ios .framework7-root,.ios body{height:672px}}.md .if-ios,.md .if-not-md,.md .ios-only,.md .not-md{display:none!important}.view,.views{position:relative;height:100%;z-index:5000;overflow:hidden;box-sizing:border-box}.framework7-root>.view,.framework7-root>.views{height:100%}.view-resize-handler{width:6px;height:100%;position:absolute;left:var(--f7-page-master-width);margin-left:-3px;top:0;cursor:col-resize;z-index:1000;display:none}.view-master-detail .view-resize-handler{display:block}:root{--f7-page-master-width:320px;--f7-page-master-border-color:rgba(0, 0, 0, 0.1);--f7-page-master-border-width:1px;--f7-page-swipeback-transition-duration:300ms;--f7-page-parallax-transition-duration:500ms;--f7-page-cover-transition-duration:450ms;--f7-page-dive-transition-duration:500ms;--f7-page-fade-transition-duration:500ms;--f7-page-flip-transition-duration:700ms;--f7-page-push-transition-duration:500ms;--f7-page-title-line-height:1.2;--f7-page-title-text-color:inherit;--f7-page-title-padding-left:16px;--f7-page-title-padding-right:16px}.ios{--f7-page-transition-duration:400ms;--f7-page-title-font-size:34px;--f7-page-title-font-weight:700;--f7-page-title-letter-spacing:-0.03em;--f7-page-title-padding-vertical:6px;--f7-page-bg-color:#efeff4}.ios .dark,.ios.dark{--f7-page-bg-color:#000}.md{--f7-page-transition-duration:400ms;--f7-page-title-font-size:34px;--f7-page-title-font-weight:500;--f7-page-title-letter-spacing:0;--f7-page-title-padding-vertical:8px}.md,.md .dark,.md [class*=color-]{--f7-page-bg-color:var(--f7-md-surface)}.dark{--f7-page-master-border-color:rgba(255, 255, 255, 0.2)}.pages{position:relative;width:100%;height:100%;overflow:hidden}.page{box-sizing:border-box;position:absolute;left:0;top:0;width:100%;height:100%;transform:none;background-color:var(--f7-page-bg-color);z-index:1}.page-with-navbar-large-collapsed{--f7-navbar-large-collapse-progress:1}.page-previous{pointer-events:none}.page-content{overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;height:100%;position:relative;z-index:1;padding-top:calc(var(--f7-page-navbar-offset,0px) + var(--f7-page-toolbar-top-offset,0px) + var(--f7-page-subnavbar-offset,0px) + var(--f7-page-searchbar-offset,0px) + var(--f7-page-content-extra-padding-top,0px));padding-bottom:calc(var(--f7-page-toolbar-bottom-offset,0px) + var(--f7-safe-area-bottom) + var(--f7-page-content-extra-padding-bottom,0px))}.page-transitioning,.page-transitioning .page-opacity-effect,.page-transitioning .page-shadow-effect{transition-duration:var(--f7-page-transition-duration)}.page-transitioning-swipeback,.page-transitioning-swipeback .page-opacity-effect,.page-transitioning-swipeback .page-shadow-effect{transition-duration:var(--f7-page-swipeback-transition-duration)}.router-transition-backward .page-current,.router-transition-backward .page-next,.router-transition-forward .page-current,.router-transition-forward .page-next{pointer-events:none}.page-shadow-effect{position:absolute;top:0;width:16px;bottom:0;z-index:-1;content:'';opacity:0;right:100%;background:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 10%,rgba(0,0,0,.01) 50%,rgba(0,0,0,.2) 100%)}.page-opacity-effect{position:absolute;left:0;top:0;background:rgba(0,0,0,.1);width:100%;bottom:0;content:'';opacity:0;z-index:10000}.ios .page-previous{transform:translate3d(-20%,0,0)}.ios .page-next{transform:translate3d(100%,0,0)}.ios .page-previous .page-opacity-effect{opacity:1}.ios .page-previous:after{opacity:1}.ios .page-current .page-shadow-effect{opacity:1}.ios .router-transition-forward .page-next{animation:ios-page-next-to-current var(--f7-page-transition-duration) forwards}.ios .router-transition-forward .page-next:before{position:absolute;top:0;width:16px;bottom:0;z-index:-1;content:'';opacity:0;right:100%;background:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 10%,rgba(0,0,0,.01) 50%,rgba(0,0,0,.2) 100%);animation:ios-page-element-fade-in var(--f7-page-transition-duration) forwards}.ios .router-transition-forward .page-current{animation:ios-page-current-to-previous var(--f7-page-transition-duration) forwards}.ios .router-transition-forward .page-current:after{position:absolute;left:0;top:0;background:rgba(0,0,0,.1);width:100%;bottom:0;content:'';opacity:0;z-index:10000;animation:ios-page-element-fade-in var(--f7-page-transition-duration) forwards}.ios .router-transition-backward .page-previous{animation:ios-page-previous-to-current var(--f7-page-transition-duration) forwards}.ios .router-transition-backward .page-previous:after{position:absolute;left:0;top:0;background:rgba(0,0,0,.1);width:100%;bottom:0;content:'';opacity:0;z-index:10000;animation:ios-page-element-fade-out var(--f7-page-transition-duration) forwards}.ios .router-transition-backward .page-current{animation:ios-page-current-to-next var(--f7-page-transition-duration) forwards}.ios .router-transition-backward .page-current:before{position:absolute;top:0;width:16px;bottom:0;z-index:-1;content:'';opacity:0;right:100%;background:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 10%,rgba(0,0,0,.01) 50%,rgba(0,0,0,.2) 100%);animation:ios-page-element-fade-out var(--f7-page-transition-duration) forwards}@keyframes ios-page-next-to-current{from{transform:translate3d(100%,0,0)}to{transform:translate3d(0%,0,0)}}@keyframes ios-page-previous-to-current{from{transform:translate3d(-20%,0,0)}to{transform:translate3d(0%,0,0)}}@keyframes ios-page-current-to-previous{from{transform:translate3d(0,0,0)}to{transform:translate3d(-20%,0,0)}}@keyframes ios-page-current-to-next{from{transform:translate3d(0,0,0)}to{transform:translate3d(100%,0,0)}}@keyframes ios-page-element-fade-in{from{opacity:0}to{opacity:1}}@keyframes ios-page-element-fade-out{from{opacity:1}to{opacity:0}}.md .page-previous{transform:translate3d(0,-20px,0)}.md .page-next{pointer-events:none;transform:translate3d(0,128px,0);opacity:0}.md .page-next.page-next-on-right{transform:translate3d(100%,0,0);opacity:1}.md .router-transition-forward .page-next{opacity:1;animation:md-page-next-to-current var(--f7-page-transition-duration) forwards cubic-bezier(0,.8,.3,1)}.md .router-transition-forward .page-current{animation:md-page-current-to-previous var(--f7-page-transition-duration) forwards cubic-bezier(0,.8,.3,1)}.md .router-transition-backward .page-current{animation:md-page-current-to-next calc(var(--f7-page-transition-duration)/ 4) forwards cubic-bezier(.8,0,1,.3),md-page-current-to-next-opacity 0s calc(var(--f7-page-transition-duration)/ 4) forwards}.md .router-transition-backward .page-previous{animation:md-page-previous-to-current var(--f7-page-transition-duration) forwards}@keyframes md-page-next-to-current{from{transform:translate3d(0,128px,0)}to{transform:translate3d(0,0px,0)}}@keyframes md-page-current-to-next{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,128px,0)}}@keyframes md-page-current-to-next-opacity{from{opacity:1}to{opacity:0}}@keyframes md-page-current-to-previous{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-20px,0)}}@keyframes md-page-previous-to-current{from{transform:translate3d(0,-20px,0)}to{transform:translate3d(0,0px,0)}}.view:not(.view-master-detail) .page-master-stacked{display:none}.view:not(.view-master-detail) .navbar-master-stacked{display:none}.view-master-detail .navbar-master,.view-master-detail .page-master{width:var(--f7-page-master-width);--f7-safe-area-right:0px;--f7-safe-area-outer-right:0px;border-right:var(--f7-page-master-border-width) solid var(--f7-page-master-border-color)}.view-master-detail .navbar-master-detail,.view-master-detail .page-master-detail{width:calc(100% - var(--f7-page-master-width));--f7-safe-area-left:0px;--f7-safe-area-outer-left:0px;left:var(--f7-page-master-width)}.view-master-detail .page-master-detail>.navbar-master-detail{left:0;right:0;width:100%}.view-master-detail .page-master{z-index:2;transform:none;pointer-events:auto}.view-master-detail .page-master:after,.view-master-detail .page-master:before{display:none}.view-master-detail.router-transition .page-master{animation:none}.ios .router-transition-custom .page-next,.ios .router-transition-custom .page-previous,.md .router-transition-custom .page-next,.md .router-transition-custom .page-previous{opacity:1;transform:none}.ios .router-transition-custom.view-master-detail .page-master,.md .router-transition-custom.view-master-detail .page-master{animation:none}.page-title{position:relative;z-index:10;text-overflow:ellipsis;white-space:nowrap;color:var(--f7-page-title-text-color);letter-spacing:var(--f7-page-title-letter-spacing);font-size:var(--f7-page-title-font-size);font-weight:var(--f7-page-title-font-weight);line-height:var(--f7-page-title-line-height);padding-left:calc(var(--f7-page-title-padding-left) + var(--f7-safe-area-left));padding-right:calc(var(--f7-page-title-padding-right) + var(--f7-safe-area-right));padding-top:var(--f7-page-title-padding-vertical);padding-bottom:var(--f7-page-title-padding-vertical);box-sizing:border-box;overflow:hidden;width:100%}.router-transition-f7-circle-backward:after,.router-transition-f7-circle-forward:after{content:'';position:absolute;left:50%;top:50%;width:100vmax;height:100vmax;margin-left:-50vmax;margin-top:-50vmax;background:var(--f7-page-bg-color);z-index:100}.router-transition-f7-circle-backward .page,.router-transition-f7-circle-forward .page{pointer-events:none}.router-transition-f7-circle-forward:after{transform:scale(0);border-radius:50%;animation:f7-circle-circle-in .4s forwards}.ios .router-transition-f7-circle-forward .page-next,.md .router-transition-f7-circle-forward .page-next{opacity:0;transform:scale(.9);animation:f7-circle-next-to-current .3s forwards;animation-delay:.3s;z-index:150}.router-transition-f7-circle-backward:after{animation:f7-circle-circle-out .3s forwards;animation-delay:350ms}.ios .router-transition-f7-circle-backward .page-current,.md .router-transition-f7-circle-backward .page-current{animation:f7-circle-current-to-next .7s forwards;z-index:150}@keyframes f7-circle-circle-in{from{transform:scale(0);border-radius:50%}50%{border-radius:50%}to{transform:scale(1);border-radius:0%}}@keyframes f7-circle-circle-out{from{transform:scale(1);border-radius:0%}50%{border-radius:50%}to{transform:scale(0);border-radius:50%}}@keyframes f7-circle-next-to-current{from{transform:scale(.9);opacity:0}40%{transform:scale(1.035);opacity:1}to{transform:scale(1);opacity:1}}@keyframes f7-circle-current-to-next{from{transform:scale(1);opacity:1}34%{transform:scale(1.035);opacity:1}57%{transform:scale(.9);opacity:0}to{transform:scale(.9);opacity:0}}.router-transition-f7-cover-v-backward,.router-transition-f7-cover-v-forward{background:#000;perspective:1200px}.router-transition-f7-cover-v-backward .page,.router-transition-f7-cover-v-forward .page{pointer-events:none}.router-transition-f7-cover-v-forward .page-next{animation:f7-cover-v-next-to-current var(--f7-page-cover-transition-duration) forwards}.router-transition-f7-cover-v-forward .page-current{animation:f7-cover-v-current-to-prev var(--f7-page-cover-transition-duration) forwards}.router-transition-f7-cover-v-backward .page-current{animation:f7-cover-v-current-to-next var(--f7-page-cover-transition-duration) forwards}.router-transition-f7-cover-v-backward .page-previous{animation:f7-cover-v-prev-to-current var(--f7-page-cover-transition-duration) forwards}@keyframes f7-cover-v-next-to-current{from{transform:translateY(100%)}to{transform:translateY(0%)}}@keyframes f7-cover-v-current-to-next{from{transform:translateY(0%)}to{transform:translateY(100%)}}@keyframes f7-cover-v-current-to-prev{from{transform:translateZ(0);opacity:1}to{transform:translateZ(-300px);opacity:.5}}@keyframes f7-cover-v-prev-to-current{from{transform:translateZ(-300px);opacity:.5}to{transform:translateZ(0);opacity:1}}.router-transition-f7-cover-backward,.router-transition-f7-cover-forward{background:#000;perspective:1200px}.router-transition-f7-cover-backward .page,.router-transition-f7-cover-forward .page{pointer-events:none}.router-transition-f7-cover-forward .page-next{animation:f7-cover-next-to-current var(--f7-page-cover-transition-duration) forwards}.router-transition-f7-cover-forward .page-current{animation:f7-cover-current-to-prev var(--f7-page-cover-transition-duration) forwards}.router-transition-f7-cover-backward .page-current{animation:f7-cover-current-to-next var(--f7-page-cover-transition-duration) forwards}.router-transition-f7-cover-backward .page-previous{animation:f7-cover-prev-to-current var(--f7-page-cover-transition-duration) forwards}@keyframes f7-cover-next-to-current{from{transform:translateX(100%)}to{transform:translateX(0%)}}@keyframes f7-cover-current-to-next{from{transform:translateX(0%)}to{transform:translateX(100%)}}@keyframes f7-cover-current-to-prev{from{transform:translateZ(0);opacity:1}to{transform:translateZ(-300px);opacity:.5}}@keyframes f7-cover-prev-to-current{from{transform:translateZ(-300px);opacity:.5}to{transform:translateZ(0);opacity:1}}.router-transition-f7-dive-backward,.router-transition-f7-dive-forward{background:var(--f7-page-bg-color);perspective:1200px}.router-transition-f7-dive-backward .page,.router-transition-f7-dive-forward .page{pointer-events:none}.router-transition-f7-dive-forward .page-next{animation:f7-dive-next-to-current var(--f7-page-dive-transition-duration) forwards}.router-transition-f7-dive-forward .page-current{animation:f7-dive-current-to-prev var(--f7-page-dive-transition-duration) forwards}.router-transition-f7-dive-backward .page-current{animation:f7-dive-current-to-next var(--f7-page-dive-transition-duration) forwards}.router-transition-f7-dive-backward .page-previous{animation:f7-dive-prev-to-current var(--f7-page-dive-transition-duration) forwards}@keyframes f7-dive-next-to-current{from{opacity:0;transform:translateZ(-150px)}50%{opacity:0}to{opacity:1;transform:translateZ(0px)}}@keyframes f7-dive-current-to-next{from{opacity:1;transform:translateZ(0px)}50%{opacity:0}to{opacity:0;transform:translateZ(-150px)}}@keyframes f7-dive-current-to-prev{from{transform:translateZ(0px);opacity:1}50%{opacity:0}to{opacity:0;transform:translateZ(150px)}}@keyframes f7-dive-prev-to-current{from{opacity:0;transform:translateZ(150px)}50%{opacity:0}to{opacity:1;transform:translateZ(0px)}}.router-transition-f7-fade-backward,.router-transition-f7-fade-forward{background:var(--f7-page-bg-color)}.router-transition-f7-fade-backward .page,.router-transition-f7-fade-forward .page{pointer-events:none}.ios .router-transition-f7-fade-forward .page-next,.md .router-transition-f7-fade-forward .page-next{opacity:0;animation:f7-fade-in var(--f7-page-fade-transition-duration) forwards}.ios .router-transition-f7-fade-forward .page-current,.md .router-transition-f7-fade-forward .page-current{animation:f7-fade-out var(--f7-page-fade-transition-duration) forwards}.ios .router-transition-f7-fade-backward .page-current,.md .router-transition-f7-fade-backward .page-current{animation:f7-fade-out var(--f7-page-fade-transition-duration) forwards}.ios .router-transition-f7-fade-backward .page-previous,.md .router-transition-f7-fade-backward .page-previous{animation:f7-fade-in var(--f7-page-fade-transition-duration) forwards}@keyframes f7-fade-in{from{opacity:0}50%{opacity:0}to{opacity:1}}@keyframes f7-fade-out{from{opacity:1}50%{opacity:0}to{opacity:0}}.router-transition-f7-flip-backward,.router-transition-f7-flip-forward{background:#000;perspective:1200px}.router-transition-f7-flip-backward .page,.router-transition-f7-flip-forward .page{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;pointer-events:none}.router-transition-f7-flip-forward .page-next{transform-style:preserve-3d;animation:f7-flip-next-to-current var(--f7-page-flip-transition-duration) forwards}.router-transition-f7-flip-forward .page-current{transform-style:preserve-3d;animation:f7-flip-current-to-prev var(--f7-page-flip-transition-duration) forwards}.router-transition-f7-flip-backward .page-current{transform-style:preserve-3d;animation:f7-flip-current-to-next var(--f7-page-flip-transition-duration) forwards}.router-transition-f7-flip-backward .page-previous{transform-style:preserve-3d;animation:f7-flip-prev-to-current var(--f7-page-flip-transition-duration) forwards}@keyframes f7-flip-next-to-current{from{border-radius:32px;transform:translateZ(-100vmax) rotateY(180deg)}to{border-radius:0;transform:translateZ(0px) rotateY(0deg)}}@keyframes f7-flip-current-to-next{from{border-radius:0px;transform:translateZ(0px) rotateY(0deg)}to{border-radius:32px;transform:translateZ(-100vmax) rotateY(180deg)}}@keyframes f7-flip-current-to-prev{from{border-radius:0px;transform:translateZ(0px) rotateY(0deg)}to{border-radius:32px;transform:translateZ(-100vmax) rotateY(-180deg)}}@keyframes f7-flip-prev-to-current{from{border-radius:32px;transform:translateZ(-100vmax) rotateY(-180deg)}to{border-radius:0px;transform:translateZ(0px) rotateY(0deg)}}.router-transition-f7-parallax-forward .page{pointer-events:none}.router-transition-f7-parallax-forward .page-next{animation:f7-parallax-next-to-current var(--f7-page-parallax-transition-duration) forwards}.router-transition-f7-parallax-forward .page-current{animation:f7-parallax-current-to-prev var(--f7-page-parallax-transition-duration) forwards}.router-transition-f7-parallax-backward .page{pointer-events:none}.router-transition-f7-parallax-backward .page-current{animation:f7-parallax-current-to-next var(--f7-page-parallax-transition-duration) forwards}.router-transition-f7-parallax-backward .page-previous{animation:f7-parallax-prev-to-current var(--f7-page-parallax-transition-duration) forwards}@keyframes f7-parallax-next-to-current{from{transform:translateX(100%)}to{transform:translateX(0%)}}@keyframes f7-parallax-current-to-next{from{transform:translateX(0%)}to{transform:translateX(100%)}}@keyframes f7-parallax-current-to-prev{from{transform:translateX(0%)}to{transform:translateX(-20%)}}@keyframes f7-parallax-prev-to-current{from{transform:translateX(-20%)}to{transform:translateX(0%)}}.router-transition-f7-push-forward .page{pointer-events:none}.router-transition-f7-push-forward .page-next{animation:f7-push-next-to-current var(--f7-page-push-transition-duration) forwards}.router-transition-f7-push-forward .page-current{animation:f7-push-current-to-prev var(--f7-page-push-transition-duration) forwards}.router-transition-f7-push-backward .page{pointer-events:none}.router-transition-f7-push-backward .page-current{animation:f7-push-current-to-next var(--f7-page-push-transition-duration) forwards}.router-transition-f7-push-backward .page-previous{animation:f7-push-prev-to-current var(--f7-page-push-transition-duration) forwards}@keyframes f7-push-next-to-current{from{transform:translateX(100%)}to{transform:translateX(0%)}}@keyframes f7-push-current-to-next{from{transform:translateX(0%)}to{transform:translateX(100%)}}@keyframes f7-push-current-to-prev{from{transform:translateX(0%)}to{transform:translateX(-100%)}}@keyframes f7-push-prev-to-current{from{transform:translateX(-100%)}to{transform:translateX(0%)}}:root{--f7-link-highlight-black:rgba(0, 0, 0, 0.1);--f7-link-highlight-white:rgba(255, 255, 255, 0.15);--f7-link-highlight-color:rgba(var(--f7-theme-color-rgb), 0.15)}.ios{--f7-link-pressed-opacity:0.3}.link,.tab-link{display:inline-flex;align-items:center;align-content:center;justify-content:center;position:relative;box-sizing:border-box;z-index:1;--f7-touch-ripple-color:var(--f7-link-touch-ripple-color, rgba(var(--f7-theme-color-rgb), 0.25))}.link i+i,.link i+span,.link span+i,.link span+span{margin-left:4px}.link[class*=color-]{color:var(--f7-theme-color)}.ios .link{transition:opacity .3s}.ios .link.active-state{opacity:var(--f7-link-pressed-opacity);transition-duration:0s}:root{--f7-navbar-hide-show-transition-duration:400ms;--f7-navbar-title-line-height:1.2;--f7-navbar-subtitle-text-align:inherit;--f7-navbar-large-title-line-height:1.2;--f7-navbar-large-title-text-color:inherit;--f7-navbar-large-title-padding-left:16px;--f7-navbar-large-title-padding-right:16px}.ios{--f7-navbar-height:44px;--f7-navbar-font-size:17px;--f7-navbar-title-font-size:inherit;--f7-navbar-inner-padding-left:8px;--f7-navbar-inner-padding-right:8px;--f7-navbar-title-font-weight:600;--f7-navbar-title-margin-left:0;--f7-navbar-title-margin-right:0;--f7-navbar-title-text-align:center;--f7-navbar-subtitle-font-size:10px;--f7-navbar-subtitle-line-height:1;--f7-navbar-large-title-height:52px;--f7-navbar-large-title-font-size:34px;--f7-navbar-large-title-font-weight:700;--f7-navbar-large-title-letter-spacing:-0.03em;--f7-navbar-large-title-padding-vertical:6px;--f7-navbar-subtitle-text-color:rgba(0, 0, 0, 0.55)}.ios .dark,.ios.dark{--f7-navbar-subtitle-text-color:rgba(255, 255, 255, 0.55)}.md{--f7-navbar-height:64px;--f7-navbar-font-size:16px;--f7-navbar-title-font-size:22px;--f7-navbar-inner-padding-left:0px;--f7-navbar-inner-padding-right:0px;--f7-navbar-title-font-weight:400;--f7-navbar-title-margin-left:0px;--f7-navbar-title-margin-right:16px;--f7-navbar-title-text-align:left;--f7-navbar-subtitle-font-size:14px;--f7-navbar-subtitle-line-height:1.2;--f7-navbar-large-title-font-size:28px;--f7-navbar-large-title-height:88px;--f7-navbar-large-title-font-weight:400;--f7-navbar-large-title-letter-spacing:0;--f7-navbar-large-title-padding-vertical:8px;--f7-navbar-link-height:48px;--f7-navbar-link-line-height:48px}.md,.md .dark,.md [class*=color-]{--f7-navbar-link-color:var(--f7-md-on-surface);--f7-navbar-text-color:var(--f7-md-on-surface);--f7-navbar-subtitle-text-color:var(--f7-md-on-surface-variant)}.navbar,.navbars{z-index:500;left:0;top:0;width:100%}.navbars{position:absolute}.navbars .navbar{z-index:auto}.navbars .navbar-transitioning{z-index:500}.navbar{--f7-navbar-large-collapse-progress:0;position:relative;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;margin:0;height:calc(var(--f7-navbar-height) + var(--f7-safe-area-top));color:var(--f7-navbar-text-color,var(--f7-bars-text-color));font-size:var(--f7-navbar-font-size)}.navbar b{font-weight:500}.navbar a{color:var(--f7-navbar-link-color,var(--f7-bars-link-color,var(--f7-theme-color)))}.navbar a.link{display:flex;justify-content:flex-start;line-height:var(--f7-navbar-link-line-height, var(--f7-navbar-height));height:var(--f7-navbar-link-height,var(--f7-navbar-height))}.navbar .left,.navbar .right,.navbar .title{position:relative;z-index:10}.navbar .title{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:10;font-weight:var(--f7-navbar-title-font-weight);display:inline-block;line-height:var(--f7-navbar-title-line-height);text-align:var(--f7-navbar-title-text-align);font-size:var(--f7-navbar-title-font-size);margin-left:var(--f7-navbar-title-margin-left);margin-right:var(--f7-navbar-title-margin-left)}.navbar .subtitle{display:block;color:var(--f7-navbar-subtitle-text-color);font-weight:400;font-size:var(--f7-navbar-subtitle-font-size);line-height:var(--f7-navbar-subtitle-line-height);text-align:var(--f7-navbar-subtitle-text-align)}.navbar .left,.navbar .right{flex-shrink:0;display:flex;justify-content:flex-start;align-items:center}.navbar .right:first-child{position:absolute;height:100%}.navbar .no-outline .navbar-bg:after,.navbar.no-outline .navbar-bg:after{display:none!important}.navbar .no-outline .title-large:after,.navbar.no-outline .title-large:after{display:none!important}.navbar-hidden .navbar .navbar-bg:before,.navbar.navbar-hidden .navbar-bg:before{opacity:0!important}.navbar-bg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:0;background:var(--f7-navbar-bg-color);background-color:var(--f7-navbar-bg-color,var(--f7-bars-bg-color));transition-property:transform}@supports ((-webkit-backdrop-filter:blur(20px)) or (backdrop-filter:blur(20px))){.ios-translucent-bars .navbar-bg{background-color:rgba(var(--f7-navbar-bg-color-rgb,var(--f7-bars-bg-color-rgb)),var(--f7-bars-translucent-opacity));-webkit-backdrop-filter:saturate(180%) blur(var(--f7-bars-translucent-blur));backdrop-filter:saturate(180%) blur(var(--f7-bars-translucent-blur))}}.navbar-bg:after,.navbar-bg:before{-webkit-backface-visibility:hidden;backface-visibility:hidden}.navbar-bg:after{content:'';position:absolute;background-color:var(--f7-navbar-border-color,var(--f7-bars-border-color));display:block;z-index:15;top:auto;right:auto;bottom:0;left:0;height:1px;width:100%;transform-origin:50% 100%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.navbar-bg:after{z-index:1}.navbar-transitioning,.navbar-transitioning .left,.navbar-transitioning .navbar-bg,.navbar-transitioning .navbar-bg:before,.navbar-transitioning .right,.navbar-transitioning .subnavbar,.navbar-transitioning .title,.navbar-transitioning .title-large-text{transition-duration:var(--f7-navbar-hide-show-transition-duration)}.navbar-page-transitioning{transition-duration:var(--f7-page-swipeback-transition-duration)!important}.navbar-page-transitioning .navbar-bg,.navbar-page-transitioning .title-large-text{transition-duration:var(--f7-page-swipeback-transition-duration)!important}.navbar-hidden{transform:translate3d(0,calc(-1 * var(--f7-navbar-height)),0)}.navbar-hidden .navbar-inner{pointer-events:none}.navbar-hidden .navbar-inner>.left,.navbar-hidden .navbar-inner>.right,.navbar-hidden .navbar-inner>.title{opacity:0!important}.navbar-hidden .subnavbar{pointer-events:auto}.navbar-hidden-statusbar{transform:translate3d(0,calc(-1 * var(--f7-navbar-height) - var(--f7-safe-area-top)),0)}.navbar-large-hidden .navbar-large{--f7-navbar-large-collapse-progress:1}.navbar-inner{position:absolute;left:0;bottom:0;width:100%;height:100%;display:flex;align-items:center;box-sizing:border-box;padding:var(--f7-safe-area-top) calc(var(--f7-navbar-inner-padding-right) + var(--f7-safe-area-right)) 0 calc(var(--f7-navbar-inner-padding-left) + var(--f7-safe-area-left));transform:translate3d(0,0,0);z-index:10}.navbars>.navbar,.page>.navbar,.view>.navbar,.views>.navbar{position:absolute}.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
package/less/plugin.js ADDED
@@ -0,0 +1,15 @@
1
+ const fs = require('fs');
2
+ function base64Encode(file) {
3
+ // read binary data
4
+ const bitmap = fs.readFileSync(file);
5
+ // convert binary data to base64 encoded string
6
+ return Buffer.from(bitmap).toString('base64');
7
+ }
8
+ module.exports = {
9
+ install(less, pluginManager, functions) {
10
+ functions.add('framework7_coreIconsFont', () => {
11
+ const iconsFontBase64 = base64Encode('./src/core/icons/font/framework7-core-icons.woff');
12
+ return iconsFontBase64;
13
+ });
14
+ }
15
+ };
@@ -61,7 +61,7 @@ function initClicks(app) {
61
61
  view = $(clickedLinkData.view)[0].f7View;
62
62
  } else {
63
63
  view = $clickedEl.parents('.view')[0] && $clickedEl.parents('.view')[0].f7View;
64
- if (!$clickedLinkEl.hasClass('back') && view && view.params.linksView) {
64
+ if (view && view.params.linksView && (!$clickedLinkEl.hasClass('back') || $clickedLinkEl.hasClass('back') && view.router.history.length === 1)) {
65
65
  if (typeof view.params.linksView === 'string') view = $(view.params.linksView)[0].f7View;else if (view.params.linksView instanceof ViewClass) view = view.params.linksView;
66
66
  }
67
67
  }
@@ -16,31 +16,65 @@ export default {
16
16
  const params = {
17
17
  ...options
18
18
  };
19
+ const component = (props, ctx) => {
20
+ const {
21
+ $h,
22
+ $onMounted,
23
+ $el,
24
+ $f7
25
+ } = ctx;
26
+ $onMounted(() => {
27
+ const viewEl = $el.value.find('.view');
28
+ const view = $f7.view.create(viewEl, {
29
+ linksView: router.view.selector,
30
+ ignoreOpenIn: true,
31
+ loadInitialPage: false
32
+ });
33
+ view.router.navigate(url, {
34
+ props: options.props,
35
+ reloadAll: true
36
+ });
37
+ });
38
+ // eslint-disable-next-line
39
+ return () => {
40
+ if (options.openIn === 'popup') {
41
+ return $h`<div class="popup popup-router-open-in" data-url="${url}"><div class="view"></div></div>`;
42
+ }
43
+ if (options.openIn === 'loginScreen') {
44
+ return $h`<div class="login-screen login-screen-router-open-in" data-url="${url}"><div class="view"></div></div>`;
45
+ }
46
+ if (options.openIn === 'sheet') {
47
+ return $h`<div class="sheet-modal sheet-modal-router-open-in" data-url="${url}"><div class="sheet-modal-inner"><div class="view"></div></div></div>`;
48
+ }
49
+ if (options.openIn === 'popover') {
50
+ return $h`<div class="popover popover-router-open-in" data-url="${url}"><div class="popover-inner"><div class="view"></div></div></div>`;
51
+ }
52
+ if (options.openIn.indexOf('panel') >= 0) {
53
+ const parts = options.openIn.split(':');
54
+ const side = parts[1] || 'left';
55
+ const effect = parts[2] || 'cover';
56
+ return $h`<div class="panel panel-router-open-in panel-${side} panel-${effect}" data-url="${url}"><div class="view"></div></div>`;
57
+ }
58
+ };
59
+ };
19
60
  if (options.openIn === 'popup') {
20
- params.content = `<div class="popup popup-router-open-in" data-url="${url}"><div class="view view-init" data-links-view="${router.view.selector}" data-url="${url}" data-ignore-open-in="true"></div></div>`;
21
61
  navigateOptions.route.popup = params;
22
62
  }
23
63
  if (options.openIn === 'loginScreen') {
24
- params.content = `<div class="login-screen login-screen-router-open-in" data-url="${url}"><div class="view view-init" data-links-view="${router.view.selector}" data-url="${url}" data-ignore-open-in="true"></div></div>`;
25
64
  navigateOptions.route.loginScreen = params;
26
65
  }
27
66
  if (options.openIn === 'sheet') {
28
- params.content = `<div class="sheet-modal sheet-modal-router-open-in" data-url="${url}"><div class="sheet-modal-inner"><div class="view view-init" data-links-view="${router.view.selector}" data-url="${url}" data-ignore-open-in="true"></div></div></div>`;
29
67
  navigateOptions.route.sheet = params;
30
68
  }
31
69
  if (options.openIn === 'popover') {
32
70
  params.targetEl = options.clickedEl || options.targetEl;
33
- params.content = `<div class="popover popover-router-open-in" data-url="${url}"><div class="popover-inner"><div class="view view-init" data-links-view="${router.view.selector}" data-url="${url}" data-ignore-open-in="true"></div></div></div>`;
34
71
  navigateOptions.route.popover = params;
35
72
  }
36
73
  if (options.openIn.indexOf('panel') >= 0) {
37
- const parts = options.openIn.split(':');
38
- const side = parts[1] || 'left';
39
- const effect = parts[2] || 'cover';
40
74
  params.targetEl = options.clickedEl || options.targetEl;
41
- params.content = `<div class="panel panel-router-open-in panel-${side} panel-${effect}" data-url="${url}"><div class="view view-init" data-links-view="${router.view.selector}" data-url="${url}" data-ignore-open-in="true"></div></div>`;
42
75
  navigateOptions.route.panel = params;
43
76
  }
77
+ params.component = component;
44
78
  return router.navigate(navigateOptions);
45
79
  },
46
80
  componentLoader(component, componentUrl, options, resolve, reject) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "framework7",
3
- "version": "8.2.0",
3
+ "version": "8.3.0",
4
4
  "description": "Full featured mobile HTML framework for building iOS & Android apps",
5
5
  "type": "module",
6
6
  "exports": {
@@ -434,7 +434,7 @@
434
434
  "path-to-regexp": "^6.2.0",
435
435
  "skeleton-elements": "^4.0.1",
436
436
  "ssr-window": "^4.0.2",
437
- "swiper": "^10.0.3"
437
+ "swiper": "^10.2.0"
438
438
  },
439
- "releaseDate": "July 6, 2023"
439
+ "releaseDate": "August 18, 2023"
440
440
  }