framework7 7.0.8 → 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
@@ -3,27 +3,21 @@ import $ from '../../shared/dom7.js';
3
3
  import { extend, deleteProps } from '../../shared/utils.js';
4
4
  import Framework7Class from '../../shared/class.js';
5
5
  import { getDevice } from '../../shared/get-device.js';
6
-
7
6
  class VirtualList extends Framework7Class {
8
7
  constructor(app, params) {
9
8
  if (params === void 0) {
10
9
  params = {};
11
10
  }
12
-
13
11
  super(params, [app]);
14
12
  const vl = this;
15
13
  const device = getDevice();
16
14
  const document = getDocument();
17
15
  let defaultHeight;
18
-
19
16
  if (app.theme === 'md') {
20
17
  defaultHeight = 48;
21
18
  } else if (app.theme === 'ios') {
22
19
  defaultHeight = 44;
23
- } else if (app.theme === 'aurora') {
24
- defaultHeight = 38;
25
20
  }
26
-
27
21
  const defaults = {
28
22
  cols: 1,
29
23
  height: defaultHeight,
@@ -37,7 +31,6 @@ class VirtualList extends Framework7Class {
37
31
  ul: null,
38
32
  createUl: true,
39
33
  scrollableParentEl: undefined,
40
-
41
34
  renderItem(item) {
42
35
  return `
43
36
  <li>
@@ -49,60 +42,51 @@ class VirtualList extends Framework7Class {
49
42
  </li>
50
43
  `.trim();
51
44
  },
52
-
53
45
  on: {}
54
- }; // Extend defaults with modules params
46
+ };
55
47
 
48
+ // Extend defaults with modules params
56
49
  vl.useModulesParams(defaults);
57
50
  vl.params = extend(defaults, params);
58
-
59
51
  if (vl.params.height === undefined || !vl.params.height) {
60
52
  vl.params.height = defaultHeight;
61
53
  }
62
-
63
54
  vl.$el = $(params.el);
64
55
  vl.el = vl.$el[0];
65
56
  if (vl.$el.length === 0) return undefined;
66
57
  vl.$el[0].f7VirtualList = vl;
67
58
  vl.items = vl.params.items;
68
-
69
59
  if (vl.params.showFilteredItemsOnly) {
70
60
  vl.filteredItems = [];
71
61
  }
72
-
73
62
  if (vl.params.renderItem) {
74
63
  vl.renderItem = vl.params.renderItem;
75
64
  }
76
-
77
65
  vl.$pageContentEl = vl.$el.parents('.page-content');
78
66
  vl.pageContentEl = vl.$pageContentEl[0];
79
67
  vl.$scrollableParentEl = vl.params.scrollableParentEl ? $(vl.params.scrollableParentEl).eq(0) : vl.$pageContentEl;
80
-
81
68
  if (!vl.$scrollableParentEl.length && vl.$pageContentEl.length) {
82
69
  vl.$scrollableParentEl = vl.$pageContentEl;
83
70
  }
71
+ vl.scrollableParentEl = vl.$scrollableParentEl[0];
84
72
 
85
- vl.scrollableParentEl = vl.$scrollableParentEl[0]; // Bad scroll
86
-
73
+ // Bad scroll
87
74
  if (typeof vl.params.updatableScroll !== 'undefined') {
88
75
  vl.updatableScroll = vl.params.updatableScroll;
89
76
  } else {
90
77
  vl.updatableScroll = true;
91
-
92
78
  if (device.ios && device.osVersion.split('.')[0] < 8) {
93
79
  vl.updatableScroll = false;
94
80
  }
95
- } // Append <ul>
96
-
81
+ }
97
82
 
83
+ // Append <ul>
98
84
  const ul = vl.params.ul;
99
85
  vl.$ul = ul ? $(vl.params.ul) : vl.$el.children('ul');
100
-
101
86
  if (vl.$ul.length === 0 && vl.params.createUl) {
102
87
  vl.$el.append('<ul></ul>');
103
88
  vl.$ul = vl.$el.children('ul');
104
89
  }
105
-
106
90
  vl.ul = vl.$ul[0];
107
91
  let $itemsWrapEl;
108
92
  if (!vl.ul && !vl.params.createUl) $itemsWrapEl = vl.$el;else $itemsWrapEl = vl.$ul;
@@ -111,7 +95,6 @@ class VirtualList extends Framework7Class {
111
95
  itemsWrapEl: $itemsWrapEl[0],
112
96
  // DOM cached items
113
97
  domCache: {},
114
- displayDomCache: {},
115
98
  // Temporary DOM Element
116
99
  tempDomElement: document.createElement('ul'),
117
100
  // Last repain position
@@ -128,17 +111,18 @@ class VirtualList extends Framework7Class {
128
111
  listHeight: undefined,
129
112
  dynamicHeight: typeof vl.params.height === 'function',
130
113
  autoHeight: vl.params.height === 'auto'
131
- }); // Install Modules
114
+ });
132
115
 
