framework7 8.3.4 → 9.0.0-beta.1

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 (307) hide show
  1. package/components/actions/actions-ios.less +22 -15
  2. package/components/actions/actions-rtl.css +1 -1
  3. package/components/actions/actions-vars.less +4 -7
  4. package/components/actions/actions.css +1 -1
  5. package/components/actions/actions.js +2 -8
  6. package/components/actions/actions.less +0 -3
  7. package/components/app/app-class.d.ts +2 -0
  8. package/components/app/app-class.js +19 -15
  9. package/components/app/app-vars.less +41 -6
  10. package/components/app/app.less +1 -1
  11. package/components/area-chart/area-chart-class.js +18 -31
  12. package/components/area-chart/area-chart-rtl.css +1 -1
  13. package/components/area-chart/area-chart.css +1 -1
  14. package/components/autocomplete/autocomplete-class.js +13 -14
  15. package/components/autocomplete/autocomplete-ios.less +16 -0
  16. package/components/autocomplete/autocomplete-rtl.css +1 -1
  17. package/components/autocomplete/autocomplete.css +1 -1
  18. package/components/autocomplete/autocomplete.d.ts +3 -3
  19. package/components/autocomplete/autocomplete.js +3 -3
  20. package/components/autocomplete/autocomplete.less +7 -1
  21. package/components/block/block-vars.less +6 -6
  22. package/components/breadcrumbs/breadcrumbs-rtl.css +1 -1
  23. package/components/breadcrumbs/breadcrumbs.css +1 -1
  24. package/components/button/button-vars.less +13 -12
  25. package/components/button/button.less +2 -1
  26. package/components/calendar/calendar-class.js +20 -17
  27. package/components/calendar/calendar-ios.less +43 -0
  28. package/components/calendar/calendar-md.less +3 -0
  29. package/components/calendar/calendar-rtl.css +1 -1
  30. package/components/calendar/calendar-vars.less +24 -19
  31. package/components/calendar/calendar.css +1 -1
  32. package/components/calendar/calendar.d.ts +1 -1
  33. package/components/calendar/calendar.js +5 -8
  34. package/components/calendar/calendar.less +4 -2
  35. package/components/card/card-rtl.css +1 -1
  36. package/components/card/card-vars.less +5 -5
  37. package/components/card/card.css +1 -1
  38. package/components/card/card.js +3 -18
  39. package/components/card/card.less +1 -1
  40. package/components/color-picker/color-picker-class.js +11 -23
  41. package/components/color-picker/color-picker-ios.less +9 -0
  42. package/components/color-picker/color-picker-md.less +15 -0
  43. package/components/color-picker/color-picker-rtl.css +1 -1
  44. package/components/color-picker/color-picker-vars.less +9 -3
  45. package/components/color-picker/color-picker.css +1 -1
  46. package/components/color-picker/color-picker.d.ts +1 -2
  47. package/components/color-picker/color-picker.js +3 -7
  48. package/components/color-picker/color-picker.less +5 -25
  49. package/components/color-picker/modules/alpha-slider.js +2 -0
  50. package/components/color-picker/modules/brightness-slider.js +2 -0
  51. package/components/color-picker/modules/hs-spectrum.js +1 -2
  52. package/components/color-picker/modules/hsb-sliders.js +6 -0
  53. package/components/color-picker/modules/hue-slider.js +2 -0
  54. package/components/color-picker/modules/rgb-bars.js +6 -0
  55. package/components/color-picker/modules/rgb-sliders.js +6 -0
  56. package/components/color-picker/modules/sb-spectrum.js +1 -2
  57. package/components/color-picker/modules/wheel.js +1 -2
  58. package/components/data-table/data-table-class.js +1 -4
  59. package/components/data-table/data-table-ios.less +1 -1
  60. package/components/data-table/data-table-md.less +4 -2
  61. package/components/data-table/data-table-rtl.css +1 -1
  62. package/components/data-table/data-table.css +1 -1
  63. package/components/data-table/data-table.less +4 -4
  64. package/components/dialog/dialog-class.js +6 -3
  65. package/components/dialog/dialog-ios.less +10 -34
  66. package/components/dialog/dialog-md.less +2 -22
  67. package/components/dialog/dialog-rtl.css +1 -1
  68. package/components/dialog/dialog-vars.less +8 -10
  69. package/components/dialog/dialog.css +1 -1
  70. package/components/dialog/dialog.js +9 -27
  71. package/components/dialog/dialog.less +6 -25
  72. package/components/fab/fab-ios.less +2 -0
  73. package/components/fab/fab-rtl.css +1 -1
  74. package/components/fab/fab-vars.less +30 -6
  75. package/components/fab/fab.css +1 -1
  76. package/components/fab/fab.js +3 -12
  77. package/components/gauge/gauge-class.js +2 -8
  78. package/components/icon/icon-ios.less +10 -0
  79. package/components/icon/icon-md.less +9 -0
  80. package/components/icon/icon.less +2 -1
  81. package/components/input/input-ios.less +3 -2
  82. package/components/input/input-rtl.css +1 -1
  83. package/components/input/input.css +1 -1
  84. package/components/input/input.js +2 -5
  85. package/components/list/list-vars.less +7 -5
  86. package/components/list/list.less +1 -1
  87. package/components/list-index/list-index-class.js +3 -7
  88. package/components/login-screen/login-screen.js +2 -8
  89. package/components/login-screen/login-screen.less +1 -0
  90. package/components/messagebar/messagebar-class.js +5 -20
  91. package/components/messagebar/messagebar-ios.less +19 -14
  92. package/components/messagebar/messagebar-md.less +3 -0
  93. package/components/messagebar/messagebar-rtl.css +1 -1
  94. package/components/messagebar/messagebar-vars.less +12 -15
  95. package/components/messagebar/messagebar.css +1 -1
  96. package/components/messagebar/messagebar.less +4 -5
  97. package/components/messages/messages-class.js +25 -52
  98. package/components/messages/messages-ios.less +6 -2
  99. package/components/messages/messages-rtl.css +1 -1
  100. package/components/messages/messages-vars.less +1 -1
  101. package/components/messages/messages.css +1 -1
  102. package/components/navbar/navbar-ios.less +48 -672
  103. package/components/navbar/navbar-md.less +41 -1
  104. package/components/navbar/navbar-vars.less +4 -3
  105. package/components/navbar/navbar.js +28 -185
  106. package/components/navbar/navbar.less +8 -66
  107. package/components/notification/notification-class.js +6 -6
  108. package/components/notification/notification-ios.less +3 -8
  109. package/components/notification/notification-md.less +1 -20
  110. package/components/notification/notification-rtl.css +1 -1
  111. package/components/notification/notification-vars.less +13 -16
  112. package/components/notification/notification.css +1 -1
  113. package/components/notification/notification.less +8 -1
  114. package/components/page/page-ios.less +1 -8
  115. package/components/page/page-md.less +12 -11
  116. package/components/page/page.less +14 -12
  117. package/components/panel/panel-class.js +7 -28
  118. package/components/panel/panel-ios.less +4 -0
  119. package/components/panel/panel-rtl.css +2 -2
  120. package/components/panel/panel-vars.less +8 -5
  121. package/components/panel/panel.css +2 -2
  122. package/components/panel/panel.js +8 -32
  123. package/components/panel/panel.less +9 -9
  124. package/components/panel/resizable-panel.js +2 -4
  125. package/components/photo-browser/photo-browser-class.js +12 -47
  126. package/components/photo-browser/photo-browser-rtl.css +1 -1
  127. package/components/photo-browser/photo-browser-vars.less +8 -10
  128. package/components/photo-browser/photo-browser.css +1 -1
  129. package/components/photo-browser/photo-browser.d.ts +2 -4
  130. package/components/photo-browser/photo-browser.js +1 -3
  131. package/components/photo-browser/photo-browser.less +15 -71
  132. package/components/picker/picker-class.js +4 -5
  133. package/components/picker/picker-ios.less +6 -1
  134. package/components/picker/picker-md.less +9 -0
  135. package/components/picker/picker-rtl.css +1 -1
  136. package/components/picker/picker-vars.less +1 -1
  137. package/components/picker/picker.css +1 -1
  138. package/components/picker/picker.d.ts +1 -1
  139. package/components/picker/picker.js +2 -5
  140. package/components/picker/picker.less +0 -4
  141. package/components/pie-chart/pie-chart-class.js +7 -14
  142. package/components/popover/popover-class.js +22 -62
  143. package/components/popover/popover-ios.less +66 -2
  144. package/components/popover/popover-md.less +2 -27
  145. package/components/popover/popover-rtl.css +1 -1
  146. package/components/popover/popover-vars.less +2 -3
  147. package/components/popover/popover.css +1 -1
  148. package/components/popover/popover.d.ts +0 -2
  149. package/components/popover/popover.js +2 -9
  150. package/components/popover/popover.less +28 -50
  151. package/components/popup/popup-class.js +15 -9
  152. package/components/popup/popup-rtl.css +1 -1
  153. package/components/popup/popup-vars.less +2 -2
  154. package/components/popup/popup.css +1 -1
  155. package/components/popup/popup.js +2 -8
  156. package/components/popup/popup.less +6 -6
  157. package/components/preloader/preloader.js +2 -8
  158. package/components/progressbar/progressbar-md.less +12 -0
  159. package/components/progressbar/progressbar-rtl.css +1 -1
  160. package/components/progressbar/progressbar-vars.less +6 -5
  161. package/components/progressbar/progressbar.css +1 -1
  162. package/components/progressbar/progressbar.js +3 -12
  163. package/components/progressbar/progressbar.less +6 -0
  164. package/components/pull-to-refresh/pull-to-refresh-class.js +5 -12
  165. package/components/range/range-class.js +34 -27
  166. package/components/range/range-ios.less +60 -0
  167. package/components/range/range-md.less +67 -4
  168. package/components/range/range-rtl.css +1 -1
  169. package/components/range/range-vars.less +18 -13
  170. package/components/range/range.css +1 -1
  171. package/components/range/range.d.ts +3 -1
  172. package/components/range/range.js +2 -8
  173. package/components/range/range.less +11 -24
  174. package/components/searchbar/searchbar-class.js +7 -8
  175. package/components/searchbar/searchbar-ios.less +37 -13
  176. package/components/searchbar/searchbar-md.less +5 -0
  177. package/components/searchbar/searchbar-rtl.css +1 -1
  178. package/components/searchbar/searchbar-vars.less +13 -16
  179. package/components/searchbar/searchbar.css +1 -1
  180. package/components/searchbar/searchbar.js +4 -32
  181. package/components/searchbar/searchbar.less +4 -5
  182. package/components/sheet/sheet-class.js +21 -17
  183. package/components/sheet/sheet-ios.less +10 -0
  184. package/components/sheet/sheet-md.less +14 -0
  185. package/components/sheet/sheet-rtl.css +1 -1
  186. package/components/sheet/sheet-vars.less +5 -9
  187. package/components/sheet/sheet.css +1 -1
  188. package/components/sheet/sheet.js +2 -8
  189. package/components/sheet/sheet.less +5 -17
  190. package/components/skeleton/skeleton-rtl.css +1 -1
  191. package/components/skeleton/skeleton.css +1 -1
  192. package/components/smart-select/smart-select-class.js +15 -20
  193. package/components/smart-select/smart-select.d.ts +5 -7
  194. package/components/smart-select/smart-select.js +4 -4
  195. package/components/sortable/sortable.js +8 -27
  196. package/components/statusbar/statusbar.js +1 -4
  197. package/components/stepper/stepper-rtl.css +1 -1
  198. package/components/stepper/stepper-vars.less +3 -3
  199. package/components/stepper/stepper.css +1 -1
  200. package/components/stepper/stepper.js +2 -8
  201. package/components/subnavbar/subnavbar-ios.less +16 -1
  202. package/components/subnavbar/subnavbar-md.less +1 -1
  203. package/components/subnavbar/subnavbar-vars.less +12 -6
  204. package/components/subnavbar/subnavbar.less +5 -6
  205. package/components/swipeout/swipeout-ios.less +37 -0
  206. package/components/swipeout/swipeout-md.less +56 -0
  207. package/components/swipeout/swipeout-rtl.css +1 -1
  208. package/components/swipeout/swipeout-vars.less +13 -2
  209. package/components/swipeout/swipeout.css +1 -1
  210. package/components/swipeout/swipeout.js +102 -35
  211. package/components/swipeout/swipeout.less +20 -44
  212. package/components/swiper/swiper-rtl.css +1 -1
  213. package/components/swiper/swiper.css +1 -1
  214. package/components/tabs/tabs.js +3 -9
  215. package/components/text-editor/text-editor-class.js +1 -1
  216. package/components/text-editor/text-editor-rtl.css +1 -1
  217. package/components/text-editor/text-editor.css +1 -1
  218. package/components/timeline/timeline-ios.less +0 -5
  219. package/components/timeline/timeline-md.less +0 -5
  220. package/components/timeline/timeline-rtl.css +1 -1
  221. package/components/timeline/timeline-vars.less +1 -17
  222. package/components/timeline/timeline.css +1 -1
  223. package/components/timeline/timeline.less +0 -196
  224. package/components/toast/toast-class.js +2 -2
  225. package/components/toast/toast-ios.less +2 -0
  226. package/components/toast/toast-rtl.css +1 -1
  227. package/components/toast/toast-vars.less +2 -4
  228. package/components/toast/toast.css +1 -1
  229. package/components/toast/toast.less +1 -1
  230. package/components/toggle/toggle-class.js +5 -12
  231. package/components/toggle/toggle-ios.less +68 -50
  232. package/components/toggle/toggle-rtl.css +1 -1
  233. package/components/toggle/toggle-vars.less +2 -2
  234. package/components/toggle/toggle.css +1 -1
  235. package/components/toolbar/tabbar-highlight.js +134 -0
  236. package/components/toolbar/toolbar-ios.less +152 -14
  237. package/components/toolbar/toolbar-md.less +77 -3
  238. package/components/toolbar/toolbar-vars.less +14 -10
  239. package/components/toolbar/toolbar.js +32 -13
  240. package/components/toolbar/toolbar.less +8 -56
  241. package/components/tooltip/tooltip-class.js +13 -16
  242. package/components/tooltip/tooltip.js +0 -16
  243. package/components/touch-highlight/touch-highlight-ios.less +17 -0
  244. package/components/touch-highlight/touch-highlight-md.less +2 -0
  245. package/components/touch-highlight/touch-highlight-vars.less +8 -0
  246. package/components/touch-highlight/touch-highlight.d.ts +25 -0
  247. package/components/touch-highlight/touch-highlight.js +123 -0
  248. package/components/touch-highlight/touch-highlight.less +9 -0
  249. package/components/touch-ripple/touch-ripple.js +1 -4
  250. package/components/view/resizable-view.js +2 -4
  251. package/components/view/view-class.js +1 -15
  252. package/components/view/view.d.ts +0 -4
  253. package/components/view/view.js +1 -5
  254. package/components/virtual-list/virtual-list-class.js +2 -8
  255. package/framework7-bundle-rtl.css +2284 -3019
  256. package/framework7-bundle-rtl.min.css +9 -7
  257. package/framework7-bundle.css +2245 -2978
  258. package/framework7-bundle.esm.js +5 -4
  259. package/framework7-bundle.js +7170 -6469
  260. package/framework7-bundle.js.map +1 -1
  261. package/framework7-bundle.less +4 -3
  262. package/framework7-bundle.min.css +9 -7
  263. package/framework7-bundle.min.js +4 -4
  264. package/framework7-bundle.min.js.map +1 -1
  265. package/framework7-lite-bundle.esm.js +5 -4
  266. package/framework7-lite.esm.js +5 -4
  267. package/framework7-rtl.css +509 -844
  268. package/framework7-rtl.min.css +8 -6
  269. package/framework7-types.d.ts +5 -1
  270. package/framework7.css +509 -843
  271. package/framework7.d.ts +4 -0
  272. package/framework7.esm.js +5 -4
  273. package/framework7.less +4 -3
  274. package/framework7.min.css +8 -6
  275. package/less/mixins.less +10 -12
  276. package/modules/component/$h.js +1 -4
  277. package/modules/component/$jsx.js +1 -4
  278. package/modules/component/component-class.js +49 -114
  279. package/modules/component/component.js +6 -7
  280. package/modules/component/eventslisteners.js +1 -4
  281. package/modules/component/snabbdom/modules/hero.js +0 -1
  282. package/modules/component/snabbdom/modules/style.js +1 -1
  283. package/modules/component/vdom.js +17 -29
  284. package/modules/router/back.js +22 -96
  285. package/modules/router/clear-previous-history.js +1 -7
  286. package/modules/router/component-loader.js +23 -32
  287. package/modules/router/modal.js +1 -4
  288. package/modules/router/navigate.js +28 -167
  289. package/modules/router/redirect.js +1 -5
  290. package/modules/router/router-class.js +21 -288
  291. package/modules/router/swipe-back.js +10 -318
  292. package/modules/router/tab.js +1 -4
  293. package/modules/store/create-store.js +2 -8
  294. package/modules/touch/touch.d.ts +5 -3
  295. package/modules/touch/touch.js +22 -36
  296. package/package.json +4 -4
  297. package/shared/$jsx.js +1 -4
  298. package/shared/class.js +5 -26
  299. package/shared/constructor-methods.js +4 -19
  300. package/shared/events-class.js +3 -12
  301. package/shared/get-device.js +4 -11
  302. package/shared/get-support.d.ts +0 -6
  303. package/shared/get-support.js +1 -20
  304. package/shared/material-color-utils.js +2102 -693
  305. package/shared/material-colors.js +94 -23
  306. package/shared/modal-methods.js +2 -8
  307. package/shared/utils.js +23 -45
