framework7 8.3.4 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/components/accordion/accordion-rtl.css +1 -1
  2. package/components/accordion/accordion.css +1 -1
  3. package/components/actions/actions-ios.less +22 -15
  4. package/components/actions/actions-rtl.css +1 -1
  5. package/components/actions/actions-vars.less +4 -7
  6. package/components/actions/actions.css +1 -1
  7. package/components/actions/actions.js +2 -8
  8. package/components/actions/actions.less +0 -3
  9. package/components/app/app-class.d.ts +2 -0
  10. package/components/app/app-class.js +19 -15
  11. package/components/app/app-vars.less +41 -6
  12. package/components/app/app.less +1 -1
  13. package/components/area-chart/area-chart-class.js +18 -31
  14. package/components/area-chart/area-chart-rtl.css +1 -1
  15. package/components/area-chart/area-chart.css +1 -1
  16. package/components/autocomplete/autocomplete-class.js +13 -14
  17. package/components/autocomplete/autocomplete-ios.less +16 -0
  18. package/components/autocomplete/autocomplete-rtl.css +1 -1
  19. package/components/autocomplete/autocomplete.css +1 -1
  20. package/components/autocomplete/autocomplete.d.ts +3 -3
  21. package/components/autocomplete/autocomplete.js +3 -3
  22. package/components/autocomplete/autocomplete.less +7 -1
  23. package/components/block/block-vars.less +6 -6
  24. package/components/breadcrumbs/breadcrumbs-rtl.css +1 -1
  25. package/components/breadcrumbs/breadcrumbs.css +1 -1
  26. package/components/button/button-vars.less +13 -12
  27. package/components/button/button.less +2 -1
  28. package/components/calendar/calendar-class.js +20 -17
  29. package/components/calendar/calendar-ios.less +43 -0
  30. package/components/calendar/calendar-md.less +3 -0
  31. package/components/calendar/calendar-rtl.css +1 -1
  32. package/components/calendar/calendar-vars.less +24 -19
  33. package/components/calendar/calendar.css +1 -1
  34. package/components/calendar/calendar.d.ts +1 -1
  35. package/components/calendar/calendar.js +5 -8
  36. package/components/calendar/calendar.less +4 -2
  37. package/components/card/card-rtl.css +1 -1
  38. package/components/card/card-vars.less +5 -5
  39. package/components/card/card.css +1 -1
  40. package/components/card/card.js +3 -18
  41. package/components/card/card.less +1 -1
  42. package/components/checkbox/checkbox-rtl.css +1 -1
  43. package/components/checkbox/checkbox.css +1 -1
  44. package/components/chip/chip-rtl.css +1 -1
  45. package/components/chip/chip.css +1 -1
  46. package/components/color-picker/color-picker-class.js +11 -23
  47. package/components/color-picker/color-picker-ios.less +9 -0
  48. package/components/color-picker/color-picker-md.less +15 -0
  49. package/components/color-picker/color-picker-rtl.css +1 -1
  50. package/components/color-picker/color-picker-vars.less +9 -3
  51. package/components/color-picker/color-picker.css +1 -1
  52. package/components/color-picker/color-picker.d.ts +1 -2
  53. package/components/color-picker/color-picker.js +3 -7
  54. package/components/color-picker/color-picker.less +5 -25
  55. package/components/color-picker/modules/alpha-slider.js +2 -0
  56. package/components/color-picker/modules/brightness-slider.js +2 -0
  57. package/components/color-picker/modules/hs-spectrum.js +1 -2
  58. package/components/color-picker/modules/hsb-sliders.js +6 -0
  59. package/components/color-picker/modules/hue-slider.js +2 -0
  60. package/components/color-picker/modules/rgb-bars.js +6 -0
  61. package/components/color-picker/modules/rgb-sliders.js +6 -0
  62. package/components/color-picker/modules/sb-spectrum.js +1 -2
  63. package/components/color-picker/modules/wheel.js +1 -2
  64. package/components/contacts-list/contacts-list-rtl.css +1 -1
  65. package/components/contacts-list/contacts-list.css +1 -1
  66. package/components/data-table/data-table-class.js +1 -4
  67. package/components/data-table/data-table-ios.less +1 -1
  68. package/components/data-table/data-table-md.less +4 -2
  69. package/components/data-table/data-table-rtl.css +1 -1
  70. package/components/data-table/data-table.css +1 -1
  71. package/components/data-table/data-table.less +4 -4
  72. package/components/dialog/dialog-class.js +6 -3
  73. package/components/dialog/dialog-ios.less +10 -34
  74. package/components/dialog/dialog-md.less +2 -22
  75. package/components/dialog/dialog-rtl.css +1 -1
  76. package/components/dialog/dialog-vars.less +8 -10
  77. package/components/dialog/dialog.css +1 -1
  78. package/components/dialog/dialog.js +9 -27
  79. package/components/dialog/dialog.less +6 -25
  80. package/components/fab/fab-ios.less +2 -0
  81. package/components/fab/fab-rtl.css +1 -1
  82. package/components/fab/fab-vars.less +30 -6
  83. package/components/fab/fab.css +1 -1
  84. package/components/fab/fab.js +3 -12
  85. package/components/gauge/gauge-class.js +2 -8
  86. package/components/gauge/gauge-rtl.css +1 -1
  87. package/components/gauge/gauge.css +1 -1
  88. package/components/icon/icon-ios.less +10 -0
  89. package/components/icon/icon-md.less +9 -0
  90. package/components/icon/icon.less +2 -1
  91. package/components/infinite-scroll/infinite-scroll-rtl.css +1 -1
  92. package/components/infinite-scroll/infinite-scroll.css +1 -1
  93. package/components/input/input-ios.less +3 -2
  94. package/components/input/input-rtl.css +1 -1
  95. package/components/input/input.css +1 -1
  96. package/components/input/input.js +2 -5
  97. package/components/list/list-vars.less +7 -5
  98. package/components/list/list.less +1 -1
  99. package/components/list-index/list-index-class.js +3 -7
  100. package/components/list-index/list-index-rtl.css +1 -1
  101. package/components/list-index/list-index.css +1 -1
  102. package/components/login-screen/login-screen-rtl.css +1 -1
  103. package/components/login-screen/login-screen.css +1 -1
  104. package/components/login-screen/login-screen.js +2 -8
  105. package/components/login-screen/login-screen.less +1 -0
  106. package/components/messagebar/messagebar-class.js +5 -20
  107. package/components/messagebar/messagebar-ios.less +19 -14
  108. package/components/messagebar/messagebar-md.less +3 -0
  109. package/components/messagebar/messagebar-rtl.css +1 -1
  110. package/components/messagebar/messagebar-vars.less +12 -15
  111. package/components/messagebar/messagebar.css +1 -1
  112. package/components/messagebar/messagebar.less +4 -5
  113. package/components/messages/messages-class.js +25 -52
  114. package/components/messages/messages-ios.less +6 -2
  115. package/components/messages/messages-rtl.css +1 -1
  116. package/components/messages/messages-vars.less +1 -1
  117. package/components/messages/messages.css +1 -1
  118. package/components/navbar/navbar-ios.less +52 -672
  119. package/components/navbar/navbar-md.less +41 -1
  120. package/components/navbar/navbar-vars.less +4 -3
  121. package/components/navbar/navbar.js +28 -185
  122. package/components/navbar/navbar.less +8 -66
  123. package/components/notification/notification-class.js +6 -6
  124. package/components/notification/notification-ios.less +3 -8
  125. package/components/notification/notification-md.less +1 -20
  126. package/components/notification/notification-rtl.css +1 -1
  127. package/components/notification/notification-vars.less +13 -16
  128. package/components/notification/notification.css +1 -1
  129. package/components/notification/notification.less +8 -1
  130. package/components/page/page-ios.less +1 -8
  131. package/components/page/page-md.less +12 -11
  132. package/components/page/page.less +14 -12
  133. package/components/panel/panel-class.js +7 -28
  134. package/components/panel/panel-ios.less +4 -0
  135. package/components/panel/panel-rtl.css +1 -3
  136. package/components/panel/panel-vars.less +8 -5
  137. package/components/panel/panel.css +1 -3
  138. package/components/panel/panel.js +8 -32
  139. package/components/panel/panel.less +9 -9
  140. package/components/panel/resizable-panel.js +2 -4
  141. package/components/photo-browser/photo-browser-class.js +12 -47
  142. package/components/photo-browser/photo-browser-rtl.css +1 -1
  143. package/components/photo-browser/photo-browser-vars.less +8 -10
  144. package/components/photo-browser/photo-browser.css +1 -1
  145. package/components/photo-browser/photo-browser.d.ts +2 -4
  146. package/components/photo-browser/photo-browser.js +1 -3
  147. package/components/photo-browser/photo-browser.less +15 -71
  148. package/components/picker/picker-class.js +4 -5
  149. package/components/picker/picker-ios.less +6 -1
  150. package/components/picker/picker-md.less +9 -0
  151. package/components/picker/picker-rtl.css +1 -1
  152. package/components/picker/picker-vars.less +1 -1
  153. package/components/picker/picker.css +1 -1
  154. package/components/picker/picker.d.ts +1 -1
  155. package/components/picker/picker.js +2 -5
  156. package/components/picker/picker.less +0 -4
  157. package/components/pie-chart/pie-chart-class.js +7 -14
  158. package/components/pie-chart/pie-chart-rtl.css +1 -1
  159. package/components/pie-chart/pie-chart.css +1 -1
  160. package/components/popover/popover-class.js +22 -62
  161. package/components/popover/popover-ios.less +66 -2
  162. package/components/popover/popover-md.less +2 -27
  163. package/components/popover/popover-rtl.css +1 -1
  164. package/components/popover/popover-vars.less +2 -3
  165. package/components/popover/popover.css +1 -1
  166. package/components/popover/popover.d.ts +0 -2
  167. package/components/popover/popover.js +2 -9
  168. package/components/popover/popover.less +28 -50
  169. package/components/popup/popup-class.js +15 -9
  170. package/components/popup/popup-rtl.css +1 -1
  171. package/components/popup/popup-vars.less +2 -2
  172. package/components/popup/popup.css +1 -1
  173. package/components/popup/popup.js +2 -8
  174. package/components/popup/popup.less +6 -6
  175. package/components/preloader/preloader-rtl.css +1 -1
  176. package/components/preloader/preloader.css +1 -1
  177. package/components/preloader/preloader.js +2 -8
  178. package/components/progressbar/progressbar-md.less +12 -0
  179. package/components/progressbar/progressbar-rtl.css +1 -1
  180. package/components/progressbar/progressbar-vars.less +6 -5
  181. package/components/progressbar/progressbar.css +1 -1
  182. package/components/progressbar/progressbar.js +3 -12
  183. package/components/progressbar/progressbar.less +6 -0
  184. package/components/pull-to-refresh/pull-to-refresh-class.js +5 -12
  185. package/components/pull-to-refresh/pull-to-refresh-rtl.css +1 -1
  186. package/components/pull-to-refresh/pull-to-refresh.css +1 -1
  187. package/components/radio/radio-rtl.css +1 -1
  188. package/components/radio/radio.css +1 -1
  189. package/components/range/range-class.js +34 -27
  190. package/components/range/range-ios.less +60 -0
  191. package/components/range/range-md.less +67 -4
  192. package/components/range/range-rtl.css +1 -1
  193. package/components/range/range-vars.less +18 -13
  194. package/components/range/range.css +1 -1
  195. package/components/range/range.d.ts +3 -1
  196. package/components/range/range.js +2 -8
  197. package/components/range/range.less +11 -24
  198. package/components/searchbar/searchbar-class.js +7 -8
  199. package/components/searchbar/searchbar-ios.less +37 -13
  200. package/components/searchbar/searchbar-md.less +5 -0
  201. package/components/searchbar/searchbar-rtl.css +1 -1
  202. package/components/searchbar/searchbar-vars.less +13 -16
  203. package/components/searchbar/searchbar.css +1 -1
  204. package/components/searchbar/searchbar.js +4 -32
  205. package/components/searchbar/searchbar.less +4 -5
  206. package/components/sheet/sheet-class.js +21 -17
  207. package/components/sheet/sheet-ios.less +10 -0
  208. package/components/sheet/sheet-md.less +14 -0
  209. package/components/sheet/sheet-rtl.css +1 -1
  210. package/components/sheet/sheet-vars.less +5 -9
  211. package/components/sheet/sheet.css +1 -1
  212. package/components/sheet/sheet.js +2 -8
  213. package/components/sheet/sheet.less +5 -17
  214. package/components/skeleton/skeleton-rtl.css +1 -1
  215. package/components/skeleton/skeleton.css +1 -1
  216. package/components/smart-select/smart-select-class.js +15 -20
  217. package/components/smart-select/smart-select-rtl.css +1 -1
  218. package/components/smart-select/smart-select.css +1 -1
  219. package/components/smart-select/smart-select.d.ts +5 -7
  220. package/components/smart-select/smart-select.js +4 -4
  221. package/components/sortable/sortable-rtl.css +1 -1
  222. package/components/sortable/sortable.css +1 -1
  223. package/components/sortable/sortable.js +8 -27
  224. package/components/statusbar/statusbar.js +2 -5
  225. package/components/stepper/stepper-rtl.css +1 -1
  226. package/components/stepper/stepper-vars.less +3 -3
  227. package/components/stepper/stepper.css +1 -1
  228. package/components/stepper/stepper.js +2 -8
  229. package/components/subnavbar/subnavbar-ios.less +16 -1
  230. package/components/subnavbar/subnavbar-md.less +5 -5
  231. package/components/subnavbar/subnavbar-vars.less +12 -6
  232. package/components/subnavbar/subnavbar.less +5 -6
  233. package/components/swipeout/swipeout-ios.less +37 -0
  234. package/components/swipeout/swipeout-md.less +56 -0
  235. package/components/swipeout/swipeout-rtl.css +1 -1
  236. package/components/swipeout/swipeout-vars.less +13 -2
  237. package/components/swipeout/swipeout.css +1 -1
  238. package/components/swipeout/swipeout.js +102 -35
  239. package/components/swipeout/swipeout.less +20 -44
  240. package/components/swiper/swiper-rtl.css +1 -1
  241. package/components/swiper/swiper.css +1 -1
  242. package/components/tabs/tabs-rtl.css +1 -1
  243. package/components/tabs/tabs.css +1 -1
  244. package/components/tabs/tabs.js +3 -9
  245. package/components/text-editor/text-editor-class.js +1 -1
  246. package/components/text-editor/text-editor-rtl.css +1 -1
  247. package/components/text-editor/text-editor.css +1 -1
  248. package/components/timeline/timeline-ios.less +0 -5
  249. package/components/timeline/timeline-md.less +0 -5
  250. package/components/timeline/timeline-rtl.css +1 -1
  251. package/components/timeline/timeline-vars.less +1 -17
  252. package/components/timeline/timeline.css +1 -1
  253. package/components/timeline/timeline.less +0 -196
  254. package/components/toast/toast-class.js +2 -2
  255. package/components/toast/toast-ios.less +2 -0
  256. package/components/toast/toast-rtl.css +1 -1
  257. package/components/toast/toast-vars.less +2 -4
  258. package/components/toast/toast.css +1 -1
  259. package/components/toast/toast.less +1 -1
  260. package/components/toggle/toggle-class.js +5 -12
  261. package/components/toggle/toggle-ios.less +68 -50
  262. package/components/toggle/toggle-rtl.css +1 -1
  263. package/components/toggle/toggle-vars.less +2 -2
  264. package/components/toggle/toggle.css +1 -1
  265. package/components/toolbar/tabbar-highlight.js +134 -0
  266. package/components/toolbar/toolbar-ios.less +160 -14
  267. package/components/toolbar/toolbar-md.less +77 -3
  268. package/components/toolbar/toolbar-vars.less +14 -10
  269. package/components/toolbar/toolbar.js +32 -13
  270. package/components/toolbar/toolbar.less +8 -56
  271. package/components/tooltip/tooltip-class.js +13 -16
  272. package/components/tooltip/tooltip-rtl.css +1 -1
  273. package/components/tooltip/tooltip.css +1 -1
  274. package/components/tooltip/tooltip.js +0 -16
  275. package/components/touch-highlight/touch-highlight-ios.less +17 -0
  276. package/components/touch-highlight/touch-highlight-md.less +2 -0
  277. package/components/touch-highlight/touch-highlight-vars.less +8 -0
  278. package/components/touch-highlight/touch-highlight.d.ts +25 -0
  279. package/components/touch-highlight/touch-highlight.js +123 -0
  280. package/components/touch-highlight/touch-highlight.less +9 -0
  281. package/components/touch-ripple/touch-ripple.js +1 -4
  282. package/components/treeview/treeview-rtl.css +1 -1
  283. package/components/treeview/treeview.css +1 -1
  284. package/components/typography/typography-rtl.css +1 -1
  285. package/components/typography/typography.css +1 -1
  286. package/components/view/resizable-view.js +2 -4
  287. package/components/view/view-class.js +1 -15
  288. package/components/view/view.d.ts +0 -4
  289. package/components/view/view.js +1 -5
  290. package/components/virtual-list/virtual-list-class.js +2 -8
  291. package/framework7-bundle-rtl.css +2284 -3019
  292. package/framework7-bundle-rtl.min.css +4 -10
  293. package/framework7-bundle.css +2245 -2978
  294. package/framework7-bundle.esm.js +5 -4
  295. package/framework7-bundle.js +7180 -6477
  296. package/framework7-bundle.js.map +1 -1
  297. package/framework7-bundle.less +4 -3
  298. package/framework7-bundle.min.css +4 -10
  299. package/framework7-bundle.min.js +4 -4
  300. package/framework7-bundle.min.js.map +1 -1
  301. package/framework7-lite-bundle.esm.js +5 -4
  302. package/framework7-lite.esm.js +5 -4
  303. package/framework7-rtl.css +509 -844
  304. package/framework7-rtl.min.css +4 -8
  305. package/framework7-types.d.ts +5 -1
  306. package/framework7.css +509 -843
  307. package/framework7.d.ts +4 -0
  308. package/framework7.esm.js +5 -4
  309. package/framework7.less +4 -3
  310. package/framework7.min.css +4 -8
  311. package/less/mixins.less +10 -12
  312. package/modules/component/$h.js +1 -4
  313. package/modules/component/$jsx.js +1 -4
  314. package/modules/component/component-class.js +49 -114
  315. package/modules/component/component.js +6 -7
  316. package/modules/component/eventslisteners.js +1 -4
  317. package/modules/component/snabbdom/modules/hero.js +0 -1
  318. package/modules/component/snabbdom/modules/style.js +1 -1
  319. package/modules/component/vdom.js +17 -29
  320. package/modules/router/back.js +22 -96
  321. package/modules/router/clear-previous-history.js +1 -7
  322. package/modules/router/component-loader.js +23 -32
  323. package/modules/router/modal.js +1 -4
  324. package/modules/router/navigate.js +28 -167
  325. package/modules/router/redirect.js +1 -5
  326. package/modules/router/router-class.js +28 -293
  327. package/modules/router/router.d.ts +2 -0
  328. package/modules/router/swipe-back.js +10 -318
  329. package/modules/router/tab.js +1 -4
  330. package/modules/service-worker/service-worker.js +1 -1
  331. package/modules/store/create-store.js +2 -8
  332. package/modules/touch/touch.d.ts +5 -3
  333. package/modules/touch/touch.js +23 -37
  334. package/package.json +4 -4
  335. package/shared/$jsx.js +1 -4
  336. package/shared/class.js +5 -26
  337. package/shared/constructor-methods.js +4 -19
  338. package/shared/events-class.js +3 -12
  339. package/shared/get-device.js +4 -11
  340. package/shared/get-support.d.ts +0 -6
  341. package/shared/get-support.js +1 -20
  342. package/shared/material-color-utils.js +2102 -693
  343. package/shared/material-colors.js +94 -23
  344. package/shared/modal-methods.js +2 -8
  345. package/shared/utils.js +23 -45
