framework7 7.0.9 → 8.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (579) hide show
  1. package/components/accordion/accordion.js +2 -16
  2. package/components/accordion/accordion.less +0 -3
  3. package/components/actions/actions-class.js +13 -58
  4. package/components/actions/actions-ios.less +42 -0
  5. package/components/actions/actions-md.less +12 -0
  6. package/components/actions/actions-rtl.css +1 -1
  7. package/components/actions/actions-vars.less +17 -42
  8. package/components/actions/actions.css +1 -1
  9. package/components/actions/actions.d.ts +2 -2
  10. package/components/actions/actions.js +0 -4
  11. package/components/actions/actions.lazy.js +1 -1
  12. package/components/actions/actions.less +5 -35
  13. package/components/app/app-class.d.ts +14 -12
  14. package/components/app/app-class.js +93 -75
  15. package/components/app/app-ios.less +0 -2
  16. package/components/app/app-md.less +0 -2
  17. package/components/app/app-vars.less +13 -96
  18. package/components/app/app.less +1 -4
  19. package/components/app/load-module.js +17 -36
  20. package/components/area-chart/area-chart-class.js +8 -64
  21. package/components/area-chart/area-chart.js +0 -3
  22. package/components/area-chart/area-chart.less +0 -3
  23. package/components/autocomplete/autocomplete-class.js +30 -175
  24. package/components/autocomplete/autocomplete-ios.less +0 -8
  25. package/components/autocomplete/autocomplete-rtl.css +1 -1
  26. package/components/autocomplete/autocomplete-vars.less +8 -22
  27. package/components/autocomplete/autocomplete.css +1 -1
  28. package/components/autocomplete/autocomplete.d.ts +1 -3
  29. package/components/autocomplete/autocomplete.js +1 -6
  30. package/components/autocomplete/autocomplete.lazy.js +1 -1
  31. package/components/autocomplete/autocomplete.less +6 -18
  32. package/components/badge/badge-vars.less +3 -6
  33. package/components/badge/badge.less +1 -3
  34. package/components/block/block-vars.less +25 -52
  35. package/components/block/block.less +37 -12
  36. package/components/breadcrumbs/breadcrumbs-rtl.css +1 -1
  37. package/components/breadcrumbs/breadcrumbs-vars.less +31 -15
  38. package/components/breadcrumbs/breadcrumbs.css +1 -1
  39. package/components/breadcrumbs/breadcrumbs.js +0 -2
  40. package/components/breadcrumbs/breadcrumbs.less +4 -10
  41. package/components/button/button-vars.less +42 -43
  42. package/components/button/button.less +24 -26
  43. package/components/calendar/calendar-class.js +81 -401
  44. package/components/calendar/calendar-rtl.css +1 -1
  45. package/components/calendar/calendar-vars.less +32 -46
  46. package/components/calendar/calendar.css +1 -1
  47. package/components/calendar/calendar.js +6 -4
  48. package/components/calendar/calendar.lazy.js +1 -1
  49. package/components/calendar/calendar.less +10 -21
  50. package/components/card/card-rtl.css +1 -1
  51. package/components/card/card-vars.less +41 -44
  52. package/components/card/card.css +1 -1
  53. package/components/card/card.js +0 -108
  54. package/components/card/card.less +18 -24
  55. package/components/checkbox/checkbox-rtl.css +1 -1
  56. package/components/checkbox/checkbox-vars.less +0 -8
  57. package/components/checkbox/checkbox.css +1 -1
  58. package/components/checkbox/checkbox.less +10 -3
  59. package/components/chip/chip-ios.less +3 -0
  60. package/components/chip/chip-md.less +4 -3
  61. package/components/chip/chip-rtl.css +1 -1
  62. package/components/chip/chip-vars.less +17 -20
  63. package/components/chip/chip.css +1 -1
  64. package/components/chip/chip.less +16 -21
  65. package/components/color-picker/color-picker-class.js +27 -158
  66. package/components/color-picker/color-picker-rtl.css +1 -1
  67. package/components/color-picker/color-picker.css +1 -1
  68. package/components/color-picker/color-picker.js +0 -4
  69. package/components/color-picker/color-picker.lazy.js +1 -1
  70. package/components/color-picker/color-picker.less +18 -8
  71. package/components/color-picker/modules/alpha-slider.js +0 -12
  72. package/components/color-picker/modules/brightness-slider.js +0 -8
  73. package/components/color-picker/modules/current-color.js +0 -2
  74. package/components/color-picker/modules/hex.js +0 -12
  75. package/components/color-picker/modules/hs-spectrum.js +0 -20
  76. package/components/color-picker/modules/hsb-sliders.js +0 -18
  77. package/components/color-picker/modules/hue-slider.js +0 -7
  78. package/components/color-picker/modules/initial-current-colors.js +0 -7
  79. package/components/color-picker/modules/palette.js +2 -10
  80. package/components/color-picker/modules/rgb-bars.js +0 -17
  81. package/components/color-picker/modules/rgb-sliders.js +0 -17
  82. package/components/color-picker/modules/sb-spectrum.js +0 -20
  83. package/components/color-picker/modules/wheel.js +0 -28
  84. package/components/contacts-list/contacts-list-md.less +4 -3
  85. package/components/contacts-list/contacts-list-rtl.css +1 -1
  86. package/components/contacts-list/contacts-list-vars.less +3 -15
  87. package/components/contacts-list/contacts-list.css +1 -1
  88. package/components/contacts-list/contacts-list.less +0 -3
  89. package/components/data-table/data-table-class.js +10 -32
  90. package/components/data-table/data-table-rtl.css +1 -1
  91. package/components/data-table/data-table-vars.less +6 -39
  92. package/components/data-table/data-table.css +1 -1
  93. package/components/data-table/data-table.js +0 -8
  94. package/components/data-table/data-table.less +0 -3
  95. package/components/dialog/dialog-class.js +7 -41
  96. package/components/dialog/dialog-ios.less +0 -3
  97. package/components/dialog/dialog-md.less +9 -9
  98. package/components/dialog/dialog-rtl.css +1 -1
  99. package/components/dialog/dialog-vars.less +25 -70
  100. package/components/dialog/dialog.css +1 -1
  101. package/components/dialog/dialog.d.ts +2 -2
  102. package/components/dialog/dialog.js +12 -48
  103. package/components/dialog/dialog.lazy.js +1 -1
  104. package/components/dialog/dialog.less +8 -4
  105. package/components/fab/fab-rtl.css +1 -1
  106. package/components/fab/fab-vars.less +20 -14
  107. package/components/fab/fab.css +1 -1
  108. package/components/fab/fab.js +0 -21
  109. package/components/fab/fab.less +50 -53
  110. package/components/form/form.d.ts +4 -4
  111. package/components/form/form.js +58 -94
  112. package/components/form/form.lazy.js +1 -1
  113. package/components/form/form.less +0 -3
  114. package/components/gauge/gauge-class.js +4 -20
  115. package/components/gauge/gauge.js +0 -9
  116. package/components/gauge/gauge.less +0 -3
  117. package/components/grid/grid-rtl.css +1 -1
  118. package/components/grid/grid-vars.less +0 -7
  119. package/components/grid/grid.css +1 -1
  120. package/components/grid/grid.d.ts +2 -8
  121. package/components/grid/grid.js +1 -225
  122. package/components/grid/grid.lazy.js +1 -1
  123. package/components/grid/grid.less +54 -184
  124. package/components/icon/icon.less +0 -3
  125. package/components/infinite-scroll/infinite-scroll-rtl.css +1 -1
  126. package/components/infinite-scroll/infinite-scroll.css +1 -1
  127. package/components/infinite-scroll/infinite-scroll.js +0 -16
  128. package/components/infinite-scroll/infinite-scroll.less +0 -3
  129. package/components/input/input-ios.less +49 -41
  130. package/components/input/input-md.less +87 -19
  131. package/components/input/input-rtl.css +1 -1
  132. package/components/input/input-vars.less +26 -60
  133. package/components/input/input.css +1 -1
  134. package/components/input/input.js +8 -67
  135. package/components/input/input.less +67 -153
  136. package/components/link/link-vars.less +0 -5
  137. package/components/link/link.less +3 -3
  138. package/components/list/list-md.less +0 -7
  139. package/components/list/list-vars.less +59 -108
  140. package/components/list/list.less +122 -90
  141. package/components/list-index/list-index-class.js +12 -69
  142. package/components/list-index/list-index-rtl.css +1 -1
  143. package/components/list-index/list-index-vars.less +0 -7
  144. package/components/list-index/list-index.css +1 -1
  145. package/components/list-index/list-index.d.ts +1 -3
  146. package/components/list-index/list-index.js +0 -8
  147. package/components/list-index/list-index.lazy.js +1 -1
  148. package/components/list-index/list-index.less +4 -7
  149. package/components/login-screen/login-screen-class.js +4 -9
  150. package/components/login-screen/login-screen-rtl.css +1 -1
  151. package/components/login-screen/login-screen-vars.less +13 -12
  152. package/components/login-screen/login-screen.css +1 -1
  153. package/components/login-screen/login-screen.js +0 -4
  154. package/components/login-screen/login-screen.less +2 -8
  155. package/components/messagebar/messagebar-class.js +18 -79
  156. package/components/messagebar/messagebar-ios.less +36 -0
  157. package/components/messagebar/messagebar-md.less +96 -16
  158. package/components/messagebar/messagebar-rtl.css +1 -1
  159. package/components/messagebar/messagebar-vars.less +27 -50
  160. package/components/messagebar/messagebar.css +1 -1
  161. package/components/messagebar/messagebar.js +0 -8
  162. package/components/messagebar/messagebar.less +11 -42
  163. package/components/messages/messages-class.js +17 -110
  164. package/components/messages/messages-ios.less +9 -0
  165. package/components/messages/messages-md.less +63 -28
  166. package/components/messages/messages-rtl.css +1 -1
  167. package/components/messages/messages-vars.less +43 -50
  168. package/components/messages/messages.css +1 -1
  169. package/components/messages/messages.js +0 -8
  170. package/components/messages/messages.lazy.js +1 -1
  171. package/components/messages/messages.less +0 -11
  172. package/components/modal/custom-modal-class.js +4 -14
  173. package/components/modal/modal-class.js +19 -55
  174. package/components/modal/modal.js +0 -3
  175. package/components/navbar/navbar-ios.less +3 -39
  176. package/components/navbar/navbar-md.less +12 -0
  177. package/components/navbar/navbar-vars.less +20 -49
  178. package/components/navbar/navbar.d.ts +0 -2
  179. package/components/navbar/navbar.js +37 -166
  180. package/components/navbar/navbar.less +4 -26
  181. package/components/notification/notification-class.js +4 -39
  182. package/components/notification/notification-md.less +18 -8
  183. package/components/notification/notification-rtl.css +1 -1
  184. package/components/notification/notification-vars.less +15 -54
  185. package/components/notification/notification.css +1 -1
  186. package/components/notification/notification.js +0 -2
  187. package/components/notification/notification.lazy.js +1 -1
  188. package/components/notification/notification.less +0 -3
  189. package/components/page/page-md.less +40 -10
  190. package/components/page/page-transitions/circle.less +15 -9
  191. package/components/page/page-transitions/fade.less +17 -11
  192. package/components/page/page-transitions/flip.less +9 -4
  193. package/components/page/page-vars.less +3 -19
  194. package/components/page/page.less +2 -10
  195. package/components/panel/panel-class.js +23 -127
  196. package/components/panel/panel-md.less +9 -0
  197. package/components/panel/panel-rtl.css +1 -1
  198. package/components/panel/panel-vars.less +7 -21
  199. package/components/panel/panel.css +1 -1
  200. package/components/panel/panel.d.ts +2 -2
  201. package/components/panel/panel.js +0 -34
  202. package/components/panel/panel.lazy.js +1 -1
  203. package/components/panel/panel.less +56 -48
  204. package/components/panel/resizable-panel.js +2 -32
  205. package/components/panel/swipe-panel.js +16 -71
  206. package/components/photo-browser/photo-browser-class.js +41 -171
  207. package/components/photo-browser/photo-browser-rtl.css +1 -1
  208. package/components/photo-browser/photo-browser-vars.less +0 -3
  209. package/components/photo-browser/photo-browser.css +1 -1
  210. package/components/photo-browser/photo-browser.d.ts +2 -4
  211. package/components/photo-browser/photo-browser.js +1 -6
  212. package/components/photo-browser/photo-browser.lazy.js +1 -1
  213. package/components/photo-browser/photo-browser.less +0 -4
  214. package/components/picker/picker-class.js +26 -133
  215. package/components/picker/picker-column.js +11 -31
  216. package/components/picker/picker-ios.less +10 -0
  217. package/components/picker/picker-md.less +6 -0
  218. package/components/picker/picker-rtl.css +1 -1
  219. package/components/picker/picker-vars.less +9 -25
  220. package/components/picker/picker.css +1 -1
  221. package/components/picker/picker.js +0 -4
  222. package/components/picker/picker.lazy.js +1 -1
  223. package/components/picker/picker.less +0 -11
  224. package/components/pie-chart/pie-chart-class.js +8 -31
  225. package/components/pie-chart/pie-chart.js +0 -3
  226. package/components/pie-chart/pie-chart.less +0 -3
  227. package/components/popover/popover-class.js +72 -126
  228. package/components/popover/popover-ios.less +0 -50
  229. package/components/popover/popover-rtl.css +1 -1
  230. package/components/popover/popover-vars.less +6 -23
  231. package/components/popover/popover.css +1 -1
  232. package/components/popover/popover.d.ts +2 -0
  233. package/components/popover/popover.js +1 -12
  234. package/components/popover/popover.lazy.js +1 -1
  235. package/components/popover/popover.less +62 -5
  236. package/components/popup/popup-class.js +12 -78
  237. package/components/popup/popup-rtl.css +1 -1
  238. package/components/popup/popup-vars.less +7 -9
  239. package/components/popup/popup.css +1 -1
  240. package/components/popup/popup.js +0 -4
  241. package/components/popup/popup.lazy.js +1 -1
  242. package/components/popup/popup.less +4 -4
  243. package/components/preloader/preloader-ios.less +3 -1
  244. package/components/preloader/preloader-md.less +5 -1
  245. package/components/preloader/preloader-rtl.css +1 -1
  246. package/components/preloader/preloader-vars.less +0 -6
  247. package/components/preloader/preloader.css +1 -1
  248. package/components/preloader/preloader.js +8 -25
  249. package/components/preloader/preloader.lazy.js +1 -1
  250. package/components/preloader/preloader.less +6 -3
  251. package/components/progressbar/progressbar-rtl.css +1 -1
  252. package/components/progressbar/progressbar-vars.less +2 -12
  253. package/components/progressbar/progressbar.css +1 -1
  254. package/components/progressbar/progressbar.js +2 -31
  255. package/components/progressbar/progressbar.less +0 -3
  256. package/components/pull-to-refresh/pull-to-refresh-class.js +15 -107
  257. package/components/pull-to-refresh/pull-to-refresh-md.less +2 -1
  258. package/components/pull-to-refresh/pull-to-refresh-rtl.css +1 -1
  259. package/components/pull-to-refresh/pull-to-refresh-vars.less +0 -4
  260. package/components/pull-to-refresh/pull-to-refresh.css +1 -1
  261. package/components/pull-to-refresh/pull-to-refresh.js +0 -8
  262. package/components/pull-to-refresh/pull-to-refresh.lazy.js +1 -1
  263. package/components/pull-to-refresh/pull-to-refresh.less +0 -3
  264. package/components/radio/radio-rtl.css +1 -1
  265. package/components/radio/radio-vars.less +0 -7
  266. package/components/radio/radio.css +1 -1
  267. package/components/radio/radio.less +12 -5
  268. package/components/range/range-class.js +27 -112
  269. package/components/range/range-rtl.css +1 -1
  270. package/components/range/range-vars.less +10 -32
  271. package/components/range/range.css +1 -1
  272. package/components/range/range.js +0 -12
  273. package/components/range/range.less +0 -3
  274. package/components/searchbar/remove-diacritics.js +0 -4
  275. package/components/searchbar/searchbar-class.js +17 -138
  276. package/components/searchbar/searchbar-md.less +41 -16
  277. package/components/searchbar/searchbar-rtl.css +1 -1
  278. package/components/searchbar/searchbar-vars.less +25 -76
  279. package/components/searchbar/searchbar.css +1 -1
  280. package/components/searchbar/searchbar.d.ts +2 -2
  281. package/components/searchbar/searchbar.js +0 -15
  282. package/components/searchbar/searchbar.lazy.js +1 -1
  283. package/components/searchbar/searchbar.less +14 -28
  284. package/components/sheet/sheet-class.js +15 -110
  285. package/components/sheet/sheet-rtl.css +1 -1
  286. package/components/sheet/sheet-vars.less +17 -6
  287. package/components/sheet/sheet.css +1 -1
  288. package/components/sheet/sheet.js +0 -9
  289. package/components/sheet/sheet.lazy.js +1 -1
  290. package/components/sheet/sheet.less +10 -3
  291. package/components/skeleton/skeleton.less +1 -4
  292. package/components/smart-select/smart-select-class.js +36 -173
  293. package/components/smart-select/smart-select.d.ts +1 -3
  294. package/components/smart-select/smart-select.js +1 -14
  295. package/components/smart-select/smart-select.lazy.js +1 -1
  296. package/components/smart-select/smart-select.less +0 -3
  297. package/components/sortable/sortable-rtl.css +1 -1
  298. package/components/sortable/sortable-vars.less +8 -8
  299. package/components/sortable/sortable.css +1 -1
  300. package/components/sortable/sortable.js +0 -44
  301. package/components/sortable/sortable.less +0 -3
  302. package/components/statusbar/statusbar.js +0 -36
  303. package/components/statusbar/statusbar.less +0 -3
  304. package/components/stepper/stepper-class.js +10 -83
  305. package/components/stepper/stepper-rtl.css +1 -1
  306. package/components/stepper/stepper-vars.less +12 -24
  307. package/components/stepper/stepper.css +1 -1
  308. package/components/stepper/stepper.js +0 -12
  309. package/components/stepper/stepper.less +12 -23
  310. package/components/subnavbar/subnavbar-vars.less +3 -18
  311. package/components/subnavbar/subnavbar.js +0 -3
  312. package/components/subnavbar/subnavbar.less +1 -11
  313. package/components/swipeout/swipeout-rtl.css +1 -1
  314. package/components/swipeout/swipeout-vars.less +7 -6
  315. package/components/swipeout/swipeout.css +1 -1
  316. package/components/swipeout/swipeout.js +2 -99
  317. package/components/swipeout/swipeout.less +2 -7
  318. package/components/swiper/swiper-rtl.css +1 -1
  319. package/components/swiper/swiper.css +1 -1
  320. package/components/swiper/swiper.js +9 -30
  321. package/components/swiper/swiper.lazy.js +1 -1
  322. package/components/swiper/swiper.less +1 -16
  323. package/components/tabs/tabs-rtl.css +1 -1
  324. package/components/tabs/tabs.css +1 -1
  325. package/components/tabs/tabs.js +23 -60
  326. package/components/tabs/tabs.lazy.js +1 -1
  327. package/components/tabs/tabs.less +1 -3
  328. package/components/text-editor/text-editor-class.js +16 -102
  329. package/components/text-editor/text-editor-rtl.css +1 -1
  330. package/components/text-editor/text-editor-vars.less +12 -16
  331. package/components/text-editor/text-editor.css +1 -1
  332. package/components/text-editor/text-editor.js +0 -8
  333. package/components/text-editor/text-editor.lazy.js +1 -1
  334. package/components/text-editor/text-editor.less +0 -6
  335. package/components/timeline/timeline-rtl.css +1 -1
  336. package/components/timeline/timeline-vars.less +13 -47
  337. package/components/timeline/timeline.css +1 -1
  338. package/components/timeline/timeline.less +2 -9
  339. package/components/toast/toast-class.js +2 -16
  340. package/components/toast/toast-rtl.css +1 -1
  341. package/components/toast/toast-vars.less +5 -9
  342. package/components/toast/toast.css +1 -1
  343. package/components/toast/toast.js +0 -3
  344. package/components/toast/toast.less +0 -3
  345. package/components/toggle/toggle-class.js +6 -30
  346. package/components/toggle/toggle-ios.less +5 -1
  347. package/components/toggle/toggle-md.less +27 -11
  348. package/components/toggle/toggle-rtl.css +1 -1
  349. package/components/toggle/toggle-vars.less +19 -21
  350. package/components/toggle/toggle.css +1 -1
  351. package/components/toggle/toggle.js +0 -8
  352. package/components/toggle/toggle.less +0 -4
  353. package/components/toolbar/toolbar-ios.less +2 -2
  354. package/components/toolbar/toolbar-md.less +28 -4
  355. package/components/toolbar/toolbar-vars.less +17 -52
  356. package/components/toolbar/toolbar.js +5 -43
  357. package/components/toolbar/toolbar.less +27 -45
  358. package/components/tooltip/tooltip-class.js +10 -64
  359. package/components/tooltip/tooltip-rtl.css +1 -1
  360. package/components/tooltip/tooltip-vars.less +12 -3
  361. package/components/tooltip/tooltip.css +1 -1
  362. package/components/tooltip/tooltip.js +0 -15
  363. package/components/tooltip/tooltip.less +0 -3
  364. package/components/touch-ripple/touch-ripple-class.js +0 -13
  365. package/components/touch-ripple/touch-ripple.js +0 -4
  366. package/components/touch-ripple/touch-ripple.less +1 -5
  367. package/components/treeview/treeview-rtl.css +1 -1
  368. package/components/treeview/treeview-vars.less +0 -3
  369. package/components/treeview/treeview.css +1 -1
  370. package/components/treeview/treeview.js +2 -11
  371. package/components/treeview/treeview.lazy.js +1 -1
  372. package/components/treeview/treeview.less +0 -3
  373. package/components/typography/typography-rtl.css +1 -1
  374. package/components/typography/typography.css +1 -1
  375. package/components/typography/typography.less +25 -3
  376. package/components/view/resizable-view.js +2 -24
  377. package/components/view/view-class.js +28 -53
  378. package/components/view/view.d.ts +0 -14
  379. package/components/view/view.js +8 -32
  380. package/components/view/view.less +1 -4
  381. package/components/virtual-list/virtual-list-class.js +58 -146
  382. package/components/virtual-list/virtual-list.d.ts +1 -1
  383. package/components/virtual-list/virtual-list.js +0 -2
  384. package/components/virtual-list/virtual-list.lazy.js +1 -1
  385. package/components/virtual-list/virtual-list.less +0 -3
  386. package/framework7-bundle-rtl.css +3593 -5977
  387. package/framework7-bundle-rtl.min.css +3 -3
  388. package/framework7-bundle.css +3591 -5978
  389. package/framework7-bundle.esm.js +4 -10
  390. package/framework7-bundle.js +6063 -12044
  391. package/framework7-bundle.js.map +1 -1
  392. package/framework7-bundle.less +2 -27
  393. package/framework7-bundle.min.css +3 -3
  394. package/framework7-bundle.min.js +3 -3
  395. package/framework7-bundle.min.js.map +1 -1
  396. package/framework7-lite-bundle.esm.js +4 -10
  397. package/framework7-lite.esm.js +4 -6
  398. package/framework7-lite.js +31 -0
  399. package/framework7-rtl.css +803 -1591
  400. package/framework7-rtl.min.css +3 -3
  401. package/framework7-types.d.ts +1 -32
  402. package/framework7.css +803 -1594
  403. package/framework7.d.ts +1 -32
  404. package/framework7.esm.js +4 -6
  405. package/framework7.js +1770 -3407
  406. package/framework7.js.map +1 -1
  407. package/framework7.less +2 -23
  408. package/framework7.min.css +3 -3
  409. package/framework7.min.js +3 -3
  410. package/framework7.min.js.map +1 -1
  411. package/less/mixins.less +7 -88
  412. package/less/plugin.js +15 -0
  413. package/modules/clicks/clicks.js +10 -22
  414. package/modules/component/$h.js +0 -3
  415. package/modules/component/$jsx.js +0 -5
  416. package/modules/component/component-class.js +13 -66
  417. package/modules/component/component.d.ts +1 -2
  418. package/modules/component/component.js +0 -8
  419. package/modules/component/eventslisteners.js +12 -20
  420. package/modules/component/parse-component.js +18 -20
  421. package/modules/component/snabbdom/h.js +3 -12
  422. package/modules/component/snabbdom/helpers/attachto.js +9 -14
  423. package/modules/component/snabbdom/htmldomapi.js +0 -16
  424. package/modules/component/snabbdom/modules/attributes.js +7 -11
  425. package/modules/component/snabbdom/modules/class.js +4 -8
  426. package/modules/component/snabbdom/modules/dataset.js +3 -7
  427. package/modules/component/snabbdom/modules/eventlisteners.js +16 -22
  428. package/modules/component/snabbdom/modules/hero.js +4 -44
  429. package/modules/component/snabbdom/modules/props.js +5 -9
  430. package/modules/component/snabbdom/modules/style.js +13 -30
  431. package/modules/component/snabbdom/snabbdom.bundle.js +0 -6
  432. package/modules/component/snabbdom/snabbdom.js +13 -72
  433. package/modules/component/snabbdom/thunk.js +3 -11
  434. package/modules/component/snabbdom/tovnode.js +1 -6
  435. package/modules/component/vdom.js +4 -62
  436. package/modules/demo-module.js +0 -8
  437. package/modules/device/device.js +6 -11
  438. package/modules/history/history.js +0 -1
  439. package/modules/resize/resize.js +8 -11
  440. package/modules/router/async-component.js +0 -3
  441. package/modules/router/back.js +86 -275
  442. package/modules/router/clear-previous-history.js +5 -18
  443. package/modules/router/component-loader.js +4 -25
  444. package/modules/router/modal.js +16 -43
  445. package/modules/router/navigate.js +80 -249
  446. package/modules/router/process-route-queue.js +0 -12
  447. package/modules/router/redirect.js +0 -8
  448. package/modules/router/router-class.js +92 -315
  449. package/modules/router/router.d.ts +3 -5
  450. package/modules/router/router.js +0 -3
  451. package/modules/router/swipe-back.js +35 -139
  452. package/modules/router/tab.js +14 -43
  453. package/modules/service-worker/service-worker.js +0 -11
  454. package/modules/store/create-store.js +10 -29
  455. package/modules/touch/touch.d.ts +2 -4
  456. package/modules/touch/touch.js +13 -108
  457. package/package.json +4 -18
  458. package/shared/$jsx.js +0 -6
  459. package/shared/class.js +18 -43
  460. package/shared/constructor-methods.js +0 -11
  461. package/shared/events-class.js +0 -17
  462. package/shared/get-device.js +18 -34
  463. package/shared/get-support.js +2 -8
  464. package/shared/history.js +2 -30
  465. package/shared/material-color-utils.js +728 -0
  466. package/shared/material-colors.js +75 -0
  467. package/shared/modal-methods.js +0 -18
  468. package/shared/utils.d.ts +0 -4
  469. package/shared/utils.js +191 -71
  470. package/components/accordion/accordion-aurora.less +0 -2
  471. package/components/actions/actions-aurora.less +0 -9
  472. package/components/app/app-aurora.less +0 -10
  473. package/components/appbar/appbar-aurora.less +0 -2
  474. package/components/appbar/appbar-ios.less +0 -2
  475. package/components/appbar/appbar-md.less +0 -2
  476. package/components/appbar/appbar-rtl.css +0 -1
  477. package/components/appbar/appbar-vars.less +0 -28
  478. package/components/appbar/appbar.css +0 -1
  479. package/components/appbar/appbar.d.ts +0 -14
  480. package/components/appbar/appbar.js +0 -3
  481. package/components/appbar/appbar.lazy.js +0 -1
  482. package/components/appbar/appbar.less +0 -106
  483. package/components/area-chart/area-chart-aurora.less +0 -2
  484. package/components/autocomplete/autocomplete-aurora.less +0 -17
  485. package/components/badge/badge-aurora.less +0 -2
  486. package/components/block/block-aurora.less +0 -2
  487. package/components/breadcrumbs/breadcrumbs-aurora.less +0 -2
  488. package/components/button/button-aurora.less +0 -25
  489. package/components/calendar/calendar-aurora.less +0 -2
  490. package/components/card/card-aurora.less +0 -2
  491. package/components/checkbox/checkbox-aurora.less +0 -39
  492. package/components/chip/chip-aurora.less +0 -14
  493. package/components/color-picker/color-picker-aurora.less +0 -2
  494. package/components/contacts-list/contacts-list-aurora.less +0 -2
  495. package/components/data-table/data-table-aurora.less +0 -64
  496. package/components/dialog/dialog-aurora.less +0 -112
  497. package/components/elevation/elevation-aurora.less +0 -2
  498. package/components/elevation/elevation-ios.less +0 -2
  499. package/components/elevation/elevation-md.less +0 -2
  500. package/components/elevation/elevation-rtl.css +0 -1
  501. package/components/elevation/elevation-vars.less +0 -51
  502. package/components/elevation/elevation.css +0 -1
  503. package/components/elevation/elevation.d.ts +0 -14
  504. package/components/elevation/elevation.js +0 -3
  505. package/components/elevation/elevation.lazy.js +0 -1
  506. package/components/elevation/elevation.less +0 -54
  507. package/components/fab/fab-aurora.less +0 -2
  508. package/components/form/form-aurora.less +0 -0
  509. package/components/gauge/gauge-aurora.less +0 -2
  510. package/components/grid/grid-aurora.less +0 -2
  511. package/components/icon/icon-aurora.less +0 -49
  512. package/components/infinite-scroll/infinite-scroll-aurora.less +0 -6
  513. package/components/input/input-aurora.less +0 -120
  514. package/components/lazy/lazy-aurora.less +0 -2
  515. package/components/lazy/lazy-ios.less +0 -2
  516. package/components/lazy/lazy-md.less +0 -2
  517. package/components/lazy/lazy-rtl.css +0 -1
  518. package/components/lazy/lazy.css +0 -1
  519. package/components/lazy/lazy.d.ts +0 -57
  520. package/components/lazy/lazy.js +0 -283
  521. package/components/lazy/lazy.lazy.js +0 -1
  522. package/components/lazy/lazy.less +0 -23
  523. package/components/link/link-aurora.less +0 -15
  524. package/components/list/list-aurora.less +0 -25
  525. package/components/list-index/list-index-aurora.less +0 -21
  526. package/components/login-screen/login-screen-aurora.less +0 -2
  527. package/components/menu/menu-aurora.less +0 -8
  528. package/components/menu/menu-ios.less +0 -2
  529. package/components/menu/menu-md.less +0 -2
  530. package/components/menu/menu-rtl.css +0 -1
  531. package/components/menu/menu-vars.less +0 -27
  532. package/components/menu/menu.css +0 -1
  533. package/components/menu/menu.d.ts +0 -32
  534. package/components/menu/menu.js +0 -87
  535. package/components/menu/menu.lazy.js +0 -1
  536. package/components/menu/menu.less +0 -232
  537. package/components/messagebar/messagebar-aurora.less +0 -53
  538. package/components/messages/messages-aurora.less +0 -137
  539. package/components/navbar/navbar-aurora.less +0 -70
  540. package/components/notification/notification-aurora.less +0 -59
  541. package/components/page/page-aurora.less +0 -49
  542. package/components/panel/panel-aurora.less +0 -2
  543. package/components/photo-browser/photo-browser-aurora.less +0 -2
  544. package/components/picker/picker-aurora.less +0 -2
  545. package/components/pie-chart/pie-chart-aurora.less +0 -2
  546. package/components/popover/popover-aurora.less +0 -56
  547. package/components/popup/popup-aurora.less +0 -2
  548. package/components/preloader/preloader-aurora.less +0 -53
  549. package/components/progressbar/progressbar-aurora.less +0 -72
  550. package/components/pull-to-refresh/pull-to-refresh-aurora.less +0 -122
  551. package/components/radio/radio-aurora.less +0 -86
  552. package/components/range/range-aurora.less +0 -9
  553. package/components/searchbar/searchbar-aurora.less +0 -86
  554. package/components/sheet/sheet-aurora.less +0 -2
  555. package/components/skeleton/skeleton-aurora.less +0 -2
  556. package/components/smart-select/smart-select-aurora.less +0 -2
  557. package/components/sortable/sortable-aurora.less +0 -7
  558. package/components/statusbar/statusbar-aurora.less +0 -2
  559. package/components/stepper/stepper-aurora.less +0 -32
  560. package/components/subnavbar/subnavbar-aurora.less +0 -51
  561. package/components/swipeout/swipeout-aurora.less +0 -2
  562. package/components/swiper/swiper-aurora.less +0 -2
  563. package/components/tabs/tabs-aurora.less +0 -2
  564. package/components/text-editor/text-editor-aurora.less +0 -9
  565. package/components/timeline/timeline-aurora.less +0 -7
  566. package/components/toast/toast-aurora.less +0 -64
  567. package/components/toggle/toggle-aurora.less +0 -26
  568. package/components/toolbar/toolbar-aurora.less +0 -43
  569. package/components/tooltip/tooltip-aurora.less +0 -2
  570. package/components/touch-ripple/touch-ripple-aurora.less +0 -2
  571. package/components/treeview/treeview-aurora.less +0 -31
  572. package/components/typography/typography-aurora.less +0 -2
  573. package/components/view/view-aurora.less +0 -2
  574. package/components/virtual-list/virtual-list-aurora.less +0 -2
  575. package/modules/request/request.d.ts +0 -15
  576. package/modules/request/request.js +0 -11
  577. package/postinstall.js +0 -3
  578. package/shared/request.d.ts +0 -115
  579. package/shared/request.js +0 -512
