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
@@ -1,18 +1,14 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
2
  import $ from '../../shared/dom7.js';
4
3
  import { extend, deleteProps } from '../../shared/utils.js';
5
4
  import Framework7Class from '../../shared/class.js';
6
5
  /** @jsx $jsx */
7
-
8
6
  import $jsx from '../../shared/$jsx.js';
9
-
10
7
  class Messages extends Framework7Class {
11
8
  constructor(app, params) {
12
9
  if (params === void 0) {
13
10
  params = {};
14
11
  }
15
-
16
12
  super(params, [app]);
17
13
  const m = this;
18
14
  const defaults = {
@@ -30,8 +26,9 @@ class Messages extends Framework7Class {
30
26
  sameAvatarMessageRule: undefined,
31
27
  customClassMessageRule: undefined,
32
28
  renderMessage: undefined
33
- }; // Extend defaults with modules params
29
+ };
34
30
 
31
+ // Extend defaults with modules params
35
32
  m.useModulesParams(defaults);
36
33
  m.params = extend(defaults, params);
37
34
  const $el = $(params.el).eq(0);
@@ -45,15 +42,15 @@ class Messages extends Framework7Class {
45
42
  el: $el[0],
46
43
  $pageContentEl,
47
44
  pageContentEl: $pageContentEl[0]
48
- }); // Install Modules
49
-
50
- m.useModules(); // Init
45
+ });
46
+ // Install Modules
47
+ m.useModules();
51
48
 
49
+ // Init
52
50
  m.init();
53
51
  return m;