@@ -2,6 +2,7 @@
2
2
  .navbar {
3
3
  .title-large {
4
4
  align-items: center;
5
+ overflow: hidden;
5
6
  }
6
7
  .left {
7
8
  margin-left: 4px;
@@ -10,8 +11,9 @@
10
11
  a.link {
11
12
  padding: 0 12px;
12
13
  min-width: 48px;
14
+ height: var(--f7-navbar-link-height, var(--f7-navbar-height));
13
15
  }
14
- a.icon-only {
16
+ a:is(.icon-only, :has(i:only-child), :has(svg:only-child)) {
15
17
  min-width: 0;
16
18
  flex-shrink: 0;
17
19
  width: 48px;
@@ -35,6 +37,21 @@
35
37
  });
36
38
  }
37
39
  }
40
+ .navbar-pane {
41
+ display: contents;
42
+ }
43
+ .navbar-bg {
44
+ background: var(--f7-navbar-bg-color);
45
+ background-color: var(--f7-navbar-bg-color, var(--f7-bars-bg-color));
46
+ &:after,
47
+ &:before {
48
+ backface-visibility: hidden;
49
+ }
50
+ .hairline(bottom, var(--f7-navbar-border-color, var(--f7-bars-border-color)));
51
+ &:after {
52
+ z-index: 1;
53
+ }
54
+ }
38
55
  .navbar-inner {
39
56
  justify-content: flex-start;
40
57
  overflow: hidden;
@@ -62,4 +79,27 @@
62
79
  text-align: center;
63
80
  }