@@ -32,7 +32,6 @@ const Fab = {
32
32
  const scaleY = target.height / fab.height;
33
33
  let borderRadius = Math.ceil(parseInt(target.borderRadius, 10) / Math.max(scaleX, scaleY));
34
34
  if (borderRadius > 0) borderRadius += 2;
35
-
36
35
  $fabEl[0].f7FabMorphResizeHandler = function resizeHandler() {
37
36
  $fabEl.transition(0).transform('');
38
37
  $targetEl.transition(0);
@@ -46,7 +45,6 @@ const Fab = {
46
45
  const scaleYNew = target.height / fab.height;
47
46
  $fabEl.transform(`translate3d(${-diffXNew}px, ${-diffYNew}px, 0) scale(${scaleXNew}, ${scaleYNew})`);
48
47
  };
49
-
50
48
  $targetEl.css('opacity', 0).transform(`scale(${1 / scaleX}, ${1 / scaleY})`);
51
49
  $fabEl.addClass('fab-opened').css('z-index', target.zIndex - 1).transform(`translate3d(${-diffX}px, ${-diffY}px, 0)`);
52
50
  $fabEl.transitionEnd(() => {
@@ -56,13 +54,11 @@ const Fab = {
56
54
  $fabEl.transform(`translate3d(${-diffX}px, ${-diffY}px, 0) scale(${scaleX}, ${scaleY})`).css('border-radius', `${borderRadius}px`).css('box-shadow', 'none').css('opacity', '0');
57
55
  });
58
56
  app.on('resize', $fabEl[0].f7FabMorphResizeHandler);
59
-
60
57
  if ($targetEl.parents('.page-content').length > 0) {
61
58
  $targetEl.parents('.page-content').on('scroll', $fabEl[0].f7FabMorphResizeHandler);
62
59
  }
63
60
  });
64
61
  },