54
- } // eslint-disable-next-line
55
-
56
-
52
+ }
53
+ // eslint-disable-next-line
57
54
  getMessageData(messageEl) {
58
55
  const $messageEl = $(messageEl);
59
56
  const data = {
@@ -69,32 +66,25 @@ class Messages extends Framework7Class {
69
66
  imageSrc: $messageEl.find('.message-image img').attr('src'),
70
67
  typing: $messageEl.hasClass('message-typing')
71
68
  };
72
-
73
69
  if (data.isTitle) {
74
70
  data.text = $messageEl.html();
75
71
  }
76
-
77
72
  if (data.text && data.textHeader) {
78
73
  data.text = data.text.replace(`<div class="message-text-header">${data.textHeader}</div>`, '');
79
74
  }
80
-
81
75
  if (data.text && data.textFooter) {
82
76
  data.text = data.text.replace(`<div class="message-text-footer">${data.textFooter}</div>`, '');
83
77
  }
84
-
85
78
  let avatar = $messageEl.find('.message-avatar').css('background-image');
86
79
  if (avatar === 'none' || avatar === '') avatar = undefined;
87
-
88
80
  if (avatar && typeof avatar === 'string') {
89
81
  avatar = avatar.replace('url(', '').replace(')', '').replace(/"/g, '').replace(/'/g, '');
90
82
  } else {
91
83
  avatar = undefined;
92
84
  }
93
-
94
85
  data.avatar = avatar;
95
86
  return data;
96
87
  }
97
-
98
88
  getMessagesData() {
99
89
  const m = this;
100
90
  const data = [];
@@ -103,22 +93,18 @@ class Messages extends Framework7Class {
103
93
  });
104
94
  return data;
105
95
  }
106
-
107
96
  renderMessage(messageToRender) {
108
97
  const m = this;
109
98
  const message = extend({
110
99
  type: 'sent',
111
100
  attrs: {}
112
101
  }, messageToRender);
113
-
114
102
  if (m.params.renderMessage) {
115
103
  return m.params.renderMessage.call(m, message);
116
104
  }
117
-
118
105
  if (message.isTitle) {
119
106
  return `<div class="messages-title">${message.text}</div>`;
120
107
  }
121
-
122
108
  return $jsx("div", _extends({
123
109
  class: `message message-${message.type} ${message.isTyping ? 'message-typing' : ''} ${message.cssClass || ''}`
124
110
  }, message.attrs), message.avatar && $jsx("div", {
@@ -150,146 +136,117 @@ class Messages extends Framework7Class {
150
136
  class: "message-footer"
151
137
  }, message.footer)));
152
138
  }
153
-
154
139
  renderMessages(messagesToRender, method) {
155
140
  if (messagesToRender === void 0) {
156
141
  messagesToRender = this.messages;
157
142
  }
158
-
159
143
  if (method === void 0) {
160
144
  method = this.params.newMessagesFirst ? 'prepend' : 'append';
161
145
  }
162
-
163
146
  const m = this;
164
147
  const html = messagesToRender.map(message => m.renderMessage(message)).join('');
165
148
  m.$el[method](html);
166
149
  }
167
-
168
150
  isFirstMessage() {
169
151
  const m = this;
170
152
  if (m.params.firstMessageRule) return m.params.firstMessageRule(...arguments);
171
153
  return false;
172
154
  }
173
-
174
155
  isLastMessage() {
175
156
  const m = this;
176
157
  if (m.params.lastMessageRule) return m.params.lastMessageRule(...arguments);
177
158
  return false;
178
159
  }
179
-
180
160
  isTailMessage() {
181
161
  const m = this;
182
162
  if (m.params.tailMessageRule) return m.params.tailMessageRule(...arguments);
183
163
  return false;
184
164
  }
185
-
186
165
  isSameNameMessage() {
187
166
  const m = this;
188
167
  if (m.params.sameNameMessageRule) return m.params.sameNameMessageRule(...arguments);
189
168
  return false;
190
169
  }
191
-
192
170
  isSameHeaderMessage() {
193
171
  const m = this;
194
172
  if (m.params.sameHeaderMessageRule) return m.params.sameHeaderMessageRule(...arguments);
195
173
  return false;
196
174
  }
197
-
198
175
  isSameFooterMessage() {
199
176
  const m = this;
200
177
  if (m.params.sameFooterMessageRule) return m.params.sameFooterMessageRule(...arguments);
201
178
  return false;
202
179
  }
203
-
204
180
  isSameAvatarMessage() {
205
181
  const m = this;
206
182
  if (m.params.sameAvatarMessageRule) return m.params.sameAvatarMessageRule(...arguments);
207
183
  return false;
208
184
  }
209
-
210
185
  isCustomClassMessage() {
211
186
  const m = this;
212
187
  if (m.params.customClassMessageRule) return m.params.customClassMessageRule(...arguments);
213
188
  return undefined;
214
189
  }
215
-
216
190
  layout() {
217
191
  const m = this;
218
192
  m.$el.find('.message, .messages-title').each((messageEl, index) => {
219
193
  const $messageEl = $(messageEl);
220
-
221
194
  if (!m.messages) {
222
195
  m.messages = m.getMessagesData();
223
196
  }
224
-
225
197
  const classes = [];
226
198
  const message = m.messages[index];
227
199
  const previousMessage = m.messages[index - 1];
228
200
  const nextMessage = m.messages[index + 1];
229
-
230
201
  if (m.isFirstMessage(message, previousMessage, nextMessage)) {
231
202
  classes.push('message-first');
232
203
  }
233
-
234
204
  if (m.isLastMessage(message, previousMessage, nextMessage)) {
235
205
  classes.push('message-last');
236
206
  }
237
-
238
207
  if (m.isTailMessage(message, previousMessage, nextMessage)) {
239
208
  classes.push('message-tail');
240
209
  }
241
-
242
210
  if (m.isSameNameMessage(message, previousMessage, nextMessage)) {
243
211
  classes.push('message-same-name');
244
212
  }
245
-
246
213
  if (m.isSameHeaderMessage(message, previousMessage, nextMessage)) {
247
214
  classes.push('message-same-header');
248
215
  }
249
-
250
216
  if (m.isSameFooterMessage(message, previousMessage, nextMessage)) {
251
217
  classes.push('message-same-footer');
252
218
  }
253
-
254
219
  if (m.isSameAvatarMessage(message, previousMessage, nextMessage)) {
255
220
  classes.push('message-same-avatar');
256
221
  }
257
-
258
222
  let customMessageClasses = m.isCustomClassMessage(message, previousMessage, nextMessage);
259
-
260
223
  if (customMessageClasses && customMessageClasses.length) {
261
224
  if (typeof customMessageClasses === 'string') {
262
225
  customMessageClasses = customMessageClasses.split(' ');
263
226
  }
264
-
265
227
  customMessageClasses.forEach(customClass => {
266
228
  classes.push(customClass);
267
229
  });
268
230
  }
269
-
270
231
  $messageEl.removeClass('message-first message-last message-tail message-same-name message-same-header message-same-footer message-same-avatar');
271
232
  classes.forEach(className => {
272
233
  $messageEl.addClass(className);
273
234
  });
274
235
  });
275
236
  }
276
-
277
237
  clear() {
278
238
  const m = this;
279
239
  m.messages = [];
280
240
  m.$el.html('');
281
241
  }
282
-
283
242
  removeMessage(messageToRemove, layout) {
284
243
  if (layout === void 0) {
285
244
  layout = true;
286
245
  }
287
-
288
- const m = this; // Index or El
289
-
246
+ const m = this;
247
+ // Index or El
290
248
  let index;
291
249
  let $el;
292
-
293
250
  if (typeof messageToRemove === 'number') {
294
251
  index = messageToRemove;
295
252
  $el = m.$el.find('.message, .messages-title').eq(index);
@@ -300,24 +257,19 @@ class Messages extends Framework7Class {
300
257
  $el = $(messageToRemove);
301
258
  index = $el.index();
302
259
  }
303
-
304
260
  if ($el.length === 0) {
305
261
  return m;
306
262
  }
307
-
308
263
  $el.remove();
309
264
  m.messages.splice(index, 1);
310
265
  if (m.params.autoLayout && layout) m.layout();
311
266
  return m;
312
267
  }
313
-
314
268
  removeMessages(messagesToRemove, layout) {
315
269
  if (layout === void 0) {
316
270
  layout = true;
317
271
  }
318
-
319
272
  const m = this;
320
-
321
273
  if (Array.isArray(messagesToRemove)) {
322
274
  const messagesToRemoveEls = [];
323
275
  messagesToRemove.forEach(messageToRemoveIndex => {
@@ -331,41 +283,33 @@ class Messages extends Framework7Class {
331
283
  m.removeMessage(messageToRemove, false);
332
284
  });
333
285
  }
334
-
335
286
  if (m.params.autoLayout && layout) m.layout();
336
287
  return m;
337
288
  }
338
-
339
289
  addMessage() {
340
290
  const m = this;
341
291
  let messageToAdd;
342
292
  let animate;
343
293
  let method;
344
-
345
294
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
346
295
  args[_key] = arguments[_key];
347
296
  }
348
-
349
297
  if (typeof args[1] === 'boolean') {
350
298
  [messageToAdd, animate, method] = args;
351
299
  } else {
352
300
  [messageToAdd, method, animate] = args;
353
301
  }
354
-
355
302
  if (typeof animate === 'undefined') {
356
303
  animate = true;
357
304
  }
358
-
359
305
  if (typeof method === 'undefined') {
360
306
  method = m.params.newMessagesFirst ? 'prepend' : 'append';
361
307
  }
362
-
363
308
  return m.addMessages([messageToAdd], animate, method);
364
309
  }
365
-
366
310
  setScrollData() {
367
- const m = this; // Define scroll positions before new messages added
368
-
311
+ const m = this;
312
+ // Define scroll positions before new messages added
369
313
  const scrollHeightBefore = m.pageContentEl.scrollHeight;
370
314
  const heightBefore = m.pageContentEl.offsetHeight;
371
315
  const scrollBefore = m.pageContentEl.scrollTop;
@@ -380,36 +324,31 @@ class Messages extends Framework7Class {
380
324
  scrollBefore
381
325
  };
382
326
  }
383
-
384
327
  addMessages() {
385
328
  const m = this;
386
329
  let messagesToAdd;
387
330
  let animate;
388
331
  let method;
389
-
390
332
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
391
333
  args[_key2] = arguments[_key2];
392
334
  }
393
-
394
335
  if (typeof args[1] === 'boolean') {
395
336
  [messagesToAdd, animate, method] = args;
396
337
  } else {
397
338
  [messagesToAdd, method, animate] = args;
398
339
  }
399
-
400
340
  if (typeof animate === 'undefined') {
401
341
  animate = true;
402
342
  }
403
-
404
343
  if (typeof method === 'undefined') {
405
344
  method = m.params.newMessagesFirst ? 'prepend' : 'append';
406
345
  }
407
-
408
346
  const {
409
347
  scrollHeightBefore,
410
348
  scrollBefore
411
- } = m.setScrollData(); // Add message to DOM and data
349
+ } = m.setScrollData();
412
350
 
351
+ // Add message to DOM and data
413
352
  let messagesHTML = '';
414
353
  const typingMessage = m.messages.filter(el => el.isTyping)[0];
415
354
  messagesToAdd.forEach(messageToAdd => {
@@ -422,21 +361,17 @@ class Messages extends Framework7Class {
422
361
  } else {
423
362
  m.messages[method === 'append' ? 'push' : 'unshift'](messageToAdd);
424
363
  }
425
-
426
364
  messagesHTML += m.renderMessage(messageToAdd);
427
365
  });
428
366
  const $messagesEls = $(messagesHTML);
429
-
430
367
  if (animate) {
431
368
  if (method === 'append' && !m.params.newMessagesFirst) {
432
369
  $messagesEls.addClass('message-appear-from-bottom');
433
370
  }
434
-
435
371
  if (method === 'prepend' && m.params.newMessagesFirst) {
436
372
  $messagesEls.addClass('message-appear-from-top');
437
373
  }
438
374
  }
439
-
440
375
  if (typingMessage) {
441
376
  if (method === 'append') {
442
377
  $messagesEls.insertBefore(m.$el.find('.message-typing'));
@@ -445,41 +380,33 @@ class Messages extends Framework7Class {
445
380
  }
446
381
  } else {
447
382
  m.$el[method]($messagesEls);
448
- } // Layout
449
-
383
+ }
450
384
 
385
+ // Layout
451
386
  if (m.params.autoLayout) m.layout();
452
-
453
387
  if (method === 'prepend' && !typingMessage) {
454
388
  m.pageContentEl.scrollTop = scrollBefore + (m.pageContentEl.scrollHeight - scrollHeightBefore);
455
389
  }
456
-
457
390
  if (m.params.scrollMessages && (method === 'append' && !m.params.newMessagesFirst || method === 'prepend' && m.params.newMessagesFirst && !typingMessage)) {
458
391
  m.scrollWithEdgeCheck(animate);
459
392
  }
460
-
461
393
  return m;
462
394
  }
