framework7 7.0.9 → 8.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 (579) hide show
  1. package/components/accordion/accordion.js +2 -16
  2. package/components/accordion/accordion.less +0 -3
  3. package/components/actions/actions-class.js +13 -58
  4. package/components/actions/actions-ios.less +42 -0
  5. package/components/actions/actions-md.less +12 -0
  6. package/components/actions/actions-rtl.css +1 -1
  7. package/components/actions/actions-vars.less +17 -42
  8. package/components/actions/actions.css +1 -1
  9. package/components/actions/actions.d.ts +2 -2
  10. package/components/actions/actions.js +0 -4
  11. package/components/actions/actions.lazy.js +1 -1
  12. package/components/actions/actions.less +5 -35
  13. package/components/app/app-class.d.ts +14 -12
  14. package/components/app/app-class.js +93 -75
  15. package/components/app/app-ios.less +0 -2
  16. package/components/app/app-md.less +0 -2
  17. package/components/app/app-vars.less +13 -96
  18. package/components/app/app.less +1 -4
  19. package/components/app/load-module.js +17 -36
  20. package/components/area-chart/area-chart-class.js +8 -64
  21. package/components/area-chart/area-chart.js +0 -3
  22. package/components/area-chart/area-chart.less +0 -3
  23. package/components/autocomplete/autocomplete-class.js +30 -175
  24. package/components/autocomplete/autocomplete-ios.less +0 -8
  25. package/components/autocomplete/autocomplete-rtl.css +1 -1
  26. package/components/autocomplete/autocomplete-vars.less +8 -22
  27. package/components/autocomplete/autocomplete.css +1 -1
  28. package/components/autocomplete/autocomplete.d.ts +1 -3
  29. package/components/autocomplete/autocomplete.js +1 -6
  30. package/components/autocomplete/autocomplete.lazy.js +1 -1
  31. package/components/autocomplete/autocomplete.less +6 -18
  32. package/components/badge/badge-vars.less +3 -6
  33. package/components/badge/badge.less +1 -3
  34. package/components/block/block-vars.less +25 -52
  35. package/components/block/block.less +37 -12
  36. package/components/breadcrumbs/breadcrumbs-rtl.css +1 -1
  37. package/components/breadcrumbs/breadcrumbs-vars.less +31 -15
  38. package/components/breadcrumbs/breadcrumbs.css +1 -1
  39. package/components/breadcrumbs/breadcrumbs.js +0 -2
  40. package/components/breadcrumbs/breadcrumbs.less +4 -10
  41. package/components/button/button-vars.less +42 -43
  42. package/components/button/button.less +24 -26
  43. package/components/calendar/calendar-class.js +81 -401
  44. package/components/calendar/calendar-rtl.css +1 -1
  45. package/components/calendar/calendar-vars.less +32 -46
  46. package/components/calendar/calendar.css +1 -1
  47. package/components/calendar/calendar.js +6 -4
  48. package/components/calendar/calendar.lazy.js +1 -1
  49. package/components/calendar/calendar.less +10 -21
  50. package/components/card/card-rtl.css +1 -1
  51. package/components/card/card-vars.less +41 -44
  52. package/components/card/card.css +1 -1
  53. package/components/card/card.js +0 -108
  54. package/components/card/card.less +18 -24
  55. package/components/checkbox/checkbox-rtl.css +1 -1
  56. package/components/checkbox/checkbox-vars.less +0 -8
  57. package/components/checkbox/checkbox.css +1 -1
  58. package/components/checkbox/checkbox.less +10 -3
  59. package/components/chip/chip-ios.less +3 -0
  60. package/components/chip/chip-md.less +4 -3
  61. package/components/chip/chip-rtl.css +1 -1
  62. package/components/chip/chip-vars.less +17 -20
  63. package/components/chip/chip.css +1 -1
  64. package/components/chip/chip.less +16 -21
  65. package/components/color-picker/color-picker-class.js +27 -158
  66. package/components/color-picker/color-picker-rtl.css +1 -1
  67. package/components/color-picker/color-picker.css +1 -1
  68. package/components/color-picker/color-picker.js +0 -4
  69. package/components/color-picker/color-picker.lazy.js +1 -1
  70. package/components/color-picker/color-picker.less +18 -8
  71. package/components/color-picker/modules/alpha-slider.js +0 -12
  72. package/components/color-picker/modules/brightness-slider.js +0 -8
  73. package/components/color-picker/modules/current-color.js +0 -2
  74. package/components/color-picker/modules/hex.js +0 -12
  75. package/components/color-picker/modules/hs-spectrum.js +0 -20
  76. package/components/color-picker/modules/hsb-sliders.js +0 -18
  77. package/components/color-picker/modules/hue-slider.js +0 -7
  78. package/components/color-picker/modules/initial-current-colors.js +0 -7
  79. package/components/color-picker/modules/palette.js +2 -10
  80. package/components/color-picker/modules/rgb-bars.js +0 -17
  81. package/components/color-picker/modules/rgb-sliders.js +0 -17
  82. package/components/color-picker/modules/sb-spectrum.js +0 -20
  83. package/components/color-picker/modules/wheel.js +0 -28
  84. package/components/contacts-list/contacts-list-md.less +4 -3
  85. package/components/contacts-list/contacts-list-rtl.css +1 -1
  86. package/components/contacts-list/contacts-list-vars.less +3 -15
  87. package/components/contacts-list/contacts-list.css +1 -1
  88. package/components/contacts-list/contacts-list.less +0 -3
  89. package/components/data-table/data-table-class.js +10 -32
  90. package/components/data-table/data-table-rtl.css +1 -1
  91. package/components/data-table/data-table-vars.less +6 -39
  92. package/components/data-table/data-table.css +1 -1
  93. package/components/data-table/data-table.js +0 -8
  94. package/components/data-table/data-table.less +0 -3
  95. package/components/dialog/dialog-class.js +7 -41
  96. package/components/dialog/dialog-ios.less +0 -3
  97. package/components/dialog/dialog-md.less +9 -9
  98. package/components/dialog/dialog-rtl.css +1 -1
  99. package/components/dialog/dialog-vars.less +25 -70
  100. package/components/dialog/dialog.css +1 -1
  101. package/components/dialog/dialog.d.ts +2 -2
  102. package/components/dialog/dialog.js +12 -48
  103. package/components/dialog/dialog.lazy.js +1 -1
  104. package/components/dialog/dialog.less +8 -4
  105. package/components/fab/fab-rtl.css +1 -1
  106. package/components/fab/fab-vars.less +20 -14
  107. package/components/fab/fab.css +1 -1
  108. package/components/fab/fab.js +0 -21
  109. package/components/fab/fab.less +50 -53
  110. package/components/form/form.d.ts +4 -4
  111. package/components/form/form.js +58 -94
  112. package/components/form/form.lazy.js +1 -1
  113. package/components/form/form.less +0 -3
  114. package/components/gauge/gauge-class.js +4 -20
  115. package/components/gauge/gauge.js +0 -9
  116. package/components/gauge/gauge.less +0 -3
  117. package/components/grid/grid-rtl.css +1 -1
  118. package/components/grid/grid-vars.less +0 -7
  119. package/components/grid/grid.css +1 -1
  120. package/components/grid/grid.d.ts +2 -8
  121. package/components/grid/grid.js +1 -225
  122. package/components/grid/grid.lazy.js +1 -1
  123. package/components/grid/grid.less +54 -184
  124. package/components/icon/icon.less +0 -3
  125. package/components/infinite-scroll/infinite-scroll-rtl.css +1 -1
  126. package/components/infinite-scroll/infinite-scroll.css +1 -1
  127. package/components/infinite-scroll/infinite-scroll.js +0 -16
  128. package/components/infinite-scroll/infinite-scroll.less +0 -3
  129. package/components/input/input-ios.less +49 -41
  130. package/components/input/input-md.less +87 -19
  131. package/components/input/input-rtl.css +1 -1
  132. package/components/input/input-vars.less +26 -60
  133. package/components/input/input.css +1 -1
  134. package/components/input/input.js +8 -67
  135. package/components/input/input.less +67 -153
  136. package/components/link/link-vars.less +0 -5
  137. package/components/link/link.less +3 -3
  138. package/components/list/list-md.less +0 -7
  139. package/components/list/list-vars.less +59 -108
  140. package/components/list/list.less +122 -90
  141. package/components/list-index/list-index-class.js +12 -69
  142. package/components/list-index/list-index-rtl.css +1 -1
  143. package/components/list-index/list-index-vars.less +0 -7
  144. package/components/list-index/list-index.css +1 -1
  145. package/components/list-index/list-index.d.ts +1 -3
  146. package/components/list-index/list-index.js +0 -8
  147. package/components/list-index/list-index.lazy.js +1 -1
  148. package/components/list-index/list-index.less +4 -7
  149. package/components/login-screen/login-screen-class.js +4 -9
  150. package/components/login-screen/login-screen-rtl.css +1 -1
  151. package/components/login-screen/login-screen-vars.less +13 -12
  152. package/components/login-screen/login-screen.css +1 -1
  153. package/components/login-screen/login-screen.js +0 -4
  154. package/components/login-screen/login-screen.less +2 -8
  155. package/components/messagebar/messagebar-class.js +18 -79
  156. package/components/messagebar/messagebar-ios.less +36 -0
  157. package/components/messagebar/messagebar-md.less +96 -16
  158. package/components/messagebar/messagebar-rtl.css +1 -1
  159. package/components/messagebar/messagebar-vars.less +27 -50
  160. package/components/messagebar/messagebar.css +1 -1
  161. package/components/messagebar/messagebar.js +0 -8
  162. package/components/messagebar/messagebar.less +11 -42
  163. package/components/messages/messages-class.js +17 -110
  164. package/components/messages/messages-ios.less +9 -0
  165. package/components/messages/messages-md.less +63 -28
  166. package/components/messages/messages-rtl.css +1 -1
  167. package/components/messages/messages-vars.less +43 -50
  168. package/components/messages/messages.css +1 -1
  169. package/components/messages/messages.js +0 -8
  170. package/components/messages/messages.lazy.js +1 -1
  171. package/components/messages/messages.less +0 -11
  172. package/components/modal/custom-modal-class.js +4 -14
  173. package/components/modal/modal-class.js +19 -55
  174. package/components/modal/modal.js +0 -3
  175. package/components/navbar/navbar-ios.less +3 -39
  176. package/components/navbar/navbar-md.less +12 -0
  177. package/components/navbar/navbar-vars.less +20 -49
  178. package/components/navbar/navbar.d.ts +0 -2
  179. package/components/navbar/navbar.js +37 -166
  180. package/components/navbar/navbar.less +4 -26
  181. package/components/notification/notification-class.js +4 -39
  182. package/components/notification/notification-md.less +18 -8
  183. package/components/notification/notification-rtl.css +1 -1
  184. package/components/notification/notification-vars.less +15 -54
  185. package/components/notification/notification.css +1 -1
  186. package/components/notification/notification.js +0 -2
  187. package/components/notification/notification.lazy.js +1 -1
  188. package/components/notification/notification.less +0 -3
  189. package/components/page/page-md.less +40 -10
  190. package/components/page/page-transitions/circle.less +15 -9
  191. package/components/page/page-transitions/fade.less +17 -11
  192. package/components/page/page-transitions/flip.less +9 -4
  193. package/components/page/page-vars.less +3 -19
  194. package/components/page/page.less +2 -10
  195. package/components/panel/panel-class.js +23 -127
  196. package/components/panel/panel-md.less +9 -0
  197. package/components/panel/panel-rtl.css +1 -1
  198. package/components/panel/panel-vars.less +7 -21
  199. package/components/panel/panel.css +1 -1
  200. package/components/panel/panel.d.ts +2 -2
  201. package/components/panel/panel.js +0 -34
  202. package/components/panel/panel.lazy.js +1 -1
  203. package/components/panel/panel.less +56 -48
  204. package/components/panel/resizable-panel.js +2 -32
  205. package/components/panel/swipe-panel.js +16 -71
  206. package/components/photo-browser/photo-browser-class.js +41 -171
  207. package/components/photo-browser/photo-browser-rtl.css +1 -1
  208. package/components/photo-browser/photo-browser-vars.less +0 -3
  209. package/components/photo-browser/photo-browser.css +1 -1
  210. package/components/photo-browser/photo-browser.d.ts +2 -4
  211. package/components/photo-browser/photo-browser.js +1 -6
  212. package/components/photo-browser/photo-browser.lazy.js +1 -1
  213. package/components/photo-browser/photo-browser.less +0 -4
  214. package/components/picker/picker-class.js +26 -133
  215. package/components/picker/picker-column.js +11 -31
  216. package/components/picker/picker-ios.less +10 -0
  217. package/components/picker/picker-md.less +6 -0
  218. package/components/picker/picker-rtl.css +1 -1
  219. package/components/picker/picker-vars.less +9 -25
  220. package/components/picker/picker.css +1 -1
  221. package/components/picker/picker.js +0 -4
  222. package/components/picker/picker.lazy.js +1 -1
  223. package/components/picker/picker.less +0 -11
  224. package/components/pie-chart/pie-chart-class.js +8 -31
  225. package/components/pie-chart/pie-chart.js +0 -3
  226. package/components/pie-chart/pie-chart.less +0 -3
  227. package/components/popover/popover-class.js +72 -126
  228. package/components/popover/popover-ios.less +0 -50
  229. package/components/popover/popover-rtl.css +1 -1
  230. package/components/popover/popover-vars.less +6 -23
  231. package/components/popover/popover.css +1 -1
  232. package/components/popover/popover.d.ts +2 -0
  233. package/components/popover/popover.js +1 -12
  234. package/components/popover/popover.lazy.js +1 -1
  235. package/components/popover/popover.less +62 -5
  236. package/components/popup/popup-class.js +12 -78
  237. package/components/popup/popup-rtl.css +1 -1
  238. package/components/popup/popup-vars.less +7 -9
  239. package/components/popup/popup.css +1 -1
  240. package/components/popup/popup.js +0 -4
  241. package/components/popup/popup.lazy.js +1 -1
  242. package/components/popup/popup.less +4 -4
  243. package/components/preloader/preloader-ios.less +3 -1
  244. package/components/preloader/preloader-md.less +5 -1
  245. package/components/preloader/preloader-rtl.css +1 -1
  246. package/components/preloader/preloader-vars.less +0 -6
  247. package/components/preloader/preloader.css +1 -1
  248. package/components/preloader/preloader.js +8 -25
  249. package/components/preloader/preloader.lazy.js +1 -1
  250. package/components/preloader/preloader.less +6 -3
  251. package/components/progressbar/progressbar-rtl.css +1 -1
  252. package/components/progressbar/progressbar-vars.less +2 -12
  253. package/components/progressbar/progressbar.css +1 -1
  254. package/components/progressbar/progressbar.js +2 -31
  255. package/components/progressbar/progressbar.less +0 -3
  256. package/components/pull-to-refresh/pull-to-refresh-class.js +15 -107
  257. package/components/pull-to-refresh/pull-to-refresh-md.less +2 -1
  258. package/components/pull-to-refresh/pull-to-refresh-rtl.css +1 -1
  259. package/components/pull-to-refresh/pull-to-refresh-vars.less +0 -4
  260. package/components/pull-to-refresh/pull-to-refresh.css +1 -1
  261. package/components/pull-to-refresh/pull-to-refresh.js +0 -8
  262. package/components/pull-to-refresh/pull-to-refresh.lazy.js +1 -1
  263. package/components/pull-to-refresh/pull-to-refresh.less +0 -3
  264. package/components/radio/radio-rtl.css +1 -1
  265. package/components/radio/radio-vars.less +0 -7
  266. package/components/radio/radio.css +1 -1
  267. package/components/radio/radio.less +12 -5
  268. package/components/range/range-class.js +27 -112
  269. package/components/range/range-rtl.css +1 -1
  270. package/components/range/range-vars.less +10 -32
  271. package/components/range/range.css +1 -1
  272. package/components/range/range.js +0 -12
  273. package/components/range/range.less +0 -3
  274. package/components/searchbar/remove-diacritics.js +0 -4
  275. package/components/searchbar/searchbar-class.js +17 -138
  276. package/components/searchbar/searchbar-md.less +41 -16
  277. package/components/searchbar/searchbar-rtl.css +1 -1
  278. package/components/searchbar/searchbar-vars.less +25 -76
  279. package/components/searchbar/searchbar.css +1 -1
  280. package/components/searchbar/searchbar.d.ts +2 -2
  281. package/components/searchbar/searchbar.js +0 -15
  282. package/components/searchbar/searchbar.lazy.js +1 -1
  283. package/components/searchbar/searchbar.less +14 -28
  284. package/components/sheet/sheet-class.js +15 -110
  285. package/components/sheet/sheet-rtl.css +1 -1
  286. package/components/sheet/sheet-vars.less +17 -6
  287. package/components/sheet/sheet.css +1 -1
  288. package/components/sheet/sheet.js +0 -9
  289. package/components/sheet/sheet.lazy.js +1 -1
  290. package/components/sheet/sheet.less +10 -3
  291. package/components/skeleton/skeleton.less +1 -4
  292. package/components/smart-select/smart-select-class.js +36 -173
  293. package/components/smart-select/smart-select.d.ts +1 -3
  294. package/components/smart-select/smart-select.js +1 -14
  295. package/components/smart-select/smart-select.lazy.js +1 -1
  296. package/components/smart-select/smart-select.less +0 -3
  297. package/components/sortable/sortable-rtl.css +1 -1
  298. package/components/sortable/sortable-vars.less +8 -8
  299. package/components/sortable/sortable.css +1 -1
  300. package/components/sortable/sortable.js +0 -44
  301. package/components/sortable/sortable.less +0 -3
  302. package/components/statusbar/statusbar.js +0 -36
  303. package/components/statusbar/statusbar.less +0 -3
  304. package/components/stepper/stepper-class.js +10 -83
  305. package/components/stepper/stepper-rtl.css +1 -1
  306. package/components/stepper/stepper-vars.less +12 -24
  307. package/components/stepper/stepper.css +1 -1
  308. package/components/stepper/stepper.js +0 -12
  309. package/components/stepper/stepper.less +12 -23
  310. package/components/subnavbar/subnavbar-vars.less +3 -18
  311. package/components/subnavbar/subnavbar.js +0 -3
  312. package/components/subnavbar/subnavbar.less +1 -11
  313. package/components/swipeout/swipeout-rtl.css +1 -1
  314. package/components/swipeout/swipeout-vars.less +7 -6
  315. package/components/swipeout/swipeout.css +1 -1
  316. package/components/swipeout/swipeout.js +2 -99
  317. package/components/swipeout/swipeout.less +2 -7
  318. package/components/swiper/swiper-rtl.css +1 -1
  319. package/components/swiper/swiper.css +1 -1
  320. package/components/swiper/swiper.js +9 -30
  321. package/components/swiper/swiper.lazy.js +1 -1
  322. package/components/swiper/swiper.less +1 -16
  323. package/components/tabs/tabs-rtl.css +1 -1
  324. package/components/tabs/tabs.css +1 -1
  325. package/components/tabs/tabs.js +23 -60
  326. package/components/tabs/tabs.lazy.js +1 -1
  327. package/components/tabs/tabs.less +1 -3
  328. package/components/text-editor/text-editor-class.js +16 -102
  329. package/components/text-editor/text-editor-rtl.css +1 -1
  330. package/components/text-editor/text-editor-vars.less +12 -16
  331. package/components/text-editor/text-editor.css +1 -1
  332. package/components/text-editor/text-editor.js +0 -8
  333. package/components/text-editor/text-editor.lazy.js +1 -1
  334. package/components/text-editor/text-editor.less +0 -6
  335. package/components/timeline/timeline-rtl.css +1 -1
  336. package/components/timeline/timeline-vars.less +13 -47
  337. package/components/timeline/timeline.css +1 -1
  338. package/components/timeline/timeline.less +2 -9
  339. package/components/toast/toast-class.js +2 -16
  340. package/components/toast/toast-rtl.css +1 -1
  341. package/components/toast/toast-vars.less +5 -9
  342. package/components/toast/toast.css +1 -1
  343. package/components/toast/toast.js +0 -3
  344. package/components/toast/toast.less +0 -3
  345. package/components/toggle/toggle-class.js +6 -30
  346. package/components/toggle/toggle-ios.less +5 -1
  347. package/components/toggle/toggle-md.less +27 -11
  348. package/components/toggle/toggle-rtl.css +1 -1
  349. package/components/toggle/toggle-vars.less +19 -21
  350. package/components/toggle/toggle.css +1 -1
  351. package/components/toggle/toggle.js +0 -8
  352. package/components/toggle/toggle.less +0 -4
  353. package/components/toolbar/toolbar-ios.less +2 -2
  354. package/components/toolbar/toolbar-md.less +28 -4
  355. package/components/toolbar/toolbar-vars.less +17 -52
  356. package/components/toolbar/toolbar.js +5 -43
  357. package/components/toolbar/toolbar.less +27 -45
  358. package/components/tooltip/tooltip-class.js +10 -64
  359. package/components/tooltip/tooltip-rtl.css +1 -1
  360. package/components/tooltip/tooltip-vars.less +12 -3
  361. package/components/tooltip/tooltip.css +1 -1
  362. package/components/tooltip/tooltip.js +0 -15
  363. package/components/tooltip/tooltip.less +0 -3
  364. package/components/touch-ripple/touch-ripple-class.js +0 -13
  365. package/components/touch-ripple/touch-ripple.js +0 -4
  366. package/components/touch-ripple/touch-ripple.less +1 -5
  367. package/components/treeview/treeview-rtl.css +1 -1
  368. package/components/treeview/treeview-vars.less +0 -3
  369. package/components/treeview/treeview.css +1 -1
  370. package/components/treeview/treeview.js +2 -11
  371. package/components/treeview/treeview.lazy.js +1 -1
  372. package/components/treeview/treeview.less +0 -3
  373. package/components/typography/typography-rtl.css +1 -1
  374. package/components/typography/typography.css +1 -1
  375. package/components/typography/typography.less +25 -3
  376. package/components/view/resizable-view.js +2 -24
  377. package/components/view/view-class.js +28 -53
  378. package/components/view/view.d.ts +0 -14
  379. package/components/view/view.js +8 -32
  380. package/components/view/view.less +1 -4
  381. package/components/virtual-list/virtual-list-class.js +58 -146
  382. package/components/virtual-list/virtual-list.d.ts +1 -1
  383. package/components/virtual-list/virtual-list.js +0 -2
  384. package/components/virtual-list/virtual-list.lazy.js +1 -1
  385. package/components/virtual-list/virtual-list.less +0 -3
  386. package/framework7-bundle-rtl.css +3593 -5977
  387. package/framework7-bundle-rtl.min.css +3 -3
  388. package/framework7-bundle.css +3591 -5978
  389. package/framework7-bundle.esm.js +4 -10
  390. package/framework7-bundle.js +6063 -12044
  391. package/framework7-bundle.js.map +1 -1
  392. package/framework7-bundle.less +2 -27
  393. package/framework7-bundle.min.css +3 -3
  394. package/framework7-bundle.min.js +3 -3
  395. package/framework7-bundle.min.js.map +1 -1
  396. package/framework7-lite-bundle.esm.js +4 -10
  397. package/framework7-lite.esm.js +4 -6
  398. package/framework7-lite.js +31 -0
  399. package/framework7-rtl.css +803 -1591
  400. package/framework7-rtl.min.css +3 -3
  401. package/framework7-types.d.ts +1 -32
  402. package/framework7.css +803 -1594
  403. package/framework7.d.ts +1 -32
  404. package/framework7.esm.js +4 -6
  405. package/framework7.js +1770 -3407
  406. package/framework7.js.map +1 -1
  407. package/framework7.less +2 -23
  408. package/framework7.min.css +3 -3
  409. package/framework7.min.js +3 -3
  410. package/framework7.min.js.map +1 -1
  411. package/less/mixins.less +7 -88
  412. package/less/plugin.js +15 -0
  413. package/modules/clicks/clicks.js +10 -22
  414. package/modules/component/$h.js +0 -3
  415. package/modules/component/$jsx.js +0 -5
  416. package/modules/component/component-class.js +13 -66
  417. package/modules/component/component.d.ts +1 -2
  418. package/modules/component/component.js +0 -8
  419. package/modules/component/eventslisteners.js +12 -20
  420. package/modules/component/parse-component.js +18 -20
  421. package/modules/component/snabbdom/h.js +3 -12
  422. package/modules/component/snabbdom/helpers/attachto.js +9 -14
  423. package/modules/component/snabbdom/htmldomapi.js +0 -16
  424. package/modules/component/snabbdom/modules/attributes.js +7 -11
  425. package/modules/component/snabbdom/modules/class.js +4 -8
  426. package/modules/component/snabbdom/modules/dataset.js +3 -7
  427. package/modules/component/snabbdom/modules/eventlisteners.js +16 -22
  428. package/modules/component/snabbdom/modules/hero.js +4 -44
  429. package/modules/component/snabbdom/modules/props.js +5 -9
  430. package/modules/component/snabbdom/modules/style.js +13 -30
  431. package/modules/component/snabbdom/snabbdom.bundle.js +0 -6
  432. package/modules/component/snabbdom/snabbdom.js +13 -72
  433. package/modules/component/snabbdom/thunk.js +3 -11
  434. package/modules/component/snabbdom/tovnode.js +1 -6
  435. package/modules/component/vdom.js +4 -62
  436. package/modules/demo-module.js +0 -8
  437. package/modules/device/device.js +6 -11
  438. package/modules/history/history.js +0 -1
  439. package/modules/resize/resize.js +8 -11
  440. package/modules/router/async-component.js +0 -3
  441. package/modules/router/back.js +86 -275
  442. package/modules/router/clear-previous-history.js +5 -18
  443. package/modules/router/component-loader.js +4 -25
  444. package/modules/router/modal.js +16 -43
  445. package/modules/router/navigate.js +80 -249
  446. package/modules/router/process-route-queue.js +0 -12
  447. package/modules/router/redirect.js +0 -8
  448. package/modules/router/router-class.js +92 -315
  449. package/modules/router/router.d.ts +3 -5
  450. package/modules/router/router.js +0 -3
  451. package/modules/router/swipe-back.js +35 -139
  452. package/modules/router/tab.js +14 -43
  453. package/modules/service-worker/service-worker.js +0 -11
  454. package/modules/store/create-store.js +10 -29
  455. package/modules/touch/touch.d.ts +2 -4
  456. package/modules/touch/touch.js +13 -108
  457. package/package.json +4 -18
  458. package/shared/$jsx.js +0 -6
  459. package/shared/class.js +18 -43
  460. package/shared/constructor-methods.js +0 -11
  461. package/shared/events-class.js +0 -17
  462. package/shared/get-device.js +18 -34
  463. package/shared/get-support.js +2 -8
  464. package/shared/history.js +2 -30
  465. package/shared/material-color-utils.js +728 -0
  466. package/shared/material-colors.js +75 -0
  467. package/shared/modal-methods.js +0 -18
  468. package/shared/utils.d.ts +0 -4
  469. package/shared/utils.js +191 -71
  470. package/components/accordion/accordion-aurora.less +0 -2
  471. package/components/actions/actions-aurora.less +0 -9
  472. package/components/app/app-aurora.less +0 -10
  473. package/components/appbar/appbar-aurora.less +0 -2
  474. package/components/appbar/appbar-ios.less +0 -2
  475. package/components/appbar/appbar-md.less +0 -2
  476. package/components/appbar/appbar-rtl.css +0 -1
  477. package/components/appbar/appbar-vars.less +0 -28
  478. package/components/appbar/appbar.css +0 -1
  479. package/components/appbar/appbar.d.ts +0 -14
  480. package/components/appbar/appbar.js +0 -3
  481. package/components/appbar/appbar.lazy.js +0 -1
  482. package/components/appbar/appbar.less +0 -106
  483. package/components/area-chart/area-chart-aurora.less +0 -2
  484. package/components/autocomplete/autocomplete-aurora.less +0 -17
  485. package/components/badge/badge-aurora.less +0 -2
  486. package/components/block/block-aurora.less +0 -2
  487. package/components/breadcrumbs/breadcrumbs-aurora.less +0 -2
  488. package/components/button/button-aurora.less +0 -25
  489. package/components/calendar/calendar-aurora.less +0 -2
  490. package/components/card/card-aurora.less +0 -2
  491. package/components/checkbox/checkbox-aurora.less +0 -39
  492. package/components/chip/chip-aurora.less +0 -14
  493. package/components/color-picker/color-picker-aurora.less +0 -2
  494. package/components/contacts-list/contacts-list-aurora.less +0 -2
  495. package/components/data-table/data-table-aurora.less +0 -64
  496. package/components/dialog/dialog-aurora.less +0 -112
  497. package/components/elevation/elevation-aurora.less +0 -2
  498. package/components/elevation/elevation-ios.less +0 -2
  499. package/components/elevation/elevation-md.less +0 -2
  500. package/components/elevation/elevation-rtl.css +0 -1
  501. package/components/elevation/elevation-vars.less +0 -51
  502. package/components/elevation/elevation.css +0 -1
  503. package/components/elevation/elevation.d.ts +0 -14
  504. package/components/elevation/elevation.js +0 -3
  505. package/components/elevation/elevation.lazy.js +0 -1
  506. package/components/elevation/elevation.less +0 -54
  507. package/components/fab/fab-aurora.less +0 -2
  508. package/components/form/form-aurora.less +0 -0
  509. package/components/gauge/gauge-aurora.less +0 -2
  510. package/components/grid/grid-aurora.less +0 -2
  511. package/components/icon/icon-aurora.less +0 -49
  512. package/components/infinite-scroll/infinite-scroll-aurora.less +0 -6
  513. package/components/input/input-aurora.less +0 -120
  514. package/components/lazy/lazy-aurora.less +0 -2
  515. package/components/lazy/lazy-ios.less +0 -2
  516. package/components/lazy/lazy-md.less +0 -2
  517. package/components/lazy/lazy-rtl.css +0 -1
  518. package/components/lazy/lazy.css +0 -1
  519. package/components/lazy/lazy.d.ts +0 -57
  520. package/components/lazy/lazy.js +0 -283
  521. package/components/lazy/lazy.lazy.js +0 -1
  522. package/components/lazy/lazy.less +0 -23
  523. package/components/link/link-aurora.less +0 -15
  524. package/components/list/list-aurora.less +0 -25
  525. package/components/list-index/list-index-aurora.less +0 -21
  526. package/components/login-screen/login-screen-aurora.less +0 -2
  527. package/components/menu/menu-aurora.less +0 -8
  528. package/components/menu/menu-ios.less +0 -2
  529. package/components/menu/menu-md.less +0 -2
  530. package/components/menu/menu-rtl.css +0 -1
  531. package/components/menu/menu-vars.less +0 -27
  532. package/components/menu/menu.css +0 -1
  533. package/components/menu/menu.d.ts +0 -32
  534. package/components/menu/menu.js +0 -87
  535. package/components/menu/menu.lazy.js +0 -1
  536. package/components/menu/menu.less +0 -232
  537. package/components/messagebar/messagebar-aurora.less +0 -53
  538. package/components/messages/messages-aurora.less +0 -137
  539. package/components/navbar/navbar-aurora.less +0 -70
  540. package/components/notification/notification-aurora.less +0 -59
  541. package/components/page/page-aurora.less +0 -49
  542. package/components/panel/panel-aurora.less +0 -2
  543. package/components/photo-browser/photo-browser-aurora.less +0 -2
  544. package/components/picker/picker-aurora.less +0 -2
  545. package/components/pie-chart/pie-chart-aurora.less +0 -2
  546. package/components/popover/popover-aurora.less +0 -56
  547. package/components/popup/popup-aurora.less +0 -2
  548. package/components/preloader/preloader-aurora.less +0 -53
  549. package/components/progressbar/progressbar-aurora.less +0 -72
  550. package/components/pull-to-refresh/pull-to-refresh-aurora.less +0 -122
  551. package/components/radio/radio-aurora.less +0 -86
  552. package/components/range/range-aurora.less +0 -9
  553. package/components/searchbar/searchbar-aurora.less +0 -86
  554. package/components/sheet/sheet-aurora.less +0 -2
  555. package/components/skeleton/skeleton-aurora.less +0 -2
  556. package/components/smart-select/smart-select-aurora.less +0 -2
  557. package/components/sortable/sortable-aurora.less +0 -7
  558. package/components/statusbar/statusbar-aurora.less +0 -2
  559. package/components/stepper/stepper-aurora.less +0 -32
  560. package/components/subnavbar/subnavbar-aurora.less +0 -51
  561. package/components/swipeout/swipeout-aurora.less +0 -2
  562. package/components/swiper/swiper-aurora.less +0 -2
  563. package/components/tabs/tabs-aurora.less +0 -2
  564. package/components/text-editor/text-editor-aurora.less +0 -9
  565. package/components/timeline/timeline-aurora.less +0 -7
  566. package/components/toast/toast-aurora.less +0 -64
  567. package/components/toggle/toggle-aurora.less +0 -26
  568. package/components/toolbar/toolbar-aurora.less +0 -43
  569. package/components/tooltip/tooltip-aurora.less +0 -2
  570. package/components/touch-ripple/touch-ripple-aurora.less +0 -2
  571. package/components/treeview/treeview-aurora.less +0 -31
  572. package/components/typography/typography-aurora.less +0 -2
  573. package/components/view/view-aurora.less +0 -2
  574. package/components/virtual-list/virtual-list-aurora.less +0 -2
  575. package/modules/request/request.d.ts +0 -15
  576. package/modules/request/request.js +0 -11
  577. package/postinstall.js +0 -3
  578. package/shared/request.d.ts +0 -115
  579. package/shared/request.js +0 -512