65
-
66
62
  morphClose(fabEl) {
67
63
  const app = this;
68
64
  const $fabEl = $(fabEl);
@@ -79,11 +75,9 @@ const Fab = {
79
75
  const scaleX = target.width / fab.width;
80
76
  const scaleY = target.height / fab.height;
81
77
  app.off('resize', $fabEl[0].f7FabMorphResizeHandler);
82
-
83
78
  if ($targetEl.parents('.page-content').length > 0) {
84
79
  $targetEl.parents('.page-content').off('scroll', $fabEl[0].f7FabMorphResizeHandler);
85
80
  }
86
-
87
81
  $targetEl.css('opacity', 0).transform(`scale(${1 / scaleX}, ${1 / scaleY})`);
88
82
  $fabEl.transition('').css('box-shadow', '').css('border-radius', '').css('opacity', '1').transform(`translate3d(${-diffX}px, ${-diffY}px, 0)`);
89
83
  $fabEl.transitionEnd(() => {
@@ -95,7 +89,6 @@ const Fab = {
95
89
  });
96
90
  });
97
91
  },
98
-
99
92
  open(fabEl, targetEl) {
100
93
  const app = this;
101
94
  const $fabEl = $(fabEl).eq(0);
@@ -103,29 +96,23 @@ const Fab = {
103
96
  if (!$fabEl.length) return;
104
97
  if ($fabEl.hasClass('fab-opened')) return;
105
98
  if (!$buttonsEl.length && !$fabEl.hasClass('fab-morph')) return;
106
-
107
99
  if (app.fab.openedEl) {
108
100
  if (app.fab.openedEl === $fabEl[0]) return;
109
101
  app.fab.close(app.fab.openedEl);
110
102
  }
111
-
112
103
  app.fab.openedEl = $fabEl[0];
113
-
114
104
  if ($fabEl.hasClass('fab-morph')) {
115
105
  app.fab.morphOpen($fabEl, targetEl || $fabEl.attr('data-morph-to'));
116
106
  } else {
117
107
  $fabEl.addClass('fab-opened');
118
108
  }
119
-
120
109
  $fabEl.siblings('.fab-backdrop').addClass('backdrop-in');
121
110
  $fabEl.trigger('fab:open');
122
111
  },
123
-
124
112
  close(fabEl) {
125
113
  if (fabEl === void 0) {
126
114
  fabEl = '.fab-opened';
127
115
  }
128
-
129
116
  const app = this;
130
117
  const $fabEl = $(fabEl).eq(0);
131
118
  const $buttonsEl = $fabEl.find('.fab-buttons');
@@ -133,27 +120,22 @@ const Fab = {
133
120
  if (!$fabEl.hasClass('fab-opened')) return;
134
121
  if (!$buttonsEl.length && !$fabEl.hasClass('fab-morph')) return;
135
122
  app.fab.openedEl = null;
136
-
137
123
  if ($fabEl.hasClass('fab-morph')) {
138
124
  app.fab.morphClose($fabEl);
139
125
  } else {
140
126
  $fabEl.removeClass('fab-opened');
141
127
  }
142
-
143
128
  $fabEl.siblings('.fab-backdrop').removeClass('backdrop-in');
144
129
  $fabEl.trigger('fab:close');
145
130
  },
146
-
147
131
  toggle(fabEl) {
148
132
  const app = this;
149
133
  const $fabEl = $(fabEl);
150
134
  if (!$fabEl.hasClass('fab-opened')) app.fab.open(fabEl);else app.fab.close(fabEl);
151
135
  }
152
-
153
136
  };
154
137
  export default {
155
138
  name: 'fab',
156
-
157
139
  create() {
158
140
  const app = this;
159
141
  bindMethods(app, {
@@ -163,7 +145,6 @@ export default {
163
145
  }
164
146
  });
165
147
  },
166
-
167
148
  clicks: {
168
149
  '.fab > a': function open($clickedEl) {
169
150
  const app = this;
@@ -173,7 +154,6 @@ export default {
173
154
  if (data === void 0) {
174
155
  data = {};
175
156
  }
176
-
177
157
  const app = this;
178
158
  app.fab.open(data.fab);
179
159
  },
@@ -181,7 +161,6 @@ export default {
181
161
  if (data === void 0) {
182
162
  data = {};
183
163
  }
184
-
185
164
  const app = this;
186
165
  app.fab.close(data.fab);
187
166
  },
@@ -91,7 +91,7 @@
91
91
  width: var(--f7-fab-size);
92
92
  height: var(--f7-fab-size);
93
93
  box-shadow: var(--f7-fab-box-shadow);
94
- border-radius: calc(var(--f7-fab-size) / 2);
94
+ border-radius: var(--f7-fab-border-radius);
95
95
  position: relative;
96
96
  transition-duration: 300ms;
97
97
  display: flex;
@@ -121,7 +121,7 @@
121
121
 
122
122
  .fab-buttons {
123
123
  a {
124
- border-radius: calc(var(--f7-fab-button-size) / 2);
124
+ border-radius: var(--f7-fab-border-radius);
125
125
  width: var(--f7-fab-button-size);
126
126
  height: var(--f7-fab-button-size);
127
127
  }
@@ -275,7 +275,7 @@
275
275
  }
276
276
  // Morph
277
277
  .fab-morph {
278
- border-radius: calc(var(--f7-fab-size) / 2);
278
+ border-radius: var(--f7-fab-border-radius);
279
279
  background: var(--f7-fab-bg-color, var(--f7-theme-color));
280
280
  box-shadow: var(--f7-fab-box-shadow);
281
281
  > a {
@@ -321,7 +321,7 @@
321
321
  padding: var(--f7-fab-extended-text-padding);
322
322
  font-weight: var(--f7-fab-extended-text-font-weight);
323
323
  letter-spacing: var(--f7-fab-extended-text-letter-spacing);
324
- text-transform: uppercase;
324
+ text-transform: var(--f7-fab-extended-text-transform);
325
325
  }
326
326
  // Labels
327
327
  .fab-label-button {
@@ -409,45 +409,45 @@
409
409
  .md .toolbar-bottom-md ~ .fab-right-bottom {
410
410
  margin-bottom: var(--f7-toolbar-height);
411
411
  }
412
- .tabbar-labels.toolbar-bottom ~ * .fab-left-bottom,
413
- .tabbar-labels.toolbar-bottom ~ * .fab-center-bottom,
414
- .tabbar-labels.toolbar-bottom ~ * .fab-right-bottom,
415
- .tabbar-labels.toolbar-bottom ~ .fab-left-bottom,
416
- .tabbar-labels.toolbar-bottom ~ .fab-center-bottom,
417
- .tabbar-labels.toolbar-bottom ~ .fab-right-bottom,
418
- .ios .tabbar-labels.toolbar-bottom-ios ~ * .fab-left-bottom,
419
- .ios .tabbar-labels.toolbar-bottom-ios ~ * .fab-center-bottom,
420
- .ios .tabbar-labels.toolbar-bottom-ios ~ * .fab-right-bottom,
421
- .ios .tabbar-labels.toolbar-bottom-ios ~ .fab-left-bottom,
422
- .ios .tabbar-labels.toolbar-bottom-ios ~ .fab-center-bottom,
423
- .ios .tabbar-labels.toolbar-bottom-ios ~ .fab-right-bottom,
424
- .md .tabbar-labels.toolbar-bottom-md ~ * .fab-left-bottom,
425
- .md .tabbar-labels.toolbar-bottom-md ~ * .fab-center-bottom,
426
- .md .tabbar-labels.toolbar-bottom-md ~ * .fab-right-bottom,
427
- .md .tabbar-labels.toolbar-bottom-md ~ .fab-left-bottom,
428
- .md .tabbar-labels.toolbar-bottom-md ~ .fab-center-bottom,
429
- .md .tabbar-labels.toolbar-bottom-md ~ .fab-right-bottom {
430
- margin-bottom: var(--f7-tabbar-labels-height);
431
- }
432
- .tabbar-labels.toolbar-top ~ * .fab-left-bottom,
433
- .tabbar-labels.toolbar-top ~ * .fab-center-bottom,
434
- .tabbar-labels.toolbar-top ~ * .fab-right-bottom,
435
- .tabbar-labels.toolbar-top ~ .fab-left-bottom,
436
- .tabbar-labels.toolbar-top ~ .fab-center-bottom,
437
- .tabbar-labels.toolbar-top ~ .fab-right-bottom,
438
- .ios .tabbar-labels.toolbar-top-ios ~ * .fab-left-bottom,
439
- .ios .tabbar-labels.toolbar-top-ios ~ * .fab-center-bottom,
440
- .ios .tabbar-labels.toolbar-top-ios ~ * .fab-right-bottom,
441
- .ios .tabbar-labels.toolbar-top-ios ~ .fab-left-bottom,
442
- .ios .tabbar-labels.toolbar-top-ios ~ .fab-center-bottom,
443
- .ios .tabbar-labels.toolbar-top-ios ~ .fab-right-bottom,
444
- .md .tabbar-labels.toolbar-top-md ~ * .fab-left-bottom,
445
- .md .tabbar-labels.toolbar-top-md ~ * .fab-center-bottom,
446
- .md .tabbar-labels.toolbar-top-md ~ * .fab-right-bottom,
447
- .md .tabbar-labels.toolbar-top-md ~ .fab-left-bottom,
448
- .md .tabbar-labels.toolbar-top-md ~ .fab-center-bottom,
449
- .md .tabbar-labels.toolbar-top-md ~ .fab-right-bottom {
450
- margin-top: var(--f7-tabbar-labels-height);
412
+ .tabbar-icons.toolbar-bottom ~ * .fab-left-bottom,
413
+ .tabbar-icons.toolbar-bottom ~ * .fab-center-bottom,
414
+ .tabbar-icons.toolbar-bottom ~ * .fab-right-bottom,
415
+ .tabbar-icons.toolbar-bottom ~ .fab-left-bottom,
416
+ .tabbar-icons.toolbar-bottom ~ .fab-center-bottom,
417
+ .tabbar-icons.toolbar-bottom ~ .fab-right-bottom,
418
+ .ios .tabbar-icons.toolbar-bottom-ios ~ * .fab-left-bottom,
419
+ .ios .tabbar-icons.toolbar-bottom-ios ~ * .fab-center-bottom,
420
+ .ios .tabbar-icons.toolbar-bottom-ios ~ * .fab-right-bottom,
421
+ .ios .tabbar-icons.toolbar-bottom-ios ~ .fab-left-bottom,
422
+ .ios .tabbar-icons.toolbar-bottom-ios ~ .fab-center-bottom,
423
+ .ios .tabbar-icons.toolbar-bottom-ios ~ .fab-right-bottom,
424
+ .md .tabbar-icons.toolbar-bottom-md ~ * .fab-left-bottom,
425
+ .md .tabbar-icons.toolbar-bottom-md ~ * .fab-center-bottom,
426
+ .md .tabbar-icons.toolbar-bottom-md ~ * .fab-right-bottom,
427
+ .md .tabbar-icons.toolbar-bottom-md ~ .fab-left-bottom,
428
+ .md .tabbar-icons.toolbar-bottom-md ~ .fab-center-bottom,
429
+ .md .tabbar-icons.toolbar-bottom-md ~ .fab-right-bottom {
430
+ margin-bottom: var(--f7-tabbar-icons-height);
431
+ }
432
+ .tabbar-icons.toolbar-top ~ * .fab-left-bottom,
433
+ .tabbar-icons.toolbar-top ~ * .fab-center-bottom,
434
+ .tabbar-icons.toolbar-top ~ * .fab-right-bottom,
435
+ .tabbar-icons.toolbar-top ~ .fab-left-bottom,
436
+ .tabbar-icons.toolbar-top ~ .fab-center-bottom,
437
+ .tabbar-icons.toolbar-top ~ .fab-right-bottom,
438
+ .ios .tabbar-icons.toolbar-top-ios ~ * .fab-left-bottom,
439
+ .ios .tabbar-icons.toolbar-top-ios ~ * .fab-center-bottom,
440
+ .ios .tabbar-icons.toolbar-top-ios ~ * .fab-right-bottom,
441
+ .ios .tabbar-icons.toolbar-top-ios ~ .fab-left-bottom,
442
+ .ios .tabbar-icons.toolbar-top-ios ~ .fab-center-bottom,
443
+ .ios .tabbar-icons.toolbar-top-ios ~ .fab-right-bottom,
444
+ .md .tabbar-icons.toolbar-top-md ~ * .fab-left-bottom,
445
+ .md .tabbar-icons.toolbar-top-md ~ * .fab-center-bottom,
446
+ .md .tabbar-icons.toolbar-top-md ~ * .fab-right-bottom,
447
+ .md .tabbar-icons.toolbar-top-md ~ .fab-left-bottom,
448
+ .md .tabbar-icons.toolbar-top-md ~ .fab-center-bottom,
449
+ .md .tabbar-icons.toolbar-top-md ~ .fab-right-bottom {
450
+ margin-top: var(--f7-tabbar-icons-height);
451
451
  }
452
452
 
453
453
  .messagebar ~ * .fab-left-bottom,
@@ -474,9 +474,9 @@
474
474
  );
475
475
  }
476
476
  }
477
- + .toolbar-top.tabbar-labels,
478
- .ios & + .toolbar-top-ios.tabbar-labels,
479
- .md & + .toolbar-top-ios.tabbar-labels {
477
+ + .toolbar-top.tabbar-icons,
478
+ .ios & + .toolbar-top-ios.tabbar-icons,
479
+ .md & + .toolbar-top-ios.tabbar-icons {
480
480
  ~ * .fab-left-top,
481
481
  ~ * .fab-center-top,
482
482
  ~ * .fab-right-top,
@@ -484,7 +484,7 @@
484
484
  ~ .fab-center-top,
485
485
  ~ .fab-right-top {
486
486
  margin-top: calc(
487
- var(--f7-tabbar-labels-height) + var(--f7-navbar-height) + var(--f7-safe-area-top)
487
+ var(--f7-tabbar-icons-height) + var(--f7-navbar-height) + var(--f7-safe-area-top)
488
488
  );
489
489
  }
490
490
  }
@@ -503,8 +503,8 @@
503
503
  );
504
504
  }
505
505
  }
506
- + .toolbar-top.tabbar-labels,
507
- .ios & + .toolbar-top-ios.tabbar-labels {
506
+ + .toolbar-top.tabbar-icons,
507
+ .ios & + .toolbar-top-ios.tabbar-icons {
508
508
  ~ * .fab-left-top,
509
509
  ~ * .fab-center-top,
510
510
  ~ * .fab-right-top,
@@ -512,7 +512,7 @@
512
512
  ~ .fab-center-top,
513
513
  ~ .fab-right-top {
514
514
  margin-top: calc(
515
- var(--f7-tabbar-labels-height) + var(--f7-navbar-height) + var(--f7-safe-area-top)
515
+ var(--f7-tabbar-icons-height) + var(--f7-navbar-height) + var(--f7-safe-area-top)
516
516
  );
517
517
  }
518
518
  }
@@ -524,6 +524,3 @@
524
524
  .if-md-theme({
525
525
  @import './fab-md.less';
526
526
  });
527
- .if-aurora-theme({
528
- @import './fab-aurora.less';
529
- });
@@ -50,13 +50,13 @@ export namespace Form {
50
50
  formStoreData: (form: HTMLElement, data: object) => void;
51
51
 
52
52
  /** Event will be triggered right after for data saved */
53
- formAjaxSuccess: (form: HTMLElement, data: object, xhr: XMLHttpRequest) => void;
53
+ formAjaxSuccess: (form: HTMLElement, data: object, response: Response) => void;
54
54
  /** Event will be triggered right after for data saved */
55
- formAjaxComplete: (form: HTMLElement, data: object, xhr: XMLHttpRequest) => void;
55
+ formAjaxComplete: (form: HTMLElement, data: object, response: Response) => void;
56
56
  /** Event will be triggered right after for data saved */
57
- formAjaxBeforeSend: (form: HTMLElement, data: object, xhr: XMLHttpRequest) => void;
57
+ formAjaxBeforeSend: (form: HTMLElement, data: object) => void;
58
58
  /** Event will be triggered right after for data saved */
59
- formAjaxError: (form: HTMLElement, data: object, xhr: XMLHttpRequest) => void;
59
+ formAjaxError: (form: HTMLElement, data: object, error: any) => void;
60
60
  }
61
61
  }
62
62
  declare const FormComponent: Framework7Plugin;
@@ -1,70 +1,63 @@
1
1
  import { getWindow, getDocument } from 'ssr-window';
2
2
  import $ from '../../shared/dom7.js';
3
- import { extend, serializeObject } from '../../shared/utils.js'; // Form Data
3
+ import { extend, serializeObject } from '../../shared/utils.js';
4
4
 
5
+ // Form Data
5
6
  const FormData = {
6
7
  store(form, data) {
7
8
  const app = this;
8
9
  const window = getWindow();
9
10
  let formId = form;
10
11
  const $formEl = $(form);
11
-
12
12
  if ($formEl.length && $formEl.is('form') && $formEl.attr('id')) {
13
13
  formId = $formEl.attr('id');
14
- } // Store form data in app.formsData
15
-
16
-
17
- app.form.data[`form-${formId}`] = data; // Store form data in local storage also
14
+ }
15
+ // Store form data in app.formsData
16
+ app.form.data[`form-${formId}`] = data;
18
17
 
18
+ // Store form data in local storage also
19
19
  window.localStorage[`f7form-${formId}`] = JSON.stringify(data);
20
20
  },
21
-
22
21
  get(form) {
23
22
  const app = this;
24
23
  const window = getWindow();
25
24
  let formId = form;
26
25
  const $formEl = $(form);
27
-
28
26
  if ($formEl.length && $formEl.is('form') && $formEl.attr('id')) {
29
27
  formId = $formEl.attr('id');
30
28
  }
31
-
32
29
  if (window.localStorage[`f7form-${formId}`]) {
33
30
  return JSON.parse(window.localStorage[`f7form-${formId}`]);
34
31
  }
35
-
36
32
  if (app.form.data[`form-${formId}`]) {
37
33
  return app.form.data[`form-${formId}`];
38
34
  }
39
-
40
35
  return undefined;
41
36
  },
42
-
43
37
  remove(form) {
44
38
  const app = this;
45
39
  const window = getWindow();
46
40
  let formId = form;
47
41
  const $formEl = $(form);
48
-
49
42
  if ($formEl.length && $formEl.is('form') && $formEl.attr('id')) {
50
43
  formId = $formEl.attr('id');
51
- } // Delete form data from app.formsData
52
-
44
+ }
53
45
 
46
+ // Delete form data from app.formsData
54
47
  if (app.form.data[`form-${formId}`]) {
55
48
  app.form.data[`form-${formId}`] = '';
56
49
  delete app.form.data[`form-${formId}`];
57
- } // Delete form data from local storage also
58
-
50
+ }
59
51
 
52
+ // Delete form data from local storage also
60
53
  if (window.localStorage[`f7form-${formId}`]) {
61
54
  window.localStorage[`f7form-${formId}`] = '';
62
55
  window.localStorage.removeItem(`f7form-${formId}`);
63
56
  }
64
57
  }
