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
package/framework7.css CHANGED
@@ -1,13 +1,13 @@
1
1
  /**
2
- * Framework7 8.3.4
2
+ * Framework7 9.0.0-beta.1
3
3
  * Full featured mobile HTML framework for building iOS & Android apps
4
4
  * https://framework7.io/
5
5
  *
6
- * Copyright 2014-2024 Vladimir Kharlampidi
6
+ * Copyright 2014-2025 Vladimir Kharlampidi
7
7
  *
8
8
  * Released under the MIT License
9
9
  *
10
- * Released on: September 18, 2024
10
+ * Released on: November 10, 2025
11
11
  */
12
12
 
13
13
  /*====================
@@ -62,12 +62,12 @@
62
62
  --f7-safe-area-outer-right: 0px;
63
63
  }
64
64
  }
65
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
65
+ @media (min-resolution: 2dppx) {
66
66
  :root {
67
67
  --f7-device-pixel-ratio: 2;
68
68
  }
69
69
  }
70
- @media (-webkit-min-device-pixel-ratio: 3), (min-resolution: 3dppx) {
70
+ @media (min-resolution: 3dppx) {
71
71
  :root {
72
72
  --f7-device-pixel-ratio: 3;
73
73
  }
@@ -83,22 +83,25 @@
83
83
  .ios {
84
84
  --f7-font-family: -apple-system, SF Pro Text, SF UI Text, system-ui, Helvetica Neue, Helvetica, Arial, sans-serif;
85
85
  --f7-line-height: 1.4;
86
+ --f7-bars-border-color: transparent;
86
87
  /*
87
88
  --f7-bars-link-color: var(--f7-theme-color);
88
89
  */
90
+ --f7-glass-bg-color: rgba(255, 255, 255, 0.75);
91
+ --f7-glass-shadow: inset -1px -1px 0px -0.5px #ffffff, inset 1px 1px 0px -0.5px #ffffff, inset 3px 3px 10px -3px #ddd, inset -3px -3px 10px -3px #ddd, inset 0 0 5px 1px #fff, inset 0 0 0 0.5px rgba(0, 0, 0, 0.25), inset 0 0 24px 0 rgba(0, 0, 0, 0.1), 0 0 25px 0 rgba(0, 0, 0, 0.2);
92
+ --f7-glass-shadow-thumb: inset -3px -3px 0px -3.5px #ffffff, inset 3px 3px 0px -3.5px #ffffff, inset 0px 0px 0px 0.5px rgba(255, 255, 255, 0.5), inset 3px 3px 10px -2px #eee, inset -3px -3px 10px -2px #eee, inset 0 0 5px 1px #fff;
89
93
  --f7-bars-text-color: #000;
90
94
  --f7-text-color: #000;
91
- --f7-bars-bg-color: #f7f7f8;
92
- --f7-bars-bg-color-rgb: 247, 247, 248;
93
- --f7-bars-border-color: rgba(0, 0, 0, 0.25);
95
+ --f7-bars-bg-color: #efeff4;
94
96
  }
95
97
  .ios .dark,
96
98
  .ios.dark {
99
+ --f7-glass-bg-color: rgba(50, 50, 50, 0.5);
100
+ --f7-glass-shadow: inset -2px -2px 0.5px -2.5px rgba(255, 255, 255, 0.4), inset 3px 3px 0.5px -3.5px rgba(255, 255, 255, 0.4), inset 2px 2px 0.5px -2px #262626, inset -2px -2px 0.5px -2px #262626, inset 0 0 5px 1px #141414, inset 0 0 0 1px rgba(255, 255, 255, 0.15), inset 0 0 10px 0 rgba(255, 255, 255, 0.075), inset 0 0 24px 0 rgba(255, 255, 255, 0.05), 0 0 25px 0 rgba(0, 0, 0, 0.15);
101
+ --f7-glass-shadow-thumb: inset 3px 3px 0px -3.5px #ffffff, inset -3px -3px 0px -3.5px #ffffff, inset -0.5px -0.5px 0px rgba(255, 255, 255, 0.5), inset 0.5px 0.5px 0px rgba(255, 255, 255, 0.1), inset -3px 3px 0px -3.5px rgba(255, 255, 255, 0.25), inset 0px -5px 0px -3.5px rgba(255, 255, 255, 0.25), inset 0px -5px 5px rgba(255, 255, 255, 0.25);
97
102
  --f7-bars-text-color: #fff;
98
103
  --f7-text-color: #fff;
99
- --f7-bars-bg-color: #121212;
100
- --f7-bars-bg-color-rgb: 22, 22, 22;
101
- --f7-bars-border-color: rgba(255, 255, 255, 0.16);
104
+ --f7-bars-bg-color: rgba(0, 0, 0, 0.5);
102
105
  }
103
106
  .md {
104
107
  --f7-font-family: Roboto, system-ui, Noto, Helvetica, Arial, sans-serif;
@@ -134,7 +137,7 @@
134
137
  }
135
138
  @font-face {
136
139
  font-family: 'framework7-core-icons';
137
- src: url('data:application/font-woff;charset=utf-8;base64, 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') format('woff');
140
+ src: url('data:application/font-woff;charset=utf-8;base64, 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') format('woff');
138
141
  font-weight: 400;
139
142
  font-style: normal;
140
143
  }
@@ -166,8 +169,7 @@ body {
166
169
  scrollbar-color: transparent;
167
170
  }
168
171
  body::-webkit-scrollbar {
169
- -webkit-appearance: none;
170
- appearance: none;
172
+ appearance: none;
171
173
  width: 0px;
172
174
  display: none;
173
175
  opacity: 0;
@@ -369,6 +371,9 @@ html.device-full-viewport body {
369
371
  background-color: var(--f7-page-bg-color);
370
372
  z-index: 1;
371
373
  }
374
+ .page-transparent {
375
+ background-color: transparent;
376
+ }
372
377
  .page-with-navbar-large-collapsed {
373
378
  --f7-navbar-large-collapse-progress: 1;
374
379
  }
@@ -385,6 +390,12 @@ html.device-full-viewport body {
385
390
  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));
386
391
  padding-bottom: calc(var(--f7-page-toolbar-bottom-offset, 0px) + var(--f7-safe-area-bottom) + var(--f7-page-content-extra-padding-bottom, 0px));
387
392
  }
393
+ .page-previous .page-opacity-effect {
394
+ opacity: 1;
395
+ }
396
+ .page-previous:after {
397
+ opacity: 1;
398
+ }
388
399
  .page-transitioning,
389
400
  .page-transitioning .page-shadow-effect,