@@ -5,7 +5,12 @@
5
5
  .title-large {
6
6
  align-items: flex-end;
7
7
  }
8
- a.icon-only {
8
+
9
+ a.link {
10
+ height: 100%;
11
+ padding: 0 12px;
12
+ }
13
+ a:is(.icon-only, :has(i:only-child), :has(svg:only-child)) {
9
14
  width: 44px;
10
15
  margin: 0;
11
16
  justify-content: center;
@@ -49,8 +54,45 @@
49
54
  });
50
55
  }
51
56
  }
57
+ .navbar-bg {
58
+ height: 100%;
59
+ &::before {
60
+ content: '';
61
+ position: absolute;
62
+ inset: 0;
63
+ backdrop-filter: blur(2px);
64
+ mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
65
+ }
66
+ &::after {
67
+ content: '';
68
+ position: absolute;
69
+ inset: 0;
70
+ background-image: linear-gradient(
71
+ to bottom,
72
+ var(--f7-navbar-bg-color, var(--f7-bars-bg-color)) 0%,
73
+ transparent 100%
74
+ );
75
+ }
76
+ }
52
77
  .navbar-inner {
53
78
  justify-content: space-between;
79
+ padding-top: calc(16px + var(--f7-safe-area-top));
80
+ padding-bottom: 16px;
81
+ }
82
+ .navbar {
83
+ .left,
84
+ .right,
85
+ .navbar-pane {
86
+ height: 100%;
87
+ .ios-glass();
88
+ border-radius: 64px;
89
+ min-width: 44px;
90
+ }
91
+ }
92
+ .navbar-pane {
93
+ display: flex;
94
+ align-items: center;
95
+ justify-content: center;
54
96
  }