133
- vl.useModules(); // Attach events
116
+ // Install Modules
117
+ vl.useModules();
134
118
 
119
+ // Attach events
135
120
  const handleScrollBound = vl.handleScroll.bind(vl);
136
121
  const handleResizeBound = vl.handleResize.bind(vl);
137
122
  let $pageEl;
138
123
  let $tabEl;
139
124
  let $panelEl;
140
125
  let $popupEl;
141
-
142
126
  vl.attachEvents = function attachEvents() {
143
127
  $pageEl = vl.$el.parents('.page').eq(0);
144
128
  $tabEl = vl.$el.parents('.tab').filter(tabEl => {
@@ -153,7 +137,6 @@ class VirtualList extends Framework7Class {
153
137
  if ($popupEl.length) $popupEl.on('popup:open', handleResizeBound);
154
138
  app.on('resize', handleResizeBound);
155
139
  };
156
-
157
140
  vl.detachEvents = function attachEvents() {
158
141
  vl.$scrollableParentEl.off('scroll', handleScrollBound);
159
142
  if ($pageEl.length) $pageEl.off('page:reinit', handleResizeBound);
@@ -161,25 +144,20 @@ class VirtualList extends Framework7Class {
161
144
  if ($panelEl.length) $panelEl.off('panel:open', handleResizeBound);
162
145
  if ($popupEl.length) $popupEl.off('popup:open', handleResizeBound);
163
146
  app.off('resize', handleResizeBound);
164
- }; // Init
165
-
166
-
147
+ };
148
+ // Init
167
149
  vl.init();
168
150
  return vl;
169
151
  }
170
-
171
152
  setListSize(autoHeightRerender) {
172
153
  const vl = this;
173
154
  const items = vl.filteredItems || vl.items;
174
-
175
155
  if (!autoHeightRerender) {
176
156
  vl.pageHeight = vl.$scrollableParentEl[0].offsetHeight;
177
157
  }
178
-
179
158
  if (vl.dynamicHeight) {
180
159
  vl.listHeight = 0;
181
160
  vl.heights = [];
182
-
183
161
  for (let i = 0; i < items.length; i += 1) {
184
162
  const itemHeight = vl.params.height(items[i]);
185
163
  vl.listHeight += itemHeight;
@@ -193,21 +171,17 @@ class VirtualList extends Framework7Class {
193
171
  vl.$itemsWrapEl.find(`[data-virtual-list-index]`).forEach(el => {
194
172
  renderedItems[parseInt(el.getAttribute('data-virtual-list-index'), 10)] = el;
195
173
  });
196
-
197
174
  for (let i = 0; i < items.length; i += 1) {
198
175
  const renderedItem = renderedItems[i];
199
-
200
176
  if (renderedItem) {
201
177
  if (!vl.heightsCalculated.includes(i)) {
202
178
  vl.heights[i] = renderedItem.offsetHeight;
203
179
  vl.heightsCalculated.push(i);
204
180
  }
205
181
  }
206
-
207
182
  if (typeof vl.heights[i] === 'undefined') {
208
183
  vl.heights[i] = 40;
209
184
  }
210
-
211
185
  vl.listHeight += vl.heights[i];
212
186
  }
213
187
  } else {
@@ -218,80 +192,65 @@ class VirtualList extends Framework7Class {
218
192
  vl.rowsToRender = vl.rowsPerScreen + vl.rowsBefore + vl.rowsAfter;
219
193
  vl.maxBufferHeight = vl.rowsBefore / 2 * vl.params.height;
220
194
  }
221
-
222
195
  if (vl.updatableScroll || vl.params.setListHeight) {
223
196
  vl.$itemsWrapEl.css({
224
197
  height: `${vl.listHeight}px`
225
198
  });
226
199
  }
227
200
  }
228
-
229
201
  render(force, forceScrollTop) {
230
202
  const vl = this;
231
203
  if (force) vl.lastRepaintY = null;
232
204
  let scrollTop = -(vl.$el[0].getBoundingClientRect().top - vl.$scrollableParentEl[0].getBoundingClientRect().top);
233
205
  if (typeof forceScrollTop !== 'undefined') scrollTop = forceScrollTop;
234
-
235
206
  if (vl.lastRepaintY === null || Math.abs(scrollTop - vl.lastRepaintY) > vl.maxBufferHeight || !vl.updatableScroll && vl.$scrollableParentEl[0].scrollTop + vl.pageHeight >= vl.$scrollableParentEl[0].scrollHeight) {
236
207
  vl.lastRepaintY = scrollTop;
237
208
  } else {
238
209
  return;
239
210
  }
240
-
241
211
  const items = vl.filteredItems || vl.items;
242
212
  let fromIndex;
243
213
  let toIndex;
244
214
  let heightBeforeFirstItem = 0;
245
215
  let heightBeforeLastItem = 0;
246
-
247
216
  if (vl.dynamicHeight || vl.autoHeight) {
248
217
  let itemTop = 0;
249
218
  let itemHeight;
250
219
  vl.maxBufferHeight = vl.pageHeight;
251
-
252
220
  for (let j = 0; j < vl.heights.length; j += 1) {
253
221
  itemHeight = vl.heights[j];
254
-
255
222
  if (typeof fromIndex === 'undefined') {
256
223
  if (itemTop + itemHeight >= scrollTop - vl.pageHeight * 2 * vl.params.dynamicHeightBufferSize) fromIndex = j;else heightBeforeFirstItem += itemHeight;
257
224
  }
258
-
259
225
  if (typeof toIndex === 'undefined') {
260
226
  if (itemTop + itemHeight >= scrollTop + vl.pageHeight * 2 * vl.params.dynamicHeightBufferSize || j === vl.heights.length - 1) toIndex = j + 1;
261
227
  heightBeforeLastItem += itemHeight;
262
228
  }
263
-
264
229
  itemTop += itemHeight;
265
230
  }
266
-
267
231
  toIndex = Math.min(toIndex, items.length);
268
232
  } else {
269
233
  fromIndex = (parseInt(scrollTop / vl.params.height, 10) - vl.rowsBefore) * vl.params.cols;
270
-
271
234
  if (fromIndex < 0) {
272
235
  fromIndex = 0;
273
236
  }
274
-
275
237
  toIndex = Math.min(fromIndex + vl.rowsToRender * vl.params.cols, items.length);
276
238
  }
277
-
278
239
  let topPosition;
279
240
  const renderExternalItems = [];
280
241
  vl.reachEnd = false;
281
242
  let i;
282
-
283
243
  for (i = fromIndex; i < toIndex; i += 1) {
284
- let itemEl; // Define real item index
285
-
244
+ let itemEl;
245
+ // Define real item index
286
246
  const index = vl.items.indexOf(items[i]);
287
247
  if (i === fromIndex) vl.currentFromIndex = index;
288
248
  if (i === toIndex - 1) vl.currentToIndex = index;
289
-
290
249
  if (vl.filteredItems) {
291
250
  if (vl.items[index] === vl.filteredItems[vl.filteredItems.length - 1]) vl.reachEnd = true;
292
- } else if (index === vl.items.length - 1) vl.reachEnd = true; // Find items
293
-
251
+ } else if (index === vl.items.length - 1) vl.reachEnd = true;
294
252
 
253
+ // Find items
295
254
  if (vl.params.renderExternal) {
296
255
  renderExternalItems.push(items[i]);
297
256
  } else if (vl.domCache[index]) {
@@ -303,13 +262,12 @@ class VirtualList extends Framework7Class {
303
262
  } else {
304
263
  vl.tempDomElement.innerHTML = items[i].toString().trim();
305
264
  }
306
-
307
265
  itemEl = vl.tempDomElement.childNodes[0];
308
266
  if (vl.params.cache) vl.domCache[index] = itemEl;
309
267
  itemEl.f7VirtualListIndex = index;
310
- } // Set item top position
311
-
268
+ }
312
269
 
270
+ // Set item top position
313
271
  if (i === fromIndex) {
314
272
  if (vl.dynamicHeight || vl.autoHeight) {
315
273
  topPosition = heightBeforeFirstItem;
@@ -317,26 +275,27 @@ class VirtualList extends Framework7Class {
317
275
  topPosition = i * vl.params.height / vl.params.cols;
318
276
  }
319
277
  }
320
-
321
278
  if (!vl.params.renderExternal) {
322
- itemEl.style.top = `${topPosition}px`; // Before item insert
279
+ itemEl.style.top = `${topPosition}px`;
323
280
 
324
- vl.emit('local::itemBeforeInsert vlItemBeforeInsert', vl, itemEl, items[i]); // Append item to fragment
281
+ // Before item insert
282
+ vl.emit('local::itemBeforeInsert vlItemBeforeInsert', vl, itemEl, items[i]);
325
283
 
284
+ // Append item to fragment
326
285
  vl.fragment.appendChild(itemEl);
327
286
  }
328
- } // Update list height with not updatable scroll
329
-
287
+ }
330
288
 
289
+ // Update list height with not updatable scroll
331
290
  if (!vl.updatableScroll) {
332
291
  if (vl.dynamicHeight || vl.autoHeight) {
333
292
  vl.itemsWrapEl.style.height = `${heightBeforeLastItem}px`;
334
293
  } else {
335
294
  vl.itemsWrapEl.style.height = `${i * vl.params.height / vl.params.cols}px`;
336
295
  }
337
- } // Update list html
338
-
296
+ }
339
297
 
298
+ // Update list html
340
299
  if (vl.params.renderExternal) {
341
300
  if (items && items.length === 0) {
342
301
  vl.reachEnd = true;
@@ -345,21 +304,17 @@ class VirtualList extends Framework7Class {
345
304
  vl.emit('local::beforeClear vlBeforeClear', vl, vl.fragment);
346
305
  vl.itemsWrapEl.innerHTML = '';
347
306
  vl.emit('local::itemsBeforeInsert vlItemsBeforeInsert', vl, vl.fragment);
348
-
349
307
  if (items && items.length === 0) {
350
308
  vl.reachEnd = true;
351
309
  if (vl.params.emptyTemplate) vl.itemsWrapEl.innerHTML = vl.params.emptyTemplate;
352
310
  } else {
353
311
  vl.itemsWrapEl.appendChild(vl.fragment);
354
312
  }
355
-
356
313
  vl.emit('local::itemsAfterInsert vlItemsAfterInsert', vl, vl.fragment);
357
314
  }
358
-
359
315
  if (typeof forceScrollTop !== 'undefined' && force) {
360
316
  vl.$scrollableParentEl.scrollTop(forceScrollTop, 0);
361
317
  }
362
-
363
318
  if (vl.params.renderExternal) {
364
319
  vl.params.renderExternal(vl, {
365
320
  fromIndex,
@@ -369,52 +324,42 @@ class VirtualList extends Framework7Class {
369
324
  items: renderExternalItems
370
325
  });
371
326
  }
372
-
373
327
  if (vl.autoHeight) {
374
328
  requestAnimationFrame(() => {
375
329
  vl.setListSize(true);
376
330
  });
377
331
  }
378
- } // Filter
379
-
332
+ }
380
333
 
334
+ // Filter
381
335
  filterItems(indexes, resetScrollTop) {
382
336
  if (resetScrollTop === void 0) {
383
337
  resetScrollTop = true;
384
338
  }
385
-
386
339
  const vl = this;
387
340
  vl.filteredItems = [];
388
-
389
341
  for (let i = 0; i < indexes.length; i += 1) {
390
342
  vl.filteredItems.push(vl.items[indexes[i]]);
391
343
  }
392
-
393
344
  if (resetScrollTop) {
394
345
  vl.$scrollableParentEl[0].scrollTop = 0;
395
346
  }
396
-
397
347
  vl.update();
398
348
  }
399
-
400
349
  resetFilter() {
401
350
  const vl = this;
402
-
403
351
  if (vl.params.showFilteredItemsOnly) {
404
352
  vl.filteredItems = [];
405
353
  } else {
406
354
  vl.filteredItems = null;
407
355
  delete vl.filteredItems;
408
356
  }
409
-
410
357
  vl.update();
411
358
  }
412
-
413
359
  scrollToItem(index) {
414
360
  const vl = this;
415
361
  if (index > vl.items.length) return false;
416
362
  let itemTop = 0;
417
-
418
363
  if (vl.dynamicHeight || vl.autoHeight) {
419
364
  for (let i = 0; i < index; i += 1) {
420
365
  itemTop += vl.heights[i];
@@ -422,50 +367,43 @@ class VirtualList extends Framework7Class {
422
367
  } else {
423
368
  itemTop = index * vl.params.height;
424
369
  }
425
-
426
370
  const listTop = vl.$el[0].offsetTop;
427
371
  vl.render(true, listTop + itemTop - parseInt(vl.$scrollableParentEl.css('padding-top'), 10));
428
372
  return true;
429
373
  }
430
-
431
374
  handleScroll() {
432
375
  const vl = this;
433
376
  vl.render();
434
- } // Handle resize event
435
-
377
+ }
436
378
 
379
+ // Handle resize event
437
380
  isVisible() {
438
381
  const vl = this;
439
382
  return !!(vl.el.offsetWidth || vl.el.offsetHeight || vl.el.getClientRects().length);
440
383
  }
441
-
442
384
  handleResize() {
443
385
  const vl = this;
444
-
445
386
  if (vl.isVisible()) {
446
387
  vl.heightsCalculated = [];
447
388
  vl.setListSize();
448
389
  vl.render(true);
449
390
  }
450
- } // Append
451
-
391
+ }
452
392
 
393
+ // Append
453
394
  appendItems(items) {
454
395
  const vl = this;
455
-
456
396
  for (let i = 0; i < items.length; i += 1) {
457
397
  vl.items.push(items[i]);
458
398
  }
459
-
460
399
  vl.update();
461
400
  }
462
-
463
401
  appendItem(item) {
464
402
  const vl = this;
465
403
  vl.appendItems([item]);
466
- } // Replace
467
-
404
+ }
468
405
 
406
+ // Replace
469
407
  replaceAllItems(items) {
470
408
  const vl = this;
471
409
  vl.items = items;
@@ -473,22 +411,19 @@ class VirtualList extends Framework7Class {
473
411
  vl.domCache = {};
474
412
  vl.update();
475
413
  }
476
-
477
414
  replaceItem(index, item) {
478
415
  const vl = this;
479
416
  vl.items[index] = item;
480
417
  if (vl.params.cache) delete vl.domCache[index];
481
418
  vl.update();
482
- } // Prepend
483
-
419
+ }
484
420
 
421
+ // Prepend
485
422
  prependItems(items) {
486
423
  const vl = this;
487
-
488
424
  for (let i = items.length - 1; i >= 0; i -= 1) {
489
425
  vl.items.unshift(items[i]);
490
426
  }
491
-
492
427
  if (vl.params.cache) {
493
428
  const newCache = {};
494
429
  Object.keys(vl.domCache).forEach(cached => {
@@ -496,24 +431,21 @@ class VirtualList extends Framework7Class {
496
431
  });
497
432
  vl.domCache = newCache;
498
433
  }
499
-
500
434
  vl.update();
501
435
  }
502
-
503
436
  prependItem(item) {
504
437
  const vl = this;
505
438
  vl.prependItems([item]);
506
- } // Move
507
-
439
+ }
508
440
 
441
+ // Move
509
442
  moveItem(from, to) {
510
443
  const vl = this;
511
444
  const fromIndex = from;
512
445
  let toIndex = to;
513
- if (fromIndex === toIndex) return; // remove item from array
514
-
446
+ if (fromIndex === toIndex) return;
447
+ // remove item from array
515
448
  const item = vl.items.splice(fromIndex, 1)[0];
516
-
517
449
  if (toIndex >= vl.items.length) {
518
450
  // Add item to the end
519
451
  vl.items.push(item);
@@ -521,9 +453,8 @@ class VirtualList extends Framework7Class {
521
453
  } else {
522
454
  // Add item to new index
523
455
  vl.items.splice(toIndex, 0, item);
524
- } // Update cache
525
-
526
-
456
+ }
457
+ // Update cache
527
458
  if (vl.params.cache) {
528
459
  const newCache = {};
529
460
  Object.keys(vl.domCache).forEach(cached => {
@@ -537,71 +468,61 @@ class VirtualList extends Framework7Class {
537
468
  });
538
469
  vl.domCache = newCache;
539
470
  }
540
-
541
471
  vl.update();
542
- } // Insert before
543
-
472
+ }
544
473
 
474
+ // Insert before
545
475
  insertItemBefore(index, item) {
546
476
  const vl = this;
547
-
548
477
  if (index === 0) {
549
478
  vl.prependItem(item);
550
479
  return;
551
480
  }
552
-
553
481
  if (index >= vl.items.length) {
554
482
  vl.appendItem(item);
555
483
  return;
556
484
  }
557
-
558
- vl.items.splice(index, 0, item); // Update cache
559
-
485
+ vl.items.splice(index, 0, item);
486
+ // Update cache
560
487
  if (vl.params.cache) {
561
488
  const newCache = {};
562
489
  Object.keys(vl.domCache).forEach(cached => {
563
490
  const cachedIndex = parseInt(cached, 10);
564
-
565
491
  if (cachedIndex >= index) {
566
492
  newCache[cachedIndex + 1] = vl.domCache[cachedIndex];
567
493
  }
568
494
  });
569
495
  vl.domCache = newCache;
570
496
  }
571
-
572
497
  vl.update();
573
- } // Delete
574
-
498
+ }
575
499
 
500
+ // Delete
576
501
  deleteItems(indexes) {
577
502
  const vl = this;
578
503
  let prevIndex;
579
504
  let indexShift = 0;
580
-
581
505
  for (let i = 0; i < indexes.length; i += 1) {
582
506
  let index = indexes[i];
583
-
584
507
  if (typeof prevIndex !== 'undefined') {
585
508
  if (index > prevIndex) {
586
509
  indexShift = -i;
587
510
  }
588
511
  }
589
-
590
512
  index += indexShift;
591
- prevIndex = indexes[i]; // Delete item
592
-
593
- const deletedItem = vl.items.splice(index, 1)[0]; // Delete from filtered
513
+ prevIndex = indexes[i];
514
+ // Delete item
515
+ const deletedItem = vl.items.splice(index, 1)[0];
594
516
 
517
+ // Delete from filtered
595
518
  if (vl.filteredItems && vl.filteredItems.indexOf(deletedItem) >= 0) {
596
519
  vl.filteredItems.splice(vl.filteredItems.indexOf(deletedItem), 1);
597
- } // Update cache
598
-
599
-
520
+ }
521
+ // Update cache
600
522
  if (vl.params.cache) {
601
523
  const newCache = {};
602
524
  Object.keys(vl.domCache).forEach(cached => {
603
525
  const cachedIndex = parseInt(cached, 10);
604
-
605
526
  if (cachedIndex === index) {
606
527
  delete vl.domCache[index];
607
528
  } else if (parseInt(cached, 10) > index) {
@@ -613,10 +534,8 @@ class VirtualList extends Framework7Class {
613
534
  vl.domCache = newCache;
614
535
  }
615
536
  }
616
-
617
537
  vl.update();
618
538
  }
619
-
620
539
  deleteAllItems() {
621
540
  const vl = this;
622
541
  vl.items = [];
@@ -624,38 +543,33 @@ class VirtualList extends Framework7Class {
624
543
  if (vl.params.cache) vl.domCache = {};
625
544
  vl.update();
626
545
  }
627
-
628
546
  deleteItem(index) {
629
547
  const vl = this;
630
548
  vl.deleteItems([index]);
631
- } // Clear cache
632
-
549
+ }
633
550
 
551
+ // Clear cache
634
552
  clearCache() {
635
553
  const vl = this;
636
554
  vl.domCache = {};
637
- } // Update Virtual List
638
-
555
+ }
639
556
 
557
+ // Update Virtual List
640
558
  update(deleteCache) {
641
559
  const vl = this;
642
-
643
560
  if (deleteCache && vl.params.cache) {
644
561
  vl.domCache = {};
645
562
  }
646
-
647
563
  vl.heightsCalculated = [];
648
564
  vl.setListSize();
649
565
  vl.render(true);
650
566
  }
651
-
652
567
  init() {
653
568
  const vl = this;
654
569
  vl.attachEvents();
655
570
  vl.setListSize();
656
571
  vl.render();
657
572
  }
658
-
659
573
  destroy() {
660
574
  let vl = this;
661
575
  vl.detachEvents();
@@ -664,7 +578,5 @@ class VirtualList extends Framework7Class {
664
578
  deleteProps(vl);
665
579
  vl = null;
666
580
  }
667
-
668
581
  }
669
-
670
582
  export default VirtualList;
@@ -84,7 +84,7 @@ export namespace VirtualList {
84
84
  rowsAfter?: number;
85
85
  /** Number of items per row. Doesn't compatible when using Virtual List with dynamic height (default 1) */
86
86
  cols?: number;
87
- /** If number - list item height in px. If function then function should return item height. If "auto" - will automatically calculate each items heights. By default equals to 44 for iOS theme, 48 for MD theme, and 38 for Aurora theme */
87
+ /** If number - list item height in px. If function then function should return item height. If "auto" - will automatically calculate each items heights. By default equals to 44 for iOS theme, 48 for MD theme */
88
88
  height?: number | Function | string;
89
89
  /** This optional function allows to use custom function to render item HTML. It could be used instead of template parameter */
90
90
  renderItem?(item: any): string;
@@ -5,7 +5,6 @@ export default {
5
5
  static: {
6
6
  VirtualList
7
7
  },
8
-
9
8
  create() {
10
9
  const app = this;
11
10
  app.virtualList = ConstructorMethods({
@@ -15,5 +14,4 @@ export default {
15
14
  domProp: 'f7VirtualList'
16
15
  });
17
16
  }
18
-
19
17
  };