framework7 7.1.5 → 8.0.0-beta.2

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 (603) 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.less +5 -35
  12. package/components/app/app-class.d.ts +14 -12
  13. package/components/app/app-class.js +93 -75
  14. package/components/app/app-ios.less +0 -2
  15. package/components/app/app-md.less +0 -2
  16. package/components/app/app-vars.less +13 -96
  17. package/components/app/app.less +1 -4
  18. package/components/app/load-module.js +17 -36
  19. package/components/area-chart/area-chart-class.js +8 -64
  20. package/components/area-chart/area-chart.js +0 -3
  21. package/components/area-chart/area-chart.less +0 -3
  22. package/components/autocomplete/autocomplete-class.js +30 -175
  23. package/components/autocomplete/autocomplete-ios.less +0 -8
  24. package/components/autocomplete/autocomplete-rtl.css +1 -1
  25. package/components/autocomplete/autocomplete-vars.less +8 -22
  26. package/components/autocomplete/autocomplete.css +1 -1
  27. package/components/autocomplete/autocomplete.d.ts +1 -3
  28. package/components/autocomplete/autocomplete.js +1 -6
  29. package/components/autocomplete/autocomplete.less +6 -18
  30. package/components/badge/badge-vars.less +3 -6
  31. package/components/badge/badge.less +1 -3
  32. package/components/block/block-vars.less +25 -52
  33. package/components/block/block.less +37 -12
  34. package/components/breadcrumbs/breadcrumbs-rtl.css +1 -1
  35. package/components/breadcrumbs/breadcrumbs-vars.less +31 -15
  36. package/components/breadcrumbs/breadcrumbs.css +1 -1
  37. package/components/breadcrumbs/breadcrumbs.js +0 -2
  38. package/components/breadcrumbs/breadcrumbs.less +4 -10
  39. package/components/button/button-vars.less +42 -43
  40. package/components/button/button.less +24 -26
  41. package/components/calendar/calendar-class.js +81 -401
  42. package/components/calendar/calendar-rtl.css +1 -1
  43. package/components/calendar/calendar-vars.less +32 -46
  44. package/components/calendar/calendar.css +1 -1
  45. package/components/calendar/calendar.js +6 -4
  46. package/components/calendar/calendar.less +10 -21
  47. package/components/card/card-rtl.css +1 -1
  48. package/components/card/card-vars.less +41 -44
  49. package/components/card/card.css +1 -1
  50. package/components/card/card.js +0 -108
  51. package/components/card/card.less +18 -24
  52. package/components/checkbox/checkbox-rtl.css +1 -1
  53. package/components/checkbox/checkbox-vars.less +0 -8
  54. package/components/checkbox/checkbox.css +1 -1
  55. package/components/checkbox/checkbox.less +32 -3
  56. package/components/chip/chip-ios.less +3 -0
  57. package/components/chip/chip-md.less +4 -3
  58. package/components/chip/chip-rtl.css +1 -1
  59. package/components/chip/chip-vars.less +17 -20
  60. package/components/chip/chip.css +1 -1
  61. package/components/chip/chip.less +16 -21
  62. package/components/color-picker/color-picker-class.js +27 -158
  63. package/components/color-picker/color-picker-rtl.css +1 -1
  64. package/components/color-picker/color-picker.css +1 -1
  65. package/components/color-picker/color-picker.js +0 -4
  66. package/components/color-picker/color-picker.less +18 -8
  67. package/components/color-picker/modules/alpha-slider.js +0 -12
  68. package/components/color-picker/modules/brightness-slider.js +0 -8
  69. package/components/color-picker/modules/current-color.js +0 -2
  70. package/components/color-picker/modules/hex.js +0 -12
  71. package/components/color-picker/modules/hs-spectrum.js +0 -20
  72. package/components/color-picker/modules/hsb-sliders.js +0 -18
  73. package/components/color-picker/modules/hue-slider.js +0 -7
  74. package/components/color-picker/modules/initial-current-colors.js +0 -7
  75. package/components/color-picker/modules/palette.js +2 -10
  76. package/components/color-picker/modules/rgb-bars.js +0 -17
  77. package/components/color-picker/modules/rgb-sliders.js +0 -17
  78. package/components/color-picker/modules/sb-spectrum.js +0 -20
  79. package/components/color-picker/modules/wheel.js +0 -28
  80. package/components/contacts-list/contacts-list-md.less +4 -3
  81. package/components/contacts-list/contacts-list-rtl.css +1 -1
  82. package/components/contacts-list/contacts-list-vars.less +3 -15
  83. package/components/contacts-list/contacts-list.css +1 -1
  84. package/components/contacts-list/contacts-list.less +0 -3
  85. package/components/data-table/data-table-class.js +10 -32
  86. package/components/data-table/data-table-rtl.css +1 -1
  87. package/components/data-table/data-table-vars.less +6 -39
  88. package/components/data-table/data-table.css +1 -1
  89. package/components/data-table/data-table.js +0 -8
  90. package/components/data-table/data-table.less +0 -3
  91. package/components/dialog/dialog-class.js +7 -41
  92. package/components/dialog/dialog-ios.less +0 -3
  93. package/components/dialog/dialog-md.less +9 -9
  94. package/components/dialog/dialog-rtl.css +1 -1
  95. package/components/dialog/dialog-vars.less +25 -70
  96. package/components/dialog/dialog.css +1 -1
  97. package/components/dialog/dialog.d.ts +2 -2
  98. package/components/dialog/dialog.js +12 -48
  99. package/components/dialog/dialog.less +8 -4
  100. package/components/fab/fab-rtl.css +1 -1
  101. package/components/fab/fab-vars.less +20 -14
  102. package/components/fab/fab.css +1 -1
  103. package/components/fab/fab.js +0 -21
  104. package/components/fab/fab.less +50 -53
  105. package/components/form/form.d.ts +4 -4
  106. package/components/form/form.js +58 -94
  107. package/components/form/form.less +0 -3
  108. package/components/gauge/gauge-class.js +4 -20
  109. package/components/gauge/gauge.js +0 -9
  110. package/components/gauge/gauge.less +0 -3
  111. package/components/grid/grid-rtl.css +1 -1
  112. package/components/grid/grid-vars.less +0 -7
  113. package/components/grid/grid.css +1 -1
  114. package/components/grid/grid.d.ts +2 -8
  115. package/components/grid/grid.js +1 -225
  116. package/components/grid/grid.less +54 -184
  117. package/components/icon/icon.less +0 -3
  118. package/components/infinite-scroll/infinite-scroll-rtl.css +1 -1
  119. package/components/infinite-scroll/infinite-scroll.css +1 -1
  120. package/components/infinite-scroll/infinite-scroll.js +0 -16
  121. package/components/infinite-scroll/infinite-scroll.less +0 -3
  122. package/components/input/input-ios.less +49 -41
  123. package/components/input/input-md.less +87 -19
  124. package/components/input/input-rtl.css +1 -1
  125. package/components/input/input-vars.less +26 -60
  126. package/components/input/input.css +1 -1
  127. package/components/input/input.js +8 -67
  128. package/components/input/input.less +67 -153
  129. package/components/link/link-vars.less +0 -5
  130. package/components/link/link.less +3 -3
  131. package/components/list/list-md.less +0 -7
  132. package/components/list/list-vars.less +59 -108
  133. package/components/list/list.less +122 -90
  134. package/components/list-index/list-index-class.js +12 -69
  135. package/components/list-index/list-index-rtl.css +1 -1
  136. package/components/list-index/list-index-vars.less +0 -7
  137. package/components/list-index/list-index.css +1 -1
  138. package/components/list-index/list-index.d.ts +1 -3
  139. package/components/list-index/list-index.js +0 -8
  140. package/components/list-index/list-index.less +4 -7
  141. package/components/login-screen/login-screen-class.js +4 -9
  142. package/components/login-screen/login-screen-rtl.css +1 -1
  143. package/components/login-screen/login-screen-vars.less +13 -12
  144. package/components/login-screen/login-screen.css +1 -1
  145. package/components/login-screen/login-screen.js +0 -4
  146. package/components/login-screen/login-screen.less +2 -8
  147. package/components/messagebar/messagebar-class.js +18 -79
  148. package/components/messagebar/messagebar-ios.less +36 -0
  149. package/components/messagebar/messagebar-md.less +96 -16
  150. package/components/messagebar/messagebar-rtl.css +1 -1
  151. package/components/messagebar/messagebar-vars.less +27 -50
  152. package/components/messagebar/messagebar.css +1 -1
  153. package/components/messagebar/messagebar.js +0 -8
  154. package/components/messagebar/messagebar.less +11 -42
  155. package/components/messages/messages-class.js +17 -110
  156. package/components/messages/messages-ios.less +9 -0
  157. package/components/messages/messages-md.less +63 -28
  158. package/components/messages/messages-rtl.css +1 -1
  159. package/components/messages/messages-vars.less +43 -50
  160. package/components/messages/messages.css +1 -1
  161. package/components/messages/messages.js +0 -8
  162. package/components/messages/messages.less +0 -11
  163. package/components/modal/custom-modal-class.js +4 -14
  164. package/components/modal/modal-class.js +19 -55
  165. package/components/modal/modal.js +0 -3
  166. package/components/navbar/navbar-ios.less +3 -39
  167. package/components/navbar/navbar-md.less +12 -0
  168. package/components/navbar/navbar-vars.less +20 -49
  169. package/components/navbar/navbar.d.ts +0 -2
  170. package/components/navbar/navbar.js +37 -166
  171. package/components/navbar/navbar.less +4 -26
  172. package/components/notification/notification-class.js +4 -39
  173. package/components/notification/notification-md.less +18 -8
  174. package/components/notification/notification-rtl.css +1 -1
  175. package/components/notification/notification-vars.less +15 -54
  176. package/components/notification/notification.css +1 -1
  177. package/components/notification/notification.js +0 -2
  178. package/components/notification/notification.less +0 -3
  179. package/components/page/page-md.less +40 -10
  180. package/components/page/page-transitions/circle.less +15 -9
  181. package/components/page/page-transitions/fade.less +17 -11
  182. package/components/page/page-transitions/flip.less +9 -4
  183. package/components/page/page-vars.less +3 -19
  184. package/components/page/page.less +2 -10
  185. package/components/panel/panel-class.js +27 -132
  186. package/components/panel/panel-md.less +9 -0
  187. package/components/panel/panel-rtl.css +1 -1
  188. package/components/panel/panel-vars.less +7 -21
  189. package/components/panel/panel.css +1 -1
  190. package/components/panel/panel.d.ts +2 -2
  191. package/components/panel/panel.js +0 -34
  192. package/components/panel/panel.less +56 -48
  193. package/components/panel/resizable-panel.js +2 -32
  194. package/components/panel/swipe-panel.js +16 -71
  195. package/components/photo-browser/photo-browser-class.js +41 -171
  196. package/components/photo-browser/photo-browser-rtl.css +1 -1
  197. package/components/photo-browser/photo-browser-vars.less +0 -3
  198. package/components/photo-browser/photo-browser.css +1 -1
  199. package/components/photo-browser/photo-browser.d.ts +2 -4
  200. package/components/photo-browser/photo-browser.js +1 -6
  201. package/components/photo-browser/photo-browser.less +0 -4
  202. package/components/picker/picker-class.js +26 -133
  203. package/components/picker/picker-column.js +11 -31
  204. package/components/picker/picker-ios.less +10 -0
  205. package/components/picker/picker-md.less +6 -0
  206. package/components/picker/picker-rtl.css +1 -1
  207. package/components/picker/picker-vars.less +9 -25
  208. package/components/picker/picker.css +1 -1
  209. package/components/picker/picker.js +0 -4
  210. package/components/picker/picker.less +0 -11
  211. package/components/pie-chart/pie-chart-class.js +8 -31
  212. package/components/pie-chart/pie-chart.js +0 -3
  213. package/components/pie-chart/pie-chart.less +0 -3
  214. package/components/popover/popover-class.js +72 -126
  215. package/components/popover/popover-ios.less +0 -50
  216. package/components/popover/popover-rtl.css +1 -1
  217. package/components/popover/popover-vars.less +6 -23
  218. package/components/popover/popover.css +1 -1
  219. package/components/popover/popover.d.ts +2 -0
  220. package/components/popover/popover.js +1 -12
  221. package/components/popover/popover.less +62 -5
  222. package/components/popup/popup-class.js +12 -78
  223. package/components/popup/popup-rtl.css +1 -1
  224. package/components/popup/popup-vars.less +7 -9
  225. package/components/popup/popup.css +1 -1
  226. package/components/popup/popup.js +0 -4
  227. package/components/popup/popup.less +4 -4
  228. package/components/preloader/preloader-ios.less +3 -1
  229. package/components/preloader/preloader-md.less +5 -1
  230. package/components/preloader/preloader-rtl.css +1 -1
  231. package/components/preloader/preloader-vars.less +0 -6
  232. package/components/preloader/preloader.css +1 -1
  233. package/components/preloader/preloader.js +8 -25
  234. package/components/preloader/preloader.less +6 -3
  235. package/components/progressbar/progressbar-rtl.css +1 -1
  236. package/components/progressbar/progressbar-vars.less +2 -12
  237. package/components/progressbar/progressbar.css +1 -1
  238. package/components/progressbar/progressbar.js +2 -31
  239. package/components/progressbar/progressbar.less +0 -3
  240. package/components/pull-to-refresh/pull-to-refresh-class.js +15 -107
  241. package/components/pull-to-refresh/pull-to-refresh-md.less +2 -1
  242. package/components/pull-to-refresh/pull-to-refresh-rtl.css +1 -1
  243. package/components/pull-to-refresh/pull-to-refresh-vars.less +0 -4
  244. package/components/pull-to-refresh/pull-to-refresh.css +1 -1
  245. package/components/pull-to-refresh/pull-to-refresh.js +0 -8
  246. package/components/pull-to-refresh/pull-to-refresh.less +0 -3
  247. package/components/radio/radio-rtl.css +1 -1
  248. package/components/radio/radio-vars.less +0 -7
  249. package/components/radio/radio.css +1 -1
  250. package/components/radio/radio.less +12 -5
  251. package/components/range/range-class.js +27 -112
  252. package/components/range/range-rtl.css +1 -1
  253. package/components/range/range-vars.less +10 -32
  254. package/components/range/range.css +1 -1
  255. package/components/range/range.js +0 -12
  256. package/components/range/range.less +0 -3
  257. package/components/searchbar/remove-diacritics.js +0 -4
  258. package/components/searchbar/searchbar-class.js +17 -138
  259. package/components/searchbar/searchbar-md.less +41 -16
  260. package/components/searchbar/searchbar-rtl.css +1 -1
  261. package/components/searchbar/searchbar-vars.less +25 -76
  262. package/components/searchbar/searchbar.css +1 -1
  263. package/components/searchbar/searchbar.d.ts +2 -2
  264. package/components/searchbar/searchbar.js +0 -15
  265. package/components/searchbar/searchbar.less +14 -28
  266. package/components/sheet/sheet-class.js +15 -110
  267. package/components/sheet/sheet-rtl.css +1 -1
  268. package/components/sheet/sheet-vars.less +17 -6
  269. package/components/sheet/sheet.css +1 -1
  270. package/components/sheet/sheet.js +0 -9
  271. package/components/sheet/sheet.less +10 -3
  272. package/components/skeleton/skeleton.less +0 -3
  273. package/components/smart-select/smart-select-class.js +39 -176
  274. package/components/smart-select/smart-select.d.ts +3 -3
  275. package/components/smart-select/smart-select.js +2 -14
  276. package/components/smart-select/smart-select.less +0 -3
  277. package/components/sortable/sortable-rtl.css +1 -1
  278. package/components/sortable/sortable-vars.less +8 -8
  279. package/components/sortable/sortable.css +1 -1
  280. package/components/sortable/sortable.js +0 -44
  281. package/components/sortable/sortable.less +0 -3
  282. package/components/statusbar/statusbar.js +0 -36
  283. package/components/statusbar/statusbar.less +0 -3
  284. package/components/stepper/stepper-class.js +10 -83
  285. package/components/stepper/stepper-rtl.css +1 -1
  286. package/components/stepper/stepper-vars.less +12 -24
  287. package/components/stepper/stepper.css +1 -1
  288. package/components/stepper/stepper.js +0 -12
  289. package/components/stepper/stepper.less +12 -23
  290. package/components/subnavbar/subnavbar-vars.less +3 -18
  291. package/components/subnavbar/subnavbar.js +0 -3
  292. package/components/subnavbar/subnavbar.less +1 -11
  293. package/components/swipeout/swipeout-rtl.css +1 -1
  294. package/components/swipeout/swipeout-vars.less +7 -6
  295. package/components/swipeout/swipeout.css +1 -1
  296. package/components/swipeout/swipeout.js +2 -99
  297. package/components/swipeout/swipeout.less +2 -7
  298. package/components/swiper/swiper-rtl.css +1 -1
  299. package/components/swiper/swiper.css +1 -1
  300. package/components/swiper/swiper.js +15 -48
  301. package/components/swiper/swiper.less +0 -15
  302. package/components/tabs/tabs-rtl.css +1 -1
  303. package/components/tabs/tabs.css +1 -1
  304. package/components/tabs/tabs.js +23 -60
  305. package/components/tabs/tabs.less +1 -3
  306. package/components/text-editor/text-editor-class.js +16 -102
  307. package/components/text-editor/text-editor-rtl.css +1 -1
  308. package/components/text-editor/text-editor-vars.less +12 -16
  309. package/components/text-editor/text-editor.css +1 -1
  310. package/components/text-editor/text-editor.js +0 -8
  311. package/components/text-editor/text-editor.less +0 -6
  312. package/components/timeline/timeline-rtl.css +1 -1
  313. package/components/timeline/timeline-vars.less +13 -47
  314. package/components/timeline/timeline.css +1 -1
  315. package/components/timeline/timeline.less +2 -9
  316. package/components/toast/toast-class.js +2 -16
  317. package/components/toast/toast-rtl.css +1 -1
  318. package/components/toast/toast-vars.less +5 -9
  319. package/components/toast/toast.css +1 -1
  320. package/components/toast/toast.js +0 -3
  321. package/components/toast/toast.less +0 -3
  322. package/components/toggle/toggle-class.js +6 -30
  323. package/components/toggle/toggle-ios.less +5 -1
  324. package/components/toggle/toggle-md.less +27 -11
  325. package/components/toggle/toggle-rtl.css +1 -1
  326. package/components/toggle/toggle-vars.less +19 -21
  327. package/components/toggle/toggle.css +1 -1
  328. package/components/toggle/toggle.js +0 -8
  329. package/components/toggle/toggle.less +0 -4
  330. package/components/toolbar/toolbar-ios.less +2 -2
  331. package/components/toolbar/toolbar-md.less +28 -4
  332. package/components/toolbar/toolbar-vars.less +17 -52
  333. package/components/toolbar/toolbar.js +5 -43
  334. package/components/toolbar/toolbar.less +27 -45
  335. package/components/tooltip/tooltip-class.js +10 -64
  336. package/components/tooltip/tooltip-rtl.css +1 -1
  337. package/components/tooltip/tooltip-vars.less +12 -3
  338. package/components/tooltip/tooltip.css +1 -1
  339. package/components/tooltip/tooltip.js +0 -15
  340. package/components/tooltip/tooltip.less +0 -3
  341. package/components/touch-ripple/touch-ripple-class.js +0 -13
  342. package/components/touch-ripple/touch-ripple.js +0 -4
  343. package/components/touch-ripple/touch-ripple.less +1 -5
  344. package/components/treeview/treeview-rtl.css +1 -1
  345. package/components/treeview/treeview-vars.less +0 -3
  346. package/components/treeview/treeview.css +1 -1
  347. package/components/treeview/treeview.js +2 -11
  348. package/components/treeview/treeview.less +0 -3
  349. package/components/typography/typography-rtl.css +1 -1
  350. package/components/typography/typography.css +1 -1
  351. package/components/typography/typography.less +25 -3
  352. package/components/view/resizable-view.js +2 -24
  353. package/components/view/view-class.js +28 -53
  354. package/components/view/view.d.ts +0 -14
  355. package/components/view/view.js +8 -32
  356. package/components/view/view.less +1 -4
  357. package/components/virtual-list/virtual-list-class.js +58 -146
  358. package/components/virtual-list/virtual-list.d.ts +1 -1
  359. package/components/virtual-list/virtual-list.js +0 -2
  360. package/components/virtual-list/virtual-list.less +0 -3
  361. package/framework7-bundle-rtl.css +3064 -6057
  362. package/framework7-bundle-rtl.min.css +3 -3
  363. package/framework7-bundle.css +3063 -6059
  364. package/framework7-bundle.esm.js +4 -10
  365. package/framework7-bundle.js +6442 -12377
  366. package/framework7-bundle.js.map +1 -1
  367. package/framework7-bundle.less +2 -27
  368. package/framework7-bundle.min.css +3 -3
  369. package/framework7-bundle.min.js +3 -3
  370. package/framework7-bundle.min.js.map +1 -1
  371. package/framework7-lite-bundle.esm.js +4 -10
  372. package/framework7-lite.esm.js +4 -6
  373. package/framework7-rtl.css +803 -1591
  374. package/framework7-rtl.min.css +3 -3
  375. package/framework7-types.d.ts +1 -32
  376. package/framework7.css +803 -1594
  377. package/framework7.d.ts +1 -32
  378. package/framework7.esm.js +4 -6
  379. package/framework7.less +2 -23
  380. package/framework7.min.css +3 -3
  381. package/less/mixins.less +7 -88
  382. package/modules/clicks/clicks.js +10 -22
  383. package/modules/component/$h.js +0 -3
  384. package/modules/component/$jsx.js +0 -5
  385. package/modules/component/component-class.js +13 -66
  386. package/modules/component/component.d.ts +1 -2
  387. package/modules/component/component.js +0 -8
  388. package/modules/component/eventslisteners.js +12 -20
  389. package/modules/component/parse-component.js +18 -20
  390. package/modules/component/snabbdom/h.js +3 -12
  391. package/modules/component/snabbdom/helpers/attachto.js +9 -14
  392. package/modules/component/snabbdom/htmldomapi.js +0 -16
  393. package/modules/component/snabbdom/modules/attributes.js +7 -11
  394. package/modules/component/snabbdom/modules/class.js +4 -8
  395. package/modules/component/snabbdom/modules/dataset.js +3 -7
  396. package/modules/component/snabbdom/modules/eventlisteners.js +16 -22
  397. package/modules/component/snabbdom/modules/hero.js +4 -44
  398. package/modules/component/snabbdom/modules/props.js +5 -9
  399. package/modules/component/snabbdom/modules/style.js +13 -30
  400. package/modules/component/snabbdom/snabbdom.bundle.js +0 -6
  401. package/modules/component/snabbdom/snabbdom.js +13 -72
  402. package/modules/component/snabbdom/thunk.js +3 -11
  403. package/modules/component/snabbdom/tovnode.js +1 -6
  404. package/modules/component/vdom.js +4 -62
  405. package/modules/demo-module.js +0 -8
  406. package/modules/device/device.js +6 -11
  407. package/modules/history/history.js +0 -1
  408. package/modules/resize/resize.js +8 -11
  409. package/modules/router/async-component.js +0 -3
  410. package/modules/router/back.js +86 -275
  411. package/modules/router/clear-previous-history.js +5 -18
  412. package/modules/router/component-loader.js +4 -25
  413. package/modules/router/modal.js +16 -43
  414. package/modules/router/navigate.js +80 -250
  415. package/modules/router/process-route-queue.js +0 -12
  416. package/modules/router/redirect.js +0 -8
  417. package/modules/router/router-class.js +92 -315
  418. package/modules/router/router.d.ts +3 -5
  419. package/modules/router/router.js +0 -3
  420. package/modules/router/swipe-back.js +35 -139
  421. package/modules/router/tab.js +14 -43
  422. package/modules/service-worker/service-worker.js +0 -11
  423. package/modules/store/create-store.js +10 -29
  424. package/modules/touch/touch.d.ts +2 -4
  425. package/modules/touch/touch.js +13 -108
  426. package/package.json +3 -14
  427. package/shared/$jsx.js +0 -6
  428. package/shared/class.js +18 -43
  429. package/shared/constructor-methods.js +0 -11
  430. package/shared/events-class.js +0 -17
  431. package/shared/get-device.js +18 -34
  432. package/shared/get-support.js +2 -8
  433. package/shared/history.js +2 -30
  434. package/shared/material-color-utils.js +728 -0
  435. package/shared/material-colors.js +75 -0
  436. package/shared/modal-methods.js +0 -18
  437. package/shared/utils.d.ts +0 -4
  438. package/shared/utils.js +191 -71
  439. package/components/accordion/accordion-aurora.less +0 -2
  440. package/components/accordion/accordion.lazy.js +0 -1
  441. package/components/actions/actions-aurora.less +0 -9
  442. package/components/actions/actions.lazy.js +0 -1
  443. package/components/app/app-aurora.less +0 -10
  444. package/components/appbar/appbar-aurora.less +0 -2
  445. package/components/appbar/appbar-ios.less +0 -2
  446. package/components/appbar/appbar-md.less +0 -2
  447. package/components/appbar/appbar-rtl.css +0 -1
  448. package/components/appbar/appbar-vars.less +0 -28
  449. package/components/appbar/appbar.css +0 -1
  450. package/components/appbar/appbar.d.ts +0 -14
  451. package/components/appbar/appbar.js +0 -3
  452. package/components/appbar/appbar.lazy.js +0 -1
  453. package/components/appbar/appbar.less +0 -106
  454. package/components/area-chart/area-chart-aurora.less +0 -2
  455. package/components/area-chart/area-chart.lazy.js +0 -1
  456. package/components/autocomplete/autocomplete-aurora.less +0 -17
  457. package/components/autocomplete/autocomplete.lazy.js +0 -1
  458. package/components/badge/badge-aurora.less +0 -2
  459. package/components/block/block-aurora.less +0 -2
  460. package/components/breadcrumbs/breadcrumbs-aurora.less +0 -2
  461. package/components/breadcrumbs/breadcrumbs.lazy.js +0 -1
  462. package/components/button/button-aurora.less +0 -25
  463. package/components/calendar/calendar-aurora.less +0 -2
  464. package/components/calendar/calendar.lazy.js +0 -1
  465. package/components/card/card-aurora.less +0 -2
  466. package/components/card/card.lazy.js +0 -1
  467. package/components/checkbox/checkbox-aurora.less +0 -39
  468. package/components/checkbox/checkbox.lazy.js +0 -1
  469. package/components/chip/chip-aurora.less +0 -14
  470. package/components/chip/chip.lazy.js +0 -1
  471. package/components/color-picker/color-picker-aurora.less +0 -2
  472. package/components/color-picker/color-picker.lazy.js +0 -1
  473. package/components/contacts-list/contacts-list-aurora.less +0 -2
  474. package/components/contacts-list/contacts-list.lazy.js +0 -1
  475. package/components/data-table/data-table-aurora.less +0 -64
  476. package/components/data-table/data-table.lazy.js +0 -1
  477. package/components/dialog/dialog-aurora.less +0 -112
  478. package/components/dialog/dialog.lazy.js +0 -1
  479. package/components/elevation/elevation-aurora.less +0 -2
  480. package/components/elevation/elevation-ios.less +0 -2
  481. package/components/elevation/elevation-md.less +0 -2
  482. package/components/elevation/elevation-rtl.css +0 -1
  483. package/components/elevation/elevation-vars.less +0 -51
  484. package/components/elevation/elevation.css +0 -1
  485. package/components/elevation/elevation.d.ts +0 -14
  486. package/components/elevation/elevation.js +0 -3
  487. package/components/elevation/elevation.lazy.js +0 -1
  488. package/components/elevation/elevation.less +0 -54
  489. package/components/fab/fab-aurora.less +0 -2
  490. package/components/fab/fab.lazy.js +0 -1
  491. package/components/form/form-aurora.less +0 -0
  492. package/components/form/form.lazy.js +0 -1
  493. package/components/gauge/gauge-aurora.less +0 -2
  494. package/components/gauge/gauge.lazy.js +0 -1
  495. package/components/grid/grid-aurora.less +0 -2
  496. package/components/grid/grid.lazy.js +0 -1
  497. package/components/icon/icon-aurora.less +0 -49
  498. package/components/infinite-scroll/infinite-scroll-aurora.less +0 -6
  499. package/components/infinite-scroll/infinite-scroll.lazy.js +0 -1
  500. package/components/input/input-aurora.less +0 -120
  501. package/components/input/input.lazy.js +0 -1
  502. package/components/lazy/lazy-aurora.less +0 -2
  503. package/components/lazy/lazy-ios.less +0 -2
  504. package/components/lazy/lazy-md.less +0 -2
  505. package/components/lazy/lazy-rtl.css +0 -1
  506. package/components/lazy/lazy.css +0 -1
  507. package/components/lazy/lazy.d.ts +0 -57
  508. package/components/lazy/lazy.js +0 -283
  509. package/components/lazy/lazy.lazy.js +0 -1
  510. package/components/lazy/lazy.less +0 -23
  511. package/components/link/link-aurora.less +0 -15
  512. package/components/list/list-aurora.less +0 -25
  513. package/components/list-index/list-index-aurora.less +0 -21
  514. package/components/list-index/list-index.lazy.js +0 -1
  515. package/components/login-screen/login-screen-aurora.less +0 -2
  516. package/components/login-screen/login-screen.lazy.js +0 -1
  517. package/components/menu/menu-aurora.less +0 -8
  518. package/components/menu/menu-ios.less +0 -2
  519. package/components/menu/menu-md.less +0 -2
  520. package/components/menu/menu-rtl.css +0 -1
  521. package/components/menu/menu-vars.less +0 -27
  522. package/components/menu/menu.css +0 -1
  523. package/components/menu/menu.d.ts +0 -32
  524. package/components/menu/menu.js +0 -87
  525. package/components/menu/menu.lazy.js +0 -1
  526. package/components/menu/menu.less +0 -232
  527. package/components/messagebar/messagebar-aurora.less +0 -53
  528. package/components/messagebar/messagebar.lazy.js +0 -1
  529. package/components/messages/messages-aurora.less +0 -137
  530. package/components/messages/messages.lazy.js +0 -1
  531. package/components/navbar/navbar-aurora.less +0 -70
  532. package/components/notification/notification-aurora.less +0 -59
  533. package/components/notification/notification.lazy.js +0 -1
  534. package/components/page/page-aurora.less +0 -49
  535. package/components/panel/panel-aurora.less +0 -2
  536. package/components/panel/panel.lazy.js +0 -1
  537. package/components/photo-browser/photo-browser-aurora.less +0 -2
  538. package/components/photo-browser/photo-browser.lazy.js +0 -1
  539. package/components/picker/picker-aurora.less +0 -2
  540. package/components/picker/picker.lazy.js +0 -1
  541. package/components/pie-chart/pie-chart-aurora.less +0 -2
  542. package/components/pie-chart/pie-chart.lazy.js +0 -1
  543. package/components/popover/popover-aurora.less +0 -56
  544. package/components/popover/popover.lazy.js +0 -1
  545. package/components/popup/popup-aurora.less +0 -2
  546. package/components/popup/popup.lazy.js +0 -1
  547. package/components/preloader/preloader-aurora.less +0 -53
  548. package/components/preloader/preloader.lazy.js +0 -1
  549. package/components/progressbar/progressbar-aurora.less +0 -72
  550. package/components/progressbar/progressbar.lazy.js +0 -1
  551. package/components/pull-to-refresh/pull-to-refresh-aurora.less +0 -122
  552. package/components/pull-to-refresh/pull-to-refresh.lazy.js +0 -1
  553. package/components/radio/radio-aurora.less +0 -86
  554. package/components/radio/radio.lazy.js +0 -1
  555. package/components/range/range-aurora.less +0 -9
  556. package/components/range/range.lazy.js +0 -1
  557. package/components/searchbar/searchbar-aurora.less +0 -86
  558. package/components/searchbar/searchbar.lazy.js +0 -1
  559. package/components/sheet/sheet-aurora.less +0 -2
  560. package/components/sheet/sheet.lazy.js +0 -1
  561. package/components/skeleton/skeleton-aurora.less +0 -2
  562. package/components/skeleton/skeleton.lazy.js +0 -1
  563. package/components/smart-select/smart-select-aurora.less +0 -2
  564. package/components/smart-select/smart-select.lazy.js +0 -1
  565. package/components/sortable/sortable-aurora.less +0 -7
  566. package/components/sortable/sortable.lazy.js +0 -1
  567. package/components/statusbar/statusbar-aurora.less +0 -2
  568. package/components/stepper/stepper-aurora.less +0 -32
  569. package/components/stepper/stepper.lazy.js +0 -1
  570. package/components/subnavbar/subnavbar-aurora.less +0 -51
  571. package/components/swipeout/swipeout-aurora.less +0 -2
  572. package/components/swipeout/swipeout.lazy.js +0 -1
  573. package/components/swiper/swiper-aurora.less +0 -2
  574. package/components/swiper/swiper.lazy.js +0 -1
  575. package/components/tabs/tabs-aurora.less +0 -2
  576. package/components/tabs/tabs.lazy.js +0 -1
  577. package/components/text-editor/text-editor-aurora.less +0 -9
  578. package/components/text-editor/text-editor.lazy.js +0 -1
  579. package/components/timeline/timeline-aurora.less +0 -7
  580. package/components/timeline/timeline.lazy.js +0 -1
  581. package/components/toast/toast-aurora.less +0 -64
  582. package/components/toast/toast.lazy.js +0 -1
  583. package/components/toggle/toggle-aurora.less +0 -26
  584. package/components/toggle/toggle.lazy.js +0 -1
  585. package/components/toolbar/toolbar-aurora.less +0 -43
  586. package/components/tooltip/tooltip-aurora.less +0 -2
  587. package/components/tooltip/tooltip.lazy.js +0 -1
  588. package/components/touch-ripple/touch-ripple-aurora.less +0 -2
  589. package/components/treeview/treeview-aurora.less +0 -31
  590. package/components/treeview/treeview.lazy.js +0 -1
  591. package/components/typography/typography-aurora.less +0 -2
  592. package/components/typography/typography.lazy.js +0 -1
  593. package/components/view/view-aurora.less +0 -2
  594. package/components/virtual-list/virtual-list-aurora.less +0 -2
  595. package/components/virtual-list/virtual-list.lazy.js +0 -1
  596. package/framework7.js +0 -14715
  597. package/framework7.js.map +0 -1
  598. package/framework7.min.js +0 -14
  599. package/framework7.min.js.map +0 -1
  600. package/modules/request/request.d.ts +0 -15
  601. package/modules/request/request.js +0 -11
  602. package/shared/request.d.ts +0 -115
  603. package/shared/request.js +0 -512
package/framework7.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"framework7.js.map","sources":["../../node_modules/ssr-window/ssr-window.esm.js","../../node_modules/dom7/dom7.esm.js","../../src/core/shared/dom7.js","../../src/core/shared/utils.js","../../src/core/shared/get-support.js","../../src/core/shared/get-device.js","../../src/core/shared/events-class.js","../../src/core/shared/class.js","../../src/core/shared/constructor-methods.js","../../src/core/shared/modal-methods.js","../../src/core/components/app/load-module.js","../../src/core/shared/$jsx.js","../../src/core/components/app/app-class.js","../../src/core/modules/device/device.js","../../src/core/modules/support/support.js","../../src/core/modules/utils/utils.js","../../src/core/modules/resize/resize.js","../../src/core/shared/request.js","../../src/core/modules/request/request.js","../../src/core/modules/touch/touch.js","../../node_modules/path-to-regexp/dist.es2015/index.js","../../src/core/shared/history.js","../../src/core/modules/router/swipe-back.js","../../src/core/modules/router/redirect.js","../../src/core/modules/router/process-route-queue.js","../../src/core/modules/router/app-router-check.js","../../src/core/modules/router/async-component.js","../../src/core/modules/router/navigate.js","../../src/core/modules/router/tab.js","../../src/core/modules/router/modal.js","../../src/core/modules/router/back.js","../../src/core/modules/router/clear-previous-history.js","../../src/core/modules/router/router-class.js","../../src/core/modules/router/router.js","../../src/core/components/view/resizable-view.js","../../src/core/components/view/view-class.js","../../src/core/modules/clicks/clicks.js","../../src/core/modules/router/component-loader.js","../../node_modules/htm/dist/htm.mjs","../../src/core/modules/component/$h.js","../../src/core/modules/component/snabbdom/vnode.js","../../src/core/modules/component/snabbdom/is.js","../../src/core/modules/component/snabbdom/h.js","../../src/core/modules/component/custom-components.js","../../src/core/modules/component/vdom.js","../../src/core/modules/component/snabbdom/htmldomapi.js","../../src/core/modules/component/snabbdom/snabbdom.js","../../src/core/modules/component/snabbdom/modules/attributes.js","../../src/core/modules/component/snabbdom/modules/props.js","../../src/core/modules/component/snabbdom/modules/style.js","../../src/core/modules/component/eventslisteners.js","../../src/core/modules/component/patch.js","../../src/core/modules/component/$jsx.js","../../src/core/modules/component/component-class.js","../../src/core/modules/component/parse-component.js","../../src/core/modules/component/component.js","../../src/core/modules/history/history.js","../../src/core/modules/service-worker/service-worker.js","../../src/core/modules/store/create-store.js","../../src/core/modules/store/store.js","../../src/core/components/statusbar/statusbar.js","../../src/core/components/view/view.js","../../src/core/components/navbar/navbar.js","../../src/core/components/toolbar/toolbar.js","../../src/core/components/subnavbar/subnavbar.js","../../src/core/components/touch-ripple/touch-ripple-class.js","../../src/core/components/touch-ripple/touch-ripple.js","../../src/core/components/modal/modal-class.js","../../src/core/components/modal/custom-modal-class.js","../../src/core/components/modal/modal.js","../../src/core/framework7.js"],"sourcesContent":["/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target = {}, src = {}) {\n Object.keys(src).forEach((key) => {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nconst ssrDocument = {\n body: {},\n addEventListener() { },\n removeEventListener() { },\n activeElement: {\n blur() { },\n nodeName: '',\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() { },\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() { },\n getElementsByTagName() {\n return [];\n },\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState() { },\n pushState() { },\n go() { },\n back() { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() { },\n removeEventListener() { },\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n },\n };\n },\n Image() { },\n Date() { },\n screen: {},\n setTimeout() { },\n clearTimeout() { },\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","/**\n * Dom7 4.0.6\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2023, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: February 2, 2023\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n const proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get() {\n return proto;\n },\n\n set(value) {\n proto.__proto__ = value;\n }\n\n });\n}\n\nclass Dom7 extends Array {\n constructor(items) {\n if (typeof items === 'number') {\n super(items);\n } else {\n super(...(items || []));\n makeReactive(this);\n }\n }\n\n}\n\nfunction arrayFlat(arr = []) {\n const res = [];\n arr.forEach(el => {\n if (Array.isArray(el)) {\n res.push(...arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n const uniqueArray = [];\n\n for (let i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, (match, group) => group.toUpperCase());\n}\n\n// eslint-disable-next-line\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n const a = [];\n const res = context.querySelectorAll(selector);\n\n for (let i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n const window = getWindow();\n const document = getDocument();\n let arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n const html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n let toCreate = 'div';\n if (html.indexOf('<li') === 0) toCreate = 'ul';\n if (html.indexOf('<tr') === 0) toCreate = 'tbody';\n if (html.indexOf('<td') === 0 || html.indexOf('<th') === 0) toCreate = 'tr';\n if (html.indexOf('<tbody') === 0) toCreate = 'table';\n if (html.indexOf('<option') === 0) toCreate = 'select';\n const tempParent = document.createElement(toCreate);\n tempParent.innerHTML = html;\n\n for (let i = 0; i < tempParent.childNodes.length; i += 1) {\n arr.push(tempParent.childNodes[i]);\n }\n } else {\n arr = qsa(selector.trim(), context || document);\n } // arr = qsa(selector, document);\n\n } else if (selector.nodeType || selector === window || selector === document) {\n arr.push(selector);\n } else if (Array.isArray(selector)) {\n if (selector instanceof Dom7) return selector;\n arr = selector;\n }\n\n return new Dom7(arrayUnique(arr));\n}\n\n$.fn = Dom7.prototype;\n\n// eslint-disable-next-line\n\nfunction addClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n el.classList.add(...classNames);\n });\n return this;\n}\n\nfunction removeClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n el.classList.remove(...classNames);\n });\n return this;\n}\n\nfunction toggleClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n classNames.forEach(className => {\n el.classList.toggle(className);\n });\n });\n}\n\nfunction hasClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n return arrayFilter(this, el => {\n return classNames.filter(className => el.classList.contains(className)).length > 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (const attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (const propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n let el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n const dataKey = el.getAttribute(`data-${key}`);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n const el = this[0];\n if (!el) return undefined;\n const dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (const dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (let i = 0; i < el.attributes.length; i += 1) {\n const attr = el.attributes[i];\n\n if (attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n\n for (const key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n const el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n const values = [];\n\n for (let i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (let j = 0; j < el.options.length; j += 1) {\n el.options[j].selected = value.indexOf(el.options[j].value) >= 0;\n }\n } else {\n el.value = value;\n }\n }\n\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? `${duration}ms` : duration;\n }\n\n return this;\n}\n\nfunction on(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n const target = e.target;\n if (!target) return;\n const eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n const parents = $(target).parents(); // eslint-disable-line\n\n for (let k = 0; k < parents.length; k += 1) {\n if ($(parents[k]).is(targetSelector)) listener.apply(parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n const eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n const events = eventType.split(' ');\n let j;\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = [];\n el.dom7LiveListeners[event].push({\n listener,\n proxyListener: handleLiveEvent\n });\n el.addEventListener(event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n const events = eventType.split(' ');\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n let handlers;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (let k = handlers.length - 1; k >= 0; k -= 1) {\n const handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once(...args) {\n const dom = this;\n let [eventName, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventName, listener, capture] = args;\n targetSelector = undefined;\n }\n\n function onceHandler(...eventArgs) {\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger(...args) {\n const window = getWindow();\n const events = args[0].split(' ');\n const eventData = args[1];\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n\n if (window.CustomEvent) {\n const evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0);\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionStart(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionstart', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionstart', fireCallBack);\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n const window = getWindow();\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n const window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n const window = getWindow();\n let i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (const prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach((el, index) => {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n const result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n let compareWith;\n let i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n let child = this[0];\n let i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n const length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n const returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append(...els) {\n let newChild;\n const document = getDocument();\n\n for (let k = 0; k < els.length; k += 1) {\n newChild = els[k];\n\n for (let i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (let j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n const document = getDocument();\n let i;\n let j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n const before = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (let j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n const after = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (let j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n const nextEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(next).is(selector)) nextEls.push(next);\n } else nextEls.push(next);\n\n el = next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n const el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n const prevEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(prev).is(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n\n el = prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n}\n\nfunction parents(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n let parent = this[i].parentNode; // eslint-disable-line\n\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n\n parent = parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n let closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n const foundElements = [];\n\n for (let i = 0; i < this.length; i += 1) {\n const found = this[i].querySelectorAll(selector);\n\n for (let j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n const children = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n const childNodes = this[i].children;\n\n for (let j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add(...els) {\n const dom = this;\n let i;\n let j;\n\n for (i = 0; i < els.length; i += 1) {\n const toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.nodeType === 1) {\n for (let j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\n// eslint-disable-next-line\n\nfunction scrollTo(...args) {\n const window = getWindow();\n let [left, top, duration, easing, callback] = args;\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n [left, top, duration, callback, easing] = args;\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n const el = this;\n let currentTop;\n let currentLeft;\n let maxTop;\n let maxLeft;\n let newTop;\n let newLeft;\n let scrollTop; // eslint-disable-line\n\n let scrollLeft; // eslint-disable-line\n\n let animateTop = top > 0 || top === 0;\n let animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n let startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time = new Date().getTime()) {\n if (startTime === null) {\n startTime = time;\n }\n\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n let done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop(...args) {\n let [top, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [top, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft(...args) {\n let [left, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [left, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\n// eslint-disable-next-line\n\nfunction animate(initialProps, initialParams) {\n const window = getWindow();\n const els = this;\n const a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n\n easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n\n stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n\n done(complete) {\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n const que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n\n animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n const elements = []; // Define & Cache Initials & Units\n\n a.elements.each((el, index) => {\n let initialFullValue;\n let initialValue;\n let unit;\n let finalValue;\n let finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(prop => {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue,\n initialValue,\n unit,\n finalValue,\n finalFullValue,\n currentValue: initialValue\n };\n });\n });\n let startTime = null;\n let time;\n let elementsDone = 0;\n let propsDone = 0;\n let done;\n let began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n let progress;\n let easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(element => {\n const el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(prop => {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n const {\n initialValue,\n finalValue,\n unit\n } = el[prop];\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n const currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n let animateInstance;\n\n for (let i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n const els = this;\n\n for (let i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nconst noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler(...args) {\n if (typeof args[0] === 'undefined') {\n for (let i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on(name, ...args);\n }\n\n return eventHandler;\n}\n\nconst click = shortcut('click');\nconst blur = shortcut('blur');\nconst focus = shortcut('focus');\nconst focusin = shortcut('focusin');\nconst focusout = shortcut('focusout');\nconst keyup = shortcut('keyup');\nconst keydown = shortcut('keydown');\nconst keypress = shortcut('keypress');\nconst submit = shortcut('submit');\nconst change = shortcut('change');\nconst mousedown = shortcut('mousedown');\nconst mousemove = shortcut('mousemove');\nconst mouseup = shortcut('mouseup');\nconst mouseenter = shortcut('mouseenter');\nconst mouseleave = shortcut('mouseleave');\nconst mouseout = shortcut('mouseout');\nconst mouseover = shortcut('mouseover');\nconst touchstart = shortcut('touchstart');\nconst touchend = shortcut('touchend');\nconst touchmove = shortcut('touchmove');\nconst resize = shortcut('resize');\nconst scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, transitionStart, trigger, val, value, width };\n","// eslint-disable-next-line\nimport * as methods from 'dom7';\n\nObject.keys(methods).forEach((methodName) => {\n if (methodName === '$') return;\n methods.$.fn[methodName] = methods[methodName];\n});\n\nexport default methods.$;\n","import { getWindow } from 'ssr-window';\n\nlet uniqueNum = 0;\nexport function uniqueNumber() {\n uniqueNum += 1;\n return uniqueNum;\n}\nexport function id(mask = 'xxxxxxxxxx', map = '0123456789abcdef') {\n const length = map.length;\n return mask.replace(/x/g, () => map[Math.floor(Math.random() * length)]);\n}\nexport const mdPreloaderContent = `\n <span class=\"preloader-inner\">\n <svg viewBox=\"0 0 36 36\">\n <circle cx=\"18\" cy=\"18\" r=\"16\"></circle>\n </svg>\n </span>\n`.trim();\n\nexport const iosPreloaderContent = `\n <span class=\"preloader-inner\">\n ${[0, 1, 2, 3, 4, 5, 6, 7].map(() => '<span class=\"preloader-inner-line\"></span>').join('')}\n </span>\n`.trim();\n\nexport const auroraPreloaderContent = `\n <span class=\"preloader-inner\">\n <span class=\"preloader-inner-circle\"></span>\n </span>\n`;\nexport function eventNameToColonCase(eventName) {\n let hasColon;\n return eventName\n .split('')\n .map((char, index) => {\n if (char.match(/[A-Z]/) && index !== 0 && !hasColon) {\n hasColon = true;\n return `:${char.toLowerCase()}`;\n }\n return char.toLowerCase();\n })\n .join('');\n}\nexport function deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach((key) => {\n try {\n object[key] = null;\n } catch (e) {\n // no setter for object\n }\n try {\n delete object[key];\n } catch (e) {\n // something got wrong\n }\n });\n}\nexport function requestAnimationFrame(callback) {\n const window = getWindow();\n return window.requestAnimationFrame(callback);\n}\nexport function cancelAnimationFrame(frameId) {\n const window = getWindow();\n return window.cancelAnimationFrame(frameId);\n}\nexport function nextTick(callback, delay = 0) {\n return setTimeout(callback, delay);\n}\nexport function nextFrame(callback) {\n return requestAnimationFrame(() => {\n requestAnimationFrame(callback);\n });\n}\nexport function now() {\n return Date.now();\n}\n\nexport function parseUrlQuery(url) {\n const window = getWindow();\n const query = {};\n let urlToParse = url || window.location.href;\n let i;\n let params;\n let param;\n let length;\n if (typeof urlToParse === 'string' && urlToParse.length) {\n urlToParse = urlToParse.indexOf('?') > -1 ? urlToParse.replace(/\\S*\\?/, '') : '';\n params = urlToParse.split('&').filter((paramsPart) => paramsPart !== '');\n length = params.length;\n\n for (i = 0; i < length; i += 1) {\n param = params[i].replace(/#\\S+/g, '').split('=');\n query[decodeURIComponent(param[0])] =\n typeof param[1] === 'undefined'\n ? undefined\n : decodeURIComponent(param.slice(1).join('=')) || '';\n }\n }\n return query;\n}\nexport function getTranslate(el, axis = 'x') {\n const window = getWindow();\n let matrix;\n let curTransform;\n let transformMatrix;\n\n const curStyle = window.getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform\n .split(', ')\n .map((a) => a.replace(',', '.'))\n .join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix =\n curStyle.MozTransform ||\n curStyle.OTransform ||\n curStyle.MsTransform ||\n curStyle.msTransform ||\n curStyle.transform ||\n curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n return curTransform || 0;\n}\nexport function serializeObject(obj, parents = []) {\n if (typeof obj === 'string') return obj;\n const resultArray = [];\n const separator = '&';\n let newParents;\n function varName(name) {\n if (parents.length > 0) {\n let parentParts = '';\n for (let j = 0; j < parents.length; j += 1) {\n if (j === 0) parentParts += parents[j];\n else parentParts += `[${encodeURIComponent(parents[j])}]`;\n }\n return `${parentParts}[${encodeURIComponent(name)}]`;\n }\n return encodeURIComponent(name);\n }\n function varValue(value) {\n return encodeURIComponent(value);\n }\n Object.keys(obj).forEach((prop) => {\n let toPush;\n if (Array.isArray(obj[prop])) {\n toPush = [];\n for (let i = 0; i < obj[prop].length; i += 1) {\n if (!Array.isArray(obj[prop][i]) && typeof obj[prop][i] === 'object') {\n newParents = parents.slice();\n newParents.push(prop);\n newParents.push(String(i));\n toPush.push(serializeObject(obj[prop][i], newParents));\n } else {\n toPush.push(`${varName(prop)}[]=${varValue(obj[prop][i])}`);\n }\n }\n if (toPush.length > 0) resultArray.push(toPush.join(separator));\n } else if (obj[prop] === null || obj[prop] === '') {\n resultArray.push(`${varName(prop)}=`);\n } else if (typeof obj[prop] === 'object') {\n // Object, convert to named array\n newParents = parents.slice();\n newParents.push(prop);\n toPush = serializeObject(obj[prop], newParents);\n if (toPush !== '') resultArray.push(toPush);\n } else if (typeof obj[prop] !== 'undefined' && obj[prop] !== '') {\n // Should be string or plain value\n resultArray.push(`${varName(prop)}=${varValue(obj[prop])}`);\n } else if (obj[prop] === '') resultArray.push(varName(prop));\n });\n return resultArray.join(separator);\n}\nexport function isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && o.constructor === Object;\n}\nexport function merge(...args) {\n const to = args[0];\n args.splice(0, 1);\n const from = args;\n\n for (let i = 0; i < from.length; i += 1) {\n const nextSource = args[i];\n if (nextSource !== undefined && nextSource !== null) {\n const keysArray = Object.keys(Object(nextSource));\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n}\nexport function extend(...args) {\n let deep = true;\n let to;\n let from;\n if (typeof args[0] === 'boolean') {\n deep = args[0];\n to = args[1];\n args.splice(0, 2);\n from = args;\n } else {\n to = args[0];\n args.splice(0, 1);\n from = args;\n }\n for (let i = 0; i < from.length; i += 1) {\n const nextSource = args[i];\n if (nextSource !== undefined && nextSource !== null) {\n const keysArray = Object.keys(Object(nextSource));\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n if (!deep) {\n to[nextKey] = nextSource[nextKey];\n } else if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n extend(to[nextKey], nextSource[nextKey]);\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n extend(to[nextKey], nextSource[nextKey]);\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n return to;\n}\nexport function colorHexToRgb(hex) {\n const h = hex.replace(/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i, (m, r, g, b) => r + r + g + g + b + b);\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(h);\n return result ? result.slice(1).map((n) => parseInt(n, 16)) : null;\n}\nexport function colorRgbToHex(r, g, b) {\n const result = [r, g, b]\n .map((n) => {\n const hex = n.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n })\n .join('');\n return `#${result}`;\n}\nexport function colorRgbToHsl(r, g, b) {\n r /= 255; // eslint-disable-line\n g /= 255; // eslint-disable-line\n b /= 255; // eslint-disable-line\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const d = max - min;\n let h;\n if (d === 0) h = 0;\n else if (max === r) h = ((g - b) / d) % 6;\n else if (max === g) h = (b - r) / d + 2;\n else if (max === b) h = (r - g) / d + 4;\n const l = (min + max) / 2;\n const s = d === 0 ? 0 : d / (1 - Math.abs(2 * l - 1));\n if (h < 0) h = 360 / 60 + h;\n return [h * 60, s, l];\n}\nexport function colorHslToRgb(h, s, l) {\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const hp = h / 60;\n const x = c * (1 - Math.abs((hp % 2) - 1));\n let rgb1;\n if (Number.isNaN(h) || typeof h === 'undefined') {\n rgb1 = [0, 0, 0];\n } else if (hp <= 1) rgb1 = [c, x, 0];\n else if (hp <= 2) rgb1 = [x, c, 0];\n else if (hp <= 3) rgb1 = [0, c, x];\n else if (hp <= 4) rgb1 = [0, x, c];\n else if (hp <= 5) rgb1 = [x, 0, c];\n else if (hp <= 6) rgb1 = [c, 0, x];\n const m = l - c / 2;\n return rgb1.map((n) => Math.max(0, Math.min(255, Math.round(255 * (n + m)))));\n}\nexport function colorHsbToHsl(h, s, b) {\n const HSL = {\n h,\n s: 0,\n l: 0,\n };\n const HSB = { h, s, b };\n\n HSL.l = ((2 - HSB.s) * HSB.b) / 2;\n HSL.s = HSL.l && HSL.l < 1 ? (HSB.s * HSB.b) / (HSL.l < 0.5 ? HSL.l * 2 : 2 - HSL.l * 2) : HSL.s;\n\n return [HSL.h, HSL.s, HSL.l];\n}\nexport function colorHslToHsb(h, s, l) {\n const HSB = {\n h,\n s: 0,\n b: 0,\n };\n const HSL = { h, s, l };\n\n const t = HSL.s * (HSL.l < 0.5 ? HSL.l : 1 - HSL.l);\n HSB.b = HSL.l + t;\n HSB.s = HSL.l > 0 ? (2 * t) / HSB.b : HSB.s;\n\n return [HSB.h, HSB.s, HSB.b];\n}\nexport function colorThemeCSSProperties(...args) {\n let hex;\n let rgb;\n if (args.length === 1) {\n hex = args[0];\n rgb = colorHexToRgb(hex);\n } else if (args.length === 3) {\n rgb = args;\n hex = colorRgbToHex(...rgb);\n }\n if (!rgb) return {};\n const hsl = colorRgbToHsl(...rgb);\n const hslShade = [hsl[0], hsl[1], Math.max(0, hsl[2] - 0.08)];\n const hslTint = [hsl[0], hsl[1], Math.max(0, hsl[2] + 0.08)];\n const shade = colorRgbToHex(...colorHslToRgb(...hslShade));\n const tint = colorRgbToHex(...colorHslToRgb(...hslTint));\n return {\n '--f7-theme-color': hex,\n '--f7-theme-color-rgb': rgb.join(', '),\n '--f7-theme-color-shade': shade,\n '--f7-theme-color-tint': tint,\n };\n}\n\nexport function bindMethods(instance, obj) {\n Object.keys(obj).forEach((key) => {\n if (isObject(obj[key])) {\n Object.keys(obj[key]).forEach((subKey) => {\n if (typeof obj[key][subKey] === 'function') {\n obj[key][subKey] = obj[key][subKey].bind(instance);\n }\n });\n }\n instance[key] = obj[key];\n });\n}\n\nexport function flattenArray(...args) {\n const arr = [];\n args.forEach((arg) => {\n if (Array.isArray(arg)) arr.push(...flattenArray(...arg));\n else arr.push(arg);\n });\n return arr;\n}\n","import { getWindow, getDocument } from 'ssr-window';\n\nlet support;\n\nfunction calcSupport() {\n const window = getWindow();\n const document = getDocument();\n\n return {\n touch: !!(\n 'ontouchstart' in window ||\n (window.DocumentTouch && document instanceof window.DocumentTouch)\n ),\n\n pointerEvents:\n !!window.PointerEvent &&\n 'maxTouchPoints' in window.navigator &&\n window.navigator.maxTouchPoints >= 0,\n\n passiveListener: (function checkPassiveListener() {\n let supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get() {\n supportsPassive = true;\n },\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {\n // No support\n }\n return supportsPassive;\n })(),\n\n intersectionObserver: (function checkObserver() {\n return 'IntersectionObserver' in window;\n })(),\n };\n}\n\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n return support;\n}\n\nexport { getSupport };\n","import { getWindow } from 'ssr-window';\nimport { getSupport } from './get-support.js';\n\nlet deviceCalculated;\n\nfunction calcDevice({ userAgent } = {}) {\n const support = getSupport();\n const window = getWindow();\n const platform = window.navigator.platform;\n const ua = userAgent || window.navigator.userAgent;\n\n const device = {\n ios: false,\n android: false,\n androidChrome: false,\n desktop: false,\n iphone: false,\n ipod: false,\n ipad: false,\n edge: false,\n ie: false,\n firefox: false,\n macos: false,\n windows: false,\n cordova: !!window.cordova,\n electron: false,\n capacitor: !!window.Capacitor,\n nwjs: false,\n };\n\n const screenWidth = window.screen.width;\n const screenHeight = window.screen.height;\n\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS|iPhone;\\sCPU\\sOS)\\s([\\d_]+)/);\n const ie = ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\n const edge = ua.indexOf('Edge/') >= 0;\n const firefox = ua.indexOf('Gecko/') >= 0 && ua.indexOf('Firefox/') >= 0;\n const windows = platform === 'Win32';\n const electron = ua.toLowerCase().indexOf('electron') >= 0;\n const nwjs =\n typeof nw !== 'undefined' &&\n typeof process !== 'undefined' &&\n typeof process.versions !== 'undefined' &&\n typeof process.versions.nw !== 'undefined';\n let macos = platform === 'MacIntel';\n\n // iPadOs 13 fix\n const iPadScreens = [\n '1024x1366',\n '1366x1024',\n '834x1194',\n '1194x834',\n '834x1112',\n '1112x834',\n '768x1024',\n '1024x768',\n '820x1180',\n '1180x820',\n '810x1080',\n '1080x810',\n ];\n if (\n !ipad &&\n macos &&\n support.touch &&\n iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0\n ) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n }\n\n device.ie = ie;\n device.edge = edge;\n device.firefox = firefox;\n\n // Android\n if (android) {\n device.os = 'android';\n device.osVersion = android[2];\n device.android = true;\n device.androidChrome = ua.toLowerCase().indexOf('chrome') >= 0;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n // iOS\n if (iphone && !ipod) {\n device.osVersion = iphone[2].replace(/_/g, '.');\n device.iphone = true;\n }\n if (ipad) {\n device.osVersion = ipad[2].replace(/_/g, '.');\n device.ipad = true;\n }\n if (ipod) {\n device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null;\n device.ipod = true;\n }\n // iOS 8+ changed UA\n if (device.ios && device.osVersion && ua.indexOf('Version/') >= 0) {\n if (device.osVersion.split('.')[0] === '10') {\n device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0];\n }\n }\n\n // Webview\n device.webView =\n !!(\n (iphone || ipad || ipod) &&\n (ua.match(/.*AppleWebKit(?!.*Safari)/i) || window.navigator.standalone)\n ) ||\n (window.matchMedia && window.matchMedia('(display-mode: standalone)').matches);\n device.webview = device.webView;\n device.standalone = device.webView;\n\n // Desktop\n device.desktop = !(device.ios || device.android) || electron || nwjs;\n if (device.desktop) {\n device.electron = electron;\n device.nwjs = nwjs;\n device.macos = macos;\n device.windows = windows;\n if (device.macos) {\n device.os = 'macos';\n }\n if (device.windows) {\n device.os = 'windows';\n }\n }\n\n // Pixel Ratio\n device.pixelRatio = window.devicePixelRatio || 1;\n\n // Color Scheme\n const DARK = '(prefers-color-scheme: dark)';\n const LIGHT = '(prefers-color-scheme: light)';\n device.prefersColorScheme = function prefersColorTheme() {\n let theme;\n if (window.matchMedia && window.matchMedia(LIGHT).matches) {\n theme = 'light';\n }\n if (window.matchMedia && window.matchMedia(DARK).matches) {\n theme = 'dark';\n }\n return theme;\n };\n\n // Export object\n return device;\n}\n\nfunction getDevice(overrides = {}, reset) {\n if (!deviceCalculated || reset) {\n deviceCalculated = calcDevice(overrides);\n }\n return deviceCalculated;\n}\n\nexport { getDevice };\n","class EventsClass {\n constructor(parents = []) {\n const self = this;\n self.eventsParents = parents;\n self.eventsListeners = {};\n }\n\n on(events, handler, priority) {\n const self = this;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n events.split(' ').forEach((event) => {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n }\n\n once(events, handler, priority) {\n const self = this;\n if (typeof handler !== 'function') return self;\n function onceHandler(...args) {\n self.off(events, onceHandler);\n if (onceHandler.f7proxy) {\n delete onceHandler.f7proxy;\n }\n handler.apply(self, args);\n }\n onceHandler.f7proxy = handler;\n return self.on(events, onceHandler, priority);\n }\n\n off(events, handler) {\n const self = this;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach((event) => {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach((eventHandler, index) => {\n if (\n eventHandler === handler ||\n (eventHandler.f7proxy && eventHandler.f7proxy === handler)\n ) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n }\n\n emit(...args) {\n const self = this;\n if (!self.eventsListeners) return self;\n let events;\n let data;\n let context;\n let eventsParents;\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n eventsParents = self.eventsParents;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n eventsParents = args[0].local ? [] : args[0].parents || self.eventsParents;\n }\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\n const localEvents = eventsArray.map((eventName) => eventName.replace('local::', ''));\n const parentEvents = eventsArray.filter((eventName) => eventName.indexOf('local::') < 0);\n\n localEvents.forEach((event) => {\n if (self.eventsListeners && self.eventsListeners[event]) {\n const handlers = [];\n self.eventsListeners[event].forEach((eventHandler) => {\n handlers.push(eventHandler);\n });\n handlers.forEach((eventHandler) => {\n eventHandler.apply(context, data);\n });\n }\n });\n if (eventsParents && eventsParents.length > 0) {\n eventsParents.forEach((eventsParent) => {\n eventsParent.emit(parentEvents, ...data);\n });\n }\n return self;\n }\n}\n\nexport default EventsClass;\n","import { extend, now } from './utils.js';\nimport EventsClass from './events-class.js';\n\nclass Framework7Class extends EventsClass {\n constructor(params = {}, parents = []) {\n super(parents);\n const self = this;\n self.params = params;\n\n if (self.params && self.params.on) {\n Object.keys(self.params.on).forEach((eventName) => {\n self.on(eventName, self.params.on[eventName]);\n });\n }\n }\n\n // eslint-disable-next-line\n useModuleParams(module, instanceParams) {\n if (module.params) {\n const originalParams = {};\n Object.keys(module.params).forEach((paramKey) => {\n if (typeof instanceParams[paramKey] === 'undefined') return;\n originalParams[paramKey] = extend({}, instanceParams[paramKey]);\n });\n extend(instanceParams, module.params);\n Object.keys(originalParams).forEach((paramKey) => {\n extend(instanceParams[paramKey], originalParams[paramKey]);\n });\n }\n }\n\n useModulesParams(instanceParams) {\n const instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach((moduleName) => {\n const module = instance.modules[moduleName];\n // Extend params\n if (module.params) {\n extend(instanceParams, module.params);\n }\n });\n }\n\n useModule(moduleName = '', moduleParams = {}) {\n const instance = this;\n if (!instance.modules) return;\n const module = typeof moduleName === 'string' ? instance.modules[moduleName] : moduleName;\n if (!module) return;\n\n // Extend instance methods and props\n if (module.instance) {\n Object.keys(module.instance).forEach((modulePropName) => {\n const moduleProp = module.instance[modulePropName];\n if (typeof moduleProp === 'function') {\n instance[modulePropName] = moduleProp.bind(instance);\n } else {\n instance[modulePropName] = moduleProp;\n }\n });\n }\n // Add event listeners\n if (module.on && instance.on) {\n Object.keys(module.on).forEach((moduleEventName) => {\n instance.on(moduleEventName, module.on[moduleEventName]);\n });\n }\n // Add vnode hooks\n if (module.vnode) {\n if (!instance.vnodeHooks) instance.vnodeHooks = {};\n Object.keys(module.vnode).forEach((vnodeId) => {\n Object.keys(module.vnode[vnodeId]).forEach((hookName) => {\n const handler = module.vnode[vnodeId][hookName];\n if (!instance.vnodeHooks[hookName]) instance.vnodeHooks[hookName] = {};\n if (!instance.vnodeHooks[hookName][vnodeId]) instance.vnodeHooks[hookName][vnodeId] = [];\n instance.vnodeHooks[hookName][vnodeId].push(handler.bind(instance));\n });\n });\n }\n // Module create callback\n if (module.create) {\n module.create.bind(instance)(moduleParams);\n }\n }\n\n useModules(modulesParams = {}) {\n const instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach((moduleName) => {\n const moduleParams = modulesParams[moduleName] || {};\n instance.useModule(moduleName, moduleParams);\n });\n }\n\n static set components(components) {\n const Class = this;\n if (!Class.use) return;\n Class.use(components);\n }\n\n static installModule(module, ...params) {\n const Class = this;\n if (!Class.prototype.modules) Class.prototype.modules = {};\n const name = module.name || `${Object.keys(Class.prototype.modules).length}_${now()}`;\n Class.prototype.modules[name] = module;\n // Prototype\n if (module.proto) {\n Object.keys(module.proto).forEach((key) => {\n Class.prototype[key] = module.proto[key];\n });\n }\n // Class\n if (module.static) {\n Object.keys(module.static).forEach((key) => {\n Class[key] = module.static[key];\n });\n }\n // Callback\n if (module.install) {\n module.install.apply(Class, params);\n }\n return Class;\n }\n\n static use(module, ...params) {\n const Class = this;\n if (Array.isArray(module)) {\n module.forEach((m) => Class.installModule(m));\n return Class;\n }\n return Class.installModule(module, ...params);\n }\n}\n\nexport default Framework7Class;\n","import $ from './dom7.js';\n\nexport default function ConstructorMethods(parameters = {}) {\n const { defaultSelector, constructor: Constructor, domProp, app, addMethods } = parameters;\n const methods = {\n create(...args) {\n if (app) return new Constructor(app, ...args);\n return new Constructor(...args);\n },\n get(el = defaultSelector) {\n if (el instanceof Constructor) return el;\n const $el = $(el);\n if ($el.length === 0) return undefined;\n return $el[0][domProp];\n },\n destroy(el) {\n const instance = methods.get(el);\n if (instance && instance.destroy) return instance.destroy();\n return undefined;\n },\n };\n if (addMethods && Array.isArray(addMethods)) {\n addMethods.forEach((methodName) => {\n methods[methodName] = (el = defaultSelector, ...args) => {\n const instance = methods.get(el);\n if (instance && instance[methodName]) return instance[methodName](...args);\n return undefined;\n };\n });\n }\n return methods;\n}\n","import $ from './dom7.js';\nimport { extend } from './utils.js';\nimport ConstructorMethods from './constructor-methods.js';\n\nexport default function ModalMethods(parameters = {}) {\n const { defaultSelector, constructor: Constructor, app } = parameters;\n const methods = extend(\n ConstructorMethods({\n defaultSelector,\n constructor: Constructor,\n app,\n domProp: 'f7Modal',\n }),\n {\n open(el, animate, targetEl) {\n let $el = $(el);\n if ($el.length > 1 && targetEl) {\n // check if same modal in other page\n const $targetPage = $(targetEl).parents('.page');\n if ($targetPage.length) {\n $el.each((modalEl) => {\n const $modalEl = $(modalEl);\n if ($modalEl.parents($targetPage)[0] === $targetPage[0]) {\n $el = $modalEl;\n }\n });\n }\n }\n if ($el.length > 1) {\n $el = $el.eq($el.length - 1);\n }\n if (!$el.length) return undefined;\n let instance = $el[0].f7Modal;\n if (!instance) {\n const params = $el.dataset();\n instance = new Constructor(app, { el: $el, ...params });\n }\n return instance.open(animate);\n },\n close(el = defaultSelector, animate, targetEl) {\n let $el = $(el);\n if (!$el.length) return undefined;\n if ($el.length > 1) {\n // check if close link (targetEl) in this modal\n let $parentEl;\n if (targetEl) {\n const $targetEl = $(targetEl);\n if ($targetEl.length) {\n $parentEl = $targetEl.parents($el);\n }\n }\n if ($parentEl && $parentEl.length > 0) {\n $el = $parentEl;\n } else {\n $el = $el.eq($el.length - 1);\n }\n }\n let instance = $el[0].f7Modal;\n if (!instance) {\n const params = $el.dataset();\n instance = new Constructor(app, { el: $el, ...params });\n }\n return instance.close(animate);\n },\n },\n );\n return methods;\n}\n","import { getWindow, getDocument } from 'ssr-window';\nimport { id } from '../../shared/utils.js';\nimport $ from '../../shared/dom7.js';\n\nconst fetchedModules = [];\nfunction loadModule(moduleToLoad) {\n const Framework7 = this;\n const window = getWindow();\n const document = getDocument();\n return new Promise((resolve, reject) => {\n const app = Framework7.instance;\n let modulePath;\n let moduleObj;\n let moduleFunc;\n if (!moduleToLoad) {\n reject(new Error('Framework7: Lazy module must be specified'));\n return;\n }\n\n function install(module) {\n Framework7.use(module);\n\n if (app) {\n app.useModuleParams(module, app.params);\n app.useModule(module);\n }\n }\n\n if (typeof moduleToLoad === 'string') {\n const matchNamePattern = moduleToLoad.match(/([a-z0-9-]*)/i);\n if (\n moduleToLoad.indexOf('.') < 0 &&\n matchNamePattern &&\n matchNamePattern[0].length === moduleToLoad.length\n ) {\n if (!app || (app && !app.params.lazyModulesPath)) {\n reject(\n new Error(\n 'Framework7: \"lazyModulesPath\" app parameter must be specified to fetch module by name',\n ),\n );\n return;\n }\n modulePath = `${app.params.lazyModulesPath}/${moduleToLoad}/${moduleToLoad}.lazy.js`;\n } else {\n modulePath = moduleToLoad;\n }\n } else if (typeof moduleToLoad === 'function') {\n moduleFunc = moduleToLoad;\n } else {\n // considering F7-Plugin object\n moduleObj = moduleToLoad;\n }\n\n if (moduleFunc) {\n const module = moduleFunc(Framework7, false);\n if (!module) {\n reject(\n new Error(\"Framework7: Can't find Framework7 component in specified component function\"),\n );\n return;\n }\n // Check if it was added\n if (Framework7.prototype.modules && Framework7.prototype.modules[module.name]) {\n resolve();\n return;\n }\n // Install It\n install(module);\n\n resolve();\n }\n if (moduleObj) {\n const module = moduleObj;\n if (!module) {\n reject(new Error(\"Framework7: Can't find Framework7 component in specified component\"));\n return;\n }\n // Check if it was added\n if (Framework7.prototype.modules && Framework7.prototype.modules[module.name]) {\n resolve();\n return;\n }\n // Install It\n install(module);\n\n resolve();\n }\n if (modulePath) {\n if (fetchedModules.indexOf(modulePath) >= 0) {\n resolve();\n return;\n }\n fetchedModules.push(modulePath);\n const scriptLoad = new Promise((resolveScript, rejectScript) => {\n Framework7.request.get(\n modulePath,\n (scriptContent) => {\n const callbackId = id();\n const callbackLoadName = `f7_component_loader_callback_${callbackId}`;\n\n const scriptEl = document.createElement('script');\n scriptEl.innerHTML = `window.${callbackLoadName} = function (Framework7, Framework7AutoInstallComponent) {return ${scriptContent.trim()}}`;\n $('head').append(scriptEl);\n\n const componentLoader = window[callbackLoadName];\n delete window[callbackLoadName];\n $(scriptEl).remove();\n\n const module = componentLoader(Framework7, false);\n\n if (!module) {\n rejectScript(\n new Error(`Framework7: Can't find Framework7 component in ${modulePath} file`),\n );\n return;\n }\n\n // Check if it was added\n if (Framework7.prototype.modules && Framework7.prototype.modules[module.name]) {\n resolveScript();\n return;\n }\n\n // Install It\n install(module);\n\n resolveScript();\n },\n (xhr, status) => {\n rejectScript(xhr, status);\n },\n );\n });\n const styleLoad = new Promise((resolveStyle) => {\n Framework7.request.get(\n modulePath\n .replace('.lazy.js', app.rtl ? '.rtl.css' : '.css')\n .replace('.js', app.rtl ? '.rtl.css' : '.css'),\n (styleContent) => {\n const styleEl = document.createElement('style');\n styleEl.innerHTML = styleContent;\n $('head').append(styleEl);\n\n resolveStyle();\n },\n () => {\n resolveStyle();\n },\n );\n });\n\n Promise.all([scriptLoad, styleLoad])\n .then(() => {\n resolve();\n })\n .catch((err) => {\n reject(err);\n });\n }\n });\n}\n\nexport default loadModule;\n","/* eslint-disable prefer-rest-params */\nconst $jsx = (tag, props, ...args) => {\n const attrs = props || {};\n const children = args || [];\n\n const attrsString = Object.keys(attrs)\n .map((attr) => {\n if (attr[0] === '_') {\n if (attrs[attr]) return attr.replace('_', '');\n return '';\n }\n return `${attr}=\"${attrs[attr]}\"`;\n })\n .filter((attr) => !!attr)\n .join(' ');\n\n if (['path', 'img', 'circle', 'polygon', 'line', 'input'].indexOf(tag) >= 0) {\n return `<${tag} ${attrsString} />`.trim();\n }\n const childrenContent = children\n .filter((c) => !!c)\n .map((c) => (Array.isArray(c) ? c.join('') : c))\n .join('');\n return `<${tag} ${attrsString}>${childrenContent}</${tag}>`.trim();\n};\n\nexport default $jsx;\n","/* eslint-disable no-underscore-dangle */\n\nimport { getWindow, getDocument } from 'ssr-window';\nimport { extend, nextFrame } from '../../shared/utils.js';\nimport { getDevice } from '../../shared/get-device.js';\nimport { getSupport } from '../../shared/get-support.js';\nimport Framework7Class from '../../shared/class.js';\nimport EventsClass from '../../shared/events-class.js';\nimport ConstructorMethods from '../../shared/constructor-methods.js';\nimport ModalMethods from '../../shared/modal-methods.js';\nimport $ from '../../shared/dom7.js';\nimport loadModule from './load-module.js';\nimport $jsx from '../../shared/$jsx.js';\n\nclass Framework7 extends Framework7Class {\n constructor(params = {}) {\n super(params);\n // eslint-disable-next-line\n if (Framework7.instance && typeof window !== 'undefined') {\n throw new Error(\"Framework7 is already initialized and can't be initialized more than once\");\n }\n const device = getDevice({ userAgent: params.userAgent || undefined });\n const support = getSupport();\n\n const passedParams = extend({}, params);\n\n // App Instance\n const app = this;\n\n app.device = device;\n app.support = support;\n\n const w = getWindow();\n const d = getDocument();\n\n Framework7.instance = app;\n\n // Default\n const defaults = {\n version: '1.0.0',\n id: 'io.framework7.myapp',\n el: 'body',\n theme: 'auto',\n language: w.navigator.language,\n routes: [],\n name: 'Framework7',\n lazyModulesPath: null,\n initOnDeviceReady: true,\n init: true,\n autoDarkMode: false,\n iosTranslucentBars: true,\n iosTranslucentModals: true,\n component: undefined,\n componentUrl: undefined,\n userAgent: null,\n url: null,\n };\n\n // Extend defaults with modules params\n app.useModulesParams(defaults);\n\n // Extend defaults with passed params\n app.params = extend(defaults, params);\n\n extend(app, {\n // App Id\n id: app.params.id,\n // App Name\n name: app.params.name,\n // App version\n version: app.params.version,\n // Routes\n routes: app.params.routes,\n // Lang\n language: app.params.language,\n\n // Theme\n theme: (function getTheme() {\n if (app.params.theme === 'auto') {\n if (device.ios) return 'ios';\n if (device.desktop && device.electron) return 'aurora';\n return 'md';\n }\n return app.params.theme;\n })(),\n\n // Initially passed parameters\n passedParams,\n online: w.navigator.onLine,\n });\n\n if (params.store) app.params.store = params.store;\n\n // Save Root\n if (app.$el && app.$el[0]) {\n app.$el[0].f7 = app;\n }\n\n // Install Modules\n app.useModules();\n\n // Init Store\n app.initStore();\n\n // Init\n if (app.params.init) {\n if (device.cordova && app.params.initOnDeviceReady) {\n $(d).on('deviceready', () => {\n app.init();\n });\n } else {\n app.init();\n }\n }\n\n // Return app instance\n return app;\n }\n\n mount(rootEl) {\n const app = this;\n const window = getWindow();\n const document = getDocument();\n const $rootEl = $(rootEl || app.params.el).eq(0);\n app.$el = $rootEl;\n if (app.$el && app.$el[0]) {\n app.el = app.$el[0];\n app.el.f7 = app;\n app.rtl = $rootEl.css('direction') === 'rtl';\n }\n\n // Auto Dark Mode\n const DARK = '(prefers-color-scheme: dark)';\n const LIGHT = '(prefers-color-scheme: light)';\n app.mq = {};\n if (window.matchMedia) {\n app.mq.dark = window.matchMedia(DARK);\n app.mq.light = window.matchMedia(LIGHT);\n }\n app.colorSchemeListener = function colorSchemeListener({ matches, media }) {\n if (!matches) {\n return;\n }\n const html = document.querySelector('html');\n if (media === DARK) {\n html.classList.add('dark');\n app.darkMode = true;\n app.emit('darkModeChange', true);\n } else if (media === LIGHT) {\n html.classList.remove('dark');\n app.darkMode = false;\n app.emit('darkModeChange', false);\n }\n };\n app.emit('mount');\n }\n\n initStore() {\n const app = this;\n if (typeof app.params.store !== 'undefined' && app.params.store.__store) {\n app.store = app.params.store;\n } else {\n app.store = app.createStore(app.params.store);\n }\n }\n\n enableAutoDarkMode() {\n const window = getWindow();\n const document = getDocument();\n if (!window.matchMedia) return;\n const app = this;\n const html = document.querySelector('html');\n if (app.mq.dark && app.mq.light) {\n app.mq.dark.addListener(app.colorSchemeListener);\n app.mq.light.addListener(app.colorSchemeListener);\n }\n if (app.mq.dark && app.mq.dark.matches) {\n html.classList.add('dark');\n app.darkMode = true;\n app.emit('darkModeChange', true);\n } else if (app.mq.light && app.mq.light.matches) {\n html.classList.remove('dark');\n app.darkMode = false;\n app.emit('darkModeChange', false);\n }\n }\n\n disableAutoDarkMode() {\n const window = getWindow();\n if (!window.matchMedia) return;\n const app = this;\n if (app.mq.dark) app.mq.dark.removeListener(app.colorSchemeListener);\n if (app.mq.light) app.mq.light.removeListener(app.colorSchemeListener);\n }\n\n initAppComponent(callback) {\n const app = this;\n app.router.componentLoader(\n app.params.component,\n app.params.componentUrl,\n { componentOptions: { el: app.$el[0] } },\n (el) => {\n app.$el = $(el);\n app.$el[0].f7 = app;\n app.$elComponent = el.f7Component;\n app.el = app.$el[0];\n if (callback) callback();\n },\n () => {},\n );\n }\n\n init(rootEl) {\n const app = this;\n\n app.mount(rootEl);\n\n const init = () => {\n if (app.initialized) return;\n\n app.$el.addClass('framework7-initializing');\n\n // RTL attr\n if (app.rtl) {\n $('html').attr('dir', 'rtl');\n }\n\n // Auto Dark Mode\n if (app.params.autoDarkMode) {\n app.enableAutoDarkMode();\n }\n\n // Watch for online/offline state\n const window = getWindow();\n window.addEventListener('offline', () => {\n app.online = false;\n app.emit('offline');\n app.emit('connection', false);\n });\n window.addEventListener('online', () => {\n app.online = true;\n app.emit('online');\n app.emit('connection', true);\n });\n\n // Root class\n app.$el.addClass('framework7-root');\n\n // Theme class\n $('html').removeClass('ios md aurora').addClass(app.theme);\n\n // iOS Translucent\n const device = app.device;\n if (app.params.iosTranslucentBars && app.theme === 'ios' && device.ios) {\n $('html').addClass('ios-translucent-bars');\n }\n if (app.params.iosTranslucentModals && app.theme === 'ios' && device.ios) {\n $('html').addClass('ios-translucent-modals');\n }\n\n // Init class\n nextFrame(() => {\n app.$el.removeClass('framework7-initializing');\n });\n // Emit, init other modules\n app.initialized = true;\n app.emit('init');\n };\n if (app.params.component || app.params.componentUrl) {\n app.initAppComponent(() => {\n init();\n });\n } else {\n init();\n }\n return app;\n }\n\n // eslint-disable-next-line\n loadModule(...args) {\n return Framework7.loadModule(...args);\n }\n\n // eslint-disable-next-line\n loadModules(...args) {\n return Framework7.loadModules(...args);\n }\n\n getVnodeHooks(hook, id) {\n const app = this;\n if (!app.vnodeHooks || !app.vnodeHooks[hook]) return [];\n return app.vnodeHooks[hook][id] || [];\n }\n\n // eslint-disable-next-line\n get $() {\n return $;\n }\n\n static get Dom7() {\n return $;\n }\n\n static get $() {\n return $;\n }\n\n static get device() {\n return getDevice();\n }\n\n static get support() {\n return getSupport();\n }\n\n static get Class() {\n return Framework7Class;\n }\n\n static get Events() {\n return EventsClass;\n }\n}\n\nFramework7.$jsx = $jsx;\nFramework7.ModalMethods = ModalMethods;\nFramework7.ConstructorMethods = ConstructorMethods;\n\nFramework7.loadModule = loadModule;\nFramework7.loadModules = function loadModules(modules) {\n return Promise.all(modules.map((module) => Framework7.loadModule(module)));\n};\n\nexport default Framework7;\n","import { getDocument } from 'ssr-window';\nimport { getDevice } from '../../shared/get-device.js';\n\nexport default {\n name: 'device',\n static: {\n getDevice,\n },\n on: {\n init() {\n const document = getDocument();\n const device = getDevice();\n const classNames = [];\n const html = document.querySelector('html');\n const metaStatusbar = document.querySelector(\n 'meta[name=\"apple-mobile-web-app-status-bar-style\"]',\n );\n if (!html) return;\n if (\n device.standalone &&\n device.ios &&\n metaStatusbar &&\n metaStatusbar.content === 'black-translucent'\n ) {\n classNames.push('device-full-viewport');\n }\n\n // Pixel Ratio\n classNames.push(`device-pixel-ratio-${Math.floor(device.pixelRatio)}`);\n // OS classes\n if (device.os && !device.desktop) {\n classNames.push(`device-${device.os}`);\n } else if (device.desktop) {\n classNames.push('device-desktop');\n if (device.os) {\n classNames.push(`device-${device.os}`);\n }\n }\n if (device.cordova) {\n classNames.push('device-cordova');\n }\n if (device.capacitor) {\n classNames.push('device-capacitor');\n }\n\n // Add html classes\n classNames.forEach((className) => {\n html.classList.add(className);\n });\n },\n },\n};\n","import { getSupport } from '../../shared/get-support.js';\n\nexport default {\n name: 'support',\n static: {\n getSupport,\n },\n};\n","import * as utils from '../../shared/utils.js';\n\nexport default {\n name: 'utils',\n proto: {\n utils,\n },\n static: {\n utils,\n },\n};\n","import { getWindow, getDocument } from 'ssr-window';\nimport { getDevice } from '../../shared/get-device.js';\n\nexport default {\n name: 'resize',\n create() {\n const app = this;\n app.getSize = () => {\n if (!app.el) return { width: 0, height: 0, left: 0, top: 0 };\n const offset = app.$el.offset();\n const [width, height, left, top] = [\n app.el.offsetWidth,\n app.el.offsetHeight,\n offset.left,\n offset.top,\n ];\n app.width = width;\n app.height = height;\n app.left = left;\n app.top = top;\n return { width, height, left, top };\n };\n },\n on: {\n init() {\n const app = this;\n const window = getWindow();\n\n // Get Size\n app.getSize();\n\n // Emit resize\n window.addEventListener(\n 'resize',\n () => {\n app.emit('resize');\n },\n false,\n );\n\n // Emit orientationchange\n window.addEventListener('orientationchange', () => {\n app.emit('orientationchange');\n });\n },\n orientationchange() {\n const document = getDocument();\n const device = getDevice();\n // Fix iPad weird body scroll\n if (device.ipad) {\n document.body.scrollLeft = 0;\n setTimeout(() => {\n document.body.scrollLeft = 0;\n }, 0);\n }\n },\n resize() {\n const app = this;\n app.getSize();\n },\n },\n};\n","/* eslint-disable max-classes-per-file */\nimport { getWindow, getDocument } from 'ssr-window';\nimport { extend, serializeObject } from './utils.js';\n\nconst globals = {};\nlet jsonpRequests = 0;\n\nclass RequestResponse {\n constructor(obj) {\n Object.assign(this, obj);\n }\n}\n\nclass RequestError extends Error {\n constructor(obj) {\n super();\n Object.assign(this, obj);\n }\n}\n\nconst request = (requestOptions) =>\n new Promise((resolve, reject) => {\n const window = getWindow();\n const document = getDocument();\n const globalsNoCallbacks = extend({}, globals);\n 'beforeCreate beforeOpen beforeSend error complete success statusCode'\n .split(' ')\n .forEach((callbackName) => {\n delete globalsNoCallbacks[callbackName];\n });\n const defaults = extend(\n {\n url: window.location.toString(),\n method: 'GET',\n data: false,\n async: true,\n cache: true,\n user: '',\n password: '',\n headers: {},\n xhrFields: {},\n statusCode: {},\n processData: true,\n dataType: 'text',\n contentType: 'application/x-www-form-urlencoded',\n timeout: 0,\n },\n globalsNoCallbacks,\n );\n\n let proceedRequest;\n\n const options = extend({}, defaults, requestOptions);\n if (requestOptions.abortController) {\n options.abortController = requestOptions.abortController;\n }\n\n if (options.abortController && options.abortController.canceled) {\n reject(new RequestError({ options, status: 'canceled', message: 'canceled' }));\n return;\n }\n\n // Function to run XHR callbacks and events\n function fireCallback(callbackName, ...data) {\n /*\n Callbacks:\n beforeCreate (options),\n beforeOpen (xhr, options),\n beforeSend (xhr, options),\n error (xhr, status, message),\n complete (xhr, status),\n success (response, status, xhr),\n statusCode ()\n */\n let globalCallbackValue;\n let optionCallbackValue;\n if (globals[callbackName]) {\n globalCallbackValue = globals[callbackName](...data);\n }\n if (options[callbackName]) {\n optionCallbackValue = options[callbackName](...data);\n }\n if (typeof globalCallbackValue !== 'boolean') globalCallbackValue = true;\n if (typeof optionCallbackValue !== 'boolean') optionCallbackValue = true;\n if (\n options.abortController &&\n options.abortController.canceled &&\n (callbackName === 'beforeCreate' ||\n callbackName === 'beforeOpen' ||\n callbackName === 'beforeSend')\n ) {\n return false;\n }\n return globalCallbackValue && optionCallbackValue;\n }\n\n // Before create callback\n proceedRequest = fireCallback('beforeCreate', options);\n if (proceedRequest === false) {\n reject(new RequestError({ options, status: 'canceled', message: 'canceled' }));\n return;\n }\n\n // For jQuery guys\n if (options.type) options.method = options.type;\n\n // Parameters Prefix\n let paramsPrefix = options.url.indexOf('?') >= 0 ? '&' : '?';\n\n // UC method\n const method = options.method.toUpperCase();\n\n // Data to modify GET URL\n if (\n (method === 'GET' || method === 'HEAD' || method === 'OPTIONS' || method === 'DELETE') &&\n options.data\n ) {\n let stringData;\n if (typeof options.data === 'string') {\n // Should be key=value string\n if (options.data.indexOf('?') >= 0) stringData = options.data.split('?')[1];\n else stringData = options.data;\n } else {\n // Should be key=value object\n stringData = serializeObject(options.data);\n }\n if (stringData.length) {\n options.url += paramsPrefix + stringData;\n if (paramsPrefix === '?') paramsPrefix = '&';\n }\n }\n\n // JSONP\n if (options.dataType === 'json' && options.url.indexOf('callback=') >= 0) {\n const callbackName = `f7jsonp_${Date.now() + (jsonpRequests += 1)}`;\n let abortTimeout;\n const callbackSplit = options.url.split('callback=');\n let requestUrl = `${callbackSplit[0]}callback=${callbackName}`;\n if (callbackSplit[1].indexOf('&') >= 0) {\n const addVars = callbackSplit[1]\n .split('&')\n .filter((el) => el.indexOf('=') > 0)\n .join('&');\n if (addVars.length > 0) requestUrl += `&${addVars}`;\n }\n\n // Create script\n let script = document.createElement('script');\n script.type = 'text/javascript';\n script.onerror = function onerror() {\n clearTimeout(abortTimeout);\n fireCallback('error', null, 'scripterror', 'scripterror');\n reject(new RequestError({ options, status: 'scripterror', message: 'scripterror' }));\n fireCallback('complete', null, 'scripterror');\n };\n script.src = requestUrl;\n\n // Handler\n window[callbackName] = function jsonpCallback(data) {\n clearTimeout(abortTimeout);\n fireCallback('success', data);\n script.parentNode.removeChild(script);\n script = null;\n delete window[callbackName];\n resolve(new RequestResponse({ options, data }));\n };\n document.querySelector('head').appendChild(script);\n\n if (options.timeout > 0) {\n abortTimeout = setTimeout(() => {\n script.parentNode.removeChild(script);\n script = null;\n fireCallback('error', null, 'timeout', 'timeout');\n reject(new RequestError({ options, status: 'timeout', message: 'timeout' }));\n }, options.timeout);\n }\n\n return;\n }\n\n // Cache for GET/HEAD requests\n if (method === 'GET' || method === 'HEAD' || method === 'OPTIONS' || method === 'DELETE') {\n if (options.cache === false) {\n options.url += `${paramsPrefix}_nocache${Date.now()}`;\n }\n }\n\n // Create XHR\n const xhr = new XMLHttpRequest();\n\n if (options.abortController) {\n let aborted = false;\n options.abortController.onAbort = () => {\n if (aborted) return;\n aborted = true;\n xhr.abort();\n reject(new RequestError({ options, xhr, status: 'canceled', message: 'canceled' }));\n };\n }\n\n // Save Request URL\n xhr.requestUrl = options.url;\n xhr.requestParameters = options;\n\n // Before open callback\n proceedRequest = fireCallback('beforeOpen', xhr, options);\n if (proceedRequest === false) {\n reject(new RequestError({ options, xhr, status: 'canceled', message: 'canceled' }));\n return;\n }\n\n // Open XHR\n xhr.open(method, options.url, options.async, options.user, options.password);\n\n // Create POST Data\n let postData = null;\n\n if ((method === 'POST' || method === 'PUT' || method === 'PATCH') && options.data) {\n if (options.processData) {\n const postDataInstances = [ArrayBuffer, Blob, Document, FormData];\n // Post Data\n if (postDataInstances.indexOf(options.data.constructor) >= 0) {\n postData = options.data;\n } else {\n // POST Headers\n const boundary = `---------------------------${Date.now().toString(16)}`;\n\n if (options.contentType === 'multipart/form-data') {\n xhr.setRequestHeader('Content-Type', `multipart/form-data; boundary=${boundary}`);\n } else {\n xhr.setRequestHeader('Content-Type', options.contentType);\n }\n postData = '';\n let data = serializeObject(options.data);\n if (options.contentType === 'multipart/form-data') {\n data = data.split('&');\n const newData = [];\n for (let i = 0; i < data.length; i += 1) {\n newData.push(\n `Content-Disposition: form-data; name=\"${data[i].split('=')[0]}\"\\r\\n\\r\\n${\n data[i].split('=')[1]\n }\\r\\n`,\n );\n }\n postData = `--${boundary}\\r\\n${newData.join(`--${boundary}\\r\\n`)}--${boundary}--\\r\\n`;\n } else if (options.contentType === 'application/json') {\n postData = JSON.stringify(options.data);\n } else {\n postData = data;\n }\n }\n } else {\n postData = options.data;\n xhr.setRequestHeader('Content-Type', options.contentType);\n }\n }\n if (options.dataType === 'json' && (!options.headers || !options.headers.Accept)) {\n xhr.setRequestHeader('Accept', 'application/json');\n }\n\n // Additional headers\n if (options.headers) {\n Object.keys(options.headers).forEach((headerName) => {\n if (typeof options.headers[headerName] === 'undefined') return;\n xhr.setRequestHeader(headerName, options.headers[headerName]);\n });\n }\n\n // Check for crossDomain\n if (typeof options.crossDomain === 'undefined') {\n options.crossDomain =\n // eslint-disable-next-line\n /^([\\w-]+:)?\\/\\/([^\\/]+)/.test(options.url) && RegExp.$2 !== window.location.host;\n }\n\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n if (options.xhrFields) {\n extend(xhr, options.xhrFields);\n }\n\n // Handle XHR\n xhr.onload = function onload() {\n if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 0) {\n let responseData;\n if (options.dataType === 'json') {\n let parseError;\n try {\n responseData = JSON.parse(xhr.responseText);\n } catch (err) {\n parseError = true;\n }\n if (!parseError) {\n fireCallback('success', responseData, xhr.status, xhr);\n resolve(new RequestResponse({ options, data: responseData, status: xhr.status, xhr }));\n } else {\n fireCallback('error', xhr, 'parseerror', 'parseerror');\n reject(new RequestError({ options, xhr, status: 'parseerror', message: 'parseerror' }));\n }\n } else {\n responseData =\n xhr.responseType === 'text' || xhr.responseType === ''\n ? xhr.responseText\n : xhr.response;\n fireCallback('success', responseData, xhr.status, xhr);\n resolve(new RequestResponse({ options, data: responseData, status: xhr.status, xhr }));\n }\n } else {\n fireCallback('error', xhr, xhr.status, xhr.statusText);\n reject(new RequestError({ options, xhr, status: xhr.status, message: xhr.statusText }));\n }\n if (options.statusCode) {\n if (globals.statusCode && globals.statusCode[xhr.status])\n globals.statusCode[xhr.status](xhr);\n if (options.statusCode[xhr.status]) options.statusCode[xhr.status](xhr);\n }\n fireCallback('complete', xhr, xhr.status);\n };\n\n xhr.onerror = function onerror() {\n fireCallback('error', xhr, xhr.status, xhr.status);\n reject(new RequestError({ options, xhr, status: xhr.status, message: xhr.statusText }));\n fireCallback('complete', xhr, 'error');\n };\n\n // Timeout\n if (options.timeout > 0) {\n xhr.timeout = options.timeout;\n xhr.ontimeout = () => {\n fireCallback('error', xhr, 'timeout', 'timeout');\n reject(new RequestError({ options, xhr, status: 'timeout', message: 'timeout' }));\n fireCallback('complete', xhr, 'timeout');\n };\n }\n\n // Ajax start callback\n proceedRequest = fireCallback('beforeSend', xhr, options);\n if (proceedRequest === false) {\n reject(new RequestError({ options, xhr, status: 'canceled', message: 'canceled' }));\n return;\n }\n\n // Send XHR\n xhr.send(postData);\n });\n\nfunction requestShortcut(method, ...args) {\n let [url, data, success, error, dataType] = [];\n if (typeof args[1] === 'function') {\n [url, success, error, dataType] = args;\n } else {\n [url, data, success, error, dataType] = args;\n }\n [success, error].forEach((callback) => {\n if (typeof callback === 'string') {\n dataType = callback;\n if (callback === success) success = undefined;\n else error = undefined;\n }\n });\n dataType = dataType || (method === 'json' || method === 'postJSON' ? 'json' : undefined);\n const requestOptions = {\n url,\n method: method === 'post' || method === 'postJSON' ? 'POST' : 'GET',\n data,\n success,\n error,\n dataType,\n };\n if (method === 'postJSON') {\n extend(requestOptions, {\n contentType: 'application/json',\n processData: false,\n crossDomain: true,\n data: typeof data === 'string' ? data : JSON.stringify(data),\n });\n }\n return request(requestOptions);\n}\n\nObject.assign(request, {\n get: (...args) => requestShortcut('get', ...args),\n post: (...args) => requestShortcut('post', ...args),\n json: (...args) => requestShortcut('json', ...args),\n getJSON: (...args) => requestShortcut('json', ...args),\n postJSON: (...args) => requestShortcut('postJSON', ...args),\n});\n\nrequest.abortController = () => {\n const contoller = {\n canceled: false,\n onAbort: null,\n abort() {\n contoller.canceled = true;\n if (contoller.onAbort) contoller.onAbort();\n },\n };\n return contoller;\n};\n\nrequest.setup = function setup(options) {\n if (options.type && !options.method) {\n extend(options, { method: options.type });\n }\n extend(globals, options);\n};\n\nexport default request;\n","/* eslint no-param-reassign: \"off\" */\nimport request from '../../shared/request.js';\n\nexport default {\n name: 'request',\n proto: {\n request,\n },\n static: {\n request,\n },\n};\n","/* eslint-disable no-nested-ternary */\nimport { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport { getSupport } from '../../shared/get-support.js';\nimport { getDevice } from '../../shared/get-device.js';\nimport { extend } from '../../shared/utils.js';\n\nfunction initTouch() {\n const app = this;\n const device = getDevice();\n const support = getSupport();\n const window = getWindow();\n const document = getDocument();\n const params = app.params.touch;\n const useRipple = params[`${app.theme}TouchRipple`];\n\n if (device.ios && device.webView) {\n // Strange hack required for iOS 8 webview to work on inputs\n window.addEventListener('touchstart', () => {});\n }\n\n let touchStartX;\n let touchStartY;\n let targetElement;\n let isMoved;\n let tapHoldFired;\n let tapHoldTimeout;\n let preventClick;\n\n let activableElement;\n let activeTimeout;\n\n let rippleWave;\n let rippleTarget;\n let rippleTimeout;\n\n function findActivableElement(el) {\n const target = $(el);\n const parents = target.parents(params.activeStateElements);\n if (target.closest('.no-active-state').length) {\n return null;\n }\n let activable;\n if (target.is(params.activeStateElements)) {\n activable = target;\n }\n if (parents.length > 0) {\n activable = activable ? activable.add(parents) : parents;\n }\n if (activable && activable.length > 1) {\n const newActivable = [];\n let preventPropagation;\n for (let i = 0; i < activable.length; i += 1) {\n if (!preventPropagation) {\n newActivable.push(activable[i]);\n if (\n activable.eq(i).hasClass('prevent-active-state-propagation') ||\n activable.eq(i).hasClass('no-active-state-propagation')\n ) {\n preventPropagation = true;\n }\n }\n }\n activable = $(newActivable);\n }\n return activable || target;\n }\n\n function isInsideScrollableView(el) {\n const pageContent = el.parents('.page-content');\n return pageContent.length > 0;\n }\n\n function addActive() {\n if (!activableElement) return;\n activableElement.addClass('active-state');\n }\n function removeActive() {\n if (!activableElement) return;\n activableElement.removeClass('active-state');\n activableElement = null;\n }\n\n // Ripple handlers\n function findRippleElement(el) {\n const rippleElements = params.touchRippleElements;\n const $el = $(el);\n if ($el.is(rippleElements)) {\n if ($el.hasClass('no-ripple')) {\n return false;\n }\n return $el;\n }\n if ($el.parents(rippleElements).length > 0) {\n const rippleParent = $el.parents(rippleElements).eq(0);\n if (rippleParent.hasClass('no-ripple')) {\n return false;\n }\n return rippleParent;\n }\n return false;\n }\n function createRipple($el, x, y) {\n if (!$el) return;\n rippleWave = app.touchRipple.create(app, $el, x, y);\n }\n\n function removeRipple() {\n if (!rippleWave) return;\n rippleWave.remove();\n rippleWave = undefined;\n rippleTarget = undefined;\n }\n function rippleTouchStart(el) {\n rippleTarget = findRippleElement(el);\n if (!rippleTarget || rippleTarget.length === 0) {\n rippleTarget = undefined;\n return;\n }\n const inScrollable = isInsideScrollableView(rippleTarget);\n\n if (!inScrollable) {\n removeRipple();\n createRipple(rippleTarget, touchStartX, touchStartY);\n } else {\n clearTimeout(rippleTimeout);\n rippleTimeout = setTimeout(() => {\n removeRipple();\n createRipple(rippleTarget, touchStartX, touchStartY);\n }, 80);\n }\n }\n function rippleTouchMove() {\n clearTimeout(rippleTimeout);\n removeRipple();\n }\n function rippleTouchEnd() {\n if (!rippleWave && rippleTarget && !isMoved) {\n clearTimeout(rippleTimeout);\n createRipple(rippleTarget, touchStartX, touchStartY);\n setTimeout(removeRipple, 0);\n } else {\n removeRipple();\n }\n }\n\n // Mouse Handlers\n function handleMouseDown(e) {\n const $activableEl = findActivableElement(e.target);\n if ($activableEl) {\n $activableEl.addClass('active-state');\n if ('which' in e && e.which === 3) {\n setTimeout(() => {\n $('.active-state').removeClass('active-state');\n }, 0);\n }\n }\n\n if (useRipple) {\n touchStartX = e.pageX;\n touchStartY = e.pageY;\n rippleTouchStart(e.target, e.pageX, e.pageY);\n }\n }\n function handleMouseMove() {\n if (!params.activeStateOnMouseMove) {\n $('.active-state').removeClass('active-state');\n }\n if (useRipple) {\n rippleTouchMove();\n }\n }\n function handleMouseUp() {\n $('.active-state').removeClass('active-state');\n if (useRipple) {\n rippleTouchEnd();\n }\n }\n\n function handleTouchCancel() {\n targetElement = null;\n\n // Remove Active State\n clearTimeout(activeTimeout);\n clearTimeout(tapHoldTimeout);\n if (params.activeState) {\n removeActive();\n }\n\n // Remove Ripple\n if (useRipple) {\n rippleTouchEnd();\n }\n }\n\n let isScrolling;\n let isSegmentedStrong = false;\n let segmentedStrongEl = null;\n\n const touchMoveActivableIos = '.dialog-button, .actions-button';\n let isTouchMoveActivable = false;\n let touchmoveActivableEl = null;\n\n function handleTouchStart(e) {\n isMoved = false;\n tapHoldFired = false;\n preventClick = false;\n isScrolling = undefined;\n if (e.targetTouches.length > 1) {\n if (activableElement) removeActive();\n return true;\n }\n if (e.touches.length > 1 && activableElement) {\n removeActive();\n }\n if (params.tapHold) {\n if (tapHoldTimeout) clearTimeout(tapHoldTimeout);\n tapHoldTimeout = setTimeout(() => {\n if (e && e.touches && e.touches.length > 1) return;\n tapHoldFired = true;\n e.preventDefault();\n preventClick = true;\n $(e.target).trigger('taphold', e);\n app.emit('taphold', e);\n }, params.tapHoldDelay);\n }\n targetElement = e.target;\n touchStartX = e.targetTouches[0].pageX;\n touchStartY = e.targetTouches[0].pageY;\n isSegmentedStrong = e.target.closest(\n '.segmented-strong .button-active, .segmented-strong .tab-link-active',\n );\n isTouchMoveActivable = app.theme === 'ios' && e.target.closest(touchMoveActivableIos);\n if (isSegmentedStrong) {\n segmentedStrongEl = isSegmentedStrong.closest('.segmented-strong');\n }\n\n if (params.activeState) {\n activableElement = findActivableElement(targetElement);\n if (activableElement && !isInsideScrollableView(activableElement)) {\n addActive();\n } else if (activableElement) {\n activeTimeout = setTimeout(addActive, 80);\n }\n }\n if (useRipple) {\n rippleTouchStart(targetElement, touchStartX, touchStartY);\n }\n return true;\n }\n function handleTouchMove(e) {\n let touch;\n let distance;\n let shouldRemoveActive = true;\n\n if (e.type === 'touchmove') {\n touch = e.targetTouches[0];\n distance = params.touchClicksDistanceThreshold;\n }\n\n const touchCurrentX = e.targetTouches[0].pageX;\n const touchCurrentY = e.targetTouches[0].pageY;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(\n isScrolling || Math.abs(touchCurrentY - touchStartY) > Math.abs(touchCurrentX - touchStartX)\n );\n }\n\n if (isTouchMoveActivable || (!isScrolling && isSegmentedStrong && segmentedStrongEl)) {\n if (e.cancelable) e.preventDefault();\n }\n\n if (!isScrolling && isSegmentedStrong && segmentedStrongEl) {\n const elementFromPoint = document.elementFromPoint(\n e.targetTouches[0].clientX,\n e.targetTouches[0].clientY,\n );\n const buttonEl = elementFromPoint.closest(\n '.segmented-strong .button:not(.button-active):not(.tab-link-active)',\n );\n if (buttonEl && segmentedStrongEl.contains(buttonEl)) {\n $(buttonEl).trigger('click', 'f7Segmented');\n targetElement = buttonEl;\n }\n }\n\n if (distance && touch) {\n const pageX = touch.pageX;\n const pageY = touch.pageY;\n if (Math.abs(pageX - touchStartX) > distance || Math.abs(pageY - touchStartY) > distance) {\n isMoved = true;\n }\n } else {\n isMoved = true;\n }\n if (isMoved) {\n preventClick = true;\n // Keep active state on touchMove (for dialog and actions buttons)\n if (isTouchMoveActivable) {\n const elementFromPoint = document.elementFromPoint(\n e.targetTouches[0].clientX,\n e.targetTouches[0].clientY,\n );\n touchmoveActivableEl = elementFromPoint.closest(touchMoveActivableIos);\n if (\n touchmoveActivableEl &&\n activableElement &&\n activableElement[0] === touchmoveActivableEl\n ) {\n shouldRemoveActive = false;\n } else if (touchmoveActivableEl) {\n setTimeout(() => {\n activableElement = findActivableElement(touchmoveActivableEl);\n addActive();\n });\n }\n }\n if (params.tapHold) {\n clearTimeout(tapHoldTimeout);\n }\n if (params.activeState && shouldRemoveActive) {\n clearTimeout(activeTimeout);\n removeActive();\n }\n if (useRipple) {\n rippleTouchMove();\n }\n }\n }\n function handleTouchEnd(e) {\n isScrolling = undefined;\n isSegmentedStrong = false;\n segmentedStrongEl = null;\n isTouchMoveActivable = false;\n clearTimeout(activeTimeout);\n clearTimeout(tapHoldTimeout);\n if (touchmoveActivableEl) {\n $(touchmoveActivableEl).trigger('click', 'f7TouchMoveActivable');\n touchmoveActivableEl = null;\n }\n if (document.activeElement === e.target) {\n if (params.activeState) removeActive();\n if (useRipple) {\n rippleTouchEnd();\n }\n return true;\n }\n if (params.activeState) {\n addActive();\n setTimeout(removeActive, 0);\n }\n if (useRipple) {\n rippleTouchEnd();\n }\n if ((params.tapHoldPreventClicks && tapHoldFired) || preventClick) {\n if (e.cancelable) e.preventDefault();\n preventClick = true;\n return false;\n }\n return true;\n }\n function handleClick(e) {\n const isOverswipe = e && e.detail && e.detail === 'f7Overswipe';\n const isSegmented = e && e.detail && e.detail === 'f7Segmented';\n // eslint-disable-next-line\n const isTouchMoveActivable = e && e.detail && e.detail === 'f7TouchMoveActivable';\n let localPreventClick = preventClick;\n if (targetElement && e.target !== targetElement) {\n if (isOverswipe || isSegmented || isTouchMoveActivable) {\n localPreventClick = false;\n } else {\n localPreventClick = true;\n }\n } else if (isTouchMoveActivable) {\n localPreventClick = false;\n }\n if (params.tapHold && params.tapHoldPreventClicks && tapHoldFired) {\n localPreventClick = true;\n }\n if (localPreventClick) {\n e.stopImmediatePropagation();\n e.stopPropagation();\n e.preventDefault();\n }\n\n if (params.tapHold) {\n tapHoldTimeout = setTimeout(\n () => {\n tapHoldFired = false;\n },\n device.ios || device.androidChrome ? 100 : 400,\n );\n }\n preventClick = false;\n targetElement = null;\n\n return !localPreventClick;\n }\n\n function emitAppTouchEvent(name, e) {\n app.emit({\n events: name,\n data: [e],\n });\n }\n function appClick(e) {\n emitAppTouchEvent('click', e);\n }\n function appTouchStartActive(e) {\n emitAppTouchEvent('touchstart touchstart:active', e);\n }\n function appTouchMoveActive(e) {\n emitAppTouchEvent('touchmove touchmove:active', e);\n }\n function appTouchEndActive(e) {\n emitAppTouchEvent('touchend touchend:active', e);\n }\n function appTouchStartPassive(e) {\n emitAppTouchEvent('touchstart:passive', e);\n }\n function appTouchMovePassive(e) {\n emitAppTouchEvent('touchmove:passive', e);\n }\n function appTouchEndPassive(e) {\n emitAppTouchEvent('touchend:passive', e);\n }\n\n const passiveListener = support.passiveListener ? { passive: true } : false;\n const passiveListenerCapture = support.passiveListener ? { passive: true, capture: true } : true;\n const activeListener = support.passiveListener ? { passive: false } : false;\n const activeListenerCapture = support.passiveListener ? { passive: false, capture: true } : true;\n\n document.addEventListener('click', appClick, true);\n\n if (support.passiveListener) {\n document.addEventListener(app.touchEvents.start, appTouchStartActive, activeListenerCapture);\n document.addEventListener(app.touchEvents.move, appTouchMoveActive, activeListener);\n document.addEventListener(app.touchEvents.end, appTouchEndActive, activeListener);\n\n document.addEventListener(app.touchEvents.start, appTouchStartPassive, passiveListenerCapture);\n document.addEventListener(app.touchEvents.move, appTouchMovePassive, passiveListener);\n document.addEventListener(app.touchEvents.end, appTouchEndPassive, passiveListener);\n } else {\n document.addEventListener(\n app.touchEvents.start,\n (e) => {\n appTouchStartActive(e);\n appTouchStartPassive(e);\n },\n true,\n );\n document.addEventListener(\n app.touchEvents.move,\n (e) => {\n appTouchMoveActive(e);\n appTouchMovePassive(e);\n },\n false,\n );\n document.addEventListener(\n app.touchEvents.end,\n (e) => {\n appTouchEndActive(e);\n appTouchEndPassive(e);\n },\n false,\n );\n }\n\n if (support.touch) {\n app.on('click', handleClick);\n app.on('touchstart', handleTouchStart);\n app.on('touchmove', handleTouchMove);\n app.on('touchend', handleTouchEnd);\n document.addEventListener('touchcancel', handleTouchCancel, { passive: true });\n } else if (params.activeState) {\n app.on('touchstart', handleMouseDown);\n app.on('touchmove', handleMouseMove);\n app.on('touchend', handleMouseUp);\n document.addEventListener('pointercancel', handleMouseUp, { passive: true });\n }\n document.addEventListener('contextmenu', (e) => {\n if (\n params.disableContextMenu &&\n (device.ios ||\n device.android ||\n device.cordova ||\n (window.Capacitor && window.Capacitor.isNative))\n ) {\n e.preventDefault();\n }\n if (useRipple) {\n if (activableElement) removeActive();\n rippleTouchEnd();\n }\n });\n}\n\nexport default {\n name: 'touch',\n params: {\n touch: {\n // Clicks\n touchClicksDistanceThreshold: 5,\n // ContextMenu\n disableContextMenu: false,\n // Tap Hold\n tapHold: false,\n tapHoldDelay: 750,\n tapHoldPreventClicks: true,\n // Active State\n activeState: true,\n activeStateElements:\n 'a, button, label, span, .actions-button, .stepper-button, .stepper-button-plus, .stepper-button-minus, .card-expandable, .menu-item, .link, .item-link, .accordion-item-toggle',\n activeStateOnMouseMove: false,\n mdTouchRipple: true,\n iosTouchRipple: false,\n auroraTouchRipple: false,\n touchRippleElements:\n '.ripple, .link, .item-link, .list-button, .links-list a, .button, button, .input-clear-button, .dialog-button, .tab-link, .item-radio, .item-checkbox, .actions-button, .searchbar-disable-button, .fab a, .checkbox, .radio, .data-table .sortable-cell:not(.input-cell), .notification-close-button, .stepper-button, .stepper-button-minus, .stepper-button-plus, .menu-item-content, .list.accordion-list .accordion-item-toggle',\n touchRippleInsetElements:\n '.ripple-inset, .icon-only, .searchbar-disable-button, .input-clear-button, .notification-close-button, .md .navbar .link.back',\n },\n },\n create() {\n const app = this;\n const support = getSupport();\n extend(app, {\n touchEvents: {\n start: support.touch ? 'touchstart' : support.pointerEvents ? 'pointerdown' : 'mousedown',\n move: support.touch ? 'touchmove' : support.pointerEvents ? 'pointermove' : 'mousemove',\n end: support.touch ? 'touchend' : support.pointerEvents ? 'pointerup' : 'mouseup',\n },\n });\n },\n on: {\n init: initTouch,\n },\n};\n","/**\n * Tokenize input string.\n */\nfunction lexer(str) {\n var tokens = [];\n var i = 0;\n while (i < str.length) {\n var char = str[i];\n if (char === \"*\" || char === \"+\" || char === \"?\") {\n tokens.push({ type: \"MODIFIER\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"\\\\\") {\n tokens.push({ type: \"ESCAPED_CHAR\", index: i++, value: str[i++] });\n continue;\n }\n if (char === \"{\") {\n tokens.push({ type: \"OPEN\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"}\") {\n tokens.push({ type: \"CLOSE\", index: i, value: str[i++] });\n continue;\n }\n if (char === \":\") {\n var name = \"\";\n var j = i + 1;\n while (j < str.length) {\n var code = str.charCodeAt(j);\n if (\n // `0-9`\n (code >= 48 && code <= 57) ||\n // `A-Z`\n (code >= 65 && code <= 90) ||\n // `a-z`\n (code >= 97 && code <= 122) ||\n // `_`\n code === 95) {\n name += str[j++];\n continue;\n }\n break;\n }\n if (!name)\n throw new TypeError(\"Missing parameter name at \".concat(i));\n tokens.push({ type: \"NAME\", index: i, value: name });\n i = j;\n continue;\n }\n if (char === \"(\") {\n var count = 1;\n var pattern = \"\";\n var j = i + 1;\n if (str[j] === \"?\") {\n throw new TypeError(\"Pattern cannot start with \\\"?\\\" at \".concat(j));\n }\n while (j < str.length) {\n if (str[j] === \"\\\\\") {\n pattern += str[j++] + str[j++];\n continue;\n }\n if (str[j] === \")\") {\n count--;\n if (count === 0) {\n j++;\n break;\n }\n }\n else if (str[j] === \"(\") {\n count++;\n if (str[j + 1] !== \"?\") {\n throw new TypeError(\"Capturing groups are not allowed at \".concat(j));\n }\n }\n pattern += str[j++];\n }\n if (count)\n throw new TypeError(\"Unbalanced pattern at \".concat(i));\n if (!pattern)\n throw new TypeError(\"Missing pattern at \".concat(i));\n tokens.push({ type: \"PATTERN\", index: i, value: pattern });\n i = j;\n continue;\n }\n tokens.push({ type: \"CHAR\", index: i, value: str[i++] });\n }\n tokens.push({ type: \"END\", index: i, value: \"\" });\n return tokens;\n}\n/**\n * Parse a string for the raw tokens.\n */\nexport function parse(str, options) {\n if (options === void 0) { options = {}; }\n var tokens = lexer(str);\n var _a = options.prefixes, prefixes = _a === void 0 ? \"./\" : _a;\n var defaultPattern = \"[^\".concat(escapeString(options.delimiter || \"/#?\"), \"]+?\");\n var result = [];\n var key = 0;\n var i = 0;\n var path = \"\";\n var tryConsume = function (type) {\n if (i < tokens.length && tokens[i].type === type)\n return tokens[i++].value;\n };\n var mustConsume = function (type) {\n var value = tryConsume(type);\n if (value !== undefined)\n return value;\n var _a = tokens[i], nextType = _a.type, index = _a.index;\n throw new TypeError(\"Unexpected \".concat(nextType, \" at \").concat(index, \", expected \").concat(type));\n };\n var consumeText = function () {\n var result = \"\";\n var value;\n while ((value = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\"))) {\n result += value;\n }\n return result;\n };\n while (i < tokens.length) {\n var char = tryConsume(\"CHAR\");\n var name = tryConsume(\"NAME\");\n var pattern = tryConsume(\"PATTERN\");\n if (name || pattern) {\n var prefix = char || \"\";\n if (prefixes.indexOf(prefix) === -1) {\n path += prefix;\n prefix = \"\";\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n result.push({\n name: name || key++,\n prefix: prefix,\n suffix: \"\",\n pattern: pattern || defaultPattern,\n modifier: tryConsume(\"MODIFIER\") || \"\",\n });\n continue;\n }\n var value = char || tryConsume(\"ESCAPED_CHAR\");\n if (value) {\n path += value;\n continue;\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n var open = tryConsume(\"OPEN\");\n if (open) {\n var prefix = consumeText();\n var name_1 = tryConsume(\"NAME\") || \"\";\n var pattern_1 = tryConsume(\"PATTERN\") || \"\";\n var suffix = consumeText();\n mustConsume(\"CLOSE\");\n result.push({\n name: name_1 || (pattern_1 ? key++ : \"\"),\n pattern: name_1 && !pattern_1 ? defaultPattern : pattern_1,\n prefix: prefix,\n suffix: suffix,\n modifier: tryConsume(\"MODIFIER\") || \"\",\n });\n continue;\n }\n mustConsume(\"END\");\n }\n return result;\n}\n/**\n * Compile a string to a template function for the path.\n */\nexport function compile(str, options) {\n return tokensToFunction(parse(str, options), options);\n}\n/**\n * Expose a method for transforming tokens into the path function.\n */\nexport function tokensToFunction(tokens, options) {\n if (options === void 0) { options = {}; }\n var reFlags = flags(options);\n var _a = options.encode, encode = _a === void 0 ? function (x) { return x; } : _a, _b = options.validate, validate = _b === void 0 ? true : _b;\n // Compile all the tokens into regexps.\n var matches = tokens.map(function (token) {\n if (typeof token === \"object\") {\n return new RegExp(\"^(?:\".concat(token.pattern, \")$\"), reFlags);\n }\n });\n return function (data) {\n var path = \"\";\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (typeof token === \"string\") {\n path += token;\n continue;\n }\n var value = data ? data[token.name] : undefined;\n var optional = token.modifier === \"?\" || token.modifier === \"*\";\n var repeat = token.modifier === \"*\" || token.modifier === \"+\";\n if (Array.isArray(value)) {\n if (!repeat) {\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to not repeat, but got an array\"));\n }\n if (value.length === 0) {\n if (optional)\n continue;\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to not be empty\"));\n }\n for (var j = 0; j < value.length; j++) {\n var segment = encode(value[j], token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected all \\\"\".concat(token.name, \"\\\" to match \\\"\").concat(token.pattern, \"\\\", but got \\\"\").concat(segment, \"\\\"\"));\n }\n path += token.prefix + segment + token.suffix;\n }\n continue;\n }\n if (typeof value === \"string\" || typeof value === \"number\") {\n var segment = encode(String(value), token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to match \\\"\").concat(token.pattern, \"\\\", but got \\\"\").concat(segment, \"\\\"\"));\n }\n path += token.prefix + segment + token.suffix;\n continue;\n }\n if (optional)\n continue;\n var typeOfMessage = repeat ? \"an array\" : \"a string\";\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to be \").concat(typeOfMessage));\n }\n return path;\n };\n}\n/**\n * Create path match function from `path-to-regexp` spec.\n */\nexport function match(str, options) {\n var keys = [];\n var re = pathToRegexp(str, keys, options);\n return regexpToFunction(re, keys, options);\n}\n/**\n * Create a path match function from `path-to-regexp` output.\n */\nexport function regexpToFunction(re, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.decode, decode = _a === void 0 ? function (x) { return x; } : _a;\n return function (pathname) {\n var m = re.exec(pathname);\n if (!m)\n return false;\n var path = m[0], index = m.index;\n var params = Object.create(null);\n var _loop_1 = function (i) {\n if (m[i] === undefined)\n return \"continue\";\n var key = keys[i - 1];\n if (key.modifier === \"*\" || key.modifier === \"+\") {\n params[key.name] = m[i].split(key.prefix + key.suffix).map(function (value) {\n return decode(value, key);\n });\n }\n else {\n params[key.name] = decode(m[i], key);\n }\n };\n for (var i = 1; i < m.length; i++) {\n _loop_1(i);\n }\n return { path: path, index: index, params: params };\n };\n}\n/**\n * Escape a regular expression string.\n */\nfunction escapeString(str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\n/**\n * Get the flags for a regexp from the options.\n */\nfunction flags(options) {\n return options && options.sensitive ? \"\" : \"i\";\n}\n/**\n * Pull out keys from a regexp.\n */\nfunction regexpToRegexp(path, keys) {\n if (!keys)\n return path;\n var groupsRegex = /\\((?:\\?<(.*?)>)?(?!\\?)/g;\n var index = 0;\n var execResult = groupsRegex.exec(path.source);\n while (execResult) {\n keys.push({\n // Use parenthesized substring match if available, index otherwise\n name: execResult[1] || index++,\n prefix: \"\",\n suffix: \"\",\n modifier: \"\",\n pattern: \"\",\n });\n execResult = groupsRegex.exec(path.source);\n }\n return path;\n}\n/**\n * Transform an array into a regexp.\n */\nfunction arrayToRegexp(paths, keys, options) {\n var parts = paths.map(function (path) { return pathToRegexp(path, keys, options).source; });\n return new RegExp(\"(?:\".concat(parts.join(\"|\"), \")\"), flags(options));\n}\n/**\n * Create a path regexp from string input.\n */\nfunction stringToRegexp(path, keys, options) {\n return tokensToRegexp(parse(path, options), keys, options);\n}\n/**\n * Expose a function for taking tokens and returning a RegExp.\n */\nexport function tokensToRegexp(tokens, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode = _d === void 0 ? function (x) { return x; } : _d, _e = options.delimiter, delimiter = _e === void 0 ? \"/#?\" : _e, _f = options.endsWith, endsWith = _f === void 0 ? \"\" : _f;\n var endsWithRe = \"[\".concat(escapeString(endsWith), \"]|$\");\n var delimiterRe = \"[\".concat(escapeString(delimiter), \"]\");\n var route = start ? \"^\" : \"\";\n // Iterate over the tokens and create our regexp string.\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n if (typeof token === \"string\") {\n route += escapeString(encode(token));\n }\n else {\n var prefix = escapeString(encode(token.prefix));\n var suffix = escapeString(encode(token.suffix));\n if (token.pattern) {\n if (keys)\n keys.push(token);\n if (prefix || suffix) {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n var mod = token.modifier === \"*\" ? \"?\" : \"\";\n route += \"(?:\".concat(prefix, \"((?:\").concat(token.pattern, \")(?:\").concat(suffix).concat(prefix, \"(?:\").concat(token.pattern, \"))*)\").concat(suffix, \")\").concat(mod);\n }\n else {\n route += \"(?:\".concat(prefix, \"(\").concat(token.pattern, \")\").concat(suffix, \")\").concat(token.modifier);\n }\n }\n else {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n route += \"((?:\".concat(token.pattern, \")\").concat(token.modifier, \")\");\n }\n else {\n route += \"(\".concat(token.pattern, \")\").concat(token.modifier);\n }\n }\n }\n else {\n route += \"(?:\".concat(prefix).concat(suffix, \")\").concat(token.modifier);\n }\n }\n }\n if (end) {\n if (!strict)\n route += \"\".concat(delimiterRe, \"?\");\n route += !options.endsWith ? \"$\" : \"(?=\".concat(endsWithRe, \")\");\n }\n else {\n var endToken = tokens[tokens.length - 1];\n var isEndDelimited = typeof endToken === \"string\"\n ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1\n : endToken === undefined;\n if (!strict) {\n route += \"(?:\".concat(delimiterRe, \"(?=\").concat(endsWithRe, \"))?\");\n }\n if (!isEndDelimited) {\n route += \"(?=\".concat(delimiterRe, \"|\").concat(endsWithRe, \")\");\n }\n }\n return new RegExp(route, flags(options));\n}\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n */\nexport function pathToRegexp(path, keys, options) {\n if (path instanceof RegExp)\n return regexpToRegexp(path, keys);\n if (Array.isArray(path))\n return arrayToRegexp(path, keys, options);\n return stringToRegexp(path, keys, options);\n}\n//# sourceMappingURL=index.js.map","import { getWindow, getDocument } from 'ssr-window';\nimport $ from './dom7.js';\nimport { extend } from './utils.js';\n\nconst History = {\n queue: [],\n clearQueue() {\n if (History.queue.length === 0) return;\n const currentQueue = History.queue.shift();\n currentQueue();\n },\n routerQueue: [],\n clearRouterQueue() {\n if (History.routerQueue.length === 0) return;\n const currentQueue = History.routerQueue.pop();\n const { router, stateUrl, action } = currentQueue;\n\n let animate = router.params.animate;\n if (router.params.browserHistoryAnimate === false) animate = false;\n\n if (action === 'back') {\n router.back({ animate, browserHistory: false });\n }\n if (action === 'load') {\n router.navigate(stateUrl, { animate, browserHistory: false });\n }\n },\n handle(e) {\n if (History.blockPopstate) return;\n const app = this;\n // const mainView = app.views.main;\n let state = e.state;\n History.previousState = History.state;\n History.state = state;\n\n History.allowChange = true;\n History.clearQueue();\n\n state = History.state;\n if (!state) state = {};\n\n app.views.forEach((view) => {\n const router = view.router;\n let viewState = state[view.id];\n if (!viewState && view.params.browserHistory) {\n viewState = {\n url: view.router.history[0],\n };\n }\n if (!viewState) return;\n const stateUrl = viewState.url || undefined;\n\n let animate = router.params.animate;\n if (router.params.browserHistoryAnimate === false) animate = false;\n\n if (stateUrl !== router.url) {\n if (router.history.indexOf(stateUrl) >= 0) {\n // Go Back\n if (router.allowPageChange) {\n router.back({ animate, browserHistory: false });\n } else {\n History.routerQueue.push({\n action: 'back',\n router,\n });\n }\n } else if (router.allowPageChange) {\n // Load page\n router.navigate(stateUrl, { animate, browserHistory: false });\n } else {\n History.routerQueue.unshift({\n action: 'load',\n stateUrl,\n router,\n });\n }\n }\n });\n },\n initViewState(viewId, viewState) {\n const window = getWindow();\n const newState = extend({}, History.state || {}, {\n [viewId]: viewState,\n });\n History.state = newState;\n window.history.replaceState(newState, '');\n },\n push(viewId, viewState, url) {\n const window = getWindow();\n const document = getDocument();\n /* eslint-disable no-param-reassign */\n if (url.substr(-3) === '#!/') {\n url = url.replace('#!/', '');\n if (url === '') {\n url = document.location.href;\n if (url.includes('#!/')) {\n url = document.location.href.split('#!/')[0];\n }\n }\n }\n /* eslint-enable no-param-reassign */\n if (!History.allowChange) {\n History.queue.push(() => {\n History.push(viewId, viewState, url);\n });\n return;\n }\n History.previousState = History.state;\n const newState = extend({}, History.previousState || {}, {\n [viewId]: viewState,\n });\n History.state = newState;\n window.history.pushState(newState, '', url);\n },\n replace(viewId, viewState, url) {\n const window = getWindow();\n if (url.substr(-3) === '#!/') {\n // eslint-disable-next-line\n url = url.replace('#!/', '');\n }\n if (!History.allowChange) {\n History.queue.push(() => {\n History.replace(viewId, viewState, url);\n });\n return;\n }\n History.previousState = History.state;\n const newState = extend({}, History.previousState || {}, {\n [viewId]: viewState,\n });\n History.state = newState;\n window.history.replaceState(newState, '', url);\n },\n go(index) {\n const window = getWindow();\n History.allowChange = false;\n window.history.go(index);\n },\n back() {\n const window = getWindow();\n History.allowChange = false;\n window.history.back();\n },\n allowChange: true,\n previousState: {},\n state: {},\n blockPopstate: true,\n init(app) {\n const window = getWindow();\n const document = getDocument();\n History.state = window.history.state;\n $(window).on('load', () => {\n setTimeout(() => {\n History.blockPopstate = false;\n }, 0);\n });\n\n if (document.readyState && document.readyState === 'complete') {\n History.blockPopstate = false;\n }\n\n $(window).on('popstate', History.handle.bind(app));\n },\n};\n\nexport default History;\n","import $ from '../../shared/dom7.js';\nimport History from '../../shared/history.js';\nimport { getSupport } from '../../shared/get-support.js';\nimport { getDevice } from '../../shared/get-device.js';\nimport { now } from '../../shared/utils.js';\n\nfunction SwipeBack(r) {\n const router = r;\n const { $el, $navbarsEl, app, params } = router;\n const support = getSupport();\n const device = getDevice();\n let isTouched = false;\n let isMoved = false;\n const touchesStart = {};\n let isScrolling;\n let $currentPageEl = [];\n let $previousPageEl = [];\n let viewContainerWidth;\n let touchesDiff;\n let allowViewTouchMove = true;\n let touchStartTime;\n let $currentNavbarEl = [];\n let $previousNavbarEl = [];\n let dynamicNavbar;\n let $pageShadowEl;\n let $pageOpacityEl;\n\n let animatableNavEls;\n\n const paramsSwipeBackAnimateShadow = params[`${app.theme}SwipeBackAnimateShadow`];\n const paramsSwipeBackAnimateOpacity = params[`${app.theme}SwipeBackAnimateOpacity`];\n const paramsSwipeBackActiveArea = params[`${app.theme}SwipeBackActiveArea`];\n const paramsSwipeBackThreshold = params[`${app.theme}SwipeBackThreshold`];\n\n const transformOrigin = app.rtl ? 'right center' : 'left center';\n const transformOriginTitleLarge = app.rtl\n ? 'calc(100% - var(--f7-navbar-large-title-padding-left) - var(--f7-safe-area-left)) center'\n : 'calc(var(--f7-navbar-large-title-padding-left) + var(--f7-safe-area-left)) center';\n\n function animatableNavElements() {\n const els = [];\n const inverter = app.rtl ? -1 : 1;\n const currentNavIsTransparent =\n $currentNavbarEl.hasClass('navbar-transparent') &&\n !$currentNavbarEl.hasClass('navbar-large') &&\n !$currentNavbarEl.hasClass('navbar-transparent-visible');\n const currentNavIsLarge = $currentNavbarEl.hasClass('navbar-large');\n const currentNavIsCollapsed = $currentNavbarEl.hasClass('navbar-large-collapsed');\n const currentNavIsLargeTransparent =\n $currentNavbarEl.hasClass('navbar-large-transparent') ||\n ($currentNavbarEl.hasClass('navbar-large') &&\n $currentNavbarEl.hasClass('navbar-transparent'));\n const previousNavIsTransparent =\n $previousNavbarEl.hasClass('navbar-transparent') &&\n !$previousNavbarEl.hasClass('navbar-large') &&\n !$previousNavbarEl.hasClass('navbar-transparent-visible');\n const previousNavIsLarge = $previousNavbarEl.hasClass('navbar-large');\n const previousNavIsCollapsed = $previousNavbarEl.hasClass('navbar-large-collapsed');\n const previousNavIsLargeTransparent =\n $previousNavbarEl.hasClass('navbar-large-transparent') ||\n ($previousNavbarEl.hasClass('navbar-large') &&\n $previousNavbarEl.hasClass('navbar-transparent'));\n const fromLarge = currentNavIsLarge && !currentNavIsCollapsed;\n const toLarge = previousNavIsLarge && !previousNavIsCollapsed;\n const $currentNavElements = $currentNavbarEl.find(\n '.left, .title, .right, .subnavbar, .fading, .title-large, .navbar-bg',\n );\n const $previousNavElements = $previousNavbarEl.find(\n '.left, .title, .right, .subnavbar, .fading, .title-large, .navbar-bg',\n );\n let activeNavBackIconText;\n let previousNavBackIconText;\n\n if (params.iosAnimateNavbarBackIcon) {\n if (\n $currentNavbarEl.hasClass('sliding') ||\n $currentNavbarEl.find('.navbar-inner.sliding').length\n ) {\n activeNavBackIconText = $currentNavbarEl.find('.left').find('.back .icon + span').eq(0);\n } else {\n activeNavBackIconText = $currentNavbarEl\n .find('.left.sliding')\n .find('.back .icon + span')\n .eq(0);\n }\n if (\n $previousNavbarEl.hasClass('sliding') ||\n $previousNavbarEl.find('.navbar-inner.sliding').length\n ) {\n previousNavBackIconText = $previousNavbarEl.find('.left').find('.back .icon + span').eq(0);\n } else {\n previousNavBackIconText = $previousNavbarEl\n .find('.left.sliding')\n .find('.back .icon + span')\n .eq(0);\n }\n if (activeNavBackIconText.length) {\n $previousNavElements.each((el) => {\n if (!$(el).hasClass('title')) return;\n el.f7NavbarLeftOffset += activeNavBackIconText.prev('.icon')[0].offsetWidth;\n });\n }\n }\n $currentNavElements.each((navEl) => {\n const $navEl = $(navEl);\n const isSubnavbar = $navEl.hasClass('subnavbar');\n const isLeft = $navEl.hasClass('left');\n const isTitle = $navEl.hasClass('title');\n const isBg = $navEl.hasClass('navbar-bg');\n if ((isTitle || isBg) && currentNavIsTransparent) return;\n if (!fromLarge && $navEl.hasClass('.title-large')) return;\n const el = {\n el: navEl,\n };\n if (fromLarge) {\n if (isTitle) return;\n if ($navEl.hasClass('title-large')) {\n if (els.indexOf(el) < 0) els.push(el);\n el.overflow = 'visible';\n $navEl.find('.title-large-text').each((subNavEl) => {\n els.push({\n el: subNavEl,\n transform: (progress) => `translateX(${progress * 100 * inverter}%)`,\n });\n });\n return;\n }\n }\n if (toLarge) {\n if (!fromLarge) {\n if ($navEl.hasClass('title-large')) {\n if (els.indexOf(el) < 0) els.push(el);\n el.opacity = 0;\n }\n }\n if (isLeft) {\n if (els.indexOf(el) < 0) els.push(el);\n el.opacity = (progress) => 1 - progress ** 0.33;\n $navEl.find('.back span').each((subNavEl) => {\n els.push({\n el: subNavEl,\n 'transform-origin': transformOrigin,\n transform: (progress) =>\n `translateX(calc(${progress} * (var(--f7-navbarTitleLargeOffset) - var(--f7-navbarLeftTextOffset)))) translateY(calc(${progress} * (var(--f7-navbar-large-title-height) - var(--f7-navbar-large-title-padding-vertical) / 2))) scale(${\n 1 + 1 * progress\n })`,\n });\n });\n return;\n }\n }\n if (isBg) {\n if (els.indexOf(el) < 0) els.push(el);\n if (!fromLarge && !toLarge) {\n if (currentNavIsCollapsed) {\n if (currentNavIsLargeTransparent) {\n el.className = 'ios-swipeback-navbar-bg-large';\n }\n el.transform = (progress) =>\n `translateX(${\n 100 * progress * inverter\n }%) translateY(calc(-1 * var(--f7-navbar-large-title-height)))`;\n } else {\n el.transform = (progress) => `translateX(${100 * progress * inverter}%)`;\n }\n }\n if (!fromLarge && toLarge) {\n el.className = 'ios-swipeback-navbar-bg-large';\n el.transform = (progress) =>\n `translateX(${100 * progress * inverter}%) translateY(calc(-1 * ${\n 1 - progress\n } * var(--f7-navbar-large-title-height)))`;\n }\n if (fromLarge && toLarge) {\n el.transform = (progress) => `translateX(${100 * progress * inverter}%)`;\n }\n if (fromLarge && !toLarge) {\n el.transform = (progress) =>\n `translateX(${\n 100 * progress * inverter\n }%) translateY(calc(-${progress} * var(--f7-navbar-large-title-height)))`;\n }\n return;\n }\n if ($navEl.hasClass('title-large')) return;\n const isSliding =\n $navEl.hasClass('sliding') || $navEl.parents('.navbar-inner.sliding').length;\n if (els.indexOf(el) < 0) els.push(el);\n if (!isSubnavbar || (isSubnavbar && !isSliding)) {\n el.opacity = (progress) => 1 - progress ** 0.33;\n }\n if (isSliding) {\n let transformTarget = el;\n if (isLeft && activeNavBackIconText.length && params.iosAnimateNavbarBackIcon) {\n const textEl = { el: activeNavBackIconText[0] };\n transformTarget = textEl;\n els.push(textEl);\n }\n transformTarget.transform = (progress) => {\n let activeNavTranslate = progress * transformTarget.el.f7NavbarRightOffset;\n if (device.pixelRatio === 1) activeNavTranslate = Math.round(activeNavTranslate);\n if (isSubnavbar && currentNavIsLarge) {\n return `translate3d(${activeNavTranslate}px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0)`;\n }\n return `translate3d(${activeNavTranslate}px,0,0)`;\n };\n }\n });\n $previousNavElements.each((navEl) => {\n const $navEl = $(navEl);\n const isSubnavbar = $navEl.hasClass('subnavbar');\n const isLeft = $navEl.hasClass('left');\n const isTitle = $navEl.hasClass('title');\n const isBg = $navEl.hasClass('navbar-bg');\n if ((isTitle || isBg) && previousNavIsTransparent) return;\n const el = {\n el: navEl,\n };\n if (toLarge) {\n if (isTitle) return;\n if (els.indexOf(el) < 0) els.push(el);\n\n if ($navEl.hasClass('title-large')) {\n el.opacity = 1;\n el.overflow = 'visible';\n $navEl.find('.title-large-text').each((subNavEl) => {\n els.push({\n el: subNavEl,\n 'transform-origin': transformOriginTitleLarge,\n opacity: (progress) => progress ** 3,\n transform: (progress) =>\n `translateX(calc(${\n 1 - progress\n } * (var(--f7-navbarLeftTextOffset) - var(--f7-navbarTitleLargeOffset)))) translateY(calc(${\n progress - 1\n } * var(--f7-navbar-large-title-height) + ${\n 1 - progress\n } * var(--f7-navbar-large-title-padding-vertical))) scale(${0.5 + progress * 0.5})`,\n });\n });\n return;\n }\n }\n if (isBg) {\n if (els.indexOf(el) < 0) els.push(el);\n if (!fromLarge && !toLarge) {\n if (previousNavIsCollapsed) {\n if (previousNavIsLargeTransparent) {\n el.className = 'ios-swipeback-navbar-bg-large';\n }\n el.transform = (progress) =>\n `translateX(${\n (-100 + 100 * progress) * inverter\n }%) translateY(calc(-1 * var(--f7-navbar-large-title-height)))`;\n } else {\n el.transform = (progress) => `translateX(${(-100 + 100 * progress) * inverter}%)`;\n }\n }\n if (!fromLarge && toLarge) {\n el.transform = (progress) =>\n `translateX(${(-100 + 100 * progress) * inverter}%) translateY(calc(-1 * ${\n 1 - progress\n } * var(--f7-navbar-large-title-height)))`;\n }\n if (fromLarge && !toLarge) {\n el.className = 'ios-swipeback-navbar-bg-large';\n el.transform = (progress) =>\n `translateX(${\n (-100 + 100 * progress) * inverter\n }%) translateY(calc(-${progress} * var(--f7-navbar-large-title-height)))`;\n }\n if (fromLarge && toLarge) {\n el.transform = (progress) => `translateX(${(-100 + 100 * progress) * inverter}%)`;\n }\n\n return;\n }\n if ($navEl.hasClass('title-large')) return;\n const isSliding =\n $navEl.hasClass('sliding') || $previousNavbarEl.children('.navbar-inner.sliding').length;\n if (els.indexOf(el) < 0) els.push(el);\n if (!isSubnavbar || (isSubnavbar && !isSliding)) {\n el.opacity = (progress) => progress ** 3;\n }\n if (isSliding) {\n let transformTarget = el;\n if (isLeft && previousNavBackIconText.length && params.iosAnimateNavbarBackIcon) {\n const textEl = { el: previousNavBackIconText[0] };\n transformTarget = textEl;\n els.push(textEl);\n }\n transformTarget.transform = (progress) => {\n let previousNavTranslate = transformTarget.el.f7NavbarLeftOffset * (1 - progress);\n if (device.pixelRatio === 1) previousNavTranslate = Math.round(previousNavTranslate);\n if (isSubnavbar && previousNavIsLarge) {\n return `translate3d(${previousNavTranslate}px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0)`;\n }\n return `translate3d(${previousNavTranslate}px,0,0)`;\n };\n }\n });\n return els;\n }\n\n function setAnimatableNavElements({ progress, reset, transition, reflow } = {}) {\n const styles = ['overflow', 'transform', 'transform-origin', 'opacity'];\n if (transition === true || transition === false) {\n for (let i = 0; i < animatableNavEls.length; i += 1) {\n const el = animatableNavEls[i];\n if (el && el.el) {\n if (transition === true) el.el.classList.add('navbar-page-transitioning');\n if (transition === false) el.el.classList.remove('navbar-page-transitioning');\n }\n }\n }\n if (reflow && animatableNavEls.length && animatableNavEls[0] && animatableNavEls[0].el) {\n // eslint-disable-next-line\n animatableNavEls[0].el._clientLeft = animatableNavEls[0].el.clientLeft;\n }\n for (let i = 0; i < animatableNavEls.length; i += 1) {\n const el = animatableNavEls[i];\n if (el && el.el) {\n if (el.className && !el.classNameSet && !reset) {\n el.el.classList.add(el.className);\n el.classNameSet = true;\n }\n if (el.className && reset) {\n el.el.classList.remove(el.className);\n }\n for (let j = 0; j < styles.length; j += 1) {\n const styleProp = styles[j];\n if (el[styleProp]) {\n if (reset) {\n el.el.style[styleProp] = '';\n } else if (typeof el[styleProp] === 'function') {\n el.el.style[styleProp] = el[styleProp](progress);\n } else {\n el.el.style[styleProp] = el[styleProp];\n }\n }\n }\n }\n }\n }\n\n function handleTouchStart(e) {\n const swipeBackEnabled = params[`${app.theme}SwipeBack`];\n if (\n !allowViewTouchMove ||\n !swipeBackEnabled ||\n isTouched ||\n (app.swipeout && app.swipeout.el) ||\n !router.allowPageChange\n )\n return;\n if ($(e.target).closest('.range-slider, .calendar-months').length > 0) return;\n if (\n $(e.target).closest('.page-master, .page-master-detail').length > 0 &&\n params.masterDetailBreakpoint > 0 &&\n app.width >= params.masterDetailBreakpoint\n )\n return;\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = now();\n dynamicNavbar = router.dynamicNavbar;\n }\n function handleTouchMove(e) {\n if (!isTouched) return;\n const pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n const pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling =\n !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x)) ||\n (pageX < touchesStart.x && !app.rtl) ||\n (pageX > touchesStart.x && app.rtl);\n }\n if (isScrolling || e.f7PreventSwipeBack || app.preventSwipeBack) {\n isTouched = false;\n return;\n }\n if (!isMoved) {\n // Calc values during first move fired\n let cancel = false;\n const target = $(e.target);\n\n const swipeout = target.closest('.swipeout');\n if (swipeout.length > 0) {\n if (!app.rtl && swipeout.find('.swipeout-actions-left').length > 0) cancel = true;\n if (app.rtl && swipeout.find('.swipeout-actions-right').length > 0) cancel = true;\n }\n\n $currentPageEl = target.closest('.page');\n if (\n $currentPageEl.hasClass('no-swipeback') ||\n target.closest('.no-swipeback, .card-opened').length > 0\n )\n cancel = true;\n $previousPageEl = $el.find('.page-previous:not(.stacked)');\n if ($previousPageEl.length > 1) {\n $previousPageEl = $previousPageEl.eq($previousPageEl.length - 1);\n }\n let notFromBorder = touchesStart.x - $el.offset().left > paramsSwipeBackActiveArea;\n viewContainerWidth = $el.width();\n if (app.rtl) {\n notFromBorder =\n touchesStart.x <\n $el.offset().left - $el[0].scrollLeft + (viewContainerWidth - paramsSwipeBackActiveArea);\n } else {\n notFromBorder = touchesStart.x - $el.offset().left > paramsSwipeBackActiveArea;\n }\n if (notFromBorder) cancel = true;\n if ($previousPageEl.length === 0 || $currentPageEl.length === 0) cancel = true;\n if (cancel) {\n isTouched = false;\n return;\n }\n\n if (paramsSwipeBackAnimateShadow) {\n $pageShadowEl = $currentPageEl.find('.page-shadow-effect');\n if ($pageShadowEl.length === 0) {\n $pageShadowEl = $('<div class=\"page-shadow-effect\"></div>');\n $currentPageEl.append($pageShadowEl);\n }\n }\n if (paramsSwipeBackAnimateOpacity) {\n $pageOpacityEl = $previousPageEl.find('.page-opacity-effect');\n if ($pageOpacityEl.length === 0) {\n $pageOpacityEl = $('<div class=\"page-opacity-effect\"></div>');\n $previousPageEl.append($pageOpacityEl);\n }\n }\n\n if (dynamicNavbar) {\n $currentNavbarEl = $navbarsEl.find('.navbar-current:not(.stacked)');\n $previousNavbarEl = $navbarsEl.find('.navbar-previous:not(.stacked)');\n if ($previousNavbarEl.length > 1) {\n $previousNavbarEl = $previousNavbarEl.eq($previousNavbarEl.length - 1);\n }\n\n animatableNavEls = animatableNavElements($previousNavbarEl, $currentNavbarEl);\n }\n\n // Close/Hide Any Picker\n if ($('.sheet.modal-in').length > 0 && app.sheet) {\n app.sheet.close($('.sheet.modal-in'));\n }\n }\n e.f7PreventSwipePanel = true;\n isMoved = true;\n app.preventSwipePanelBySwipeBack = true;\n e.preventDefault();\n\n // RTL inverter\n const inverter = app.rtl ? -1 : 1;\n\n // Touches diff\n touchesDiff = (pageX - touchesStart.x - paramsSwipeBackThreshold) * inverter;\n if (touchesDiff < 0) touchesDiff = 0;\n const percentage = Math.min(Math.max(touchesDiff / viewContainerWidth, 0), 1);\n\n // Swipe Back Callback\n const callbackData = {\n percentage,\n progress: percentage,\n currentPageEl: $currentPageEl[0],\n previousPageEl: $previousPageEl[0],\n currentNavbarEl: $currentNavbarEl[0],\n previousNavbarEl: $previousNavbarEl[0],\n };\n $el.trigger('swipeback:move', callbackData);\n router.emit('swipebackMove', callbackData);\n\n // Transform pages\n let currentPageTranslate = touchesDiff * inverter;\n let previousPageTranslate = (touchesDiff / 5 - viewContainerWidth / 5) * inverter;\n if (!app.rtl) {\n currentPageTranslate = Math.min(currentPageTranslate, viewContainerWidth);\n previousPageTranslate = Math.min(previousPageTranslate, 0);\n } else {\n currentPageTranslate = Math.max(currentPageTranslate, -viewContainerWidth);\n previousPageTranslate = Math.max(previousPageTranslate, 0);\n }\n if (device.pixelRatio === 1) {\n currentPageTranslate = Math.round(currentPageTranslate);\n previousPageTranslate = Math.round(previousPageTranslate);\n }\n\n router.swipeBackActive = true;\n $([$currentPageEl[0], $previousPageEl[0]]).addClass('page-swipeback-active');\n\n $currentPageEl.transform(`translate3d(${currentPageTranslate}px,0,0)`);\n if (paramsSwipeBackAnimateShadow) $pageShadowEl[0].style.opacity = 1 - 1 * percentage;\n\n if (app.theme === 'ios') {\n $previousPageEl.transform(`translate3d(${previousPageTranslate}px,0,0)`);\n }\n if (paramsSwipeBackAnimateOpacity) $pageOpacityEl[0].style.opacity = 1 - 1 * percentage;\n\n // Dynamic Navbars Animation\n if (!dynamicNavbar) return;\n\n setAnimatableNavElements({ progress: percentage });\n }\n function handleTouchEnd() {\n app.preventSwipePanelBySwipeBack = false;\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n isTouched = false;\n isMoved = false;\n router.swipeBackActive = false;\n const $pages = $([$currentPageEl[0], $previousPageEl[0]]);\n $pages.removeClass('page-swipeback-active');\n if (touchesDiff === 0) {\n $pages.transform('');\n if ($pageShadowEl && $pageShadowEl.length > 0) $pageShadowEl.remove();\n if ($pageOpacityEl && $pageOpacityEl.length > 0) $pageOpacityEl.remove();\n if (dynamicNavbar) {\n setAnimatableNavElements({ reset: true });\n }\n return;\n }\n const timeDiff = now() - touchStartTime;\n let pageChanged = false;\n // Swipe back to previous page\n if (\n (timeDiff < 300 && touchesDiff > 10) ||\n (timeDiff >= 300 && touchesDiff > viewContainerWidth / 2)\n ) {\n $currentPageEl\n .removeClass('page-current')\n .addClass(`page-next${app.theme !== 'ios' ? ' page-next-on-right' : ''}`);\n $previousPageEl\n .removeClass('page-previous')\n .addClass('page-current')\n .removeAttr('aria-hidden');\n if ($pageShadowEl) $pageShadowEl[0].style.opacity = '';\n if ($pageOpacityEl) $pageOpacityEl[0].style.opacity = '';\n if (dynamicNavbar) {\n router.setNavbarPosition($currentNavbarEl, 'next');\n router.setNavbarPosition($previousNavbarEl, 'current', false);\n }\n pageChanged = true;\n }\n // Reset custom styles\n // Add transitioning class for transition-duration\n $pages.addClass('page-transitioning page-transitioning-swipeback');\n if (device.ios) {\n // eslint-disable-next-line\n $currentPageEl[0]._clientLeft = $currentPageEl[0].clientLeft;\n }\n $pages.transform('');\n\n if (dynamicNavbar) {\n setAnimatableNavElements({\n progress: pageChanged ? 1 : 0,\n transition: true,\n reflow: !!device.ios,\n });\n }\n allowViewTouchMove = false;\n router.allowPageChange = false;\n\n // Swipe Back Callback\n const callbackData = {\n currentPageEl: $currentPageEl[0],\n previousPageEl: $previousPageEl[0],\n currentNavbarEl: $currentNavbarEl[0],\n previousNavbarEl: $previousNavbarEl[0],\n };\n\n if (pageChanged) {\n // Update Route\n router.currentRoute = $previousPageEl[0].f7Page.route;\n router.currentPage = $previousPageEl[0];\n\n // Page before animation callback\n router.pageCallback('beforeOut', $currentPageEl, $currentNavbarEl, 'current', 'next', {\n route: $currentPageEl[0].f7Page.route,\n swipeBack: true,\n });\n router.pageCallback(\n 'beforeIn',\n $previousPageEl,\n $previousNavbarEl,\n 'previous',\n 'current',\n { route: $previousPageEl[0].f7Page.route, swipeBack: true },\n $currentPageEl[0],\n );\n\n $el.trigger('swipeback:beforechange', callbackData);\n router.emit('swipebackBeforeChange', callbackData);\n } else {\n $el.trigger('swipeback:beforereset', callbackData);\n router.emit('swipebackBeforeReset', callbackData);\n }\n\n $currentPageEl.transitionEnd(() => {\n $pages.removeClass('page-transitioning page-transitioning-swipeback');\n if (dynamicNavbar) {\n setAnimatableNavElements({ reset: true, transition: false });\n }\n allowViewTouchMove = true;\n router.allowPageChange = true;\n if (pageChanged) {\n // Update History\n if (router.history.length === 1) {\n router.history.unshift(router.url);\n }\n router.history.pop();\n router.saveHistory();\n\n // Update push state\n if (params.browserHistory) {\n History.back();\n }\n\n // Page after animation callback\n router.pageCallback('afterOut', $currentPageEl, $currentNavbarEl, 'current', 'next', {\n route: $currentPageEl[0].f7Page.route,\n swipeBack: true,\n });\n router.pageCallback('afterIn', $previousPageEl, $previousNavbarEl, 'previous', 'current', {\n route: $previousPageEl[0].f7Page.route,\n swipeBack: true,\n });\n\n // Remove Old Page\n if (params.stackPages && router.initialPages.indexOf($currentPageEl[0]) >= 0) {\n $currentPageEl.addClass('stacked');\n if (dynamicNavbar) {\n $currentNavbarEl.addClass('stacked');\n }\n } else {\n router.pageCallback('beforeRemove', $currentPageEl, $currentNavbarEl, 'next', {\n swipeBack: true,\n });\n router.removePage($currentPageEl);\n if (dynamicNavbar) {\n router.removeNavbar($currentNavbarEl);\n }\n }\n\n $el.trigger('swipeback:afterchange', callbackData);\n router.emit('swipebackAfterChange', callbackData);\n\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n\n if (params.preloadPreviousPage) {\n router.back(router.history[router.history.length - 2], { preload: true });\n }\n } else {\n $el.trigger('swipeback:afterreset', callbackData);\n router.emit('swipebackAfterReset', callbackData);\n }\n if ($pageShadowEl && $pageShadowEl.length > 0) $pageShadowEl.remove();\n if ($pageOpacityEl && $pageOpacityEl.length > 0) $pageOpacityEl.remove();\n });\n }\n\n function attachEvents() {\n const passiveListener =\n app.touchEvents.start === 'touchstart' && support.passiveListener\n ? { passive: true, capture: false }\n : false;\n $el.on(app.touchEvents.start, handleTouchStart, passiveListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n }\n function detachEvents() {\n const passiveListener =\n app.touchEvents.start === 'touchstart' && support.passiveListener\n ? { passive: true, capture: false }\n : false;\n $el.off(app.touchEvents.start, handleTouchStart, passiveListener);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n }\n\n attachEvents();\n\n router.on('routerDestroy', detachEvents);\n}\n\nexport default SwipeBack;\n","import { extend } from '../../shared/utils.js';\n\nexport default function redirect(direction, route, options) {\n const router = this;\n const r = route.route.redirect;\n const method = direction === 'forward' ? 'navigate' : 'back';\n if (options.initial && router.params.browserHistory) {\n options.replaceState = true; // eslint-disable-line\n options.history = true; // eslint-disable-line\n }\n function redirectResolve(redirectUrl, redirectOptions = {}) {\n router.allowPageChange = true;\n router[method](redirectUrl, extend({}, options, redirectOptions));\n }\n function redirectReject() {\n router.allowPageChange = true;\n }\n if (typeof r === 'function') {\n router.allowPageChange = false;\n const redirectUrl = r.call(router, {\n router,\n to: route,\n resolve: redirectResolve,\n reject: redirectReject,\n direction,\n app: router.app,\n });\n if (redirectUrl && typeof redirectUrl === 'string') {\n router.allowPageChange = true;\n return router[method](redirectUrl, options);\n }\n return router;\n }\n return router[method](r, options);\n}\n","function processQueue(router, routerQueue, routeQueue, to, from, resolve, reject, direction) {\n const queue = [];\n\n if (Array.isArray(routeQueue)) {\n queue.push(...routeQueue);\n } else if (routeQueue && typeof routeQueue === 'function') {\n queue.push(routeQueue);\n }\n if (routerQueue) {\n if (Array.isArray(routerQueue)) {\n queue.push(...routerQueue);\n } else {\n queue.push(routerQueue);\n }\n }\n\n function next() {\n if (queue.length === 0) {\n resolve();\n return;\n }\n const queueItem = queue.shift();\n\n queueItem.call(router, {\n router,\n to,\n from,\n resolve() {\n next();\n },\n reject() {\n reject();\n },\n direction,\n app: router.app,\n });\n }\n next();\n}\n\nexport default function processRouteQueue(to, from, resolve, reject, direction) {\n const router = this;\n function enterNextRoute() {\n if (to && to.route && (router.params.routesBeforeEnter || to.route.beforeEnter)) {\n router.allowPageChange = false;\n processQueue(\n router,\n router.params.routesBeforeEnter,\n to.route.beforeEnter,\n to,\n from,\n () => {\n router.allowPageChange = true;\n resolve();\n },\n () => {\n reject();\n },\n direction,\n );\n } else {\n resolve();\n }\n }\n function leaveCurrentRoute() {\n if (from && from.route && (router.params.routesBeforeLeave || from.route.beforeLeave)) {\n router.allowPageChange = false;\n processQueue(\n router,\n router.params.routesBeforeLeave,\n from.route.beforeLeave,\n to,\n from,\n () => {\n router.allowPageChange = true;\n enterNextRoute();\n },\n () => {\n reject();\n },\n direction,\n );\n } else {\n enterNextRoute();\n }\n }\n leaveCurrentRoute();\n}\n","export default function appRouterCheck(router, method) {\n if (!router.view) {\n throw new Error(\n `Framework7: it is not allowed to use router methods on global app router. Use router methods only on related View, e.g. app.views.main.router.${method}(...)`,\n );\n }\n}\n","export default function asyncComponent(router, component, resolve, reject) {\n function resolvePromise(componentPromise) {\n componentPromise\n .then((c) => {\n // eslint-disable-next-line\n resolve({ component: c.default || c._default || c });\n })\n .catch((err) => {\n reject();\n throw new Error(err);\n });\n }\n if (component instanceof Promise) {\n resolvePromise(component);\n return;\n }\n const asyncComponentResult = component.call(router);\n if (asyncComponentResult instanceof Promise) {\n resolvePromise(asyncComponentResult);\n } else {\n resolve({ component: asyncComponentResult });\n }\n}\n","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport { extend, parseUrlQuery } from '../../shared/utils.js';\nimport History from '../../shared/history.js';\nimport redirect from './redirect.js';\nimport processRouteQueue from './process-route-queue.js';\nimport appRouterCheck from './app-router-check.js';\nimport asyncComponent from './async-component.js';\n\nfunction refreshPage(props = {}) {\n const router = this;\n appRouterCheck(router, 'refreshPage');\n return router.navigate(router.currentRoute.url, {\n ignoreCache: true,\n reloadCurrent: true,\n props,\n });\n}\n\nfunction forward(router, el, forwardOptions = {}) {\n const document = getDocument();\n const $el = $(el);\n const app = router.app;\n const view = router.view;\n const options = extend(\n false,\n {\n animate: router.params.animate,\n browserHistory: true,\n replaceState: false,\n history: true,\n reloadCurrent: router.params.reloadPages,\n reloadPrevious: false,\n reloadAll: false,\n clearPreviousHistory: false,\n reloadDetail: router.params.reloadDetail,\n on: {},\n },\n forwardOptions,\n );\n\n const masterDetailEnabled = router.params.masterDetailBreakpoint > 0;\n const isMaster =\n masterDetailEnabled &&\n options.route &&\n options.route.route &&\n (options.route.route.master === true ||\n (typeof options.route.route.master === 'function' &&\n options.route.route.master(app, router)));\n\n let masterPageEl;\n let otherDetailPageEl;\n let detailsInBetweenRemoved = 0;\n\n let currentRouteIsModal = router.currentRoute.modal;\n let modalType;\n if (!currentRouteIsModal) {\n 'popup popover sheet loginScreen actions customModal panel'\n .split(' ')\n .forEach((modalLoadProp) => {\n if (\n router.currentRoute &&\n router.currentRoute.route &&\n router.currentRoute.route[modalLoadProp]\n ) {\n currentRouteIsModal = true;\n modalType = modalLoadProp;\n }\n });\n }\n\n if (currentRouteIsModal) {\n const modalToClose =\n router.currentRoute.modal || router.currentRoute.route.modalInstance || app[modalType].get();\n const previousUrl = router.history[router.history.length - 2];\n let previousRoute = router.findMatchingRoute(previousUrl);\n if (!previousRoute && previousUrl) {\n previousRoute = {\n url: previousUrl,\n path: previousUrl.split('?')[0],\n query: parseUrlQuery(previousUrl),\n route: {\n path: previousUrl.split('?')[0],\n url: previousUrl,\n },\n };\n }\n\n router.modalRemove(modalToClose);\n }\n\n const dynamicNavbar = router.dynamicNavbar;\n\n const $viewEl = router.$el;\n const $newPage = $el;\n const reload = options.reloadPrevious || options.reloadCurrent || options.reloadAll;\n let $oldPage;\n\n let $navbarsEl;\n let $newNavbarEl;\n let $oldNavbarEl;\n\n router.allowPageChange = false;\n if ($newPage.length === 0) {\n router.allowPageChange = true;\n return router;\n }\n\n if ($newPage.length) {\n // Remove theme elements\n router.removeThemeElements($newPage);\n }\n\n if (dynamicNavbar) {\n $newNavbarEl = $newPage.children('.navbar');\n $navbarsEl = router.$navbarsEl;\n if ($newNavbarEl.length === 0 && $newPage[0] && $newPage[0].f7Page) {\n // Try from pageData\n $newNavbarEl = $newPage[0].f7Page.$navbarEl;\n }\n }\n\n // Save Keep Alive Cache\n if (\n options.route &&\n options.route.route &&\n options.route.route.keepAlive &&\n !options.route.route.keepAliveData\n ) {\n options.route.route.keepAliveData = {\n pageEl: $el[0],\n };\n }\n\n // Pages In View\n const $pagesInView = $viewEl\n .children('.page:not(.stacked)')\n .filter((pageInView) => pageInView !== $newPage[0]);\n\n // Navbars In View\n let $navbarsInView;\n if (dynamicNavbar) {\n $navbarsInView = $navbarsEl\n .children('.navbar:not(.stacked)')\n .filter((navbarInView) => navbarInView !== $newNavbarEl[0]);\n }\n\n // Exit when reload previous and only 1 page in view so nothing ro reload\n if (options.reloadPrevious && $pagesInView.length < 2) {\n router.allowPageChange = true;\n return router;\n }\n\n // Find Detail' master page\n let isDetail;\n let reloadDetail;\n let isDetailRoot;\n if (masterDetailEnabled && !options.reloadAll) {\n for (let i = 0; i < $pagesInView.length; i += 1) {\n if (!masterPageEl && $pagesInView[i].classList.contains('page-master')) {\n masterPageEl = $pagesInView[i];\n continue; // eslint-disable-line\n }\n }\n isDetail = !isMaster && masterPageEl;\n\n if (isDetail) {\n // Find Other Detail\n if (masterPageEl) {\n for (let i = 0; i < $pagesInView.length; i += 1) {\n if ($pagesInView[i].classList.contains('page-master-detail')) {\n otherDetailPageEl = $pagesInView[i];\n continue; // eslint-disable-line\n }\n }\n }\n }\n reloadDetail =\n isDetail &&\n options.reloadDetail &&\n app.width >= router.params.masterDetailBreakpoint &&\n masterPageEl;\n }\n if (isDetail) {\n isDetailRoot = !otherDetailPageEl || reloadDetail || options.reloadAll || options.reloadCurrent;\n }\n\n // New Page\n let newPagePosition = 'next';\n if (options.reloadCurrent || options.reloadAll || reloadDetail) {\n newPagePosition = 'current';\n } else if (options.reloadPrevious) {\n newPagePosition = 'previous';\n }\n $newPage\n .removeClass('page-previous page-current page-next')\n .addClass(\n `page-${newPagePosition}${isMaster ? ' page-master' : ''}${\n isDetail ? ' page-master-detail' : ''\n }${isDetailRoot ? ' page-master-detail-root' : ''}`,\n )\n .removeClass('stacked')\n .trigger('page:unstack')\n .trigger('page:position', { position: newPagePosition });\n router.emit('pageUnstack', $newPage[0]);\n router.emit('pagePosition', $newPage[0], newPagePosition);\n\n if (isMaster || isDetail) {\n $newPage.trigger('page:role', { role: isMaster ? 'master' : 'detail', root: !!isDetailRoot });\n router.emit('pageRole', $newPage[0], {\n role: isMaster ? 'master' : 'detail',\n detailRoot: !!isDetailRoot,\n });\n }\n\n if (dynamicNavbar && $newNavbarEl.length) {\n $newNavbarEl\n .removeClass('navbar-previous navbar-current navbar-next')\n .addClass(\n `navbar-${newPagePosition}${isMaster ? ' navbar-master' : ''}${\n isDetail ? ' navbar-master-detail' : ''\n }${isDetailRoot ? ' navbar-master-detail-root' : ''}`,\n )\n .removeClass('stacked');\n $newNavbarEl.trigger('navbar:position', { position: newPagePosition });\n router.emit('navbarPosition', $newNavbarEl[0], newPagePosition);\n if (isMaster || isDetail) {\n router.emit('navbarRole', $newNavbarEl[0], {\n role: isMaster ? 'master' : 'detail',\n detailRoot: !!isDetailRoot,\n });\n }\n }\n\n // Find Old Page\n if (options.reloadCurrent || reloadDetail) {\n if (reloadDetail) {\n $oldPage = $pagesInView.filter((pageEl) => !pageEl.classList.contains('page-master'));\n if (dynamicNavbar) {\n $oldNavbarEl = $($oldPage.map((pageEl) => app.navbar.getElByPage(pageEl)));\n }\n if ($oldPage.length > 1 && masterPageEl) {\n detailsInBetweenRemoved = $oldPage.length - 1;\n $(masterPageEl).removeClass('page-master-stacked').trigger('page:masterunstack');\n router.emit('pageMasterUnstack', masterPageEl);\n if (dynamicNavbar) {\n $(app.navbar.getElByPage(masterPageEl)).removeClass('navbar-master-stacked');\n router.emit('navbarMasterUnstack', app.navbar.getElByPage(masterPageEl));\n }\n }\n } else {\n $oldPage = $pagesInView.eq($pagesInView.length - 1);\n if (dynamicNavbar) {\n $oldNavbarEl = $(app.navbar.getElByPage($oldPage));\n }\n }\n } else if (options.reloadPrevious) {\n $oldPage = $pagesInView.eq($pagesInView.length - 2);\n if (dynamicNavbar) {\n // $oldNavbarEl = $navbarsInView.eq($pagesInView.length - 2);\n $oldNavbarEl = $(app.navbar.getElByPage($oldPage));\n }\n } else if (options.reloadAll) {\n $oldPage = $pagesInView.filter((pageEl) => pageEl !== $newPage[0]);\n if (dynamicNavbar) {\n $oldNavbarEl = $navbarsInView.filter((navbarEl) => navbarEl !== $newNavbarEl[0]);\n }\n } else {\n let removedPageEls = [];\n let removedNavbarEls = [];\n if ($pagesInView.length > 1) {\n let i = 0;\n for (i = 0; i < $pagesInView.length - 1; i += 1) {\n if (masterPageEl && $pagesInView[i] === masterPageEl) {\n $pagesInView.eq(i).addClass('page-master-stacked');\n $pagesInView.eq(i).trigger('page:masterstack');\n router.emit('pageMasterStack', $pagesInView[i]);\n if (dynamicNavbar) {\n $(app.navbar.getElByPage(masterPageEl)).addClass('navbar-master-stacked');\n router.emit('navbarMasterStack', app.navbar.getElByPage(masterPageEl));\n }\n continue; // eslint-disable-line\n }\n const oldNavbarEl = app.navbar.getElByPage($pagesInView.eq(i));\n if (router.params.stackPages) {\n $pagesInView.eq(i).addClass('stacked');\n $pagesInView.eq(i).trigger('page:stack');\n router.emit('pageStack', $pagesInView[i]);\n if (dynamicNavbar) {\n $(oldNavbarEl).addClass('stacked');\n }\n } else {\n // Page remove event\n removedPageEls.push($pagesInView[i]);\n router.pageCallback(\n 'beforeRemove',\n $pagesInView[i],\n $navbarsInView && $navbarsInView[i],\n 'previous',\n undefined,\n options,\n );\n router.removePage($pagesInView[i]);\n if (dynamicNavbar && oldNavbarEl) {\n removedNavbarEls.push(oldNavbarEl);\n router.removeNavbar(oldNavbarEl);\n }\n }\n }\n }\n $oldPage = $viewEl\n .children('.page:not(.stacked)')\n .filter((pageEl) => pageEl !== $newPage[0] && removedPageEls.indexOf(pageEl) < 0);\n if (dynamicNavbar) {\n $oldNavbarEl = $navbarsEl\n .children('.navbar:not(.stacked)')\n .filter(\n (navbarEl) =>\n navbarEl !== $newNavbarEl[0] && removedNavbarEls.indexOf(removedNavbarEls) < 0,\n );\n }\n removedPageEls = [];\n removedNavbarEls = [];\n }\n\n if (isDetail && !options.reloadAll) {\n if ($oldPage.length > 1 || reloadDetail) {\n $oldPage = $oldPage.filter((pageEl) => !pageEl.classList.contains('page-master'));\n }\n if ($oldNavbarEl && ($oldNavbarEl.length > 1 || reloadDetail)) {\n $oldNavbarEl = $oldNavbarEl.filter(\n (navbarEl) => !navbarEl.classList.contains('navbar-master'),\n );\n }\n }\n\n // Push State\n if (\n router.params.browserHistory &&\n (options.browserHistory || options.replaceState) &&\n !options.reloadPrevious\n ) {\n const browserHistoryRoot = router.params.browserHistoryRoot || '';\n History[\n options.reloadCurrent ||\n (reloadDetail && otherDetailPageEl) ||\n options.reloadAll ||\n options.replaceState\n ? 'replace'\n : 'push'\n ](\n view.id,\n {\n url: options.route.url,\n },\n browserHistoryRoot + router.params.browserHistorySeparator + options.route.url,\n );\n }\n\n if (!options.reloadPrevious) {\n // Current Page & Navbar\n router.currentPageEl = $newPage[0];\n if (dynamicNavbar && $newNavbarEl.length) {\n router.currentNavbarEl = $newNavbarEl[0];\n } else {\n delete router.currentNavbarEl;\n }\n\n // Current Route\n router.currentRoute = options.route;\n }\n\n // Update router history\n const url = options.route.url;\n if (options.history) {\n if (\n ((options.reloadCurrent || (reloadDetail && otherDetailPageEl)) && router.history.length) >\n 0 ||\n options.replaceState\n ) {\n if (reloadDetail && detailsInBetweenRemoved > 0) {\n router.history = router.history.slice(0, router.history.length - detailsInBetweenRemoved);\n router.propsHistory = router.propsHistory.slice(\n 0,\n router.propsHistory.length - detailsInBetweenRemoved,\n );\n }\n router.history[router.history.length - (options.reloadPrevious ? 2 : 1)] = url;\n router.propsHistory[router.propsHistory.length - (options.reloadPrevious ? 2 : 1)] =\n options.props || {};\n } else if (options.reloadPrevious) {\n router.history[router.history.length - 2] = url;\n router.propsHistory[router.propsHistory.length - 2] = options.props || {};\n } else if (options.reloadAll) {\n router.history = [url];\n router.propsHistory = [options.props || {}];\n } else {\n router.history.push(url);\n router.propsHistory.push(options.props || {});\n }\n }\n router.saveHistory();\n\n // Insert new page and navbar\n const newPageInDom = $newPage.parents(document).length > 0;\n const f7Component = $newPage[0].f7Component;\n if (options.reloadPrevious) {\n if (f7Component && !newPageInDom) {\n f7Component.mount((componentEl) => {\n $(componentEl).insertBefore($oldPage);\n });\n } else {\n $newPage.insertBefore($oldPage);\n }\n if (dynamicNavbar && $newNavbarEl.length) {\n if ($newNavbarEl.find('.title-large').length) {\n $newNavbarEl.addClass('navbar-large');\n }\n if ($oldNavbarEl.length) {\n $newNavbarEl.insertBefore($oldNavbarEl);\n } else {\n if (!router.$navbarsEl.parents(document).length) {\n router.$el.prepend(router.$navbarsEl);\n }\n $navbarsEl.append($newNavbarEl);\n }\n }\n } else {\n if ($oldPage.next('.page')[0] !== $newPage[0]) {\n if (f7Component && !newPageInDom) {\n f7Component.mount((componentEl) => {\n $viewEl.append(componentEl);\n });\n } else {\n $viewEl.append($newPage[0]);\n }\n }\n if (dynamicNavbar && $newNavbarEl.length) {\n if ($newNavbarEl.find('.title-large').length) {\n $newNavbarEl.addClass('navbar-large');\n }\n if (!router.$navbarsEl.parents(document).length) {\n router.$el.prepend(router.$navbarsEl);\n }\n $navbarsEl.append($newNavbarEl[0]);\n }\n }\n if (!newPageInDom) {\n router.pageCallback(\n 'mounted',\n $newPage,\n $newNavbarEl,\n newPagePosition,\n reload ? newPagePosition : 'current',\n options,\n $oldPage,\n );\n } else if (\n options.route &&\n options.route.route &&\n options.route.route.keepAlive &&\n !$newPage[0].f7PageMounted\n ) {\n $newPage[0].f7PageMounted = true;\n router.pageCallback(\n 'mounted',\n $newPage,\n $newNavbarEl,\n newPagePosition,\n reload ? newPagePosition : 'current',\n options,\n $oldPage,\n );\n }\n\n // Remove old page\n if ((options.reloadCurrent || reloadDetail) && $oldPage.length > 0) {\n if (router.params.stackPages && router.initialPages.indexOf($oldPage[0]) >= 0) {\n $oldPage.addClass('stacked');\n $oldPage.trigger('page:stack');\n router.emit('pageStack', $oldPage[0]);\n if (dynamicNavbar) {\n $oldNavbarEl.addClass('stacked');\n }\n } else {\n // Page remove event\n router.pageCallback('beforeOut', $oldPage, $oldNavbarEl, 'current', undefined, options);\n router.pageCallback('afterOut', $oldPage, $oldNavbarEl, 'current', undefined, options);\n router.pageCallback('beforeRemove', $oldPage, $oldNavbarEl, 'current', undefined, options);\n router.removePage($oldPage);\n if (dynamicNavbar && $oldNavbarEl && $oldNavbarEl.length) {\n router.removeNavbar($oldNavbarEl);\n }\n }\n } else if (options.reloadAll) {\n $oldPage.each((pageEl, index) => {\n const $oldPageEl = $(pageEl);\n const $oldNavbarElEl = $(app.navbar.getElByPage($oldPageEl));\n if (router.params.stackPages && router.initialPages.indexOf($oldPageEl[0]) >= 0) {\n $oldPageEl.addClass('stacked');\n $oldPageEl.trigger('page:stack');\n router.emit('pageStack', $oldPageEl[0]);\n if (dynamicNavbar) {\n $oldNavbarElEl.addClass('stacked');\n }\n } else {\n // Page remove event\n if ($oldPageEl.hasClass('page-current')) {\n router.pageCallback('beforeOut', $oldPage, $oldNavbarEl, 'current', undefined, options);\n router.pageCallback('afterOut', $oldPage, $oldNavbarEl, 'current', undefined, options);\n }\n router.pageCallback(\n 'beforeRemove',\n $oldPageEl,\n $oldNavbarEl && $oldNavbarEl.eq(index),\n 'previous',\n undefined,\n options,\n );\n router.removePage($oldPageEl);\n if (dynamicNavbar && $oldNavbarElEl.length) {\n router.removeNavbar($oldNavbarElEl);\n }\n }\n });\n } else if (options.reloadPrevious) {\n if (router.params.stackPages && router.initialPages.indexOf($oldPage[0]) >= 0) {\n $oldPage.addClass('stacked');\n $oldPage.trigger('page:stack');\n router.emit('pageStack', $oldPage[0]);\n if (dynamicNavbar) {\n $oldNavbarEl.addClass('stacked');\n }\n } else {\n // Page remove event\n router.pageCallback('beforeRemove', $oldPage, $oldNavbarEl, 'previous', undefined, options);\n router.removePage($oldPage);\n if (dynamicNavbar && $oldNavbarEl && $oldNavbarEl.length) {\n router.removeNavbar($oldNavbarEl);\n }\n }\n }\n\n // Load Tab\n if (options.route.route.tab) {\n router.tabLoad(\n options.route.route.tab,\n extend({}, options, {\n history: false,\n browserHistory: false,\n }),\n );\n }\n\n // Check master detail\n if (masterDetailEnabled) {\n view.checkMasterDetailBreakpoint();\n }\n\n // Page init and before init events\n router.pageCallback(\n 'init',\n $newPage,\n $newNavbarEl,\n newPagePosition,\n reload ? newPagePosition : 'current',\n options,\n $oldPage,\n );\n\n if (options.reloadCurrent || options.reloadAll || reloadDetail) {\n router.allowPageChange = true;\n router.pageCallback('beforeIn', $newPage, $newNavbarEl, newPagePosition, 'current', options);\n $newPage.removeAttr('aria-hidden');\n if (dynamicNavbar && $newNavbarEl) {\n $newNavbarEl.removeAttr('aria-hidden');\n }\n router.pageCallback('afterIn', $newPage, $newNavbarEl, newPagePosition, 'current', options);\n if (options.reloadCurrent && options.clearPreviousHistory) router.clearPreviousHistory();\n if (reloadDetail) {\n router.setPagePosition($(masterPageEl), 'previous');\n if (masterPageEl.f7Page && masterPageEl.f7Page.navbarEl) {\n router.setNavbarPosition($(masterPageEl.f7Page.navbarEl), 'previous');\n }\n }\n return router;\n }\n if (options.reloadPrevious) {\n router.allowPageChange = true;\n return router;\n }\n\n // Before animation event\n router.pageCallback('beforeOut', $oldPage, $oldNavbarEl, 'current', 'previous', options);\n router.pageCallback('beforeIn', $newPage, $newNavbarEl, 'next', 'current', options);\n\n // Animation\n function afterAnimation() {\n router.setPagePosition($newPage, 'current', false);\n router.setPagePosition($oldPage, 'previous', !$oldPage.hasClass('page-master'));\n if (dynamicNavbar) {\n router.setNavbarPosition($newNavbarEl, 'current', false);\n router.setNavbarPosition($oldNavbarEl, 'previous', !$oldNavbarEl.hasClass('navbar-master'));\n }\n // After animation event\n router.allowPageChange = true;\n router.pageCallback('afterOut', $oldPage, $oldNavbarEl, 'current', 'previous', options);\n router.pageCallback('afterIn', $newPage, $newNavbarEl, 'next', 'current', options);\n\n let keepOldPage =\n (router.params.preloadPreviousPage || router.params[`${app.theme}SwipeBack`]) && !isMaster;\n if (!keepOldPage) {\n if (\n $newPage.hasClass('smart-select-page') ||\n $newPage.hasClass('photo-browser-page') ||\n $newPage.hasClass('autocomplete-page') ||\n $newPage.hasClass('color-picker-page')\n ) {\n keepOldPage = true;\n }\n }\n if (!keepOldPage) {\n if (router.params.stackPages) {\n $oldPage.addClass('stacked');\n $oldPage.trigger('page:stack');\n router.emit('pageStack', $oldPage[0]);\n if (dynamicNavbar) {\n $oldNavbarEl.addClass('stacked');\n }\n } else if (\n !($newPage.attr('data-name') && $newPage.attr('data-name') === 'smart-select-page')\n ) {\n // Remove event\n router.pageCallback('beforeRemove', $oldPage, $oldNavbarEl, 'previous', undefined, options);\n router.removePage($oldPage);\n if (dynamicNavbar && $oldNavbarEl.length) {\n router.removeNavbar($oldNavbarEl);\n }\n }\n }\n if (options.clearPreviousHistory) router.clearPreviousHistory();\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n\n if (router.params.browserHistory) {\n History.clearRouterQueue();\n }\n }\n function setPositionClasses() {\n router.setPagePosition($oldPage, 'current', false);\n router.setPagePosition($newPage, 'next', false);\n if (dynamicNavbar) {\n router.setNavbarPosition($oldNavbarEl, 'current', false);\n router.setNavbarPosition($newNavbarEl, 'next', false);\n }\n }\n if (options.animate && !(isMaster && app.width >= router.params.masterDetailBreakpoint)) {\n const delay = router.params[`${router.app.theme}PageLoadDelay`];\n let transition = router.params.transition;\n if (options.transition) transition = options.transition;\n if (!transition && router.currentRoute && router.currentRoute.route) {\n transition = router.currentRoute.route.transition;\n }\n if (!transition && router.currentRoute && router.currentRoute.route.options) {\n transition = router.currentRoute.route.options.transition;\n }\n if (transition) {\n $newPage[0].f7PageTransition = transition;\n }\n\n if (delay) {\n setTimeout(() => {\n setPositionClasses();\n router.animate(\n $oldPage,\n $newPage,\n $oldNavbarEl,\n $newNavbarEl,\n 'forward',\n transition,\n () => {\n afterAnimation();\n },\n );\n }, delay);\n } else {\n setPositionClasses();\n router.animate($oldPage, $newPage, $oldNavbarEl, $newNavbarEl, 'forward', transition, () => {\n afterAnimation();\n });\n }\n } else {\n afterAnimation();\n }\n return router;\n}\nfunction load(router, loadParams = {}, loadOptions = {}, ignorePageChange) {\n if (!router.allowPageChange && !ignorePageChange) return router;\n const params = loadParams;\n const options = loadOptions;\n const { url, content, el, pageName, component, componentUrl } = params;\n\n if (\n !options.reloadCurrent &&\n options.route &&\n options.route.route &&\n options.route.route.parentPath &&\n router.currentRoute.route &&\n router.currentRoute.route.parentPath === options.route.route.parentPath\n ) {\n // Do something nested\n if (options.route.url === router.url) {\n router.allowPageChange = true;\n return false;\n }\n // Check for same params\n let sameParams =\n Object.keys(options.route.params).length === Object.keys(router.currentRoute.params).length;\n if (sameParams) {\n // Check for equal params name\n Object.keys(options.route.params).forEach((paramName) => {\n if (\n !(paramName in router.currentRoute.params) ||\n router.currentRoute.params[paramName] !== options.route.params[paramName]\n ) {\n sameParams = false;\n }\n });\n }\n if (sameParams) {\n if (options.route.route.tab) {\n return router.tabLoad(options.route.route.tab, options);\n }\n return false;\n }\n if (\n !sameParams &&\n options.route.route.tab &&\n router.currentRoute.route.tab &&\n router.currentRoute.parentPath === options.route.parentPath\n ) {\n return router.tabLoad(options.route.route.tab, options);\n }\n }\n\n if (\n options.route &&\n options.route.url &&\n router.url === options.route.url &&\n !(options.reloadCurrent || options.reloadPrevious) &&\n !router.params.allowDuplicateUrls\n ) {\n router.allowPageChange = true;\n return false;\n }\n\n if (!options.route && url) {\n options.route = router.parseRouteUrl(url);\n extend(options.route, { route: { url, path: url } });\n }\n\n // Component Callbacks\n function resolve(pageEl, newOptions) {\n return forward(router, pageEl, extend(options, newOptions));\n }\n function reject() {\n router.allowPageChange = true;\n return router;\n }\n\n if (url || componentUrl || component) {\n router.allowPageChange = false;\n }\n\n // Proceed\n if (content) {\n forward(router, router.getPageEl(content), options);\n } else if (el) {\n // Load page from specified HTMLElement or by page name in pages container\n forward(router, router.getPageEl(el), options);\n } else if (pageName) {\n // Load page by page name in pages container\n forward(router, router.$el.children(`.page[data-name=\"${pageName}\"]`).eq(0), options);\n } else if (component || componentUrl) {\n // Load from component (F7/Vue/React/...)\n try {\n router.pageComponentLoader({\n routerEl: router.el,\n component,\n componentUrl,\n options,\n resolve,\n reject,\n });\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (url) {\n // Load using XHR\n if (router.xhrAbortController) {\n router.xhrAbortController.abort();\n router.xhrAbortController = false;\n }\n router\n .xhrRequest(url, options)\n .then((pageContent) => {\n forward(router, router.getPageEl(pageContent), options);\n })\n .catch(() => {\n router.allowPageChange = true;\n });\n }\n return router;\n}\n\nfunction navigate(navigateParams, navigateOptions = {}) {\n const router = this;\n\n if (router.swipeBackActive) return router;\n let url;\n let createRoute;\n let name;\n let path;\n let query;\n let params;\n let route;\n if (typeof navigateParams === 'string') {\n url = navigateParams;\n } else {\n url = navigateParams.url;\n createRoute = navigateParams.route;\n name = navigateParams.name;\n path = navigateParams.path;\n query = navigateParams.query;\n params = navigateParams.params;\n }\n if (name || path) {\n url = router.generateUrl({ path, name, params, query });\n if (url) {\n return router.navigate(url, navigateOptions);\n }\n return router;\n }\n const app = router.app;\n appRouterCheck(router, 'navigate');\n if (url === '#' || url === '') {\n return router;\n }\n\n let navigateUrl = url.replace('./', '');\n if (navigateUrl[0] !== '/' && navigateUrl.indexOf('#') !== 0) {\n const currentPath = router.currentRoute.parentPath || router.currentRoute.path;\n navigateUrl = ((currentPath ? `${currentPath}/` : '/') + navigateUrl)\n .replace('///', '/')\n .replace('//', '/');\n }\n if (createRoute) {\n route = extend(router.parseRouteUrl(navigateUrl), {\n route: extend({}, createRoute),\n });\n } else {\n route = router.findMatchingRoute(navigateUrl);\n }\n\n if (!route) {\n return router;\n }\n if (route.route && route.route.viewName) {\n const anotherViewName = route.route.viewName;\n const anotherView = app.views[anotherViewName];\n if (!anotherView) {\n throw new Error(\n `Framework7: There is no View with \"${anotherViewName}\" name that was specified in this route`,\n );\n }\n if (anotherView !== router.view) {\n return anotherView.router.navigate(navigateParams, navigateOptions);\n }\n }\n\n if (route.route.redirect) {\n return redirect.call(router, 'forward', route, navigateOptions);\n }\n\n const options = {};\n if (route.route.options) {\n extend(options, route.route.options, navigateOptions);\n } else {\n extend(options, navigateOptions);\n }\n\n if (\n options.openIn &&\n (!router.params.ignoreOpenIn || (router.params.ignoreOpenIn && router.history.length > 0))\n ) {\n return router.openIn(router, navigateUrl, options);\n }\n\n options.route = route;\n\n function resolve() {\n let routerLoaded = false;\n 'popup popover sheet loginScreen actions customModal panel'\n .split(' ')\n .forEach((modalLoadProp) => {\n if (route.route[modalLoadProp] && !routerLoaded) {\n routerLoaded = true;\n router.modalLoad(modalLoadProp, route, options, 'forward');\n }\n });\n if (route.route.keepAlive && route.route.keepAliveData) {\n load(router, { el: route.route.keepAliveData.pageEl }, options, false);\n routerLoaded = true;\n }\n 'url content component pageName el componentUrl'.split(' ').forEach((pageLoadProp) => {\n if (route.route[pageLoadProp] && !routerLoaded) {\n routerLoaded = true;\n load(router, { [pageLoadProp]: route.route[pageLoadProp] }, options, false);\n }\n });\n if (routerLoaded) return;\n // Async\n function asyncResolve(resolveParams, resolveOptions) {\n router.allowPageChange = false;\n let resolvedAsModal = false;\n\n 'popup popover sheet loginScreen actions customModal panel'\n .split(' ')\n .forEach((modalLoadProp) => {\n if (resolveParams[modalLoadProp]) {\n resolvedAsModal = true;\n const modalRoute = extend({}, route, { route: resolveParams });\n router.allowPageChange = true;\n router.modalLoad(modalLoadProp, modalRoute, extend(options, resolveOptions), 'forward');\n }\n });\n if (resolvedAsModal) return;\n load(router, resolveParams, extend(options, resolveOptions), true);\n }\n function asyncReject() {\n router.allowPageChange = true;\n }\n if (route.route.async) {\n router.allowPageChange = false;\n route.route.async.call(router, {\n router,\n to: options.route,\n from: router.currentRoute,\n resolve: asyncResolve,\n reject: asyncReject,\n direction: 'forward',\n app,\n });\n }\n if (route.route.asyncComponent) {\n asyncComponent(router, route.route.asyncComponent, asyncResolve, asyncReject);\n }\n }\n function reject() {\n router.allowPageChange = true;\n }\n\n if (router.params.masterDetailBreakpoint > 0 && route.route.masterRoute) {\n // load detail route\n let preloadMaster = true;\n let masterLoaded = false;\n if (router.currentRoute && router.currentRoute.route) {\n if (\n (router.currentRoute.route.master === true ||\n (typeof router.currentRoute.route.master === 'function' &&\n router.currentRoute.route.master(app, router))) &&\n (router.currentRoute.route === route.route.masterRoute ||\n router.currentRoute.route.path === route.route.masterRoute.path)\n ) {\n preloadMaster = false;\n }\n if (\n router.currentRoute.route.masterRoute &&\n (router.currentRoute.route.masterRoute === route.route.masterRoute ||\n router.currentRoute.route.masterRoute.path === route.route.masterRoute.path)\n ) {\n preloadMaster = false;\n masterLoaded = true;\n }\n }\n if (preloadMaster || (masterLoaded && navigateOptions.reloadAll)) {\n router.navigate(\n { path: route.route.masterRoute.path, params: route.params || {} },\n {\n animate: false,\n reloadAll: navigateOptions.reloadAll,\n reloadCurrent: navigateOptions.reloadCurrent,\n reloadPrevious: navigateOptions.reloadPrevious,\n browserHistory: !navigateOptions.initial,\n history: !navigateOptions.initial,\n once: {\n pageAfterIn() {\n router.navigate(\n navigateParams,\n extend({}, navigateOptions, {\n animate: false,\n reloadAll: false,\n reloadCurrent: false,\n reloadPrevious: false,\n history: !navigateOptions.initial,\n browserHistory: !navigateOptions.initial,\n }),\n );\n },\n },\n },\n );\n return router;\n }\n }\n\n processRouteQueue.call(\n router,\n route,\n router.currentRoute,\n () => {\n if (route.route.modules) {\n app\n .loadModules(\n Array.isArray(route.route.modules) ? route.route.modules : [route.route.modules],\n )\n .then(() => {\n resolve();\n })\n .catch(() => {\n reject();\n });\n } else {\n resolve();\n }\n },\n () => {\n reject();\n },\n 'forward',\n );\n\n // Return Router\n return router;\n}\nexport { refreshPage, navigate };\n","import $ from '../../shared/dom7.js';\nimport { extend } from '../../shared/utils.js';\nimport History from '../../shared/history.js';\nimport asyncComponent from './async-component.js';\n\nfunction tabLoad(tabRoute, loadOptions = {}) {\n const router = this;\n const options = extend(\n {\n animate: router.params.animate,\n browserHistory: true,\n history: true,\n parentPageEl: null,\n preload: false,\n on: {},\n },\n loadOptions,\n );\n\n let currentRoute;\n let previousRoute;\n if (options.route) {\n // Set Route\n if (!options.preload && options.route !== router.currentRoute) {\n previousRoute = router.previousRoute;\n router.currentRoute = options.route;\n }\n if (options.preload) {\n currentRoute = options.route;\n previousRoute = router.currentRoute;\n } else {\n currentRoute = router.currentRoute;\n if (!previousRoute) previousRoute = router.previousRoute;\n }\n\n // Update Browser History\n if (router.params.browserHistory && options.browserHistory && !options.reloadPrevious) {\n History[router.params.browserHistoryTabs](\n router.view.id,\n {\n url: options.route.url,\n },\n (router.params.browserHistoryRoot || '') +\n router.params.browserHistorySeparator +\n options.route.url,\n );\n }\n\n // Update Router History\n if (options.history) {\n router.history[Math.max(router.history.length - 1, 0)] = options.route.url;\n router.saveHistory();\n }\n }\n\n // Show Tab\n const $parentPageEl = $(options.parentPageEl || router.currentPageEl);\n let tabEl;\n if ($parentPageEl.length && $parentPageEl.find(`#${tabRoute.id}`).length) {\n tabEl = $parentPageEl.find(`#${tabRoute.id}`).eq(0);\n } else if (router.view.selector) {\n tabEl = `${router.view.selector} #${tabRoute.id}`;\n } else {\n tabEl = `#${tabRoute.id}`;\n }\n const tabShowResult = router.app.tab.show({\n tabEl,\n animate: options.animate,\n tabRoute: options.route,\n });\n\n const { $newTabEl, $oldTabEl, animated, onTabsChanged } = tabShowResult;\n\n if ($newTabEl && $newTabEl.parents('.page').length > 0 && options.route) {\n const tabParentPageData = $newTabEl.parents('.page')[0].f7Page;\n if (tabParentPageData && options.route) {\n tabParentPageData.route = options.route;\n }\n }\n\n // Tab Content Loaded\n function onTabLoaded(contentEl) {\n // Remove theme elements\n router.removeThemeElements($newTabEl);\n\n let tabEventTarget = $newTabEl;\n if (typeof contentEl !== 'string') tabEventTarget = $(contentEl);\n\n tabEventTarget.trigger('tab:init tab:mounted', tabRoute);\n router.emit('tabInit tabMounted', $newTabEl[0], tabRoute);\n\n if ($oldTabEl && $oldTabEl.length) {\n if (animated) {\n onTabsChanged(() => {\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n if (router.params.unloadTabContent) {\n router.tabRemove($oldTabEl, $newTabEl, tabRoute);\n }\n });\n } else {\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n if (router.params.unloadTabContent) {\n router.tabRemove($oldTabEl, $newTabEl, tabRoute);\n }\n }\n }\n }\n\n if ($newTabEl[0].f7RouterTabLoaded) {\n if (!$oldTabEl || !$oldTabEl.length) return router;\n if (animated) {\n onTabsChanged(() => {\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n });\n } else {\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n }\n return router;\n }\n\n // Load Tab Content\n function loadTab(loadTabParams, loadTabOptions) {\n // Load Tab Props\n const { url, content, el, component, componentUrl } = loadTabParams;\n // Component/Template Callbacks\n function resolve(contentEl) {\n router.allowPageChange = true;\n if (!contentEl) return;\n if (typeof contentEl === 'string') {\n $newTabEl.html(contentEl);\n } else {\n $newTabEl.html('');\n if (contentEl.f7Component) {\n contentEl.f7Component.mount((componentEl) => {\n $newTabEl.append(componentEl);\n });\n } else {\n $newTabEl.append(contentEl);\n }\n }\n $newTabEl[0].f7RouterTabLoaded = true;\n onTabLoaded(contentEl);\n }\n function reject() {\n router.allowPageChange = true;\n return router;\n }\n\n if (content) {\n resolve(content);\n } else if (el) {\n resolve(el);\n } else if (component || componentUrl) {\n // Load from component (F7/Vue/React/...)\n try {\n router.tabComponentLoader({\n tabEl: $newTabEl[0],\n component,\n componentUrl,\n options: loadTabOptions,\n resolve,\n reject,\n });\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (url) {\n // Load using XHR\n if (router.xhrAbortController) {\n router.xhrAbortController.abort();\n router.xhrAbortController = false;\n }\n router\n .xhrRequest(url, loadTabOptions)\n .then((tabContent) => {\n resolve(tabContent);\n })\n .catch(() => {\n router.allowPageChange = true;\n });\n }\n }\n\n let hasContentLoadProp;\n 'url content component el componentUrl'.split(' ').forEach((tabLoadProp) => {\n if (tabRoute[tabLoadProp]) {\n hasContentLoadProp = true;\n loadTab({ [tabLoadProp]: tabRoute[tabLoadProp] }, options);\n }\n });\n\n // Async\n function asyncResolve(resolveParams, resolveOptions) {\n loadTab(resolveParams, extend(options, resolveOptions));\n }\n function asyncReject() {\n router.allowPageChange = true;\n }\n if (tabRoute.async) {\n tabRoute.async.call(router, {\n router,\n to: currentRoute,\n from: previousRoute,\n resolve: asyncResolve,\n reject: asyncReject,\n app: router.app,\n });\n } else if (tabRoute.asyncComponent) {\n asyncComponent(router, tabRoute.asyncComponent, asyncResolve, asyncReject);\n } else if (!hasContentLoadProp) {\n router.allowPageChange = true;\n }\n\n return router;\n}\nfunction tabRemove($oldTabEl, $newTabEl, tabRoute) {\n const router = this;\n\n let hasTabComponentChild;\n if ($oldTabEl[0]) {\n $oldTabEl[0].f7RouterTabLoaded = false;\n delete $oldTabEl[0].f7RouterTabLoaded;\n }\n $oldTabEl.children().each((tabChild) => {\n if (tabChild.f7Component) {\n hasTabComponentChild = true;\n $(tabChild).trigger('tab:beforeremove', tabRoute);\n tabChild.f7Component.destroy();\n }\n });\n if (!hasTabComponentChild) {\n $oldTabEl.trigger('tab:beforeremove', tabRoute);\n }\n router.emit('tabBeforeRemove', $oldTabEl[0], $newTabEl[0], tabRoute);\n router.removeTabContent($oldTabEl[0], tabRoute);\n}\n\nexport { tabLoad, tabRemove };\n","import { extend, nextTick } from '../../shared/utils.js';\nimport History from '../../shared/history.js';\nimport asyncComponent from './async-component.js';\n\nfunction modalLoad(modalType, route, loadOptions = {}, direction) {\n const router = this;\n const app = router.app;\n const isPanel = modalType === 'panel';\n const modalOrPanel = isPanel ? 'panel' : 'modal';\n\n const options = extend(\n {\n animate: router.params.animate,\n browserHistory: true,\n history: true,\n on: {},\n once: {},\n },\n loadOptions,\n );\n\n const modalParams = extend({}, route.route[modalType]);\n const modalRoute = route.route;\n\n const routeCallback = (modal, name) => {\n const { on, once } = options;\n let callback;\n if (name === 'open') {\n callback = on.modalOpen || once.modalOpen || on.panelOpen || once.panelOpen;\n }\n if (name === 'close') {\n callback = on.modalClose || once.modalClose || on.panelClose || once.panelClose;\n }\n if (name === 'closed') {\n callback = on.modalClosed || once.modalClosed || on.panelClosed || once.panelClosed;\n }\n if (callback) callback(modal);\n };\n\n function onModalLoaded() {\n // Create Modal\n const modal = app[modalType].create(modalParams);\n modalRoute.modalInstance = modal;\n\n const hasEl = modal.el;\n\n function closeOnSwipeBack() {\n modal.close();\n }\n modal.on(`${modalOrPanel}Open`, () => {\n if (!hasEl) {\n // Remove theme elements\n router.removeThemeElements(modal.el);\n\n // Emit events\n modal.$el.trigger(\n `${modalType.toLowerCase()}:init ${modalType.toLowerCase()}:mounted`,\n route,\n modal,\n );\n router.emit(\n `${!isPanel ? 'modalInit' : ''} ${modalType}Init ${modalType}Mounted`,\n modal.el,\n route,\n modal,\n );\n }\n router.once('swipeBackMove', closeOnSwipeBack);\n routeCallback(modal, 'open');\n });\n modal.on(`${modalOrPanel}Close`, () => {\n router.off('swipeBackMove', closeOnSwipeBack);\n if (!modal.closeByRouter) {\n router.back();\n }\n routeCallback(modal, 'close');\n });\n\n modal.on(`${modalOrPanel}Closed`, () => {\n modal.$el.trigger(`${modalType.toLowerCase()}:beforeremove`, route, modal);\n modal.emit(\n `${!isPanel ? 'modalBeforeRemove ' : ''}${modalType}BeforeRemove`,\n modal.el,\n route,\n modal,\n );\n const modalComponent = modal.el.f7Component;\n routeCallback(modal, 'closed');\n if (modalComponent) {\n modalComponent.destroy();\n }\n nextTick(() => {\n if (modalComponent || modalParams.component || modalParams.asyncComponent) {\n router.removeModal(modal.el);\n }\n modal.destroy();\n delete modal.route;\n delete modalRoute.modalInstance;\n });\n });\n\n if (options.route) {\n // Update Browser History\n if (router.params.browserHistory && options.browserHistory) {\n History.push(\n router.view.id,\n {\n url: options.route.url,\n modal: modalType,\n },\n (router.params.browserHistoryRoot || '') +\n router.params.browserHistorySeparator +\n options.route.url,\n );\n }\n\n // Set Route\n if (options.route !== router.currentRoute) {\n modal.route = extend(options.route, { modal });\n router.currentRoute = modal.route;\n }\n\n // Update Router History\n if (options.history && !options.reloadCurrent) {\n router.history.push(options.route.url);\n router.saveHistory();\n }\n }\n\n if (hasEl) {\n // Remove theme elements\n router.removeThemeElements(modal.el);\n\n // Emit events\n modal.$el.trigger(\n `${modalType.toLowerCase()}:init ${modalType.toLowerCase()}:mounted`,\n route,\n modal,\n );\n router.emit(\n `${modalOrPanel}Init ${modalType}Init ${modalType}Mounted`,\n modal.el,\n route,\n modal,\n );\n }\n\n // Open\n modal.open(options.animate === false || options.animate === true ? options.animate : undefined);\n }\n\n // Load Modal Content\n function loadModal(loadModalParams, loadModalOptions) {\n // Load Modal Props\n const { url, content, component, componentUrl } = loadModalParams;\n\n // Component/Template Callbacks\n function resolve(contentEl) {\n if (contentEl) {\n if (typeof contentEl === 'string') {\n modalParams.content = contentEl;\n } else if (contentEl.f7Component) {\n contentEl.f7Component.mount((componentEl) => {\n modalParams.el = componentEl;\n app.$el.append(componentEl);\n });\n } else {\n modalParams.el = contentEl;\n }\n onModalLoaded();\n }\n }\n function reject() {\n router.allowPageChange = true;\n return router;\n }\n\n if (content) {\n resolve(content);\n } else if (component || componentUrl) {\n // Load from component (F7/Vue/React/...)\n try {\n router.modalComponentLoader({\n rootEl: app.el,\n component,\n componentUrl,\n options: loadModalOptions,\n resolve,\n reject,\n });\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (url) {\n // Load using XHR\n if (router.xhrAbortController) {\n router.xhrAbortController.abort();\n router.xhrAbortController = false;\n }\n router\n .xhrRequest(url, loadModalOptions)\n .then((modalContent) => {\n modalParams.content = modalContent;\n onModalLoaded();\n })\n .catch(() => {\n router.allowPageChange = true;\n });\n } else {\n onModalLoaded();\n }\n }\n\n let foundLoadProp;\n 'url content component el componentUrl template'.split(' ').forEach((modalLoadProp) => {\n if (modalParams[modalLoadProp] && !foundLoadProp) {\n foundLoadProp = true;\n loadModal({ [modalLoadProp]: modalParams[modalLoadProp] }, options);\n }\n });\n if (!foundLoadProp && modalType === 'actions') {\n onModalLoaded();\n }\n\n // Async\n function asyncResolve(resolveParams, resolveOptions) {\n loadModal(resolveParams, extend(options, resolveOptions));\n }\n function asyncReject() {\n router.allowPageChange = true;\n }\n if (modalParams.async) {\n modalParams.async.call(router, {\n router,\n to: options.route,\n from: router.currentRoute,\n resolve: asyncResolve,\n reject: asyncReject,\n direction,\n app,\n });\n }\n if (modalParams.asyncComponent) {\n asyncComponent(router, modalParams.asyncComponent, asyncResolve, asyncReject);\n }\n return router;\n}\nfunction modalRemove(modal) {\n extend(modal, { closeByRouter: true });\n modal.close();\n}\n\nexport { modalLoad, modalRemove };\n","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport { extend, parseUrlQuery } from '../../shared/utils.js';\nimport { getDevice } from '../../shared/get-device.js';\nimport History from '../../shared/history.js';\nimport redirect from './redirect.js';\nimport processRouteQueue from './process-route-queue.js';\nimport appRouterCheck from './app-router-check.js';\nimport asyncComponent from './async-component.js';\n\nfunction backward(router, el, backwardOptions) {\n const device = getDevice();\n const document = getDocument();\n const $el = $(el);\n const app = router.app;\n const view = router.view;\n\n const options = extend(\n false,\n {\n animate: router.params.animate,\n browserHistory: true,\n replaceState: false,\n },\n backwardOptions,\n );\n\n const masterDetailEnabled = router.params.masterDetailBreakpoint > 0;\n const isMaster =\n masterDetailEnabled &&\n options.route &&\n options.route.route &&\n (options.route.route.master === true ||\n (typeof options.route.route.master === 'function' &&\n options.route.route.master(app, router)));\n let masterPageEl;\n let masterPageRemoved;\n\n const dynamicNavbar = router.dynamicNavbar;\n\n const $newPage = $el;\n const $oldPage = router.$el.children('.page-current');\n const initialPreload = $oldPage.length === 0 && options.preload;\n const currentIsMaster = masterDetailEnabled && $oldPage.hasClass('page-master');\n\n if ($newPage.length) {\n // Remove theme elements\n router.removeThemeElements($newPage);\n }\n\n let $navbarsEl;\n let $newNavbarEl;\n let $oldNavbarEl;\n\n if (dynamicNavbar) {\n $newNavbarEl = $newPage.children('.navbar');\n $navbarsEl = router.$navbarsEl;\n if ($newNavbarEl.length === 0 && $newPage[0] && $newPage[0].f7Page) {\n // Try from pageData\n $newNavbarEl = $newPage[0].f7Page.$navbarEl;\n }\n $oldNavbarEl = $navbarsEl.find('.navbar-current');\n }\n\n router.allowPageChange = false;\n if ($newPage.length === 0 || ($oldPage.length === 0 && !options.preload)) {\n router.allowPageChange = true;\n return router;\n }\n\n // Remove theme elements\n router.removeThemeElements($newPage);\n\n // Save Keep Alive Cache\n if (\n options.route &&\n options.route.route &&\n options.route.route.keepAlive &&\n !options.route.route.keepAliveData\n ) {\n options.route.route.keepAliveData = {\n pageEl: $el[0],\n };\n }\n\n // Pages In View\n let isDetail;\n let isDetailRoot;\n if (masterDetailEnabled) {\n const $pagesInView = router.$el\n .children('.page:not(.stacked)')\n .filter((pageInView) => pageInView !== $newPage[0]);\n\n // Find Detail' master page\n for (let i = 0; i < $pagesInView.length; i += 1) {\n if (!masterPageEl && $pagesInView[i].classList.contains('page-master')) {\n masterPageEl = $pagesInView[i];\n continue; // eslint-disable-line\n }\n }\n\n isDetail =\n !isMaster &&\n masterPageEl &&\n router.history.indexOf(options.route.url) >\n router.history.indexOf(masterPageEl.f7Page.route.url);\n\n if (\n !isDetail &&\n !isMaster &&\n masterPageEl &&\n masterPageEl.f7Page &&\n options.route.route.masterRoute\n ) {\n isDetail = options.route.route.masterRoute.path === masterPageEl.f7Page.route.route.path;\n }\n }\n if (isDetail && masterPageEl && masterPageEl.f7Page) {\n isDetailRoot =\n router.history.indexOf(options.route.url) -\n router.history.indexOf(masterPageEl.f7Page.route.url) ===\n 1;\n }\n\n // New Page\n $newPage\n .addClass(\n `page-${initialPreload ? 'current' : 'previous'}${isMaster ? ' page-master' : ''}${\n isDetail ? ' page-master-detail' : ''\n }${isDetailRoot ? ' page-master-detail-root' : ''}`,\n )\n .removeClass('stacked')\n .removeAttr('aria-hidden')\n .trigger('page:unstack')\n .trigger('page:position', { position: initialPreload ? 'current' : 'previous' });\n router.emit('pageUnstack', $newPage[0]);\n router.emit('pagePosition', $newPage[0], initialPreload ? 'current' : 'previous');\n if (isMaster || isDetail) {\n $newPage.trigger('page:role', { role: isMaster ? 'master' : 'detail', root: !!isDetailRoot });\n router.emit('pageRole', $newPage[0], {\n role: isMaster ? 'master' : 'detail',\n detailRoot: !!isDetailRoot,\n });\n }\n\n if (dynamicNavbar && $newNavbarEl.length > 0) {\n $newNavbarEl\n .addClass(\n `navbar-${initialPreload ? 'current' : 'previous'}${isMaster ? ' navbar-master' : ''}${\n isDetail ? ' navbar-master-detail' : ''\n }${isDetailRoot ? ' navbar-master-detail-root' : ''}`,\n )\n .removeClass('stacked')\n .removeAttr('aria-hidden');\n $newNavbarEl.trigger('navbar:position', { position: initialPreload ? 'current' : 'previous' });\n router.emit('navbarPosition', $newNavbarEl[0], initialPreload ? 'current' : 'previous');\n if (isMaster || isDetailRoot) {\n router.emit('navbarRole', $newNavbarEl[0], {\n role: isMaster ? 'master' : 'detail',\n detailRoot: !!isDetailRoot,\n });\n }\n }\n\n // Remove previous page in case of \"forced\"\n let backIndex;\n if (options.force) {\n if (\n $oldPage.prev('.page-previous:not(.stacked)').length > 0 ||\n $oldPage.prev('.page-previous').length === 0\n ) {\n if (router.history.indexOf(options.route.url) >= 0) {\n backIndex = router.history.length - router.history.indexOf(options.route.url) - 1;\n router.history = router.history.slice(0, router.history.indexOf(options.route.url) + 2);\n router.propsHistory = router.propsHistory.slice(\n 0,\n router.history.indexOf(options.route.url) + 2,\n );\n view.history = router.history;\n } else if (router.history[[router.history.length - 2]]) {\n router.propsHistory[router.propsHistory.length - 2] = options.props || {};\n } else {\n router.history.unshift(router.url);\n router.propsHistory.unshift(options.props || {});\n }\n\n if (backIndex && router.params.stackPages) {\n $oldPage.prevAll('.page-previous').each((pageToRemove) => {\n const $pageToRemove = $(pageToRemove);\n let $navbarToRemove;\n if (dynamicNavbar) {\n // $navbarToRemove = $oldNavbarEl.prevAll('.navbar-previous').eq(index);\n $navbarToRemove = $(app.navbar.getElByPage($pageToRemove));\n }\n if ($pageToRemove[0] !== $newPage[0] && $pageToRemove.index() > $newPage.index()) {\n if (router.initialPages.indexOf($pageToRemove[0]) >= 0) {\n $pageToRemove.addClass('stacked');\n $pageToRemove.trigger('page:stack');\n router.emit('pageStack', $pageToRemove[0]);\n if (dynamicNavbar) {\n $navbarToRemove.addClass('stacked');\n }\n } else {\n router.pageCallback(\n 'beforeRemove',\n $pageToRemove,\n $navbarToRemove,\n 'previous',\n undefined,\n options,\n );\n if ($pageToRemove[0] === masterPageEl) {\n masterPageRemoved = true;\n }\n router.removePage($pageToRemove);\n if (dynamicNavbar && $navbarToRemove.length > 0) {\n router.removeNavbar($navbarToRemove);\n }\n }\n }\n });\n } else {\n const $pageToRemove = $oldPage.prev('.page-previous:not(.stacked)');\n let $navbarToRemove;\n if (dynamicNavbar) {\n // $navbarToRemove = $oldNavbarEl.prev('.navbar-inner:not(.stacked)');\n $navbarToRemove = $(app.navbar.getElByPage($pageToRemove));\n }\n if (router.params.stackPages && router.initialPages.indexOf($pageToRemove[0]) >= 0) {\n $pageToRemove.addClass('stacked');\n $pageToRemove.trigger('page:stack');\n router.emit('pageStack', $pageToRemove[0]);\n $navbarToRemove.addClass('stacked');\n } else if ($pageToRemove.length > 0) {\n router.pageCallback(\n 'beforeRemove',\n $pageToRemove,\n $navbarToRemove,\n 'previous',\n undefined,\n options,\n );\n if ($pageToRemove[0] === masterPageEl) {\n masterPageRemoved = true;\n }\n router.removePage($pageToRemove);\n if (dynamicNavbar && $navbarToRemove.length) {\n router.removeNavbar($navbarToRemove);\n }\n }\n }\n }\n }\n\n // Insert new page\n const newPageInDom = $newPage.parents(document).length > 0;\n const f7Component = $newPage[0].f7Component;\n\n function insertPage() {\n if (initialPreload) {\n if (!newPageInDom && f7Component) {\n f7Component.mount((componentEl) => {\n router.$el.append(componentEl);\n });\n } else {\n router.$el.append($newPage);\n }\n }\n if ($newPage.next($oldPage).length === 0) {\n if (!newPageInDom && f7Component) {\n f7Component.mount((componentEl) => {\n $(componentEl).insertBefore($oldPage);\n });\n } else {\n $newPage.insertBefore($oldPage);\n }\n }\n if (dynamicNavbar && $newNavbarEl.length) {\n if ($newNavbarEl.find('.title-large').length) {\n $newNavbarEl.addClass('navbar-large');\n }\n $newNavbarEl.insertBefore($oldNavbarEl);\n if ($oldNavbarEl.length > 0) {\n $newNavbarEl.insertBefore($oldNavbarEl);\n } else {\n if (!router.$navbarsEl.parents(document).length) {\n router.$el.prepend(router.$navbarsEl);\n }\n $navbarsEl.append($newNavbarEl);\n }\n }\n if (!newPageInDom) {\n router.pageCallback(\n 'mounted',\n $newPage,\n $newNavbarEl,\n 'previous',\n 'current',\n options,\n $oldPage,\n );\n } else if (\n options.route &&\n options.route.route &&\n options.route.route.keepAlive &&\n !$newPage[0].f7PageMounted\n ) {\n $newPage[0].f7PageMounted = true;\n router.pageCallback(\n 'mounted',\n $newPage,\n $newNavbarEl,\n 'previous',\n 'current',\n options,\n $oldPage,\n );\n }\n }\n\n if (options.preload) {\n // Insert Page\n insertPage();\n // Tab route\n if (options.route.route.tab) {\n router.tabLoad(\n options.route.route.tab,\n extend({}, options, {\n history: false,\n browserHistory: false,\n preload: true,\n }),\n );\n }\n if (isMaster) {\n $newPage.removeClass('page-master-stacked').trigger('page:masterunstack');\n router.emit('pageMasterUnstack', $newPage[0]);\n if (dynamicNavbar) {\n $(app.navbar.getElByPage($newPage)).removeClass('navbar-master-stacked');\n router.emit('navbarMasterUnstack', app.navbar.getElByPage($newPage));\n }\n }\n // Page init and before init events\n router.pageCallback('init', $newPage, $newNavbarEl, 'previous', 'current', options, $oldPage);\n if (initialPreload) {\n router.pageCallback('beforeIn', $newPage, $newNavbarEl, 'current', undefined, options);\n router.pageCallback('afterIn', $newPage, $newNavbarEl, 'current', undefined, options);\n }\n const $previousPages = $newPage.prevAll('.page-previous:not(.stacked):not(.page-master)');\n if ($previousPages.length > 0) {\n $previousPages.each((pageToRemove) => {\n const $pageToRemove = $(pageToRemove);\n let $navbarToRemove;\n if (dynamicNavbar) {\n // $navbarToRemove = $newNavbarEl.prevAll('.navbar-previous:not(.stacked)').eq(index);\n $navbarToRemove = $(app.navbar.getElByPage($pageToRemove));\n }\n if (router.params.stackPages && router.initialPages.indexOf(pageToRemove) >= 0) {\n $pageToRemove.addClass('stacked');\n $pageToRemove.trigger('page:stack');\n router.emit('pageStack', $pageToRemove[0]);\n if (dynamicNavbar) {\n $navbarToRemove.addClass('stacked');\n }\n } else {\n router.pageCallback(\n 'beforeRemove',\n $pageToRemove,\n $navbarToRemove,\n 'previous',\n undefined,\n );\n router.removePage($pageToRemove);\n if (dynamicNavbar && $navbarToRemove.length) {\n router.removeNavbar($navbarToRemove);\n }\n }\n });\n }\n router.allowPageChange = true;\n return router;\n }\n\n // History State\n if (!(device.ie || device.edge || (device.firefox && !device.ios))) {\n if (router.params.browserHistory && options.browserHistory) {\n if (options.replaceState) {\n const browserHistoryRoot = router.params.browserHistoryRoot || '';\n History.replace(\n view.id,\n {\n url: options.route.url,\n },\n browserHistoryRoot + router.params.browserHistorySeparator + options.route.url,\n );\n } else if (backIndex) {\n History.go(-backIndex);\n } else {\n History.back();\n }\n }\n }\n\n // Update History\n if (options.replaceState) {\n router.history[router.history.length - 1] = options.route.url;\n router.propsHistory[router.propsHistory.length - 1] = options.props || {};\n } else {\n if (router.history.length === 1) {\n router.history.unshift(router.url);\n router.propsHistory.unshift(options.props || {});\n }\n router.history.pop();\n router.propsHistory.pop();\n }\n router.saveHistory();\n\n // Current Page & Navbar\n router.currentPageEl = $newPage[0];\n if (dynamicNavbar && $newNavbarEl.length) {\n router.currentNavbarEl = $newNavbarEl[0];\n } else {\n delete router.currentNavbarEl;\n }\n\n // Current Route\n router.currentRoute = options.route;\n\n // History State\n if (device.ie || device.edge || (device.firefox && !device.ios)) {\n if (router.params.browserHistory && options.browserHistory) {\n if (options.replaceState) {\n const browserHistoryRoot = router.params.browserHistoryRoot || '';\n History.replace(\n view.id,\n {\n url: options.route.url,\n },\n browserHistoryRoot + router.params.browserHistorySeparator + options.route.url,\n );\n } else if (backIndex) {\n History.go(-backIndex);\n } else {\n History.back();\n }\n }\n }\n\n // Insert Page\n insertPage();\n\n // Load Tab\n if (options.route.route.tab) {\n router.tabLoad(\n options.route.route.tab,\n extend({}, options, {\n history: false,\n browserHistory: false,\n }),\n );\n }\n\n // Check master detail\n\n if (masterDetailEnabled && (currentIsMaster || masterPageRemoved)) {\n view.checkMasterDetailBreakpoint(false);\n }\n\n // Page init and before init events\n router.pageCallback('init', $newPage, $newNavbarEl, 'previous', 'current', options, $oldPage);\n\n // Before animation callback\n router.pageCallback('beforeOut', $oldPage, $oldNavbarEl, 'current', 'next', options);\n router.pageCallback('beforeIn', $newPage, $newNavbarEl, 'previous', 'current', options);\n\n // Animation\n function afterAnimation() {\n // Set classes\n router.setPagePosition($newPage, 'current', false);\n router.setPagePosition($oldPage, 'next', true);\n if (dynamicNavbar) {\n router.setNavbarPosition($newNavbarEl, 'current', false);\n router.setNavbarPosition($oldNavbarEl, 'next', true);\n }\n\n // After animation event\n router.pageCallback('afterOut', $oldPage, $oldNavbarEl, 'current', 'next', options);\n router.pageCallback('afterIn', $newPage, $newNavbarEl, 'previous', 'current', options);\n\n // Remove Old Page\n if (router.params.stackPages && router.initialPages.indexOf($oldPage[0]) >= 0) {\n $oldPage.addClass('stacked');\n $oldPage.trigger('page:stack');\n router.emit('pageStack', $oldPage[0]);\n if (dynamicNavbar) {\n $oldNavbarEl.addClass('stacked');\n }\n } else {\n router.pageCallback('beforeRemove', $oldPage, $oldNavbarEl, 'next', undefined, options);\n router.removePage($oldPage);\n if (dynamicNavbar && $oldNavbarEl.length) {\n router.removeNavbar($oldNavbarEl);\n }\n }\n\n router.allowPageChange = true;\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n\n // Preload previous page\n const preloadPreviousPage =\n router.params.preloadPreviousPage || router.params[`${app.theme}SwipeBack`];\n if (preloadPreviousPage && router.history[router.history.length - 2] && !isMaster) {\n router.back(router.history[router.history.length - 2], {\n preload: true,\n props: router.propsHistory[router.propsHistory.length - 2] || {},\n });\n }\n if (router.params.browserHistory) {\n History.clearRouterQueue();\n }\n }\n\n function setPositionClasses() {\n router.setPagePosition($oldPage, 'current');\n router.setPagePosition($newPage, 'previous', false);\n if (dynamicNavbar) {\n router.setNavbarPosition($oldNavbarEl, 'current');\n router.setNavbarPosition($newNavbarEl, 'previous', false);\n }\n }\n\n if (options.animate && !(currentIsMaster && app.width >= router.params.masterDetailBreakpoint)) {\n let transition = router.params.transition;\n if ($oldPage[0] && $oldPage[0].f7PageTransition) {\n transition = $oldPage[0].f7PageTransition;\n delete $oldPage[0].f7PageTransition;\n }\n if (options.transition) transition = options.transition;\n if (!transition && router.previousRoute && router.previousRoute.route) {\n transition = router.previousRoute.route.transition;\n }\n if (\n !transition &&\n router.previousRoute &&\n router.previousRoute.route &&\n router.previousRoute.route.options\n ) {\n transition = router.previousRoute.route.options.transition;\n }\n setPositionClasses();\n router.animate($oldPage, $newPage, $oldNavbarEl, $newNavbarEl, 'backward', transition, () => {\n afterAnimation();\n });\n } else {\n afterAnimation();\n }\n\n return router;\n}\nfunction loadBack(router, backParams, backOptions, ignorePageChange) {\n if (!router.allowPageChange && !ignorePageChange) return router;\n const params = backParams;\n const options = backOptions;\n const { url, content, el, pageName, component, componentUrl } = params;\n\n if (\n options.route.url &&\n router.url === options.route.url &&\n !(options.reloadCurrent || options.reloadPrevious) &&\n !router.params.allowDuplicateUrls\n ) {\n router.allowPageChange = true;\n return false;\n }\n\n if (!options.route && url) {\n options.route = router.parseRouteUrl(url);\n }\n\n // Component Callbacks\n function resolve(pageEl, newOptions) {\n return backward(router, pageEl, extend(options, newOptions));\n }\n function reject() {\n router.allowPageChange = true;\n return router;\n }\n\n if (url || componentUrl || component) {\n router.allowPageChange = false;\n }\n\n // Proceed\n if (content) {\n backward(router, router.getPageEl(content), options);\n } else if (el) {\n // Load page from specified HTMLElement or by page name in pages container\n backward(router, router.getPageEl(el), options);\n } else if (pageName) {\n // Load page by page name in pages container\n backward(router, router.$el.children(`.page[data-name=\"${pageName}\"]`).eq(0), options);\n } else if (component || componentUrl) {\n // Load from component (F7/Vue/React/...)\n try {\n router.pageComponentLoader({\n routerEl: router.el,\n component,\n componentUrl,\n options,\n resolve,\n reject,\n });\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (url) {\n // Load using XHR\n if (router.xhrAbortController) {\n router.xhrAbortController.abort();\n router.xhrAbortController = false;\n }\n router\n .xhrRequest(url, options)\n .then((pageContent) => {\n backward(router, router.getPageEl(pageContent), options);\n })\n .catch(() => {\n router.allowPageChange = true;\n });\n }\n return router;\n}\nfunction back(...args) {\n const router = this;\n const device = getDevice();\n if (router.swipeBackActive) return router;\n let navigateUrl;\n let navigateOptions;\n let navigateProps;\n let route;\n if (typeof args[0] === 'object') {\n navigateOptions = args[0] || {};\n } else {\n navigateUrl = args[0];\n navigateOptions = args[1] || {};\n }\n\n const { name, params, query } = navigateOptions;\n if (name) {\n navigateUrl = router.generateUrl({ name, params, query });\n if (navigateUrl) {\n return router.back(\n navigateUrl,\n extend({}, navigateOptions, {\n name: null,\n params: null,\n query: null,\n }),\n );\n }\n return router;\n }\n\n const app = router.app;\n appRouterCheck(router, 'back');\n\n let currentRouteIsModal = router.currentRoute.modal;\n let modalType;\n if (!currentRouteIsModal) {\n 'popup popover sheet loginScreen actions customModal panel'\n .split(' ')\n .forEach((modalLoadProp) => {\n if (router.currentRoute.route[modalLoadProp]) {\n currentRouteIsModal = true;\n modalType = modalLoadProp;\n }\n });\n }\n if (currentRouteIsModal && !navigateOptions.preload) {\n const modalToClose =\n router.currentRoute.modal || router.currentRoute.route.modalInstance || app[modalType].get();\n const previousUrl = router.history[router.history.length - 2];\n let previousRoute;\n // check if previous route is modal too\n if (modalToClose && modalToClose.$el) {\n const prevOpenedModals = modalToClose.$el.prevAll('.modal-in');\n if (prevOpenedModals.length && prevOpenedModals[0].f7Modal) {\n const modalEl = prevOpenedModals[0];\n // check if current router not inside of the modalEl\n if (!router.$el.parents(modalEl).length) {\n previousRoute = modalEl.f7Modal.route;\n }\n }\n }\n if (!previousRoute) {\n previousRoute = router.findMatchingRoute(previousUrl);\n }\n\n if (!previousRoute && previousUrl) {\n previousRoute = {\n url: previousUrl,\n path: previousUrl.split('?')[0],\n query: parseUrlQuery(previousUrl),\n route: {\n path: previousUrl.split('?')[0],\n url: previousUrl,\n },\n };\n }\n if (!navigateUrl || navigateUrl.replace(/[# ]/g, '').trim().length === 0) {\n if (!previousRoute || !modalToClose) {\n return router;\n }\n }\n const forceOtherUrl = navigateOptions.force && previousRoute && navigateUrl;\n if (previousRoute && modalToClose) {\n const isBrokenBrowserHistory = device.ie || device.edge || (device.firefox && !device.ios);\n const needHistoryBack =\n router.params.browserHistory && navigateOptions.browserHistory !== false;\n const currentRouteWithoutBrowserHistory =\n router.currentRoute &&\n router.currentRoute.route &&\n router.currentRoute.route.options &&\n router.currentRoute.route.options.browserHistory === false;\n if (needHistoryBack && !isBrokenBrowserHistory && !currentRouteWithoutBrowserHistory) {\n History.back();\n }\n router.currentRoute = previousRoute;\n router.history.pop();\n router.propsHistory.pop();\n router.saveHistory();\n\n if (needHistoryBack && isBrokenBrowserHistory && !currentRouteWithoutBrowserHistory) {\n History.back();\n }\n\n router.modalRemove(modalToClose);\n if (forceOtherUrl) {\n router.navigate(navigateUrl, { reloadCurrent: true });\n }\n } else if (modalToClose) {\n router.modalRemove(modalToClose);\n if (navigateUrl) {\n router.navigate(navigateUrl, { reloadCurrent: true });\n }\n }\n return router;\n }\n let $previousPage = router.$el\n .children('.page-current')\n .prevAll('.page-previous:not(.page-master)')\n .eq(0);\n\n let skipMaster;\n if (router.params.masterDetailBreakpoint > 0) {\n const classes = [];\n router.$el.children('.page').each((pageEl) => {\n classes.push(pageEl.className);\n });\n\n const $previousMaster = router.$el.children('.page-current').prevAll('.page-master').eq(0);\n if ($previousMaster.length) {\n const expectedPreviousPageUrl = router.history[router.history.length - 2];\n const expectedPreviousPageRoute = router.findMatchingRoute(expectedPreviousPageUrl);\n if (\n expectedPreviousPageRoute &&\n $previousMaster[0].f7Page &&\n expectedPreviousPageRoute.route === $previousMaster[0].f7Page.route.route\n ) {\n $previousPage = $previousMaster;\n if (!navigateOptions.preload) {\n skipMaster = app.width >= router.params.masterDetailBreakpoint;\n }\n }\n }\n }\n\n if (!navigateOptions.force && $previousPage.length && !skipMaster) {\n if (\n router.params.browserHistory &&\n $previousPage[0].f7Page &&\n router.history[router.history.length - 2] !== $previousPage[0].f7Page.route.url\n ) {\n router.back(\n router.history[router.history.length - 2],\n extend(navigateOptions, {\n force: true,\n props: router.propsHistory[router.propsHistory.length - 2] || {},\n }),\n );\n return router;\n }\n const previousPageRoute = $previousPage[0].f7Page.route;\n if (navigateOptions.preload && $previousPage.hasClass('stacked')) {\n loadBack(\n router,\n { el: $previousPage },\n extend(navigateOptions, {\n route: previousPageRoute,\n }),\n );\n return router;\n }\n processRouteQueue.call(\n router,\n previousPageRoute,\n router.currentRoute,\n () => {\n loadBack(\n router,\n { el: $previousPage },\n extend(navigateOptions, {\n route: previousPageRoute,\n }),\n );\n },\n () => {},\n 'backward',\n );\n\n return router;\n }\n\n // Navigate URL\n if (navigateUrl === '#') {\n navigateUrl = undefined;\n }\n if (navigateUrl && navigateUrl[0] !== '/' && navigateUrl.indexOf('#') !== 0) {\n navigateUrl = ((router.path || '/') + navigateUrl).replace('//', '/');\n }\n if (!navigateUrl && router.history.length > 1) {\n navigateUrl = router.history[router.history.length - 2];\n navigateProps = router.propsHistory[router.propsHistory.length - 2] || {};\n }\n if (skipMaster && !navigateOptions.force && router.history[router.history.length - 3]) {\n return router.back(\n router.history[router.history.length - 3],\n extend({}, navigateOptions || {}, {\n force: true,\n animate: false,\n props: router.propsHistory[router.propsHistory.length - 3] || {},\n }),\n );\n }\n if (skipMaster && !navigateOptions.force) {\n return router;\n }\n\n // Find route to load\n route = router.findMatchingRoute(navigateUrl);\n if (!route) {\n if (navigateUrl) {\n route = {\n url: navigateUrl,\n path: navigateUrl.split('?')[0],\n query: parseUrlQuery(navigateUrl),\n route: {\n path: navigateUrl.split('?')[0],\n url: navigateUrl,\n },\n };\n }\n }\n if (!route) {\n return router;\n }\n\n if (route.route.redirect) {\n return redirect.call(router, 'backward', route, navigateOptions);\n }\n\n const options = {};\n if (route.route.options) {\n extend(options, route.route.options, navigateOptions, { props: navigateProps || {} });\n } else {\n extend(options, navigateOptions, { props: navigateProps || {} });\n }\n options.route = route;\n\n let backForceLoaded;\n if (options.force && router.params.stackPages) {\n router.$el.children('.page-previous.stacked').each((pageEl) => {\n if (pageEl.f7Page && pageEl.f7Page.route && pageEl.f7Page.route.url === route.url) {\n backForceLoaded = true;\n loadBack(router, { el: pageEl }, options);\n }\n });\n if (backForceLoaded) {\n return router;\n }\n }\n function resolve() {\n let routerLoaded = false;\n if (route.route.keepAlive && route.route.keepAliveData) {\n loadBack(router, { el: route.route.keepAliveData.pageEl }, options);\n routerLoaded = true;\n }\n 'url content component pageName el componentUrl'.split(' ').forEach((pageLoadProp) => {\n if (route.route[pageLoadProp] && !routerLoaded) {\n routerLoaded = true;\n loadBack(router, { [pageLoadProp]: route.route[pageLoadProp] }, options);\n }\n });\n if (routerLoaded) return;\n // Async\n function asyncResolve(resolveParams, resolveOptions) {\n router.allowPageChange = false;\n loadBack(router, resolveParams, extend(options, resolveOptions), true);\n }\n function asyncReject() {\n router.allowPageChange = true;\n }\n if (route.route.async) {\n router.allowPageChange = false;\n route.route.async.call(router, {\n router,\n to: route,\n from: router.currentRoute,\n resolve: asyncResolve,\n reject: asyncReject,\n direction: 'backward',\n app,\n });\n }\n if (route.route.asyncComponent) {\n asyncComponent(router, route.route.asyncComponent, asyncResolve, asyncReject);\n }\n }\n function reject() {\n router.allowPageChange = true;\n }\n\n if (options.preload) {\n resolve();\n } else {\n processRouteQueue.call(\n router,\n route,\n router.currentRoute,\n () => {\n if (route.route.modules) {\n app\n .loadModules(\n Array.isArray(route.route.modules) ? route.route.modules : [route.route.modules],\n )\n .then(() => {\n resolve();\n })\n .catch(() => {\n reject();\n });\n } else {\n resolve();\n }\n },\n () => {\n reject();\n },\n 'backward',\n );\n }\n\n // Return Router\n return router;\n}\nexport { back };\n","import $ from '../../shared/dom7.js';\nimport appRouterCheck from './app-router-check.js';\n\nfunction clearPreviousPages(router) {\n appRouterCheck(router, 'clearPreviousPages');\n const app = router.app;\n const dynamicNavbar = router.dynamicNavbar;\n\n const $pagesToRemove = router.$el.children('.page').filter((pageInView) => {\n if (router.currentRoute && (router.currentRoute.modal || router.currentRoute.panel))\n return true;\n return pageInView !== router.currentPageEl;\n });\n\n $pagesToRemove.each((pageEl) => {\n const $oldPageEl = $(pageEl);\n const $oldNavbarEl = $(app.navbar.getElByPage($oldPageEl));\n if (router.params.stackPages && router.initialPages.indexOf($oldPageEl[0]) >= 0) {\n $oldPageEl.addClass('stacked');\n if (dynamicNavbar) {\n $oldNavbarEl.addClass('stacked');\n }\n } else {\n // Page remove event\n router.pageCallback('beforeRemove', $oldPageEl, $oldNavbarEl, 'previous', undefined, {});\n router.removePage($oldPageEl);\n if (dynamicNavbar && $oldNavbarEl.length) {\n router.removeNavbar($oldNavbarEl);\n }\n }\n });\n}\n\nfunction clearPreviousHistory() {\n const router = this;\n appRouterCheck(router, 'clearPreviousHistory');\n const url = router.history[router.history.length - 1];\n\n clearPreviousPages(router);\n\n router.history = [url];\n router.view.history = [url];\n router.saveHistory();\n}\n\nexport { clearPreviousHistory }; // eslint-disable-line\n","import { getWindow, getDocument } from 'ssr-window';\nimport { pathToRegexp, compile } from 'path-to-regexp';\nimport $ from '../../shared/dom7.js';\nimport Framework7Class from '../../shared/class.js';\nimport {\n extend,\n nextFrame,\n parseUrlQuery,\n serializeObject,\n now,\n eventNameToColonCase,\n} from '../../shared/utils.js';\nimport History from '../../shared/history.js';\nimport SwipeBack from './swipe-back.js';\n\nimport { refreshPage, navigate } from './navigate.js';\nimport { tabLoad, tabRemove } from './tab.js';\nimport { modalLoad, modalRemove } from './modal.js';\nimport { back } from './back.js';\nimport { clearPreviousHistory } from './clear-previous-history.js';\nimport appRouterCheck from './app-router-check.js';\n\nclass Router extends Framework7Class {\n constructor(app, view) {\n super({}, [typeof view === 'undefined' ? app : view]);\n const router = this;\n\n // Is App Router\n router.isAppRouter = typeof view === 'undefined';\n\n if (router.isAppRouter) {\n // App Router\n extend(false, router, {\n app,\n params: app.params.view,\n routes: app.routes || [],\n cache: app.cache,\n });\n } else {\n // View Router\n extend(false, router, {\n app,\n view,\n viewId: view.id,\n id: view.params.routerId,\n params: view.params,\n routes: view.routes,\n history: view.history,\n propsHistory: [],\n scrollHistory: view.scrollHistory,\n cache: app.cache,\n dynamicNavbar: app.theme === 'ios' && view.params.iosDynamicNavbar,\n initialPages: [],\n initialNavbars: [],\n });\n }\n\n // Install Modules\n router.useModules();\n\n // AllowPageChage\n router.allowPageChange = true;\n\n // Current Route\n let currentRoute = {};\n let previousRoute = {};\n Object.defineProperty(router, 'currentRoute', {\n enumerable: true,\n configurable: true,\n set(newRoute = {}) {\n previousRoute = extend({}, currentRoute);\n currentRoute = newRoute;\n if (!currentRoute) return;\n router.url = currentRoute.url;\n router.emit('routeChange', newRoute, previousRoute, router);\n },\n get() {\n return currentRoute;\n },\n });\n Object.defineProperty(router, 'previousRoute', {\n enumerable: true,\n configurable: true,\n get() {\n return previousRoute;\n },\n set(newRoute) {\n previousRoute = newRoute;\n },\n });\n\n return router;\n }\n\n mount() {\n const router = this;\n const view = router.view;\n const document = getDocument();\n\n extend(false, router, {\n tempDom: document.createElement('div'),\n $el: view.$el,\n el: view.el,\n $navbarsEl: view.$navbarsEl,\n navbarsEl: view.navbarsEl,\n });\n\n router.emit('local::mount routerMount', router);\n }\n\n animatableNavElements($newNavbarEl, $oldNavbarEl, toLarge, fromLarge, direction) {\n const router = this;\n const dynamicNavbar = router.dynamicNavbar;\n const animateIcon = router.params.iosAnimateNavbarBackIcon;\n\n let newNavEls;\n let oldNavEls;\n function animatableNavEl($el, $navbarInner) {\n const isSliding = $el.hasClass('sliding') || $navbarInner.hasClass('sliding');\n const isSubnavbar = $el.hasClass('subnavbar');\n const needsOpacityTransition = isSliding ? !isSubnavbar : true;\n const $iconEl = $el.find('.back .icon');\n let isIconLabel;\n if (\n isSliding &&\n animateIcon &&\n $el.hasClass('left') &&\n $iconEl.length > 0 &&\n $iconEl.next('span').length\n ) {\n $el = $iconEl.next('span'); // eslint-disable-line\n isIconLabel = true;\n }\n return {\n $el,\n isIconLabel,\n leftOffset: $el[0].f7NavbarLeftOffset,\n rightOffset: $el[0].f7NavbarRightOffset,\n isSliding,\n isSubnavbar,\n needsOpacityTransition,\n };\n }\n if (dynamicNavbar) {\n newNavEls = [];\n oldNavEls = [];\n $newNavbarEl\n .children('.navbar-inner')\n .children('.left, .right, .title, .subnavbar')\n .each((navEl) => {\n const $navEl = $(navEl);\n if ($navEl.hasClass('left') && fromLarge && direction === 'forward') return;\n if ($navEl.hasClass('title') && toLarge) return;\n newNavEls.push(animatableNavEl($navEl, $newNavbarEl.children('.navbar-inner')));\n });\n if (\n !(\n $oldNavbarEl.hasClass('navbar-master') &&\n router.params.masterDetailBreakpoint > 0 &&\n router.app.width >= router.params.masterDetailBreakpoint\n )\n ) {\n $oldNavbarEl\n .children('.navbar-inner')\n .children('.left, .right, .title, .subnavbar')\n .each((navEl) => {\n const $navEl = $(navEl);\n if ($navEl.hasClass('left') && toLarge && !fromLarge && direction === 'forward') return;\n if ($navEl.hasClass('left') && toLarge && direction === 'backward') return;\n if ($navEl.hasClass('title') && fromLarge) {\n return;\n }\n oldNavEls.push(animatableNavEl($navEl, $oldNavbarEl.children('.navbar-inner')));\n });\n }\n [oldNavEls, newNavEls].forEach((navEls) => {\n navEls.forEach((navEl) => {\n const n = navEl;\n const { isSliding, $el } = navEl;\n const otherEls = navEls === oldNavEls ? newNavEls : oldNavEls;\n if (!(isSliding && $el.hasClass('title') && otherEls)) return;\n otherEls.forEach((otherNavEl) => {\n if (otherNavEl.isIconLabel) {\n const iconTextEl = otherNavEl.$el[0];\n n.leftOffset += iconTextEl ? iconTextEl.offsetLeft || 0 : 0;\n }\n });\n });\n });\n }\n\n return { newNavEls, oldNavEls };\n }\n\n animate($oldPageEl, $newPageEl, $oldNavbarEl, $newNavbarEl, direction, transition, callback) {\n const router = this;\n if (router.params.animateCustom) {\n router.params.animateCustom.apply(router, [\n $oldPageEl,\n $newPageEl,\n $oldNavbarEl,\n $newNavbarEl,\n direction,\n callback,\n ]);\n return;\n }\n const dynamicNavbar = router.dynamicNavbar;\n const ios = router.app.theme === 'ios';\n if (transition) {\n const routerCustomTransitionClass = `router-transition-custom router-transition-${transition}-${direction}`;\n // Animate\n const onCustomTransitionDone = () => {\n router.$el.removeClass(routerCustomTransitionClass);\n if (dynamicNavbar && router.$navbarsEl.length) {\n if ($newNavbarEl) {\n router.$navbarsEl.prepend($newNavbarEl);\n }\n if ($oldNavbarEl) {\n router.$navbarsEl.prepend($oldNavbarEl);\n }\n }\n if (callback) callback();\n };\n\n (direction === 'forward' ? $newPageEl : $oldPageEl).animationEnd(onCustomTransitionDone);\n if (dynamicNavbar) {\n if ($newNavbarEl && $newPageEl) {\n router.setNavbarPosition($newNavbarEl, '');\n $newNavbarEl.removeClass('navbar-next navbar-previous navbar-current');\n $newPageEl.prepend($newNavbarEl);\n }\n if ($oldNavbarEl && $oldPageEl) {\n router.setNavbarPosition($oldNavbarEl, '');\n $oldNavbarEl.removeClass('navbar-next navbar-previous navbar-current');\n $oldPageEl.prepend($oldNavbarEl);\n }\n }\n\n router.$el.addClass(routerCustomTransitionClass);\n return;\n }\n\n // Router Animation class\n const routerTransitionClass = `router-transition-${direction} router-transition`;\n\n let newNavEls;\n let oldNavEls;\n\n let fromLarge;\n let toLarge;\n let toDifferent;\n\n let oldIsLarge;\n let newIsLarge;\n\n if (ios && dynamicNavbar) {\n const betweenMasterAndDetail =\n router.params.masterDetailBreakpoint > 0 &&\n router.app.width >= router.params.masterDetailBreakpoint &&\n (($oldNavbarEl.hasClass('navbar-master') &&\n $newNavbarEl.hasClass('navbar-master-detail')) ||\n ($oldNavbarEl.hasClass('navbar-master-detail') &&\n $newNavbarEl.hasClass('navbar-master')));\n if (!betweenMasterAndDetail) {\n oldIsLarge = $oldNavbarEl && $oldNavbarEl.hasClass('navbar-large');\n newIsLarge = $newNavbarEl && $newNavbarEl.hasClass('navbar-large');\n fromLarge = oldIsLarge && !$oldNavbarEl.hasClass('navbar-large-collapsed');\n toLarge = newIsLarge && !$newNavbarEl.hasClass('navbar-large-collapsed');\n toDifferent = (fromLarge && !toLarge) || (toLarge && !fromLarge);\n }\n const navEls = router.animatableNavElements(\n $newNavbarEl,\n $oldNavbarEl,\n toLarge,\n fromLarge,\n direction,\n );\n newNavEls = navEls.newNavEls;\n oldNavEls = navEls.oldNavEls;\n }\n\n function animateNavbars(progress) {\n if (!(ios && dynamicNavbar)) return;\n if (progress === 1) {\n if (toLarge) {\n $newNavbarEl.addClass('router-navbar-transition-to-large');\n $oldNavbarEl.addClass('router-navbar-transition-to-large');\n }\n if (fromLarge) {\n $newNavbarEl.addClass('router-navbar-transition-from-large');\n $oldNavbarEl.addClass('router-navbar-transition-from-large');\n }\n }\n newNavEls.forEach((navEl) => {\n const $el = navEl.$el;\n const offset = direction === 'forward' ? navEl.rightOffset : navEl.leftOffset;\n if (navEl.isSliding) {\n if (navEl.isSubnavbar && newIsLarge) {\n // prettier-ignore\n $el[0].style.setProperty(\n 'transform',\n `translate3d(${offset * (1 - progress)}px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0)`,\n 'important',\n );\n } else {\n $el.transform(`translate3d(${offset * (1 - progress)}px,0,0)`);\n }\n }\n });\n oldNavEls.forEach((navEl) => {\n const $el = navEl.$el;\n const offset = direction === 'forward' ? navEl.leftOffset : navEl.rightOffset;\n if (navEl.isSliding) {\n if (navEl.isSubnavbar && oldIsLarge) {\n $el.transform(\n `translate3d(${\n offset * progress\n }px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0)`,\n );\n } else {\n $el.transform(`translate3d(${offset * progress}px,0,0)`);\n }\n }\n });\n }\n\n // AnimationEnd Callback\n function onDone() {\n if (router.dynamicNavbar) {\n if ($newNavbarEl) {\n $newNavbarEl.removeClass(\n 'router-navbar-transition-to-large router-navbar-transition-from-large',\n );\n $newNavbarEl.addClass('navbar-no-title-large-transition');\n nextFrame(() => {\n $newNavbarEl.removeClass('navbar-no-title-large-transition');\n });\n }\n if ($oldNavbarEl) {\n $oldNavbarEl.removeClass(\n 'router-navbar-transition-to-large router-navbar-transition-from-large',\n );\n }\n if (\n $newNavbarEl.hasClass('sliding') ||\n $newNavbarEl.children('.navbar-inner.sliding').length\n ) {\n $newNavbarEl.find('.title, .left, .right, .left .icon, .subnavbar').transform('');\n } else {\n $newNavbarEl.find('.sliding').transform('');\n }\n if (\n $oldNavbarEl.hasClass('sliding') ||\n $oldNavbarEl.children('.navbar-inner.sliding').length\n ) {\n $oldNavbarEl.find('.title, .left, .right, .left .icon, .subnavbar').transform('');\n } else {\n $oldNavbarEl.find('.sliding').transform('');\n }\n }\n router.$el.removeClass(routerTransitionClass);\n if (callback) callback();\n }\n\n (direction === 'forward' ? $newPageEl : $oldPageEl).animationEnd(() => {\n onDone();\n });\n\n // Animate\n if (dynamicNavbar) {\n // Prepare Navbars\n animateNavbars(0);\n nextFrame(() => {\n // Add class, start animation\n router.$el.addClass(routerTransitionClass);\n if (toDifferent) {\n // eslint-disable-next-line\n router.el._clientLeft = router.el.clientLeft;\n }\n animateNavbars(1);\n });\n } else {\n // Add class, start animation\n router.$el.addClass(routerTransitionClass);\n }\n }\n\n removeModal(modalEl) {\n const router = this;\n router.removeEl(modalEl);\n }\n // eslint-disable-next-line\n removeTabContent(tabEl) {\n const $tabEl = $(tabEl);\n $tabEl.html('');\n }\n\n removeNavbar(el) {\n const router = this;\n router.removeEl(el);\n }\n\n removePage(el) {\n const $el = $(el);\n const f7Page = $el && $el[0] && $el[0].f7Page;\n const router = this;\n if (f7Page && f7Page.route && f7Page.route.route && f7Page.route.route.keepAlive) {\n $el.remove();\n return;\n }\n router.removeEl(el);\n }\n\n removeEl(el) {\n if (!el) return;\n const router = this;\n const $el = $(el);\n if ($el.length === 0) return;\n $el.find('.tab').each((tabEl) => {\n $(tabEl)\n .children()\n .each((tabChild) => {\n if (tabChild.f7Component) {\n $(tabChild).trigger('tab:beforeremove');\n tabChild.f7Component.destroy();\n }\n });\n });\n if ($el[0].f7Component && $el[0].f7Component.destroy) {\n $el[0].f7Component.destroy();\n }\n if (!router.params.removeElements) {\n return;\n }\n if (router.params.removeElementsWithTimeout) {\n setTimeout(() => {\n $el.remove();\n }, router.params.removeElementsTimeout);\n } else {\n $el.remove();\n }\n }\n\n getPageEl(content) {\n const router = this;\n if (typeof content === 'string') {\n router.tempDom.innerHTML = content;\n } else {\n if ($(content).hasClass('page')) {\n return content;\n }\n router.tempDom.innerHTML = '';\n $(router.tempDom).append(content);\n }\n\n return router.findElement('.page', router.tempDom);\n }\n\n findElement(stringSelector, container, notStacked) {\n const router = this;\n const view = router.view;\n const app = router.app;\n\n // Modals Selector\n const modalsSelector =\n '.popup, .dialog, .popover, .actions-modal, .sheet-modal, .login-screen, .page';\n\n const $container = $(container);\n let selector = stringSelector;\n if (notStacked) selector += ':not(.stacked)';\n\n let found = $container\n .find(selector)\n .filter((el) => $(el).parents(modalsSelector).length === 0);\n\n if (found.length > 1) {\n if (typeof view.selector === 'string') {\n // Search in related view\n found = $container.find(`${view.selector} ${selector}`);\n }\n if (found.length > 1) {\n // Search in main view\n found = $container.find(`.${app.params.viewMainClass} ${selector}`);\n }\n }\n if (found.length === 1) return found;\n\n // Try to find not stacked\n if (!notStacked) found = router.findElement(selector, $container, true);\n if (found && found.length === 1) return found;\n if (found && found.length > 1) return $(found[0]);\n return undefined;\n }\n\n flattenRoutes(routes = this.routes) {\n const router = this;\n let flattenedRoutes = [];\n routes.forEach((route) => {\n let hasTabRoutes = false;\n if ('tabs' in route && route.tabs) {\n const mergedPathsRoutes = route.tabs.map((tabRoute) => {\n const tRoute = extend({}, route, {\n path: `${route.path}/${tabRoute.path}`.replace('///', '/').replace('//', '/'),\n parentPath: route.path,\n tab: tabRoute,\n });\n delete tRoute.tabs;\n delete tRoute.routes;\n return tRoute;\n });\n hasTabRoutes = true;\n flattenedRoutes = flattenedRoutes.concat(router.flattenRoutes(mergedPathsRoutes));\n }\n if ('detailRoutes' in route) {\n const mergedPathsRoutes = route.detailRoutes.map((detailRoute) => {\n const dRoute = extend({}, detailRoute);\n dRoute.masterRoute = route;\n dRoute.masterRoutePath = route.path;\n return dRoute;\n });\n flattenedRoutes = flattenedRoutes.concat(route, router.flattenRoutes(mergedPathsRoutes));\n }\n if ('routes' in route) {\n const mergedPathsRoutes = route.routes.map((childRoute) => {\n const cRoute = extend({}, childRoute);\n cRoute.path = `${route.path}/${cRoute.path}`.replace('///', '/').replace('//', '/');\n return cRoute;\n });\n if (hasTabRoutes) {\n flattenedRoutes = flattenedRoutes.concat(router.flattenRoutes(mergedPathsRoutes));\n } else {\n flattenedRoutes = flattenedRoutes.concat(route, router.flattenRoutes(mergedPathsRoutes));\n }\n }\n if (!('routes' in route) && !('tabs' in route && route.tabs) && !('detailRoutes' in route)) {\n flattenedRoutes.push(route);\n }\n });\n return flattenedRoutes;\n }\n\n // eslint-disable-next-line\n parseRouteUrl(url) {\n if (!url) return {};\n const query = parseUrlQuery(url);\n const hash = url.split('#')[1];\n const params = {};\n const path = url.split('#')[0].split('?')[0];\n return {\n query,\n hash,\n params,\n url,\n path,\n };\n }\n\n generateUrl(parameters = {}) {\n if (typeof parameters === 'string') {\n return parameters;\n }\n const { name, path, params, query } = parameters;\n if (!name && !path) {\n throw new Error('Framework7: \"name\" or \"path\" parameter is required');\n }\n const router = this;\n const route = name ? router.findRouteByKey('name', name) : router.findRouteByKey('path', path);\n\n if (!route) {\n if (name) {\n throw new Error(`Framework7: route with name \"${name}\" not found`);\n } else {\n throw new Error(`Framework7: route with path \"${path}\" not found`);\n }\n }\n const url = router.constructRouteUrl(route, { params, query });\n if (!url) {\n throw new Error(`Framework7: can't construct URL for route with name \"${name}\"`);\n }\n return url;\n }\n\n // eslint-disable-next-line\n constructRouteUrl(route, { params, query } = {}) {\n const { path } = route;\n const toUrl = compile(path);\n let url;\n try {\n url = toUrl(params || {});\n } catch (error) {\n throw new Error(\n `Framework7: error constructing route URL from passed params:\\nRoute: ${path}\\n${error.toString()}`,\n );\n }\n\n if (query) {\n if (typeof query === 'string') url += `?${query}`;\n else if (Object.keys(query).length) url += `?${serializeObject(query)}`;\n }\n\n return url;\n }\n\n findTabRouteUrl(tabEl) {\n const router = this;\n const $tabEl = $(tabEl);\n const parentPath = router.currentRoute.route.parentPath;\n const tabId = $tabEl.attr('id');\n const flattenedRoutes = router.flattenRoutes(router.routes);\n let foundTabRouteUrl;\n flattenedRoutes.forEach((route) => {\n if (route.parentPath === parentPath && route.tab && route.tab.id === tabId) {\n if (router.currentRoute.params && Object.keys(router.currentRoute.params).length > 0) {\n foundTabRouteUrl = router.constructRouteUrl(route, {\n params: router.currentRoute.params,\n query: router.currentRoute.query,\n });\n } else {\n foundTabRouteUrl = route.path;\n }\n }\n });\n return foundTabRouteUrl;\n }\n\n findRouteByKey(key, value) {\n const router = this;\n const routes = router.routes;\n const flattenedRoutes = router.flattenRoutes(routes);\n let matchingRoute;\n\n flattenedRoutes.forEach((route) => {\n if (matchingRoute) return;\n if (route[key] === value) {\n matchingRoute = route;\n }\n });\n return matchingRoute;\n }\n\n findMatchingRoute(url) {\n if (!url) return undefined;\n const router = this;\n const routes = router.routes;\n const flattenedRoutes = router.flattenRoutes(routes);\n const { path, query, hash, params } = router.parseRouteUrl(url);\n let matchingRoute;\n flattenedRoutes.forEach((route) => {\n if (matchingRoute) return;\n const keys = [];\n\n const pathsToMatch = [route.path];\n if (route.alias) {\n if (typeof route.alias === 'string') pathsToMatch.push(route.alias);\n else if (Array.isArray(route.alias)) {\n route.alias.forEach((aliasPath) => {\n pathsToMatch.push(aliasPath);\n });\n }\n }\n\n let matched;\n pathsToMatch.forEach((pathToMatch) => {\n if (matched) return;\n matched = pathToRegexp(pathToMatch, keys).exec(path);\n });\n\n if (matched) {\n keys.forEach((keyObj, index) => {\n if (typeof keyObj.name === 'number') return;\n const paramValue = matched[index + 1];\n if (typeof paramValue === 'undefined' || paramValue === null) {\n params[keyObj.name] = paramValue;\n } else {\n params[keyObj.name] = decodeURIComponent(paramValue);\n }\n });\n\n let parentPath;\n if (route.parentPath) {\n parentPath = path\n .split('/')\n .slice(0, route.parentPath.split('/').length - 1)\n .join('/');\n }\n\n matchingRoute = {\n query,\n hash,\n params,\n url,\n path,\n parentPath,\n route,\n name: route.name,\n };\n }\n });\n return matchingRoute;\n }\n\n // eslint-disable-next-line\n replaceRequestUrlParams(url = '', options = {}) {\n let compiledUrl = url;\n if (\n typeof compiledUrl === 'string' &&\n compiledUrl.indexOf('{{') >= 0 &&\n options &&\n options.route &&\n options.route.params &&\n Object.keys(options.route.params).length\n ) {\n Object.keys(options.route.params).forEach((paramName) => {\n const regExp = new RegExp(`{{${paramName}}}`, 'g');\n compiledUrl = compiledUrl.replace(regExp, options.route.params[paramName] || '');\n });\n }\n return compiledUrl;\n }\n\n removeFromXhrCache(url) {\n const router = this;\n const xhrCache = router.cache.xhr;\n let index = false;\n for (let i = 0; i < xhrCache.length; i += 1) {\n if (xhrCache[i].url === url) index = i;\n }\n if (index !== false) xhrCache.splice(index, 1);\n }\n\n xhrRequest(requestUrl, options) {\n const router = this;\n const params = router.params;\n const { ignoreCache } = options;\n let url = requestUrl;\n\n let hasQuery = url.indexOf('?') >= 0;\n if (\n params.passRouteQueryToRequest &&\n options &&\n options.route &&\n options.route.query &&\n Object.keys(options.route.query).length\n ) {\n url += `${hasQuery ? '&' : '?'}${serializeObject(options.route.query)}`;\n hasQuery = true;\n }\n\n if (\n params.passRouteParamsToRequest &&\n options &&\n options.route &&\n options.route.params &&\n Object.keys(options.route.params).length\n ) {\n url += `${hasQuery ? '&' : '?'}${serializeObject(options.route.params)}`;\n hasQuery = true;\n }\n\n if (url.indexOf('{{') >= 0) {\n url = router.replaceRequestUrlParams(url, options);\n }\n // should we ignore get params or not\n if (params.xhrCacheIgnoreGetParameters && url.indexOf('?') >= 0) {\n url = url.split('?')[0];\n }\n return new Promise((resolve, reject) => {\n if (\n params.xhrCache &&\n !ignoreCache &&\n url.indexOf('nocache') < 0 &&\n params.xhrCacheIgnore.indexOf(url) < 0\n ) {\n for (let i = 0; i < router.cache.xhr.length; i += 1) {\n const cachedUrl = router.cache.xhr[i];\n if (cachedUrl.url === url) {\n // Check expiration\n if (now() - cachedUrl.time < params.xhrCacheDuration) {\n // Load from cache\n resolve(cachedUrl.content);\n return;\n }\n }\n }\n }\n router.xhrAbortController = router.app.request.abortController();\n router.app.request({\n abortController: router.xhrAbortController,\n url,\n method: 'GET',\n beforeSend(xhr) {\n router.emit('routerAjaxStart', xhr, options);\n },\n complete(xhr, status) {\n router.emit('routerAjaxComplete', xhr);\n if (\n (status !== 'error' && status !== 'timeout' && xhr.status >= 200 && xhr.status < 300) ||\n xhr.status === 0\n ) {\n if (params.xhrCache && xhr.responseText !== '') {\n router.removeFromXhrCache(url);\n router.cache.xhr.push({\n url,\n time: now(),\n content: xhr.responseText,\n });\n }\n router.emit('routerAjaxSuccess', xhr, options);\n resolve(xhr.responseText);\n } else {\n router.emit('routerAjaxError', xhr, options);\n reject(xhr);\n }\n },\n error(xhr) {\n router.emit('routerAjaxError', xhr, options);\n reject(xhr);\n },\n });\n });\n }\n\n setNavbarPosition($el, position, ariaHidden) {\n const router = this;\n $el.removeClass('navbar-previous navbar-current navbar-next');\n if (position) {\n $el.addClass(`navbar-${position}`);\n }\n\n if (ariaHidden === false) {\n $el.removeAttr('aria-hidden');\n } else if (ariaHidden === true) {\n $el.attr('aria-hidden', 'true');\n }\n $el.trigger('navbar:position', { position });\n router.emit('navbarPosition', $el[0], position);\n }\n\n setPagePosition($el, position, ariaHidden) {\n const router = this;\n $el.removeClass('page-previous page-current page-next');\n $el.addClass(`page-${position}`);\n if (ariaHidden === false) {\n $el.removeAttr('aria-hidden');\n } else if (ariaHidden === true) {\n $el.attr('aria-hidden', 'true');\n }\n $el.trigger('page:position', { position });\n router.emit('pagePosition', $el[0], position);\n }\n\n // Remove theme elements\n removeThemeElements(el) {\n const router = this;\n const theme = router.app.theme;\n let toRemove;\n if (theme === 'ios') {\n toRemove = '.md-only, .aurora-only, .if-md, .if-aurora, .if-not-ios, .not-ios';\n } else if (theme === 'md') {\n toRemove = '.ios-only, .aurora-only, .if-ios, .if-aurora, .if-not-md, .not-md';\n } else if (theme === 'aurora') {\n toRemove = '.ios-only, .md-only, .if-ios, .if-md, .if-not-aurora, .not-aurora';\n }\n $(el).find(toRemove).remove();\n }\n\n getPageData(pageEl, navbarEl, from, to, route = {}, pageFromEl) {\n const router = this;\n const $pageEl = $(pageEl).eq(0);\n const $navbarEl = $(navbarEl).eq(0);\n const currentPage = $pageEl[0].f7Page || {};\n let direction;\n let pageFrom;\n if ((from === 'next' && to === 'current') || (from === 'current' && to === 'previous'))\n direction = 'forward';\n if ((from === 'current' && to === 'next') || (from === 'previous' && to === 'current'))\n direction = 'backward';\n if (currentPage && !currentPage.fromPage) {\n const $pageFromEl = $(pageFromEl);\n if ($pageFromEl.length) {\n pageFrom = $pageFromEl[0].f7Page;\n }\n }\n pageFrom = currentPage.pageFrom || pageFrom;\n if (pageFrom && pageFrom.pageFrom) {\n pageFrom.pageFrom = null;\n }\n const page = {\n app: router.app,\n view: router.view,\n router,\n $el: $pageEl,\n el: $pageEl[0],\n $pageEl,\n pageEl: $pageEl[0],\n $navbarEl,\n navbarEl: $navbarEl[0],\n name: $pageEl.attr('data-name'),\n position: from,\n from,\n to,\n direction,\n route: currentPage.route ? currentPage.route : route,\n pageFrom,\n };\n\n $pageEl[0].f7Page = page;\n return page;\n }\n\n // Callbacks\n pageCallback(callback, pageEl, navbarEl, from, to, options = {}, pageFromEl) {\n if (!pageEl) return;\n const router = this;\n const $pageEl = $(pageEl);\n if (!$pageEl.length) return;\n const $navbarEl = $(navbarEl);\n const { route } = options;\n const restoreScrollTopOnBack =\n router.params.restoreScrollTopOnBack &&\n !(\n router.params.masterDetailBreakpoint > 0 &&\n $pageEl.hasClass('page-master') &&\n router.app.width >= router.params.masterDetailBreakpoint\n );\n const keepAlive =\n $pageEl[0].f7Page &&\n $pageEl[0].f7Page.route &&\n $pageEl[0].f7Page.route.route &&\n $pageEl[0].f7Page.route.route.keepAlive;\n\n if (callback === 'beforeRemove' && keepAlive) {\n callback = 'beforeUnmount'; // eslint-disable-line\n }\n\n const camelName = `page${callback[0].toUpperCase() + callback.slice(1, callback.length)}`;\n const colonName = `page:${callback.toLowerCase()}`;\n\n let page = {};\n if (callback === 'beforeRemove' && $pageEl[0].f7Page) {\n page = extend($pageEl[0].f7Page, { from, to, position: from });\n } else {\n page = router.getPageData($pageEl[0], $navbarEl[0], from, to, route, pageFromEl);\n }\n page.swipeBack = !!options.swipeBack;\n\n const { on = {}, once = {} } = options.route ? options.route.route : {};\n if (options.on) {\n extend(on, options.on);\n }\n if (options.once) {\n extend(once, options.once);\n }\n\n function attachEvents() {\n if ($pageEl[0].f7RouteEventsAttached) return;\n $pageEl[0].f7RouteEventsAttached = true;\n if (on && Object.keys(on).length > 0) {\n $pageEl[0].f7RouteEventsOn = on;\n Object.keys(on).forEach((eventName) => {\n on[eventName] = on[eventName].bind(router);\n $pageEl.on(eventNameToColonCase(eventName), on[eventName]);\n });\n }\n if (once && Object.keys(once).length > 0) {\n $pageEl[0].f7RouteEventsOnce = once;\n Object.keys(once).forEach((eventName) => {\n once[eventName] = once[eventName].bind(router);\n $pageEl.once(eventNameToColonCase(eventName), once[eventName]);\n });\n }\n }\n\n function detachEvents() {\n if (!$pageEl[0].f7RouteEventsAttached) return;\n if ($pageEl[0].f7RouteEventsOn) {\n Object.keys($pageEl[0].f7RouteEventsOn).forEach((eventName) => {\n $pageEl.off(eventNameToColonCase(eventName), $pageEl[0].f7RouteEventsOn[eventName]);\n });\n }\n if ($pageEl[0].f7RouteEventsOnce) {\n Object.keys($pageEl[0].f7RouteEventsOnce).forEach((eventName) => {\n $pageEl.off(eventNameToColonCase(eventName), $pageEl[0].f7RouteEventsOnce[eventName]);\n });\n }\n $pageEl[0].f7RouteEventsAttached = null;\n $pageEl[0].f7RouteEventsOn = null;\n $pageEl[0].f7RouteEventsOnce = null;\n delete $pageEl[0].f7RouteEventsAttached;\n delete $pageEl[0].f7RouteEventsOn;\n delete $pageEl[0].f7RouteEventsOnce;\n }\n\n if (callback === 'mounted') {\n attachEvents();\n }\n if (callback === 'init') {\n if (\n restoreScrollTopOnBack &&\n (from === 'previous' || !from) &&\n to === 'current' &&\n router.scrollHistory[page.route.url] &&\n !$pageEl.hasClass('no-restore-scroll')\n ) {\n let $pageContent = $pageEl.find('.page-content');\n if ($pageContent.length > 0) {\n // eslint-disable-next-line\n $pageContent = $pageContent.filter((pageContentEl) => {\n return (\n $(pageContentEl).parents('.tab:not(.tab-active)').length === 0 &&\n !$(pageContentEl).is('.tab:not(.tab-active)')\n );\n });\n }\n $pageContent.scrollTop(router.scrollHistory[page.route.url]);\n }\n attachEvents();\n if ($pageEl[0].f7PageInitialized) {\n $pageEl.trigger('page:reinit', page);\n router.emit('pageReinit', page);\n return;\n }\n $pageEl[0].f7PageInitialized = true;\n }\n if (\n restoreScrollTopOnBack &&\n callback === 'beforeOut' &&\n from === 'current' &&\n to === 'previous'\n ) {\n // Save scroll position\n let $pageContent = $pageEl.find('.page-content');\n if ($pageContent.length > 0) {\n // eslint-disable-next-line\n $pageContent = $pageContent.filter((pageContentEl) => {\n return (\n $(pageContentEl).parents('.tab:not(.tab-active)').length === 0 &&\n !$(pageContentEl).is('.tab:not(.tab-active)')\n );\n });\n }\n router.scrollHistory[page.route.url] = $pageContent.scrollTop();\n }\n if (restoreScrollTopOnBack && callback === 'beforeOut' && from === 'current' && to === 'next') {\n // Delete scroll position\n delete router.scrollHistory[page.route.url];\n }\n\n $pageEl.trigger(colonName, page);\n router.emit(camelName, page);\n\n if (callback === 'beforeRemove' || callback === 'beforeUnmount') {\n detachEvents();\n if (!keepAlive) {\n if ($pageEl[0].f7Page && $pageEl[0].f7Page.navbarEl) {\n delete $pageEl[0].f7Page.navbarEl.f7Page;\n }\n $pageEl[0].f7Page = null;\n }\n }\n }\n\n saveHistory() {\n const router = this;\n const window = getWindow();\n router.view.history = router.history;\n if (\n router.params.browserHistory &&\n router.params.browserHistoryStoreHistory &&\n window.localStorage\n ) {\n window.localStorage[`f7router-${router.view.id}-history`] = JSON.stringify(router.history);\n }\n }\n\n restoreHistory() {\n const router = this;\n const window = getWindow();\n if (\n router.params.browserHistory &&\n router.params.browserHistoryStoreHistory &&\n window.localStorage &&\n window.localStorage[`f7router-${router.view.id}-history`]\n ) {\n router.history = JSON.parse(window.localStorage[`f7router-${router.view.id}-history`]);\n router.view.history = router.history;\n }\n }\n\n clearHistory() {\n const router = this;\n router.history = [];\n if (router.view) router.view.history = [];\n router.saveHistory();\n }\n\n updateCurrentUrl(newUrl) {\n const router = this;\n appRouterCheck(router, 'updateCurrentUrl');\n // Update history\n if (router.history.length) {\n router.history[router.history.length - 1] = newUrl;\n } else {\n router.history.push(newUrl);\n }\n\n // Update current route params\n const { query, hash, params, url, path } = router.parseRouteUrl(newUrl);\n if (router.currentRoute) {\n extend(router.currentRoute, {\n query,\n hash,\n params,\n url,\n path,\n });\n }\n\n if (router.params.browserHistory) {\n const browserHistoryRoot = router.params.browserHistoryRoot || '';\n History.replace(\n router.view.id,\n {\n url: newUrl,\n },\n browserHistoryRoot + router.params.browserHistorySeparator + newUrl,\n );\n }\n\n // Save History\n router.saveHistory();\n\n router.emit('routeUrlUpdate', router.currentRoute, router);\n }\n\n getInitialUrl() {\n const router = this;\n if (router.initialUrl) {\n return {\n initialUrl: router.initialUrl,\n historyRestored: router.historyRestored,\n };\n }\n const { app, view } = router;\n const document = getDocument();\n const window = getWindow();\n\n const location =\n app.params.url && typeof app.params.url === 'string' && typeof URL !== 'undefined'\n ? new URL(app.params.url)\n : document.location;\n\n let initialUrl = router.params.url;\n let documentUrl = location.href.split(location.origin)[1];\n let historyRestored;\n const { browserHistory, browserHistoryOnLoad, browserHistorySeparator } = router.params;\n let { browserHistoryRoot } = router.params;\n if (\n (window.cordova || (window.Capacitor && window.Capacitor.isNative)) &&\n browserHistory &&\n !browserHistorySeparator &&\n !browserHistoryRoot &&\n location.pathname.indexOf('index.html')\n ) {\n // eslint-disable-next-line\n console.warn(\n 'Framework7: wrong or not complete browserHistory configuration, trying to guess browserHistoryRoot',\n );\n browserHistoryRoot = location.pathname.split('index.html')[0];\n }\n if (!browserHistory || !browserHistoryOnLoad) {\n if (!initialUrl) {\n initialUrl = documentUrl;\n }\n if (location.search && initialUrl.indexOf('?') < 0) {\n initialUrl += location.search;\n }\n if (location.hash && initialUrl.indexOf('#') < 0) {\n initialUrl += location.hash;\n }\n } else {\n if (browserHistoryRoot && documentUrl.indexOf(browserHistoryRoot) >= 0) {\n documentUrl = documentUrl.substring(\n documentUrl.indexOf(browserHistoryRoot) + browserHistoryRoot.length,\n );\n if (documentUrl === '') documentUrl = '/';\n }\n if (browserHistorySeparator.length > 0 && documentUrl.indexOf(browserHistorySeparator) >= 0) {\n initialUrl = documentUrl.substring(\n documentUrl.indexOf(browserHistorySeparator) + browserHistorySeparator.length,\n );\n } else {\n initialUrl = documentUrl;\n }\n router.restoreHistory();\n if (router.history.indexOf(initialUrl) >= 0) {\n router.history = router.history.slice(0, router.history.indexOf(initialUrl) + 1);\n } else if (router.params.url === initialUrl) {\n router.history = [initialUrl];\n } else if (\n History.state &&\n History.state[view.id] &&\n History.state[view.id].url === router.history[router.history.length - 1]\n ) {\n initialUrl = router.history[router.history.length - 1];\n } else {\n router.history = [documentUrl.split(browserHistorySeparator)[0] || '/', initialUrl];\n }\n if (router.history.length > 1) {\n historyRestored = true;\n } else {\n router.history = [];\n }\n router.saveHistory();\n }\n\n router.initialUrl = initialUrl;\n router.historyRestored = historyRestored;\n\n return { initialUrl, historyRestored };\n }\n\n init() {\n const router = this;\n const { app, view } = router;\n const document = getDocument();\n\n router.mount();\n\n const { initialUrl, historyRestored } = router.getInitialUrl();\n\n // Init Swipeback\n if (\n (view && router.params.iosSwipeBack && app.theme === 'ios') ||\n (view && router.params.mdSwipeBack && app.theme === 'md') ||\n (view && router.params.auroraSwipeBack && app.theme === 'aurora')\n ) {\n SwipeBack(router);\n }\n\n const {\n browserHistory,\n browserHistoryOnLoad,\n browserHistoryAnimateOnLoad,\n browserHistoryInitialMatch,\n } = router.params;\n\n let currentRoute;\n if (router.history.length > 1) {\n // Will load page\n const initUrl = browserHistoryInitialMatch ? initialUrl : router.history[0];\n currentRoute = router.findMatchingRoute(initUrl);\n if (!currentRoute) {\n currentRoute = extend(router.parseRouteUrl(initUrl), {\n route: {\n url: initUrl,\n path: initUrl.split('?')[0],\n },\n });\n }\n } else {\n // Don't load page\n currentRoute = router.findMatchingRoute(initialUrl);\n if (!currentRoute) {\n currentRoute = extend(router.parseRouteUrl(initialUrl), {\n route: {\n url: initialUrl,\n path: initialUrl.split('?')[0],\n },\n });\n }\n }\n\n if (router.params.stackPages) {\n router.$el.children('.page').each((pageEl) => {\n const $pageEl = $(pageEl);\n router.initialPages.push($pageEl[0]);\n if (router.dynamicNavbar && $pageEl.children('.navbar').length > 0) {\n router.initialNavbars.push($pageEl.children('.navbar')[0]);\n }\n });\n }\n\n if (\n router.$el.children('.page:not(.stacked)').length === 0 &&\n initialUrl &&\n router.params.loadInitialPage\n ) {\n // No pages presented in DOM, reload new page\n router.navigate(initialUrl, {\n initial: true,\n reloadCurrent: true,\n browserHistory: false,\n animate: false,\n once: {\n modalOpen() {\n if (!historyRestored) return;\n const preloadPreviousPage =\n router.params.preloadPreviousPage || router.params[`${app.theme}SwipeBack`];\n if (preloadPreviousPage && router.history.length > 1) {\n router.back({ preload: true });\n }\n },\n pageAfterIn() {\n if (!historyRestored) return;\n const preloadPreviousPage =\n router.params.preloadPreviousPage || router.params[`${app.theme}SwipeBack`];\n if (preloadPreviousPage && router.history.length > 1) {\n router.back({ preload: true });\n }\n },\n },\n });\n } else if (router.$el.children('.page:not(.stacked)').length) {\n // Init current DOM page\n let hasTabRoute;\n router.currentRoute = currentRoute;\n router.$el.children('.page:not(.stacked)').each((pageEl) => {\n const $pageEl = $(pageEl);\n let $navbarEl;\n router.setPagePosition($pageEl, 'current');\n if (router.dynamicNavbar) {\n $navbarEl = $pageEl.children('.navbar');\n if ($navbarEl.length > 0) {\n if (!router.$navbarsEl.parents(document).length) {\n router.$el.prepend(router.$navbarsEl);\n }\n router.setNavbarPosition($navbarEl, 'current');\n router.$navbarsEl.append($navbarEl);\n if ($navbarEl.children('.title-large').length) {\n $navbarEl.addClass('navbar-large');\n }\n $pageEl.children('.navbar').remove();\n } else {\n router.$navbarsEl.addClass('navbar-hidden');\n if ($navbarEl.children('.title-large').length) {\n router.$navbarsEl.addClass('navbar-hidden navbar-large-hidden');\n }\n }\n }\n if (\n router.currentRoute &&\n router.currentRoute.route &&\n (router.currentRoute.route.master === true ||\n (typeof router.currentRoute.route.master === 'function' &&\n router.currentRoute.route.master(app, router))) &&\n router.params.masterDetailBreakpoint > 0\n ) {\n $pageEl.addClass('page-master');\n $pageEl.trigger('page:role', { role: 'master' });\n if ($navbarEl && $navbarEl.length) {\n $navbarEl.addClass('navbar-master');\n }\n view.checkMasterDetailBreakpoint();\n }\n const initOptions = {\n route: router.currentRoute,\n };\n if (router.currentRoute && router.currentRoute.route && router.currentRoute.route.options) {\n extend(initOptions, router.currentRoute.route.options);\n }\n router.currentPageEl = $pageEl[0];\n if (router.dynamicNavbar && $navbarEl.length) {\n router.currentNavbarEl = $navbarEl[0];\n }\n router.removeThemeElements($pageEl);\n if (router.dynamicNavbar && $navbarEl.length) {\n router.removeThemeElements($navbarEl);\n }\n if (initOptions.route.route.tab) {\n hasTabRoute = true;\n router.tabLoad(initOptions.route.route.tab, extend({}, initOptions));\n }\n router.pageCallback('init', $pageEl, $navbarEl, 'current', undefined, initOptions);\n router.pageCallback('beforeIn', $pageEl, $navbarEl, 'current', undefined, initOptions);\n router.pageCallback('afterIn', $pageEl, $navbarEl, 'current', undefined, initOptions);\n });\n if (historyRestored) {\n if (browserHistoryInitialMatch) {\n const preloadPreviousPage =\n router.params.preloadPreviousPage || router.params[`${app.theme}SwipeBack`];\n if (preloadPreviousPage && router.history.length > 1) {\n router.back({ preload: true });\n }\n } else {\n router.navigate(initialUrl, {\n initial: true,\n browserHistory: false,\n history: false,\n animate: browserHistoryAnimateOnLoad,\n once: {\n pageAfterIn() {\n const preloadPreviousPage =\n router.params.preloadPreviousPage || router.params[`${app.theme}SwipeBack`];\n if (preloadPreviousPage && router.history.length > 2) {\n router.back({ preload: true });\n }\n },\n },\n });\n }\n }\n if (!historyRestored && !hasTabRoute) {\n router.history.push(initialUrl);\n router.saveHistory();\n }\n }\n if (\n initialUrl &&\n browserHistory &&\n browserHistoryOnLoad &&\n (!History.state || !History.state[view.id])\n ) {\n History.initViewState(view.id, {\n url: initialUrl,\n });\n }\n router.emit('local::init routerInit', router);\n }\n\n destroy() {\n let router = this;\n\n router.emit('local::destroy routerDestroy', router);\n\n // Delete props & methods\n Object.keys(router).forEach((routerProp) => {\n router[routerProp] = null;\n delete router[routerProp];\n });\n\n router = null;\n }\n}\n\n// Load\nRouter.prototype.navigate = navigate;\nRouter.prototype.refreshPage = refreshPage;\n// Tab\nRouter.prototype.tabLoad = tabLoad;\nRouter.prototype.tabRemove = tabRemove;\n// Modal\nRouter.prototype.modalLoad = modalLoad;\nRouter.prototype.modalRemove = modalRemove;\n// Back\nRouter.prototype.back = back;\n// Clear history\nRouter.prototype.clearPreviousHistory = clearPreviousHistory;\n\nexport default Router;\n","import Router from './router-class.js';\n\nexport default {\n name: 'router',\n static: {\n Router,\n },\n instance: {\n cache: {\n xhr: [],\n templates: [],\n components: [],\n },\n },\n create() {\n const instance = this;\n if (instance.app) {\n // View Router\n if (instance.params.router) {\n instance.router = new Router(instance.app, instance);\n }\n } else {\n // App Router\n instance.router = new Router(instance);\n }\n },\n};\n","import $ from '../../shared/dom7.js';\nimport { extend } from '../../shared/utils.js';\nimport { getSupport } from '../../shared/get-support.js';\n\nfunction resizableView(view) {\n const app = view.app;\n const support = getSupport();\n if (view.resizableInitialized) return;\n extend(view, {\n resizable: true,\n resizableWidth: null,\n resizableInitialized: true,\n });\n const $htmlEl = $('html');\n const { $el } = view;\n if (!$el) return;\n\n let $resizeHandlerEl;\n\n let isTouched;\n let isMoved;\n const touchesStart = {};\n let touchesDiff;\n let width;\n\n let minWidth;\n let maxWidth;\n\n function transformCSSWidth(v) {\n if (!v) return null;\n if (v.indexOf('%') >= 0 || v.indexOf('vw') >= 0) {\n return (parseInt(v, 10) / 100) * app.width;\n }\n const newV = parseInt(v, 10);\n if (Number.isNaN(newV)) return null;\n return newV;\n }\n\n function isResizable() {\n return view.resizable && $el.hasClass('view-resizable') && $el.hasClass('view-master-detail');\n }\n\n function handleTouchStart(e) {\n if (!isResizable()) return;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n isMoved = false;\n isTouched = true;\n const $pageMasterEl = $el.children('.page-master');\n minWidth = transformCSSWidth($pageMasterEl.css('min-width'));\n maxWidth = transformCSSWidth($pageMasterEl.css('max-width'));\n }\n function handleTouchMove(e) {\n if (!isTouched) return;\n e.f7PreventSwipePanel = true;\n const pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n\n if (!isMoved) {\n width = $resizeHandlerEl[0].offsetLeft + $resizeHandlerEl[0].offsetWidth;\n $el.addClass('view-resizing');\n $htmlEl.css('cursor', 'col-resize');\n }\n\n isMoved = true;\n\n e.preventDefault();\n\n touchesDiff = pageX - touchesStart.x;\n\n let newWidth = width + touchesDiff;\n if (minWidth && !Number.isNaN(minWidth)) {\n newWidth = Math.max(newWidth, minWidth);\n }\n if (maxWidth && !Number.isNaN(maxWidth)) {\n newWidth = Math.min(newWidth, maxWidth);\n }\n newWidth = Math.min(Math.max(newWidth, 0), app.width);\n\n view.resizableWidth = newWidth;\n $htmlEl[0].style.setProperty('--f7-page-master-width', `${newWidth}px`);\n\n $el.trigger('view:resize', newWidth);\n view.emit('local::resize viewResize', view, newWidth);\n }\n function handleTouchEnd() {\n $('html').css('cursor', '');\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n isTouched = false;\n isMoved = false;\n\n $htmlEl[0].style.setProperty('--f7-page-master-width', `${view.resizableWidth}px`);\n $el.removeClass('view-resizing');\n }\n\n function handleResize() {\n if (!view.resizableWidth) return;\n minWidth = transformCSSWidth($resizeHandlerEl.css('min-width'));\n maxWidth = transformCSSWidth($resizeHandlerEl.css('max-width'));\n\n if (minWidth && !Number.isNaN(minWidth) && view.resizableWidth < minWidth) {\n view.resizableWidth = Math.max(view.resizableWidth, minWidth);\n }\n if (maxWidth && !Number.isNaN(maxWidth) && view.resizableWidth > maxWidth) {\n view.resizableWidth = Math.min(view.resizableWidth, maxWidth);\n }\n view.resizableWidth = Math.min(Math.max(view.resizableWidth, 0), app.width);\n\n $htmlEl[0].style.setProperty('--f7-page-master-width', `${view.resizableWidth}px`);\n }\n\n $resizeHandlerEl = view.$el.children('.view-resize-handler');\n if (!$resizeHandlerEl.length) {\n view.$el.append('<div class=\"view-resize-handler\"></div>');\n $resizeHandlerEl = view.$el.children('.view-resize-handler');\n }\n view.$resizeHandlerEl = $resizeHandlerEl;\n\n $el.addClass('view-resizable');\n\n // Add Events\n const passive = support.passiveListener ? { passive: true } : false;\n\n view.$el.on(app.touchEvents.start, '.view-resize-handler', handleTouchStart, passive);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n app.on('resize', handleResize);\n view.on('beforeOpen', handleResize);\n\n view.once('viewDestroy', () => {\n $el.removeClass('view-resizable');\n view.$resizeHandlerEl.remove();\n view.$el.off(app.touchEvents.start, '.view-resize-handler', handleTouchStart, passive);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n app.off('resize', handleResize);\n view.off('beforeOpen', handleResize);\n });\n}\n\nexport default resizableView;\n","import $ from '../../shared/dom7.js';\nimport { extend } from '../../shared/utils.js';\nimport Router from '../../modules/router/router.js';\nimport Framework7Class from '../../shared/class.js';\nimport resizableView from './resizable-view.js';\n\nclass View extends Framework7Class {\n constructor(app, el, viewParams = {}) {\n super(viewParams, [app]);\n\n const view = this;\n\n const ssr = view.params.routerId;\n\n const defaults = {\n routes: [],\n routesAdd: [],\n };\n\n if (!ssr) {\n const $el = $(el);\n if (!$el.length) {\n let message = \"Framework7: can't create a View instance because \";\n message +=\n typeof el === 'string'\n ? `the selector \"${el}\" didn't match any element`\n : 'el must be an HTMLElement or Dom7 object';\n\n throw new Error(message);\n }\n }\n\n // Default View params\n view.params = extend({ el }, defaults, app.params.view, viewParams);\n\n // Routes\n if (view.params.routes.length > 0) {\n view.routes = view.params.routes;\n } else {\n view.routes = [].concat(app.routes, view.params.routesAdd);\n }\n\n // View Props\n extend(false, view, {\n app,\n name: view.params.name,\n main: view.params.main,\n history: [],\n scrollHistory: {},\n });\n\n // Install Modules\n view.useModules();\n\n // Add to app\n app.views.push(view);\n if (view.main) {\n app.views.main = view;\n }\n if (view.name) {\n app.views[view.name] = view;\n }\n\n // Index\n view.index = app.views.indexOf(view);\n\n // View ID\n let viewId;\n if (view.name) {\n viewId = `view_${view.name}`;\n } else if (view.main) {\n viewId = 'view_main';\n } else {\n viewId = `view_${view.index}`;\n }\n view.id = viewId;\n\n if (!view.params.init) {\n return view;\n }\n // Init View\n if (app.initialized) {\n view.init();\n } else {\n app.on('init', () => {\n view.init();\n });\n }\n\n return view;\n }\n\n destroy() {\n let view = this;\n const app = view.app;\n\n view.$el.trigger('view:beforedestroy');\n view.emit('local::beforeDestroy viewBeforeDestroy', view);\n\n app.off('resize', view.checkMasterDetailBreakpoint);\n\n if (view.main) {\n app.views.main = null;\n delete app.views.main;\n } else if (view.name) {\n app.views[view.name] = null;\n delete app.views[view.name];\n }\n view.$el[0].f7View = null;\n delete view.$el[0].f7View;\n\n app.views.splice(app.views.indexOf(view), 1);\n\n // Destroy Router\n if (view.params.router && view.router) {\n view.router.destroy();\n }\n\n view.emit('local::destroy viewDestroy', view);\n\n // Delete props & methods\n Object.keys(view).forEach((viewProp) => {\n view[viewProp] = null;\n delete view[viewProp];\n });\n\n view = null;\n }\n\n checkMasterDetailBreakpoint(force) {\n const view = this;\n const app = view.app;\n const wasMasterDetail = view.$el.hasClass('view-master-detail');\n const isMasterDetail =\n app.width >= view.params.masterDetailBreakpoint && view.$el.children('.page-master').length;\n if ((typeof force === 'undefined' && isMasterDetail) || force === true) {\n view.$el.addClass('view-master-detail');\n if (!wasMasterDetail) {\n view.emit('local::masterDetailBreakpoint viewMasterDetailBreakpoint', view);\n view.$el.trigger('view:masterDetailBreakpoint');\n }\n } else {\n view.$el.removeClass('view-master-detail');\n if (wasMasterDetail) {\n view.emit('local::masterDetailBreakpoint viewMasterDetailBreakpoint', view);\n view.$el.trigger('view:masterDetailBreakpoint');\n }\n }\n }\n\n initMasterDetail() {\n const view = this;\n const app = view.app;\n view.checkMasterDetailBreakpoint = view.checkMasterDetailBreakpoint.bind(view);\n view.checkMasterDetailBreakpoint();\n if (view.params.masterDetailResizable) {\n resizableView(view);\n }\n app.on('resize', view.checkMasterDetailBreakpoint);\n }\n\n mount(viewEl) {\n const view = this;\n const app = view.app;\n const el = view.params.el || viewEl;\n const $el = $(el);\n\n // Selector\n let selector;\n if (typeof el === 'string') selector = el;\n else {\n // Supposed to be HTMLElement or Dom7\n selector =\n ($el.attr('id') ? `#${$el.attr('id')}` : '') +\n ($el.attr('class')\n ? `.${$el.attr('class').replace(/ /g, '.').replace('.active', '')}`\n : '');\n }\n\n // DynamicNavbar\n let $navbarsEl;\n if (app.theme === 'ios' && view.params.iosDynamicNavbar) {\n $navbarsEl = $el.children('.navbars').eq(0);\n if ($navbarsEl.length === 0) {\n $navbarsEl = $('<div class=\"navbars\"></div>');\n }\n }\n\n extend(view, {\n $el,\n el: $el[0],\n main: view.main || $el.hasClass('view-main'),\n $navbarsEl,\n navbarsEl: $navbarsEl ? $navbarsEl[0] : undefined,\n selector,\n });\n\n if (view.main) {\n app.views.main = view;\n }\n\n // Save in DOM\n if ($el && $el[0]) {\n $el[0].f7View = view;\n }\n\n view.emit('local::mount viewMount', view);\n }\n\n init(viewEl) {\n const view = this;\n view.mount(viewEl);\n if (view.params.router) {\n if (view.params.masterDetailBreakpoint > 0) {\n view.initMasterDetail();\n }\n if (\n view.params.initRouterOnTabShow &&\n view.$el.hasClass('tab') &&\n !view.$el.hasClass('tab-active')\n ) {\n view.$el.once('tab:show', () => {\n view.router.init();\n });\n } else {\n view.router.init();\n }\n\n view.$el.trigger('view:init');\n view.emit('local::init viewInit', view);\n }\n }\n}\n\n// Use Router\nView.use(Router);\n\nexport default View;\n","import { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport ViewClass from '../../components/view/view-class.js';\n\nfunction initClicks(app) {\n function handleClicks(e) {\n const window = getWindow();\n const $clickedEl = $(e.target);\n const $clickedLinkEl = $clickedEl.closest('a');\n const isLink = $clickedLinkEl.length > 0;\n const url = isLink && $clickedLinkEl.attr('href');\n\n // Check if link is external\n if (isLink) {\n if (\n $clickedLinkEl.is(app.params.clicks.externalLinks) ||\n // eslint-disable-next-line\n (url && url.indexOf('javascript:') >= 0)\n ) {\n const target = $clickedLinkEl.attr('target');\n if (\n url &&\n window.cordova &&\n window.cordova.InAppBrowser &&\n (target === '_system' || target === '_blank')\n ) {\n e.preventDefault();\n window.cordova.InAppBrowser.open(url, target);\n } else if (\n url &&\n window.Capacitor &&\n window.Capacitor.Plugins &&\n window.Capacitor.Plugins.Browser &&\n (target === '_system' || target === '_blank')\n ) {\n e.preventDefault();\n window.Capacitor.Plugins.Browser.open({ url });\n }\n return;\n }\n }\n\n // Modules Clicks\n Object.keys(app.modules).forEach((moduleName) => {\n const moduleClicks = app.modules[moduleName].clicks;\n if (!moduleClicks) return;\n if (e.preventF7Router) return;\n Object.keys(moduleClicks).forEach((clickSelector) => {\n const matchingClickedElement = $clickedEl.closest(clickSelector).eq(0);\n if (matchingClickedElement.length > 0) {\n moduleClicks[clickSelector].call(\n app,\n matchingClickedElement,\n matchingClickedElement.dataset(),\n e,\n );\n }\n });\n });\n\n // Load Page\n let clickedLinkData = {};\n if (isLink) {\n e.preventDefault();\n clickedLinkData = $clickedLinkEl.dataset();\n }\n clickedLinkData.clickedEl = $clickedLinkEl[0];\n\n // Prevent Router\n if (e.preventF7Router) return;\n if ($clickedLinkEl.hasClass('prevent-router') || $clickedLinkEl.hasClass('router-prevent'))\n return;\n\n const validUrl = url && url.length > 0 && url[0] !== '#';\n if (validUrl || $clickedLinkEl.hasClass('back')) {\n let view;\n if (clickedLinkData.view && clickedLinkData.view === 'current') {\n view = app.views.current;\n } else if (clickedLinkData.view) {\n view = $(clickedLinkData.view)[0].f7View;\n } else {\n view = $clickedEl.parents('.view')[0] && $clickedEl.parents('.view')[0].f7View;\n if (!$clickedLinkEl.hasClass('back') && view && view.params.linksView) {\n if (typeof view.params.linksView === 'string') view = $(view.params.linksView)[0].f7View;\n else if (view.params.linksView instanceof ViewClass) view = view.params.linksView;\n }\n }\n if (!view) {\n if (app.views.main) view = app.views.main;\n }\n if (!view || !view.router) return;\n if ($clickedLinkEl[0].f7RouteProps) {\n clickedLinkData.props = $clickedLinkEl[0].f7RouteProps;\n }\n if ($clickedLinkEl.hasClass('back')) view.router.back(url, clickedLinkData);\n else view.router.navigate(url, clickedLinkData);\n }\n }\n\n app.on('click', handleClicks);\n}\nexport default {\n name: 'clicks',\n params: {\n clicks: {\n // External Links\n externalLinks: '.external',\n },\n },\n on: {\n init() {\n const app = this;\n initClicks(app);\n },\n },\n};\n","import { merge } from '../../shared/utils.js';\n\nexport default {\n name: 'routerComponentLoader',\n proto: {\n openIn(router, url, options) {\n const navigateOptions = {\n url,\n route: {\n path: url,\n options: {\n ...options,\n openIn: undefined,\n },\n },\n };\n const params = {\n ...options,\n };\n if (options.openIn === 'popup') {\n params.content = `<div class=\"popup popup-router-open-in\" data-url=\"${url}\"><div class=\"view view-init\" data-links-view=\"${router.view.selector}\" data-url=\"${url}\" data-ignore-open-in=\"true\"></div></div>`;\n navigateOptions.route.popup = params;\n }\n if (options.openIn === 'loginScreen') {\n params.content = `<div class=\"login-screen login-screen-router-open-in\" data-url=\"${url}\"><div class=\"view view-init\" data-links-view=\"${router.view.selector}\" data-url=\"${url}\" data-ignore-open-in=\"true\"></div></div>`;\n navigateOptions.route.loginScreen = params;\n }\n if (options.openIn === 'sheet') {\n params.content = `<div class=\"sheet-modal sheet-modal-router-open-in\" data-url=\"${url}\"><div class=\"sheet-modal-inner\"><div class=\"view view-init\" data-links-view=\"${router.view.selector}\" data-url=\"${url}\" data-ignore-open-in=\"true\"></div></div></div>`;\n navigateOptions.route.sheet = params;\n }\n if (options.openIn === 'popover') {\n params.targetEl = options.clickedEl || options.targetEl;\n params.content = `<div class=\"popover popover-router-open-in\" data-url=\"${url}\"><div class=\"popover-inner\"><div class=\"view view-init\" data-links-view=\"${router.view.selector}\" data-url=\"${url}\" data-ignore-open-in=\"true\"></div></div></div>`;\n navigateOptions.route.popover = params;\n }\n if (options.openIn.indexOf('panel') >= 0) {\n const parts = options.openIn.split(':');\n const side = parts[1] || 'left';\n const effect = parts[2] || 'cover';\n params.targetEl = options.clickedEl || options.targetEl;\n params.content = `<div class=\"panel panel-router-open-in panel-${side} panel-${effect}\" data-url=\"${url}\"><div class=\"view view-init\" data-links-view=\"${router.view.selector}\" data-url=\"${url}\" data-ignore-open-in=\"true\"></div></div>`;\n navigateOptions.route.panel = params;\n }\n return router.navigate(navigateOptions);\n },\n componentLoader(component, componentUrl, options = {}, resolve, reject) {\n const router = this;\n const { app } = router;\n const url = typeof component === 'string' ? component : componentUrl;\n const compiledUrl = router.replaceRequestUrlParams(url, options);\n function compile(componentFunction) {\n let context = options.context || {};\n if (typeof context === 'function') context = context.call(router);\n else if (typeof context === 'string') {\n try {\n context = JSON.parse(context);\n } catch (err) {\n reject(err);\n throw err;\n }\n }\n const componentContext = merge({}, context, {\n f7route: options.route,\n f7router: router,\n });\n const componentProps = merge(\n options.route ? options.route.params || {} : {},\n options.props || {},\n options.routeProps || {},\n );\n let componentEl;\n let componentRoot;\n if (options.componentOptions && options.componentOptions.el) {\n componentEl = options.componentOptions.el;\n }\n if (options.componentOptions && options.componentOptions.root) {\n componentRoot = options.componentOptions.root;\n }\n app.component\n .create(componentFunction, componentProps, {\n context: componentContext,\n el: componentEl,\n root: componentRoot,\n })\n .then((createdComponent) => {\n resolve(createdComponent.el);\n })\n .catch((err) => {\n reject(err);\n throw new Error(err);\n });\n }\n let cachedComponent;\n if (compiledUrl && router.params.componentCache) {\n router.cache.components.forEach((cached) => {\n if (cached.url === compiledUrl) cachedComponent = cached.component;\n });\n }\n if (compiledUrl && cachedComponent) {\n compile(cachedComponent);\n } else if (compiledUrl && !cachedComponent) {\n // Load via XHR\n if (router.xhrAbortController) {\n router.xhrAbortController.abort();\n router.xhrAbortController = false;\n }\n router\n .xhrRequest(url, options)\n .then((loadedComponent) => {\n const parsedComponent = app.component.parse(loadedComponent);\n if (router.params.componentCache) {\n router.cache.components.push({\n url: compiledUrl,\n component: parsedComponent,\n });\n }\n compile(parsedComponent);\n })\n .catch((err) => {\n reject();\n throw err;\n });\n } else {\n compile(component);\n }\n },\n\n modalComponentLoader({ component, componentUrl, options, resolve, reject } = {}) {\n const router = this;\n router.componentLoader(\n component,\n componentUrl,\n options,\n (el) => {\n resolve(el);\n },\n reject,\n );\n },\n\n tabComponentLoader({ component, componentUrl, options, resolve, reject } = {}) {\n const router = this;\n router.componentLoader(\n component,\n componentUrl,\n options,\n (el) => {\n resolve(el);\n },\n reject,\n );\n },\n\n pageComponentLoader({ component, componentUrl, options, resolve, reject } = {}) {\n const router = this;\n router.componentLoader(\n component,\n componentUrl,\n options,\n (el, newOptions = {}) => {\n resolve(el, newOptions);\n },\n reject,\n );\n },\n },\n};\n","var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h<s.length;h++){var p=s[h++],a=s[h]?(s[0]|=p?1:2,r[s[h++]]):s[++h];3===p?e[0]=a:4===p?e[1]=Object.assign(e[1]||{},a):5===p?(e[1]=e[1]||{})[s[++h]]=a:6===p?e[1][s[++h]]+=a+\"\":p?(u=t.apply(a,n(t,a,r,[\"\",null])),e.push(u),a[0]?s[0]|=2:(s[h-2]=0,s[h]=u)):e.push(a)}return e},t=new Map;export default function(s){var r=t.get(this);return r||(r=new Map,t.set(this,r)),(r=n(this,r.get(s)||(r.set(s,r=function(n){for(var t,s,r=1,e=\"\",u=\"\",h=[0],p=function(n){1===r&&(n||(e=e.replace(/^\\s*\\n\\s*|\\s*\\n\\s*$/g,\"\")))?h.push(0,n,e):3===r&&(n||e)?(h.push(3,n,e),r=2):2===r&&\"...\"===e&&n?h.push(4,n,0):2===r&&e&&!n?h.push(5,0,!0,e):r>=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=\"\"},a=0;a<n.length;a++){a&&(1===r&&p(),p(a));for(var l=0;l<n[a].length;l++)t=n[a][l],1===r?\"<\"===t?(p(),h=[h],r=3):e+=t:4===r?\"--\"===e&&\">\"===t?(r=1,e=\"\"):e=t+e[0]:u?t===u?u=\"\":e+=t:'\"'===t||\"'\"===t?u=t:\">\"===t?(p(),r=1):r&&(\"=\"===t?(r=5,s=e,e=\"\"):\"/\"===t&&(r<5||\">\"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),r=2):e+=t),3===r&&\"!--\"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}\n","import htm from 'htm';\nimport { flattenArray } from '../../shared/utils.js';\n\nconst ignoreChildren = [false, null, '', undefined];\n\nconst h = (type, props, ...children) => {\n return {\n type,\n props: props || {},\n children: flattenArray(children.filter((child) => ignoreChildren.indexOf(child) < 0)),\n };\n};\n\nconst $h = htm.bind(h);\n\nexport default $h;\n","export function vnode(sel, data, children, text, elm) {\n var key = data === undefined ? undefined : data.key;\n return { sel: sel, data: data, children: children,\n text: text, elm: elm, key: key };\n}\nexport default vnode;\n//# sourceMappingURL=vnode.js.map","export var array = Array.isArray;\nexport function primitive(s) {\n return typeof s === 'string' || typeof s === 'number';\n}\n//# sourceMappingURL=is.js.map","import { vnode } from './vnode.js';\nimport * as is from './is.js';\nfunction addNS(data, children, sel) {\n data.ns = 'http://www.w3.org/2000/svg';\n if (sel !== 'foreignObject' && children !== undefined) {\n for (var i = 0; i < children.length; ++i) {\n var childData = children[i].data;\n if (childData !== undefined) {\n addNS(childData, children[i].children, children[i].sel);\n }\n }\n }\n}\nexport function h(sel, b, c) {\n var data = {}, children, text, i;\n if (c !== undefined) {\n data = b;\n if (is.array(c)) {\n children = c;\n }\n else if (is.primitive(c)) {\n text = c;\n }\n else if (c && c.sel) {\n children = [c];\n }\n }\n else if (b !== undefined) {\n if (is.array(b)) {\n children = b;\n }\n else if (is.primitive(b)) {\n text = b;\n }\n else if (b && b.sel) {\n children = [b];\n }\n else {\n data = b;\n }\n }\n if (is.array(children)) {\n for (i = 0; i < children.length; ++i) {\n if (is.primitive(children[i]))\n children[i] = vnode(undefined, undefined, undefined, children[i], undefined);\n }\n }\n if (sel[0] === 's' && sel[1] === 'v' && sel[2] === 'g' &&\n (sel.length === 3 || sel[3] === '.' || sel[3] === '#')) {\n addNS(data, children, sel);\n }\n return vnode(sel, data, children, text, undefined);\n}\n;\nexport default h;\n//# sourceMappingURL=h.js.map\n","export default {};\n","/* eslint no-use-before-define: \"off\" */\n/* eslint import/no-named-as-default: \"off\" */\nimport h from './snabbdom/h.js';\nimport customComponents from './custom-components.js';\nimport { isObject, eventNameToColonCase } from '../../shared/utils.js';\n\nconst SELF_CLOSING =\n 'area base br col command embed hr img input keygen link menuitem meta param source track wbr'.split(\n ' ',\n );\nconst PROPS_ATTRS =\n 'hidden checked disabled readonly selected autofocus autoplay required multiple value indeterminate routeProps innerHTML'.split(\n ' ',\n );\nconst BOOLEAN_PROPS =\n 'hidden checked disabled readonly selected autofocus autoplay required multiple readOnly indeterminate'.split(\n ' ',\n );\n\nconst getTagName = (treeNode) => {\n return typeof treeNode.type === 'function'\n ? treeNode.type.name || 'CustomComponent'\n : treeNode.type;\n};\n\nconst toCamelCase = (name) => {\n return name\n .split('-')\n .map((word, index) => {\n if (index === 0) return word.toLowerCase();\n return word[0].toUpperCase() + word.substr(1);\n })\n .join('');\n};\nconst propsFromAttrs = (...args) => {\n const context = {};\n args.forEach((obj = {}) => {\n Object.keys(obj).forEach((key) => {\n context[toCamelCase(key)] = obj[key];\n });\n });\n\n return context;\n};\n\nconst createCustomComponent = ({ f7, treeNode, vnode, data }) => {\n const component =\n typeof treeNode.type === 'function' ? treeNode.type : customComponents[treeNode.type];\n f7.component\n .create(component, propsFromAttrs(data.attrs || {}, data.props || {}), {\n el: vnode.elm,\n children: treeNode.children,\n })\n .then((c) => {\n if (vnode.data && vnode.data.on && c && c.$el) {\n Object.keys(vnode.data.on).forEach((eventName) => {\n c.$el.on(eventName, vnode.data.on[eventName]);\n });\n }\n // eslint-disable-next-line\n vnode.elm.__component__ = c;\n });\n};\nconst updateCustomComponent = (vnode) => {\n // eslint-disable-next-line\n const component = vnode && vnode.elm && vnode.elm.__component__;\n if (!component) return;\n const newProps = propsFromAttrs(vnode.data.attrs || {}, vnode.data.props || {});\n component.children = vnode.data.treeNode.children;\n Object.assign(component.props, newProps);\n component.update();\n};\nconst destroyCustomComponent = (vnode) => {\n // eslint-disable-next-line\n const component = vnode && vnode.elm && vnode.elm.__component__;\n\n if (component) {\n const { el, $el } = component;\n if (vnode.data && vnode.data.on && $el) {\n Object.keys(vnode.data.on).forEach((eventName) => {\n $el.off(eventName, vnode.data.on[eventName]);\n });\n }\n if (component.destroy) component.destroy();\n if (el && el.parentNode) el.parentNode.removeChild(el);\n delete vnode.elm.__component__; // eslint-disable-line\n }\n};\n\nconst isCustomComponent = (treeNodeType) => {\n return (\n typeof treeNodeType === 'function' ||\n (treeNodeType && treeNodeType.indexOf('-') > 0 && customComponents[treeNodeType])\n );\n};\n\nfunction getHooks(treeNode, data, f7, initial, isRoot) {\n const hooks = {};\n const insert = [];\n const destroy = [];\n const update = [];\n const postpatch = [];\n let isFakeElement = false;\n let tagName = getTagName(treeNode);\n if (data && data.attrs && data.attrs.component) {\n tagName = data.attrs.component;\n delete data.attrs.component;\n isFakeElement = true;\n }\n\n const isCustom = isCustomComponent(treeNode.type);\n\n if (isCustom) {\n insert.push((vnode) => {\n if (vnode.sel !== tagName && !isFakeElement) return;\n createCustomComponent({ f7, treeNode, vnode, data });\n });\n destroy.push((vnode) => {\n destroyCustomComponent(vnode);\n });\n update.push((oldVnode, vnode) => {\n updateCustomComponent(vnode);\n });\n }\n\n if (!isCustom) {\n if (!data || !data.attrs || !data.attrs.class) return hooks;\n\n const classNames = data.attrs.class;\n classNames.split(' ').forEach((className) => {\n if (!initial) {\n insert.push(...f7.getVnodeHooks('insert', className));\n }\n destroy.push(...f7.getVnodeHooks('destroy', className));\n update.push(...f7.getVnodeHooks('update', className));\n postpatch.push(...f7.getVnodeHooks('postpatch', className));\n });\n }\n\n if (isRoot && !initial) {\n postpatch.push((oldVnode, vnode) => {\n const vn = vnode || oldVnode;\n if (!vn) return;\n if (vn.data && vn.data.component) {\n vn.data.component.hook('onUpdated');\n }\n });\n }\n if (\n insert.length === 0 &&\n destroy.length === 0 &&\n update.length === 0 &&\n postpatch.length === 0\n ) {\n return hooks;\n }\n\n if (insert.length) {\n hooks.insert = (vnode) => {\n insert.forEach((f) => f(vnode));\n };\n }\n if (destroy.length) {\n hooks.destroy = (vnode) => {\n destroy.forEach((f) => f(vnode));\n };\n }\n if (update.length) {\n hooks.update = (oldVnode, vnode) => {\n update.forEach((f) => f(oldVnode, vnode));\n };\n }\n if (postpatch.length) {\n hooks.postpatch = (oldVnode, vnode) => {\n postpatch.forEach((f) => f(oldVnode, vnode));\n };\n }\n\n return hooks;\n}\nconst getEventHandler = (eventHandler, { stop, prevent, once } = {}) => {\n let fired = false;\n\n function handler(...args) {\n const e = args[0];\n if (once && fired) return;\n if (stop) e.stopPropagation();\n if (prevent) e.preventDefault();\n fired = true;\n\n eventHandler(...args);\n }\n\n return handler;\n};\n\nconst getData = (treeNode, component, f7, initial, isRoot) => {\n const data = { component, treeNode };\n const tagName = getTagName(treeNode);\n Object.keys(treeNode.props).forEach((attrName) => {\n const attrValue = treeNode.props[attrName];\n if (typeof attrValue === 'undefined') return;\n if (PROPS_ATTRS.indexOf(attrName) >= 0) {\n // Props\n if (!data.props) data.props = {};\n if (attrName === 'readonly') {\n // eslint-disable-next-line\n attrName = 'readOnly';\n }\n if (attrName === 'routeProps') {\n // eslint-disable-next-line\n attrName = 'f7RouteProps';\n }\n if (tagName === 'option' && attrName === 'value') {\n if (!data.attrs) data.attrs = {};\n data.attrs.value = attrValue;\n }\n if (BOOLEAN_PROPS.indexOf(attrName) >= 0) {\n // eslint-disable-next-line\n data.props[attrName] = attrValue === false ? false : true;\n } else {\n data.props[attrName] = attrValue;\n }\n } else if (attrName === 'key') {\n // Key\n data.key = attrValue;\n } else if (\n attrName.indexOf('@') === 0 ||\n (attrName.indexOf('on') === 0 && attrName.length > 2)\n ) {\n // Events\n if (!data.on) data.on = {};\n let eventName =\n attrName.indexOf('@') === 0 ? attrName.substr(1) : eventNameToColonCase(attrName.substr(2));\n let stop = false;\n let prevent = false;\n let once = false;\n if (eventName.indexOf('.') >= 0) {\n eventName.split('.').forEach((eventNamePart, eventNameIndex) => {\n if (eventNameIndex === 0) eventName = eventNamePart;\n else {\n if (eventNamePart === 'stop') stop = true;\n if (eventNamePart === 'prevent') prevent = true;\n if (eventNamePart === 'once') once = true;\n }\n });\n }\n data.on[eventName] = getEventHandler(attrValue, { stop, prevent, once });\n } else if (attrName === 'style') {\n // Style\n if (typeof attrValue !== 'string') {\n data.style = attrValue;\n } else {\n if (!data.attrs) data.attrs = {};\n data.attrs.style = attrValue;\n }\n } else {\n // Rest of attribures\n if (!data.attrs) data.attrs = {};\n data.attrs[attrName] = attrValue;\n\n // ID -> Key\n if (attrName === 'id' && !data.key && !isRoot) {\n data.key = attrValue;\n }\n }\n });\n\n const hooks = getHooks(treeNode, data, f7, initial, isRoot);\n\n hooks.prepatch = (oldVnode, vnode) => {\n if (!oldVnode || !vnode) return;\n if (oldVnode && oldVnode.data && oldVnode.data.props) {\n Object.keys(oldVnode.data.props).forEach((key) => {\n if (BOOLEAN_PROPS.indexOf(key) < 0) return;\n if (!vnode.data) vnode.data = {};\n if (!vnode.data.props) vnode.data.props = {};\n if (oldVnode.data.props[key] === true && !(key in vnode.data.props)) {\n vnode.data.props[key] = false;\n }\n });\n }\n };\n\n data.hook = hooks;\n\n return data;\n};\n\nconst getChildren = (treeNode, component, f7, initial) => {\n if (treeNode && treeNode.type && SELF_CLOSING.indexOf(treeNode.type) >= 0) {\n return [];\n }\n const children = [];\n const nodes = treeNode.children;\n for (let i = 0; i < nodes.length; i += 1) {\n const childNode = nodes[i];\n const child = treeNodeToVNode(childNode, component, f7, initial, false);\n if (Array.isArray(child)) {\n children.push(...child);\n } else if (child) {\n children.push(child);\n }\n }\n return children;\n};\n\nconst getSlots = (treeNode, component, f7, initial) => {\n const slotName = treeNode.props.name || 'default';\n const slotNodes = (component.children || []).filter((childTreeNode) => {\n let childSlotName = 'default';\n if (childTreeNode.props) {\n childSlotName = childTreeNode.props.slot || 'default';\n }\n return childSlotName === slotName;\n });\n if (slotNodes.length === 0) {\n return getChildren(treeNode, component, f7, initial);\n }\n return slotNodes.map((subTreeNode) => treeNodeToVNode(subTreeNode, component, f7, initial));\n};\n\nconst isTreeNode = (treeNode) => {\n return isObject(treeNode) && 'props' in treeNode && 'type' in treeNode && 'children' in treeNode;\n};\n\nconst treeNodeToVNode = (treeNode, component, f7, initial, isRoot) => {\n if (!isTreeNode(treeNode)) {\n return String(treeNode);\n }\n if (treeNode.type === 'slot') {\n return getSlots(treeNode, component, f7, initial);\n }\n const data = getData(treeNode, component, f7, initial, isRoot);\n const children = isCustomComponent(treeNode.type)\n ? []\n : getChildren(treeNode, component, f7, initial);\n\n return h(getTagName(treeNode), data, children);\n};\n\nexport default function vdom(tree = {}, component, initial) {\n return treeNodeToVNode(tree, component, component.f7, initial, true);\n}\n","function createElement(tagName) {\n return document.createElement(tagName);\n}\nfunction createElementNS(namespaceURI, qualifiedName) {\n return document.createElementNS(namespaceURI, qualifiedName);\n}\nfunction createTextNode(text) {\n return document.createTextNode(text);\n}\nfunction createComment(text) {\n return document.createComment(text);\n}\nfunction insertBefore(parentNode, newNode, referenceNode) {\n if (referenceNode && referenceNode.parentNode !== parentNode) {\n if (referenceNode.__component__) referenceNode = referenceNode.__component__.el;\n }\n parentNode.insertBefore(newNode, referenceNode);\n}\nfunction removeChild(node, child) {\n if (!node) return;\n node.removeChild(child);\n}\nfunction appendChild(node, child) {\n node.appendChild(child);\n}\nfunction parentNode(node) {\n return node.parentNode;\n}\nfunction nextSibling(node) {\n return node.nextSibling;\n}\nfunction tagName(elm) {\n return elm.tagName;\n}\nfunction setTextContent(node, text) {\n node.textContent = text;\n}\nfunction getTextContent(node) {\n return node.textContent;\n}\nfunction isElement(node) {\n return node.nodeType === 1;\n}\nfunction isText(node) {\n return node.nodeType === 3;\n}\nfunction isComment(node) {\n return node.nodeType === 8;\n}\nexport var htmlDomApi = {\n createElement: createElement,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n getTextContent: getTextContent,\n isElement: isElement,\n isText: isText,\n isComment: isComment,\n};\nexport default htmlDomApi;\n//# sourceMappingURL=htmldomapi.js.map\n","import vnode from './vnode.js';\nimport * as is from './is.js';\nimport htmlDomApi from './htmldomapi.js';\nfunction isUndef(s) { return s === undefined; }\nfunction isDef(s) { return s !== undefined; }\nvar emptyNode = vnode('', {}, [], undefined, undefined);\nfunction sameVnode(vnode1, vnode2) {\n return vnode1.key === vnode2.key && vnode1.sel === vnode2.sel;\n}\nfunction isVnode(vnode) {\n return vnode.sel !== undefined;\n}\nfunction createKeyToOldIdx(children, beginIdx, endIdx) {\n var i, map = {}, key, ch;\n for (i = beginIdx; i <= endIdx; ++i) {\n ch = children[i];\n if (ch != null) {\n key = ch.key;\n if (key !== undefined)\n map[key] = i;\n }\n }\n return map;\n}\nvar hooks = ['create', 'update', 'remove', 'destroy', 'pre', 'post'];\nexport { h } from './h.js';\nexport { thunk } from './thunk.js';\nexport function init(modules, domApi) {\n var i, j, cbs = {};\n var api = domApi !== undefined ? domApi : htmlDomApi;\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n var hook = modules[j][hooks[i]];\n if (hook !== undefined) {\n cbs[hooks[i]].push(hook);\n }\n }\n }\n function emptyNodeAt(elm) {\n var id = elm.id ? '#' + elm.id : '';\n var c = elm.className ? '.' + elm.className.split(' ').join('.') : '';\n return vnode(api.tagName(elm).toLowerCase() + id + c, {}, [], undefined, elm);\n }\n function createRmCb(childElm, listeners) {\n return function rmCb() {\n if (--listeners === 0) {\n var parent_1 = api.parentNode(childElm);\n api.removeChild(parent_1, childElm);\n }\n };\n }\n function createElm(vnode, insertedVnodeQueue) {\n var i, data = vnode.data;\n if (data !== undefined) {\n if (isDef(i = data.hook) && isDef(i = i.init)) {\n i(vnode);\n data = vnode.data;\n }\n }\n var children = vnode.children, sel = vnode.sel;\n if (sel === '!') {\n if (isUndef(vnode.text)) {\n vnode.text = '';\n }\n vnode.elm = api.createComment(vnode.text);\n }\n else if (sel !== undefined) {\n // Parse selector\n var hashIdx = sel.indexOf('#');\n var dotIdx = sel.indexOf('.', hashIdx);\n var hash = hashIdx > 0 ? hashIdx : sel.length;\n var dot = dotIdx > 0 ? dotIdx : sel.length;\n var tag = hashIdx !== -1 || dotIdx !== -1 ? sel.slice(0, Math.min(hash, dot)) : sel;\n var elm = vnode.elm = isDef(data) && isDef(i = data.ns) ? api.createElementNS(i, tag)\n : api.createElement(tag);\n if (hash < dot)\n elm.setAttribute('id', sel.slice(hash + 1, dot));\n if (dotIdx > 0)\n elm.setAttribute('class', sel.slice(dot + 1).replace(/\\./g, ' '));\n for (i = 0; i < cbs.create.length; ++i)\n cbs.create[i](emptyNode, vnode);\n if (is.array(children)) {\n for (i = 0; i < children.length; ++i) {\n var ch = children[i];\n if (ch != null) {\n api.appendChild(elm, createElm(ch, insertedVnodeQueue));\n }\n }\n }\n else if (is.primitive(vnode.text)) {\n api.appendChild(elm, api.createTextNode(vnode.text));\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (i.create)\n i.create(emptyNode, vnode);\n if (i.insert)\n insertedVnodeQueue.push(vnode);\n }\n }\n else {\n vnode.elm = api.createTextNode(vnode.text);\n }\n return vnode.elm;\n }\n function addVnodes(parentElm, before, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (ch != null) {\n api.insertBefore(parentElm, createElm(ch, insertedVnodeQueue), before);\n }\n }\n }\n function invokeDestroyHook(vnode) {\n var i, j, data = vnode.data;\n if (data !== undefined) {\n if (isDef(i = data.hook) && isDef(i = i.destroy))\n i(vnode);\n for (i = 0; i < cbs.destroy.length; ++i)\n cbs.destroy[i](vnode);\n if (vnode.children !== undefined) {\n for (j = 0; j < vnode.children.length; ++j) {\n i = vnode.children[j];\n if (i != null && typeof i !== \"string\") {\n invokeDestroyHook(i);\n }\n }\n }\n }\n }\n function removeVnodes(parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var i_1 = void 0, listeners = void 0, rm = void 0, ch = vnodes[startIdx];\n if (ch != null) {\n if (isDef(ch.sel)) {\n invokeDestroyHook(ch);\n listeners = cbs.remove.length + 1;\n rm = createRmCb(ch.elm, listeners);\n for (i_1 = 0; i_1 < cbs.remove.length; ++i_1)\n cbs.remove[i_1](ch, rm);\n if (isDef(i_1 = ch.data) && isDef(i_1 = i_1.hook) && isDef(i_1 = i_1.remove)) {\n i_1(ch, rm);\n }\n else {\n rm();\n }\n }\n else {\n api.removeChild(parentElm, ch.elm);\n }\n }\n }\n }\n function updateChildren(parentElm, oldCh, newCh, insertedVnodeQueue) {\n var oldStartIdx = 0, newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx;\n var idxInOld;\n var elmToMove;\n var before;\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (oldStartVnode == null) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode might have been moved left\n }\n else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n }\n else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n }\n else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldStartVnode, newEndVnode)) {\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue);\n api.insertBefore(parentElm, oldStartVnode.elm, api.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldEndVnode, newStartVnode)) {\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue);\n api.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n if (oldKeyToIdx === undefined) {\n oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx);\n }\n idxInOld = oldKeyToIdx[newStartVnode.key];\n if (isUndef(idxInOld)) {\n api.insertBefore(parentElm, createElm(newStartVnode, insertedVnodeQueue), oldStartVnode.elm);\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n elmToMove = oldCh[idxInOld];\n if (elmToMove.sel !== newStartVnode.sel) {\n api.insertBefore(parentElm, createElm(newStartVnode, insertedVnodeQueue), oldStartVnode.elm);\n }\n else {\n patchVnode(elmToMove, newStartVnode, insertedVnodeQueue);\n oldCh[idxInOld] = undefined;\n api.insertBefore(parentElm, elmToMove.elm, oldStartVnode.elm);\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n }\n if (oldStartIdx <= oldEndIdx || newStartIdx <= newEndIdx) {\n if (oldStartIdx > oldEndIdx) {\n before = newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, before, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n }\n else {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n }\n function patchVnode(oldVnode, vnode, insertedVnodeQueue) {\n var i, hook;\n if (isDef(i = vnode.data) && isDef(hook = i.hook) && isDef(i = hook.prepatch)) {\n i(oldVnode, vnode);\n }\n var elm = vnode.elm = oldVnode.elm;\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (oldVnode === vnode)\n return;\n if (vnode.data !== undefined) {\n for (i = 0; i < cbs.update.length; ++i)\n cbs.update[i](oldVnode, vnode);\n i = vnode.data.hook;\n if (isDef(i) && isDef(i = i.update))\n i(oldVnode, vnode);\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch)\n updateChildren(elm, oldCh, ch, insertedVnodeQueue);\n }\n else if (isDef(ch)) {\n if (isDef(oldVnode.text))\n api.setTextContent(elm, '');\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n }\n else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n }\n else if (isDef(oldVnode.text)) {\n api.setTextContent(elm, '');\n }\n }\n else if (oldVnode.text !== vnode.text) {\n api.setTextContent(elm, vnode.text);\n }\n if (isDef(hook) && isDef(i = hook.postpatch)) {\n i(oldVnode, vnode);\n }\n }\n return function patch(oldVnode, vnode) {\n var i, elm, parent;\n var insertedVnodeQueue = [];\n for (i = 0; i < cbs.pre.length; ++i)\n cbs.pre[i]();\n if (!isVnode(oldVnode)) {\n oldVnode = emptyNodeAt(oldVnode);\n }\n if (sameVnode(oldVnode, vnode)) {\n patchVnode(oldVnode, vnode, insertedVnodeQueue);\n }\n else {\n elm = oldVnode.elm;\n parent = api.parentNode(elm);\n createElm(vnode, insertedVnodeQueue);\n if (parent !== null) {\n api.insertBefore(parent, vnode.elm, api.nextSibling(elm));\n removeVnodes(parent, [oldVnode], 0, 0);\n }\n }\n for (i = 0; i < insertedVnodeQueue.length; ++i) {\n insertedVnodeQueue[i].data.hook.insert(insertedVnodeQueue[i]);\n }\n for (i = 0; i < cbs.post.length; ++i)\n cbs.post[i]();\n return vnode;\n };\n}\n//# sourceMappingURL=snabbdom.js.map\n","var xlinkNS = 'http://www.w3.org/1999/xlink';\nvar xmlNS = 'http://www.w3.org/XML/1998/namespace';\nvar colonChar = 58;\nvar xChar = 120;\nfunction updateAttrs(oldVnode, vnode) {\n var key, elm = vnode.elm, oldAttrs = oldVnode.data.attrs, attrs = vnode.data.attrs;\n if (!oldAttrs && !attrs)\n return;\n if (oldAttrs === attrs)\n return;\n oldAttrs = oldAttrs || {};\n attrs = attrs || {};\n // update modified attributes, add new attributes\n for (key in attrs) {\n var cur = attrs[key];\n var old = oldAttrs[key];\n if (old !== cur) {\n if (cur === true) {\n elm.setAttribute(key, \"\");\n }\n else if (cur === false) {\n elm.removeAttribute(key);\n }\n else {\n if (key.charCodeAt(0) !== xChar) {\n elm.setAttribute(key, cur);\n }\n else if (key.charCodeAt(3) === colonChar) {\n // Assume xml namespace\n elm.setAttributeNS(xmlNS, key, cur);\n }\n else if (key.charCodeAt(5) === colonChar) {\n // Assume xlink namespace\n elm.setAttributeNS(xlinkNS, key, cur);\n }\n else {\n elm.setAttribute(key, cur);\n }\n }\n }\n }\n // remove removed attributes\n // use `in` operator since the previous `for` iteration uses it (.i.e. add even attributes with undefined value)\n // the other option is to remove all attributes with value == undefined\n for (key in oldAttrs) {\n if (!(key in attrs)) {\n elm.removeAttribute(key);\n }\n }\n}\nexport var attributesModule = { create: updateAttrs, update: updateAttrs };\nexport default attributesModule;\n//# sourceMappingURL=attributes.js.map","function updateProps(oldVnode, vnode) {\n var key, cur, old, elm = vnode.elm, oldProps = oldVnode.data.props, props = vnode.data.props;\n if (!oldProps && !props)\n return;\n if (oldProps === props)\n return;\n oldProps = oldProps || {};\n props = props || {};\n for (key in oldProps) {\n if (!props[key]) {\n delete elm[key];\n }\n }\n for (key in props) {\n cur = props[key];\n old = oldProps[key];\n if (old !== cur && (key !== 'value' || elm[key] !== cur)) {\n elm[key] = cur;\n }\n }\n}\nexport var propsModule = { create: updateProps, update: updateProps };\nexport default propsModule;\n//# sourceMappingURL=props.js.map","var raf = (typeof window !== 'undefined' && window.requestAnimationFrame) || setTimeout;\nvar nextFrame = function (fn) { raf(function () { raf(fn); }); };\nfunction setNextFrame(obj, prop, val) {\n nextFrame(function () { obj[prop] = val; });\n}\nfunction updateStyle(oldVnode, vnode) {\n var cur, name, elm = vnode.elm, oldStyle = oldVnode.data.style, style = vnode.data.style;\n if (!oldStyle && !style)\n return;\n if (oldStyle === style)\n return;\n oldStyle = oldStyle || {};\n style = style || {};\n var oldHasDel = 'delayed' in oldStyle;\n for (name in oldStyle) {\n if (!style[name]) {\n if (name[0] === '-' && name[1] === '-') {\n elm.style.removeProperty(name);\n }\n else {\n elm.style[name] = '';\n }\n }\n }\n for (name in style) {\n cur = style[name];\n if (name === 'delayed' && style.delayed) {\n for (var name2 in style.delayed) {\n cur = style.delayed[name2];\n if (!oldHasDel || cur !== oldStyle.delayed[name2]) {\n setNextFrame(elm.style, name2, cur);\n }\n }\n }\n else if (name !== 'remove' && cur !== oldStyle[name]) {\n if (name[0] === '-' && name[1] === '-') {\n elm.style.setProperty(name, cur);\n }\n else {\n elm.style[name] = cur;\n }\n }\n }\n}\nfunction applyDestroyStyle(vnode) {\n var style, name, elm = vnode.elm, s = vnode.data.style;\n if (!s || !(style = s.destroy))\n return;\n for (name in style) {\n elm.style[name] = style[name];\n }\n}\nfunction applyRemoveStyle(vnode, rm) {\n var s = vnode.data.style;\n if (!s || !s.remove) {\n rm();\n return;\n }\n var name, elm = vnode.elm, i = 0, compStyle, style = s.remove, amount = 0, applied = [];\n for (name in style) {\n applied.push(name);\n elm.style[name] = style[name];\n }\n compStyle = getComputedStyle(elm);\n var props = compStyle['transition-property'].split(', ');\n for (; i < props.length; ++i) {\n if (applied.indexOf(props[i]) !== -1)\n amount++;\n }\n elm.addEventListener('transitionend', function (ev) {\n if (ev.target === elm)\n --amount;\n if (amount === 0)\n rm();\n });\n}\nexport var styleModule = {\n create: updateStyle,\n update: updateStyle,\n destroy: applyDestroyStyle,\n remove: applyRemoveStyle\n};\nexport default styleModule;\n//# sourceMappingURL=style.js.map","import $ from '../../shared/dom7.js';\n\nfunction invokeHandler(handler, event, args) {\n if (typeof handler === 'function') {\n // call function handler\n handler(event, ...args);\n }\n}\nfunction handleEvent(event, args, vnode) {\n const name = event.type;\n const on = vnode.data.on;\n // call event handler(s) if exists\n if (on && on[name]) {\n invokeHandler(on[name], event, args, vnode);\n }\n}\nfunction createListener() {\n return function handler(event, ...args) {\n handleEvent(event, args, handler.vnode);\n };\n}\nfunction updateEvents(oldVnode, vnode) {\n const oldOn = oldVnode.data.on;\n const oldListener = oldVnode.listener;\n const oldElm = oldVnode.elm;\n const on = vnode && vnode.data.on;\n const elm = vnode && vnode.elm;\n // optimization for reused immutable handlers\n if (oldOn === on) {\n return;\n }\n // remove existing listeners which no longer used\n if (oldOn && oldListener) {\n // if element changed or deleted we remove all existing listeners unconditionally\n if (!on) {\n Object.keys(oldOn).forEach((name) => {\n $(oldElm).off(name, oldListener);\n });\n } else {\n Object.keys(oldOn).forEach((name) => {\n if (!on[name]) {\n $(oldElm).off(name, oldListener);\n }\n });\n }\n }\n // add new listeners which has not already attached\n if (on) {\n // reuse existing listener or create new\n const listener = oldVnode.listener || createListener();\n vnode.listener = listener;\n // update vnode for listener\n listener.vnode = vnode;\n // if element changed or added we add all needed listeners unconditionally\n if (!oldOn) {\n Object.keys(on).forEach((name) => {\n $(elm).on(name, listener);\n });\n } else {\n Object.keys(on).forEach((name) => {\n if (!oldOn[name]) {\n $(elm).on(name, listener);\n }\n });\n }\n }\n}\n\nexport default {\n create: updateEvents,\n update: updateEvents,\n destroy: updateEvents,\n};\n","/* eslint import/no-named-as-default: off */\nimport { init } from './snabbdom/snabbdom.js';\nimport attributesModule from './snabbdom/modules/attributes.js';\nimport propsModule from './snabbdom/modules/props.js';\nimport styleModule from './snabbdom/modules/style.js';\nimport eventListenersModule from './eventslisteners.js';\n\nconst patch = init([attributesModule, propsModule, styleModule, eventListenersModule]);\n\nexport default patch;\n","import { flattenArray } from '../../shared/utils.js';\n\nconst ignoreChildren = [false, null, '', undefined];\n\nconst $jsx = (type, props, ...children) => {\n const flatChildren = flattenArray(\n (children || []).filter((child) => ignoreChildren.indexOf(child) < 0),\n );\n if (type === 'Fragment') {\n return flatChildren;\n }\n return {\n type,\n props: props || {},\n children: flatChildren,\n };\n};\n\nexport default $jsx;\n","/* eslint no-underscore-dangle: \"off\" */\nimport { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport $h from './$h.js';\nimport { id as generateId, merge, eventNameToColonCase, deleteProps } from '../../shared/utils.js';\nimport vdom from './vdom.js';\nimport patch from './patch.js';\nimport $jsx from './$jsx.js';\n\nclass Component {\n constructor(app, component, props = {}, { el, context, children } = {}) {\n const document = getDocument();\n merge(this, {\n f7: app,\n props: props || {},\n context: context || {},\n id: component.id || generateId(),\n children: children || [],\n theme: {\n ios: app.theme === 'ios',\n md: app.theme === 'md',\n aurora: app.theme === 'aurora',\n },\n style: component.style,\n __updateQueue: [],\n __eventHandlers: [],\n __onceEventHandlers: [],\n __onBeforeMount: [],\n __onMounted: [],\n __onBeforeUpdate: [],\n __onUpdated: [],\n __onBeforeUnmount: [],\n __onUnmounted: [],\n });\n\n const createComponent = () => {\n return component(this.props, this.getComponentContext(true));\n };\n\n const getRenderFuncion = (componentResult) =>\n new Promise((resolve, reject) => {\n if (typeof componentResult === 'function') {\n resolve(componentResult);\n } else if (componentResult instanceof Promise) {\n componentResult\n .then((render) => {\n resolve(render);\n })\n .catch((err) => {\n reject(err);\n });\n } else {\n reject(\n new Error(\n 'Framework7: Component render function is not a \"function\" type. Didn\\'t you forget to \"return $render\"?',\n ),\n );\n }\n });\n\n return new Promise((resolve, reject) => {\n const componentResult = createComponent();\n getRenderFuncion(componentResult)\n .then((render) => {\n this.renderFunction = render;\n\n const tree = this.render();\n\n if (el) {\n this.vnode = vdom(tree, this, true);\n if (this.style) {\n this.styleEl = document.createElement('style');\n this.styleEl.innerHTML = this.style;\n }\n this.el = el;\n patch(this.el, this.vnode);\n this.el = this.vnode.elm;\n this.$el = $(this.el);\n\n this.attachEvents();\n this.el.f7Component = this;\n this.mount();\n resolve(this);\n return;\n }\n // Make Dom\n if (tree) {\n this.vnode = vdom(tree, this, true);\n this.el = document.createElement(this.vnode.sel || 'div');\n patch(this.el, this.vnode);\n this.$el = $(this.el);\n }\n if (this.style) {\n this.styleEl = document.createElement('style');\n this.styleEl.innerHTML = this.style;\n }\n\n this.attachEvents();\n\n if (this.el) {\n this.el.f7Component = this;\n }\n\n resolve(this);\n })\n .catch((err) => {\n reject(err);\n });\n });\n }\n\n on(eventName, handler) {\n if (!this.__eventHandlers) return;\n this.__eventHandlers.push({ eventName, handler });\n }\n\n once(eventName, handler) {\n if (!this.__eventHandlers) return;\n this.__onceEventHandlers.push({ eventName, handler });\n }\n\n getComponentRef() {\n const self = this;\n return (initialValue) => {\n let value = initialValue;\n const obj = {};\n Object.defineProperty(obj, 'value', {\n get() {\n return value;\n },\n set(v) {\n value = v;\n self.update();\n },\n });\n return obj;\n };\n }\n\n getComponentStore() {\n const { state, _gettersPlain, dispatch } = this.f7.store;\n const $store = {\n state,\n dispatch,\n };\n $store.getters = new Proxy(_gettersPlain, {\n get: (target, prop) => {\n const obj = target[prop];\n const callback = (v) => {\n obj.value = v;\n this.update();\n };\n obj.onUpdated(callback);\n return obj;\n },\n });\n\n return $store;\n }\n\n getComponentContext(includeHooks) {\n const ctx = {\n $f7route: this.context.f7route,\n $f7router: this.context.f7router,\n $h,\n $,\n $id: this.id,\n $f7: this.f7,\n $f7ready: this.f7ready.bind(this),\n $theme: this.theme,\n $tick: this.tick.bind(this),\n $update: this.update.bind(this),\n $emit: this.emit.bind(this),\n $store: this.getComponentStore(),\n $ref: this.getComponentRef(),\n $el: {},\n };\n Object.defineProperty(ctx.$el, 'value', {\n get: () => {\n return this.$el;\n },\n });\n if (includeHooks)\n Object.assign(ctx, {\n $on: this.on.bind(this),\n $once: this.once.bind(this),\n $onBeforeMount: (handler) => this.__onBeforeMount.push(handler),\n $onMounted: (handler) => this.__onMounted.push(handler),\n $onBeforeUpdate: (handler) => this.__onBeforeUpdate.push(handler),\n $onUpdated: (handler) => this.__onUpdated.push(handler),\n $onBeforeUnmount: (handler) => this.__onBeforeUnmount.push(handler),\n $onUnmounted: (handler) => this.__onUnmounted.push(handler),\n });\n\n return ctx;\n }\n\n render() {\n return this.renderFunction(this.getComponentContext());\n }\n\n emit(name, data) {\n if (!this.el) return;\n this.$el.trigger(name, data);\n }\n\n attachEvents() {\n const { $el } = this;\n if (!this.__eventHandlers) return;\n this.__eventHandlers.forEach(({ eventName, handler }) => {\n $el.on(eventNameToColonCase(eventName), handler);\n });\n this.__onceEventHandlers.forEach(({ eventName, handler }) => {\n $el.once(eventNameToColonCase(eventName), handler);\n });\n }\n\n detachEvents() {\n const { $el } = this;\n if (!this.__eventHandlers) return;\n this.__eventHandlers.forEach(({ eventName, handler }) => {\n $el.on(eventNameToColonCase(eventName), handler);\n });\n this.__onceEventHandlers.forEach(({ eventName, handler }) => {\n $el.once(eventNameToColonCase(eventName), handler);\n });\n }\n\n startUpdateQueue() {\n const window = getWindow();\n if (this.__requestAnimationFrameId) return;\n const update = () => {\n this.hook('onBeforeUpdate');\n const tree = this.render();\n\n // Make Dom\n if (tree) {\n const newVNode = vdom(tree, this, false);\n this.vnode = patch(this.vnode, newVNode);\n }\n };\n this.__requestAnimationFrameId = window.requestAnimationFrame(() => {\n if (this.__updateIsPending) update();\n let resolvers = [...this.__updateQueue];\n this.__updateQueue = [];\n this.__updateIsPending = false;\n window.cancelAnimationFrame(this.__requestAnimationFrameId);\n delete this.__requestAnimationFrameId;\n delete this.__updateIsPending;\n resolvers.forEach((resolver) => resolver());\n resolvers = [];\n });\n }\n\n tick(callback) {\n return new Promise((resolve) => {\n function resolver() {\n resolve();\n if (callback) callback();\n }\n this.__updateQueue.push(resolver);\n this.startUpdateQueue();\n });\n }\n\n update(callback) {\n if (this.__destroyed) return new Promise(() => {});\n return new Promise((resolve) => {\n const resolver = () => {\n resolve();\n if (callback) callback();\n };\n this.__updateIsPending = true;\n this.__updateQueue.push(resolver);\n this.startUpdateQueue();\n });\n }\n\n setState(callback) {\n return this.update(callback);\n }\n\n f7ready(callback) {\n if (this.f7.initialized) {\n callback(this.f7);\n return;\n }\n this.f7.once('init', () => {\n callback(this.f7);\n });\n }\n\n mount(mountMethod) {\n this.hook('onBeforeMount', this.$el);\n if (this.styleEl) $('head').append(this.styleEl);\n if (mountMethod) mountMethod(this.el);\n this.hook('onMounted', this.$el);\n }\n\n destroy() {\n if (this.__destroyed) return;\n const window = getWindow();\n this.hook('onBeforeUnmount');\n\n if (this.styleEl) $(this.styleEl).remove();\n\n this.detachEvents();\n this.hook('onUnmounted');\n // Delete component instance\n if (this.el && this.el.f7Component) {\n this.el.f7Component = null;\n delete this.el.f7Component;\n }\n // Patch with empty node\n if (this.vnode) {\n this.vnode = patch(this.vnode, { sel: this.vnode.sel, data: {} });\n }\n // Clear update queue\n window.cancelAnimationFrame(this.__requestAnimationFrameId);\n this.__updateQueue = [];\n this.__eventHandlers = [];\n this.__onceEventHandlers = [];\n this.__onBeforeMount = [];\n this.__onMounted = [];\n this.__onBeforeUpdate = [];\n this.__onUpdated = [];\n this.__onBeforeUnmount = [];\n this.__onUnmounted = [];\n // Delete all props\n deleteProps(this);\n this.__destroyed = true;\n }\n\n hook(name, ...args) {\n if (this.__destroyed) return;\n this[`__${name}`].forEach((handler) => {\n handler(...args);\n });\n }\n}\n\nComponent.$jsx = $jsx;\n\nexport default Component;\n","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport { id } from '../../shared/utils.js';\n\nfunction parseComponent(componentString) {\n const window = getWindow();\n const document = getDocument();\n const componentId = id();\n const callbackCreateName = `f7_component_create_callback_${componentId}`;\n\n // Template\n let template;\n const hasTemplate = componentString.match(/<template([ ]?)([a-z0-9-]*)>/);\n if (hasTemplate) {\n template = componentString\n .split(/<template[ ]?[a-z0-9-]*>/)\n .filter((item, index) => index > 0)\n .join('<template>')\n .split('</template>')\n .filter((item, index, arr) => index < arr.length - 1)\n .join('</template>')\n .replace(/{{#raw}}([ \\n]*)<template/g, '{{#raw}}<template')\n .replace(/\\/template>([ \\n]*){{\\/raw}}/g, '/template>{{/raw}}')\n .replace(/([ \\n])<template/g, '$1{{#raw}}<template')\n .replace(/\\/template>([ \\n])/g, '/template>{{/raw}}$1');\n }\n\n // Parse Styles\n let style = null;\n\n if (componentString.indexOf('<style>') >= 0) {\n style = componentString.split('<style>')[1].split('</style>')[0];\n }\n if (componentString.indexOf('<style scoped>') >= 0) {\n style = componentString.split('<style scoped>')[1].split('</style>')[0];\n }\n\n // Parse Script\n let scriptContent;\n if (componentString.indexOf('<script>') >= 0) {\n const scripts = componentString.split('<script>');\n scriptContent = scripts[scripts.length - 1].split('</script>')[0].trim();\n } else {\n scriptContent = 'return () => {return $render}';\n }\n if (!scriptContent || !scriptContent.trim()) scriptContent = 'return () => {return $render}';\n\n // Parse Template\n if (template) {\n scriptContent = scriptContent\n .replace(\n '$render',\n `function ($$ctx) {\n var $ = $$ctx.$$;\n var $h = $$ctx.$h;\n var $root = $$ctx.$root;\n var $f7 = $$ctx.$f7;\n var $f7route = $$ctx.$f7route;\n var $f7router = $$ctx.$f7router;\n var $theme = $$ctx.$theme;\n var $update = $$ctx.$update;\n var $store = $$ctx.$store;\n var $ref = $$ctx.$ref;\n\n return $h\\`${template}\\`\n }\n `,\n )\n .replace(/export default/g, 'return');\n }\n\n // Execute Script\n scriptContent = `window.${callbackCreateName} = function () {${scriptContent}}`;\n\n // Insert Script El\n const scriptEl = document.createElement('script');\n scriptEl.innerHTML = scriptContent;\n $('head').append(scriptEl);\n\n const component = window[callbackCreateName]();\n\n // Remove Script El\n $(scriptEl).remove();\n window[callbackCreateName] = null;\n delete window[callbackCreateName];\n\n // Assign Style\n if (style) {\n component.style = style;\n }\n\n // Component ID\n component.id = componentId;\n return component;\n}\n\nexport default parseComponent;\n","import Component from './component-class.js';\nimport parseComponent from './parse-component.js';\nimport customComponents from './custom-components.js';\nimport $jsx from './$jsx.js';\n\nfunction registerComponent(tagName, component) {\n customComponents[tagName] = component;\n}\n\nfunction unregisterComponent(tagName) {\n delete customComponents[tagName];\n}\n\nexport { Component, $jsx };\nexport default {\n name: 'component',\n static: {\n Component,\n parseComponent,\n registerComponent,\n unregisterComponent,\n },\n create() {\n const app = this;\n app.component = {\n registerComponent,\n unregisterComponent,\n parse(componentString) {\n return parseComponent(componentString);\n },\n create(component, props, { root, el, context, children }) {\n return new Component(app, component, props, { root, el, context, children });\n },\n };\n },\n};\n","import History from '../../shared/history.js';\n\nexport default {\n name: 'history',\n static: {\n history: History,\n },\n on: {\n init() {\n History.init(this);\n },\n },\n};\n","import { getWindow } from 'ssr-window';\nimport { extend } from '../../shared/utils.js';\n\nconst SW = {\n registrations: [],\n register(path, scope) {\n const app = this;\n const window = getWindow();\n\n if (!('serviceWorker' in window.navigator) || !app.serviceWorker.container) {\n return new Promise((resolve, reject) => {\n reject(new Error('Service worker is not supported'));\n });\n }\n return new Promise((resolve, reject) => {\n app.serviceWorker.container\n .register(path, scope ? { scope } : {})\n .then((reg) => {\n SW.registrations.push(reg);\n app.emit('serviceWorkerRegisterSuccess', reg);\n resolve(reg);\n })\n .catch((error) => {\n app.emit('serviceWorkerRegisterError', error);\n reject(error);\n });\n });\n },\n unregister(registration) {\n const app = this;\n const window = getWindow();\n if (!('serviceWorker' in window.navigator) || !app.serviceWorker.container) {\n return new Promise((resolve, reject) => {\n reject(new Error('Service worker is not supported'));\n });\n }\n let registrations;\n if (!registration) registrations = SW.registrations;\n else if (Array.isArray(registration)) registrations = registration;\n else registrations = [registration];\n return Promise.all(\n registrations.map(\n (reg) =>\n new Promise((resolve, reject) => {\n reg\n .unregister()\n .then(() => {\n if (SW.registrations.indexOf(reg) >= 0) {\n SW.registrations.splice(SW.registrations.indexOf(reg), 1);\n }\n app.emit('serviceWorkerUnregisterSuccess', reg);\n resolve();\n })\n .catch((error) => {\n app.emit('serviceWorkerUnregisterError', reg, error);\n reject(error);\n });\n }),\n ),\n );\n },\n};\n\nexport default {\n name: 'sw',\n params: {\n serviceWorker: {\n path: undefined,\n scope: undefined,\n },\n },\n create() {\n const app = this;\n const window = getWindow();\n extend(app, {\n serviceWorker: {\n container: 'serviceWorker' in window.navigator ? window.navigator.serviceWorker : undefined,\n registrations: SW.registrations,\n register: SW.register.bind(app),\n unregister: SW.unregister.bind(app),\n },\n });\n },\n on: {\n init() {\n const window = getWindow();\n if (!('serviceWorker' in window.navigator)) return;\n const app = this;\n if (app.device.cordova || (window.Capacitor && window.Capacitor.isNative)) return;\n if (!app.serviceWorker.container) return;\n const paths = app.params.serviceWorker.path;\n const scope = app.params.serviceWorker.scope;\n if (!paths || (Array.isArray(paths) && !paths.length)) return;\n const toRegister = Array.isArray(paths) ? paths : [paths];\n toRegister.forEach((path) => {\n app.serviceWorker.register(path, scope);\n });\n },\n },\n};\n","/* eslint-disable no-underscore-dangle */\nimport { extend } from '../../shared/utils.js';\n\nfunction createStore(storeParams = {}) {\n const store = {\n __store: true,\n };\n const originalState = { ...(storeParams.state || {}) };\n const actions = { ...(storeParams.actions || {}) };\n const getters = { ...(storeParams.getters || {}) };\n const state = extend({}, originalState);\n\n let propsQueue = [];\n const gettersDependencies = {};\n const gettersCallbacks = {};\n\n Object.keys(getters).forEach((getterKey) => {\n gettersDependencies[getterKey] = [];\n gettersCallbacks[getterKey] = [];\n });\n\n const getGetterValue = (getterKey) => {\n return getters[getterKey]({ state: store.state });\n };\n\n const addGetterDependencies = (getterKey, deps) => {\n if (!gettersDependencies[getterKey]) gettersDependencies[getterKey] = [];\n deps.forEach((dep) => {\n if (gettersDependencies[getterKey].indexOf(dep) < 0) {\n gettersDependencies[getterKey].push(dep);\n }\n });\n };\n\n const addGetterCallback = (getterKey, callback) => {\n if (!gettersCallbacks[getterKey]) gettersCallbacks[getterKey] = [];\n gettersCallbacks[getterKey].push(callback);\n };\n\n const runGetterCallbacks = (stateKey) => {\n const keys = Object.keys(gettersDependencies).filter((getterKey) => {\n return gettersDependencies[getterKey].indexOf(stateKey) >= 0;\n });\n keys.forEach((getterKey) => {\n if (!gettersCallbacks[getterKey] || !gettersCallbacks[getterKey].length) return;\n gettersCallbacks[getterKey].forEach((callback) => {\n callback(getGetterValue(getterKey));\n });\n });\n };\n\n const removeGetterCallback = (callback) => {\n Object.keys(gettersCallbacks).forEach((stateKey) => {\n const callbacks = gettersCallbacks[stateKey];\n\n if (callbacks.indexOf(callback) >= 0) {\n callbacks.splice(callbacks.indexOf(callback), 1);\n }\n });\n };\n\n // eslint-disable-next-line\n store.__removeCallback = (callback) => {\n removeGetterCallback(callback);\n };\n\n const getterValue = (getterKey, addCallback = true) => {\n if (getterKey === 'constructor') return undefined;\n propsQueue = [];\n const value = getGetterValue(getterKey);\n addGetterDependencies(getterKey, propsQueue);\n const onUpdated = (callback) => {\n addGetterCallback(getterKey, callback);\n };\n\n const obj = {\n value,\n onUpdated,\n };\n\n if (!addCallback) {\n return obj;\n }\n\n const callback = (v) => {\n obj.value = v;\n };\n\n obj.__callback = callback;\n addGetterCallback(getterKey, callback);\n // eslint-disable-next-line\n return obj;\n };\n\n store.state = new Proxy(state, {\n set: (target, prop, value) => {\n target[prop] = value;\n runGetterCallbacks(prop);\n return true;\n },\n get: (target, prop) => {\n propsQueue.push(prop);\n return target[prop];\n },\n });\n\n store.getters = new Proxy(getters, {\n set: () => false,\n get: (target, prop) => {\n if (!target[prop]) {\n return undefined;\n }\n return getterValue(prop, true);\n },\n });\n\n store._gettersPlain = new Proxy(getters, {\n set: () => false,\n get: (target, prop) => {\n if (!target[prop]) {\n return undefined;\n }\n return getterValue(prop, false);\n },\n });\n\n store.dispatch = (actionName, data) => {\n return new Promise((resolve, reject) => {\n if (!actions[actionName]) {\n reject();\n throw new Error(`Framework7: Store action \"${actionName}\" is not found`);\n }\n const result = actions[actionName]({ state: store.state, dispatch: store.dispatch }, data);\n resolve(result);\n });\n };\n\n return store;\n}\n\nexport default createStore;\n","import createStore from './create-store.js';\n\nexport { createStore };\nexport default {\n name: 'store',\n static: { createStore },\n proto: { createStore },\n};\n","import { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport { bindMethods } from '../../shared/utils.js';\nimport { getDevice } from '../../shared/get-device.js';\n\nconst isCapacitor = () => {\n const window = getWindow();\n return (\n window.Capacitor &&\n window.Capacitor.isNative &&\n window.Capacitor.Plugins &&\n window.Capacitor.Plugins.StatusBar\n );\n};\n\nconst Statusbar = {\n hide() {\n const window = getWindow();\n const device = getDevice();\n if (device.cordova && window.StatusBar) {\n window.StatusBar.hide();\n }\n if (isCapacitor()) {\n window.Capacitor.Plugins.StatusBar.hide();\n }\n },\n show() {\n const window = getWindow();\n const device = getDevice();\n if (device.cordova && window.StatusBar) {\n window.StatusBar.show();\n }\n if (isCapacitor()) {\n window.Capacitor.Plugins.StatusBar.show();\n }\n },\n onClick() {\n const app = this;\n let pageContent;\n if ($('.popup.modal-in').length > 0) {\n // Check for opened popup\n pageContent = $('.popup.modal-in')\n .find('.page:not(.page-previous):not(.page-next):not(.cached)')\n .find('.page-content');\n } else if ($('.panel.panel-in').length > 0) {\n // Check for opened panel\n pageContent = $('.panel.panel-in')\n .find('.page:not(.page-previous):not(.page-next):not(.cached)')\n .find('.page-content');\n } else if ($('.views > .view.tab-active').length > 0) {\n // View in tab bar app layout\n pageContent = $('.views > .view.tab-active')\n .find('.page:not(.page-previous):not(.page-next):not(.cached)')\n .find('.page-content');\n } else if ($('.views').length > 0) {\n pageContent = $('.views')\n .find('.page:not(.page-previous):not(.page-next):not(.cached)')\n .find('.page-content');\n } else {\n pageContent = app.$el\n .children('.view')\n .find('.page:not(.page-previous):not(.page-next):not(.cached)')\n .find('.page-content');\n }\n\n if (pageContent && pageContent.length > 0) {\n // Check for tab\n if (pageContent.hasClass('tab')) {\n pageContent = pageContent.parent('.tabs').children('.page-content.tab-active');\n }\n if (pageContent.length > 0) pageContent.scrollTop(0, 300);\n }\n },\n setTextColor(color) {\n const window = getWindow();\n const device = getDevice();\n if (device.cordova && window.StatusBar) {\n if (color === 'white') {\n window.StatusBar.styleLightContent();\n } else {\n window.StatusBar.styleDefault();\n }\n }\n if (isCapacitor()) {\n if (color === 'white') {\n window.Capacitor.Plugins.StatusBar.setStyle({ style: 'DARK' });\n } else {\n window.Capacitor.Plugins.StatusBar.setStyle({ style: 'LIGHT' });\n }\n }\n },\n setBackgroundColor(color) {\n const window = getWindow();\n const device = getDevice();\n if (device.cordova && window.StatusBar) {\n window.StatusBar.backgroundColorByHexString(color);\n }\n if (isCapacitor()) {\n window.Capacitor.Plugins.StatusBar.setBackgroundColor({ color });\n }\n },\n isVisible() {\n const window = getWindow();\n const device = getDevice();\n return new Promise((resolve) => {\n if (device.cordova && window.StatusBar) {\n resolve(window.StatusBar.isVisible);\n }\n if (isCapacitor()) {\n window.Capacitor.Plugins.StatusBar.getInfo().then((info) => {\n resolve(info.visible);\n });\n }\n resolve(false);\n });\n },\n overlaysWebView(overlays = true) {\n const window = getWindow();\n const device = getDevice();\n if (device.cordova && window.StatusBar) {\n window.StatusBar.overlaysWebView(overlays);\n }\n if (isCapacitor()) {\n window.Capacitor.Plugins.StatusBar.setOverlaysWebView({ overlay: overlays });\n }\n },\n init() {\n const app = this;\n const window = getWindow();\n const device = getDevice();\n const params = app.params.statusbar;\n if (!params.enabled) return;\n const isCordova = device.cordova && window.StatusBar;\n const isCap = isCapacitor();\n\n if (isCordova || isCap) {\n if (params.scrollTopOnClick) {\n $(window).on('statusTap', Statusbar.onClick.bind(app));\n }\n if (device.ios) {\n if (params.iosOverlaysWebView) {\n Statusbar.overlaysWebView(true);\n } else {\n Statusbar.overlaysWebView(false);\n }\n if (params.iosTextColor === 'white') {\n Statusbar.setTextColor('white');\n } else {\n Statusbar.setTextColor('black');\n }\n }\n if (device.android) {\n if (params.androidOverlaysWebView) {\n Statusbar.overlaysWebView(true);\n } else {\n Statusbar.overlaysWebView(false);\n }\n if (params.androidTextColor === 'white') {\n Statusbar.setTextColor('white');\n } else {\n Statusbar.setTextColor('black');\n }\n }\n }\n if (params.iosBackgroundColor && device.ios) {\n Statusbar.setBackgroundColor(params.iosBackgroundColor);\n }\n if (params.androidBackgroundColor && device.android) {\n Statusbar.setBackgroundColor(params.androidBackgroundColor);\n }\n },\n};\n\nexport default {\n name: 'statusbar',\n params: {\n statusbar: {\n enabled: true,\n\n scrollTopOnClick: true,\n\n iosOverlaysWebView: true,\n iosTextColor: 'black',\n iosBackgroundColor: null,\n\n androidOverlaysWebView: false,\n androidTextColor: 'black',\n androidBackgroundColor: null,\n },\n },\n create() {\n const app = this;\n bindMethods(app, {\n statusbar: Statusbar,\n });\n },\n on: {\n init() {\n const app = this;\n Statusbar.init.call(app);\n },\n },\n};\n","import $ from '../../shared/dom7.js';\nimport { extend } from '../../shared/utils.js';\nimport View from './view-class.js';\n\nfunction getCurrentView(app) {\n const $popoverView = $('.popover.modal-in .view');\n const $popupView = $('.popup.modal-in .view');\n const $panelView = $('.panel.panel-in .view');\n let $viewsEl = $('.views');\n if ($viewsEl.length === 0) $viewsEl = app.$el;\n // Find active view as tab\n let $viewEl = $viewsEl.children('.view');\n if ($viewEl.length === 0) {\n $viewEl = $viewsEl.children('.tabs').children('.view');\n }\n // Propably in tabs or split view\n if ($viewEl.length > 1) {\n if ($viewEl.hasClass('tab')) {\n // Tabs\n $viewEl = $viewsEl.children('.view.tab-active');\n if ($viewEl.length === 0) {\n $viewEl = $viewsEl.children('.tabs').children('.view.tab-active');\n }\n } else {\n // Split View, leave appView intact\n }\n }\n if ($popoverView.length > 0 && $popoverView[0].f7View) return $popoverView[0].f7View;\n if ($popupView.length > 0 && $popupView[0].f7View) return $popupView[0].f7View;\n if ($panelView.length > 0 && $panelView[0].f7View) return $panelView[0].f7View;\n if ($viewEl.length > 0) {\n if ($viewEl.length === 1 && $viewEl[0].f7View) return $viewEl[0].f7View;\n if ($viewEl.length > 1) {\n return app.views.main;\n }\n }\n return undefined;\n}\n\nexport default {\n name: 'view',\n params: {\n view: {\n init: true,\n initRouterOnTabShow: false,\n name: undefined,\n main: false,\n router: true,\n linksView: null,\n stackPages: false,\n xhrCache: true,\n xhrCacheIgnore: [],\n xhrCacheIgnoreGetParameters: false,\n xhrCacheDuration: 1000 * 60 * 10, // Ten minutes\n componentCache: true,\n preloadPreviousPage: true,\n allowDuplicateUrls: false,\n reloadPages: false,\n reloadDetail: false,\n masterDetailBreakpoint: 0,\n masterDetailResizable: false,\n removeElements: true,\n removeElementsWithTimeout: false,\n removeElementsTimeout: 0,\n restoreScrollTopOnBack: true,\n unloadTabContent: true,\n passRouteQueryToRequest: true,\n passRouteParamsToRequest: false,\n loadInitialPage: true,\n // Swipe Back\n iosSwipeBack: true,\n iosSwipeBackAnimateShadow: true,\n iosSwipeBackAnimateOpacity: true,\n iosSwipeBackActiveArea: 30,\n iosSwipeBackThreshold: 0,\n mdSwipeBack: false,\n mdSwipeBackAnimateShadow: true,\n mdSwipeBackAnimateOpacity: false,\n mdSwipeBackActiveArea: 30,\n mdSwipeBackThreshold: 0,\n auroraSwipeBack: false,\n auroraSwipeBackAnimateShadow: false,\n auroraSwipeBackAnimateOpacity: true,\n auroraSwipeBackActiveArea: 30,\n auroraSwipeBackThreshold: 0,\n // Push State\n browserHistory: false,\n browserHistoryRoot: undefined,\n browserHistoryAnimate: true,\n browserHistoryAnimateOnLoad: false,\n browserHistorySeparator: '#!',\n browserHistoryOnLoad: true,\n browserHistoryInitialMatch: false,\n browserHistoryStoreHistory: true,\n browserHistoryTabs: 'replace',\n // Animate Pages\n animate: true,\n // iOS Dynamic Navbar\n iosDynamicNavbar: true,\n // Animate iOS Navbar Back Icon\n iosAnimateNavbarBackIcon: true,\n // Delays\n iosPageLoadDelay: 0,\n mdPageLoadDelay: 0,\n auroraPageLoadDelay: 0,\n // Routes hooks\n routesBeforeEnter: null,\n routesBeforeLeave: null,\n },\n },\n static: {\n View,\n },\n create() {\n const app = this;\n extend(app, {\n views: extend([], {\n create(el, params) {\n return new View(app, el, params);\n },\n get(viewEl) {\n const $viewEl = $(viewEl);\n if ($viewEl.length && $viewEl[0].f7View) return $viewEl[0].f7View;\n return undefined;\n },\n }),\n });\n Object.defineProperty(app.views, 'current', {\n enumerable: true,\n configurable: true,\n get() {\n return getCurrentView(app);\n },\n });\n // Alias\n app.view = app.views;\n },\n on: {\n init() {\n const app = this;\n $('.view-init').each((viewEl) => {\n if (viewEl.f7View) return;\n const viewParams = $(viewEl).dataset();\n app.views.create(viewEl, viewParams);\n });\n },\n 'modalOpen panelOpen': function onOpen(instance) {\n const app = this;\n instance.$el.find('.view-init').each((viewEl) => {\n if (viewEl.f7View) return;\n const viewParams = $(viewEl).dataset();\n app.views.create(viewEl, viewParams);\n });\n },\n 'modalBeforeDestroy panelBeforeDestroy': function onClose(instance) {\n if (!instance || !instance.$el) return;\n instance.$el.find('.view-init').each((viewEl) => {\n const view = viewEl.f7View;\n if (!view) return;\n view.destroy();\n });\n },\n },\n vnode: {\n 'view-init': {\n insert(vnode) {\n const app = this;\n const viewEl = vnode.elm;\n if (viewEl.f7View) return;\n const viewParams = $(viewEl).dataset();\n app.views.create(viewEl, viewParams);\n },\n destroy(vnode) {\n const viewEl = vnode.elm;\n const view = viewEl.f7View;\n if (!view) return;\n view.destroy();\n },\n },\n },\n};\n","import $ from '../../shared/dom7.js';\nimport { bindMethods } from '../../shared/utils.js';\nimport { getSupport } from '../../shared/get-support.js';\n\nconst Navbar = {\n size(el) {\n const app = this;\n\n let $el = $(el);\n\n if ($el.hasClass('navbars')) {\n $el = $el.children('.navbar').each((navbarEl) => {\n app.navbar.size(navbarEl);\n });\n return;\n }\n\n const $innerEl = $el.children('.navbar-inner');\n if (!$innerEl.length) return;\n\n const needCenterTitle =\n $innerEl.hasClass('navbar-inner-centered-title') ||\n app.params.navbar[`${app.theme}CenterTitle`];\n const needLeftTitle = app.theme === 'ios' && !app.params.navbar[`${app.theme}CenterTitle`];\n\n if (!needCenterTitle && !needLeftTitle) return;\n\n if (\n $el.hasClass('stacked') ||\n $el.parents('.stacked').length > 0 ||\n $el.parents('.tab:not(.tab-active)').length > 0 ||\n $el.parents('.popup:not(.modal-in)').length > 0\n ) {\n return;\n }\n\n if (app.theme !== 'ios' && app.params.navbar[`${app.theme}CenterTitle`]) {\n $innerEl.addClass('navbar-inner-centered-title');\n }\n if (app.theme === 'ios' && !app.params.navbar.iosCenterTitle) {\n $innerEl.addClass('navbar-inner-left-title');\n }\n\n const $viewEl = $el.parents('.view').eq(0);\n const left = app.rtl ? $innerEl.children('.right') : $innerEl.children('.left');\n const right = app.rtl ? $innerEl.children('.left') : $innerEl.children('.right');\n const title = $innerEl.children('.title');\n const subnavbar = $innerEl.children('.subnavbar');\n const noLeft = left.length === 0;\n const noRight = right.length === 0;\n const leftWidth = noLeft ? 0 : left.outerWidth(true);\n const rightWidth = noRight ? 0 : right.outerWidth(true);\n const titleWidth = title.outerWidth(true);\n const navbarStyles = $innerEl.styles();\n const navbarWidth = $innerEl[0].offsetWidth;\n const navbarInnerWidth =\n navbarWidth -\n parseInt(navbarStyles.paddingLeft, 10) -\n parseInt(navbarStyles.paddingRight, 10);\n const isPrevious = $el.hasClass('navbar-previous');\n const sliding = $innerEl.hasClass('sliding');\n\n let router;\n let dynamicNavbar;\n\n if ($viewEl.length > 0 && $viewEl[0].f7View) {\n router = $viewEl[0].f7View.router;\n dynamicNavbar = router && router.dynamicNavbar;\n }\n\n let currLeft;\n let diff;\n if (noRight) {\n currLeft = navbarInnerWidth - titleWidth;\n }\n if (noLeft) {\n currLeft = 0;\n }\n if (!noLeft && !noRight) {\n currLeft = (navbarInnerWidth - rightWidth - titleWidth + leftWidth) / 2;\n }\n let requiredLeft = (navbarInnerWidth - titleWidth) / 2;\n if (navbarInnerWidth - leftWidth - rightWidth > titleWidth) {\n if (requiredLeft < leftWidth) {\n requiredLeft = leftWidth;\n }\n if (requiredLeft + titleWidth > navbarInnerWidth - rightWidth) {\n requiredLeft = navbarInnerWidth - rightWidth - titleWidth;\n }\n diff = requiredLeft - currLeft;\n } else {\n diff = 0;\n }\n\n // RTL inverter\n const inverter = app.rtl ? -1 : 1;\n\n if (dynamicNavbar && app.theme === 'ios') {\n if (title.hasClass('sliding') || (title.length > 0 && sliding)) {\n let titleLeftOffset = -(currLeft + diff) * inverter;\n const titleRightOffset = (navbarInnerWidth - currLeft - diff - titleWidth) * inverter;\n\n if (isPrevious) {\n if (router && router.params.iosAnimateNavbarBackIcon) {\n const activeNavbarBackLink = $el\n .parent()\n .find('.navbar-current')\n .children('.left.sliding')\n .find('.back .icon ~ span');\n if (activeNavbarBackLink.length > 0) {\n titleLeftOffset += activeNavbarBackLink[0].offsetLeft;\n }\n }\n }\n title[0].f7NavbarLeftOffset = titleLeftOffset;\n title[0].f7NavbarRightOffset = titleRightOffset;\n }\n if (!noLeft && (left.hasClass('sliding') || sliding)) {\n if (app.rtl) {\n left[0].f7NavbarLeftOffset = (-(navbarInnerWidth - left[0].offsetWidth) / 2) * inverter;\n left[0].f7NavbarRightOffset = leftWidth * inverter;\n } else {\n left[0].f7NavbarLeftOffset = -leftWidth;\n left[0].f7NavbarRightOffset = (navbarInnerWidth - left[0].offsetWidth) / 2;\n if (\n router &&\n router.params.iosAnimateNavbarBackIcon &&\n left.find('.back .icon').length > 0\n ) {\n if (left.find('.back .icon ~ span').length) {\n const leftOffset = left[0].f7NavbarLeftOffset;\n const rightOffset = left[0].f7NavbarRightOffset;\n left[0].f7NavbarLeftOffset = 0;\n left[0].f7NavbarRightOffset = 0;\n left.find('.back .icon ~ span')[0].f7NavbarLeftOffset = leftOffset;\n left.find('.back .icon ~ span')[0].f7NavbarRightOffset =\n rightOffset - left.find('.back .icon')[0].offsetWidth;\n }\n }\n }\n }\n if (!noRight && (right.hasClass('sliding') || sliding)) {\n if (app.rtl) {\n right[0].f7NavbarLeftOffset = -rightWidth * inverter;\n right[0].f7NavbarRightOffset = ((navbarInnerWidth - right[0].offsetWidth) / 2) * inverter;\n } else {\n right[0].f7NavbarLeftOffset = -(navbarInnerWidth - right[0].offsetWidth) / 2;\n right[0].f7NavbarRightOffset = rightWidth;\n }\n }\n if (subnavbar.length && (subnavbar.hasClass('sliding') || sliding)) {\n subnavbar[0].f7NavbarLeftOffset = app.rtl\n ? subnavbar[0].offsetWidth\n : -subnavbar[0].offsetWidth;\n subnavbar[0].f7NavbarRightOffset = -subnavbar[0].f7NavbarLeftOffset;\n }\n }\n\n // Center title\n if (needCenterTitle) {\n let titleLeft = diff;\n if (app.rtl && noLeft && noRight && title.length > 0) titleLeft = -titleLeft;\n title.css({ left: `${titleLeft}px` });\n }\n },\n hide(el, animate = true, hideStatusbar = false, hideOnlyCurrent = false) {\n const app = this;\n let $el = $(el);\n const isDynamic = $el.hasClass('navbar') && $el.parent('.navbars').length && !hideOnlyCurrent;\n if (isDynamic) $el = $el.parents('.navbars');\n if (!$el.length) return;\n if ($el.hasClass('navbar-hidden')) return;\n let className = `navbar-hidden${animate ? ' navbar-transitioning' : ''}`;\n const currentIsLarge = isDynamic\n ? $el.find('.navbar-current .title-large').length\n : $el.find('.title-large').length;\n if (currentIsLarge) {\n className += ' navbar-large-hidden';\n }\n if (hideStatusbar) {\n className += ' navbar-hidden-statusbar';\n }\n $el.transitionEnd(() => {\n $el.removeClass('navbar-transitioning');\n });\n $el.addClass(className);\n if (isDynamic) {\n $el.children('.navbar').each((subEl) => {\n $(subEl).trigger('navbar:hide');\n app.emit('navbarHide', subEl);\n });\n } else {\n $el.trigger('navbar:hide');\n app.emit('navbarHide', $el[0]);\n }\n },\n show(el = '.navbar-hidden', animate = true, hideOnlyCurrent = false) {\n const app = this;\n let $el = $(el);\n const isDynamic = $el.hasClass('navbar') && $el.parent('.navbars').length && !hideOnlyCurrent;\n if (isDynamic) $el = $el.parents('.navbars');\n if (!$el.length) return;\n if (!$el.hasClass('navbar-hidden')) return;\n if (animate) {\n $el.addClass('navbar-transitioning');\n $el.transitionEnd(() => {\n $el.removeClass('navbar-transitioning');\n });\n }\n $el.removeClass('navbar-hidden navbar-large-hidden navbar-hidden-statusbar');\n if (isDynamic) {\n $el.children('.navbar').each((subEl) => {\n $(subEl).trigger('navbar:show');\n app.emit('navbarShow', subEl);\n });\n } else {\n $el.trigger('navbar:show');\n app.emit('navbarShow', $el[0]);\n }\n },\n getElByPage(page) {\n let $pageEl;\n let $navbarEl;\n let pageData;\n if (page.$navbarEl || page.$el) {\n pageData = page;\n $pageEl = page.$el;\n } else {\n $pageEl = $(page);\n if ($pageEl.length > 0) pageData = $pageEl[0].f7Page;\n }\n if (pageData && pageData.$navbarEl && pageData.$navbarEl.length > 0) {\n $navbarEl = pageData.$navbarEl;\n } else if ($pageEl) {\n $navbarEl = $pageEl.children('.navbar');\n }\n if (!$navbarEl || ($navbarEl && $navbarEl.length === 0)) return undefined;\n return $navbarEl[0];\n },\n getPageByEl(navbarEl) {\n const $navbarEl = $(navbarEl);\n if ($navbarEl.parents('.page').length) {\n return $navbarEl.parents('.page')[0];\n }\n let pageEl;\n $navbarEl\n .parents('.view')\n .find('.page')\n .each((el) => {\n if (el && el.f7Page && el.f7Page.navbarEl && $navbarEl[0] === el.f7Page.navbarEl) {\n pageEl = el;\n }\n });\n return pageEl;\n },\n\n collapseLargeTitle(navbarEl) {\n const app = this;\n let $navbarEl = $(navbarEl);\n if ($navbarEl.hasClass('navbars')) {\n $navbarEl = $navbarEl.find('.navbar');\n if ($navbarEl.length > 1) {\n $navbarEl = $(navbarEl).find('.navbar-large.navbar-current');\n }\n if ($navbarEl.length > 1 || !$navbarEl.length) {\n return;\n }\n }\n const $pageEl = $(app.navbar.getPageByEl($navbarEl));\n $navbarEl.addClass('navbar-large-collapsed');\n $pageEl.eq(0).addClass('page-with-navbar-large-collapsed').trigger('page:navbarlargecollapsed');\n app.emit('pageNavbarLargeCollapsed', $pageEl[0]);\n $navbarEl.trigger('navbar:collapse');\n app.emit('navbarCollapse', $navbarEl[0]);\n },\n expandLargeTitle(navbarEl) {\n const app = this;\n let $navbarEl = $(navbarEl);\n if ($navbarEl.hasClass('navbars')) {\n $navbarEl = $navbarEl.find('.navbar-large');\n if ($navbarEl.length > 1) {\n $navbarEl = $(navbarEl).find('.navbar-large.navbar-current');\n }\n if ($navbarEl.length > 1 || !$navbarEl.length) {\n return;\n }\n }\n const $pageEl = $(app.navbar.getPageByEl($navbarEl));\n $navbarEl.removeClass('navbar-large-collapsed');\n $pageEl\n .eq(0)\n .removeClass('page-with-navbar-large-collapsed')\n .trigger('page:navbarlargeexpanded');\n app.emit('pageNavbarLargeExpanded', $pageEl[0]);\n $navbarEl.trigger('navbar:expand');\n app.emit('navbarExpand', $navbarEl[0]);\n },\n toggleLargeTitle(navbarEl) {\n const app = this;\n let $navbarEl = $(navbarEl);\n if ($navbarEl.hasClass('navbars')) {\n $navbarEl = $navbarEl.find('.navbar-large');\n if ($navbarEl.length > 1) {\n $navbarEl = $(navbarEl).find('.navbar-large.navbar-current');\n }\n if ($navbarEl.length > 1 || !$navbarEl.length) {\n return;\n }\n }\n if ($navbarEl.hasClass('navbar-large-collapsed')) {\n app.navbar.expandLargeTitle($navbarEl);\n } else {\n app.navbar.collapseLargeTitle($navbarEl);\n }\n },\n initNavbarOnScroll(pageEl, navbarEl, needHide, needCollapse, needTransparent) {\n const app = this;\n const support = getSupport();\n const $pageEl = $(pageEl);\n const $navbarEl = $(navbarEl);\n const $titleLargeEl = $navbarEl.find('.title-large');\n const isLarge = $titleLargeEl.length || $navbarEl.hasClass('.navbar-large');\n let navbarHideHeight = 44;\n const snapPageScrollToLargeTitle = app.params.navbar.snapPageScrollToLargeTitle;\n const snapPageScrollToTransparentNavbar = app.params.navbar.snapPageScrollToTransparentNavbar;\n\n let previousScrollTop;\n let currentScrollTop;\n\n let scrollHeight;\n let offsetHeight;\n let reachEnd;\n let action;\n let navbarHidden;\n\n let navbarCollapsed;\n let navbarTitleLargeHeight;\n\n let navbarOffsetHeight;\n\n if (needCollapse || (needHide && isLarge)) {\n navbarTitleLargeHeight = $navbarEl.css('--f7-navbar-large-title-height');\n\n if (navbarTitleLargeHeight && navbarTitleLargeHeight.indexOf('px') >= 0) {\n navbarTitleLargeHeight = parseInt(navbarTitleLargeHeight, 10);\n if (Number.isNaN(navbarTitleLargeHeight) && $titleLargeEl.length) {\n navbarTitleLargeHeight = $titleLargeEl[0].offsetHeight;\n } else if (Number.isNaN(navbarTitleLargeHeight)) {\n if (app.theme === 'ios') navbarTitleLargeHeight = 52;\n else if (app.theme === 'md') navbarTitleLargeHeight = 48;\n else if (app.theme === 'aurora') navbarTitleLargeHeight = 38;\n }\n } else if ($titleLargeEl.length) {\n navbarTitleLargeHeight = $titleLargeEl[0].offsetHeight;\n } else {\n // eslint-disable-next-line\n if (app.theme === 'ios') navbarTitleLargeHeight = 52;\n else if (app.theme === 'md') navbarTitleLargeHeight = 48;\n else if (app.theme === 'aurora') navbarTitleLargeHeight = 38;\n }\n }\n\n if (needHide && isLarge) {\n navbarHideHeight += navbarTitleLargeHeight;\n }\n\n let scrollChanged;\n let scrollContent;\n let scrollTimeoutId;\n let touchEndTimeoutId;\n const touchSnapTimeout = 70;\n const desktopSnapTimeout = 300;\n\n function calcScrollableDistance() {\n $pageEl.find('.page-content').each((pageContentEl) => {\n pageContentEl.f7ScrollableDistance =\n pageContentEl.scrollHeight - pageContentEl.offsetHeight;\n });\n }\n\n function snapLargeNavbar() {\n const inSearchbarExpanded = $navbarEl.hasClass('with-searchbar-expandable-enabled');\n if (inSearchbarExpanded) return;\n if (!scrollContent || currentScrollTop < 0) return;\n if (\n currentScrollTop >= navbarTitleLargeHeight / 2 &&\n currentScrollTop < navbarTitleLargeHeight\n ) {\n $(scrollContent).scrollTop(navbarTitleLargeHeight, 100);\n } else if (currentScrollTop < navbarTitleLargeHeight) {\n $(scrollContent).scrollTop(0, 200);\n }\n }\n\n function snapTransparentNavbar() {\n const inSearchbarExpanded = $navbarEl.hasClass('with-searchbar-expandable-enabled');\n if (inSearchbarExpanded) return;\n if (!scrollContent || currentScrollTop < 0) return;\n if (currentScrollTop >= navbarOffsetHeight / 2 && currentScrollTop < navbarOffsetHeight) {\n $(scrollContent).scrollTop(navbarOffsetHeight, 100);\n } else if (currentScrollTop < navbarOffsetHeight) {\n $(scrollContent).scrollTop(0, 200);\n }\n }\n\n function handleNavbarTransparent() {\n const isHidden =\n $navbarEl.hasClass('navbar-hidden') ||\n $navbarEl.parent('.navbars').hasClass('navbar-hidden');\n const inSearchbarExpanded = $navbarEl.hasClass('with-searchbar-expandable-enabled');\n if (inSearchbarExpanded || isHidden) return;\n if (!navbarOffsetHeight) {\n navbarOffsetHeight = navbarEl.offsetHeight;\n }\n let opacity = currentScrollTop / navbarOffsetHeight;\n const notTransparent = $navbarEl.hasClass('navbar-transparent-visible');\n opacity = Math.max(Math.min(opacity, 1), 0);\n\n if ((notTransparent && opacity === 1) || (!notTransparent && opacity === 0)) {\n $navbarEl.find('.navbar-bg, .title').css('opacity', '');\n return;\n }\n if (notTransparent && opacity === 0) {\n $navbarEl.trigger('navbar:transparenthide');\n app.emit('navbarTransparentHide', $navbarEl[0]);\n $navbarEl.removeClass('navbar-transparent-visible');\n $navbarEl.find('.navbar-bg, .title').css('opacity', '');\n return;\n }\n if (!notTransparent && opacity === 1) {\n $navbarEl.trigger('navbar:transparentshow');\n app.emit('navbarTransparentShow', $navbarEl[0]);\n $navbarEl.addClass('navbar-transparent-visible');\n $navbarEl.find('.navbar-bg, .title').css('opacity', '');\n return;\n }\n\n $navbarEl.find('.navbar-bg, .title').css('opacity', opacity);\n\n if (snapPageScrollToTransparentNavbar) {\n if (!support.touch) {\n clearTimeout(scrollTimeoutId);\n scrollTimeoutId = setTimeout(() => {\n snapTransparentNavbar();\n }, desktopSnapTimeout);\n } else if (touchEndTimeoutId) {\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n touchEndTimeoutId = setTimeout(() => {\n snapTransparentNavbar();\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n }, touchSnapTimeout);\n }\n }\n }\n\n let previousCollapseProgress = null;\n let collapseProgress = null;\n function handleLargeNavbarCollapse(pageContentEl) {\n const isHidden =\n $navbarEl.hasClass('navbar-hidden') ||\n $navbarEl.parent('.navbars').hasClass('navbar-hidden');\n if (isHidden) return;\n const isLargeTransparent =\n $navbarEl.hasClass('navbar-large-transparent') ||\n ($navbarEl.hasClass('navbar-large') && $navbarEl.hasClass('navbar-transparent'));\n previousCollapseProgress = collapseProgress;\n const scrollableDistance = Math.min(\n navbarTitleLargeHeight,\n pageContentEl.f7ScrollableDistance || navbarTitleLargeHeight,\n );\n collapseProgress = Math.min(Math.max(currentScrollTop / scrollableDistance, 0), 1);\n const previousCollapseWasInMiddle =\n previousCollapseProgress > 0 && previousCollapseProgress < 1;\n const inSearchbarExpanded = $navbarEl.hasClass('with-searchbar-expandable-enabled');\n if (inSearchbarExpanded) return;\n navbarCollapsed = $navbarEl.hasClass('navbar-large-collapsed');\n if (collapseProgress === 0 && navbarCollapsed) {\n app.navbar.expandLargeTitle($navbarEl[0]);\n } else if (collapseProgress === 1 && !navbarCollapsed) {\n app.navbar.collapseLargeTitle($navbarEl[0]);\n }\n if (\n (collapseProgress === 0 && navbarCollapsed) ||\n (collapseProgress === 0 && previousCollapseWasInMiddle) ||\n (collapseProgress === 1 && !navbarCollapsed) ||\n (collapseProgress === 1 && previousCollapseWasInMiddle)\n ) {\n if (app.theme === 'md') {\n $navbarEl.find('.navbar-inner').css('overflow', '');\n }\n $navbarEl.find('.title').css('opacity', '');\n $navbarEl.find('.title-large-text, .subnavbar').css('transform', '');\n if (isLargeTransparent) {\n $navbarEl.find('.navbar-bg').css('opacity', '');\n } else {\n $navbarEl.find('.navbar-bg').css('transform', '');\n }\n } else if (collapseProgress > 0 && collapseProgress < 1) {\n if (app.theme === 'md') {\n $navbarEl.find('.navbar-inner').css('overflow', 'visible');\n }\n $navbarEl.find('.title').css('opacity', collapseProgress);\n $navbarEl\n .find('.title-large-text, .subnavbar')\n .css(\n 'transform',\n `translate3d(0px, ${-1 * collapseProgress * navbarTitleLargeHeight}px, 0)`,\n );\n if (isLargeTransparent) {\n $navbarEl.find('.navbar-bg').css('opacity', collapseProgress);\n } else {\n $navbarEl\n .find('.navbar-bg')\n .css(\n 'transform',\n `translate3d(0px, ${-1 * collapseProgress * navbarTitleLargeHeight}px, 0)`,\n );\n }\n }\n\n if (snapPageScrollToLargeTitle) {\n if (!support.touch) {\n clearTimeout(scrollTimeoutId);\n scrollTimeoutId = setTimeout(() => {\n snapLargeNavbar();\n }, desktopSnapTimeout);\n } else if (touchEndTimeoutId) {\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n touchEndTimeoutId = setTimeout(() => {\n snapLargeNavbar();\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n }, touchSnapTimeout);\n }\n }\n }\n\n function handleTitleHideShow() {\n if ($pageEl.hasClass('page-with-card-opened')) return;\n scrollHeight = scrollContent.scrollHeight;\n offsetHeight = scrollContent.offsetHeight;\n reachEnd = currentScrollTop + offsetHeight >= scrollHeight;\n navbarHidden =\n $navbarEl.hasClass('navbar-hidden') ||\n $navbarEl.parent('.navbars').hasClass('navbar-hidden');\n if (reachEnd) {\n if (app.params.navbar.showOnPageScrollEnd) {\n action = 'show';\n }\n } else if (previousScrollTop > currentScrollTop) {\n if (app.params.navbar.showOnPageScrollTop || currentScrollTop <= navbarHideHeight) {\n action = 'show';\n } else {\n action = 'hide';\n }\n } else if (currentScrollTop > navbarHideHeight) {\n action = 'hide';\n } else {\n action = 'show';\n }\n\n if (action === 'show' && navbarHidden) {\n app.navbar.show($navbarEl, true, true);\n navbarHidden = false;\n } else if (action === 'hide' && !navbarHidden) {\n app.navbar.hide($navbarEl, true, false, true);\n navbarHidden = true;\n }\n previousScrollTop = currentScrollTop;\n }\n\n function handleScroll(e) {\n scrollContent = this;\n if (e && e.target && e.target !== scrollContent) {\n return;\n }\n currentScrollTop = scrollContent.scrollTop;\n scrollChanged = currentScrollTop;\n if (needCollapse) {\n handleLargeNavbarCollapse(scrollContent);\n } else if (needTransparent) {\n handleNavbarTransparent();\n }\n if ($pageEl.hasClass('page-previous')) return;\n if (needHide) {\n handleTitleHideShow();\n }\n }\n function handeTouchStart() {\n scrollChanged = false;\n }\n function handleTouchEnd() {\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n touchEndTimeoutId = setTimeout(() => {\n if (scrollChanged !== false) {\n if (needTransparent && !needCollapse) {\n snapTransparentNavbar();\n } else {\n snapLargeNavbar();\n }\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n }\n }, touchSnapTimeout);\n }\n $pageEl.on('scroll', '.page-content', handleScroll, true);\n\n if (\n support.touch &&\n ((needCollapse && snapPageScrollToLargeTitle) ||\n (needTransparent && snapPageScrollToTransparentNavbar))\n ) {\n app.on('touchstart:passive', handeTouchStart);\n app.on('touchend:passive', handleTouchEnd);\n }\n calcScrollableDistance();\n if (needCollapse || needTransparent) {\n $pageEl.find('.page-content').each((pageContentEl) => {\n if (pageContentEl.scrollTop > 0) handleScroll.call(pageContentEl);\n });\n }\n app.on('resize', calcScrollableDistance);\n $pageEl[0].f7DetachNavbarScrollHandlers = function f7DetachNavbarScrollHandlers() {\n app.off('resize', calcScrollableDistance);\n delete $pageEl[0].f7DetachNavbarScrollHandlers;\n $pageEl.off('scroll', '.page-content', handleScroll, true);\n if (\n support.touch &&\n ((needCollapse && snapPageScrollToLargeTitle) ||\n (needTransparent && snapPageScrollToTransparentNavbar))\n ) {\n app.off('touchstart:passive', handeTouchStart);\n app.off('touchend:passive', handleTouchEnd);\n }\n };\n },\n};\nexport default {\n name: 'navbar',\n create() {\n const app = this;\n bindMethods(app, {\n navbar: Navbar,\n });\n },\n params: {\n navbar: {\n scrollTopOnTitleClick: true,\n iosCenterTitle: true,\n mdCenterTitle: false,\n auroraCenterTitle: true,\n hideOnPageScroll: false,\n showOnPageScrollEnd: true,\n showOnPageScrollTop: true,\n collapseLargeTitleOnScroll: true,\n snapPageScrollToLargeTitle: true,\n snapPageScrollToTransparentNavbar: true,\n },\n },\n on: {\n 'panelBreakpoint panelCollapsedBreakpoint panelResize viewResize resize viewMasterDetailBreakpoint':\n function onPanelResize() {\n const app = this;\n $('.navbar').each((navbarEl) => {\n app.navbar.size(navbarEl);\n });\n },\n pageBeforeRemove(page) {\n if (page.$el[0].f7DetachNavbarScrollHandlers) {\n page.$el[0].f7DetachNavbarScrollHandlers();\n }\n },\n pageBeforeIn(page) {\n const app = this;\n if (app.theme !== 'ios') return;\n let $navbarsEl;\n const view = page.$el.parents('.view')[0].f7View;\n const navbarEl = app.navbar.getElByPage(page);\n if (!navbarEl) {\n $navbarsEl = page.$el.parents('.view').children('.navbars');\n } else {\n $navbarsEl = $(navbarEl).parents('.navbars');\n }\n if (page.$el.hasClass('no-navbar') || (view.router.dynamicNavbar && !navbarEl)) {\n const animate = !!(page.pageFrom && page.router.history.length > 0);\n app.navbar.hide($navbarsEl, animate);\n } else {\n app.navbar.show($navbarsEl);\n }\n },\n pageReinit(page) {\n const app = this;\n const $navbarEl = $(app.navbar.getElByPage(page));\n if (!$navbarEl || $navbarEl.length === 0) return;\n app.navbar.size($navbarEl);\n },\n pageInit(page) {\n const app = this;\n const $navbarEl = $(app.navbar.getElByPage(page));\n if (!$navbarEl || $navbarEl.length === 0) return;\n\n // Size\n app.navbar.size($navbarEl);\n\n // Need Collapse On Scroll\n let needCollapseOnScrollHandler;\n if ($navbarEl.find('.title-large').length > 0) {\n $navbarEl.addClass('navbar-large');\n }\n if ($navbarEl.hasClass('navbar-large')) {\n if (app.params.navbar.collapseLargeTitleOnScroll) needCollapseOnScrollHandler = true;\n page.$el.addClass('page-with-navbar-large');\n }\n\n // Need transparent on scroll\n let needTransparentOnScroll;\n if (!needCollapseOnScrollHandler && $navbarEl.hasClass('navbar-transparent')) {\n needTransparentOnScroll = true;\n }\n\n // Need Hide On Scroll\n let needHideOnScrollHandler;\n if (\n app.params.navbar.hideOnPageScroll ||\n page.$el.find('.hide-navbar-on-scroll').length ||\n page.$el.hasClass('hide-navbar-on-scroll') ||\n page.$el.find('.hide-bars-on-scroll').length ||\n page.$el.hasClass('hide-bars-on-scroll')\n ) {\n if (\n page.$el.find('.keep-navbar-on-scroll').length ||\n page.$el.hasClass('keep-navbar-on-scroll') ||\n page.$el.find('.keep-bars-on-scroll').length ||\n page.$el.hasClass('keep-bars-on-scroll')\n ) {\n needHideOnScrollHandler = false;\n } else {\n needHideOnScrollHandler = true;\n }\n }\n\n if (needCollapseOnScrollHandler || needHideOnScrollHandler || needTransparentOnScroll) {\n app.navbar.initNavbarOnScroll(\n page.el,\n $navbarEl[0],\n needHideOnScrollHandler,\n needCollapseOnScrollHandler,\n needTransparentOnScroll,\n );\n }\n },\n 'panelOpen panelSwipeOpen modalOpen': function onPanelModalOpen(instance) {\n const app = this;\n instance.$el.find('.navbar:not(.navbar-previous):not(.stacked)').each((navbarEl) => {\n app.navbar.size(navbarEl);\n });\n },\n tabShow(tabEl) {\n const app = this;\n $(tabEl)\n .find('.navbar:not(.navbar-previous):not(.stacked)')\n .each((navbarEl) => {\n app.navbar.size(navbarEl);\n });\n },\n },\n clicks: {\n '.navbar .title': function onTitleClick($clickedEl, clickedData, e) {\n const app = this;\n if (!app.params.navbar.scrollTopOnTitleClick) return;\n if ($(e.target).closest('a, button').length > 0) {\n return;\n }\n let $pageContentEl;\n\n // Find active page\n const $navbarEl = $clickedEl.parents('.navbar');\n const $navbarsEl = $navbarEl.parents('.navbars');\n\n // Static Layout\n $pageContentEl = $navbarEl.parents('.page-content');\n\n if ($pageContentEl.length === 0) {\n // Fixed Layout\n if ($navbarEl.parents('.page').length > 0) {\n $pageContentEl = $navbarEl.parents('.page').find('.page-content');\n }\n // Through Layout iOS\n if ($pageContentEl.length === 0 && $navbarsEl.length) {\n if ($navbarsEl.nextAll('.page-current:not(.stacked)').length > 0) {\n $pageContentEl = $navbarsEl\n .nextAll('.page-current:not(.stacked)')\n .find('.page-content');\n }\n }\n // Through Layout\n if ($pageContentEl.length === 0) {\n if ($navbarEl.nextAll('.page-current:not(.stacked)').length > 0) {\n $pageContentEl = $navbarEl.nextAll('.page-current:not(.stacked)').find('.page-content');\n }\n }\n }\n if ($pageContentEl && $pageContentEl.length > 0) {\n // Check for tab\n if ($pageContentEl.hasClass('tab')) {\n $pageContentEl = $pageContentEl.parent('.tabs').children('.page-content.tab-active');\n }\n if ($pageContentEl.length > 0) $pageContentEl.scrollTop(0, 300);\n }\n },\n },\n vnode: {\n navbar: {\n postpatch(vnode) {\n const app = this;\n app.navbar.size(vnode.elm);\n },\n },\n },\n};\n","import $ from '../../shared/dom7.js';\nimport { nextFrame, bindMethods } from '../../shared/utils.js';\n\nconst Toolbar = {\n setHighlight(tabbarEl) {\n const app = this;\n const $tabbarEl = $(tabbarEl);\n if (app.theme === 'ios' && !$tabbarEl.hasClass('tabbar-highlight')) return;\n\n if (\n $tabbarEl.length === 0 ||\n !($tabbarEl.hasClass('tabbar') || $tabbarEl.hasClass('tabbar-labels'))\n )\n return;\n\n let $highlightEl = $tabbarEl.find('.tab-link-highlight');\n const tabLinksCount = $tabbarEl.find('.tab-link').length;\n if (tabLinksCount === 0) {\n $highlightEl.remove();\n return;\n }\n\n if ($highlightEl.length === 0) {\n $tabbarEl.children('.toolbar-inner').append('<span class=\"tab-link-highlight\"></span>');\n $highlightEl = $tabbarEl.find('.tab-link-highlight');\n } else if ($highlightEl.next().length) {\n $tabbarEl.children('.toolbar-inner').append($highlightEl);\n }\n\n const $activeLink = $tabbarEl.find('.tab-link-active');\n let highlightWidth;\n let highlightTranslate;\n\n if ($tabbarEl.hasClass('tabbar-scrollable') && $activeLink && $activeLink[0]) {\n highlightWidth = `${$activeLink[0].offsetWidth}px`;\n highlightTranslate = `${$activeLink[0].offsetLeft}px`;\n } else {\n const activeIndex = $activeLink.index();\n highlightWidth = `${100 / tabLinksCount}%`;\n highlightTranslate = `${(app.rtl ? -activeIndex : activeIndex) * 100}%`;\n }\n\n nextFrame(() => {\n $highlightEl.css('width', highlightWidth).transform(`translate3d(${highlightTranslate},0,0)`);\n });\n },\n init(tabbarEl) {\n const app = this;\n app.toolbar.setHighlight(tabbarEl);\n },\n hide(el, animate = true) {\n const app = this;\n const $el = $(el);\n if ($el.hasClass('toolbar-hidden')) return;\n const className = `toolbar-hidden${animate ? ' toolbar-transitioning' : ''}`;\n $el.transitionEnd(() => {\n $el.removeClass('toolbar-transitioning');\n });\n $el.addClass(className);\n $el.trigger('toolbar:hide');\n app.emit('toolbarHide', $el[0]);\n },\n show(el, animate = true) {\n const app = this;\n const $el = $(el);\n if (!$el.hasClass('toolbar-hidden')) return;\n if (animate) {\n $el.addClass('toolbar-transitioning');\n $el.transitionEnd(() => {\n $el.removeClass('toolbar-transitioning');\n });\n }\n $el.removeClass('toolbar-hidden');\n $el.trigger('toolbar:show');\n app.emit('toolbarShow', $el[0]);\n },\n initToolbarOnScroll(pageEl) {\n const app = this;\n const $pageEl = $(pageEl);\n let $toolbarEl = $pageEl.parents('.view').children('.toolbar');\n if ($toolbarEl.length === 0) {\n $toolbarEl = $pageEl.find('.toolbar');\n }\n if ($toolbarEl.length === 0) {\n $toolbarEl = $pageEl.parents('.views').children('.tabbar, .tabbar-labels');\n }\n if ($toolbarEl.length === 0) {\n return;\n }\n\n let previousScrollTop;\n let currentScrollTop;\n\n let scrollHeight;\n let offsetHeight;\n let reachEnd;\n let action;\n let toolbarHidden;\n function handleScroll(e) {\n if ($pageEl.hasClass('page-with-card-opened')) return;\n if ($pageEl.hasClass('page-previous')) return;\n const scrollContent = this;\n if (e && e.target && e.target !== scrollContent) {\n return;\n }\n currentScrollTop = scrollContent.scrollTop;\n scrollHeight = scrollContent.scrollHeight;\n offsetHeight = scrollContent.offsetHeight;\n reachEnd = currentScrollTop + offsetHeight >= scrollHeight;\n toolbarHidden = $toolbarEl.hasClass('toolbar-hidden');\n\n if (reachEnd) {\n if (app.params.toolbar.showOnPageScrollEnd) {\n action = 'show';\n }\n } else if (previousScrollTop > currentScrollTop) {\n if (app.params.toolbar.showOnPageScrollTop || currentScrollTop <= 44) {\n action = 'show';\n } else {\n action = 'hide';\n }\n } else if (currentScrollTop > 44) {\n action = 'hide';\n } else {\n action = 'show';\n }\n\n if (action === 'show' && toolbarHidden) {\n app.toolbar.show($toolbarEl);\n toolbarHidden = false;\n } else if (action === 'hide' && !toolbarHidden) {\n app.toolbar.hide($toolbarEl);\n toolbarHidden = true;\n }\n\n previousScrollTop = currentScrollTop;\n }\n $pageEl.on('scroll', '.page-content', handleScroll, true);\n $pageEl[0].f7ScrollToolbarHandler = handleScroll;\n },\n};\nexport default {\n name: 'toolbar',\n create() {\n const app = this;\n bindMethods(app, {\n toolbar: Toolbar,\n });\n },\n params: {\n toolbar: {\n hideOnPageScroll: false,\n showOnPageScrollEnd: true,\n showOnPageScrollTop: true,\n },\n },\n on: {\n pageBeforeRemove(page) {\n if (page.$el[0].f7ScrollToolbarHandler) {\n page.$el.off('scroll', '.page-content', page.$el[0].f7ScrollToolbarHandler, true);\n }\n },\n pageBeforeIn(page) {\n const app = this;\n let $toolbarEl = page.$el.parents('.view').children('.toolbar');\n if ($toolbarEl.length === 0) {\n $toolbarEl = page.$el.parents('.views').children('.tabbar, .tabbar-labels');\n }\n if ($toolbarEl.length === 0) {\n $toolbarEl = page.$el.find('.toolbar');\n }\n if ($toolbarEl.length === 0) {\n return;\n }\n if (page.$el.hasClass('no-toolbar')) {\n app.toolbar.hide($toolbarEl);\n } else {\n app.toolbar.show($toolbarEl);\n }\n },\n pageInit(page) {\n const app = this;\n page.$el.find('.tabbar, .tabbar-labels').each((tabbarEl) => {\n app.toolbar.init(tabbarEl);\n });\n if (\n app.params.toolbar.hideOnPageScroll ||\n page.$el.find('.hide-toolbar-on-scroll').length ||\n page.$el.hasClass('hide-toolbar-on-scroll') ||\n page.$el.find('.hide-bars-on-scroll').length ||\n page.$el.hasClass('hide-bars-on-scroll')\n ) {\n if (\n page.$el.find('.keep-toolbar-on-scroll').length ||\n page.$el.hasClass('keep-toolbar-on-scroll') ||\n page.$el.find('.keep-bars-on-scroll').length ||\n page.$el.hasClass('keep-bars-on-scroll')\n ) {\n return;\n }\n app.toolbar.initToolbarOnScroll(page.el);\n }\n },\n init() {\n const app = this;\n app.$el.find('.tabbar, .tabbar-labels').each((tabbarEl) => {\n app.toolbar.init(tabbarEl);\n });\n },\n },\n vnode: {\n tabbar: {\n insert(vnode) {\n const app = this;\n app.toolbar.init(vnode.elm);\n },\n },\n },\n};\n","import $ from '../../shared/dom7.js';\n\nexport default {\n name: 'subnavbar',\n on: {\n pageInit(page) {\n if (page.$navbarEl && page.$navbarEl.length && page.$navbarEl.find('.subnavbar').length) {\n page.$el.addClass('page-with-subnavbar');\n }\n const $innerSubnavbars = page.$el.find('.subnavbar').filter((subnavbarEl) => {\n return $(subnavbarEl).parents('.page')[0] === page.$el[0];\n });\n if ($innerSubnavbars.length) {\n page.$el.addClass('page-with-subnavbar');\n }\n },\n },\n};\n","import $ from '../../shared/dom7.js';\n\nexport default class TouchRipple {\n constructor(app, $el, x, y) {\n const ripple = this;\n\n if (!$el) return undefined;\n\n const { left, top, width, height } = $el[0].getBoundingClientRect();\n const center = {\n x: x - left,\n y: y - top,\n };\n let diameter = Math.max((height ** 2 + width ** 2) ** 0.5, 48);\n\n let isInset = false;\n const insetElements = app.params.touch.touchRippleInsetElements || '';\n if (insetElements && $el.is(insetElements)) {\n isInset = true;\n }\n if (isInset) {\n diameter = Math.max(Math.min(width, height), 48);\n }\n\n if (!isInset && $el.css('overflow') === 'hidden') {\n const distanceFromCenter =\n ((center.x - width / 2) ** 2 + (center.y - height / 2) ** 2) ** 0.5;\n const scale = (diameter / 2 + distanceFromCenter) / (diameter / 2);\n ripple.rippleTransform = `translate3d(0px, 0px, 0) scale(${scale})`;\n } else {\n // prettier-ignore\n ripple.rippleTransform = `translate3d(${-center.x + width / 2}px, ${-center.y + height / 2}px, 0) scale(1)`;\n }\n if (isInset) {\n $el.addClass('ripple-inset');\n }\n\n ripple.$rippleWaveEl = $(\n `<div class=\"ripple-wave\" style=\"width: ${diameter}px; height: ${diameter}px; margin-top:-${\n diameter / 2\n }px; margin-left:-${diameter / 2}px; left:${center.x}px; top:${\n center.y\n }px; --f7-ripple-transform: ${ripple.rippleTransform}\"></div>`,\n );\n\n $el.prepend(ripple.$rippleWaveEl);\n\n ripple.$rippleWaveEl.animationEnd(() => {\n if (!ripple.$rippleWaveEl) return;\n if (ripple.$rippleWaveEl.hasClass('ripple-wave-out')) return;\n ripple.$rippleWaveEl.addClass('ripple-wave-in');\n if (ripple.shouldBeRemoved) {\n ripple.out();\n }\n });\n\n return ripple;\n }\n\n destroy() {\n let ripple = this;\n if (ripple.$rippleWaveEl) {\n ripple.$rippleWaveEl.remove();\n }\n Object.keys(ripple).forEach((key) => {\n ripple[key] = null;\n delete ripple[key];\n });\n ripple = null;\n }\n\n out() {\n const ripple = this;\n const { $rippleWaveEl } = this;\n clearTimeout(ripple.removeTimeout);\n $rippleWaveEl.addClass('ripple-wave-out');\n\n ripple.removeTimeout = setTimeout(() => {\n ripple.destroy();\n }, 300);\n\n $rippleWaveEl.animationEnd(() => {\n clearTimeout(ripple.removeTimeout);\n ripple.destroy();\n });\n }\n\n remove() {\n const ripple = this;\n if (ripple.shouldBeRemoved) return;\n ripple.removeTimeout = setTimeout(() => {\n ripple.destroy();\n }, 400);\n ripple.shouldBeRemoved = true;\n if (ripple.$rippleWaveEl.hasClass('ripple-wave-in')) {\n ripple.out();\n }\n }\n}\n","import TouchRipple from './touch-ripple-class.js';\n\nexport default {\n name: 'touch-ripple',\n static: {\n TouchRipple,\n },\n create() {\n const app = this;\n app.touchRipple = {\n create(...args) {\n return new TouchRipple(...args);\n },\n };\n },\n};\n","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport { extend, deleteProps } from '../../shared/utils.js';\nimport Framework7Class from '../../shared/class.js';\n\nconst openedModals = [];\nconst dialogsQueue = [];\nfunction clearDialogsQueue() {\n if (dialogsQueue.length === 0) return;\n const dialog = dialogsQueue.shift();\n dialog.open();\n}\nclass Modal extends Framework7Class {\n constructor(app, params) {\n super(params, [app]);\n\n const modal = this;\n\n const defaults = {};\n\n // Extend defaults with modules params\n modal.useModulesParams(defaults);\n\n modal.params = extend(defaults, params);\n modal.opened = false;\n\n let $containerEl = modal.params.containerEl ? $(modal.params.containerEl).eq(0) : app.$el;\n if (!$containerEl.length) $containerEl = app.$el;\n\n modal.$containerEl = $containerEl;\n modal.containerEl = $containerEl[0];\n\n // Install Modules\n modal.useModules();\n\n return this;\n }\n\n onOpen() {\n const modal = this;\n modal.opened = true;\n openedModals.push(modal);\n $('html').addClass(`with-modal-${modal.type.toLowerCase()}`);\n modal.$el.trigger(`modal:open ${modal.type.toLowerCase()}:open`);\n modal.emit(`local::open modalOpen ${modal.type}Open`, modal);\n }\n\n onOpened() {\n const modal = this;\n modal.$el.trigger(`modal:opened ${modal.type.toLowerCase()}:opened`);\n modal.emit(`local::opened modalOpened ${modal.type}Opened`, modal);\n }\n\n onClose() {\n const modal = this;\n modal.opened = false;\n if (!modal.type || !modal.$el) return;\n openedModals.splice(openedModals.indexOf(modal), 1);\n $('html').removeClass(`with-modal-${modal.type.toLowerCase()}`);\n modal.$el.trigger(`modal:close ${modal.type.toLowerCase()}:close`);\n modal.emit(`local::close modalClose ${modal.type}Close`, modal);\n }\n\n onClosed() {\n const modal = this;\n if (!modal.type || !modal.$el) return;\n modal.$el.removeClass('modal-out');\n modal.$el.hide();\n if (\n modal.params.backdrop &&\n (modal.params.backdropUnique || modal.forceBackdropUnique) &&\n modal.$backdropEl\n ) {\n modal.$backdropEl.remove();\n }\n modal.$el.trigger(`modal:closed ${modal.type.toLowerCase()}:closed`);\n modal.emit(`local::closed modalClosed ${modal.type}Closed`, modal);\n }\n\n open(animateModal) {\n const modal = this;\n const document = getDocument();\n const app = modal.app;\n const $el = modal.$el;\n const $backdropEl = modal.$backdropEl;\n const type = modal.type;\n let animate = true;\n if (typeof animateModal !== 'undefined') animate = animateModal;\n else if (typeof modal.params.animate !== 'undefined') {\n animate = modal.params.animate;\n }\n\n if (!$el || $el.hasClass('modal-in')) {\n if (animateModal === false && $el[0] && type !== 'dialog') {\n $el[0].style.display = 'block';\n }\n return modal;\n }\n\n if (type === 'dialog' && app.params.modal.queueDialogs) {\n let pushToQueue;\n if ($('.dialog.modal-in').length > 0) {\n pushToQueue = true;\n } else if (openedModals.length > 0) {\n openedModals.forEach((openedModal) => {\n if (openedModal.type === 'dialog') pushToQueue = true;\n });\n }\n if (pushToQueue) {\n dialogsQueue.push(modal);\n return modal;\n }\n }\n\n const $modalParentEl = $el.parent();\n const wasInDom = $el.parents(document).length > 0;\n if (!$modalParentEl.is(modal.$containerEl)) {\n modal.$containerEl.append($el);\n modal.once(`${type}Closed`, () => {\n if (wasInDom) {\n $modalParentEl.append($el);\n } else {\n $el.remove();\n }\n });\n }\n // Show Modal\n $el.show();\n\n if (\n modal.params.backdrop &&\n (modal.params.backdropUnique || modal.forceBackdropUnique) &&\n modal.$backdropEl\n ) {\n modal.$backdropEl.insertBefore($el);\n }\n\n /* eslint no-underscore-dangle: [\"error\", { \"allow\": [\"_clientLeft\"] }] */\n modal._clientLeft = $el[0].clientLeft;\n\n // Modal\n function transitionEnd() {\n if ($el.hasClass('modal-out')) {\n modal.onClosed();\n } else if ($el.hasClass('modal-in')) {\n modal.onOpened();\n }\n }\n if (animate) {\n if ($backdropEl) {\n $backdropEl.removeClass('not-animated');\n $backdropEl.addClass('backdrop-in');\n }\n $el.animationEnd(() => {\n transitionEnd();\n });\n $el.transitionEnd(() => {\n transitionEnd();\n });\n $el.removeClass('modal-out not-animated').addClass('modal-in');\n modal.onOpen();\n } else {\n if ($backdropEl) {\n $backdropEl.addClass('backdrop-in not-animated');\n }\n $el.removeClass('modal-out').addClass('modal-in not-animated');\n modal.onOpen();\n modal.onOpened();\n }\n\n return modal;\n }\n\n close(animateModal) {\n const modal = this;\n const $el = modal.$el;\n const $backdropEl = modal.$backdropEl;\n\n let animate = true;\n if (typeof animateModal !== 'undefined') animate = animateModal;\n else if (typeof modal.params.animate !== 'undefined') {\n animate = modal.params.animate;\n }\n\n if (!$el || !$el.hasClass('modal-in')) {\n if (dialogsQueue.indexOf(modal) >= 0) {\n dialogsQueue.splice(dialogsQueue.indexOf(modal), 1);\n }\n return modal;\n }\n\n // backdrop\n if ($backdropEl) {\n let needToHideBackdrop = true;\n if (modal.type === 'popup') {\n modal.$el\n .prevAll('.popup.modal-in')\n .add(modal.$el.nextAll('.popup.modal-in'))\n .each((popupEl) => {\n const popupInstance = popupEl.f7Modal;\n if (!popupInstance) return;\n if (\n popupInstance.params.closeByBackdropClick &&\n popupInstance.params.backdrop &&\n popupInstance.backdropEl === modal.backdropEl\n ) {\n needToHideBackdrop = false;\n }\n });\n }\n if (needToHideBackdrop) {\n $backdropEl[animate ? 'removeClass' : 'addClass']('not-animated');\n $backdropEl.removeClass('backdrop-in');\n }\n }\n\n // Modal\n $el[animate ? 'removeClass' : 'addClass']('not-animated');\n\n function transitionEnd() {\n if ($el.hasClass('modal-out')) {\n modal.onClosed();\n } else if ($el.hasClass('modal-in')) {\n modal.onOpened();\n }\n }\n if (animate) {\n $el.animationEnd(() => {\n transitionEnd();\n });\n $el.transitionEnd(() => {\n transitionEnd();\n });\n $el.removeClass('modal-in').addClass('modal-out');\n // Emit close\n modal.onClose();\n } else {\n $el.addClass('not-animated').removeClass('modal-in').addClass('modal-out');\n // Emit close\n modal.onClose();\n modal.onClosed();\n }\n\n if (modal.type === 'dialog') {\n clearDialogsQueue();\n }\n\n return modal;\n }\n\n destroy() {\n const modal = this;\n if (modal.destroyed) return;\n modal.emit(`local::beforeDestroy modalBeforeDestroy ${modal.type}BeforeDestroy`, modal);\n if (modal.$el) {\n modal.$el.trigger(`modal:beforedestroy ${modal.type.toLowerCase()}:beforedestroy`);\n if (modal.$el.length && modal.$el[0].f7Modal) {\n delete modal.$el[0].f7Modal;\n }\n }\n deleteProps(modal);\n modal.destroyed = true;\n }\n}\n\nexport default Modal;\n","import $ from '../../shared/dom7.js';\nimport { extend } from '../../shared/utils.js';\nimport Modal from './modal-class.js';\n\nclass CustomModal extends Modal {\n constructor(app, params) {\n const extendedParams = extend(\n {\n backdrop: true,\n closeByBackdropClick: true,\n on: {},\n },\n params,\n );\n\n // Extends with open/close Modal methods;\n super(app, extendedParams);\n\n const customModal = this;\n\n customModal.params = extendedParams;\n\n // Find Element\n let $el;\n if (!customModal.params.el) {\n $el = $(customModal.params.content);\n } else {\n $el = $(customModal.params.el);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return $el[0].f7Modal;\n }\n\n if ($el.length === 0) {\n return customModal.destroy();\n }\n let $backdropEl;\n if (customModal.params.backdrop) {\n $backdropEl = app.$el.children('.custom-modal-backdrop');\n if ($backdropEl.length === 0) {\n $backdropEl = $('<div class=\"custom-modal-backdrop\"></div>');\n app.$el.append($backdropEl);\n }\n }\n\n function handleClick(e) {\n if (!customModal || customModal.destroyed) return;\n if ($backdropEl && e.target === $backdropEl[0]) {\n customModal.close();\n }\n }\n\n customModal.on('customModalOpened', () => {\n if (customModal.params.closeByBackdropClick && customModal.params.backdrop) {\n app.on('click', handleClick);\n }\n });\n customModal.on('customModalClose', () => {\n if (customModal.params.closeByBackdropClick && customModal.params.backdrop) {\n app.off('click', handleClick);\n }\n });\n\n extend(customModal, {\n app,\n $el,\n el: $el[0],\n $backdropEl,\n backdropEl: $backdropEl && $backdropEl[0],\n type: 'customModal',\n });\n\n $el[0].f7Modal = customModal;\n\n return customModal;\n }\n}\nexport default CustomModal;\n","import Modal from './modal-class.js';\nimport CustomModal from './custom-modal-class.js';\n\nexport default {\n name: 'modal',\n static: {\n Modal,\n CustomModal,\n },\n create() {\n const app = this;\n app.customModal = {\n create(params) {\n return new CustomModal(app, params);\n },\n };\n },\n params: {\n modal: {\n queueDialogs: true,\n },\n },\n};\n","import $ from './shared/dom7.js';\n\nimport Framework7 from './components/app/app-class.js';\n\n//IMPORT_HELPERS\n\nimport DeviceModule from './modules/device/device.js';\nimport SupportModule from './modules/support/support.js';\nimport UtilsModule from './modules/utils/utils.js';\nimport ResizeModule from './modules/resize/resize.js';\nimport RequestModule from './modules/request/request.js';\nimport TouchModule from './modules/touch/touch.js';\nimport ClicksModule from './modules/clicks/clicks.js';\nimport RouterModule from './modules/router/router.js';\nimport RouterComponentLoaderModule from './modules/router/component-loader.js';\nimport ComponentModule, { Component, $jsx } from './modules/component/component.js';\nimport HistoryModule from './modules/history/history.js';\nimport ServiceWorkerModule from './modules/service-worker/service-worker.js';\nimport StoreModule, { createStore } from './modules/store/store.js';\n\nimport Statusbar from './components/statusbar/statusbar.js';\nimport View from './components/view/view.js';\nimport Navbar from './components/navbar/navbar.js';\nimport Toolbar from './components/toolbar/toolbar.js';\nimport Subnavbar from './components/subnavbar/subnavbar.js';\nimport TouchRipple from './components/touch-ripple/touch-ripple.js';\nimport Modal from './components/modal/modal.js';\nimport Router from './modules/router/router-class.js';\n\n//IMPORT_COMPONENTS\n\n// UMD_ONLY_START\nif (typeof window !== 'undefined') {\n // Dom7\n if (!window.Dom7) window.Dom7 = $;\n}\n// UMD_ONLY_END\n\nRouter.use([RouterComponentLoaderModule]);\n\nFramework7.use([\n DeviceModule,\n SupportModule,\n UtilsModule,\n ResizeModule,\n RequestModule,\n TouchModule,\n ClicksModule,\n RouterModule,\n HistoryModule,\n ComponentModule,\n ServiceWorkerModule,\n StoreModule,\n Statusbar,\n View,\n Navbar,\n Toolbar,\n Subnavbar,\n TouchRipple,\n Modal,\n //INSTALL_COMPONENTS\n]);\n\n//NAMED_EXPORT\nexport default Framework7;\n"],"names":["isObject","obj","constructor","Object","extend","target","src","keys","forEach","key","length","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window","makeReactive","proto","__proto__","defineProperty","get","set","value","Dom7","Array","items","arrayFlat","arr","res","el","isArray","push","arrayFilter","prototype","filter","call","arrayUnique","uniqueArray","i","indexOf","toCamelCase","string","toLowerCase","replace","match","group","toUpperCase","qsa","selector","context","a","$","html","trim","toCreate","tempParent","innerHTML","nodeType","fn","addClass","classes","classNames","map","c","split","classList","add","removeClass","remove","toggleClass","className","toggle","hasClass","contains","attr","attrs","arguments","getAttribute","undefined","attrName","removeAttr","removeAttribute","prop","props","propName","data","dom7ElementDataStorage","dataKey","removeData","dataset","attributes","name","parseFloat","val","multiple","values","selectedOptions","j","options","selected","transform","transition","duration","transitionDuration","on","args","eventType","targetSelector","listener","capture","handleLiveEvent","e","eventData","dom7EventData","unshift","is","apply","parents","k","handleEvent","events","event","dom7Listeners","proxyListener","dom7LiveListeners","off","handlers","handler","splice","dom7proxy","once","dom","eventName","onceHandler","eventArgs","trigger","evt","detail","bubbles","cancelable","dataIndex","dispatchEvent","transitionStart","fireCallBack","transitionEnd","animationEnd","width","innerWidth","css","outerWidth","includeMargins","styles","offsetWidth","height","innerHeight","outerHeight","offsetHeight","offset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","hide","display","show","each","index","result","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","firstChild","appendChild","appendTo","parent","prepend","insertBefore","prependTo","before","parentNode","cloneNode","insertAfter","after","nextSibling","next","nextElementSibling","nextAll","nextEls","prev","previousElementSibling","prevAll","prevEls","siblings","closest","find","foundElements","found","removeChild","detach","els","toAdd","empty","scrollTo","easing","animate","currentTop","currentLeft","maxTop","maxLeft","newTop","newLeft","animateTop","animateLeft","scrollHeight","Math","max","min","scrollWidth","startTime","render","time","getTime","progress","easeProgress","cos","PI","done","initialProps","initialParams","assign","params","elements","animating","que","easingProgress","stop","frameId","element","dom7AnimateInstance","complete","shift","initialFullValue","initialValue","unit","finalValue","finalFullValue","container","currentValue","elementsDone","propsDone","began","begin","animateInstance","noTrigger","shortcut","eventHandler","click","focus","focusin","focusout","keyup","keydown","keypress","submit","change","mousedown","mousemove","mouseup","mouseenter","mouseleave","mouseout","mouseover","touchstart","touchend","touchmove","resize","scroll","methods","methodName","uniqueNum","uniqueNumber","mask","floor","random","mdPreloaderContent","iosPreloaderContent","join","auroraPreloaderContent","eventNameToColonCase","hasColon","char","deleteProps","object","nextTick","delay","nextFrame","now","parseUrlQuery","url","query","urlToParse","param","paramsPart","decodeURIComponent","slice","getTranslate","axis","matrix","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","webkitTransform","MozTransform","OTransform","MsTransform","msTransform","toString","m41","m42","serializeObject","resultArray","separator","newParents","varName","parentParts","encodeURIComponent","varValue","toPush","String","o","merge","to","from","nextSource","keysArray","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","enumerable","deep","colorHexToRgb","hex","h","m","r","g","b","exec","n","parseInt","colorRgbToHex","colorRgbToHsl","d","l","s","abs","colorHslToRgb","hp","x","rgb1","Number","isNaN","round","colorHsbToHsl","HSL","HSB","colorHslToHsb","t","colorThemeCSSProperties","rgb","hsl","hslShade","hslTint","shade","tint","bindMethods","instance","subKey","bind","flattenArray","arg","support","calcSupport","touch","DocumentTouch","pointerEvents","PointerEvent","maxTouchPoints","passiveListener","checkPassiveListener","supportsPassive","opts","intersectionObserver","checkObserver","getSupport","deviceCalculated","calcDevice","platform","ua","device","ios","android","androidChrome","desktop","iphone","ipod","ipad","edge","ie","firefox","macos","windows","cordova","electron","capacitor","Capacitor","nwjs","screenWidth","screenHeight","nw","process","versions","iPadScreens","os","osVersion","webView","standalone","webview","pixelRatio","devicePixelRatio","DARK","LIGHT","prefersColorScheme","prefersColorTheme","theme","getDevice","overrides","reset","EventsClass","self","eventsParents","eventsListeners","priority","method","f7proxy","emit","local","eventsArray","localEvents","parentEvents","eventsParent","Framework7Class","useModuleParams","module","instanceParams","originalParams","paramKey","useModulesParams","modules","moduleName","useModule","moduleParams","modulePropName","moduleProp","moduleEventName","vnode","vnodeHooks","vnodeId","hookName","create","useModules","modulesParams","components","Class","use","installModule","static","install","ConstructorMethods","parameters","defaultSelector","Constructor","domProp","app","addMethods","$el","destroy","ModalMethods","open","targetEl","$targetPage","modalEl","$modalEl","f7Modal","close","$parentEl","$targetEl","fetchedModules","loadModule","moduleToLoad","Framework7","Promise","resolve","reject","modulePath","moduleObj","moduleFunc","Error","matchNamePattern","lazyModulesPath","scriptLoad","resolveScript","rejectScript","request","scriptContent","callbackId","callbackLoadName","scriptEl","componentLoader","xhr","status","styleLoad","resolveStyle","rtl","styleContent","styleEl","all","then","catch","err","$jsx","tag","attrsString","childrenContent","passedParams","w","defaults","version","language","routes","initOnDeviceReady","init","autoDarkMode","iosTranslucentBars","iosTranslucentModals","component","componentUrl","getTheme","online","onLine","store","f7","initStore","mount","rootEl","$rootEl","mq","dark","light","colorSchemeListener","media","darkMode","__store","createStore","enableAutoDarkMode","addListener","disableAutoDarkMode","removeListener","initAppComponent","router","componentOptions","$elComponent","f7Component","initialized","loadModules","getVnodeHooks","hook","Events","metaStatusbar","content","utils","getSize","orientationchange","globals","jsonpRequests","RequestResponse","RequestError","requestOptions","globalsNoCallbacks","callbackName","async","cache","user","password","headers","xhrFields","statusCode","processData","dataType","contentType","timeout","proceedRequest","abortController","canceled","message","fireCallback","globalCallbackValue","optionCallbackValue","type","paramsPrefix","stringData","abortTimeout","callbackSplit","requestUrl","addVars","script","onerror","jsonpCallback","XMLHttpRequest","aborted","onAbort","abort","requestParameters","postData","postDataInstances","ArrayBuffer","Blob","Document","FormData","boundary","setRequestHeader","newData","JSON","stringify","Accept","headerName","crossDomain","test","RegExp","$2","onload","responseData","parseError","parse","responseText","responseType","response","statusText","ontimeout","send","requestShortcut","success","error","post","json","getJSON","postJSON","contoller","setup","initTouch","useRipple","touchStartX","touchStartY","targetElement","isMoved","tapHoldFired","tapHoldTimeout","preventClick","activableElement","activeTimeout","rippleWave","rippleTarget","rippleTimeout","findActivableElement","activeStateElements","activable","newActivable","preventPropagation","isInsideScrollableView","pageContent","addActive","removeActive","findRippleElement","rippleElements","touchRippleElements","rippleParent","createRipple","y","touchRipple","removeRipple","rippleTouchStart","inScrollable","rippleTouchMove","rippleTouchEnd","handleMouseDown","$activableEl","which","pageX","pageY","handleMouseMove","activeStateOnMouseMove","handleMouseUp","handleTouchCancel","activeState","isScrolling","isSegmentedStrong","segmentedStrongEl","touchMoveActivableIos","isTouchMoveActivable","touchmoveActivableEl","handleTouchStart","targetTouches","touches","tapHold","preventDefault","tapHoldDelay","handleTouchMove","distance","shouldRemoveActive","touchClicksDistanceThreshold","touchCurrentX","touchCurrentY","elementFromPoint","clientX","clientY","buttonEl","handleTouchEnd","tapHoldPreventClicks","handleClick","isOverswipe","isSegmented","localPreventClick","stopImmediatePropagation","stopPropagation","emitAppTouchEvent","appClick","appTouchStartActive","appTouchMoveActive","appTouchEndActive","appTouchStartPassive","appTouchMovePassive","appTouchEndPassive","passive","passiveListenerCapture","activeListener","activeListenerCapture","touchEvents","start","move","end","disableContextMenu","isNative","mdTouchRipple","iosTouchRipple","auroraTouchRipple","touchRippleInsetElements","lexer","str","tokens","code","charCodeAt","TypeError","count","pattern","_a","defaultPattern","escapeString","delimiter","path","tryConsume","mustConsume","nextType","concat","consumeText","prefix","prefixes","suffix","modifier","name_1","pattern_1","compile","tokensToFunction","reFlags","flags","_b","validate","token","optional","repeat","segment","encode","typeOfMessage","sensitive","regexpToRegexp","groupsRegex","execResult","source","arrayToRegexp","paths","parts","stringToRegexp","tokensToRegexp","_c","_d","_e","_f","endsWith","endsWithRe","delimiterRe","route","_i","mod","strict","endToken","isEndDelimited","pathToRegexp","History","queue","clearQueue","currentQueue","routerQueue","clearRouterQueue","pop","stateUrl","action","browserHistoryAnimate","browserHistory","navigate","handle","blockPopstate","state","previousState","allowChange","views","view","viewState","allowPageChange","initViewState","viewId","newState","substr","includes","readyState","SwipeBack","$navbarsEl","isTouched","touchesStart","$currentPageEl","$previousPageEl","viewContainerWidth","touchesDiff","allowViewTouchMove","touchStartTime","$currentNavbarEl","$previousNavbarEl","dynamicNavbar","$pageShadowEl","$pageOpacityEl","animatableNavEls","paramsSwipeBackAnimateShadow","paramsSwipeBackAnimateOpacity","paramsSwipeBackActiveArea","paramsSwipeBackThreshold","transformOrigin","transformOriginTitleLarge","animatableNavElements","inverter","currentNavIsTransparent","currentNavIsLarge","currentNavIsCollapsed","currentNavIsLargeTransparent","previousNavIsTransparent","previousNavIsLarge","previousNavIsCollapsed","previousNavIsLargeTransparent","fromLarge","toLarge","$currentNavElements","$previousNavElements","activeNavBackIconText","previousNavBackIconText","iosAnimateNavbarBackIcon","f7NavbarLeftOffset","navEl","$navEl","isSubnavbar","isLeft","isTitle","isBg","overflow","subNavEl","opacity","isSliding","transformTarget","textEl","activeNavTranslate","f7NavbarRightOffset","previousNavTranslate","setAnimatableNavElements","reflow","_clientLeft","classNameSet","styleProp","swipeBackEnabled","swipeout","masterDetailBreakpoint","f7PreventSwipeBack","preventSwipeBack","cancel","notFromBorder","sheet","f7PreventSwipePanel","preventSwipePanelBySwipeBack","percentage","callbackData","currentPageEl","previousPageEl","currentNavbarEl","previousNavbarEl","currentPageTranslate","previousPageTranslate","swipeBackActive","$pages","timeDiff","pageChanged","setNavbarPosition","currentRoute","f7Page","currentPage","pageCallback","swipeBack","saveHistory","stackPages","initialPages","removePage","removeNavbar","previousRoute","preloadPreviousPage","preload","attachEvents","detachEvents","redirect","direction","initial","redirectResolve","redirectUrl","redirectOptions","redirectReject","processQueue","routeQueue","queueItem","processRouteQueue","enterNextRoute","routesBeforeEnter","beforeEnter","leaveCurrentRoute","routesBeforeLeave","beforeLeave","appRouterCheck","asyncComponent","resolvePromise","componentPromise","default","_default","asyncComponentResult","refreshPage","ignoreCache","reloadCurrent","forward","forwardOptions","reloadPages","reloadPrevious","reloadAll","clearPreviousHistory","reloadDetail","masterDetailEnabled","isMaster","master","masterPageEl","otherDetailPageEl","detailsInBetweenRemoved","currentRouteIsModal","modal","modalType","modalLoadProp","modalToClose","modalInstance","previousUrl","findMatchingRoute","modalRemove","$viewEl","$newPage","reload","$oldPage","$newNavbarEl","$oldNavbarEl","removeThemeElements","$navbarEl","keepAlive","keepAliveData","pageEl","$pagesInView","pageInView","$navbarsInView","navbarInView","isDetail","isDetailRoot","newPagePosition","position","role","root","detailRoot","navbar","getElByPage","navbarEl","removedPageEls","removedNavbarEls","oldNavbarEl","browserHistoryRoot","browserHistorySeparator","propsHistory","newPageInDom","componentEl","f7PageMounted","$oldPageEl","$oldNavbarElEl","tab","tabLoad","checkMasterDetailBreakpoint","setPagePosition","afterAnimation","keepOldPage","setPositionClasses","f7PageTransition","load","loadParams","loadOptions","ignorePageChange","pageName","parentPath","sameParams","paramName","allowDuplicateUrls","parseRouteUrl","newOptions","getPageEl","pageComponentLoader","routerEl","xhrAbortController","xhrRequest","navigateParams","navigateOptions","createRoute","generateUrl","navigateUrl","currentPath","viewName","anotherViewName","anotherView","openIn","ignoreOpenIn","routerLoaded","modalLoad","pageLoadProp","asyncResolve","resolveParams","resolveOptions","resolvedAsModal","modalRoute","asyncReject","masterRoute","preloadMaster","masterLoaded","pageAfterIn","tabRoute","parentPageEl","browserHistoryTabs","$parentPageEl","tabEl","tabShowResult","$newTabEl","$oldTabEl","animated","onTabsChanged","tabParentPageData","onTabLoaded","contentEl","tabEventTarget","unloadTabContent","tabRemove","f7RouterTabLoaded","loadTab","loadTabParams","loadTabOptions","tabComponentLoader","tabContent","hasContentLoadProp","tabLoadProp","hasTabComponentChild","tabChild","removeTabContent","isPanel","modalOrPanel","modalParams","routeCallback","modalOpen","panelOpen","modalClose","panelClose","modalClosed","panelClosed","onModalLoaded","hasEl","closeOnSwipeBack","closeByRouter","modalComponent","removeModal","loadModal","loadModalParams","loadModalOptions","modalComponentLoader","modalContent","foundLoadProp","backward","backwardOptions","masterPageRemoved","initialPreload","currentIsMaster","backIndex","force","pageToRemove","$pageToRemove","$navbarToRemove","insertPage","$previousPages","loadBack","backParams","backOptions","navigateProps","prevOpenedModals","forceOtherUrl","isBrokenBrowserHistory","needHistoryBack","currentRouteWithoutBrowserHistory","$previousPage","skipMaster","$previousMaster","expectedPreviousPageUrl","expectedPreviousPageRoute","previousPageRoute","backForceLoaded","clearPreviousPages","$pagesToRemove","panel","Router","isAppRouter","routerId","scrollHistory","iosDynamicNavbar","initialNavbars","configurable","newRoute","tempDom","navbarsEl","animateIcon","newNavEls","oldNavEls","animatableNavEl","$navbarInner","needsOpacityTransition","$iconEl","isIconLabel","leftOffset","rightOffset","navEls","otherEls","otherNavEl","iconTextEl","offsetLeft","$newPageEl","animateCustom","routerCustomTransitionClass","onCustomTransitionDone","routerTransitionClass","toDifferent","oldIsLarge","newIsLarge","betweenMasterAndDetail","animateNavbars","setProperty","onDone","removeEl","$tabEl","removeElements","removeElementsWithTimeout","removeElementsTimeout","findElement","stringSelector","notStacked","modalsSelector","$container","viewMainClass","flattenRoutes","flattenedRoutes","hasTabRoutes","tabs","mergedPathsRoutes","tRoute","detailRoutes","detailRoute","dRoute","masterRoutePath","childRoute","cRoute","findRouteByKey","constructRouteUrl","toUrl","findTabRouteUrl","tabId","foundTabRouteUrl","matchingRoute","pathsToMatch","alias","aliasPath","matched","pathToMatch","keyObj","paramValue","replaceRequestUrlParams","compiledUrl","regExp","removeFromXhrCache","xhrCache","hasQuery","passRouteQueryToRequest","passRouteParamsToRequest","xhrCacheIgnoreGetParameters","xhrCacheIgnore","cachedUrl","xhrCacheDuration","beforeSend","ariaHidden","toRemove","getPageData","pageFromEl","$pageEl","pageFrom","fromPage","$pageFromEl","page","restoreScrollTopOnBack","camelName","colonName","f7RouteEventsAttached","f7RouteEventsOn","f7RouteEventsOnce","$pageContent","pageContentEl","f7PageInitialized","browserHistoryStoreHistory","localStorage","restoreHistory","clearHistory","updateCurrentUrl","newUrl","getInitialUrl","initialUrl","historyRestored","URL","documentUrl","browserHistoryOnLoad","console","warn","substring","iosSwipeBack","mdSwipeBack","auroraSwipeBack","browserHistoryAnimateOnLoad","browserHistoryInitialMatch","initUrl","loadInitialPage","hasTabRoute","initOptions","routerProp","templates","resizableView","resizableInitialized","resizable","resizableWidth","$htmlEl","$resizeHandlerEl","minWidth","maxWidth","transformCSSWidth","v","newV","isResizable","$pageMasterEl","newWidth","handleResize","View","viewParams","ssr","routesAdd","main","f7View","viewProp","wasMasterDetail","isMasterDetail","initMasterDetail","masterDetailResizable","viewEl","initRouterOnTabShow","initClicks","handleClicks","$clickedEl","$clickedLinkEl","isLink","clicks","externalLinks","InAppBrowser","Plugins","Browser","moduleClicks","preventF7Router","clickSelector","matchingClickedElement","clickedLinkData","clickedEl","validUrl","current","linksView","ViewClass","f7RouteProps","popup","loginScreen","popover","side","effect","componentFunction","componentContext","f7route","f7router","componentProps","routeProps","componentRoot","createdComponent","cachedComponent","componentCache","cached","loadedComponent","parsedComponent","u","p","Map","ignoreChildren","$h","htm","sel","elm","array","ns","childData","addNS","SELF_CLOSING","PROPS_ATTRS","BOOLEAN_PROPS","getTagName","treeNode","word","propsFromAttrs","createCustomComponent","customComponents","__component__","updateCustomComponent","newProps","update","destroyCustomComponent","isCustomComponent","treeNodeType","getHooks","isRoot","hooks","insert","postpatch","isFakeElement","tagName","isCustom","oldVnode","class","vn","f","getEventHandler","prevent","fired","getData","attrValue","eventNamePart","eventNameIndex","prepatch","getChildren","nodes","childNode","treeNodeToVNode","getSlots","slotName","slotNodes","childTreeNode","childSlotName","slot","subTreeNode","isTreeNode","vdom","tree","namespaceURI","qualifiedName","createTextNode","createComment","newNode","referenceNode","node","setTextContent","getTextContent","isElement","isText","isComment","emptyNode","vnode1","vnode2","beginIdx","endIdx","ch","domApi","cbs","api","htmlDomApi","childElm","listeners","parent_1","insertedVnodeQueue","isDef","isUndef","hashIdx","dotIdx","dot","createElm","parentElm","vnodes","startIdx","invokeDestroyHook","i_1","rm","createRmCb","oldCh","newCh","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","oldKeyToIdx","idxInOld","elmToMove","sameVnode","patchVnode","createKeyToOldIdx","addVnodes","removeVnodes","updateChildren","pre","isVnode","emptyNodeAt","xlinkNS","xmlNS","colonChar","xChar","oldAttrs","cur","old","setAttributeNS","attributesModule","updateAttrs","oldProps","propsModule","updateProps","raf","oldStyle","oldHasDel","removeProperty","delayed","name2","setNextFrame","compStyle","amount","applied","ev","styleModule","updateStyle","applyDestroyStyle","applyRemoveStyle","invokeHandler","createListener","updateEvents","oldOn","oldListener","oldElm","patch","eventListenersModule","flatChildren","Component","generateId","md","aurora","__updateQueue","__eventHandlers","__onceEventHandlers","__onBeforeMount","__onMounted","__onBeforeUpdate","__onUpdated","__onBeforeUnmount","__onUnmounted","createComponent","getComponentContext","getRenderFuncion","componentResult","renderFunction","getComponentRef","getComponentStore","_gettersPlain","dispatch","$store","getters","Proxy","onUpdated","includeHooks","ctx","$f7route","$f7router","$id","$f7","$f7ready","f7ready","$theme","$tick","tick","$update","$emit","$ref","$on","$once","$onBeforeMount","$onMounted","$onBeforeUpdate","$onUpdated","$onBeforeUnmount","$onUnmounted","startUpdateQueue","__requestAnimationFrameId","newVNode","__updateIsPending","resolvers","resolver","__destroyed","setState","mountMethod","parseComponent","componentString","componentId","callbackCreateName","template","hasTemplate","item","scripts","registerComponent","unregisterComponent","SW","registrations","register","scope","serviceWorker","reg","unregister","registration","toRegister","storeParams","originalState","actions","propsQueue","gettersDependencies","gettersCallbacks","getterKey","getGetterValue","addGetterDependencies","deps","dep","addGetterCallback","runGetterCallbacks","stateKey","removeGetterCallback","callbacks","__removeCallback","getterValue","addCallback","__callback","actionName","isCapacitor","StatusBar","Statusbar","onClick","setTextColor","color","styleLightContent","styleDefault","setStyle","setBackgroundColor","backgroundColorByHexString","isVisible","getInfo","info","visible","overlaysWebView","overlays","setOverlaysWebView","overlay","statusbar","enabled","isCordova","isCap","scrollTopOnClick","iosOverlaysWebView","iosTextColor","androidOverlaysWebView","androidTextColor","iosBackgroundColor","androidBackgroundColor","getCurrentView","$popoverView","$popupView","$panelView","$viewsEl","iosSwipeBackAnimateShadow","iosSwipeBackAnimateOpacity","iosSwipeBackActiveArea","iosSwipeBackThreshold","mdSwipeBackAnimateShadow","mdSwipeBackAnimateOpacity","mdSwipeBackActiveArea","mdSwipeBackThreshold","auroraSwipeBackAnimateShadow","auroraSwipeBackAnimateOpacity","auroraSwipeBackActiveArea","auroraSwipeBackThreshold","iosPageLoadDelay","mdPageLoadDelay","auroraPageLoadDelay","onOpen","onClose","Navbar","size","$innerEl","needCenterTitle","needLeftTitle","iosCenterTitle","right","title","subnavbar","noLeft","noRight","leftWidth","rightWidth","titleWidth","navbarStyles","navbarWidth","navbarInnerWidth","paddingLeft","paddingRight","isPrevious","sliding","currLeft","diff","requiredLeft","titleLeftOffset","titleRightOffset","activeNavbarBackLink","titleLeft","hideStatusbar","hideOnlyCurrent","isDynamic","currentIsLarge","subEl","pageData","getPageByEl","collapseLargeTitle","expandLargeTitle","toggleLargeTitle","initNavbarOnScroll","needHide","needCollapse","needTransparent","$titleLargeEl","isLarge","navbarHideHeight","snapPageScrollToLargeTitle","snapPageScrollToTransparentNavbar","previousScrollTop","currentScrollTop","reachEnd","navbarHidden","navbarCollapsed","navbarTitleLargeHeight","navbarOffsetHeight","scrollChanged","scrollContent","scrollTimeoutId","touchEndTimeoutId","touchSnapTimeout","desktopSnapTimeout","calcScrollableDistance","f7ScrollableDistance","snapLargeNavbar","inSearchbarExpanded","snapTransparentNavbar","handleNavbarTransparent","isHidden","notTransparent","previousCollapseProgress","collapseProgress","handleLargeNavbarCollapse","isLargeTransparent","scrollableDistance","previousCollapseWasInMiddle","handleTitleHideShow","showOnPageScrollEnd","showOnPageScrollTop","handleScroll","handeTouchStart","f7DetachNavbarScrollHandlers","scrollTopOnTitleClick","mdCenterTitle","auroraCenterTitle","hideOnPageScroll","collapseLargeTitleOnScroll","onPanelResize","pageBeforeRemove","pageBeforeIn","pageReinit","pageInit","needCollapseOnScrollHandler","needTransparentOnScroll","needHideOnScrollHandler","onPanelModalOpen","tabShow","onTitleClick","clickedData","$pageContentEl","Toolbar","setHighlight","tabbarEl","$tabbarEl","$highlightEl","tabLinksCount","$activeLink","highlightWidth","highlightTranslate","activeIndex","toolbar","initToolbarOnScroll","$toolbarEl","toolbarHidden","f7ScrollToolbarHandler","tabbar","$innerSubnavbars","subnavbarEl","TouchRipple","ripple","center","diameter","isInset","insetElements","distanceFromCenter","scale","rippleTransform","$rippleWaveEl","shouldBeRemoved","out","removeTimeout","openedModals","dialogsQueue","clearDialogsQueue","dialog","Modal","opened","$containerEl","containerEl","onOpened","onClosed","backdrop","backdropUnique","forceBackdropUnique","$backdropEl","animateModal","queueDialogs","pushToQueue","openedModal","$modalParentEl","wasInDom","needToHideBackdrop","popupEl","popupInstance","closeByBackdropClick","backdropEl","destroyed","CustomModal","extendedParams","customModal","RouterComponentLoaderModule","DeviceModule","SupportModule","UtilsModule","ResizeModule","RequestModule","TouchModule","ClicksModule","RouterModule","HistoryModule","ComponentModule","ServiceWorkerModule","StoreModule","Subnavbar"],"mappings":"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"}