@@ -7,7 +7,6 @@ import redirect from './redirect.js';
7
7
  import processRouteQueue from './process-route-queue.js';
8
8
  import appRouterCheck from './app-router-check.js';
9
9
  import asyncComponent from './async-component.js';
10
-
11
10
  function backward(router, el, backwardOptions) {
12
11
  const device = getDevice();
13
12
  const document = getDocument();
@@ -28,51 +27,45 @@ function backward(router, el, backwardOptions) {
28
27
  const $oldPage = router.$el.children('.page-current');
29
28
  const initialPreload = $oldPage.length === 0 && options.preload;
30
29
  const currentIsMaster = masterDetailEnabled && $oldPage.hasClass('page-master');
31
-
32
30
  if ($newPage.length) {
33
31
  // Remove theme elements
34
32
  router.removeThemeElements($newPage);
35
33
  }
36
-
37
34
  let $navbarsEl;
38
35
  let $newNavbarEl;
39
36
  let $oldNavbarEl;
40
-
41
37
  if (dynamicNavbar) {
42
38
  $newNavbarEl = $newPage.children('.navbar');
43
39
  $navbarsEl = router.$navbarsEl;
44
-
45
40
  if ($newNavbarEl.length === 0 && $newPage[0] && $newPage[0].f7Page) {
46
41
  // Try from pageData
47
42
  $newNavbarEl = $newPage[0].f7Page.$navbarEl;
48
43
  }
49
-
50
44
  $oldNavbarEl = $navbarsEl.find('.navbar-current');
51
45
  }
52
-
53
46
  router.allowPageChange = false;
54
-
55
47
  if ($newPage.length === 0 || $oldPage.length === 0 && !options.preload) {
56
48
  router.allowPageChange = true;
57
49
  return router;
58
- } // Remove theme elements
59
-
50
+ }
60
51
 
61
- router.removeThemeElements($newPage); // Save Keep Alive Cache
52
+ // Remove theme elements
53
+ router.removeThemeElements($newPage);
62
54
 
55
+ // Save Keep Alive Cache
63
56
  if (options.route && options.route.route && options.route.route.keepAlive && !options.route.route.keepAliveData) {
64
57
  options.route.route.keepAliveData = {
65
58
  pageEl: $el[0]
66
59
  };
67
- } // Pages In View
68
-
60
+ }
69
61
 