64
81
  }
82
+ // Transparent navbar
83
+ .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
84
+ .with-searchbar-expandable-enabled
85
+ ) {
86
+ .navbar-bg,
87
+ .title {
88
+ opacity: 0;
89
+ }
90
+ }
91
+
92
+ // Large Title Navbar
93
+ .navbar-large .navbar-bg {
94
+ height: calc(100% + var(--f7-navbar-large-title-height));
95
+ transform: translate3d(
96
+ 0px,
97
+ calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)),
98
+ 0
99
+ );
100
+ }
101
+ .navbar-large-transparent .navbar-bg,
102
+ .navbar-large.navbar-transparent .navbar-bg {
103
+ opacity: var(--f7-navbar-large-collapse-progress);
104
+ }
65
105
  }
@@ -17,11 +17,12 @@
17
17
  --f7-navbar-link-color: var(--f7-bars-link-color);
18
18
  --f7-navbar-text-color: var(--f7-bars-text-color);
19
19
  */
20
- --f7-navbar-height: 44px;
20
+ --f7-navbar-link-color: var(--f7-bars-text-color);
21
+ --f7-navbar-height: 76px;
21
22
  --f7-navbar-font-size: 17px;
22
23
  --f7-navbar-title-font-size: inherit;
23
- --f7-navbar-inner-padding-left: 8px;
24
- --f7-navbar-inner-padding-right: 8px;
24
+ --f7-navbar-inner-padding-left: 16px;
25
+ --f7-navbar-inner-padding-right: 16px;
25
26
  --f7-navbar-title-font-weight: 600;