463
-
464
395
  showTyping(message) {
465
396
  if (message === void 0) {
466
397
  message = {};
467
398
  }
468
-
469
399
  const m = this;
470
400
  const typingMessage = m.messages.filter(el => el.isTyping)[0];
471
-
472
401
  if (typingMessage) {
473
402
  m.removeMessage(m.messages.indexOf(typingMessage));
474
403
  }
475
-
476
404
  m.addMessage(extend({
477
405
  type: 'received',
478
406
  isTyping: true
479
407
  }, message));
480
408
  return m;
481
409
  }
482
-
483
410
  hideTyping() {
484
411
  const m = this;
485
412
  let typingMessageIndex;
@@ -487,25 +414,20 @@ class Messages extends Framework7Class {
487
414
  m.messages.forEach((message, index) => {
488
415
  if (message.isTyping) typingMessageIndex = index;
489
416
  });
490
-
491
417
  if (typeof typingMessageIndex !== 'undefined') {
492
418
  if (m.$el.find('.message').eq(typingMessageIndex).hasClass('message-typing')) {
493
419
  typingFound = true;
494
420
  m.removeMessage(typingMessageIndex);
495
421
  }
496
422
  }
497
-
498
423
  if (!typingFound) {
499
424
  const $typingMessageEl = m.$el.find('.message-typing');
500
-
501
425
  if ($typingMessageEl.length) {
502
426
  m.removeMessage($typingMessageEl);
503
427
  }
504
428
  }
505
-
506
429
  return m;
507
430
  }
508
-
509
431
  scrollWithEdgeCheck(animate) {
510
432
  const m = this;
511
433
  const {
@@ -513,29 +435,23 @@ class Messages extends Framework7Class {
513
435
  scrollHeightBefore,
514
436
  heightBefore
515
437
  } = m.scrollData;
516
-
517
438
  if (m.params.scrollMessagesOnEdge) {
518
439
  let onEdge = false;
519
-
520
440
  if (m.params.newMessagesFirst && scrollBefore === 0) {
521
441
  onEdge = true;
522
442
  }
523
-
524
443
  if (!m.params.newMessagesFirst && scrollBefore - (scrollHeightBefore - heightBefore) >= -10) {
525
444
  onEdge = true;
526
445
  }
527
-
528
446
  if (onEdge) m.scroll(animate ? undefined : 0);
529
447
  } else {
530
448
  m.scroll(animate ? undefined : 0);
531
449
  }
532
450
  }
533
-
534
451
  scroll(duration, scrollTop) {
535
452
  if (duration === void 0) {
536
453
  duration = 300;
537
454
  }
538
-
539
455
  const m = this;
540
456
  const currentScroll = m.pageContentEl.scrollTop;
541
457
  let newScrollTop;
@@ -546,35 +462,26 @@ class Messages extends Framework7Class {
546
462
  m.$pageContentEl.scrollTop(newScrollTop, duration);
547
463
  return m;
548
464
  }
549
-
550
465
  init() {
551
466
  const m = this;
552
-
553
467
  if (!m.messages || m.messages.length === 0) {
554
468
  m.messages = m.getMessagesData();
555
469
  }
556
-
557
470
  if (m.params.messages && m.params.messages.length) {
558
471
  m.renderMessages();
559
472
  }
560
-
561
473
  if (m.params.autoLayout) m.layout();
562
474
  if (m.params.scrollMessages) m.scroll(0);
563
475
  }
564
-
565
476
  destroy() {
566
477
  const m = this;
567
478
  m.emit('local::beforeDestroy messagesBeforeDestroy', m);
568
479
  m.$el.trigger('messages:beforedestroy');
569
-
570
480
  if (m.$el[0]) {
571
481
  m.$el[0].f7Messages = null;
572
482
  delete m.$el[0].f7Messages;
573
483
  }
574
-
575
484
  deleteProps(m);
576
485
  }
577
-
578
486
  }
579
-
580
487
  export default Messages;
@@ -48,6 +48,7 @@
48
48
  .message-name {
49
49
  margin-left: var(--f7-message-bubble-padding-horizontal);
50
50
  }
51
+
51
52
  .message-bubble {
52
53
  padding-left: calc(var(--f7-message-bubble-padding-horizontal) + 6px);
53
54
  -webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,<svg height='35' viewBox='0 0 96 70' width='48' xmlns='http://www.w3.org/2000/svg'><path d='m96 35c1 7-5 37-42 35-37 2-43-28-42-35-1-7 5-37 42-35 37-2 43 28 42 35z'/></svg>")
@@ -56,6 +57,10 @@
56
57
  .message-image {
57
58
  margin-left: calc(-1 * (var(--f7-message-bubble-padding-horizontal) + 6px));
58
59
  }
60
+ &.message-tail .message-bubble {
61
+ border-radius: var(--f7-message-bubble-border-radius) var(--f7-message-bubble-border-radius)
62
+ var(--f7-message-bubble-border-radius) 0;
63
+ }
59
64
  &.message-tail:not(.message-typing) .message-bubble {
60
65
  -webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,<svg height='35' viewBox='0 0 96 70' width='48' xmlns='http://www.w3.org/2000/svg'><path d='m96 35c1 7-5 37-42 35-37 2-43-28-42-35-1-7 5-37 42-35 37-2 43 28 42 35z'/><path d='m0 70c6-2 12-10 12-19v-16l14 27s-8 8-26 8z'/></svg>")
61
66
  50% 42% 46% 56%;
@@ -79,6 +84,10 @@
79
84
  .message-image {
80
85
  margin-right: calc(-1 * (var(--f7-message-bubble-padding-horizontal) + 6px));
81
86
  }
87
+ &.message-tail .message-bubble {
88
+ border-radius: var(--f7-message-bubble-border-radius) var(--f7-message-bubble-border-radius) 0
89
+ var(--f7-message-bubble-border-radius);
90
+ }
82
91
  &.message-tail .message-bubble {
83
92
  -webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,<svg height='35' viewBox='0 0 96 70' width='48' xmlns='http://www.w3.org/2000/svg'><path d='m84 35c1 7-5 37-42 35-37 2-43-28-42-35-1-7 5-37 42-35 37-2 43 28 42 35z'/><path d='m96 70c-6-2-12-10-12-19v-16l-14 27s8 8 26 8z'/></svg>")
84
93
  50% 56% 46% 42%;
@@ -20,50 +20,85 @@
20
20
  .message-text-footer {
21
21
  margin-top: 4px;
22
22
  }
23
- .message-received,
24
- .message-sent {
25
- &.message-tail .message-bubble {
26
- &:before {
27
- position: absolute;
28
- content: '';
29
- bottom: 0;
30
- width: 0;
31
- height: 0;
32
- }
23
+
24
+ .message-image {
25
+ margin: calc(-1 * var(--f7-message-bubble-padding-vertical))
26
+ calc(-1 * var(--f7-message-bubble-padding-horizontal));
27
+ &,
28
+ img {
29
+ border-radius: var(--f7-message-bubble-border-radius);
33
30
  }
34
31
  }
35
32
  .message-received {
36
33
  margin-left: calc(8px + var(--f7-safe-area-left));
37
- .message-avatar + .message-content {
38
- margin-left: var(--f7-message-bubble-padding-horizontal);
39
- }
40
- &.message-tail .message-bubble {
41
- &:before {
42
- border-left: 8px solid transparent;
43
- border-right: 0 solid transparent;
44
- border-bottom: 8px solid var(--f7-message-received-bg-color);
45
- right: 100%;
34
+ .message-name,
35
+ .message-header,
36
+ .message-footer {
37
+ margin-left: 16px;
38
+ }
39
+ &.message-first:not(.message-last) {
40
+ .message-bubble,
41
+ .message-image,
42
+ .message-image img {
43
+ border-bottom-left-radius: 4px;
46
44
  }
47
45
  }
46
+ &.message-last:not(.message-first) {
47
+ .message-bubble,
48
+ .message-image,
49
+ .message-image img {
50
+ border-top-left-radius: 4px;
51
+ }
52
+ }
53
+ &:not(.message-last):not(.message-first) {
54
+ .message-bubble,
55
+ .message-image,
56
+ .message-image img {
57
+ border-bottom-left-radius: 4px;
58
+ border-top-left-radius: 4px;
59
+ }
60
+ }
61
+ .message-avatar + .message-content {
62
+ margin-left: 8px;
63
+ }
48
64
  }
49
65
  .message-sent {
50
66
  margin-right: calc(8px + var(--f7-safe-area-right));
51
- .message-avatar + .message-content {
52
- margin-right: var(--f7-message-bubble-padding-horizontal);
67
+ .message-name,
68
+ .message-header,
69
+ .message-footer {
70
+ margin-right: 16px;
71
+ }
72
+ &.message-first:not(.message-last) {
73
+ .message-bubble,
74
+ .message-image,
75
+ .message-image img {
76
+ border-bottom-right-radius: 4px;
77
+ }
78
+ }
79
+ &.message-last:not(.message-first) {
80
+ .message-bubble,
81
+ .message-image,
82
+ .message-image img {
83
+ border-top-right-radius: 4px;
84
+ }
53
85
  }
54
- &.message-tail .message-bubble {
55
- &:before {
56
- border-left: 0 solid transparent;
57
- border-right: 8px solid transparent;
58
- border-bottom: 8px solid var(--f7-message-sent-bg-color, var(--f7-theme-color));
59
- left: 100%;
86
+ &:not(.message-last):not(.message-first) {
87
+ .message-bubble,
88
+ .message-image,
89
+ .message-image img {
90
+ border-bottom-right-radius: 4px;
91
+ border-top-right-radius: 4px;
60
92
  }
61
93
  }
94
+ .message-avatar + .message-content {
95
+ margin-right: var(--f7-message-bubble-padding-horizontal);
96
+ }
62
97
  }
63
98
 
64
99
  // Rules
65
100
  .message + .message:not(.message-first) {
66
- margin-top: 8px;
101
+ margin-top: 2px;
67
102
  }
68
103
 
69
104
  // Typing