55
97
  .navbar-inner-left-title {
56
98
  justify-content: flex-start;
@@ -72,684 +114,18 @@
72
114
  });
73
115
  }
74
116
  }
75
-
76
- // Positions
77
- .view-master-detail .navbar-previous:not(.navbar-master),
78
- .view:not(.view-master-detail) .navbar-previous,
79
- .navbar-next {
80
- .left,
81
- .title,
82
- .right,
83
- .subnavbar,
84
- .fading {
85
- opacity: 0;
86
- }
87
- }
88
-
89
- .view-master-detail .navbar-previous:not(.navbar-master),
90
- .view:not(.view-master-detail) .navbar-previous {
91
- pointer-events: none;
92
- .title-large {
93
- opacity: 0;
94
- transition-duration: 0ms;
95
- .title-large-text {
96
- transform: scale(0.5);
97
- transition-duration: 0ms;
98
- }
99
- }
100
- .subnavbar.sliding,
101
- .sliding .subnavbar {
102
- opacity: 1;
103
- .ltr({
104
- transform: translate3d(-100%, 0, 0);
105
- });
106
- .rtl({
107
- transform: translate3d(100%, 0, 0);
108
- });
109
- }
110
- }
111
- .view:not(.view-master-detail) .navbar-previous,
112
- .view-master-detail .navbar-previous:not(.navbar-master) {
113
- .navbar-bg {
114
- .ltr({
115
- transform: translateX(-100%);
116
- });
117
- .rtl({
118
- transform: translateX(-100%);
119
- });
120
- }
121
- }
122
- .navbar-next {
123
- pointer-events: none;
124
- .navbar-bg {
125
- .ltr({
126
- transform: translateX(100%);
127
- });
128
- .rtl({
129
- transform: translateX(-100%);
130
- });
131
- }
132
- .title-large {
133
- .title-large-text {
134
- transition-duration: 0ms;
135
- .ltr({
136
- transform: translateX(100%) translateY(calc(-1 * var(--f7-navbar-large-title-height)));
137
- });
138
- .rtl({
139
- transform: translateX(-100%) translateY(calc(-1 * var(--f7-navbar-large-title-height)));
140
- });
141
- }
142
- }
143
- .subnavbar.sliding,
144
- .sliding .subnavbar {
145
- opacity: 1;
146
- .ltr({
147
- transform: translate3d(100%, 0, 0);
148
- });
149
- .rtl({
150
- transform: translate3d(-100%, 0, 0);
151
- });
152
- }
153
- }
154
-
155
- // Animations
156
- .router-transition {
157
- .navbar,
158
- .navbar-bg {
159
- transition-duration: var(--f7-page-transition-duration);
160
- }
161
- .navbar-bg {
162
- animation-duration: var(--f7-page-transition-duration);
163
- animation-fill-mode: forwards;
164
- }
165
- .title-large,
166
- .title-large-text {
167
- transition-duration: 0ms;
168
- }
169
- .navbar-current {
170
- .left,
171
- .title,
172
- .right,
173
- .subnavbar {
174
- animation: ios-navbar-element-fade-out var(--f7-page-transition-duration) forwards;
175
- }
176
- .sliding.left,
177
- .sliding.left .icon + span,
178
- .sliding.title,
179
- .sliding.right,
180
- .sliding .left,
181
- .sliding .left .icon + span,
182
- .sliding .title,
183
- .sliding .right {
184
- transition-duration: var(--f7-page-transition-duration);
185
- opacity: 0 !important;
186
- animation: none;
187
- }
188
- .sliding .subnavbar,
189
- .sliding.subnavbar {
190
- transition-duration: var(--f7-page-transition-duration);
191
- animation: none;
192
- opacity: 1;
193
- }
194
- }
195
- }
196
- .router-transition-forward .navbar-next,
197
- .router-transition-backward .navbar-previous {
198
- .left,
199
- .title,
200
- .right,
201
- .subnavbar {
202
- animation: ios-navbar-element-fade-in var(--f7-page-transition-duration) forwards;
203
- }
204
- .sliding.left,
205
- .sliding.left .icon + span,
206
- .sliding.title,
207
- .sliding.right,
208
- .sliding .left,
209
- .sliding .left .icon + span,
210
- .sliding .title,
211
- .sliding .right,
212
- .sliding .subnavbar {
213
- transition-duration: var(--f7-page-transition-duration);
214
- animation: none;
215
- transform: translate3d(0, 0, 0) !important;
216
- opacity: 1 !important;
217
- }
218
- }
219
- .router-transition-forward
220
- .navbar-next.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible),
221
- .router-transition-backward
222
- .navbar-previous.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible) {
117
+ // Transparent navbar
118
+ .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
119
+ .with-searchbar-expandable-enabled
120
+ ) {
223
121
  .title {
224
- animation: none;
225
- }
226
- .sliding.title,
227
- .sliding .title {
228
- opacity: 0 !important;
229
- }
230
- }
231
- .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled-no-transition,
232
- .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled {
233
- .left,
234
- .title,
235
- .right,
236
- .subnavbar {
237
- animation: none;
238
- }
239
- }
240
- .router-transition-forward {
241
- // CURRENT
242
- .navbar-current.router-navbar-transition-from-large.router-navbar-transition-to-large,
243
- .navbar-current.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) {
244
- .title-large {
245
- overflow: visible;
246
- .title-large-text {
247
- animation:
248
- ios-navbar-large-title-text-slide-up var(--f7-page-transition-duration) forwards,
249
- ios-navbar-large-title-text-fade-out var(--f7-page-transition-duration) forwards;
250
- }
251
- }
252
- }
253
-
254
- // NEXT
255
- .navbar-next.router-navbar-transition-from-large {
256
- .left .back span {
257
- animation: ios-navbar-back-text-next-to-current var(--f7-page-transition-duration) forwards;
258
- transition: none;
259
- .ltr({
260
- transform-origin: left center;
261
- });
262
- .rtl({
263
- transform-origin: right center;
264
- });
265
- }
266
- }
267
- .navbar-next.router-navbar-transition-from-large.router-navbar-transition-to-large {
268
- .title-large {
269
- overflow: visible;
270
- .title-large-text {
271
- animation: ios-navbar-large-title-text-slide-left var(--f7-page-transition-duration)
272
- forwards;
273
- }
274
- }
275
- }
276
- .navbar-next.router-navbar-transition-to-large:not(.router-navbar-transition-from-large) {
277
- .title-large {
278
- .title-large-text {
279
- animation: ios-navbar-large-title-text-slide-left var(--f7-page-transition-duration)
280
- forwards;
281
- }
282
- }
283
- }
284
- .navbar-next.navbar-large:not(.navbar-large-collapsed),
285
- .navbar-current.navbar-large:not(.navbar-large-collapsed) {
286
- .title {
287
- animation: none;
288
- opacity: 0 !important;
289
- transition-duration: 0;
290
- }
291
- }
292
- }
293
-
294
- .router-transition-backward {
295
- .navbar-current.router-navbar-transition-to-large .left .back span {
296
- animation: ios-navbar-back-text-current-to-previous var(--f7-page-transition-duration)
297
- forwards;
298
- transition: none;
299
- .ltr({
300
- transform-origin: left center;
301
- });
302
- .rtl({
303
- transform-origin: right center;
304
- });
305
- }
306
- .navbar-current.router-navbar-transition-from-large.router-navbar-transition-to-large {
307
- .title-large {
308
- overflow: visible;
309
- .title-large-text {
310
- animation: ios-navbar-large-title-text-slide-right var(--f7-page-transition-duration)
311
- forwards;
312
- }
313
- }
314
- }
315
- .navbar-current.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) {
316
- .title-large {
317
- .title-large-text {
318
- animation: ios-navbar-large-title-text-slide-right var(--f7-page-transition-duration)
319
- forwards;
320
- }
321
- }
322
- }
323
- .navbar-current.router-navbar-transition-to-large:not(.router-navbar-transition-from-large) {
324
- .title-large {
325
- opacity: 0;
326
- }
327
- }
328
- .navbar-previous.router-navbar-transition-from-large.router-navbar-transition-to-large,
329
- .navbar-previous.router-navbar-transition-to-large:not(.router-navbar-transition-from-large) {
330
- .title-large {
331
- overflow: visible;
332
- opacity: 1;
333
- .title-large-text {
334
- animation:
335
- ios-navbar-large-title-text-slide-down var(--f7-page-transition-duration) forwards,
336
- ios-navbar-large-title-text-fade-in var(--f7-page-transition-duration) forwards;
337
- }
338
- }
339
- }
340
-
341
- .navbar-current.navbar-large:not(.navbar-large-collapsed),
342
- .navbar-previous.navbar-large:not(.navbar-large-collapsed) {
343
- .title {
344
- animation: none;
345
- opacity: 0 !important;
346
- transition-duration: 0;
347
- }
348
- }
349
- }
350
- --f7-navbar-large-bg-center-top: translateX(0)
351
- translateY(calc(-1 * var(--f7-navbar-large-title-height)));
352
- --f7-navbar-large-bg-center-bottom: translateX(0) translateY(0);
353
- .ltr({
354
- --f7-navbar-large-bg-left-top: translateX(-100%) translateY(calc(-1 * var(--f7-navbar-large-title-height)));
355
- --f7-navbar-large-bg-left-bottom: translateX(-100%) translateY(0);
356
- --f7-navbar-large-bg-right-top: translateX(100%) translateY(calc(-1 * var(--f7-navbar-large-title-height)));
357
- --f7-navbar-large-bg-right-bottom: translateX(100%) translateY(0);
358
- });
359
- .rtl({
360
- --f7-navbar-large-bg-left-top: translateX(100%) translateY(calc(-1 * var(--f7-navbar-large-title-height)));
361
- --f7-navbar-large-bg-left-bottom: translateX(100%) translateY(0);
362
- --f7-navbar-large-bg-right-top: translateX(-100%) translateY(calc(-1 * var(--f7-navbar-large-title-height)));
363
- --f7-navbar-large-bg-right-bottom: translateX(-100%) translateY(0);
364
- });
365
-
366
- .router-transition-forward {
367
- .navbar-current {
368
- .navbar-bg {
369
- animation-name: ios-navbar-bg-from-cb-to-lb;
370
- }
371
- &.router-navbar-transition-from-large.router-navbar-transition-to-large .navbar-bg {
372
- animation-name: ios-navbar-bg-from-cb-to-lb;
373
- }
374
- &.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .navbar-bg {
375
- animation-name: ios-navbar-bg-from-cb-to-lt;
376
- }
377
- &:not(.router-navbar-transition-from-large).router-navbar-transition-to-large .navbar-bg {
378
- animation-name: ios-navbar-bg-from-ct-to-lb;
379
- }
380
- &.navbar-large-collapsed:not(.router-navbar-transition-to-large) .navbar-bg {
381
- animation-name: ios-navbar-bg-from-ct-to-lt;
382
- }
383
- }
384
- .navbar-next {
385
- .navbar-bg {
386
- animation-name: ios-navbar-bg-from-rb-to-cb;
387
- }
388
- &.router-navbar-transition-from-large.router-navbar-transition-to-large .navbar-bg {
389
- animation-name: ios-navbar-bg-from-rb-to-cb;
390
- }
391
- &.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .navbar-bg {
392
- animation-name: ios-navbar-bg-from-rb-to-ct;
393
- }
394
- &:not(.router-navbar-transition-from-large).router-navbar-transition-to-large .navbar-bg {
395
- animation-name: ios-navbar-bg-from-rt-to-cb;
396
- }
397
- }
398
- }
399
- .router-transition-backward {
400
- .navbar-current {
401
- .navbar-bg {
402
- animation-name: ios-navbar-bg-from-cb-to-rb;
403
- }
404
- &:not(.router-navbar-transition-from-large).router-navbar-transition-to-large .navbar-bg {
405
- animation-name: ios-navbar-bg-from-ct-to-rb;
406
- }
407
- &.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .navbar-bg {
408
- animation-name: ios-navbar-bg-from-cb-to-rt;
409
- }
410
- &.navbar-large-collapsed .navbar-bg {
411
- animation-name: ios-navbar-bg-from-ct-to-rt;
412
- }
413
- &.navbar-large-collapsed.router-navbar-transition-to-large .navbar-bg {
414
- animation-name: ios-navbar-bg-from-ct-to-rb;
415
- }
416
- }
417
- .navbar-previous {
418
- .navbar-bg {
419
- animation-name: ios-navbar-bg-from-lb-to-cb;
420
- }
421
- &:not(.router-navbar-transition-from-large).router-navbar-transition-to-large .navbar-bg {
422
- animation-name: ios-navbar-bg-from-lt-to-cb;
423
- }
424
- &.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .navbar-bg {
425
- animation-name: ios-navbar-bg-from-lb-to-ct;
426
- }
427
- &.navbar-large-collapsed .navbar-bg {
428
- animation-name: ios-navbar-bg-from-lt-to-ct;
429
- }
122
+ opacity: 0;
430
123
  }
431
124
  }