26
27
  --f7-navbar-title-margin-left: 0;
27
28
  --f7-navbar-title-margin-right: 0;
@@ -4,13 +4,7 @@ import { getSupport } from '../../shared/get-support.js';
4
4
  const Navbar = {
5
5
  size(el) {
6
6
  const app = this;
7
- let $el = $(el);
8
- if ($el.hasClass('navbars')) {
9
- $el = $el.children('.navbar').each(navbarEl => {
10
- app.navbar.size(navbarEl);
11
- });
12
- return;
13
- }
7
+ const $el = $(el);
14
8
  const $innerEl = $el.children('.navbar-inner');
15
9
  if (!$innerEl.length) return;
16
10
  const needCenterTitle = $innerEl.hasClass('navbar-inner-centered-title') || app.params.navbar[`${app.theme}CenterTitle`];
@@ -25,11 +19,9 @@ const Navbar = {
25
19
  if (app.theme === 'ios' && !app.params.navbar.iosCenterTitle) {
26
20
  $innerEl.addClass('navbar-inner-left-title');
27
21
  }
28
- const $viewEl = $el.parents('.view').eq(0);
29
22
  const left = app.rtl ? $innerEl.children('.right') : $innerEl.children('.left');
30
23
  const right = app.rtl ? $innerEl.children('.left') : $innerEl.children('.right');
31
24
  const title = $innerEl.children('.title');
32
- const subnavbar = $innerEl.children('.subnavbar');
33
25
  const noLeft = left.length === 0;
34
26
  const noRight = right.length === 0;
35
27
  const leftWidth = noLeft ? 0 : left.outerWidth(true);
@@ -38,14 +30,6 @@ const Navbar = {
38
30
  const navbarStyles = $innerEl.styles();
39
31
  const navbarWidth = $innerEl[0].offsetWidth;
40
32
  const navbarInnerWidth = navbarWidth - parseInt(navbarStyles.paddingLeft, 10) - parseInt(navbarStyles.paddingRight, 10);
41
- const isPrevious = $el.hasClass('navbar-previous');
42
- const sliding = $innerEl.hasClass('sliding');
43
- let router;
44
- let dynamicNavbar;
45
- if ($viewEl.length > 0 && $viewEl[0].f7View) {
46
- router = $viewEl[0].f7View.router;
47
- dynamicNavbar = router && router.dynamicNavbar;
48
- }
49
33
  let currLeft;
50
34
  let diff;
51
35
  if (noRight) {
@@ -70,57 +54,6 @@ const Navbar = {
70
54
  diff = 0;
71
55
  }
72
56
 
73
- // RTL inverter
74
- const inverter = app.rtl ? -1 : 1;
75
- if (dynamicNavbar && app.theme === 'ios') {
76
- if (title.hasClass('sliding') || title.length > 0 && sliding) {
77
- let titleLeftOffset = -(currLeft + diff) * inverter;
78
- const titleRightOffset = (navbarInnerWidth - currLeft - diff - titleWidth) * inverter;
79
- if (isPrevious) {
80
- if (router && router.params.iosAnimateNavbarBackIcon) {
81
- const activeNavbarBackLink = $el.parent().find('.navbar-current').children('.left.sliding').find('.back .icon ~ span');
82
- if (activeNavbarBackLink.length > 0) {
83
- titleLeftOffset += activeNavbarBackLink[0].offsetLeft;
84
- }
85
- }
86
- }
87
- title[0].f7NavbarLeftOffset = titleLeftOffset;
88
- title[0].f7NavbarRightOffset = titleRightOffset;
89
- }
90
- if (!noLeft && (left.hasClass('sliding') || sliding)) {
91
- if (app.rtl) {
92
- left[0].f7NavbarLeftOffset = -(navbarInnerWidth - left[0].offsetWidth) / 2 * inverter;
93
- left[0].f7NavbarRightOffset = leftWidth * inverter;
94
- } else {
95
- left[0].f7NavbarLeftOffset = -leftWidth;
96
- left[0].f7NavbarRightOffset = (navbarInnerWidth - left[0].offsetWidth) / 2;
97
- if (router && router.params.iosAnimateNavbarBackIcon && left.find('.back .icon').length > 0) {
98
- if (left.find('.back .icon ~ span').length) {
99
- const leftOffset = left[0].f7NavbarLeftOffset;
100
- const rightOffset = left[0].f7NavbarRightOffset;
101
- left[0].f7NavbarLeftOffset = 0;
102
- left[0].f7NavbarRightOffset = 0;
103
- left.find('.back .icon ~ span')[0].f7NavbarLeftOffset = leftOffset;
104
- left.find('.back .icon ~ span')[0].f7NavbarRightOffset = rightOffset - left.find('.back .icon')[0].offsetWidth;
105
- }
106
- }
107
- }
108
- }
109
- if (!noRight && (right.hasClass('sliding') || sliding)) {
110
- if (app.rtl) {
111
- right[0].f7NavbarLeftOffset = -rightWidth * inverter;
112
- right[0].f7NavbarRightOffset = (navbarInnerWidth - right[0].offsetWidth) / 2 * inverter;
113
- } else {
114
- right[0].f7NavbarLeftOffset = -(navbarInnerWidth - right[0].offsetWidth) / 2;
115
- right[0].f7NavbarRightOffset = rightWidth;
116
- }
117
- }
118
- if (subnavbar.length && (subnavbar.hasClass('sliding') || sliding)) {
119
- subnavbar[0].f7NavbarLeftOffset = app.rtl ? subnavbar[0].offsetWidth : -subnavbar[0].offsetWidth;
120
- subnavbar[0].f7NavbarRightOffset = -subnavbar[0].f7NavbarLeftOffset;
121
- }
122
- }
123
-
124
57
  // Center title
125
58
  if (needCenterTitle) {
126
59
  let titleLeft = diff;
@@ -130,24 +63,13 @@ const Navbar = {
130
63
  });
131
64
  }
132
65
  },
133
- hide(el, animate, hideStatusbar, hideOnlyCurrent) {
134
- if (animate === void 0) {
135
- animate = true;
136
- }
137
- if (hideStatusbar === void 0) {
138
- hideStatusbar = false;
139
- }
140
- if (hideOnlyCurrent === void 0) {
141
- hideOnlyCurrent = false;
142
- }
66
+ hide(el, animate = true, hideStatusbar = false) {
143
67
  const app = this;
144
- let $el = $(el);
145
- const isDynamic = $el.hasClass('navbar') && $el.parent('.navbars').length && !hideOnlyCurrent;
146
- if (isDynamic) $el = $el.parents('.navbars');
68
+ const $el = $(el);
147
69
  if (!$el.length) return;
148
70
  if ($el.hasClass('navbar-hidden')) return;
149
71
  let className = `navbar-hidden${animate ? ' navbar-transitioning' : ''}`;
150
- const currentIsLarge = isDynamic ? $el.find('.navbar-current .title-large').length : $el.find('.title-large').length;
72
+ const currentIsLarge = $el.find('.title-large').length;
151
73
  if (currentIsLarge) {
152
74
  className += ' navbar-large-hidden';
153
75
  }
@@ -158,30 +80,12 @@ const Navbar = {
158
80
  $el.removeClass('navbar-transitioning');
159
81
  });
160
82
  $el.addClass(className);
161
- if (isDynamic) {
162
- $el.children('.navbar').each(subEl => {
163
- $(subEl).trigger('navbar:hide');
164
- app.emit('navbarHide', subEl);
165
- });
166
- } else {
167
- $el.trigger('navbar:hide');
168
- app.emit('navbarHide', $el[0]);
169
- }
83
+ $el.trigger('navbar:hide');
84
+ app.emit('navbarHide', $el[0]);
170
85
  },
171
- show(el, animate, hideOnlyCurrent) {
172
- if (el === void 0) {
173
- el = '.navbar-hidden';
174
- }
175
- if (animate === void 0) {
176
- animate = true;
177
- }
178
- if (hideOnlyCurrent === void 0) {
179
- hideOnlyCurrent = false;
180
- }
86
+ show(el = '.navbar-hidden', animate = true) {
181
87
  const app = this;
182
- let $el = $(el);
183
- const isDynamic = $el.hasClass('navbar') && $el.parent('.navbars').length && !hideOnlyCurrent;
184
- if (isDynamic) $el = $el.parents('.navbars');
88
+ const $el = $(el);
185
89
  if (!$el.length) return;
186
90
  if (!$el.hasClass('navbar-hidden')) return;
187
91
  if (animate) {
@@ -191,15 +95,8 @@ const Navbar = {
191
95
  });
192
96
  }
193
97
  $el.removeClass('navbar-hidden navbar-large-hidden navbar-hidden-statusbar');
194
- if (isDynamic) {
195
- $el.children('.navbar').each(subEl => {
196
- $(subEl).trigger('navbar:show');
197
- app.emit('navbarShow', subEl);
198
- });
199
- } else {
200
- $el.trigger('navbar:show');
201
- app.emit('navbarShow', $el[0]);
202
- }
98
+ $el.trigger('navbar:show');
99
+ app.emit('navbarShow', $el[0]);
203
100
  },
204
101
  getElByPage(page) {
205
102
  let $pageEl;
@@ -235,16 +132,7 @@ const Navbar = {
235
132
  },
236
133
  collapseLargeTitle(navbarEl) {
237
134
  const app = this;
238
- let $navbarEl = $(navbarEl);
239
- if ($navbarEl.hasClass('navbars')) {
240
- $navbarEl = $navbarEl.find('.navbar');
241
- if ($navbarEl.length > 1) {
242
- $navbarEl = $(navbarEl).find('.navbar-large.navbar-current');
243
- }
244
- if ($navbarEl.length > 1 || !$navbarEl.length) {
245
- return;
246
- }
247
- }
135
+ const $navbarEl = $(navbarEl);
248
136
  const $pageEl = $(app.navbar.getPageByEl($navbarEl));
249
137
  $navbarEl.addClass('navbar-large-collapsed');
250
138
  $pageEl.eq(0).addClass('page-with-navbar-large-collapsed').trigger('page:navbarlargecollapsed');
@@ -254,16 +142,7 @@ const Navbar = {
254
142
  },
255
143
  expandLargeTitle(navbarEl) {
256
144
  const app = this;
257
- let $navbarEl = $(navbarEl);
258
- if ($navbarEl.hasClass('navbars')) {
259
- $navbarEl = $navbarEl.find('.navbar-large');
260
- if ($navbarEl.length > 1) {
261
- $navbarEl = $(navbarEl).find('.navbar-large.navbar-current');
262
- }
263
- if ($navbarEl.length > 1 || !$navbarEl.length) {
264
- return;
265
- }
266
- }
145
+ const $navbarEl = $(navbarEl);
267
146
  const $pageEl = $(app.navbar.getPageByEl($navbarEl));
268
147
  $navbarEl.removeClass('navbar-large-collapsed');
269
148
  $pageEl.eq(0).removeClass('page-with-navbar-large-collapsed').trigger('page:navbarlargeexpanded');
@@ -273,16 +152,7 @@ const Navbar = {
273
152
  },
274
153
  toggleLargeTitle(navbarEl) {
275
154
  const app = this;
276
- let $navbarEl = $(navbarEl);
277
- if ($navbarEl.hasClass('navbars')) {
278
- $navbarEl = $navbarEl.find('.navbar-large');
279
- if ($navbarEl.length > 1) {
280
- $navbarEl = $(navbarEl).find('.navbar-large.navbar-current');
281
- }
282
- if ($navbarEl.length > 1 || !$navbarEl.length) {
283
- return;
284
- }
285
- }
155
+ const $navbarEl = $(navbarEl);
286
156
  if ($navbarEl.hasClass('navbar-large-collapsed')) {
287
157
  app.navbar.expandLargeTitle($navbarEl);
288
158
  } else {
@@ -360,7 +230,7 @@ const Navbar = {
360
230
  }
361
231
  }
362
232
  function handleNavbarTransparent() {
363
- const isHidden = $navbarEl.hasClass('navbar-hidden') || $navbarEl.parent('.navbars').hasClass('navbar-hidden');
233
+ const isHidden = $navbarEl.hasClass('navbar-hidden');
364
234
  const inSearchbarExpanded = $navbarEl.hasClass('with-searchbar-expandable-enabled');
365
235
  if (inSearchbarExpanded || isHidden) return;
366
236
  if (!navbarOffsetHeight) {
@@ -408,7 +278,7 @@ const Navbar = {
408
278
  let previousCollapseProgress = null;
409
279
  let collapseProgress = null;
410
280
  function handleLargeNavbarCollapse(pageContentEl) {
411
- const isHidden = $navbarEl.hasClass('navbar-hidden') || $navbarEl.parent('.navbars').hasClass('navbar-hidden');
281
+ const isHidden = $navbarEl.hasClass('navbar-hidden');
412
282
  if (isHidden) return;
413
283
  const isLargeTransparent = $navbarEl.hasClass('navbar-large-transparent') || $navbarEl.hasClass('navbar-large') && $navbarEl.hasClass('navbar-transparent');
414
284
  previousCollapseProgress = collapseProgress;
@@ -431,10 +301,12 @@ const Navbar = {
431
301
  $navbarEl.find('.title').css('opacity', '');
432
302
  $navbarEl.find('.title-large-text, .subnavbar').css('transform', '');
433
303
  $navbarEl.find('.title-large-text').css('opacity', '');
434
- if (isLargeTransparent) {
435
- $bgEl.css('opacity', '');
304
+ if (app.theme === 'md') {
305
+ if (isLargeTransparent) {
306
+ $bgEl.css('opacity', '');
307
+ }
308
+ $bgEl.css('transform', '');
436
309
  }
437
- $bgEl.css('transform', '');
438
310
  } else if (collapseProgress > 0 && collapseProgress < 1) {
439
311
  if (app.theme === 'md') {
440
312
  $navbarEl.find('.navbar-inner').css('overflow', 'visible');
@@ -442,10 +314,12 @@ const Navbar = {
442
314
  $navbarEl.find('.title').css('opacity', -0.5 + collapseProgress * 1.5);
443
315
  $navbarEl.find('.title-large-text, .subnavbar').css('transform', `translate3d(0px, ${-1 * collapseProgress * navbarTitleLargeHeight}px, 0)`);
444
316
  $navbarEl.find('.title-large-text').css('opacity', 1 - collapseProgress * 2);
445
- if (isLargeTransparent) {
446
- $bgEl.css('opacity', collapseProgress);
317
+ if (app.theme === 'md') {
318
+ if (isLargeTransparent) {
319
+ $bgEl.css('opacity', collapseProgress);
320
+ }
321
+ $bgEl.css('transform', `translate3d(0px, ${-1 * collapseProgress * navbarTitleLargeHeight}px, 0)`);
447
322
  }
448
- $bgEl.css('transform', `translate3d(0px, ${-1 * collapseProgress * navbarTitleLargeHeight}px, 0)`);
449
323
  }
450
324
  if (snapPageScrollToLargeTitle) {
451
325
  if (!support.touch) {
@@ -469,7 +343,7 @@ const Navbar = {
469
343
  scrollHeight = scrollContent.scrollHeight;
470
344
  offsetHeight = scrollContent.offsetHeight;
471
345
  reachEnd = currentScrollTop + offsetHeight >= scrollHeight;
472
- navbarHidden = $navbarEl.hasClass('navbar-hidden') || $navbarEl.parent('.navbars').hasClass('navbar-hidden');
346
+ navbarHidden = $navbarEl.hasClass('navbar-hidden');
473
347
  if (reachEnd) {
474
348
  if (app.params.navbar.showOnPageScrollEnd) {
475
349
  action = 'show';
@@ -585,24 +459,6 @@ export default {
585
459
  page.$el[0].f7DetachNavbarScrollHandlers();
586
460
  }
587
461
  },
588
- pageBeforeIn(page) {
589
- const app = this;
590
- if (app.theme !== 'ios') return;
591
- let $navbarsEl;
592
- const view = page.$el.parents('.view')[0].f7View;
593
- const navbarEl = app.navbar.getElByPage(page);
594
- if (!navbarEl) {
595
- $navbarsEl = page.$el.parents('.view').children('.navbars');
596
- } else {
597
- $navbarsEl = $(navbarEl).parents('.navbars');
598
- }
599
- if (page.$el.hasClass('no-navbar') || view.router.dynamicNavbar && !navbarEl) {
600
- const animate = !!(page.pageFrom && page.router.history.length > 0);
601
- app.navbar.hide($navbarsEl, animate);
602
- } else {
603
- app.navbar.show($navbarsEl);
604
- }
605
- },
606
462
  pageReinit(page) {
607
463
  const app = this;
608
464
  const $navbarEl = $(app.navbar.getElByPage(page));
@@ -648,13 +504,13 @@ export default {
648
504
  },
649
505
  'panelOpen panelSwipeOpen modalOpen': function onPanelModalOpen(instance) {
650
506
  const app = this;
651
- instance.$el.find('.navbar:not(.navbar-previous)').each(navbarEl => {
507
+ instance.$el.find('.navbar').each(navbarEl => {
652
508
  app.navbar.size(navbarEl);
653
509
  });
654
510
  },
655
511
  tabShow(tabEl) {
656
512
  const app = this;
657
- $(tabEl).find('.navbar:not(.navbar-previous)').each(navbarEl => {
513
+ $(tabEl).find('.navbar').each(navbarEl => {
658
514
  app.navbar.size(navbarEl);
659
515
  });
660
516
  }
@@ -670,7 +526,6 @@ export default {
670
526
 
671
527
  // Find active page
672
528
  const $navbarEl = $clickedEl.parents('.navbar');
673
- const $navbarsEl = $navbarEl.parents('.navbars');
674
529
 
675
530
  // Static Layout
676
531
  $pageContentEl = $navbarEl.parents('.page-content');
@@ -679,18 +534,6 @@ export default {
679
534
  if ($navbarEl.parents('.page').length > 0) {
680
535
  $pageContentEl = $navbarEl.parents('.page').find('.page-content');
681
536
  }
682
- // Through Layout iOS
683
- if ($pageContentEl.length === 0 && $navbarsEl.length) {
684
- if ($navbarsEl.nextAll('.page-current').length > 0) {
685
- $pageContentEl = $navbarsEl.nextAll('.page-current').find('.page-content');
686
- }
687
- }
688
- // Through Layout
689
- if ($pageContentEl.length === 0) {
690
- if ($navbarEl.nextAll('.page-current').length > 0) {
691
- $pageContentEl = $navbarEl.nextAll('.page-current').find('.page-content');
692
- }
693
- }
694
537
  }
695
538
  if ($pageContentEl && $pageContentEl.length > 0) {
696
539
  // Check for tab
@@ -23,7 +23,6 @@
23
23
  backface-visibility: hidden;
24
24
  box-sizing: border-box;
25
25
  margin: 0;
26
- // transform: translate3d(0,0,0);
27
26
  height: calc(var(--f7-navbar-height) + var(--f7-safe-area-top));
28
27
  color: var(--f7-navbar-text-color, var(--f7-bars-text-color));
29
28
  font-size: var(--f7-navbar-font-size);
@@ -37,8 +36,6 @@
37
36
  a.link {
38
37
  display: flex;
39
38
  justify-content: flex-start;
40
- line-height: var(--f7-navbar-link-line-height, var(--f7-navbar-height));
41
- height: var(--f7-navbar-link-height, var(--f7-navbar-height));
42
39
  }
43
40
  .title,
44
41
  .left,
@@ -78,7 +75,7 @@
78
75
  .right {
79
76
  flex-shrink: 0;
80
77
  display: flex;
81
- justify-content: flex-start;
78
+ justify-content: center;
82
79
  align-items: center;
83
80
  // transform: translate3d(0,0,0);
84
81
  }
@@ -112,18 +109,8 @@
112
109
  height: 100%;
113
110
  pointer-events: none;
114
111
  z-index: 0;
115
- background: var(--f7-navbar-bg-color);
116
- background-color: var(--f7-navbar-bg-color, var(--f7-bars-bg-color));
112
+
117
113
  transition-property: transform;
118
- .ios-translucent-bars(var(--f7-navbar-bg-color-rgb, var(--f7-bars-bg-color-rgb)));
119
- &:after,
120
- &:before {
121
- backface-visibility: hidden;
122
- }
123
- .hairline(bottom, var(--f7-navbar-border-color, var(--f7-bars-border-color)));
124
- &:after {
125
- z-index: 1;
126
- }
127
114
  }
128
115
  // Transitions
129
116
  .navbar-transitioning {
@@ -138,13 +125,7 @@
138
125
  transition-duration: var(--f7-navbar-hide-show-transition-duration);
139
126
  }
140
127
  }
141
- .navbar-page-transitioning {
142
- transition-duration: var(--f7-page-swipeback-transition-duration) !important;
143
- .title-large-text,
144
- .navbar-bg {
145
- transition-duration: var(--f7-page-swipeback-transition-duration) !important;
146
- }
147
- }
128
+
148
129
  // Hidden
149
130
  .navbar-hidden {
150
131
  transform: translate3d(0, calc(-1 * var(--f7-navbar-height)), 0);
@@ -183,50 +164,12 @@
183
164
  }
184
165
  .views,
185
166
  .view,
186
- .page,
187
- .navbars {
167
+ .page {
188
168
  > .navbar {
189
169
  position: absolute;
190
170
  }
191
171
  }
192
172
 
193
- // Transparent navbar
194
- .navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
195
- .with-searchbar-expandable-enabled
196
- ) {
197
- .navbar-bg,
198
- .title {
199
- opacity: 0;
200
- }
201
- }
202
-
203
- // Large Title Navbar
204
- .navbar-large .navbar-bg {
205
- height: calc(100% + var(--f7-navbar-large-title-height));
206
- transform: translate3d(
207
- 0px,
208
- calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)),
209
- 0
210
- );
211
- }
212
-
213
- .navbar-large-transparent .navbar-bg,
214
- .navbar-large.navbar-transparent .navbar-bg {
215
- opacity: var(--f7-navbar-large-collapse-progress);
216
- }
217
- .ios .router-navbar-transition-to-large .navbar-bg,
218
- .ios .router-navbar-transition-from-large .navbar-bg,
219
- .navbar-bg.ios-swipeback-navbar-bg-large,
220
- .navbar-large-transparent .navbar-bg.ios-swipeback-navbar-bg-large,
221
- .navbar-large.navbar-transparent .navbar-bg.ios-swipeback-navbar-bg-large {
222
- height: calc(100% + var(--f7-navbar-large-title-height));
223
- transform: translate3d(
224
- 0px,
225
- calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)),
226
- 0
227
- );
228
- }
229
-
230
173
  .ios .navbar:not(.navbar-large) .navbar-bg {
231
174
  --f7-navbar-large-collapse-progress: 1;
232
175
  }
@@ -238,6 +181,9 @@
238
181
  .title-large {
239
182
  pointer-events: none;
240
183
  }
184
+ .title-large-text {
185
+ opacity: 0;
186
+ }
241
187
  }
242
188
  .navbar .title-large {
243
189
  box-sizing: border-box;
@@ -247,7 +193,6 @@
247
193
  top: 100%;
248
194
  display: flex;
249
195
  white-space: nowrap;
250
- overflow: hidden;
251
196
  height: var(--f7-navbar-large-title-height);
252
197
  z-index: 5;
253
198
  }
@@ -285,14 +230,11 @@
285
230
  }
286
231
 
287
232
  // Relation with page
288
- .navbar ~ *,
289
- .navbars ~ * {
233
+ .navbar ~ * {
290
234
  --f7-page-navbar-offset: calc(var(--f7-navbar-height) + var(--f7-safe-area-top));
291
235
  }
292
236
  .navbar ~ * .page-with-navbar-large,
293
237
  .navbar ~ .page-with-navbar-large,
294
- .navbars ~ * .page-with-navbar-large,
295
- .navbars ~ .page-with-navbar-large,
296
238
  .page-with-navbar-large .navbar ~ * {
297
239
  --f7-page-navbar-offset: calc(
298
240
  var(--f7-navbar-height) + var(--f7-navbar-large-title-height) + var(--f7-safe-area-top)
@@ -190,19 +190,19 @@ class Notification extends Modal {
190
190
  } = notification.params;
191
191
  return $jsx("div", {
192
192
  class: `notification ${icon ? 'notification-with-icon' : ''} ${cssClass || ''}`
193
- }, $jsx("div", {
194
- class: "notification-header"
195
193
  }, icon && $jsx("div", {
196
194
  class: "notification-icon"
197
- }, icon), title && $jsx("div", {
195
+ }, icon), $jsx("div", {
196
+ class: "notification-content"
197
+ }, (title || titleRightText || closeButton) && $jsx("div", {
198
+ class: "notification-header"
199
+ }, title && $jsx("div", {
198
200
  class: "notification-title"
199
201
  }, title), titleRightText && $jsx("div", {
200
202
  class: "notification-title-right-text"
201
203
  }, titleRightText), closeButton && $jsx("span", {
202
204
  class: "notification-close-button"
203
- })), $jsx("div", {
204
- class: "notification-content"
205
- }, subtitle && $jsx("div", {
205
+ })), subtitle && $jsx("div", {
206
206
  class: "notification-subtitle"
207
207
  }, subtitle), text && $jsx("div", {
208
208
  class: "notification-text"
@@ -2,6 +2,8 @@
2
2
  .notification {
3
3
  transition-duration: 450ms;
4
4
  transform: translate3d(0%, -200%, 0);
5
+ align-items: center;
6
+
5
7
  &.modal-in {
6
8
  transform: translate3d(0%, 0%, 0);
7
9
  opacity: 1;
@@ -11,17 +13,10 @@
11
13
  }
12
14
  }
13
15
 
14
- .notification-icon {
15
- margin-right: 8px;
16
- }
17
- .notification-header + .notification-content {
18
- margin-top: 10px;
19
- }
20
16
  .notification-title-right-text {
21
- margin-right: 6px;
22
17
  margin-left: auto;
23
18
  + .notification-close-button {
24
- margin-left: 10px;
19
+ margin-left: 12px;
25
20
  }
26
21
  }
27
22
  .notification-close-button {
@@ -16,27 +16,8 @@
16
16
  transform: translate3d(0, -150%, 0);
17
17
  }
18
18
  }
19
- .notification-with-icon {
20
- .notification-icon {
21
- position: absolute;
22
- left: var(--f7-notification-padding-horizontal);
23
- top: var(--f7-notification-padding-vertical);
24
- }
25
- .notification-content,
26
- .notification-header {
27
- margin-left: calc(var(--f7-notification-icon-size) + 16px);
28
- }
29
- }
30
19
 
31
- .notification-icon {
32
- margin-right: 8px;
33
- }
34
- .notification-subtitle {
35
- + .notification-text {
36
- margin-top: 4px;
37
- }
38
- }
39
- .notification-header + .notification-content {
20
+ .notification-header + :is(.notification-subtitle, .notification-text) {
40
21
  margin-top: 8px;
41
22
  }
42
23
  .notification-title-right-text {