390
401
  .page-transitioning .page-opacity-effect {
@@ -429,12 +440,6 @@ html.device-full-viewport body {
429
440
  .ios .page-next {
430
441
  transform: translate3d(100%, 0, 0);
431
442
  }
432
- .ios .page-previous .page-opacity-effect {
433
- opacity: 1;
434
- }
435
- .ios .page-previous:after {
436
- opacity: 1;
437
- }
438
443
  .ios .page-current .page-shadow-effect {
439
444
  opacity: 1;
440
445
  }
@@ -547,11 +552,11 @@ html.device-full-viewport body {
547
552
  }
548
553
  }
549
554
  .md .page-previous {
550
- transform: translate3d(0, -20px, 0);
555
+ transform: translate3d(-24px, 0px, 0);
551
556
  }
552
557
  .md .page-next {
553
558
  pointer-events: none;
554
- transform: translate3d(0, 128px, 0);
559
+ transform: translate3d(128px, 0px, 0);
555
560
  opacity: 0;
556
561
  }
557
562
  .md .page-next.page-next-on-right {
@@ -566,17 +571,17 @@ html.device-full-viewport body {
566
571
  animation: md-page-current-to-previous var(--f7-page-transition-duration) forwards cubic-bezier(0, 0.8, 0.3, 1);
567
572
  }
568
573
  .md .router-transition-backward .page-current {
569
- animation: md-page-current-to-next calc(var(--f7-page-transition-duration) / 4) forwards cubic-bezier(0.8, 0, 1, 0.3), md-page-current-to-next-opacity 0ms calc(var(--f7-page-transition-duration) / 4) forwards;
574
+ animation: md-page-current-to-next calc(var(--f7-page-transition-duration) / 2) forwards cubic-bezier(0, 1, 0.8, 1), md-page-current-to-next-opacity calc(var(--f7-page-transition-duration) / 2) forwards;
570
575
  }
571
576
  .md .router-transition-backward .page-previous {
572
- animation: md-page-previous-to-current var(--f7-page-transition-duration) forwards;
577
+ animation: md-page-previous-to-current calc(var(--f7-page-transition-duration) / 2) forwards cubic-bezier(0, 1, 0.8, 1);
573
578
  }
574
579
  @keyframes md-page-next-to-current {
575
580
  from {
576
- transform: translate3d(0, 128px, 0);
581
+ transform: translate3d(128px, 0px, 0);
577
582
  }
578
583
  to {
579
- transform: translate3d(0, 0px, 0);
584
+ transform: translate3d(0px, 0px, 0);
580
585
  }
581
586
  }
582
587
  @keyframes md-page-current-to-next {
@@ -584,7 +589,7 @@ html.device-full-viewport body {
584
589
  transform: translate3d(0, 0, 0);
585
590
  }
586
591
  to {
587
- transform: translate3d(0, 128px, 0);
592
+ transform: translate3d(128px, 0px, 0);
588
593
  }
589
594
  }
590
595
  @keyframes md-page-current-to-next-opacity {
@@ -600,12 +605,12 @@ html.device-full-viewport body {
600
605
  transform: translate3d(0, 0, 0);
601
606
  }
602
607
  to {
603
- transform: translate3d(0, -20px, 0);
608
+ transform: translate3d(-24px, 0px, 0);
604
609
  }
605
610
  }
606
611
  @keyframes md-page-previous-to-current {
607
612
  from {
608
- transform: translate3d(0, -20px, 0);
613
+ transform: translate3d(-24px, 0px, 0);
609
614
  }
610
615
  to {
611
616
  transform: translate3d(0, 0px, 0);
@@ -614,28 +619,18 @@ html.device-full-viewport body {
614
619
  .view:not(.view-master-detail) .page-master-stacked {
615
620
  display: none;
616
621
  }
617
- .view:not(.view-master-detail) .navbar-master-stacked {
618
- display: none;
619
- }
620
- .view-master-detail .page-master,
621
- .view-master-detail .navbar-master {
622
+ .view-master-detail .page-master {
622
623
  width: var(--f7-page-master-width);
623
624
  --f7-safe-area-right: 0px;
624
625
  --f7-safe-area-outer-right: 0px;
625
626
  border-right: var(--f7-page-master-border-width) solid var(--f7-page-master-border-color);
626
627
  }
627
- .view-master-detail .page-master-detail,
628
- .view-master-detail .navbar-master-detail {
628
+ .view-master-detail .page-master-detail {
629
629
  width: calc(100% - var(--f7-page-master-width));
630
630
  --f7-safe-area-left: 0px;
631
631
  --f7-safe-area-outer-left: 0px;
632
632
  left: var(--f7-page-master-width);
633
633
  }
634
- .view-master-detail .page-master-detail > .navbar-master-detail {
635
- left: 0;
636
- right: 0;
637
- width: 100%;
638
- }
639
634
  .view-master-detail .page-master {
640
635
  z-index: 2;
641
636
  transform: none;
@@ -1015,8 +1010,7 @@ html.device-full-viewport body {
1015
1010
  }
1016
1011
  .router-transition-f7-flip-forward .page,
1017
1012
  .router-transition-f7-flip-backward .page {
1018
- -webkit-backface-visibility: hidden;
1019
- backface-visibility: hidden;
1013
+ backface-visibility: hidden;
1020
1014
  overflow: hidden;
1021
1015
  pointer-events: none;
1022
1016
  }
@@ -1232,11 +1226,12 @@ html.device-full-viewport body {
1232
1226
  --f7-navbar-link-color: var(--f7-bars-link-color);
1233
1227
  --f7-navbar-text-color: var(--f7-bars-text-color);
1234
1228
  */
1235
- --f7-navbar-height: 44px;
1229
+ --f7-navbar-link-color: var(--f7-bars-text-color);
1230
+ --f7-navbar-height: 76px;
1236
1231
  --f7-navbar-font-size: 17px;
1237
1232
  --f7-navbar-title-font-size: inherit;
1238
- --f7-navbar-inner-padding-left: 8px;
1239
- --f7-navbar-inner-padding-right: 8px;
1233
+ --f7-navbar-inner-padding-left: 16px;
1234
+ --f7-navbar-inner-padding-right: 16px;
1240
1235
  --f7-navbar-title-font-weight: 600;
1241
1236
  --f7-navbar-title-margin-left: 0;
1242
1237
  --f7-navbar-title-margin-right: 0;
@@ -1304,8 +1299,7 @@ html.device-full-viewport body {
1304
1299
  .navbar {
1305
1300
  --f7-navbar-large-collapse-progress: 0;
1306
1301
  position: relative;
1307
- -webkit-backface-visibility: hidden;
1308
- backface-visibility: hidden;
1302
+ backface-visibility: hidden;
1309
1303
  box-sizing: border-box;
1310
1304
  margin: 0;
1311
1305
  height: calc(var(--f7-navbar-height) + var(--f7-safe-area-top));
@@ -1321,8 +1315,6 @@ html.device-full-viewport body {
1321
1315
  .navbar a.link {
1322
1316
  display: flex;
1323
1317
  justify-content: flex-start;
1324
- line-height: var(--f7-navbar-link-line-height, var(--f7-navbar-height));
1325
- height: var(--f7-navbar-link-height, var(--f7-navbar-height));
1326
1318
  }
1327
1319
  .navbar .title,
1328
1320
  .navbar .left,
@@ -1356,7 +1348,7 @@ html.device-full-viewport body {
1356
1348
  .navbar .right {
1357
1349
  flex-shrink: 0;
1358
1350
  display: flex;
1359
- justify-content: flex-start;
1351
+ justify-content: center;
1360
1352
  align-items: center;
1361
1353
  }
1362
1354
  .navbar .right:first-child {
@@ -1383,40 +1375,8 @@ html.device-full-viewport body {
1383
1375
  height: 100%;
1384
1376
  pointer-events: none;
1385
1377
  z-index: 0;
1386
- background: var(--f7-navbar-bg-color);
1387
- background-color: var(--f7-navbar-bg-color, var(--f7-bars-bg-color));
1388
1378
  transition-property: transform;
1389
1379
  }
1390
- @supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
1391
- .ios-translucent-bars .navbar-bg {
1392
- background-color: rgba(var(--f7-navbar-bg-color-rgb, var(--f7-bars-bg-color-rgb)), var(--f7-bars-translucent-opacity));
1393
- -webkit-backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
1394
- backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
1395
- }
1396
- }
1397
- .navbar-bg:after,
1398
- .navbar-bg:before {
1399
- -webkit-backface-visibility: hidden;
1400
- backface-visibility: hidden;
1401
- }
1402
- .navbar-bg:after {
1403
- content: '';
1404
- position: absolute;
1405
- background-color: var(--f7-navbar-border-color, var(--f7-bars-border-color));
1406
- display: block;
1407
- z-index: 15;
1408
- top: auto;
1409
- right: auto;
1410
- bottom: 0;
1411
- left: 0;
1412
- height: 1px;
1413
- width: 100%;
1414
- transform-origin: 50% 100%;
1415
- transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
1416
- }
1417
- .navbar-bg:after {
1418
- z-index: 1;
1419
- }
1420
1380
  .navbar-transitioning,
1421
1381
  .navbar-transitioning .left,
1422
1382
  .navbar-transitioning .title,
@@ -1427,13 +1387,6 @@ html.device-full-viewport body {
1427
1387
  .navbar-transitioning .navbar-bg:before {
1428
1388
  transition-duration: var(--f7-navbar-hide-show-transition-duration);
1429
1389
  }
1430
- .navbar-page-transitioning {
1431
- transition-duration: var(--f7-page-swipeback-transition-duration) !important;
1432
- }
1433
- .navbar-page-transitioning .title-large-text,
1434
- .navbar-page-transitioning .navbar-bg {
1435
- transition-duration: var(--f7-page-swipeback-transition-duration) !important;
1436
- }
1437
1390
  .navbar-hidden {
1438
1391
  transform: translate3d(0, calc(-1 * var(--f7-navbar-height)), 0);
1439
1392
  }
@@ -1469,34 +1422,9 @@ html.device-full-viewport body {
1469
1422
  }
1470
1423
  .views > .navbar,
1471
1424
  .view > .navbar,
1472
- .page > .navbar,
1473
- .navbars > .navbar {
1425
+ .page > .navbar {
1474
1426
  position: absolute;
1475
1427
  }
1476
- .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
1477
- .with-searchbar-expandable-enabled
1478
- ) .navbar-bg,
1479
- .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
1480
- .with-searchbar-expandable-enabled
1481
- ) .title {
1482
- opacity: 0;
1483
- }
1484
- .navbar-large .navbar-bg {
1485
- height: calc(100% + var(--f7-navbar-large-title-height));
1486
- transform: translate3d(0px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0);
1487
- }
1488
- .navbar-large-transparent .navbar-bg,
1489
- .navbar-large.navbar-transparent .navbar-bg {
1490
- opacity: var(--f7-navbar-large-collapse-progress);
1491
- }
1492
- .ios .router-navbar-transition-to-large .navbar-bg,
1493
- .ios .router-navbar-transition-from-large .navbar-bg,
1494
- .navbar-bg.ios-swipeback-navbar-bg-large,
1495
- .navbar-large-transparent .navbar-bg.ios-swipeback-navbar-bg-large,
1496
- .navbar-large.navbar-transparent .navbar-bg.ios-swipeback-navbar-bg-large {
1497
- height: calc(100% + var(--f7-navbar-large-title-height));
1498
- transform: translate3d(0px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0);
1499
- }
1500
1428
  .ios .navbar:not(.navbar-large) .navbar-bg {
1501
1429
  --f7-navbar-large-collapse-progress: 1;
1502
1430
  }
@@ -1509,6 +1437,9 @@ html.device-full-viewport body {
1509
1437
  .navbar-large-collapsed .title-large {
1510
1438
  pointer-events: none;
1511
1439
  }
1440
+ .navbar-large-collapsed .title-large-text {
1441
+ opacity: 0;
1442
+ }
1512
1443
  .navbar .title-large {
1513
1444
  box-sizing: border-box;
1514
1445
  position: absolute;
@@ -1517,7 +1448,6 @@ html.device-full-viewport body {
1517
1448
  top: 100%;
1518
1449
  display: flex;
1519
1450
  white-space: nowrap;
1520
- overflow: hidden;
1521
1451
  height: var(--f7-navbar-large-title-height);
1522
1452
  z-index: 5;
1523
1453
  }
@@ -1542,14 +1472,11 @@ html.device-full-viewport body {
1542
1472
  .navbar-no-title-large-transition .title-large-text {
1543
1473
  transition-duration: 0ms;
1544
1474
  }
1545
- .navbar ~ *,
1546
- .navbars ~ * {
1475
+ .navbar ~ * {
1547
1476
  --f7-page-navbar-offset: calc(var(--f7-navbar-height) + var(--f7-safe-area-top));
1548
1477
  }
1549
1478
  .navbar ~ * .page-with-navbar-large,
1550
1479
  .navbar ~ .page-with-navbar-large,
1551
- .navbars ~ * .page-with-navbar-large,
1552
- .navbars ~ .page-with-navbar-large,
1553
1480
  .page-with-navbar-large .navbar ~ * {
1554
1481
  --f7-page-navbar-offset: calc(var(--f7-navbar-height) + var(--f7-navbar-large-title-height) + var(--f7-safe-area-top));
1555
1482
  }
@@ -1560,17 +1487,15 @@ html.device-full-viewport body {
1560
1487
  .ios {
1561
1488
  --f7-navbarLeftTextOffset: calc(4px + 12px + var(--f7-navbar-inner-padding-left));
1562
1489
  --f7-navbarTitleLargeOffset: var(--f7-navbar-large-title-padding-left);
1563
- --f7-navbar-large-bg-center-top: translateX(0) translateY(calc(-1 * var(--f7-navbar-large-title-height)));
1564
- --f7-navbar-large-bg-center-bottom: translateX(0) translateY(0);
1565
- --f7-navbar-large-bg-left-top: translateX(-100%) translateY(calc(-1 * var(--f7-navbar-large-title-height)));
1566
- --f7-navbar-large-bg-left-bottom: translateX(-100%) translateY(0);
1567
- --f7-navbar-large-bg-right-top: translateX(100%) translateY(calc(-1 * var(--f7-navbar-large-title-height)));
1568
- --f7-navbar-large-bg-right-bottom: translateX(100%) translateY(0);
1569
1490
  }
1570
1491
  .ios .navbar .title-large {
1571
1492
  align-items: flex-end;
1572
1493
  }
1573
- .ios .navbar a.icon-only {
1494
+ .ios .navbar a.link {
1495
+ height: 100%;
1496
+ padding: 0 12px;
1497
+ }
1498
+ .ios .navbar a:is(.icon-only, :has(i:only-child), :has(svg:only-child)) {
1574
1499
  width: 44px;
1575
1500
  margin: 0;
1576
1501
  justify-content: center;
@@ -1591,8 +1516,41 @@ html.device-full-viewport body {
1591
1516
  .ios .navbar .right:first-child {
1592
1517
  right: calc(8px + var(--f7-safe-area-right));
1593
1518
  }
1519
+ .ios .navbar-bg {
1520
+ height: 100%;
1521
+ }
1522
+ .ios .navbar-bg::before {
1523
+ content: '';
1524
+ position: absolute;
1525
+ inset: 0;
1526
+ backdrop-filter: blur(2px);
1527
+ mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
1528
+ }
1529
+ .ios .navbar-bg::after {
1530
+ content: '';
1531
+ position: absolute;
1532
+ inset: 0;
1533
+ background-image: linear-gradient(to bottom, var(--f7-navbar-bg-color, var(--f7-bars-bg-color)) 0%, transparent 100%);
1534
+ }
1594
1535
  .ios .navbar-inner {
1595
1536
  justify-content: space-between;
1537
+ padding-top: calc(16px + var(--f7-safe-area-top));
1538
+ padding-bottom: 16px;
1539
+ }
1540
+ .ios .navbar .left,
1541
+ .ios .navbar .right,
1542
+ .ios .navbar .navbar-pane {
1543
+ height: 100%;
1544
+ backdrop-filter: saturate(180%) blur(16px);
1545
+ box-shadow: var(--f7-glass-shadow);
1546
+ background-color: var(--f7-glass-bg-color);
1547
+ border-radius: 64px;
1548
+ min-width: 44px;
1549
+ }
1550
+ .ios .navbar-pane {
1551
+ display: flex;
1552
+ align-items: center;
1553
+ justify-content: center;
1596
1554
  }
1597
1555
  .ios .navbar-inner-left-title {
1598
1556
  justify-content: flex-start;
@@ -1604,544 +1562,17 @@ html.device-full-viewport body {
1604
1562
  text-align: left;
1605
1563
  margin-right: 10px;
1606
1564
  }
1607
- .ios .view-master-detail .navbar-previous:not(.navbar-master) .left,
1608
- .ios .view:not(.view-master-detail) .navbar-previous .left,
1609
- .ios .navbar-next .left,
1610
- .ios .view-master-detail .navbar-previous:not(.navbar-master) .title,
1611
- .ios .view:not(.view-master-detail) .navbar-previous .title,
1612
- .ios .navbar-next .title,
1613
- .ios .view-master-detail .navbar-previous:not(.navbar-master) .right,
1614
- .ios .view:not(.view-master-detail) .navbar-previous .right,
1615
- .ios .navbar-next .right,
1616
- .ios .view-master-detail .navbar-previous:not(.navbar-master) .subnavbar,
1617
- .ios .view:not(.view-master-detail) .navbar-previous .subnavbar,
1618
- .ios .navbar-next .subnavbar,
1619
- .ios .view-master-detail .navbar-previous:not(.navbar-master) .fading,
1620
- .ios .view:not(.view-master-detail) .navbar-previous .fading,
1621
- .ios .navbar-next .fading {
1622
- opacity: 0;
1623
- }
1624
- .ios .view-master-detail .navbar-previous:not(.navbar-master),
1625
- .ios .view:not(.view-master-detail) .navbar-previous {
1626
- pointer-events: none;
1627
- }
1628
- .ios .view-master-detail .navbar-previous:not(.navbar-master) .title-large,
1629
- .ios .view:not(.view-master-detail) .navbar-previous .title-large {
1565
+ .ios .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
1566
+ .with-searchbar-expandable-enabled
1567
+ ) .title {
1630
1568
  opacity: 0;
1631
- transition-duration: 0ms;
1632
- }
1633
- .ios .view-master-detail .navbar-previous:not(.navbar-master) .title-large .title-large-text,
1634
- .ios .view:not(.view-master-detail) .navbar-previous .title-large .title-large-text {
1635
- transform: scale(0.5);
1636
- transition-duration: 0ms;
1637
- }
1638
- .ios .view-master-detail .navbar-previous:not(.navbar-master) .subnavbar.sliding,
1639
- .ios .view:not(.view-master-detail) .navbar-previous .subnavbar.sliding,
1640
- .ios .view-master-detail .navbar-previous:not(.navbar-master) .sliding .subnavbar,
1641
- .ios .view:not(.view-master-detail) .navbar-previous .sliding .subnavbar {
1642
- opacity: 1;
1643
- transform: translate3d(-100%, 0, 0);
1644
- }
1645
- .ios .view:not(.view-master-detail) .navbar-previous .navbar-bg,
1646
- .ios .view-master-detail .navbar-previous:not(.navbar-master) .navbar-bg {
1647
- transform: translateX(-100%);
1648
- }
1649
- .ios .navbar-next {
1650
- pointer-events: none;
1651
- }
1652
- .ios .navbar-next .navbar-bg {
1653
- transform: translateX(100%);
1654
- }
1655
- .ios .navbar-next .title-large .title-large-text {
1656
- transition-duration: 0ms;
1657
- transform: translateX(100%) translateY(calc(-1 * var(--f7-navbar-large-title-height)));
1658
- }
1659
- .ios .navbar-next .subnavbar.sliding,
1660
- .ios .navbar-next .sliding .subnavbar {
1661
- opacity: 1;
1662
- transform: translate3d(100%, 0, 0);
1663
- }
1664
- .ios .router-transition .navbar,
1665
- .ios .router-transition .navbar-bg {
1666
- transition-duration: var(--f7-page-transition-duration);
1667
- }
1668
- .ios .router-transition .navbar-bg {
1669
- animation-duration: var(--f7-page-transition-duration);
1670
- animation-fill-mode: forwards;
1671
- }
1672
- .ios .router-transition .title-large,
1673
- .ios .router-transition .title-large-text {
1674
- transition-duration: 0ms;
1675
- }
1676
- .ios .router-transition .navbar-current .left,
1677
- .ios .router-transition .navbar-current .title,
1678
- .ios .router-transition .navbar-current .right,
1679
- .ios .router-transition .navbar-current .subnavbar {
1680
- animation: ios-navbar-element-fade-out var(--f7-page-transition-duration) forwards;
1681
- }
1682
- .ios .router-transition .navbar-current .sliding.left,
1683
- .ios .router-transition .navbar-current .sliding.left .icon + span,
1684
- .ios .router-transition .navbar-current .sliding.title,
1685
- .ios .router-transition .navbar-current .sliding.right,
1686
- .ios .router-transition .navbar-current .sliding .left,
1687
- .ios .router-transition .navbar-current .sliding .left .icon + span,
1688
- .ios .router-transition .navbar-current .sliding .title,
1689
- .ios .router-transition .navbar-current .sliding .right {
1690
- transition-duration: var(--f7-page-transition-duration);
1691
- opacity: 0 !important;
1692
- animation: none;
1693
- }
1694
- .ios .router-transition .navbar-current .sliding .subnavbar,
1695
- .ios .router-transition .navbar-current .sliding.subnavbar {
1696
- transition-duration: var(--f7-page-transition-duration);
1697
- animation: none;
1698
- opacity: 1;
1699
- }
1700
- .ios .router-transition-forward .navbar-next .left,
1701
- .ios .router-transition-backward .navbar-previous .left,
1702
- .ios .router-transition-forward .navbar-next .title,
1703
- .ios .router-transition-backward .navbar-previous .title,
1704
- .ios .router-transition-forward .navbar-next .right,
1705
- .ios .router-transition-backward .navbar-previous .right,
1706
- .ios .router-transition-forward .navbar-next .subnavbar,
1707
- .ios .router-transition-backward .navbar-previous .subnavbar {
1708
- animation: ios-navbar-element-fade-in var(--f7-page-transition-duration) forwards;
1709
- }
1710
- .ios .router-transition-forward .navbar-next .sliding.left,
1711
- .ios .router-transition-backward .navbar-previous .sliding.left,
1712
- .ios .router-transition-forward .navbar-next .sliding.left .icon + span,
1713
- .ios .router-transition-backward .navbar-previous .sliding.left .icon + span,
1714
- .ios .router-transition-forward .navbar-next .sliding.title,
1715
- .ios .router-transition-backward .navbar-previous .sliding.title,
1716
- .ios .router-transition-forward .navbar-next .sliding.right,
1717
- .ios .router-transition-backward .navbar-previous .sliding.right,
1718
- .ios .router-transition-forward .navbar-next .sliding .left,
1719
- .ios .router-transition-backward .navbar-previous .sliding .left,
1720
- .ios .router-transition-forward .navbar-next .sliding .left .icon + span,
1721
- .ios .router-transition-backward .navbar-previous .sliding .left .icon + span,
1722
- .ios .router-transition-forward .navbar-next .sliding .title,
1723
- .ios .router-transition-backward .navbar-previous .sliding .title,
1724
- .ios .router-transition-forward .navbar-next .sliding .right,
1725
- .ios .router-transition-backward .navbar-previous .sliding .right,
1726
- .ios .router-transition-forward .navbar-next .sliding .subnavbar,
1727
- .ios .router-transition-backward .navbar-previous .sliding .subnavbar {
1728
- transition-duration: var(--f7-page-transition-duration);
1729
- animation: none;
1730
- transform: translate3d(0, 0, 0) !important;
1731
- opacity: 1 !important;
1732
- }
1733
- .ios .router-transition-forward .navbar-next.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible) .title,
1734
- .ios .router-transition-backward .navbar-previous.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible) .title {
1735
- animation: none;
1736
- }
1737
- .ios .router-transition-forward .navbar-next.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible) .sliding.title,
1738
- .ios .router-transition-backward .navbar-previous.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible) .sliding.title,
1739
- .ios .router-transition-forward .navbar-next.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible) .sliding .title,
1740
- .ios .router-transition-backward .navbar-previous.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible) .sliding .title {
1741
- opacity: 0 !important;
1742
- }
1743
- .ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled-no-transition .left,
1744
- .ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled .left,
1745
- .ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled-no-transition .title,
1746
- .ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled .title,
1747
- .ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled-no-transition .right,
1748
- .ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled .right,
1749
- .ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled-no-transition .subnavbar,
1750
- .ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled .subnavbar {
1751
- animation: none;
1752
- }
1753
- .ios .router-transition-forward .navbar-current.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large,
1754
- .ios .router-transition-forward .navbar-current.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .title-large {
1755
- overflow: visible;
1756
- }
1757
- .ios .router-transition-forward .navbar-current.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large .title-large-text,
1758
- .ios .router-transition-forward .navbar-current.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .title-large .title-large-text {
1759
- animation: ios-navbar-large-title-text-slide-up var(--f7-page-transition-duration) forwards, ios-navbar-large-title-text-fade-out var(--f7-page-transition-duration) forwards;
1760
- }
1761
- .ios .router-transition-forward .navbar-next.router-navbar-transition-from-large .left .back span {
1762
- animation: ios-navbar-back-text-next-to-current var(--f7-page-transition-duration) forwards;
1763
- transition: none;
1764
- transform-origin: left center;
1765
- }
1766
- .ios .router-transition-forward .navbar-next.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large {
1767
- overflow: visible;
1768
- }
1769
- .ios .router-transition-forward .navbar-next.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large .title-large-text {
1770
- animation: ios-navbar-large-title-text-slide-left var(--f7-page-transition-duration) forwards;
1771
- }
1772
- .ios .router-transition-forward .navbar-next.router-navbar-transition-to-large:not(.router-navbar-transition-from-large) .title-large .title-large-text {
1773
- animation: ios-navbar-large-title-text-slide-left var(--f7-page-transition-duration) forwards;
1774
- }
1775
- .ios .router-transition-forward .navbar-next.navbar-large:not(.navbar-large-collapsed) .title,
1776
- .ios .router-transition-forward .navbar-current.navbar-large:not(.navbar-large-collapsed) .title {
1777
- animation: none;
1778
- opacity: 0 !important;
1779
- transition-duration: 0;
1780
- }
1781
- .ios .router-transition-backward .navbar-current.router-navbar-transition-to-large .left .back span {
1782
- animation: ios-navbar-back-text-current-to-previous var(--f7-page-transition-duration) forwards;
1783
- transition: none;
1784
- transform-origin: left center;
1785
- }
1786
- .ios .router-transition-backward .navbar-current.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large {
1787
- overflow: visible;
1788
- }
1789
- .ios .router-transition-backward .navbar-current.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large .title-large-text {
1790
- animation: ios-navbar-large-title-text-slide-right var(--f7-page-transition-duration) forwards;
1791
- }
1792
- .ios .router-transition-backward .navbar-current.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .title-large .title-large-text {
1793
- animation: ios-navbar-large-title-text-slide-right var(--f7-page-transition-duration) forwards;
1794
- }
1795
- .ios .router-transition-backward .navbar-current.router-navbar-transition-to-large:not(.router-navbar-transition-from-large) .title-large {
1796
- opacity: 0;
1797
- }
1798
- .ios .router-transition-backward .navbar-previous.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large,
1799
- .ios .router-transition-backward .navbar-previous.router-navbar-transition-to-large:not(.router-navbar-transition-from-large) .title-large {
1800
- overflow: visible;
1801
- opacity: 1;
1802
- }
1803
- .ios .router-transition-backward .navbar-previous.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large .title-large-text,
1804
- .ios .router-transition-backward .navbar-previous.router-navbar-transition-to-large:not(.router-navbar-transition-from-large) .title-large .title-large-text {
1805
- animation: ios-navbar-large-title-text-slide-down var(--f7-page-transition-duration) forwards, ios-navbar-large-title-text-fade-in var(--f7-page-transition-duration) forwards;
1806
- }
1807
- .ios .router-transition-backward .navbar-current.navbar-large:not(.navbar-large-collapsed) .title,
1808
- .ios .router-transition-backward .navbar-previous.navbar-large:not(.navbar-large-collapsed) .title {
1809
- animation: none;
1810
- opacity: 0 !important;
1811
- transition-duration: 0;
1812
- }
1813
- .ios .router-transition-forward .navbar-current .navbar-bg {
1814
- animation-name: ios-navbar-bg-from-cb-to-lb;
1815
- }
1816
- .ios .router-transition-forward .navbar-current.router-navbar-transition-from-large.router-navbar-transition-to-large .navbar-bg {
1817
- animation-name: ios-navbar-bg-from-cb-to-lb;
1818
- }
1819
- .ios .router-transition-forward .navbar-current.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .navbar-bg {
1820
- animation-name: ios-navbar-bg-from-cb-to-lt;
1821
- }
1822
- .ios .router-transition-forward .navbar-current:not(.router-navbar-transition-from-large).router-navbar-transition-to-large .navbar-bg {
1823
- animation-name: ios-navbar-bg-from-ct-to-lb;
1824
- }
1825
- .ios .router-transition-forward .navbar-current.navbar-large-collapsed:not(.router-navbar-transition-to-large) .navbar-bg {
1826
- animation-name: ios-navbar-bg-from-ct-to-lt;
1827
- }
1828
- .ios .router-transition-forward .navbar-next .navbar-bg {
1829
- animation-name: ios-navbar-bg-from-rb-to-cb;
1830
- }
1831
- .ios .router-transition-forward .navbar-next.router-navbar-transition-from-large.router-navbar-transition-to-large .navbar-bg {
1832
- animation-name: ios-navbar-bg-from-rb-to-cb;
1833
- }
1834
- .ios .router-transition-forward .navbar-next.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .navbar-bg {
1835
- animation-name: ios-navbar-bg-from-rb-to-ct;
1836
- }
1837
- .ios .router-transition-forward .navbar-next:not(.router-navbar-transition-from-large).router-navbar-transition-to-large .navbar-bg {
1838
- animation-name: ios-navbar-bg-from-rt-to-cb;
1839
- }
1840
- .ios .router-transition-backward .navbar-current .navbar-bg {
1841
- animation-name: ios-navbar-bg-from-cb-to-rb;
1842
- }
1843
- .ios .router-transition-backward .navbar-current:not(.router-navbar-transition-from-large).router-navbar-transition-to-large .navbar-bg {
1844
- animation-name: ios-navbar-bg-from-ct-to-rb;
1845
- }
1846
- .ios .router-transition-backward .navbar-current.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .navbar-bg {
1847
- animation-name: ios-navbar-bg-from-cb-to-rt;
1848
- }
1849
- .ios .router-transition-backward .navbar-current.navbar-large-collapsed .navbar-bg {
1850
- animation-name: ios-navbar-bg-from-ct-to-rt;
1851
- }
1852
- .ios .router-transition-backward .navbar-current.navbar-large-collapsed.router-navbar-transition-to-large .navbar-bg {
1853
- animation-name: ios-navbar-bg-from-ct-to-rb;
1854
- }
1855
- .ios .router-transition-backward .navbar-previous .navbar-bg {
1856
- animation-name: ios-navbar-bg-from-lb-to-cb;
1857
- }
1858
- .ios .router-transition-backward .navbar-previous:not(.router-navbar-transition-from-large).router-navbar-transition-to-large .navbar-bg {
1859
- animation-name: ios-navbar-bg-from-lt-to-cb;
1860
- }
1861
- .ios .router-transition-backward .navbar-previous.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .navbar-bg {
1862
- animation-name: ios-navbar-bg-from-lb-to-ct;
1863
- }
1864
- .ios .router-transition-backward .navbar-previous.navbar-large-collapsed .navbar-bg {
1865
- animation-name: ios-navbar-bg-from-lt-to-ct;
1866
- }
1867
- .view-master-detail .navbars {
1868
- z-index: auto;
1869
1569
  }
1870
1570
  .view-master-detail .page-master {
1871
1571
  z-index: 525;
1872
1572
  }
1873
- .view-master-detail .navbar-master .navbar-inner,
1874
- .view-master-detail .navbar-master .navbar-bg {
1875
- z-index: 550;
1876
- }
1877
- .view-master-detail .navbar-master-detail .navbar-inner,
1878
- .view-master-detail .navbar-master-detail .navbar-bg {
1879
- z-index: 500;
1880
- }
1881
- .view-master-detail .navbar-master.navbar-previous {
1882
- pointer-events: auto;
1883
- }
1884
- .view-master-detail .navbar-master.navbar-previous .left,
1885
- .view-master-detail .navbar-master.navbar-previous:not(.navbar-large) .title,
1886
- .view-master-detail .navbar-master.navbar-previous .right,
1887
- .view-master-detail .navbar-master.navbar-previous .subnavbar {
1888
- opacity: 1;
1889
- }
1890
- .view-master-detail.router-transition .navbar-master .left,
1891
- .view-master-detail.router-transition .navbar-master .left .icon + span,
1892
- .view-master-detail.router-transition .navbar-master:not(.navbar-large) .title,
1893
- .view-master-detail.router-transition .navbar-master .right,
1894
- .view-master-detail.router-transition .navbar-master .subnavbar,
1895
- .view-master-detail.router-transition .navbar-master .fading {
1896
- opacity: 1 !important;
1897
- transition-duration: 0ms;
1898
- transform: none !important;
1899
- animation: none !important;
1900
- }
1901
- .view-master-detail.router-transition .navbar-master .navbar-bg {
1902
- transition-duration: 0ms;
1903
- animation: none !important;
1904
- }
1905
- .view-master-detail.router-transition .navbar-master.navbar-large .title {
1906
- opacity: calc(-1 + 2 * var(--f7-navbar-large-collapse-progress)) !important;
1907
- transition-duration: 0ms;
1908
- transform: none !important;
1909
- animation: none !important;
1910
- }
1911
- .view-master-detail.router-transition .navbar-master.navbar-large .title-large,
1912
- .view-master-detail.router-transition .navbar-master.navbar-large .title-large-text {
1913
- transition-duration: 0ms;
1914
- animation: none !important;
1915
- }
1916
- .view-master-detail.router-transition .navbar-master.navbar-large-transparent .navbar-bg,
1917
- .view-master-detail.router-transition .navbar-master.navbar-large.navbar-transparent .navbar-bg {
1918
- height: 100% !important;
1919
- opacity: var(--f7-navbar-large-collapse-progress) !important;
1920
- }
1921
- @keyframes ios-navbar-element-fade-in {
1922
- 0% {
1923
- opacity: 0;
1924
- }
1925
- 25% {
1926
- opacity: 0;
1927
- }
1928
- to {
1929
- opacity: 1;
1930
- }
1931
- }
1932
- @keyframes ios-navbar-element-fade-out {
1933
- from {
1934
- opacity: 1;
1935
- }
1936
- 75% {
1937
- opacity: 0;
1938
- }
1939
- to {
1940
- opacity: 0;
1941
- }
1942
- }
1943
- @keyframes ios-navbar-large-title-text-slide-up {
1944
- 0% {
1945
- transform: translateX(0px) translateY(0%) scale(1);
1946
- }
1947
- 100% {
1948
- 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);
1949
- }
1950
- }
1951
- @keyframes ios-navbar-large-title-text-slide-down {
1952
- 0% {
1953
- 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);
1954
- }
1955
- 100% {
1956
- transform: translateX(0px) translateY(0%) scale(1);
1957
- }
1958
- }
1959
- @keyframes ios-navbar-large-title-text-slide-left {
1960
- 0% {
1961
- transform: translateX(100%);
1962
- }
1963
- 100% {
1964
- transform: translateX(0%);
1965
- }
1966
- }
1967
- @keyframes ios-navbar-large-title-text-slide-right {
1968
- 0% {
1969
- transform: translateX(0%);
1970
- }
1971
- 100% {
1972
- transform: translateX(100%);
1973
- }
1974
- }
1975
- @keyframes ios-navbar-large-title-text-fade-out {
1976
- 0% {
1977
- opacity: 1;
1978
- }
1979
- 80% {
1980
- opacity: 0;
1981
- }
1982
- 100% {
1983
- opacity: 0;
1984
- }
1985
- }
1986
- @keyframes ios-navbar-large-title-text-fade-in {
1987
- 0% {
1988
- opacity: 0;
1989
- }
1990
- 20% {
1991
- opacity: 0;
1992
- }
1993
- 100% {
1994
- opacity: 1;
1995
- }
1996
- }
1997
- @keyframes ios-navbar-back-text-current-to-previous {
1998
- 0% {
1999
- opacity: 1;
2000
- transform: translateY(0px) translateX(0px) scale(1);
2001
- }
2002
- 80% {
2003
- opacity: 0;
2004
- }
2005
- 100% {
2006
- opacity: 0;
2007
- 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);
2008
- }
2009
- }
2010
- @keyframes ios-navbar-back-text-next-to-current {
2011
- 0% {
2012
- opacity: 0;
2013
- 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);
2014
- }
2015
- 20% {
2016
- opacity: 0;
2017
- }
2018
- 100% {
2019
- opacity: 1;
2020
- transform: translateX(0px) translateY(0px) scale(1);
2021
- }
2022
- }
2023
- @keyframes ios-navbar-bg-from-cb-to-lb {
2024
- from {
2025
- transform: var(--f7-navbar-large-bg-center-bottom);
2026
- }
2027
- to {
2028
- transform: var(--f7-navbar-large-bg-left-bottom);
2029
- }
2030
- }
2031
- @keyframes ios-navbar-bg-from-cb-to-lt {
2032
- from {
2033
- transform: var(--f7-navbar-large-bg-center-bottom);
2034
- }
2035
- to {
2036
- transform: var(--f7-navbar-large-bg-left-top);
2037
- }
2038
- }
2039
- @keyframes ios-navbar-bg-from-ct-to-lb {
2040
- from {
2041
- transform: var(--f7-navbar-large-bg-center-top);
2042
- }
2043
- to {
2044
- transform: var(--f7-navbar-large-bg-left-bottom);
2045
- }
2046
- }
2047
- @keyframes ios-navbar-bg-from-ct-to-lt {
2048
- from {
2049
- transform: var(--f7-navbar-large-bg-center-top);
2050
- }
2051
- to {
2052
- transform: var(--f7-navbar-large-bg-left-top);
2053
- }
2054
- }
2055
- @keyframes ios-navbar-bg-from-rb-to-cb {
2056
- from {
2057
- transform: var(--f7-navbar-large-bg-right-bottom);
2058
- }
2059
- to {
2060
- transform: var(--f7-navbar-large-bg-center-bottom);
2061
- }
2062
- }
2063
- @keyframes ios-navbar-bg-from-rb-to-ct {
2064
- from {
2065
- transform: var(--f7-navbar-large-bg-right-bottom);
2066
- }
2067
- to {
2068
- transform: var(--f7-navbar-large-bg-center-top);
2069
- }
2070
- }
2071
- @keyframes ios-navbar-bg-from-rt-to-cb {
2072
- from {
2073
- transform: var(--f7-navbar-large-bg-right-top);
2074
- }
2075
- to {
2076
- transform: var(--f7-navbar-large-bg-center-bottom);
2077
- }
2078
- }
2079
- @keyframes ios-navbar-bg-from-cb-to-rb {
2080
- from {
2081
- transform: var(--f7-navbar-large-bg-center-bottom);
2082
- }
2083
- to {
2084
- transform: var(--f7-navbar-large-bg-right-bottom);
2085
- }
2086
- }
2087
- @keyframes ios-navbar-bg-from-ct-to-rb {
2088
- from {
2089
- transform: var(--f7-navbar-large-bg-center-top);
2090
- }
2091
- to {
2092
- transform: var(--f7-navbar-large-bg-right-bottom);
2093
- }
2094
- }
2095
- @keyframes ios-navbar-bg-from-cb-to-rt {
2096
- from {
2097
- transform: var(--f7-navbar-large-bg-center-bottom);
2098
- }
2099
- to {
2100
- transform: var(--f7-navbar-large-bg-right-top);
2101
- }
2102
- }
2103
- @keyframes ios-navbar-bg-from-ct-to-rt {
2104
- from {
2105
- transform: var(--f7-navbar-large-bg-center-top);
2106
- }
2107
- to {
2108
- transform: var(--f7-navbar-large-bg-right-top);
2109
- }
2110
- }
2111
- @keyframes ios-navbar-bg-from-lb-to-cb {
2112
- from {
2113
- transform: var(--f7-navbar-large-bg-left-bottom);
2114
- }
2115
- to {
2116
- transform: var(--f7-navbar-large-bg-center-bottom);
2117
- }
2118
- }
2119
- @keyframes ios-navbar-bg-from-lt-to-cb {
2120
- from {
2121
- transform: var(--f7-navbar-large-bg-left-top);
2122
- }
2123
- to {
2124
- transform: var(--f7-navbar-large-bg-center-bottom);
2125
- }
2126
- }
2127
- @keyframes ios-navbar-bg-from-lb-to-ct {
2128
- from {
2129
- transform: var(--f7-navbar-large-bg-left-bottom);
2130
- }
2131
- to {
2132
- transform: var(--f7-navbar-large-bg-center-top);
2133
- }
2134
- }
2135
- @keyframes ios-navbar-bg-from-lt-to-ct {
2136
- from {
2137
- transform: var(--f7-navbar-large-bg-left-top);
2138
- }
2139
- to {
2140
- transform: var(--f7-navbar-large-bg-center-top);
2141
- }
2142
- }
2143
1573
  .md .navbar .title-large {
2144
1574
  align-items: center;
1575
+ overflow: hidden;
2145
1576
  }
2146
1577
  .md .navbar .left {
2147
1578
  margin-left: 4px;
@@ -2150,8 +1581,9 @@ html.device-full-viewport body {
2150
1581
  .md .navbar a.link {
2151
1582
  padding: 0 12px;
2152
1583
  min-width: 48px;
1584
+ height: var(--f7-navbar-link-height, var(--f7-navbar-height));
2153
1585
  }
2154
- .md .navbar a.icon-only {
1586
+ .md .navbar a:is(.icon-only, :has(i:only-child), :has(svg:only-child)) {
2155
1587
  min-width: 0;
2156
1588
  flex-shrink: 0;
2157
1589
  width: 48px;
@@ -2163,6 +1595,35 @@ html.device-full-viewport body {
2163
1595
  .md .navbar .right:first-child {
2164
1596
  right: var(--f7-safe-area-right);
2165
1597
  }
1598
+ .md .navbar-pane {
1599
+ display: contents;
1600
+ }
1601
+ .md .navbar-bg {
1602
+ background: var(--f7-navbar-bg-color);
1603
+ background-color: var(--f7-navbar-bg-color, var(--f7-bars-bg-color));
1604
+ }
1605
+ .md .navbar-bg:after,
1606
+ .md .navbar-bg:before {
1607
+ backface-visibility: hidden;
1608
+ }
1609
+ .md .navbar-bg:after {
1610
+ content: '';
1611
+ position: absolute;
1612
+ background-color: var(--f7-navbar-border-color, var(--f7-bars-border-color));
1613
+ display: block;
1614
+ z-index: 15;
1615
+ top: auto;
1616
+ right: auto;
1617
+ bottom: 0;
1618
+ left: 0;
1619
+ height: 1px;
1620
+ width: 100%;
1621
+ transform-origin: 50% 100%;
1622
+ transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
1623
+ }
1624
+ .md .navbar-bg:after {
1625
+ z-index: 1;
1626
+ }
2166
1627
  .md .navbar-inner {
2167
1628
  justify-content: flex-start;
2168
1629
  overflow: hidden;
@@ -2185,13 +1646,28 @@ html.device-full-viewport body {
2185
1646
  .md .navbar-inner-centered-title .title {
2186
1647
  text-align: center;
2187
1648
  }
1649
+ .md .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
1650
+ .with-searchbar-expandable-enabled
1651
+ ) .navbar-bg,
1652
+ .md .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
1653
+ .with-searchbar-expandable-enabled
1654
+ ) .title {
1655
+ opacity: 0;
1656
+ }
1657
+ .md .navbar-large .navbar-bg {
1658
+ height: calc(100% + var(--f7-navbar-large-title-height));
1659
+ transform: translate3d(0px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0);
1660
+ }
1661
+ .md .navbar-large-transparent .navbar-bg,
1662
+ .md .navbar-large.navbar-transparent .navbar-bg {
1663
+ opacity: var(--f7-navbar-large-collapse-progress);
1664
+ }
2188
1665
  /* === Toolbar === */
2189
1666
  :root {
2190
1667
  /*
2191
1668
  --f7-toolbar-bg-color: var(--f7-bars-bg-color);
2192
1669
  --f7-toolbar-bg-color-rgb: var(--f7-bars-bg-color-rgb);
2193
1670
  --f7-toolbar-border-color: var(--f7-bars-border-color);
2194
- --f7-toolbar-link-color: var(--f7-bars-link-color);
2195
1671
  --f7-toolbar-text-color: var(--f7-bars-text-color);
2196
1672
  */
2197
1673
  --f7-tabbar-link-active-bg-color: transparent;
@@ -2199,18 +1675,20 @@ html.device-full-viewport body {
2199
1675
  --f7-toolbar-hide-show-transition-duration: 400ms;
2200
1676
  }
2201
1677
  .ios {
2202
- --f7-toolbar-height: 44px;
1678
+ --f7-toolbar-height: 64px;
2203
1679
  --f7-toolbar-font-size: 17px;
2204
- --f7-toolbar-inner-padding-left: 8px;
2205
- --f7-toolbar-inner-padding-right: 8px;
1680
+ --f7-toolbar-inner-padding-left: 16px;
1681
+ --f7-toolbar-inner-padding-right: 16px;
2206
1682
  --f7-toolbar-link-font-weight: 400;
1683
+ --f7-toolbar-link-color: var(--f7-bars-text-color);
1684
+ --f7-tabbar-link-inactive-color: var(--f7-bars-text-color);
2207
1685
  /*
2208
1686
  --f7-toolbar-link-height: var(--f7-toolbar-height);
2209
1687
  --f7-toolbar-link-line-height: var(--f7-toolbar-height);
2210
1688
  --f7-tabbar-link-active-color: var(--f7-theme-color);
2211
1689
  */
2212
- --f7-tabbar-icons-height: 50px;
2213
- --f7-tabbar-icons-tablet-height: 50px;
1690
+ --f7-tabbar-icons-height: 80px;
1691
+ --f7-tabbar-icons-tablet-height: 80px;
2214
1692
  --f7-tabbar-icon-size: 28px;
2215
1693
  --f7-tabbar-link-text-transform: none;
2216
1694
  --f7-tabbar-link-font-weight: 400;
@@ -2219,11 +1697,13 @@ html.device-full-viewport body {
2219
1697
  --f7-tabbar-label-tablet-font-size: 14px;
2220
1698
  --f7-tabbar-label-font-weight: 500;
2221
1699
  --f7-tabbar-label-letter-spacing: 0.01;
2222
- --f7-tabbar-link-inactive-color: rgba(0, 0, 0, 0.4);
1700
+ --f7-tabbar-link-highlight-bg-color: rgba(0, 0, 0, 0.1);
1701
+ --f7-tabbar-link-highlight-active-bg-color: rgba(0, 0, 0, 0.05);
2223
1702
  }
2224
1703
  .ios .dark,
2225
1704
  .ios.dark {
2226
- --f7-tabbar-link-inactive-color: rgba(255, 255, 255, 0.54);
1705
+ --f7-tabbar-link-highlight-bg-color: rgba(255, 255, 255, 0.15);
1706
+ --f7-tabbar-link-highlight-active-bg-color: rgba(255, 255, 255, 0.1);
2227
1707
  }
2228
1708
  .md {
2229
1709
  --f7-toolbar-height: 56px;
@@ -2231,6 +1711,7 @@ html.device-full-viewport body {
2231
1711
  --f7-toolbar-inner-padding-left: 0px;
2232
1712
  --f7-toolbar-inner-padding-right: 0px;
2233
1713
  /*
1714
+ --f7-toolbar-link-color: var(--f7-bars-link-color);
2234
1715
  --f7-toolbar-link-height: var(--f7-toolbar-height);
2235
1716
  --f7-toolbar-link-line-height: var(--f7-toolbar-height);
2236
1717
  */
@@ -2259,23 +1740,15 @@ html.device-full-viewport body {
2259
1740
  position: relative;
2260
1741
  margin: 0;
2261
1742
  transform: translate3d(0, 0, 0);
2262
- -webkit-backface-visibility: hidden;
2263
- backface-visibility: hidden;
1743
+ backface-visibility: hidden;
2264
1744
  z-index: 600;
2265
1745
  box-sizing: border-box;
2266
1746
  left: 0;
2267
1747
  height: var(--f7-toolbar-height);
2268
- background-color: var(--f7-toolbar-bg-color, var(--f7-bars-bg-color));
1748
+ flex-shrink: 0;
2269
1749
  color: var(--f7-toolbar-text-color, var(--f7-bars-text-color));
2270
1750
  font-size: var(--f7-toolbar-font-size);
2271
1751
  }
2272
- @supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
2273
- .ios-translucent-bars .toolbar {
2274
- background-color: rgba(var(--f7-toolbar-bg-color-rgb, var(--f7-bars-bg-color-rgb)), var(--f7-bars-translucent-opacity));
2275
- -webkit-backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
2276
- backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
2277
- }
2278
- }
2279
1752
  .toolbar b {
2280
1753
  font-weight: 600;
2281
1754
  }
@@ -2289,8 +1762,6 @@ html.device-full-viewport body {
2289
1762
  }
2290
1763
  .toolbar .link {
2291
1764
  display: flex;
2292
- line-height: var(--f7-toolbar-link-line-height, var(--f7-toolbar-height));
2293
- height: var(--f7-toolbar-link-height, var(--f7-toolbar-height));
2294
1765
  font-weight: var(--f7-toolbar-link-font-weight);
2295
1766
  }
2296
1767
  .toolbar i.icon {
@@ -2298,8 +1769,7 @@ html.device-full-viewport body {
2298
1769
  }
2299
1770
  .toolbar:after,
2300
1771
  .toolbar:before {
2301
- -webkit-backface-visibility: hidden;
2302
- backface-visibility: hidden;
1772
+ backface-visibility: hidden;
2303
1773
  }
2304
1774
  .views > .toolbar,
2305
1775
  .view > .toolbar,
@@ -2311,58 +1781,12 @@ html.device-full-viewport body {
2311
1781
  .md .toolbar-top-md {
2312
1782
  top: 0;
2313
1783
  }
2314
- .toolbar-top .tab-link-highlight,
2315
- .ios .toolbar-top-ios .tab-link-highlight,
2316
- .md .toolbar-top-md .tab-link-highlight {
2317
- bottom: 0;
2318
- }
2319
- .toolbar-top.no-outline:after,
2320
- .ios .toolbar-top-ios.no-outline:after,
2321
- .md .toolbar-top-md.no-outline:after {
2322
- display: none !important;
2323
- }
2324
- .toolbar-top.toolbar-hidden:before,
2325
- .ios .toolbar-top-ios.toolbar-hidden:before,
2326
- .md .toolbar-top-md.toolbar-hidden:before {
2327
- display: none !important;
2328
- }
2329
- .toolbar-top:after,
2330
- .ios .toolbar-top-ios:after,
2331
- .md .toolbar-top-md:after,
2332
- .toolbar-top:before,
2333
- .ios .toolbar-top-ios:before,
2334
- .md .toolbar-top-md:before {
2335
- -webkit-backface-visibility: hidden;
2336
- backface-visibility: hidden;
2337
- }
2338
- .toolbar-top:after,
2339
- .ios .toolbar-top-ios:after,
2340
- .md .toolbar-top-md:after {
2341
- content: '';
2342
- position: absolute;
2343
- background-color: var(--f7-toolbar-border-color, var(--f7-bars-border-color));
2344
- display: block;
2345
- z-index: 15;
2346
- top: auto;
2347
- right: auto;
2348
- bottom: 0;
2349
- left: 0;
2350
- height: 1px;
2351
- width: 100%;
2352
- transform-origin: 50% 100%;
2353
- transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
2354
- }
2355
1784
  .toolbar-bottom,
2356
1785
  .ios .toolbar-bottom-ios,
2357
1786
  .md .toolbar-bottom-md {
2358
1787
  bottom: 0;
2359
1788
  height: calc(var(--f7-toolbar-height) + var(--f7-safe-area-bottom));
2360
1789
  }
2361
- .toolbar-bottom .tab-link-highlight,
2362
- .ios .toolbar-bottom-ios .tab-link-highlight,
2363
- .md .toolbar-bottom-md .tab-link-highlight {
2364
- top: 0;
2365
- }
2366
1790
  .toolbar-bottom .toolbar-inner,
2367
1791
  .ios .toolbar-bottom-ios .toolbar-inner,
2368
1792
  .md .toolbar-bottom-md .toolbar-inner {
@@ -2370,45 +1794,17 @@ html.device-full-viewport body {
2370
1794
  top: 0;
2371
1795
  bottom: var(--f7-safe-area-bottom);
2372
1796
  }
2373
- .toolbar-bottom.no-outline:before,
2374
- .ios .toolbar-bottom-ios.no-outline:before,
2375
- .md .toolbar-bottom-md.no-outline:before {
2376
- display: none !important;
2377
- }
2378
- .toolbar-bottom.toolbar-hidden:after,
2379
- .ios .toolbar-bottom-ios.toolbar-hidden:after,
2380
- .md .toolbar-bottom-md.toolbar-hidden:after {
2381
- display: none !important;
2382
- }
2383
- .toolbar-bottom:before,
2384
- .ios .toolbar-bottom-ios:before,
2385
- .md .toolbar-bottom-md:before {
2386
- content: '';
2387
- position: absolute;
2388
- background-color: var(--f7-toolbar-border-color, var(--f7-bars-border-color));
2389
- display: block;
2390
- z-index: 15;
2391
- top: 0;
2392
- right: auto;
2393
- bottom: auto;
2394
- left: 0;
2395
- height: 1px;
2396
- width: 100%;
2397
- transform-origin: 50% 0%;
2398
- transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
2399
- }
2400
1797
  .toolbar-inner {
2401
1798
  position: absolute;
1799
+ z-index: 1;
2402
1800
  left: 0;
2403
1801
  top: 0;
2404
1802
  width: 100%;
2405
1803
  height: 100%;
2406
1804
  display: flex;
2407
- justify-content: space-between;
2408
1805
  box-sizing: border-box;
2409
1806
  align-items: center;
2410
1807
  align-content: center;
2411
- overflow: hidden;
2412
1808
  padding: 0 calc(var(--f7-toolbar-inner-padding-right) + var(--f7-safe-area-right)) 0 calc(var(--f7-toolbar-inner-padding-left) + var(--f7-safe-area-left));
2413
1809
  }
2414
1810
  .views > .tabbar,
@@ -2450,18 +1846,6 @@ html.device-full-viewport body {
2450
1846
  height: var(--f7-tabbar-icon-size);
2451
1847
  line-height: var(--f7-tabbar-icon-size);
2452
1848
  }
2453
- .md .tabbar.tabbar-icons .tab-link-highlight,
2454
- .md .tabbar-icons.tabbar-icons .tab-link-highlight {
2455
- display: none;
2456
- }
2457
- .md .tabbar:not(.tabbar-icons) .tab-link-highlight,
2458
- .md .tabbar-icons:not(.tabbar-icons) .tab-link-highlight {
2459
- position: absolute;
2460
- height: 2px;
2461
- background: var(--f7-tabbar-link-active-border-color, var(--f7-theme-color));
2462
- transition-duration: 300ms;
2463
- left: 0;
2464
- }
2465
1849
  .tabbar-icons {
2466
1850
  --f7-toolbar-height: var(--f7-tabbar-icons-height);
2467
1851
  }
@@ -2497,8 +1881,7 @@ html.device-full-viewport body {
2497
1881
  scrollbar-color: transparent;
2498
1882
  }
2499
1883
  .tabbar-scrollable .toolbar-inner::-webkit-scrollbar {
2500
- -webkit-appearance: none;
2501
- appearance: none;
1884
+ appearance: none;
2502
1885
  width: 0px;
2503
1886
  display: none;
2504
1887
  opacity: 0;
@@ -2541,12 +1924,14 @@ html.device-full-viewport body {
2541
1924
  }
2542
1925
  .toolbar-top ~ *,
2543
1926
  .ios .toolbar-top-ios ~ *,
2544
- .md .toolbar-top-md ~ * {
1927
+ .md .toolbar-top-md ~ *,
1928
+ .sheet-modal-bottom > .toolbar:not(.toolbar-bottom) ~ * {
2545
1929
  --f7-page-toolbar-top-offset: var(--f7-toolbar-height);
2546
1930
  }
2547
1931
  .toolbar-top.tabbar-icons ~ *,
2548
1932
  .ios .toolbar-top-ios.tabbar-icons ~ *,
2549
- .md .toolbar-top-md.tabbar-icons ~ * {
1933
+ .md .toolbar-top-md.tabbar-icons ~ *,
1934
+ .sheet-modal-bottom > .toolbar:not(.toolbar-bottom).tabbar-icons ~ * {
2550
1935
  --f7-page-toolbar-top-offset: var(--f7-tabbar-icons-height);
2551
1936
  }
2552
1937
  .toolbar-top.toolbar-hidden,
@@ -2621,13 +2006,124 @@ html.device-full-viewport body {
2621
2006
  .md .navbar-large-hidden ~ * .toolbar-top-md:not(.toolbar-hidden) {
2622
2007
  transform: translate3d(0, calc(0px - var(--f7-navbar-height) - var(--f7-navbar-large-title-height)), 0);
2623
2008
  }
2624
- .ios .toolbar a.icon-only {
2625
- min-height: var(--f7-toolbar-height);
2009
+ .ios .toolbar-pane {
2010
+ -webkit-user-select: none;
2011
+ user-select: none;
2012
+ }
2013
+ .ios .toolbar-pane,
2014
+ .ios .toolbar .left,
2015
+ .ios .toolbar .right {
2016
+ display: flex;
2017
+ align-items: center;
2018
+ justify-content: center;
2019
+ height: 100%;
2020
+ position: relative;
2021
+ z-index: 1;
2022
+ border-radius: 32px;
2023
+ backdrop-filter: saturate(180%) blur(16px);
2024
+ box-shadow: var(--f7-glass-shadow);
2025
+ background-color: var(--f7-glass-bg-color);
2026
+ }
2027
+ .ios .toolbar .left {
2028
+ margin-right: auto;
2029
+ }
2030
+ .ios .toolbar .right {
2031
+ margin-left: auto;
2032
+ }
2033
+ .ios .toolbar .left:empty,
2034
+ .ios .toolbar .right:empty {
2035
+ display: none;
2036
+ }
2037
+ .ios .toolbar a:is(.icon-only, :has(i:only-child), :has(svg:only-child)) {
2626
2038
  display: flex;
2627
2039
  justify-content: center;
2628
2040
  align-items: center;
2629
2041
  margin: 0;
2630
- min-width: 44px;
2042
+ min-width: 48px;
2043
+ min-height: 48px;
2044
+ padding: 0;
2045
+ }
2046
+ .ios .toolbar .link {
2047
+ padding: 0 12px;
2048
+ height: 100%;
2049
+ }
2050
+ .ios .toolbar::before,
2051
+ .ios .toolbar::after {
2052
+ pointer-events: none;
2053
+ content: '';
2054
+ position: absolute;
2055
+ inset: 0;
2056
+ }
2057
+ .ios .toolbar::before {
2058
+ backdrop-filter: blur(2px);
2059
+ mask-image: linear-gradient(to top, black 50%, transparent 100%);
2060
+ }
2061
+ .ios .toolbar::after {
2062
+ background-image: linear-gradient(to top, var(--f7-toolbar-bg-color, var(--f7-bars-bg-color)) 0%, transparent 100%);
2063
+ }
2064
+ .ios .toolbar.toolbar-bottom::before,
2065
+ .ios .toolbar.messagebar::before,
2066
+ .ios .toolbar.toolbar-bottom::after,
2067
+ .ios .toolbar.messagebar::after {
2068
+ top: -16px;
2069
+ }
2070
+ .ios .toolbar.toolbar-bottom .toolbar-inner,
2071
+ .ios .toolbar.messagebar .toolbar-inner {
2072
+ padding-bottom: 16px;
2073
+ }
2074
+ .ios .toolbar.toolbar-top::before,
2075
+ .ios .toolbar:not(.toolbar-bottom, .toolbar-top, .messagebar)::before {
2076
+ mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
2077
+ }
2078
+ .ios .toolbar.toolbar-top::after,
2079
+ .ios .toolbar:not(.toolbar-bottom, .toolbar-top, .messagebar)::after {
2080
+ background-image: linear-gradient(to bottom, var(--f7-toolbar-bg-color, var(--f7-bars-bg-color)) 0%, transparent 100%);
2081
+ }
2082
+ .ios .toolbar.toolbar-top::before,
2083
+ .ios .toolbar:not(.toolbar-bottom, .toolbar-top, .messagebar)::before,
2084
+ .ios .toolbar.toolbar-top::after,
2085
+ .ios .toolbar:not(.toolbar-bottom, .toolbar-top, .messagebar)::after {
2086
+ bottom: -16px;
2087
+ }
2088
+ .ios .toolbar.toolbar-top .toolbar-inner,
2089
+ .ios .toolbar:not(.toolbar-bottom, .toolbar-top, .messagebar) .toolbar-inner {
2090
+ padding-top: 16px;
2091
+ }
2092
+ .ios .navbar ~ .toolbar-top::before,
2093
+ .ios .navbar ~ .toolbar-top::after {
2094
+ display: none;
2095
+ }
2096
+ .ios .toolbar-inner {
2097
+ justify-content: center;
2098
+ overflow: visible;
2099
+ gap: 16px;
2100
+ }
2101
+ .ios .tabbar-scrollable .toolbar-pane {
2102
+ overflow: auto;
2103
+ -webkit-overflow-scrolling: touch;
2104
+ scrollbar-width: none;
2105
+ scrollbar-color: transparent;
2106
+ justify-content: flex-start;
2107
+ }
2108
+ .ios .tabbar-scrollable .toolbar-pane::-webkit-scrollbar {
2109
+ appearance: none;
2110
+ width: 0px;
2111
+ display: none;
2112
+ opacity: 0;
2113
+ background: transparent;
2114
+ }
2115
+ .ios .tabbar-scrollable .toolbar-pane::-webkit-scrollbar-track {
2116
+ box-shadow: none;
2117
+ background: transparent;
2118
+ }
2119
+ .ios .tabbar-scrollable .toolbar-pane::-webkit-scrollbar-thumb {
2120
+ background-color: transparent;
2121
+ outline: none;
2122
+ border-radius: 9999px;
2123
+ position: relative;
2124
+ }
2125
+ .ios .tabbar:not(.tabbar-scrollable) {
2126
+ touch-action: none;
2631
2127
  }
2632
2128
  .ios .tabbar-icons .tab-link,
2633
2129
  .ios .tabbar-icons .link {
@@ -2639,19 +2135,16 @@ html.device-full-viewport body {
2639
2135
  margin: 0;
2640
2136
  margin-top: 4px;
2641
2137
  }
2642
- @media (min-width: 768px) and (min-height: 600px) {
2643
- .ios .tabbar .tab-link,
2644
- .ios .tabbar-icons .tab-link,
2645
- .ios .tabbar .link,
2646
- .ios .tabbar-icons .link {
2647
- justify-content: center;
2648
- flex-direction: row;
2138
+ @media (max-width: 767px) {
2139
+ .ios .tabbar .toolbar-pane {
2140
+ width: 100%;
2649
2141
  }
2650
- .ios .tabbar .tab-link i + span,
2651
- .ios .tabbar-icons .tab-link i + span,
2652
- .ios .tabbar .link i + span,
2653
- .ios .tabbar-icons .link i + span {
2654
- margin-left: 5px;
2142
+ }
2143
+ @media (min-width: 768px) {
2144
+ .ios .tabbar .tab-link {
2145
+ padding-left: 16px;
2146
+ padding-right: 16px;
2147
+ min-width: 96px;
2655
2148
  }
2656
2149
  }
2657
2150
  .ios .tabbar-scrollable .toolbar-inner {
@@ -2661,14 +2154,116 @@ html.device-full-viewport body {
2661
2154
  .ios .tabbar-scrollable .link {
2662
2155
  padding: 0 8px;
2663
2156
  }
2157
+ .ios .tab-link-highlight {
2158
+ position: absolute;
2159
+ height: 100%;
2160
+ top: 0;
2161
+ transition-duration: 300ms;
2162
+ border-radius: inherit;
2163
+ left: 0;
2164
+ }
2165
+ .ios .tab-link-highlight::before,
2166
+ .ios .tab-link-highlight::after {
2167
+ content: '';
2168
+ position: absolute;
2169
+ inset: 4px;
2170
+ border-radius: inherit;
2171
+ transition-duration: 300ms;
2172
+ }
2173
+ .ios .tab-link-highlight::before {
2174
+ background-color: var(--f7-tabbar-link-highlight-bg-color);
2175
+ }
2176
+ .ios .tab-link-highlight::after {
2177
+ opacity: 0;
2178
+ box-shadow: var(--f7-glass-shadow-thumb);
2179
+ background-color: var(--f7-tabbar-link-highlight-active-bg-color);
2180
+ }
2181
+ .ios .tab-link-highlight-pressed::before {
2182
+ opacity: 0;
2183
+ }
2184
+ .ios .tab-link-highlight-pressed::after {
2185
+ opacity: 1;
2186
+ }
2187
+ .ios .tab-link-highlight-pressed::before,
2188
+ .ios .tab-link-highlight-pressed::after {
2189
+ scale: 1.4;
2190
+ }
2191
+ .md .toolbar-pane {
2192
+ display: contents;
2193
+ }
2194
+ .md .toolbar {
2195
+ background-color: var(--f7-toolbar-bg-color, var(--f7-bars-bg-color));
2196
+ }
2664
2197
  .md .toolbar .link {
2665
2198
  justify-content: center;
2666
2199
  padding: 0 12px;
2667
2200
  min-width: 48px;
2201
+ min-height: 48px;
2202
+ line-height: var(--f7-toolbar-link-line-height, var(--f7-toolbar-height));
2203
+ height: var(--f7-toolbar-link-height, var(--f7-toolbar-height));
2668
2204
  }
2669
- .md .toolbar a.icon-only {
2670
- min-width: 0;
2205
+ .md .toolbar a:is(.icon-only, :has(i:only-child), :has(svg:only-child)) {
2206
+ min-width: 48px;
2671
2207
  flex-shrink: 0;
2208
+ padding: 0;
2209
+ }
2210
+ .md .toolbar-top.no-outline:after,
2211
+ .md .md .toolbar-top-md.no-outline:after {
2212
+ display: none !important;
2213
+ }
2214
+ .md .toolbar-top.toolbar-hidden:before,
2215
+ .md .md .toolbar-top-md.toolbar-hidden:before {
2216
+ display: none !important;
2217
+ }
2218
+ .md .toolbar-top:after,
2219
+ .md .md .toolbar-top-md:after,
2220
+ .md .toolbar-top:before,
2221
+ .md .md .toolbar-top-md:before {
2222
+ backface-visibility: hidden;
2223
+ }
2224
+ .md .toolbar-top:after,
2225
+ .md .md .toolbar-top-md:after {
2226
+ content: '';
2227
+ position: absolute;
2228
+ background-color: var(--f7-toolbar-border-color, var(--f7-bars-border-color));
2229
+ display: block;
2230
+ z-index: 15;
2231
+ top: auto;
2232
+ right: auto;
2233
+ bottom: 0;
2234
+ left: 0;
2235
+ height: 1px;
2236
+ width: 100%;
2237
+ transform-origin: 50% 100%;
2238
+ transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
2239
+ }
2240
+ .md .toolbar-bottom.no-outline:before,
2241
+ .md .md .toolbar-bottom-md.no-outline:before {
2242
+ display: none !important;
2243
+ }
2244
+ .md .toolbar-bottom.toolbar-hidden:after,
2245
+ .md .md .toolbar-bottom-md.toolbar-hidden:after {
2246
+ display: none !important;
2247
+ }
2248
+ .md .toolbar-bottom:before,
2249
+ .md .md .toolbar-bottom-md:before {
2250
+ content: '';
2251
+ position: absolute;
2252
+ background-color: var(--f7-toolbar-border-color, var(--f7-bars-border-color));
2253
+ display: block;
2254
+ z-index: 15;
2255
+ top: 0;
2256
+ right: auto;
2257
+ bottom: auto;
2258
+ left: 0;
2259
+ height: 1px;
2260
+ width: 100%;
2261
+ transform-origin: 50% 0%;
2262
+ transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
2263
+ }
2264
+ .md .toolbar-inner {
2265
+ justify-content: space-between;
2266
+ overflow: hidden;
2672
2267
  }
2673
2268
  .md .tabbar .tab-link,
2674
2269
  .md .tabbar-icons .tab-link,
@@ -2677,8 +2272,8 @@ html.device-full-viewport body {
2677
2272
  padding-left: 0;
2678
2273
  padding-right: 0;
2679
2274
  }
2680
- .md .tabbar a.icon-only,
2681
- .md .tabbar-icons a.icon-only {
2275
+ .md .tabbar a:is(.icon-only, :has(i:only-child), :has(svg:only-child)),
2276
+ .md .tabbar-icons a:is(.icon-only, :has(i:only-child), :has(svg:only-child)) {
2682
2277
  flex-shrink: initial;
2683
2278
  }
2684
2279
  .md .tabbar .tab-link,
@@ -2732,10 +2327,30 @@ html.device-full-viewport body {
2732
2327
  .md .tabbar-scrollable .link {
2733
2328
  padding: 0 12px;
2734
2329
  }
2330
+ .md .toolbar-top-md .tab-link-highlight,
2331
+ .md .toolbar-top .tab-link-highlight {
2332
+ bottom: 0;
2333
+ }
2334
+ .md .toolbar-bottom .tab-link-highlight,
2335
+ .md .toolbar-bottom-md .tab-link-highlight {
2336
+ top: 0;
2337
+ }
2338
+ .md .tabbar.tabbar-icons .tab-link-highlight,
2339
+ .md .tabbar-icons.tabbar-icons .tab-link-highlight {
2340
+ display: none;
2341
+ }
2342
+ .md .tabbar:not(.tabbar-icons) .tab-link-highlight,
2343
+ .md .tabbar-icons:not(.tabbar-icons) .tab-link-highlight {
2344
+ position: absolute;
2345
+ height: 2px;
2346
+ background: var(--f7-tabbar-link-active-border-color, var(--f7-theme-color));
2347
+ transition-duration: 300ms;
2348
+ left: 0;
2349
+ }
2735
2350
  /* === Subnavbar === */
2736
2351
  :root {
2737
2352
  /*
2738
- --f7-subnavbar-bg-color: var(--f7-bars-bg-color);
2353
+
2739
2354
  --f7-subnavbar-bg-color-rgb: var(--f7-bars-bg-color-rgb);
2740
2355
  --f7-subnavbar-border-color: var(--f7-bars-border-color);
2741
2356
  --f7-subnavbar-link-color: var(--f7-bars-link-color);
@@ -2745,12 +2360,15 @@ html.device-full-viewport body {
2745
2360
  }
2746
2361
  .ios {
2747
2362
  --f7-subnavbar-height: 44px;
2748
- --f7-subnavbar-inner-padding-left: 8px;
2749
- --f7-subnavbar-inner-padding-right: 8px;
2750
- --f7-subnavbar-title-font-size: 34px;
2363
+ --f7-subnavbar-offset-left: calc(16px + var(--f7-safe-area-left));
2364
+ --f7-subnavbar-offset-right: calc(16px + var(--f7-safe-area-right));
2365
+ --f7-subnavbar-inner-padding-left: 5px;
2366
+ --f7-subnavbar-inner-padding-right: 5px;
2367
+ --f7-subnavbar-title-font-size: 24px;
2751
2368
  --f7-subnavbar-title-font-weight: 700;
2752
2369
  --f7-subnavbar-title-letter-spacing: -0.03em;
2753
2370
  --f7-subnavbar-title-margin-left: 8px;
2371
+ --f7-subnavbar-bg-color: var(--f7-glass-bg-color);
2754
2372
  /*
2755
2373
  --f7-subnavbar-link-height: var(--f7-subnavbar-height);
2756
2374
  --f7-subnavbar-link-line-height: var(--f7-subnavbar-height);
@@ -2758,21 +2376,24 @@ html.device-full-viewport body {
2758
2376
  }
2759
2377
  .md {
2760
2378
  --f7-subnavbar-height: 64px;
2761
- --f7-subnavbar-inner-padding-left: 16px;
2762
- --f7-subnavbar-inner-padding-right: 16px;
2379
+ --f7-subnavbar-offset-left: 0;
2380
+ --f7-subnavbar-offset-right: 0;
2381
+ --f7-subnavbar-inner-padding-left: calc(16px + var(--f7-safe-area-left));
2382
+ --f7-subnavbar-inner-padding-right: calc(16px + var(--f7-safe-area-right));
2763
2383
  --f7-subnavbar-title-font-size: 22px;
2764
2384
  --f7-subnavbar-title-font-weight: 400;
2765
2385
  --f7-subnavbar-title-letter-spacing: 0;
2766
2386
  --f7-subnavbar-title-margin-left: 0px;
2767
2387
  /*
2388
+ --f7-subnavbar-bg-color: var(--f7-bars-bg-color);
2768
2389
  --f7-subnavbar-link-height: var(--f7-subnavbar-height);
2769
2390
  --f7-subnavbar-link-line-height: var(--f7-subnavbar-height);
2770
2391
  */
2771
2392
  }
2772
2393
  .subnavbar {
2773
- width: 100%;
2774
2394
  position: absolute;
2775
- left: 0;
2395
+ left: var(--f7-subnavbar-offset-left);
2396
+ right: var(--f7-subnavbar-offset-right);
2776
2397
  top: 0;
2777
2398
  z-index: 600;
2778
2399
  box-sizing: border-box;
@@ -2782,13 +2403,6 @@ html.device-full-viewport body {
2782
2403
  background-color: var(--f7-subnavbar-bg-color, var(--f7-bars-bg-color));
2783
2404
  color: var(--f7-subnavbar-text-color, var(--f7-bars-text-color));
2784
2405
  }
2785
- @supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
2786
- .ios-translucent-bars .subnavbar {
2787
- background-color: rgba(var(--f7-subnavbar-bg-color-rgb, var(--f7-bars-bg-color-rgb)), var(--f7-bars-translucent-opacity));
2788
- -webkit-backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
2789
- backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
2790
- }
2791
- }
2792
2406
  .subnavbar .subnavbar-title {
2793
2407
  position: relative;
2794
2408
  overflow: hidden;
@@ -2820,7 +2434,7 @@ html.device-full-viewport body {
2820
2434
  line-height: var(--f7-subnavbar-link-line-height, var(--f7-subnavbar-height));
2821
2435
  height: var(--f7-subnavbar-link-height, var(--f7-subnavbar-height));
2822
2436
  }
2823
- .subnavbar a.icon-only {
2437
+ .subnavbar a:is(.icon-only, :has(i:only-child), :has(svg:only-child)) {
2824
2438
  min-width: var(--f7-subnavbar-height);
2825
2439
  }
2826
2440
  .subnavbar.no-outline:after {
@@ -2831,8 +2445,7 @@ html.device-full-viewport body {
2831
2445
  }
2832
2446
  .subnavbar:after,
2833
2447
  .subnavbar:before {
2834
- -webkit-backface-visibility: hidden;
2835
- backface-visibility: hidden;
2448
+ backface-visibility: hidden;
2836
2449
  }
2837
2450
  .subnavbar:after {
2838
2451
  content: '';
@@ -2857,7 +2470,7 @@ html.device-full-viewport body {
2857
2470
  box-sizing: border-box;
2858
2471
  justify-content: space-between;
2859
2472
  overflow: hidden;
2860
- padding: 0 calc(var(--f7-subnavbar-inner-padding-left) + var(--f7-safe-area-right)) 0 calc(var(--f7-subnavbar-inner-padding-right) + var(--f7-safe-area-left));
2473
+ padding: 0 var(--f7-subnavbar-inner-padding-left) 0 var(--f7-subnavbar-inner-padding-right);
2861
2474
  }
2862
2475
  .navbar .subnavbar {
2863
2476
  top: 100%;
@@ -2893,6 +2506,18 @@ html.device-full-viewport body {
2893
2506
  height: calc(var(--f7-subnavbar-height) + 1px);
2894
2507
  margin-top: -1px;
2895
2508
  padding-top: 1px;
2509
+ border-radius: var(--f7-subnavbar-height);
2510
+ box-shadow: var(--f7-glass-shadow);
2511
+ backdrop-filter: saturate(180%) blur(16px);
2512
+ --f7-segmented-strong-bg-color: transparent;
2513
+ }
2514
+ .ios .subnavbar:has(> .searchbar) {
2515
+ background: transparent;
2516
+ backdrop-filter: none;
2517
+ box-shadow: none;
2518
+ }
2519
+ .ios .subnavbar .subnavbar-inner {
2520
+ border-radius: inherit;
2896
2521
  }
2897
2522
  .ios .subnavbar .title {
2898
2523
  align-self: flex-start;
@@ -2914,7 +2539,7 @@ html.device-full-viewport body {
2914
2539
  .ios .subnavbar a.link {
2915
2540
  justify-content: flex-start;
2916
2541
  }
2917
- .ios .subnavbar a.icon-only {
2542
+ .ios .subnavbar a:is(.icon-only, :has(i:only-child), :has(svg:only-child)) {
2918
2543
  justify-content: center;
2919
2544
  margin: 0;
2920
2545
  }
@@ -2931,7 +2556,7 @@ html.device-full-viewport body {
2931
2556
  justify-content: center;
2932
2557
  padding: 0 12px;
2933
2558
  }
2934
- .md .subnavbar a.icon-only {
2559
+ .md .subnavbar a:is(.icon-only, :has(i:only-child), :has(svg:only-child)) {
2935
2560
  flex-shrink: 0;
2936
2561
  padding: 0 12px;
2937
2562
  }
@@ -2964,18 +2589,18 @@ html.device-full-viewport body {
2964
2589
  --f7-block-text-color: inherit;
2965
2590
  --f7-block-margin-vertical: 35px;
2966
2591
  --f7-block-outline-border-color: rgba(0, 0, 0, 0.22);
2967
- --f7-block-title-font-size: 16px;
2592
+ --f7-block-title-font-size: 17px;
2968
2593
  --f7-block-title-font-weight: 600;
2969
2594
  --f7-block-title-line-height: 20px;
2970
2595
  --f7-block-title-margin-bottom: 10px;
2971
- --f7-block-title-medium-font-size: 22px;
2596
+ --f7-block-title-medium-font-size: 20px;
2972
2597
  --f7-block-title-medium-font-weight: bold;
2973
2598
  --f7-block-title-medium-line-height: 1.4;
2974
- --f7-block-title-large-font-size: 30px;
2599
+ --f7-block-title-large-font-size: 22px;
2975
2600
  --f7-block-title-large-font-weight: bold;
2976
2601
  --f7-block-title-large-line-height: 1.3;
2977
- --f7-block-inset-border-radius: 8px;
2978
- --f7-block-title-text-color: #000;
2602
+ --f7-block-inset-border-radius: 24px;
2603
+ --f7-block-title-text-color: rgba(0, 0, 0, 0.6);
2979
2604
  --f7-block-strong-text-color: #000;
2980
2605
  --f7-block-header-text-color: rgba(0, 0, 0, 0.45);
2981
2606
  --f7-block-footer-text-color: rgba(0, 0, 0, 0.45);
@@ -2985,7 +2610,7 @@ html.device-full-viewport body {
2985
2610
  }
2986
2611
  .ios .dark,
2987
2612
  .ios.dark {
2988
- --f7-block-title-text-color: #fff;
2613
+ --f7-block-title-text-color: rgba(255, 255, 255, 0.6);
2989
2614
  --f7-block-header-text-color: rgba(255, 255, 255, 0.55);
2990
2615
  --f7-block-footer-text-color: rgba(255, 255, 255, 0.55);
2991
2616
  --f7-block-strong-text-color: #fff;
@@ -3391,7 +3016,6 @@ html.device-full-viewport body {
3391
3016
  :root {
3392
3017
  --f7-list-inset-side-margin: 16px;
3393
3018
  --f7-list-item-padding-horizontal: 16px;
3394
- --f7-list-item-padding-vertical: 8px;
3395
3019
  --f7-list-media-item-padding-horizontal: 16px;
3396
3020
  --f7-list-item-text-max-lines: 2;
3397
3021
  --f7-list-chevron-icon-font-size: 20px;
@@ -3435,8 +3059,9 @@ html.device-full-viewport body {
3435
3059
  --f7-list-chevron-icon-color: rgba(255, 255, 255, 0.3);
3436
3060
  }
3437
3061
  .ios {
3062
+ --f7-list-item-padding-vertical: 12px;
3438
3063
  --f7-list-in-list-padding-left: 30px;
3439
- --f7-list-inset-border-radius: 8px;
3064
+ --f7-list-inset-border-radius: 24px;
3440
3065
  --f7-list-margin-vertical: 35px;
3441
3066
  --f7-list-font-size: 17px;
3442
3067
  --f7-list-chevron-icon-area: 20px;
@@ -3448,7 +3073,7 @@ html.device-full-viewport body {
3448
3073
  --f7-list-item-text-line-height: 21px;
3449
3074
  --f7-list-item-after-font-size: inherit;
3450
3075
  --f7-list-item-after-padding: 5px;
3451
- --f7-list-item-min-height: 44px;
3076
+ --f7-list-item-min-height: 52px;
3452
3077
  --f7-list-item-media-icons-margin: 5px;
3453
3078
  --f7-list-media-item-padding-vertical: 10px;
3454
3079
  --f7-list-media-item-title-font-weight: 600;
@@ -3461,7 +3086,7 @@ html.device-full-viewport body {
3461
3086
  --f7-list-group-title-font-size: inherit;
3462
3087
  --f7-list-group-title-font-weight: 400;
3463
3088
  --f7-menu-list-offset: 8px;
3464
- --f7-menu-list-border-radius: 8px;
3089
+ --f7-menu-list-border-radius: 16px;
3465
3090
  --f7-menu-list-item-bg-color: transparent;
3466
3091
  --f7-menu-list-item-text-color: inherit;
3467
3092
  --f7-menu-list-item-min-height: 44px;
@@ -3480,7 +3105,7 @@ html.device-full-viewport body {
3480
3105
  .ios .dark,
3481
3106
  .ios.dark {
3482
3107
  --f7-list-item-border-color: rgba(255, 255, 255, 0.15);
3483
- --f7-list-outline-inset-color: rgba(255, 255, 255, 0.15);
3108
+ --f7-list-outline-inset-border-color: rgba(255, 255, 255, 0.15);
3484
3109
  --f7-list-strong-bg-color: #1c1c1d;
3485
3110
  --f7-list-item-after-text-color: rgba(255, 255, 255, 0.55);
3486
3111
  --f7-list-item-header-text-color: rgba(255, 255, 255, 0.55);
@@ -3493,6 +3118,7 @@ html.device-full-viewport body {
3493
3118
  --f7-menu-list-item-selected-bg-color: var(--f7-theme-color);
3494
3119
  }
3495
3120
  .md {
3121
+ --f7-list-item-padding-vertical: 8px;
3496
3122
  --f7-list-in-list-padding-left: 24px;
3497
3123
  --f7-list-inset-border-radius: 16px;
3498
3124
  --f7-list-margin-vertical: 32px;
@@ -3703,8 +3329,8 @@ html.device-full-viewport body {
3703
3329
  .list label.item-content {
3704
3330
  color: inherit;
3705
3331
  }
3706
- .list .item-link.active-state,
3707
- .list label.item-content.active-state {
3332
+ .list .item-link.active-state:not(:has(.toggle-active-state)),
3333
+ .list label.item-content.active-state:not(:has(.toggle-active-state)) {
3708
3334
  background-color: var(--f7-list-link-pressed-bg-color);
3709
3335
  }
3710
3336
  .list .item-link .item-inner {
@@ -4514,7 +4140,6 @@ li.list-group-title:after,
4514
4140
  --f7-badge-bg-color: var(--f7-theme-color);
4515
4141
  }
4516
4142
  :root {
4517
- --f7-button-font-size: 14px;
4518
4143
  --f7-button-min-width: 32px;
4519
4144
  --f7-button-bg-color: transparent;
4520
4145
  --f7-button-border-width: 0px;
@@ -4526,8 +4151,7 @@ li.list-group-title:after,
4526
4151
  --f7-button-padding-vertical: 0px;
4527
4152
  */
4528
4153
  --f7-button-raised-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
4529
- --f7-button-raised-pressed-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16),
4530
- 0 3px 6px rgba(0, 0, 0, 0.23);
4154
+ --f7-button-raised-pressed-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
4531
4155
  --f7-segmented-raised-divider-color: rgba(0, 0, 0, 0.1);
4532
4156
  --f7-segmented-strong-padding: 2px;
4533
4157
  --f7-segmented-strong-between-buttons: 4px;
@@ -4546,12 +4170,13 @@ li.list-group-title:after,
4546
4170
  --f7-segmented-strong-button-active-text-color: #fff;
4547
4171
  }
4548
4172
  .ios {
4173
+ --f7-button-font-size: 15px;
4549
4174
  --f7-button-fill-text-color: #fff;
4550
- --f7-button-text-transform: uppercase;
4551
- --f7-button-height: 28px;
4175
+ --f7-button-text-transform: none;
4176
+ --f7-button-height: 34px;
4552
4177
  --f7-button-padding-horizontal: 10px;
4553
4178
  --f7-button-border-radius: 4px;
4554
- --f7-button-font-weight: 600;
4179
+ --f7-button-font-weight: 500;
4555
4180
  --f7-button-letter-spacing: 0;
4556
4181
  /*
4557
4182
  --f7-button-outline-border-color: var(--f7-theme-color);
@@ -4561,15 +4186,15 @@ li.list-group-title:after,
4561
4186
  --f7-button-pressed-bg-color: rgba(var(--f7-theme-color-rgb), .15);
4562
4187
  --f7-button-fill-pressed-bg-color: var(--f7-theme-color-tint);
4563
4188
  */
4564
- --f7-button-large-text-transform: uppercase;
4565
- --f7-button-large-height: 44px;
4189
+ --f7-button-large-text-transform: none;
4190
+ --f7-button-large-height: 48px;
4566
4191
  --f7-button-large-font-size: 17px;
4567
4192
  --f7-button-large-font-weight: 500;
4568
4193
  --f7-button-small-outline-border-width: 2px;
4569
- --f7-button-small-text-transform: uppercase;
4570
- --f7-button-small-height: 26px;
4571
- --f7-button-small-font-size: 13px;
4572
- --f7-button-small-font-weight: 600;
4194
+ --f7-button-small-text-transform: none;
4195
+ --f7-button-small-height: 28px;
4196
+ --f7-button-small-font-size: 14px;
4197
+ --f7-button-small-font-weight: 500;
4573
4198
  --f7-segmented-strong-button-text-transform: none;
4574
4199
  --f7-segmented-strong-button-active-font-weight: 600;
4575
4200
  --f7-button-tonal-bg-color: rgba(var(--f7-theme-color-rgb), 0.15);
@@ -4584,6 +4209,7 @@ li.list-group-title:after,
4584
4209
  --f7-segmented-strong-button-pressed-bg-color: rgba(255, 255, 255, 0.04);
4585
4210
  }
4586
4211
  .md {
4212
+ --f7-button-font-size: 14px;
4587
4213
  /*
4588
4214
  --f7-button-pressed-bg-color: transparent;
4589
4215
  */
@@ -4619,8 +4245,7 @@ li.list-group-title:after,
4619
4245
  --f7-button-tonal-text-color: var(--f7-md-on-secondary-container);
4620
4246
  }
4621
4247
  button {
4622
- -webkit-appearance: none;
4623
- appearance: none;
4248
+ appearance: none;
4624
4249
  width: 100%;
4625
4250
  }
4626
4251
  .button {
@@ -4628,8 +4253,7 @@ button {
4628
4253
  text-decoration: none;
4629
4254
  text-align: center;
4630
4255
  display: flex;
4631
- -webkit-appearance: none;
4632
- appearance: none;
4256
+ appearance: none;
4633
4257
  background: none;
4634
4258
  margin: 0;
4635
4259
  white-space: nowrap;
@@ -5108,6 +4732,29 @@ button .ripple-wave,
5108
4732
  opacity: 0;
5109
4733
  }
5110
4734
  }
4735
+ /* === Touch Highlight === */
4736
+ .ios {
4737
+ --f7-touch-highlight-bg-color: rgba(255, 255, 255, 0.5);
4738
+ }
4739
+ .ios .dark,
4740
+ .ios.dark {
4741
+ --f7-touch-highlight-bg-color: rgba(255, 255, 255, 0.3);
4742
+ }
4743
+ .ios .toolbar-pane,
4744
+ .ios .navbar .left,
4745
+ .ios .navbar .right,
4746
+ .ios .popover-inner,
4747
+ .ios .actions-group:not(.actions-grid .actions-group),
4748
+ .ios .searchbar-input-wrap,
4749
+ .ios .searchbar-disable-button,
4750
+ .ios .subnavbar,
4751
+ .ios .searchbar-input-wrap .autocomplete-dropdown,
4752
+ .ios .messagebar-area,
4753
+ .ios .notification,
4754
+ .ios .toast,
4755
+ .ios .fab > a {
4756
+ touch-action: none;
4757
+ }
5111
4758
  /* === Icon === */
5112
4759
  .f7-icons,
5113
4760
  .material-icons {
@@ -5126,7 +4773,8 @@ i.icon {
5126
4773
  .icon-back:after,
5127
4774
  .icon-prev:after,
5128
4775
  .icon-forward:after,
5129
- .icon-next:after {
4776
+ .icon-next:after,
4777
+ .icon-close:after {
5130
4778
  font-family: 'framework7-core-icons';
5131
4779
  font-weight: normal;
5132
4780
  font-style: normal;
@@ -5167,6 +4815,15 @@ i.icon {
5167
4815
  .ios .icon-next:after {
5168
4816
  font-size: 16px;
5169
4817
  }
4818
+ .ios .icon-close {
4819
+ width: 20px;
4820
+ height: 20px;
4821
+ line-height: 20px;
4822
+ font-size: 20px;
4823
+ }
4824
+ .ios .icon-close:after {
4825
+ content: 'close_ios';
4826
+ }
5170
4827
  .ios .icon-back:after,
5171
4828
  .ios .icon-prev:after {
5172
4829
  content: 'chevron_left_ios';
@@ -5188,6 +4845,15 @@ i.icon {
5188
4845
  .md .icon-prev:after {
5189
4846
  line-height: 1.2;
5190
4847
  }
4848
+ .md .icon-close {
4849
+ width: 24px;
4850
+ height: 24px;
4851
+ line-height: 24px;
4852
+ font-size: 24px;
4853
+ }
4854
+ .md .icon-close:after {
4855
+ content: 'close_md';
4856
+ }
5191
4857
  .md .icon-back:after {
5192
4858
  content: 'arrow_left_md';
5193
4859
  }