58
+ };
65
59
 
66
- }; // Form Storage
67
-
60
+ // Form Storage
68
61
  const FormStorage = {
69
62
  init(formEl) {
70
63
  const app = this;
@@ -72,11 +65,9 @@ const FormStorage = {
72
65
  const formId = $formEl.attr('id');
73
66
  if (!formId) return;
74
67
  const initialData = app.form.getFormData(formId);
75
-
76
68
  if (initialData) {
77
69
  app.form.fillFromData($formEl, initialData);
78
70
  }
79
-
80
71
  function store() {
81
72
  const data = app.form.convertToData($formEl);
82
73
  if (!data) return;
@@ -84,39 +75,36 @@ const FormStorage = {
84
75
  $formEl.trigger('form:storedata', data);
85
76
  app.emit('formStoreData', $formEl[0], data);
86
77
  }
87
-
88
78
  $formEl.on('change submit', store);
89
79
  },
90
-
91
80
  destroy(formEl) {
92
81
  const $formEl = $(formEl);
93
82
  $formEl.off('change submit');
94
83
  }
84
+ };
95
85
 
96
- }; // Form To/From Data
97
-
86
+ // Form To/From Data
98
87
  function formToData(formEl) {
99
88
  const app = this;
100
89
  const $formEl = $(formEl).eq(0);
101
- if ($formEl.length === 0) return undefined; // Form data
90
+ if ($formEl.length === 0) return undefined;
102
91
 
103
- const data = {}; // Skip input types
92
+ // Form data
93
+ const data = {};
104
94
 
95
+ // Skip input types
105
96
  const skipTypes = ['submit', 'image', 'button', 'file'];
106
97
  const skipNames = [];
107
98
  $formEl.find('input, select, textarea').each(inputEl => {
108
99
  const $inputEl = $(inputEl);
109
-
110
100
  if ($inputEl.hasClass('ignore-store-data') || $inputEl.hasClass('no-store-data')) {
111
101
  return;
112
102
  }
113
-
114
103
  const name = $inputEl.attr('name');
115
104
  const type = $inputEl.attr('type');
116
105
  const tag = inputEl.nodeName.toLowerCase();
117
106
  if (skipTypes.indexOf(type) >= 0) return;
118
107
  if (skipNames.indexOf(name) >= 0 || !name) return;
119
-
120
108
  if (tag === 'select' && $inputEl.prop('multiple')) {
121
109
  skipNames.push(name);
122
110
  data[name] = [];
@@ -132,14 +120,12 @@ function formToData(formEl) {
132
120
  if (el.checked) data[name].push(el.value);
133
121
  });
134
122
  break;
135
-
136
123
  case 'radio':
137
124
  skipNames.push(name);
138
125
  $formEl.find(`input[name="${name}"]`).each(el => {
139
126
  if (el.checked) data[name] = el.value;
140
127
  });
141
128
  break;
142
-
143
129
  default:
144
130
  data[name] = $inputEl.val();
145
131
  break;
@@ -150,36 +136,31 @@ function formToData(formEl) {
150
136
  app.emit('formToData', $formEl[0], data);
151
137
  return data;
152
138
  }
153
-
154
139
  function formFromData(formEl, formData) {
155
140
  const app = this;
156
141
  const $formEl = $(formEl).eq(0);
157
142
  if (!$formEl.length) return;
158
143
  let data = formData;
159
144
  const formId = $formEl.attr('id');
160
-
161
145
  if (!data && formId) {
162
146
  data = app.form.getFormData(formId);
163
147
  }
148
+ if (!data) return;
164
149
 
165
- if (!data) return; // Skip input types
166
-
150
+ // Skip input types
167
151
  const skipTypes = ['submit', 'image', 'button', 'file'];
168
152
  const skipNames = [];
169
153
  $formEl.find('input, select, textarea').each(inputEl => {
170
154
  const $inputEl = $(inputEl);
171
-
172
155
  if ($inputEl.hasClass('ignore-store-data') || $inputEl.hasClass('no-store-data')) {
173
156
  return;
174
157
  }
175
-
176
158
  const name = $inputEl.attr('name');
177
159
  const type = $inputEl.attr('type');
178
160
  const tag = inputEl.nodeName.toLowerCase();
179
161
  if (typeof data[name] === 'undefined' || data[name] === null) return;
180
162
  if (skipTypes.indexOf(type) >= 0) return;
181
163
  if (skipNames.indexOf(name) >= 0 || !name) return;
182
-
183
164
  if (tag === 'select' && $inputEl.prop('multiple')) {
184
165
  skipNames.push(name);
185
166
  $formEl.find(`select[name="${name}"] option`).each(el => {
@@ -195,7 +176,6 @@ function formFromData(formEl, formData) {
195
176
  if (data[name].indexOf(el.value) >= 0) checkboxEl.checked = true;else checkboxEl.checked = false;
196
177
  });
197
178
  break;
198
-
199
179
  case 'radio':
200
180
  skipNames.push(name);
201
181
  $formEl.find(`input[name="${name}"]`).each(el => {
@@ -203,13 +183,11 @@ function formFromData(formEl, formData) {
203
183
  if (data[name] === el.value) radioEl.checked = true;else radioEl.checked = false;
204
184
  });
205
185
  break;
206
-
207
186
  default:
208
187
  $inputEl.val(data[name]);
209
188
  break;
210
189
  }
211
190
  }
212
-
213
191
  if (tag === 'select' || tag === 'input' || tag === 'textarea') {
214
192
  $inputEl.trigger('change', 'fromdata');
215
193
  }
@@ -217,80 +195,72 @@ function formFromData(formEl, formData) {
217
195
  $formEl.trigger('form:fromdata', data);
218
196
  app.emit('formFromData', $formEl[0], data);
219
197
  }
220
-
221
198
  function initAjaxForm() {
222
199
  const app = this;
223
200
  const window = getWindow();
224
201
  const document = getDocument();
225
-
226
202
  function onSubmitChange(e, fromData) {
227
203
  const $formEl = $(this);
228
204
  if (e.type === 'change' && !$formEl.hasClass('form-ajax-submit-onchange')) return;
229
205
  if (e.type === 'submit') e.preventDefault();
230
206
  if (e.type === 'change' && fromData === 'fromdata') return;
231
207
  const method = ($formEl.attr('method') || 'GET').toUpperCase();
232
- const contentType = $formEl.prop('enctype') || $formEl.attr('enctype');
233
- const url = $formEl.attr('action');
208
+ const contentType = $formEl.attr('enctype') || $formEl.prop('enctype');
209
+ let url = $formEl.attr('action');
234
210
  if (!url) return;
235
211
  let data;
236
-
237
212
  if (method === 'POST') {
238
- if (contentType === 'application/x-www-form-urlencoded') {
213
+ if (contentType === 'application/x-www-form-urlencoded' || contentType === 'application/json') {
239
214
  data = app.form.convertToData($formEl[0]);
215
+ if (contentType === 'application/json') {
216
+ data = JSON.stringify(data);
217
+ }
240
218
  } else {
241
219
  data = new window.FormData($formEl[0]);
242
220
  }
243
221
  } else {
244
222
  data = serializeObject(app.form.convertToData($formEl[0]));
223
+ if (url.includes('?')) {
224
+ url += `&${data}`;
225
+ } else {
226
+ url += `?${data}`;
227
+ }
245
228
  }
246
-
247
- app.request({
229
+ $formEl.trigger('formajax:beforesend', {
230
+ data
231
+ });
232
+ app.emit('formAjaxBeforeSend', $formEl[0], data);
233
+ fetch(url, {
248
234
  method,
249
- url,
250
- contentType,
251
- data,
252
-
253
- beforeSend(xhr) {
254
- $formEl.trigger('formajax:beforesend', {
255
- data,
256
- xhr
257
- });
258
- app.emit('formAjaxBeforeSend', $formEl[0], data, xhr);
259
- },
260
-
261
- error(xhr) {
262
- $formEl.trigger('formajax:error', {
263
- data,
264
- xhr
265
- });
266
- app.emit('formAjaxError', $formEl[0], data, xhr);
267
- },
268
-
269
- complete(xhr) {
270
- $formEl.trigger('formajax:complete', {
271
- data,
272
- xhr
273
- });
274
- app.emit('formAjaxComplete', $formEl[0], data, xhr);
235
+ headers: {
236
+ 'Content-Type': contentType || 'application/x-www-form-urlencoded'
275
237
  },
276
-
277
- success(response, status, xhr) {
278
- $formEl.trigger('formajax:success', {
279
- data,
280
- xhr
281
- });
282
- app.emit('formAjaxSuccess', $formEl[0], data, xhr);
283
- }
284
-
238
+ ...(method === 'POST' || method === 'PUT' ? {
239
+ body: data
240
+ } : {})
241
+ }).then(response => {
242
+ $formEl.trigger('formajax:complete', {
243
+ data,
244
+ response
245
+ });
246
+ app.emit('formAjaxComplete', $formEl[0], data, response);
247
+ $formEl.trigger('formajax:success', {
248
+ data,
249
+ response
250
+ });
251
+ app.emit('formAjaxSuccess', $formEl[0], data, response);
252
+ }).catch(error => {
253
+ $formEl.trigger('formajax:error', {
254
+ data,
255
+ error
256
+ });
257
+ app.emit('formAjaxError', $formEl[0], data, error);
285
258
  });
286
259
  }
287
-
288
260
  $(document).on('submit change', 'form.form-ajax-submit, form.form-ajax-submit-onchange', onSubmitChange);
289
261
  }
290
-
291
262
  export default {
292
263
  name: 'form',
293
-
294
264
  create() {
295
265
  const app = this;
296
266
  extend(app, {
@@ -308,40 +278,34 @@ export default {
308
278
  }
309
279
  });
310
280
  },
311
-
312
281
  on: {
313
282
  init() {
314
283
  const app = this;
315
284
  initAjaxForm.call(app);
316
285
  },
317
-
318
286
  tabBeforeRemove(tabEl) {
319
287
  const app = this;
320
288
  $(tabEl).find('.form-store-data').each(formEl => {
321
289
  app.form.storage.destroy(formEl);
322
290
  });
323
291
  },
324
-
325
292
  tabMounted(tabEl) {
326
293
  const app = this;
327
294
  $(tabEl).find('.form-store-data').each(formEl => {
328
295
  app.form.storage.init(formEl);
329
296
  });
330
297
  },
331
-
332
298
  pageBeforeRemove(page) {
333
299
  const app = this;
334
300
  page.$el.find('.form-store-data').each(formEl => {
335
301
  app.form.storage.destroy(formEl);
336
302
  });
337
303
  },
338
-
339
304
  pageInit(page) {
340
305
  const app = this;
341
306
  page.$el.find('.form-store-data').each(formEl => {
342
307
  app.form.storage.init(formEl);
343
308
  });
344
309
  }
345
-
346
310
  }
347
311
  };