432
125
  }
433
126
 
434
127
  .view-master-detail {
435
- .navbars {
436
- z-index: auto;
437
- }
438
128
  .page-master {
439
129
  z-index: 525;
440
130
  }
441
- .navbar-master {
442
- .navbar-inner,
443
- .navbar-bg {
444
- z-index: 550;
445
- }
446
- }
447
- .navbar-master-detail {
448
- .navbar-inner,
449
- .navbar-bg {
450
- z-index: 500;
451
- }
452
- }
453
- .navbar-master.navbar-previous {
454
- pointer-events: auto;
455
- .left,
456
- &:not(.navbar-large) .title,
457
- .right,
458
- .subnavbar {
459
- opacity: 1;
460
- }
461
- }
462
-
463
- &.router-transition .navbar-master {
464
- .left,
465
- .left .icon + span,
466
- &:not(.navbar-large) .title,
467
- .right,
468
- .subnavbar,
469
- .fading {
470
- opacity: 1 !important;
471
- transition-duration: 0ms;
472
- transform: none !important;
473
- animation: none !important;
474
- }
475
- .navbar-bg {
476
- transition-duration: 0ms;
477
- animation: none !important;
478
- }
479
- &.navbar-large {
480
- .title {
481
- opacity: calc(-1 + 2 * var(--f7-navbar-large-collapse-progress)) !important;
482
- transition-duration: 0ms;
483
- transform: none !important;
484
- animation: none !important;
485
- }
486
- .title-large,
487
- .title-large-text {
488
- transition-duration: 0ms;
489
- animation: none !important;
490
- }
491
- }
492
- &.navbar-large-transparent,
493
- &.navbar-large.navbar-transparent {
494
- .navbar-bg {
495
- height: 100% !important;
496
- opacity: var(--f7-navbar-large-collapse-progress) !important;
497
- }
498
- }
499
- }
500
- }
501
- @keyframes ios-navbar-element-fade-in {
502
- 0% {
503
- opacity: 0;
504
- }
505
- 25% {
506
- opacity: 0;
507
- }
508
- to {
509
- opacity: 1;
510
- }
511
- }
512
- @keyframes ios-navbar-element-fade-out {
513
- from {
514
- opacity: 1;
515
- }
516
- 75% {
517
- opacity: 0;
518
- }
519
- to {
520
- opacity: 0;
521
- }
522
- }
523
-
524
- @keyframes ios-navbar-large-title-text-slide-up {
525
- 0% {
526
- transform: translateX(0px) translateY(0%) scale(1);
527
- }
528
- 100% {
529
- .ltr({
530
- transform: translateX(calc(var(--f7-navbarLeftTextOffset) - var(--f7-navbarTitleLargeOffset))) translateY(calc(-1 * var(--f7-navbar-large-title-height) + var(--f7-navbar-large-title-padding-vertical))) scale(0.5);
531
- });
532
- .rtl({
533
- transform: translateX(calc(-1 * (var(--f7-navbarLeftTextOffset) - var(--f7-navbarTitleLargeOffset)))) translateY(calc(-1 * var(--f7-navbar-large-title-height) + var(--f7-navbar-large-title-padding-vertical))) scale(0.5);
534
- });
535
- }
536
- }
537
- @keyframes ios-navbar-large-title-text-slide-down {
538
- 0% {
539
- .ltr({
540
- transform: translateX(calc(var(--f7-navbarLeftTextOffset) - var(--f7-navbarTitleLargeOffset))) translateY(calc(-1 * var(--f7-navbar-large-title-height) + var(--f7-navbar-large-title-padding-vertical) / 2)) scale(0.5);
541
- });
542
- .rtl({
543
- transform: translateX(calc(-1 * (var(--f7-navbarLeftTextOffset) - var(--f7-navbarTitleLargeOffset)))) translateY(calc(-1 * var(--f7-navbar-large-title-height) + var(--f7-navbar-large-title-padding-vertical) / 2)) scale(0.5);
544
- });
545
- }
546
- 100% {
547
- transform: translateX(0px) translateY(0%) scale(1);
548
- }
549
- }
550
- @keyframes ios-navbar-large-title-text-slide-left {
551
- 0% {
552
- .ltr({
553
- transform: translateX(100%);
554
- });
555
- .rtl({
556
- transform: translateX(-100%);
557
- });
558
- }
559
- 100% {
560
- transform: translateX(0%);
561
- }
562
- }
563
- @keyframes ios-navbar-large-title-text-slide-right {
564
- 0% {
565
- transform: translateX(0%);
566
- }
567
- 100% {
568
- .ltr({
569
- transform: translateX(100%);
570
- });
571
- .rtl({
572
- transform: translateX(-100%);
573
- });
574
- }
575
- }
576
-
577
- @keyframes ios-navbar-large-title-text-fade-out {
578
- 0% {
579
- opacity: 1;
580
- }
581
- 80% {
582
- opacity: 0;
583
- }
584
- 100% {
585
- opacity: 0;
586
- }
587
- }
588
- @keyframes ios-navbar-large-title-text-fade-in {
589
- 0% {
590
- opacity: 0;
591
- }
592
- 20% {
593
- opacity: 0;
594
- }
595
- 100% {
596
- opacity: 1;
597
- }
598
- }
599
- @keyframes ios-navbar-back-text-current-to-previous {
600
- 0% {
601
- opacity: 1;
602
- transform: translateY(0px) translateX(0px) scale(1);
603
- }
604
- 80% {
605
- opacity: 0;
606
- }
607
- 100% {
608
- opacity: 0;
609
- .ltr({
610
- transform: translateX(calc(var(--f7-navbarTitleLargeOffset) - var(--f7-navbarLeftTextOffset))) translateY(calc(1 * var(--f7-navbar-large-title-height) - var(--f7-navbar-large-title-padding-vertical) / 2)) scale(2);
611
- });
612
- .rtl({
613
- transform: translateX(calc(-1 * (var(--f7-navbarTitleLargeOffset) - var(--f7-navbarLeftTextOffset)))) translateY(calc(1 * var(--f7-navbar-large-title-height) - var(--f7-navbar-large-title-padding-vertical) / 2)) scale(2);
614
- });
615
- }
616
- }
617
- @keyframes ios-navbar-back-text-next-to-current {
618
- 0% {
619
- opacity: 0;
620
- .ltr({
621
- transform: translateX(calc(var(--f7-navbarTitleLargeOffset) - var(--f7-navbarLeftTextOffset))) translateY(calc(1 * var(--f7-navbar-large-title-height) + var(--f7-navbar-large-title-padding-vertical) / 2)) scale(2);
622
- });
623
- .rtl({
624
- transform: translateX(calc(-1 * (var(--f7-navbarTitleLargeOffset) - var(--f7-navbarLeftTextOffset)))) translateY(calc(1 * var(--f7-navbar-large-title-height) + var(--f7-navbar-large-title-padding-vertical) / 2)) scale(2);
625
- });
626
- }
627
- 20% {
628
- opacity: 0;
629
- }
630
- 100% {
631
- opacity: 1;
632
- transform: translateX(0px) translateY(0px) scale(1);
633
- }
634
- }
635
-
636
- @keyframes ios-navbar-bg-from-cb-to-lb {
637
- from {
638
- transform: var(--f7-navbar-large-bg-center-bottom);
639
- }
640
- to {
641
- transform: var(--f7-navbar-large-bg-left-bottom);
642
- }
643
- }
644
- @keyframes ios-navbar-bg-from-cb-to-lt {
645
- from {
646
- transform: var(--f7-navbar-large-bg-center-bottom);
647
- }
648
- to {
649
- transform: var(--f7-navbar-large-bg-left-top);
650
- }
651
- }
652
- @keyframes ios-navbar-bg-from-ct-to-lb {
653
- from {
654
- transform: var(--f7-navbar-large-bg-center-top);
655
- }
656
- to {
657
- transform: var(--f7-navbar-large-bg-left-bottom);
658
- }
659
- }
660
- @keyframes ios-navbar-bg-from-ct-to-lt {
661
- from {
662
- transform: var(--f7-navbar-large-bg-center-top);
663
- }
664
- to {
665
- transform: var(--f7-navbar-large-bg-left-top);
666
- }
667
- }
668
- @keyframes ios-navbar-bg-from-rb-to-cb {
669
- from {
670
- transform: var(--f7-navbar-large-bg-right-bottom);
671
- }
672
- to {
673
- transform: var(--f7-navbar-large-bg-center-bottom);
674
- }
675
- }
676
- @keyframes ios-navbar-bg-from-rb-to-ct {
677
- from {
678
- transform: var(--f7-navbar-large-bg-right-bottom);
679
- }
680
- to {
681
- transform: var(--f7-navbar-large-bg-center-top);
682
- }
683
- }
684
- @keyframes ios-navbar-bg-from-rt-to-cb {
685
- from {
686
- transform: var(--f7-navbar-large-bg-right-top);
687
- }
688
- to {
689
- transform: var(--f7-navbar-large-bg-center-bottom);
690
- }
691
- }
692
- @keyframes ios-navbar-bg-from-cb-to-rb {
693
- from {
694
- transform: var(--f7-navbar-large-bg-center-bottom);
695
- }
696
- to {
697
- transform: var(--f7-navbar-large-bg-right-bottom);
698
- }
699
- }
700
- @keyframes ios-navbar-bg-from-ct-to-rb {
701
- from {
702
- transform: var(--f7-navbar-large-bg-center-top);
703
- }
704
- to {
705
- transform: var(--f7-navbar-large-bg-right-bottom);
706
- }
707
- }
708
- @keyframes ios-navbar-bg-from-cb-to-rt {
709
- from {
710
- transform: var(--f7-navbar-large-bg-center-bottom);
711
- }
712
- to {
713
- transform: var(--f7-navbar-large-bg-right-top);
714
- }
715
- }
716
- @keyframes ios-navbar-bg-from-ct-to-rt {
717
- from {
718
- transform: var(--f7-navbar-large-bg-center-top);
719
- }
720
- to {
721
- transform: var(--f7-navbar-large-bg-right-top);
722
- }
723
- }
724
- @keyframes ios-navbar-bg-from-lb-to-cb {
725
- from {
726
- transform: var(--f7-navbar-large-bg-left-bottom);
727
- }
728
- to {
729
- transform: var(--f7-navbar-large-bg-center-bottom);
730
- }
731
- }
732
- @keyframes ios-navbar-bg-from-lt-to-cb {
733
- from {
734
- transform: var(--f7-navbar-large-bg-left-top);
735
- }
736
- to {
737
- transform: var(--f7-navbar-large-bg-center-bottom);
738
- }
739
- }
740
- @keyframes ios-navbar-bg-from-lb-to-ct {
741
- from {
742
- transform: var(--f7-navbar-large-bg-left-bottom);
743
- }
744
- to {
745
- transform: var(--f7-navbar-large-bg-center-top);
746
- }
747
- }
748
- @keyframes ios-navbar-bg-from-lt-to-ct {
749
- from {
750
- transform: var(--f7-navbar-large-bg-left-top);
751
- }
752
- to {
753
- transform: var(--f7-navbar-large-bg-center-top);
754
- }
755
131
  }