62
+ // Pages In View
70
63
  let isDetail;
71
64
  let isDetailRoot;
72
-
73
65
  if (masterDetailEnabled) {
74
- const $pagesInView = router.$el.children('.page:not(.stacked)').filter(pageInView => pageInView !== $newPage[0]); // Find Detail' master page
66
+ const $pagesInView = router.$el.children('.page').filter(pageInView => pageInView !== $newPage[0]);
75
67
 
68
+ // Find Detail' master page
76
69
  for (let i = 0; i < $pagesInView.length; i += 1) {
77
70
  if (!masterPageEl && $pagesInView[i].classList.contains('page-master')) {
78
71
  masterPageEl = $pagesInView[i];
@@ -81,23 +74,20 @@ function backward(router, el, backwardOptions) {
81
74
  }
82
75
 
83
76
  isDetail = !isMaster && masterPageEl && router.history.indexOf(options.route.url) > router.history.indexOf(masterPageEl.f7Page.route.url);
84
-
85
77
  if (!isDetail && !isMaster && masterPageEl && masterPageEl.f7Page && options.route.route.masterRoute) {
86
78
  isDetail = options.route.route.masterRoute.path === masterPageEl.f7Page.route.route.path;
87
79
  }
88
80
  }
89
-
90
81
  if (isDetail && masterPageEl && masterPageEl.f7Page) {
91
82
  isDetailRoot = router.history.indexOf(options.route.url) - router.history.indexOf(masterPageEl.f7Page.route.url) === 1;
92
- } // New Page
93
-
83
+ }
94
84
 
95
- $newPage.addClass(`page-${initialPreload ? 'current' : 'previous'}${isMaster ? ' page-master' : ''}${isDetail ? ' page-master-detail' : ''}${isDetailRoot ? ' page-master-detail-root' : ''}`).removeClass('stacked').removeAttr('aria-hidden').trigger('page:unstack').trigger('page:position', {
85
+ // New Page
86
+ $newPage.addClass(`page-${initialPreload ? 'current' : 'previous'}${isMaster ? ' page-master' : ''}${isDetail ? ' page-master-detail' : ''}${isDetailRoot ? ' page-master-detail-root' : ''}`).removeAttr('aria-hidden').trigger('page:unstack').trigger('page:position', {
96
87
  position: initialPreload ? 'current' : 'previous'
97
88
  });
98
89
  router.emit('pageUnstack', $newPage[0]);
99
90
  router.emit('pagePosition', $newPage[0], initialPreload ? 'current' : 'previous');
100
-
101
91
  if (isMaster || isDetail) {
102
92
  $newPage.trigger('page:role', {
103
93
  role: isMaster ? 'master' : 'detail',
@@ -108,27 +98,24 @@ function backward(router, el, backwardOptions) {
108
98
  detailRoot: !!isDetailRoot
109
99
  });
110
100
  }
111
-
112
101
  if (dynamicNavbar && $newNavbarEl.length > 0) {
113
- $newNavbarEl.addClass(`navbar-${initialPreload ? 'current' : 'previous'}${isMaster ? ' navbar-master' : ''}${isDetail ? ' navbar-master-detail' : ''}${isDetailRoot ? ' navbar-master-detail-root' : ''}`).removeClass('stacked').removeAttr('aria-hidden');
102
+ $newNavbarEl.addClass(`navbar-${initialPreload ? 'current' : 'previous'}${isMaster ? ' navbar-master' : ''}${isDetail ? ' navbar-master-detail' : ''}${isDetailRoot ? ' navbar-master-detail-root' : ''}`).removeAttr('aria-hidden');
114
103
  $newNavbarEl.trigger('navbar:position', {
115
104
  position: initialPreload ? 'current' : 'previous'
116
105
  });
117
106
  router.emit('navbarPosition', $newNavbarEl[0], initialPreload ? 'current' : 'previous');
118
-
119
107
  if (isMaster || isDetailRoot) {
120
108
  router.emit('navbarRole', $newNavbarEl[0], {
121
109
  role: isMaster ? 'master' : 'detail',
122
110
  detailRoot: !!isDetailRoot
123
111
  });
124
112
  }
125
- } // Remove previous page in case of "forced"
126
-
113
+ }
127
114
 
115
+ // Remove previous page in case of "forced"
128
116
  let backIndex;
129
-
130
117
  if (options.force) {
131
- if ($oldPage.prev('.page-previous:not(.stacked)').length > 0 || $oldPage.prev('.page-previous').length === 0) {
118
+ if ($oldPage.prev('.page-previous').length >= 0) {
132
119
  if (router.history.indexOf(options.route.url) >= 0) {
133
120
  backIndex = router.history.length - router.history.indexOf(options.route.url) - 1;
134
121
  router.history = router.history.slice(0, router.history.indexOf(options.route.url) + 2);
@@ -138,76 +125,27 @@ function backward(router, el, backwardOptions) {
138
125
  } else {
139
126
  router.history.unshift(router.url);
140
127
  }
141
-
142
- if (backIndex && router.params.stackPages) {
143
- $oldPage.prevAll('.page-previous').each(pageToRemove => {
144
- const $pageToRemove = $(pageToRemove);
145
- let $navbarToRemove;
146
-
147
- if (dynamicNavbar) {
148
- // $navbarToRemove = $oldNavbarEl.prevAll('.navbar-previous').eq(index);
149
- $navbarToRemove = $(app.navbar.getElByPage($pageToRemove));
150
- }
151
-
152
- if ($pageToRemove[0] !== $newPage[0] && $pageToRemove.index() > $newPage.index()) {
153
- if (router.initialPages.indexOf($pageToRemove[0]) >= 0) {
154
- $pageToRemove.addClass('stacked');
155
- $pageToRemove.trigger('page:stack');
156
- router.emit('pageStack', $pageToRemove[0]);
157
-
158
- if (dynamicNavbar) {
159
- $navbarToRemove.addClass('stacked');
160
- }
161
- } else {
162
- router.pageCallback('beforeRemove', $pageToRemove, $navbarToRemove, 'previous', undefined, options);
163
-
164
- if ($pageToRemove[0] === masterPageEl) {
165
- masterPageRemoved = true;
166
- }
167
-
168
- router.removePage($pageToRemove);
169
-
170
- if (dynamicNavbar && $navbarToRemove.length > 0) {
171
- router.removeNavbar($navbarToRemove);
172
- }
173
- }
174
- }
175
- });
176
- } else {
177
- const $pageToRemove = $oldPage.prev('.page-previous:not(.stacked)');
178
- let $navbarToRemove;
179
-
180
- if (dynamicNavbar) {
181
- // $navbarToRemove = $oldNavbarEl.prev('.navbar-inner:not(.stacked)');
182
- $navbarToRemove = $(app.navbar.getElByPage($pageToRemove));
128
+ const $pageToRemove = $oldPage.prev('.page-previous');
129
+ let $navbarToRemove;
130
+ if (dynamicNavbar) {
131
+ $navbarToRemove = $(app.navbar.getElByPage($pageToRemove));
132
+ }
133
+ if ($pageToRemove.length > 0) {
134
+ router.pageCallback('beforeRemove', $pageToRemove, $navbarToRemove, 'previous', undefined, options);
135
+ if ($pageToRemove[0] === masterPageEl) {
136
+ masterPageRemoved = true;
183
137
  }
184
-
185
- if (router.params.stackPages && router.initialPages.indexOf($pageToRemove[0]) >= 0) {
186
- $pageToRemove.addClass('stacked');
187
- $pageToRemove.trigger('page:stack');
188
- router.emit('pageStack', $pageToRemove[0]);
189
- $navbarToRemove.addClass('stacked');
190
- } else if ($pageToRemove.length > 0) {
191
- router.pageCallback('beforeRemove', $pageToRemove, $navbarToRemove, 'previous', undefined, options);
192
-
193
- if ($pageToRemove[0] === masterPageEl) {
194
- masterPageRemoved = true;
195
- }
196
-
197
- router.removePage($pageToRemove);
198
-
199
- if (dynamicNavbar && $navbarToRemove.length) {
200
- router.removeNavbar($navbarToRemove);
201
- }
138
+ router.removePage($pageToRemove);
139
+ if (dynamicNavbar && $navbarToRemove.length) {
140
+ router.removeNavbar($navbarToRemove);
202
141
  }
203
142
  }
204
143
  }
205
- } // Insert new page
206
-
144
+ }
207
145
 
146
+ // Insert new page
208
147
  const newPageInDom = $newPage.parents(document).length > 0;
209
148
  const f7Component = $newPage[0].f7Component;
210
-
211
149
  function insertPage() {
212
150
  if (initialPreload) {
213
151
  if (!newPageInDom && f7Component) {
@@ -218,7 +156,6 @@ function backward(router, el, backwardOptions) {
218
156
  router.$el.append($newPage);
219
157
  }
220
158
  }
221
-
222
159
  if ($newPage.next($oldPage).length === 0) {
223
160
  if (!newPageInDom && f7Component) {
224
161
  f7Component.mount(componentEl => {
@@ -228,25 +165,20 @@ function backward(router, el, backwardOptions) {
228
165
  $newPage.insertBefore($oldPage);
229
166
  }
230
167
  }
231
-
232
168
  if (dynamicNavbar && $newNavbarEl.length) {
233
169
  if ($newNavbarEl.find('.title-large').length) {
234
170
  $newNavbarEl.addClass('navbar-large');
235
171
  }
236
-
237
172
  $newNavbarEl.insertBefore($oldNavbarEl);
238
-
239
173
  if ($oldNavbarEl.length > 0) {
240
174
  $newNavbarEl.insertBefore($oldNavbarEl);
241
175
  } else {
242
176
  if (!router.$navbarsEl.parents(document).length) {
243
177
  router.$el.prepend(router.$navbarsEl);
244
178
  }
245
-
246
179
  $navbarsEl.append($newNavbarEl);
247
180
  }
248
181
  }
249
-
250
182
  if (!newPageInDom) {
251
183
  router.pageCallback('mounted', $newPage, $newNavbarEl, 'previous', 'current', options, $oldPage);
252
184
  } else if (options.route && options.route.route && options.route.route.keepAlive && !$newPage[0].f7PageMounted) {
@@ -254,11 +186,10 @@ function backward(router, el, backwardOptions) {
254
186
  router.pageCallback('mounted', $newPage, $newNavbarEl, 'previous', 'current', options, $oldPage);
255
187
  }
256
188
  }
257
-
258
189
  if (options.preload) {
259
190
  // Insert Page
260
- insertPage(); // Tab route
261
-
191
+ insertPage();
192
+ // Tab route
262
193
  if (options.route.route.tab) {
263
194
  router.tabLoad(options.route.route.tab, extend({}, options, {
264
195
  history: false,
@@ -266,61 +197,40 @@ function backward(router, el, backwardOptions) {
266
197
  preload: true
267
198
  }));
268
199
  }
269
-
270
200
  if (isMaster) {
271
201
  $newPage.removeClass('page-master-stacked').trigger('page:masterunstack');
272
202
  router.emit('pageMasterUnstack', $newPage[0]);
273
-
274
203
  if (dynamicNavbar) {
275
204
  $(app.navbar.getElByPage($newPage)).removeClass('navbar-master-stacked');
276
205
  router.emit('navbarMasterUnstack', app.navbar.getElByPage($newPage));
277
206
  }
278
- } // Page init and before init events
279
-
280
-
207
+ }
208
+ // Page init and before init events
281
209
  router.pageCallback('init', $newPage, $newNavbarEl, 'previous', 'current', options, $oldPage);
282
-
283
210
  if (initialPreload) {
284
211
  router.pageCallback('beforeIn', $newPage, $newNavbarEl, 'current', undefined, options);
285
212
  router.pageCallback('afterIn', $newPage, $newNavbarEl, 'current', undefined, options);
286
213
  }
287
-
288
- const $previousPages = $newPage.prevAll('.page-previous:not(.stacked):not(.page-master)');
289
-
214
+ const $previousPages = $newPage.prevAll('.page-previous:not(.page-master)');
290
215
  if ($previousPages.length > 0) {
291
216
  $previousPages.each(pageToRemove => {
292
217
  const $pageToRemove = $(pageToRemove);
293
218
  let $navbarToRemove;
294
-
295
219
  if (dynamicNavbar) {
296
- // $navbarToRemove = $newNavbarEl.prevAll('.navbar-previous:not(.stacked)').eq(index);
297
220
  $navbarToRemove = $(app.navbar.getElByPage($pageToRemove));
298
221
  }
299
-
300
- if (router.params.stackPages && router.initialPages.indexOf(pageToRemove) >= 0) {
301
- $pageToRemove.addClass('stacked');
302
- $pageToRemove.trigger('page:stack');
303
- router.emit('pageStack', $pageToRemove[0]);
304
-
305
- if (dynamicNavbar) {
306
- $navbarToRemove.addClass('stacked');
307
- }
308
- } else {
309
- router.pageCallback('beforeRemove', $pageToRemove, $navbarToRemove, 'previous', undefined);
310
- router.removePage($pageToRemove);
311
-
312
- if (dynamicNavbar && $navbarToRemove.length) {
313
- router.removeNavbar($navbarToRemove);
314
- }
222
+ router.pageCallback('beforeRemove', $pageToRemove, $navbarToRemove, 'previous', undefined);
223
+ router.removePage($pageToRemove);
224
+ if (dynamicNavbar && $navbarToRemove.length) {
225
+ router.removeNavbar($navbarToRemove);
315
226
  }
316
227
  });
317
228
  }
318
-
319
229
  router.allowPageChange = true;
320
230
  return router;
321
- } // History State
322
-
231
+ }
323
232
 
233
+ // History State
324
234
  if (!(device.ie || device.edge || device.firefox && !device.ios)) {
325
235
  if (router.params.browserHistory && options.browserHistory) {
326
236
  if (options.replaceState) {
@@ -334,32 +244,31 @@ function backward(router, el, backwardOptions) {
334
244
  History.back();
335
245
  }
336
246
  }
337
- } // Update History
338
-
247
+ }
339
248
 
249
+ // Update History
340
250
  if (options.replaceState) {
341
251
  router.history[router.history.length - 1] = options.route.url;
342
252
  } else {
343
253
  if (router.history.length === 1) {
344
254
  router.history.unshift(router.url);
345
255
  }
346
-
347
256
  router.history.pop();
348
257
  }
258
+ router.saveHistory();
349
259
 
350
- router.saveHistory(); // Current Page & Navbar
351
-
260
+ // Current Page & Navbar
352
261
  router.currentPageEl = $newPage[0];
353
-
354
262
  if (dynamicNavbar && $newNavbarEl.length) {
355
263
  router.currentNavbarEl = $newNavbarEl[0];
356
264
  } else {
357
265
  delete router.currentNavbarEl;
358
- } // Current Route
359
-
266
+ }
360
267
 
361
- router.currentRoute = options.route; // History State
268
+ // Current Route
269
+ router.currentRoute = options.route;
362
270
 
271
+ // History State
363
272
  if (device.ie || device.edge || device.firefox && !device.ios) {
364
273
  if (router.params.browserHistory && options.browserHistory) {
365
274
  if (options.replaceState) {
@@ -373,104 +282,88 @@ function backward(router, el, backwardOptions) {
373
282
  History.back();
374
283
  }
375
284
  }
376
- } // Insert Page
377
-
285
+ }
378
286
 
379
- insertPage(); // Load Tab
287
+ // Insert Page
288
+ insertPage();
380
289
 
290
+ // Load Tab
381
291
  if (options.route.route.tab) {
382
292
  router.tabLoad(options.route.route.tab, extend({}, options, {
383
293
  history: false,
384
294
  browserHistory: false
385
295
  }));
386
- } // Check master detail
296
+ }
387
297
 
298
+ // Check master detail
388
299
 
389
300
  if (masterDetailEnabled && (currentIsMaster || masterPageRemoved)) {
390
301
  view.checkMasterDetailBreakpoint(false);
391
- } // Page init and before init events
392
-
302
+ }
393
303
 
394
- router.pageCallback('init', $newPage, $newNavbarEl, 'previous', 'current', options, $oldPage); // Before animation callback
304
+ // Page init and before init events
305
+ router.pageCallback('init', $newPage, $newNavbarEl, 'previous', 'current', options, $oldPage);
395
306
 
307
+ // Before animation callback
396
308
  router.pageCallback('beforeOut', $oldPage, $oldNavbarEl, 'current', 'next', options);
397
- router.pageCallback('beforeIn', $newPage, $newNavbarEl, 'previous', 'current', options); // Animation
309
+ router.pageCallback('beforeIn', $newPage, $newNavbarEl, 'previous', 'current', options);
398
310
 
311
+ // Animation
399
312
  function afterAnimation() {
400
313
  // Set classes
401
314
  router.setPagePosition($newPage, 'current', false);
402
315
  router.setPagePosition($oldPage, 'next', true);
403
-
404
316
  if (dynamicNavbar) {
405
317
  router.setNavbarPosition($newNavbarEl, 'current', false);
406
318
  router.setNavbarPosition($oldNavbarEl, 'next', true);
407
- } // After animation event
408
-
319
+ }
409
320
 
321
+ // After animation event
410
322
  router.pageCallback('afterOut', $oldPage, $oldNavbarEl, 'current', 'next', options);
411
- router.pageCallback('afterIn', $newPage, $newNavbarEl, 'previous', 'current', options); // Remove Old Page
412
-
413
- if (router.params.stackPages && router.initialPages.indexOf($oldPage[0]) >= 0) {
414
- $oldPage.addClass('stacked');
415
- $oldPage.trigger('page:stack');
416
- router.emit('pageStack', $oldPage[0]);
323
+ router.pageCallback('afterIn', $newPage, $newNavbarEl, 'previous', 'current', options);
417
324
 
418
- if (dynamicNavbar) {
419
- $oldNavbarEl.addClass('stacked');
420
- }
421
- } else {
422
- router.pageCallback('beforeRemove', $oldPage, $oldNavbarEl, 'next', undefined, options);
423
- router.removePage($oldPage);
325
+ // Remove Old Page
424
326
 
425
- if (dynamicNavbar && $oldNavbarEl.length) {
426
- router.removeNavbar($oldNavbarEl);
427
- }
327
+ router.pageCallback('beforeRemove', $oldPage, $oldNavbarEl, 'next', undefined, options);
328
+ router.removePage($oldPage);
329
+ if (dynamicNavbar && $oldNavbarEl.length) {
330
+ router.removeNavbar($oldNavbarEl);
428
331
  }
429
-
430
332
  router.allowPageChange = true;
431
- router.emit('routeChanged', router.currentRoute, router.previousRoute, router); // Preload previous page
333
+ router.emit('routeChanged', router.currentRoute, router.previousRoute, router);
432
334
 
335
+ // Preload previous page
433
336
  const preloadPreviousPage = router.params.preloadPreviousPage || router.params[`${app.theme}SwipeBack`];
434
-
435
337
  if (preloadPreviousPage && router.history[router.history.length - 2] && !isMaster) {
436
338
  router.back(router.history[router.history.length - 2], {
437
339
  preload: true
438
340
  });
439
341
  }
440
-
441
342
  if (router.params.browserHistory) {
442
343
  History.clearRouterQueue();
443
344
  }
444
345
  }
445
-
446
346
  function setPositionClasses() {
447
347
  router.setPagePosition($oldPage, 'current');
448
348
  router.setPagePosition($newPage, 'previous', false);
449
-
450
349
  if (dynamicNavbar) {
451
350
  router.setNavbarPosition($oldNavbarEl, 'current');
452
351
  router.setNavbarPosition($newNavbarEl, 'previous', false);
453
352
  }
454
353
  }
455
-
456
354
  if (options.animate && !(currentIsMaster && app.width >= router.params.masterDetailBreakpoint)) {
457
355
  let transition = router.params.transition;
458
-
459
356
  if ($oldPage[0] && $oldPage[0].f7PageTransition) {
460
357
  transition = $oldPage[0].f7PageTransition;
461
358
  delete $oldPage[0].f7PageTransition;
462
359
  }
463
-
464
360
  if (options.transition) transition = options.transition;
465
-
466
361
  if (!transition && router.previousRoute && router.previousRoute.route) {
467
362
  transition = router.previousRoute.route.transition;
468
363
  }
469
-
470
364
  if (!transition && router.previousRoute && router.previousRoute.route && router.previousRoute.route.options) {
471
365
  transition = router.previousRoute.route.options.transition;
472
366
  }
473
-
474
367
  setPositionClasses();
475
368
  router.animate($oldPage, $newPage, $oldNavbarEl, $newNavbarEl, 'backward', transition, () => {
476
369
  afterAnimation();
@@ -478,10 +371,8 @@ function backward(router, el, backwardOptions) {
478
371
  } else {
479
372
  afterAnimation();
480
373
  }
481
-
482
374
  return router;
483
375
  }
484
-
485
376
  function loadBack(router, backParams, backOptions, ignorePageChange) {
486
377
  if (!router.allowPageChange && !ignorePageChange) return router;
487
378
  const params = backParams;
@@ -494,30 +385,26 @@ function loadBack(router, backParams, backOptions, ignorePageChange) {
494
385
  component,
495
386
  componentUrl
496
387
  } = params;
497
-
498
388
  if (options.route.url && router.url === options.route.url && !(options.reloadCurrent || options.reloadPrevious) && !router.params.allowDuplicateUrls) {
499
389
  return false;
500
390
  }
501
-
502
391
  if (!options.route && url) {
503
392
  options.route = router.parseRouteUrl(url);
504
- } // Component Callbacks
505
-
393
+ }
506
394
 
395
+ // Component Callbacks
507
396
  function resolve(pageEl, newOptions) {
508
397
  return backward(router, pageEl, extend(options, newOptions));
509
398
  }
510
-
511
399
  function reject() {
512
400
  router.allowPageChange = true;
513
401
  return router;
514
402
  }
515
-
516
403
  if (url || componentUrl || component) {
517
404
  router.allowPageChange = false;
518
- } // Proceed
519
-
405
+ }
520
406
 
407
+ // Proceed
521
408
  if (content) {
522
409
  backward(router, router.getPageEl(content), options);
523
410
  } else if (el) {
@@ -547,17 +434,14 @@ function loadBack(router, backParams, backOptions, ignorePageChange) {
547
434
  router.xhrAbortController.abort();
548
435
  router.xhrAbortController = false;
549
436
  }
550
-
551
437
  router.xhrRequest(url, options).then(pageContent => {
552
438
  backward(router, router.getPageEl(pageContent), options);
553
439
  }).catch(() => {
554
440
  router.allowPageChange = true;
555
441
  });
556
442
  }
557
-
558
443
  return router;
559
444
  }
560
-
561
445
  function back() {
562
446
  const router = this;
563
447
  const device = getDevice();
@@ -565,27 +449,23 @@ function back() {
565
449
  let navigateUrl;
566
450
  let navigateOptions;
567
451
  let route;
568
-
569
452
  if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'object') {
570
453
  navigateOptions = (arguments.length <= 0 ? undefined : arguments[0]) || {};
571
454
  } else {
572
455
  navigateUrl = arguments.length <= 0 ? undefined : arguments[0];
573
456
  navigateOptions = (arguments.length <= 1 ? undefined : arguments[1]) || {};
574
457
  }
575
-
576
458
  const {
577
459
  name,
578
460
  params,
579
461
  query
580
462
  } = navigateOptions;
581
-
582
463
  if (name) {
583
464
  navigateUrl = router.generateUrl({
584
465
  name,
585
466
  params,
586
467
  query
587
468
  });
588
-
589
469
  if (navigateUrl) {
590
470
  return router.back(navigateUrl, extend({}, navigateOptions, {
591
471
  name: null,
@@ -593,15 +473,12 @@ function back() {
593
473
  query: null
594
474
  }));
595
475
  }
596
-
597
476
  return router;
598
477
  }
599
-
600
478
  const app = router.app;
601
479
  appRouterCheck(router, 'back');
602
480
  let currentRouteIsModal = router.currentRoute.modal;
603
481
  let modalType;
604
-
605
482
  if (!currentRouteIsModal) {
606
483
  'popup popover sheet loginScreen actions customModal panel'.split(' ').forEach(modalLoadProp => {
607
484
  if (router.currentRoute.route[modalLoadProp]) {
@@ -610,28 +487,24 @@ function back() {
610
487
  }
611
488
  });
612
489
  }
613
-
614
490
  if (currentRouteIsModal && !navigateOptions.preload) {
615
491
  const modalToClose = router.currentRoute.modal || router.currentRoute.route.modalInstance || app[modalType].get();
616
492
  const previousUrl = router.history[router.history.length - 2];
617
- let previousRoute; // check if previous route is modal too
618
-
493
+ let previousRoute;
494
+ // check if previous route is modal too
619
495
  if (modalToClose && modalToClose.$el) {
620
496
  const prevOpenedModals = modalToClose.$el.prevAll('.modal-in');
621
-
622
497
  if (prevOpenedModals.length && prevOpenedModals[0].f7Modal) {
623
- const modalEl = prevOpenedModals[0]; // check if current router not inside of the modalEl
624
-
498
+ const modalEl = prevOpenedModals[0];
499
+ // check if current router not inside of the modalEl
625
500
  if (!router.$el.parents(modalEl).length) {
626
501
  previousRoute = modalEl.f7Modal.route;
627
502
  }
628
503
  }
629
504
  }
630
-
631
505
  if (!previousRoute) {
632
506
  previousRoute = router.findMatchingRoute(previousUrl);
633
507
  }
634
-
635
508
  if (!previousRoute && previousUrl) {
636
509
  previousRoute = {
637
510
  url: previousUrl,
@@ -643,34 +516,26 @@ function back() {
643
516
  }
644
517
  };
645
518
  }
646
-
647
519
  if (!navigateUrl || navigateUrl.replace(/[# ]/g, '').trim().length === 0) {
648
520
  if (!previousRoute || !modalToClose) {
649
521
  return router;
650
522
  }
651
523
  }
652
-
653
524
  const forceOtherUrl = navigateOptions.force && previousRoute && navigateUrl;
654
-
655
525
  if (previousRoute && modalToClose) {
656
526
  const isBrokenBrowserHistory = device.ie || device.edge || device.firefox && !device.ios;
657
527
  const needHistoryBack = router.params.browserHistory && navigateOptions.browserHistory !== false;
658
528
  const currentRouteWithoutBrowserHistory = router.currentRoute && router.currentRoute.route && router.currentRoute.route.options && router.currentRoute.route.options.browserHistory === false;
659
-
660
529
  if (needHistoryBack && !isBrokenBrowserHistory && !currentRouteWithoutBrowserHistory) {
661
530
  History.back();
662
531
  }
663
-
664
532
  router.currentRoute = previousRoute;
665
533
  router.history.pop();
666
534
  router.saveHistory();
667
-
668
535
  if (needHistoryBack && isBrokenBrowserHistory && !currentRouteWithoutBrowserHistory) {
669
536
  History.back();
670
537
  }
671
-
672
538
  router.modalRemove(modalToClose);
673
-
674
539
  if (forceOtherUrl) {
675
540
  router.navigate(navigateUrl, {
676
541
  reloadCurrent: true
@@ -678,41 +543,33 @@ function back() {
678
543
  }
679
544
  } else if (modalToClose) {
680
545
  router.modalRemove(modalToClose);
681
-
682
546
  if (navigateUrl) {
683
547
  router.navigate(navigateUrl, {
684
548
  reloadCurrent: true
685
549
  });
686
550
  }
687
551
  }
688
-
689
552
  return router;
690
553
  }
691
-
692
554
  let $previousPage = router.$el.children('.page-current').prevAll('.page-previous:not(.page-master)').eq(0);
693
555
  let skipMaster;
694
-
695
556
  if (router.params.masterDetailBreakpoint > 0) {
696
557
  const classes = [];
697
558
  router.$el.children('.page').each(pageEl => {
698
559
  classes.push(pageEl.className);
699
560
  });
700
561
  const $previousMaster = router.$el.children('.page-current').prevAll('.page-master').eq(0);
701
-
702
562
  if ($previousMaster.length) {
703
563
  const expectedPreviousPageUrl = router.history[router.history.length - 2];
704
564
  const expectedPreviousPageRoute = router.findMatchingRoute(expectedPreviousPageUrl);
705
-
706
565
  if (expectedPreviousPageRoute && $previousMaster[0].f7Page && expectedPreviousPageRoute.route === $previousMaster[0].f7Page.route.route) {
707
566
  $previousPage = $previousMaster;
708
-
709
567
  if (!navigateOptions.preload) {
710
568
  skipMaster = app.width >= router.params.masterDetailBreakpoint;
711
569
  }
712
570
  }
713
571
  }
714
572
  }
715
-
716
573
  if (!navigateOptions.force && $previousPage.length && !skipMaster) {
717
574
  if (router.params.browserHistory && $previousPage[0].f7Page && router.history[router.history.length - 2] !== $previousPage[0].f7Page.route.url) {
718
575
  router.back(router.history[router.history.length - 2], extend(navigateOptions, {
@@ -720,18 +577,7 @@ function back() {
720
577
  }));
721
578
  return router;
722
579
  }
723
-
724
580
  const previousPageRoute = $previousPage[0].f7Page.route;
725
-
726
- if (navigateOptions.preload && $previousPage.hasClass('stacked')) {
727
- loadBack(router, {
728
- el: $previousPage
729
- }, extend(navigateOptions, {
730
- route: previousPageRoute
731
- }));
732
- return router;
733
- }
734
-
735
581
  processRouteQueue.call(router, previousPageRoute, router.currentRoute, () => {
736
582
  loadBack(router, {
737
583
  el: $previousPage
@@ -740,35 +586,30 @@ function back() {
740
586
  }));
741
587
  }, () => {}, 'backward');
742
588
  return router;
743
- } // Navigate URL
744
-
589
+ }
745
590
 
591
+ // Navigate URL
746
592
  if (navigateUrl === '#') {
747
593
  navigateUrl = undefined;
748
594
  }
749
-
750
595
  if (navigateUrl && navigateUrl[0] !== '/' && navigateUrl.indexOf('#') !== 0) {
751
596
  navigateUrl = ((router.path || '/') + navigateUrl).replace('//', '/');
752
597
  }
753
-
754
598
  if (!navigateUrl && router.history.length > 1) {
755
599
  navigateUrl = router.history[router.history.length - 2];
756
600
  }
757
-
758
601
  if (skipMaster && !navigateOptions.force && router.history[router.history.length - 3]) {
759
602
  return router.back(router.history[router.history.length - 3], extend({}, navigateOptions || {}, {
760
603
  force: true,
761
604
  animate: false
762
605
  }));
763
606
  }
764
-
765
607
  if (skipMaster && !navigateOptions.force) {
766
608
  return router;
767
- } // Find route to load
768
-
609
+ }
769
610
 
611
+ // Find route to load
770
612
  route = router.findMatchingRoute(navigateUrl);
771
-
772
613
  if (!route) {
773
614
  if (navigateUrl) {
774
615
  route = {
@@ -782,51 +623,27 @@ function back() {
782
623
  };
783
624
  }
784
625
  }
785
-
786
626
  if (!route) {
787
627
  return router;
788
628
  }
789
-
790
629
  if (route.route.redirect) {
791
630
  return redirect.call(router, 'backward', route, navigateOptions);
792
631
  }
793
-
794
632
  const options = {};
795
-
796
633
  if (route.route.options) {
797
634
  extend(options, route.route.options, navigateOptions);
798
635
  } else {
799
636
  extend(options, navigateOptions);
800
637
  }
801
-
802
638
  options.route = route;
803
- let backForceLoaded;
804
-
805
- if (options.force && router.params.stackPages) {
806
- router.$el.children('.page-previous.stacked').each(pageEl => {
807
- if (pageEl.f7Page && pageEl.f7Page.route && pageEl.f7Page.route.url === route.url) {
808
- backForceLoaded = true;
809
- loadBack(router, {
810
- el: pageEl
811
- }, options);
812
- }
813
- });
814
-
815
- if (backForceLoaded) {
816
- return router;
817
- }
818
- }
819
-
820
639
  function resolve() {
821
640
  let routerLoaded = false;
822
-
823
641
  if (route.route.keepAlive && route.route.keepAliveData) {
824
642
  loadBack(router, {
825
643
  el: route.route.keepAliveData.pageEl
826
644
  }, options);
827
645
  routerLoaded = true;
828
646
  }
829
-
830
647
  'url content component pageName el componentUrl'.split(' ').forEach(pageLoadProp => {
831
648
  if (route.route[pageLoadProp] && !routerLoaded) {
832
649
  routerLoaded = true;
@@ -835,17 +652,15 @@ function back() {
835
652
  }, options);
836
653
  }
837
654
  });
838
- if (routerLoaded) return; // Async
839
-
655
+ if (routerLoaded) return;
656
+ // Async
840
657
  function asyncResolve(resolveParams, resolveOptions) {
841
658
  router.allowPageChange = false;
842
659
  loadBack(router, resolveParams, extend(options, resolveOptions), true);
843
660
  }
844
-
845
661
  function asyncReject() {
846
662
  router.allowPageChange = true;
847
663
  }
848
-
849
664
  if (route.route.async) {
850
665
  router.allowPageChange = false;
851
666
  route.route.async.call(router, {
@@ -858,16 +673,13 @@ function back() {
858
673
  app
859
674
  });
860
675
  }
861
-
862
676
  if (route.route.asyncComponent) {
863
677
  asyncComponent(router, route.route.asyncComponent, asyncResolve, asyncReject);
864
678
  }
865
679
  }
866
-
867
680
  function reject() {
868
681
  router.allowPageChange = true;
869
682
  }
870
-
871
683
  if (options.preload) {
872
684
  resolve();
873
685
  } else {
@@ -884,10 +696,9 @@ function back() {
884
696
  }, () => {
885
697
  reject();
886
698
  }, 'backward');
887
- } // Return Router
888
-
699
+ }
889
700
 
701
+ // Return Router
890
702
  return router;
891
703
  }
892
-
893
704
  export { back };