framework7 7.1.5 → 8.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (603) hide show
  1. package/components/accordion/accordion.js +2 -16
  2. package/components/accordion/accordion.less +0 -3
  3. package/components/actions/actions-class.js +13 -58
  4. package/components/actions/actions-ios.less +42 -0
  5. package/components/actions/actions-md.less +12 -0
  6. package/components/actions/actions-rtl.css +1 -1
  7. package/components/actions/actions-vars.less +17 -42
  8. package/components/actions/actions.css +1 -1
  9. package/components/actions/actions.d.ts +2 -2
  10. package/components/actions/actions.js +0 -4
  11. package/components/actions/actions.less +5 -35
  12. package/components/app/app-class.d.ts +14 -12
  13. package/components/app/app-class.js +93 -75
  14. package/components/app/app-ios.less +0 -2
  15. package/components/app/app-md.less +0 -2
  16. package/components/app/app-vars.less +13 -96
  17. package/components/app/app.less +1 -4
  18. package/components/app/load-module.js +17 -36
  19. package/components/area-chart/area-chart-class.js +8 -64
  20. package/components/area-chart/area-chart.js +0 -3
  21. package/components/area-chart/area-chart.less +0 -3
  22. package/components/autocomplete/autocomplete-class.js +30 -175
  23. package/components/autocomplete/autocomplete-ios.less +0 -8
  24. package/components/autocomplete/autocomplete-rtl.css +1 -1
  25. package/components/autocomplete/autocomplete-vars.less +8 -22
  26. package/components/autocomplete/autocomplete.css +1 -1
  27. package/components/autocomplete/autocomplete.d.ts +1 -3
  28. package/components/autocomplete/autocomplete.js +1 -6
  29. package/components/autocomplete/autocomplete.less +6 -18
  30. package/components/badge/badge-vars.less +3 -6
  31. package/components/badge/badge.less +1 -3
  32. package/components/block/block-vars.less +25 -52
  33. package/components/block/block.less +37 -12
  34. package/components/breadcrumbs/breadcrumbs-rtl.css +1 -1
  35. package/components/breadcrumbs/breadcrumbs-vars.less +31 -15
  36. package/components/breadcrumbs/breadcrumbs.css +1 -1
  37. package/components/breadcrumbs/breadcrumbs.js +0 -2
  38. package/components/breadcrumbs/breadcrumbs.less +4 -10
  39. package/components/button/button-vars.less +42 -43
  40. package/components/button/button.less +24 -26
  41. package/components/calendar/calendar-class.js +81 -401
  42. package/components/calendar/calendar-rtl.css +1 -1
  43. package/components/calendar/calendar-vars.less +32 -46
  44. package/components/calendar/calendar.css +1 -1
  45. package/components/calendar/calendar.js +6 -4
  46. package/components/calendar/calendar.less +10 -21
  47. package/components/card/card-rtl.css +1 -1
  48. package/components/card/card-vars.less +41 -44
  49. package/components/card/card.css +1 -1
  50. package/components/card/card.js +0 -108
  51. package/components/card/card.less +18 -24
  52. package/components/checkbox/checkbox-rtl.css +1 -1
  53. package/components/checkbox/checkbox-vars.less +0 -8
  54. package/components/checkbox/checkbox.css +1 -1
  55. package/components/checkbox/checkbox.less +32 -3
  56. package/components/chip/chip-ios.less +3 -0
  57. package/components/chip/chip-md.less +4 -3
  58. package/components/chip/chip-rtl.css +1 -1
  59. package/components/chip/chip-vars.less +17 -20
  60. package/components/chip/chip.css +1 -1
  61. package/components/chip/chip.less +16 -21
  62. package/components/color-picker/color-picker-class.js +27 -158
  63. package/components/color-picker/color-picker-rtl.css +1 -1
  64. package/components/color-picker/color-picker.css +1 -1
  65. package/components/color-picker/color-picker.js +0 -4
  66. package/components/color-picker/color-picker.less +18 -8
  67. package/components/color-picker/modules/alpha-slider.js +0 -12
  68. package/components/color-picker/modules/brightness-slider.js +0 -8
  69. package/components/color-picker/modules/current-color.js +0 -2
  70. package/components/color-picker/modules/hex.js +0 -12
  71. package/components/color-picker/modules/hs-spectrum.js +0 -20
  72. package/components/color-picker/modules/hsb-sliders.js +0 -18
  73. package/components/color-picker/modules/hue-slider.js +0 -7
  74. package/components/color-picker/modules/initial-current-colors.js +0 -7
  75. package/components/color-picker/modules/palette.js +2 -10
  76. package/components/color-picker/modules/rgb-bars.js +0 -17
  77. package/components/color-picker/modules/rgb-sliders.js +0 -17
  78. package/components/color-picker/modules/sb-spectrum.js +0 -20
  79. package/components/color-picker/modules/wheel.js +0 -28
  80. package/components/contacts-list/contacts-list-md.less +4 -3
  81. package/components/contacts-list/contacts-list-rtl.css +1 -1
  82. package/components/contacts-list/contacts-list-vars.less +3 -15
  83. package/components/contacts-list/contacts-list.css +1 -1
  84. package/components/contacts-list/contacts-list.less +0 -3
  85. package/components/data-table/data-table-class.js +10 -32
  86. package/components/data-table/data-table-rtl.css +1 -1
  87. package/components/data-table/data-table-vars.less +6 -39
  88. package/components/data-table/data-table.css +1 -1
  89. package/components/data-table/data-table.js +0 -8
  90. package/components/data-table/data-table.less +0 -3
  91. package/components/dialog/dialog-class.js +7 -41
  92. package/components/dialog/dialog-ios.less +0 -3
  93. package/components/dialog/dialog-md.less +9 -9
  94. package/components/dialog/dialog-rtl.css +1 -1
  95. package/components/dialog/dialog-vars.less +25 -70
  96. package/components/dialog/dialog.css +1 -1
  97. package/components/dialog/dialog.d.ts +2 -2
  98. package/components/dialog/dialog.js +12 -48
  99. package/components/dialog/dialog.less +8 -4
  100. package/components/fab/fab-rtl.css +1 -1
  101. package/components/fab/fab-vars.less +20 -14
  102. package/components/fab/fab.css +1 -1
  103. package/components/fab/fab.js +0 -21
  104. package/components/fab/fab.less +50 -53
  105. package/components/form/form.d.ts +4 -4
  106. package/components/form/form.js +58 -94
  107. package/components/form/form.less +0 -3
  108. package/components/gauge/gauge-class.js +4 -20
  109. package/components/gauge/gauge.js +0 -9
  110. package/components/gauge/gauge.less +0 -3
  111. package/components/grid/grid-rtl.css +1 -1
  112. package/components/grid/grid-vars.less +0 -7
  113. package/components/grid/grid.css +1 -1
  114. package/components/grid/grid.d.ts +2 -8
  115. package/components/grid/grid.js +1 -225
  116. package/components/grid/grid.less +54 -184
  117. package/components/icon/icon.less +0 -3
  118. package/components/infinite-scroll/infinite-scroll-rtl.css +1 -1
  119. package/components/infinite-scroll/infinite-scroll.css +1 -1
  120. package/components/infinite-scroll/infinite-scroll.js +0 -16
  121. package/components/infinite-scroll/infinite-scroll.less +0 -3
  122. package/components/input/input-ios.less +49 -41
  123. package/components/input/input-md.less +87 -19
  124. package/components/input/input-rtl.css +1 -1
  125. package/components/input/input-vars.less +26 -60
  126. package/components/input/input.css +1 -1
  127. package/components/input/input.js +8 -67
  128. package/components/input/input.less +67 -153
  129. package/components/link/link-vars.less +0 -5
  130. package/components/link/link.less +3 -3
  131. package/components/list/list-md.less +0 -7
  132. package/components/list/list-vars.less +59 -108
  133. package/components/list/list.less +122 -90
  134. package/components/list-index/list-index-class.js +12 -69
  135. package/components/list-index/list-index-rtl.css +1 -1
  136. package/components/list-index/list-index-vars.less +0 -7
  137. package/components/list-index/list-index.css +1 -1
  138. package/components/list-index/list-index.d.ts +1 -3
  139. package/components/list-index/list-index.js +0 -8
  140. package/components/list-index/list-index.less +4 -7
  141. package/components/login-screen/login-screen-class.js +4 -9
  142. package/components/login-screen/login-screen-rtl.css +1 -1
  143. package/components/login-screen/login-screen-vars.less +13 -12
  144. package/components/login-screen/login-screen.css +1 -1
  145. package/components/login-screen/login-screen.js +0 -4
  146. package/components/login-screen/login-screen.less +2 -8
  147. package/components/messagebar/messagebar-class.js +18 -79
  148. package/components/messagebar/messagebar-ios.less +36 -0
  149. package/components/messagebar/messagebar-md.less +96 -16
  150. package/components/messagebar/messagebar-rtl.css +1 -1
  151. package/components/messagebar/messagebar-vars.less +27 -50
  152. package/components/messagebar/messagebar.css +1 -1
  153. package/components/messagebar/messagebar.js +0 -8
  154. package/components/messagebar/messagebar.less +11 -42
  155. package/components/messages/messages-class.js +17 -110
  156. package/components/messages/messages-ios.less +9 -0
  157. package/components/messages/messages-md.less +63 -28
  158. package/components/messages/messages-rtl.css +1 -1
  159. package/components/messages/messages-vars.less +43 -50
  160. package/components/messages/messages.css +1 -1
  161. package/components/messages/messages.js +0 -8
  162. package/components/messages/messages.less +0 -11
  163. package/components/modal/custom-modal-class.js +4 -14
  164. package/components/modal/modal-class.js +19 -55
  165. package/components/modal/modal.js +0 -3
  166. package/components/navbar/navbar-ios.less +3 -39
  167. package/components/navbar/navbar-md.less +12 -0
  168. package/components/navbar/navbar-vars.less +20 -49
  169. package/components/navbar/navbar.d.ts +0 -2
  170. package/components/navbar/navbar.js +37 -166
  171. package/components/navbar/navbar.less +4 -26
  172. package/components/notification/notification-class.js +4 -39
  173. package/components/notification/notification-md.less +18 -8
  174. package/components/notification/notification-rtl.css +1 -1
  175. package/components/notification/notification-vars.less +15 -54
  176. package/components/notification/notification.css +1 -1
  177. package/components/notification/notification.js +0 -2
  178. package/components/notification/notification.less +0 -3
  179. package/components/page/page-md.less +40 -10
  180. package/components/page/page-transitions/circle.less +15 -9
  181. package/components/page/page-transitions/fade.less +17 -11
  182. package/components/page/page-transitions/flip.less +9 -4
  183. package/components/page/page-vars.less +3 -19
  184. package/components/page/page.less +2 -10
  185. package/components/panel/panel-class.js +27 -132
  186. package/components/panel/panel-md.less +9 -0
  187. package/components/panel/panel-rtl.css +1 -1
  188. package/components/panel/panel-vars.less +7 -21
  189. package/components/panel/panel.css +1 -1
  190. package/components/panel/panel.d.ts +2 -2
  191. package/components/panel/panel.js +0 -34
  192. package/components/panel/panel.less +56 -48
  193. package/components/panel/resizable-panel.js +2 -32
  194. package/components/panel/swipe-panel.js +16 -71
  195. package/components/photo-browser/photo-browser-class.js +41 -171
  196. package/components/photo-browser/photo-browser-rtl.css +1 -1
  197. package/components/photo-browser/photo-browser-vars.less +0 -3
  198. package/components/photo-browser/photo-browser.css +1 -1
  199. package/components/photo-browser/photo-browser.d.ts +2 -4
  200. package/components/photo-browser/photo-browser.js +1 -6
  201. package/components/photo-browser/photo-browser.less +0 -4
  202. package/components/picker/picker-class.js +26 -133
  203. package/components/picker/picker-column.js +11 -31
  204. package/components/picker/picker-ios.less +10 -0
  205. package/components/picker/picker-md.less +6 -0
  206. package/components/picker/picker-rtl.css +1 -1
  207. package/components/picker/picker-vars.less +9 -25
  208. package/components/picker/picker.css +1 -1
  209. package/components/picker/picker.js +0 -4
  210. package/components/picker/picker.less +0 -11
  211. package/components/pie-chart/pie-chart-class.js +8 -31
  212. package/components/pie-chart/pie-chart.js +0 -3
  213. package/components/pie-chart/pie-chart.less +0 -3
  214. package/components/popover/popover-class.js +72 -126
  215. package/components/popover/popover-ios.less +0 -50
  216. package/components/popover/popover-rtl.css +1 -1
  217. package/components/popover/popover-vars.less +6 -23
  218. package/components/popover/popover.css +1 -1
  219. package/components/popover/popover.d.ts +2 -0
  220. package/components/popover/popover.js +1 -12
  221. package/components/popover/popover.less +62 -5
  222. package/components/popup/popup-class.js +12 -78
  223. package/components/popup/popup-rtl.css +1 -1
  224. package/components/popup/popup-vars.less +7 -9
  225. package/components/popup/popup.css +1 -1
  226. package/components/popup/popup.js +0 -4
  227. package/components/popup/popup.less +4 -4
  228. package/components/preloader/preloader-ios.less +3 -1
  229. package/components/preloader/preloader-md.less +5 -1
  230. package/components/preloader/preloader-rtl.css +1 -1
  231. package/components/preloader/preloader-vars.less +0 -6
  232. package/components/preloader/preloader.css +1 -1
  233. package/components/preloader/preloader.js +8 -25
  234. package/components/preloader/preloader.less +6 -3
  235. package/components/progressbar/progressbar-rtl.css +1 -1
  236. package/components/progressbar/progressbar-vars.less +2 -12
  237. package/components/progressbar/progressbar.css +1 -1
  238. package/components/progressbar/progressbar.js +2 -31
  239. package/components/progressbar/progressbar.less +0 -3
  240. package/components/pull-to-refresh/pull-to-refresh-class.js +15 -107
  241. package/components/pull-to-refresh/pull-to-refresh-md.less +2 -1
  242. package/components/pull-to-refresh/pull-to-refresh-rtl.css +1 -1
  243. package/components/pull-to-refresh/pull-to-refresh-vars.less +0 -4
  244. package/components/pull-to-refresh/pull-to-refresh.css +1 -1
  245. package/components/pull-to-refresh/pull-to-refresh.js +0 -8
  246. package/components/pull-to-refresh/pull-to-refresh.less +0 -3
  247. package/components/radio/radio-rtl.css +1 -1
  248. package/components/radio/radio-vars.less +0 -7
  249. package/components/radio/radio.css +1 -1
  250. package/components/radio/radio.less +12 -5
  251. package/components/range/range-class.js +27 -112
  252. package/components/range/range-rtl.css +1 -1
  253. package/components/range/range-vars.less +10 -32
  254. package/components/range/range.css +1 -1
  255. package/components/range/range.js +0 -12
  256. package/components/range/range.less +0 -3
  257. package/components/searchbar/remove-diacritics.js +0 -4
  258. package/components/searchbar/searchbar-class.js +17 -138
  259. package/components/searchbar/searchbar-md.less +41 -16
  260. package/components/searchbar/searchbar-rtl.css +1 -1
  261. package/components/searchbar/searchbar-vars.less +25 -76
  262. package/components/searchbar/searchbar.css +1 -1
  263. package/components/searchbar/searchbar.d.ts +2 -2
  264. package/components/searchbar/searchbar.js +0 -15
  265. package/components/searchbar/searchbar.less +14 -28
  266. package/components/sheet/sheet-class.js +15 -110
  267. package/components/sheet/sheet-rtl.css +1 -1
  268. package/components/sheet/sheet-vars.less +17 -6
  269. package/components/sheet/sheet.css +1 -1
  270. package/components/sheet/sheet.js +0 -9
  271. package/components/sheet/sheet.less +10 -3
  272. package/components/skeleton/skeleton.less +0 -3
  273. package/components/smart-select/smart-select-class.js +39 -176
  274. package/components/smart-select/smart-select.d.ts +3 -3
  275. package/components/smart-select/smart-select.js +2 -14
  276. package/components/smart-select/smart-select.less +0 -3
  277. package/components/sortable/sortable-rtl.css +1 -1
  278. package/components/sortable/sortable-vars.less +8 -8
  279. package/components/sortable/sortable.css +1 -1
  280. package/components/sortable/sortable.js +0 -44
  281. package/components/sortable/sortable.less +0 -3
  282. package/components/statusbar/statusbar.js +0 -36
  283. package/components/statusbar/statusbar.less +0 -3
  284. package/components/stepper/stepper-class.js +10 -83
  285. package/components/stepper/stepper-rtl.css +1 -1
  286. package/components/stepper/stepper-vars.less +12 -24
  287. package/components/stepper/stepper.css +1 -1
  288. package/components/stepper/stepper.js +0 -12
  289. package/components/stepper/stepper.less +12 -23
  290. package/components/subnavbar/subnavbar-vars.less +3 -18
  291. package/components/subnavbar/subnavbar.js +0 -3
  292. package/components/subnavbar/subnavbar.less +1 -11
  293. package/components/swipeout/swipeout-rtl.css +1 -1
  294. package/components/swipeout/swipeout-vars.less +7 -6
  295. package/components/swipeout/swipeout.css +1 -1
  296. package/components/swipeout/swipeout.js +2 -99
  297. package/components/swipeout/swipeout.less +2 -7
  298. package/components/swiper/swiper-rtl.css +1 -1
  299. package/components/swiper/swiper.css +1 -1
  300. package/components/swiper/swiper.js +15 -48
  301. package/components/swiper/swiper.less +0 -15
  302. package/components/tabs/tabs-rtl.css +1 -1
  303. package/components/tabs/tabs.css +1 -1
  304. package/components/tabs/tabs.js +23 -60
  305. package/components/tabs/tabs.less +1 -3
  306. package/components/text-editor/text-editor-class.js +16 -102
  307. package/components/text-editor/text-editor-rtl.css +1 -1
  308. package/components/text-editor/text-editor-vars.less +12 -16
  309. package/components/text-editor/text-editor.css +1 -1
  310. package/components/text-editor/text-editor.js +0 -8
  311. package/components/text-editor/text-editor.less +0 -6
  312. package/components/timeline/timeline-rtl.css +1 -1
  313. package/components/timeline/timeline-vars.less +13 -47
  314. package/components/timeline/timeline.css +1 -1
  315. package/components/timeline/timeline.less +2 -9
  316. package/components/toast/toast-class.js +2 -16
  317. package/components/toast/toast-rtl.css +1 -1
  318. package/components/toast/toast-vars.less +5 -9
  319. package/components/toast/toast.css +1 -1
  320. package/components/toast/toast.js +0 -3
  321. package/components/toast/toast.less +0 -3
  322. package/components/toggle/toggle-class.js +6 -30
  323. package/components/toggle/toggle-ios.less +5 -1
  324. package/components/toggle/toggle-md.less +27 -11
  325. package/components/toggle/toggle-rtl.css +1 -1
  326. package/components/toggle/toggle-vars.less +19 -21
  327. package/components/toggle/toggle.css +1 -1
  328. package/components/toggle/toggle.js +0 -8
  329. package/components/toggle/toggle.less +0 -4
  330. package/components/toolbar/toolbar-ios.less +2 -2
  331. package/components/toolbar/toolbar-md.less +28 -4
  332. package/components/toolbar/toolbar-vars.less +17 -52
  333. package/components/toolbar/toolbar.js +5 -43
  334. package/components/toolbar/toolbar.less +27 -45
  335. package/components/tooltip/tooltip-class.js +10 -64
  336. package/components/tooltip/tooltip-rtl.css +1 -1
  337. package/components/tooltip/tooltip-vars.less +12 -3
  338. package/components/tooltip/tooltip.css +1 -1
  339. package/components/tooltip/tooltip.js +0 -15
  340. package/components/tooltip/tooltip.less +0 -3
  341. package/components/touch-ripple/touch-ripple-class.js +0 -13
  342. package/components/touch-ripple/touch-ripple.js +0 -4
  343. package/components/touch-ripple/touch-ripple.less +1 -5
  344. package/components/treeview/treeview-rtl.css +1 -1
  345. package/components/treeview/treeview-vars.less +0 -3
  346. package/components/treeview/treeview.css +1 -1
  347. package/components/treeview/treeview.js +2 -11
  348. package/components/treeview/treeview.less +0 -3
  349. package/components/typography/typography-rtl.css +1 -1
  350. package/components/typography/typography.css +1 -1
  351. package/components/typography/typography.less +25 -3
  352. package/components/view/resizable-view.js +2 -24
  353. package/components/view/view-class.js +28 -53
  354. package/components/view/view.d.ts +0 -14
  355. package/components/view/view.js +8 -32
  356. package/components/view/view.less +1 -4
  357. package/components/virtual-list/virtual-list-class.js +58 -146
  358. package/components/virtual-list/virtual-list.d.ts +1 -1
  359. package/components/virtual-list/virtual-list.js +0 -2
  360. package/components/virtual-list/virtual-list.less +0 -3
  361. package/framework7-bundle-rtl.css +3064 -6057
  362. package/framework7-bundle-rtl.min.css +3 -3
  363. package/framework7-bundle.css +3063 -6059
  364. package/framework7-bundle.esm.js +4 -10
  365. package/framework7-bundle.js +6442 -12377
  366. package/framework7-bundle.js.map +1 -1
  367. package/framework7-bundle.less +2 -27
  368. package/framework7-bundle.min.css +3 -3
  369. package/framework7-bundle.min.js +3 -3
  370. package/framework7-bundle.min.js.map +1 -1
  371. package/framework7-lite-bundle.esm.js +4 -10
  372. package/framework7-lite.esm.js +4 -6
  373. package/framework7-rtl.css +803 -1591
  374. package/framework7-rtl.min.css +3 -3
  375. package/framework7-types.d.ts +1 -32
  376. package/framework7.css +803 -1594
  377. package/framework7.d.ts +1 -32
  378. package/framework7.esm.js +4 -6
  379. package/framework7.less +2 -23
  380. package/framework7.min.css +3 -3
  381. package/less/mixins.less +7 -88
  382. package/modules/clicks/clicks.js +10 -22
  383. package/modules/component/$h.js +0 -3
  384. package/modules/component/$jsx.js +0 -5
  385. package/modules/component/component-class.js +13 -66
  386. package/modules/component/component.d.ts +1 -2
  387. package/modules/component/component.js +0 -8
  388. package/modules/component/eventslisteners.js +12 -20
  389. package/modules/component/parse-component.js +18 -20
  390. package/modules/component/snabbdom/h.js +3 -12
  391. package/modules/component/snabbdom/helpers/attachto.js +9 -14
  392. package/modules/component/snabbdom/htmldomapi.js +0 -16
  393. package/modules/component/snabbdom/modules/attributes.js +7 -11
  394. package/modules/component/snabbdom/modules/class.js +4 -8
  395. package/modules/component/snabbdom/modules/dataset.js +3 -7
  396. package/modules/component/snabbdom/modules/eventlisteners.js +16 -22
  397. package/modules/component/snabbdom/modules/hero.js +4 -44
  398. package/modules/component/snabbdom/modules/props.js +5 -9
  399. package/modules/component/snabbdom/modules/style.js +13 -30
  400. package/modules/component/snabbdom/snabbdom.bundle.js +0 -6
  401. package/modules/component/snabbdom/snabbdom.js +13 -72
  402. package/modules/component/snabbdom/thunk.js +3 -11
  403. package/modules/component/snabbdom/tovnode.js +1 -6
  404. package/modules/component/vdom.js +4 -62
  405. package/modules/demo-module.js +0 -8
  406. package/modules/device/device.js +6 -11
  407. package/modules/history/history.js +0 -1
  408. package/modules/resize/resize.js +8 -11
  409. package/modules/router/async-component.js +0 -3
  410. package/modules/router/back.js +86 -275
  411. package/modules/router/clear-previous-history.js +5 -18
  412. package/modules/router/component-loader.js +4 -25
  413. package/modules/router/modal.js +16 -43
  414. package/modules/router/navigate.js +80 -250
  415. package/modules/router/process-route-queue.js +0 -12
  416. package/modules/router/redirect.js +0 -8
  417. package/modules/router/router-class.js +92 -315
  418. package/modules/router/router.d.ts +3 -5
  419. package/modules/router/router.js +0 -3
  420. package/modules/router/swipe-back.js +35 -139
  421. package/modules/router/tab.js +14 -43
  422. package/modules/service-worker/service-worker.js +0 -11
  423. package/modules/store/create-store.js +10 -29
  424. package/modules/touch/touch.d.ts +2 -4
  425. package/modules/touch/touch.js +13 -108
  426. package/package.json +3 -14
  427. package/shared/$jsx.js +0 -6
  428. package/shared/class.js +18 -43
  429. package/shared/constructor-methods.js +0 -11
  430. package/shared/events-class.js +0 -17
  431. package/shared/get-device.js +18 -34
  432. package/shared/get-support.js +2 -8
  433. package/shared/history.js +2 -30
  434. package/shared/material-color-utils.js +728 -0
  435. package/shared/material-colors.js +75 -0
  436. package/shared/modal-methods.js +0 -18
  437. package/shared/utils.d.ts +0 -4
  438. package/shared/utils.js +191 -71
  439. package/components/accordion/accordion-aurora.less +0 -2
  440. package/components/accordion/accordion.lazy.js +0 -1
  441. package/components/actions/actions-aurora.less +0 -9
  442. package/components/actions/actions.lazy.js +0 -1
  443. package/components/app/app-aurora.less +0 -10
  444. package/components/appbar/appbar-aurora.less +0 -2
  445. package/components/appbar/appbar-ios.less +0 -2
  446. package/components/appbar/appbar-md.less +0 -2
  447. package/components/appbar/appbar-rtl.css +0 -1
  448. package/components/appbar/appbar-vars.less +0 -28
  449. package/components/appbar/appbar.css +0 -1
  450. package/components/appbar/appbar.d.ts +0 -14
  451. package/components/appbar/appbar.js +0 -3
  452. package/components/appbar/appbar.lazy.js +0 -1
  453. package/components/appbar/appbar.less +0 -106
  454. package/components/area-chart/area-chart-aurora.less +0 -2
  455. package/components/area-chart/area-chart.lazy.js +0 -1
  456. package/components/autocomplete/autocomplete-aurora.less +0 -17
  457. package/components/autocomplete/autocomplete.lazy.js +0 -1
  458. package/components/badge/badge-aurora.less +0 -2
  459. package/components/block/block-aurora.less +0 -2
  460. package/components/breadcrumbs/breadcrumbs-aurora.less +0 -2
  461. package/components/breadcrumbs/breadcrumbs.lazy.js +0 -1
  462. package/components/button/button-aurora.less +0 -25
  463. package/components/calendar/calendar-aurora.less +0 -2
  464. package/components/calendar/calendar.lazy.js +0 -1
  465. package/components/card/card-aurora.less +0 -2
  466. package/components/card/card.lazy.js +0 -1
  467. package/components/checkbox/checkbox-aurora.less +0 -39
  468. package/components/checkbox/checkbox.lazy.js +0 -1
  469. package/components/chip/chip-aurora.less +0 -14
  470. package/components/chip/chip.lazy.js +0 -1
  471. package/components/color-picker/color-picker-aurora.less +0 -2
  472. package/components/color-picker/color-picker.lazy.js +0 -1
  473. package/components/contacts-list/contacts-list-aurora.less +0 -2
  474. package/components/contacts-list/contacts-list.lazy.js +0 -1
  475. package/components/data-table/data-table-aurora.less +0 -64
  476. package/components/data-table/data-table.lazy.js +0 -1
  477. package/components/dialog/dialog-aurora.less +0 -112
  478. package/components/dialog/dialog.lazy.js +0 -1
  479. package/components/elevation/elevation-aurora.less +0 -2
  480. package/components/elevation/elevation-ios.less +0 -2
  481. package/components/elevation/elevation-md.less +0 -2
  482. package/components/elevation/elevation-rtl.css +0 -1
  483. package/components/elevation/elevation-vars.less +0 -51
  484. package/components/elevation/elevation.css +0 -1
  485. package/components/elevation/elevation.d.ts +0 -14
  486. package/components/elevation/elevation.js +0 -3
  487. package/components/elevation/elevation.lazy.js +0 -1
  488. package/components/elevation/elevation.less +0 -54
  489. package/components/fab/fab-aurora.less +0 -2
  490. package/components/fab/fab.lazy.js +0 -1
  491. package/components/form/form-aurora.less +0 -0
  492. package/components/form/form.lazy.js +0 -1
  493. package/components/gauge/gauge-aurora.less +0 -2
  494. package/components/gauge/gauge.lazy.js +0 -1
  495. package/components/grid/grid-aurora.less +0 -2
  496. package/components/grid/grid.lazy.js +0 -1
  497. package/components/icon/icon-aurora.less +0 -49
  498. package/components/infinite-scroll/infinite-scroll-aurora.less +0 -6
  499. package/components/infinite-scroll/infinite-scroll.lazy.js +0 -1
  500. package/components/input/input-aurora.less +0 -120
  501. package/components/input/input.lazy.js +0 -1
  502. package/components/lazy/lazy-aurora.less +0 -2
  503. package/components/lazy/lazy-ios.less +0 -2
  504. package/components/lazy/lazy-md.less +0 -2
  505. package/components/lazy/lazy-rtl.css +0 -1
  506. package/components/lazy/lazy.css +0 -1
  507. package/components/lazy/lazy.d.ts +0 -57
  508. package/components/lazy/lazy.js +0 -283
  509. package/components/lazy/lazy.lazy.js +0 -1
  510. package/components/lazy/lazy.less +0 -23
  511. package/components/link/link-aurora.less +0 -15
  512. package/components/list/list-aurora.less +0 -25
  513. package/components/list-index/list-index-aurora.less +0 -21
  514. package/components/list-index/list-index.lazy.js +0 -1
  515. package/components/login-screen/login-screen-aurora.less +0 -2
  516. package/components/login-screen/login-screen.lazy.js +0 -1
  517. package/components/menu/menu-aurora.less +0 -8
  518. package/components/menu/menu-ios.less +0 -2
  519. package/components/menu/menu-md.less +0 -2
  520. package/components/menu/menu-rtl.css +0 -1
  521. package/components/menu/menu-vars.less +0 -27
  522. package/components/menu/menu.css +0 -1
  523. package/components/menu/menu.d.ts +0 -32
  524. package/components/menu/menu.js +0 -87
  525. package/components/menu/menu.lazy.js +0 -1
  526. package/components/menu/menu.less +0 -232
  527. package/components/messagebar/messagebar-aurora.less +0 -53
  528. package/components/messagebar/messagebar.lazy.js +0 -1
  529. package/components/messages/messages-aurora.less +0 -137
  530. package/components/messages/messages.lazy.js +0 -1
  531. package/components/navbar/navbar-aurora.less +0 -70
  532. package/components/notification/notification-aurora.less +0 -59
  533. package/components/notification/notification.lazy.js +0 -1
  534. package/components/page/page-aurora.less +0 -49
  535. package/components/panel/panel-aurora.less +0 -2
  536. package/components/panel/panel.lazy.js +0 -1
  537. package/components/photo-browser/photo-browser-aurora.less +0 -2
  538. package/components/photo-browser/photo-browser.lazy.js +0 -1
  539. package/components/picker/picker-aurora.less +0 -2
  540. package/components/picker/picker.lazy.js +0 -1
  541. package/components/pie-chart/pie-chart-aurora.less +0 -2
  542. package/components/pie-chart/pie-chart.lazy.js +0 -1
  543. package/components/popover/popover-aurora.less +0 -56
  544. package/components/popover/popover.lazy.js +0 -1
  545. package/components/popup/popup-aurora.less +0 -2
  546. package/components/popup/popup.lazy.js +0 -1
  547. package/components/preloader/preloader-aurora.less +0 -53
  548. package/components/preloader/preloader.lazy.js +0 -1
  549. package/components/progressbar/progressbar-aurora.less +0 -72
  550. package/components/progressbar/progressbar.lazy.js +0 -1
  551. package/components/pull-to-refresh/pull-to-refresh-aurora.less +0 -122
  552. package/components/pull-to-refresh/pull-to-refresh.lazy.js +0 -1
  553. package/components/radio/radio-aurora.less +0 -86
  554. package/components/radio/radio.lazy.js +0 -1
  555. package/components/range/range-aurora.less +0 -9
  556. package/components/range/range.lazy.js +0 -1
  557. package/components/searchbar/searchbar-aurora.less +0 -86
  558. package/components/searchbar/searchbar.lazy.js +0 -1
  559. package/components/sheet/sheet-aurora.less +0 -2
  560. package/components/sheet/sheet.lazy.js +0 -1
  561. package/components/skeleton/skeleton-aurora.less +0 -2
  562. package/components/skeleton/skeleton.lazy.js +0 -1
  563. package/components/smart-select/smart-select-aurora.less +0 -2
  564. package/components/smart-select/smart-select.lazy.js +0 -1
  565. package/components/sortable/sortable-aurora.less +0 -7
  566. package/components/sortable/sortable.lazy.js +0 -1
  567. package/components/statusbar/statusbar-aurora.less +0 -2
  568. package/components/stepper/stepper-aurora.less +0 -32
  569. package/components/stepper/stepper.lazy.js +0 -1
  570. package/components/subnavbar/subnavbar-aurora.less +0 -51
  571. package/components/swipeout/swipeout-aurora.less +0 -2
  572. package/components/swipeout/swipeout.lazy.js +0 -1
  573. package/components/swiper/swiper-aurora.less +0 -2
  574. package/components/swiper/swiper.lazy.js +0 -1
  575. package/components/tabs/tabs-aurora.less +0 -2
  576. package/components/tabs/tabs.lazy.js +0 -1
  577. package/components/text-editor/text-editor-aurora.less +0 -9
  578. package/components/text-editor/text-editor.lazy.js +0 -1
  579. package/components/timeline/timeline-aurora.less +0 -7
  580. package/components/timeline/timeline.lazy.js +0 -1
  581. package/components/toast/toast-aurora.less +0 -64
  582. package/components/toast/toast.lazy.js +0 -1
  583. package/components/toggle/toggle-aurora.less +0 -26
  584. package/components/toggle/toggle.lazy.js +0 -1
  585. package/components/toolbar/toolbar-aurora.less +0 -43
  586. package/components/tooltip/tooltip-aurora.less +0 -2
  587. package/components/tooltip/tooltip.lazy.js +0 -1
  588. package/components/touch-ripple/touch-ripple-aurora.less +0 -2
  589. package/components/treeview/treeview-aurora.less +0 -31
  590. package/components/treeview/treeview.lazy.js +0 -1
  591. package/components/typography/typography-aurora.less +0 -2
  592. package/components/typography/typography.lazy.js +0 -1
  593. package/components/view/view-aurora.less +0 -2
  594. package/components/virtual-list/virtual-list-aurora.less +0 -2
  595. package/components/virtual-list/virtual-list.lazy.js +0 -1
  596. package/framework7.js +0 -14715
  597. package/framework7.js.map +0 -1
  598. package/framework7.min.js +0 -14
  599. package/framework7.min.js.map +0 -1
  600. package/modules/request/request.d.ts +0 -15
  601. package/modules/request/request.js +0 -11
  602. package/shared/request.d.ts +0 -115
  603. package/shared/request.js +0 -512
@@ -1,49 +0,0 @@
1
- .aurora {
2
- .f7-icons,
3
- .material-icons {
4
- font-size: 24px;
5
- }
6
- .icon-back,
7
- .icon-prev,
8
- .icon-forward,
9
- .icon-next {
10
- width: 12px;
11
- height: 20px;
12
- line-height: 20px;
13
- &:after {
14
- line-height: inherit;
15
- }
16
- }
17
-
18
- .icon-prev,
19
- .icon-next {
20
- &:after {
21
- font-size: 16px;
22
- }
23
- }
24
-
25
- .ltr({
26
- .icon-back, .icon-prev {
27
- &:after {
28
- content: 'chevron_left_ios';
29
- }
30
- }
31
- .icon-forward, .icon-next {
32
- &:after {
33
- content: 'chevron_right_ios';
34
- }
35
- }
36
- });
37
- .rtl({
38
- .icon-back, .icon-prev {
39
- &:after {
40
- content: 'chevron_right_ios';
41
- }
42
- }
43
- .icon-forward, .icon-next {
44
- &:after {
45
- content: 'chevron_left_ios';
46
- }
47
- }
48
- });
49
- }
@@ -1,6 +0,0 @@
1
- .aurora {
2
- .infinite-scroll-preloader {
3
- margin-top: 16px;
4
- margin-bottom: 16px;
5
- }
6
- }
@@ -1 +0,0 @@
1
- (function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var i=e.$,n=e.utils,o=(e.getDevice,e.getSupport,e.Class,e.Modal,e.ConstructorMethods,e.ModalMethods,e.$jsx,n.bindMethods);const l={handle(e,t){const n=this,o=i(e),l=o[0].scrollTop,r=o[0].scrollHeight,s=o[0].offsetHeight;let c=o[0].getAttribute("data-infinite-distance");const a=o.find(".virtual-list");let f;const d=o.hasClass("infinite-scroll-top");if(c||(c=50),"string"==typeof c&&c.indexOf("%")>=0&&(c=parseInt(c,10)/100*s),c>s&&(c=s),d)l<c&&(o.trigger("infinite",t),n.emit("infinite",o[0],t));else if(l+s>=r-c){if(a.length>0&&(f=a.eq(-1)[0].f7VirtualList,f&&!f.reachEnd&&!f.params.updatableScroll))return;o.trigger("infinite",t),n.emit("infinite",o[0],t)}},create(e){const t=i(e),n=this;function o(e){n.infiniteScroll.handle(this,e)}t.each((e=>{e.f7InfiniteScrollHandler=o,e.addEventListener("scroll",e.f7InfiniteScrollHandler)}))},destroy(e){i(e).each((e=>{e.removeEventListener("scroll",e.f7InfiniteScrollHandler),delete e.f7InfiniteScrollHandler}))}};var r={name:"infiniteScroll",create(){o(this,{infiniteScroll:l})},on:{tabMounted(e){const t=this,n=i(e),o=n.find(".infinite-scroll-content");n.is(".infinite-scroll-content")&&o.add(n),o.each((e=>{t.infiniteScroll.create(e)}))},tabBeforeRemove(e){const t=i(e),n=this,o=t.find(".infinite-scroll-content");t.is(".infinite-scroll-content")&&o.add(t),o.each((e=>{n.infiniteScroll.destroy(e)}))},pageInit(e){const t=this;e.$el.find(".infinite-scroll-content").each((e=>{t.infiniteScroll.create(e)}))},pageBeforeRemove(e){const t=this;e.$el.find(".infinite-scroll-content").each((e=>{t.infiniteScroll.destroy(e)}))}}};if(t){if(e.prototype.modules&&e.prototype.modules[r.name])return;e.use(r),e.instance&&(e.instance.useModuleParams(r,e.instance.params),e.instance.useModule(r))}return r}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
@@ -1,120 +0,0 @@
1
- .aurora {
2
- .item-label,
3
- .item-floating-label {
4
- + .item-input-wrap {
5
- margin-top: 0;
6
- }
7
- }
8
- .input:not(.input-outline) {
9
- .hairline(bottom, var(--f7-list-item-border-color));
10
- &:after {
11
- transition-duration: 200ms;
12
- }
13
- }
14
- .item-input-focused .item-floating-label {
15
- color: var(--f7-label-text-color);
16
- }
17
-
18
- .inline-labels,
19
- .inline-label {
20
- .item-media {
21
- align-self: flex-start;
22
- padding-top: 12px;
23
- }
24
- }
25
-
26
- .item-input-error-message,
27
- .item-input-info,
28
- .input-error-message,
29
- .input-info {
30
- position: relative;
31
- }
32
-
33
- .item-input-invalid:not(.item-input-outline) .item-inner:after,
34
- .item-input-focused:not(.item-input-outline) .item-inner:after,
35
- .input-invalid:not(.input-outline):after,
36
- .input-focused:not(.input-outline):after {
37
- transform: scaleY(2) !important;
38
- display: block !important;
39
- }
40
-
41
- .item-input-focused {
42
- .item-label,
43
- .item-floating-label {
44
- color: var(--f7-label-focused-text-color, var(--f7-theme-color));
45
- }
46
- }
47
- .item-input-focused:not(.item-input-outline) .item-inner:after,
48
- .input-focused:not(.input-outline):after {
49
- background: var(--f7-input-focused-border-color, var(--f7-theme-color));
50
- }
51
- .item-input-invalid {
52
- .item-label,
53
- .item-floating-label {
54
- color: var(--f7-label-invalid-text-color, var(--f7-input-error-text-color));
55
- }
56
- }
57
- .item-input-invalid:not(.item-input-outline) .item-inner:after,
58
- .input-invalid:not(.input-outline):after {
59
- background: var(--f7-input-invalid-border-color, var(--f7-input-error-text-color));
60
- }
61
- .item-input-invalid,
62
- .input-invalid {
63
- input,
64
- select,
65
- textarea {
66
- color: var(--f7-input-invalid-text-color, var(--f7-input-text-color));
67
- }
68
- }
69
-
70
- .input-clear-button {
71
- &:after {
72
- content: 'delete_round_ios';
73
- font-size: calc(var(--f7-input-clear-button-size) / (14 / 10));
74
- line-height: 1.4;
75
- }
76
- &:before {
77
- width: 44px;
78
- height: 44px;
79
- margin-left: -22px;
80
- margin-top: -22px;
81
- }
82
- }
83
-
84
- .item-input-outline,
85
- .input-outline {
86
- .item-input-wrap {
87
- margin-top: 0;
88
- margin-bottom: 0;
89
- }
90
- .item-input-error-message,
91
- .item-input-info,
92
- .input-error-message,
93
- .input-info {
94
- margin-top: 0;
95
- white-space: normal;
96
- overflow: hidden;
97
- text-overflow: ellipsis;
98
- }
99
- .item-input-info,
100
- .input-info {
101
- margin-bottom: calc(-1 * var(--f7-input-info-font-size) * var(--f7-input-info-line-height));
102
- }
103
- .item-input-error-message,
104
- .input-error-message {
105
- margin-bottom: calc(-1 * var(--f7-input-error-font-size) * var(--f7-input-error-line-height));
106
- }
107
- &.item-input-with-info,
108
- &.input-with-info {
109
- .item-input-wrap {
110
- margin-bottom: calc(var(--f7-input-info-font-size) * var(--f7-input-info-line-height));
111
- }
112
- }
113
- &.item-input-with-error-message,
114
- &.input-with-error-message {
115
- .item-input-wrap {
116
- margin-bottom: calc(var(--f7-input-error-font-size) * var(--f7-input-error-line-height));
117
- }
118
- }
119
- }
120
- }
@@ -1 +0,0 @@
1
- (function framework7ComponentLoader(t,e){void 0===e&&(e=!0);var a=t.$,i=t.utils,n=t.getDevice,s=(t.getSupport,t.Class,t.Modal,t.ConstructorMethods,t.ModalMethods,t.$jsx,i.bindMethods);const r={ignoreTypes:["checkbox","button","submit","range","radio","image"],createTextareaResizableShadow(){const t=a(document.createElement("textarea"));t.addClass("textarea-resizable-shadow"),t.prop({disabled:!0,readonly:!0}),r.textareaResizableShadow=t},textareaResizableShadow:void 0,resizeTextarea(t){const e=this,i=a(t);r.textareaResizableShadow||r.createTextareaResizableShadow();const n=r.textareaResizableShadow;if(!i.length)return;if(!i.hasClass("resizable"))return;0===r.textareaResizableShadow.parents().length&&e.$el.append(n);const s=window.getComputedStyle(i[0]);"padding-top padding-bottom padding-left padding-right margin-left margin-right margin-top margin-bottom width font-size font-family font-style font-weight line-height font-variant text-transform letter-spacing border box-sizing display".split(" ").forEach((t=>{let e=s[t];"font-size line-height letter-spacing width".split(" ").indexOf(t)>=0&&(e=e.replace(",",".")),n.css(t,e)}));const o=i[0].clientHeight;n.val("");const l=n[0].scrollHeight;n.val(i.val()),n.css("height",0);const p=n[0].scrollHeight;o!==p&&(p>l?i.css("height",`${p}px`):p<o&&i.css("height",""),(p>l||p<o)&&(i.trigger("textarea:resize",{initialHeight:l,currentHeight:o,scrollHeight:p}),e.emit("textareaResize",{initialHeight:l,currentHeight:o,scrollHeight:p})))},validate(t){const e=a(t);if(!e.length)return!0;const i=e.parents(".item-input"),n=e.parents(".input");function s(){e[0].f7ValidateReadonly&&(e[0].readOnly=!0)}e[0].f7ValidateReadonly&&(e[0].readOnly=!1);const r=e[0].validity,o=e.dataset().errorMessage||e[0].validationMessage||"";if(!r)return s(),!0;if(!r.valid){let t=e.nextAll(".item-input-error-message, .input-error-message");return o&&(0===t.length&&(t=a(`<div class="${n.length?"input-error-message":"item-input-error-message"}"></div>`),t.insertAfter(e)),t.text(o)),t.length>0&&(i.addClass("item-input-with-error-message"),n.addClass("input-with-error-message")),i.addClass("item-input-invalid"),n.addClass("input-invalid"),e.addClass("input-invalid"),s(),!1}return i.removeClass("item-input-invalid item-input-with-error-message"),n.removeClass("input-invalid input-with-error-message"),e.removeClass("input-invalid"),s(),!0},validateInputs(t){const e=this;return a(t).find("input, textarea, select").map((t=>e.input.validate(t))).indexOf(!1)<0},focus(t){const e=a(t),i=e.attr("type");r.ignoreTypes.indexOf(i)>=0||(e.parents(".item-input").addClass("item-input-focused"),e.parents(".input").addClass("input-focused"),e.addClass("input-focused"))},blur(t){const e=a(t);e.parents(".item-input").removeClass("item-input-focused"),e.parents(".input").removeClass("input-focused"),e.removeClass("input-focused")},checkEmptyState(t){const e=this;let i=a(t);if(i.is("input, select, textarea, .item-input [contenteditable]")||(i=i.find("input, select, textarea, .item-input [contenteditable]").eq(0)),!i.length)return;let n;n=i[0].hasAttribute("contenteditable")?i.find(".text-editor-placeholder").length?"":i.html():i.val();const s=i.parents(".item-input"),r=i.parents(".input");n&&"string"==typeof n&&""!==n.trim()||Array.isArray(n)&&n.length>0?(s.addClass("item-input-with-value"),r.addClass("input-with-value"),i.addClass("input-with-value"),i.trigger("input:notempty"),e.emit("inputNotEmpty",i[0])):(s.removeClass("item-input-with-value"),r.removeClass("input-with-value"),i.removeClass("input-with-value"),i.trigger("input:empty"),e.emit("inputEmpty",i[0]))},scrollIntoView(t,e,i,n){void 0===e&&(e=0);const s=a(t),r=s.parents(".page-content, .panel, .card-expandable .card-content").eq(0);if(!r.length)return!1;const o=r[0].offsetHeight,l=r[0].scrollTop,p=parseInt(r.css("padding-top"),10),u=parseInt(r.css("padding-bottom"),10),d=r.offset().top-l,c=s.offset().top-d,m=c+l-p,h=c+l-o+u+s[0].offsetHeight,g=m+(h-m)/2;return l>m?(r.scrollTop(i?g:m,e),!0):l<h?(r.scrollTop(i?g:h,e),!0):(n&&r.scrollTop(i?g:h,e),!1)},init(){const t=this,e=n();r.createTextareaResizableShadow(),a(document).on("click",".input-clear-button",(function(){const e=a(this).siblings("input, textarea").eq(0),i=e.val();e.val("").trigger("input change").focus().trigger("input:clear",i),t.emit("inputClear",i)})),a(document).on("mousedown",".input-clear-button",(function(t){t.preventDefault()})),a(document).on("change input","input, textarea, select, .item-input [contenteditable]",(function(){const e=a(this),i=e.attr("type"),n=e[0].nodeName.toLowerCase(),s=e[0].hasAttribute("contenteditable");r.ignoreTypes.indexOf(i)>=0||(t.input.checkEmptyState(e),s||(null!==e.attr("data-validate-on-blur")||!e.dataset().validate&&null===e.attr("validate")||t.input.validate(e),"textarea"===n&&e.hasClass("resizable")&&t.input.resizeTextarea(e)))}),!0),a(document).on("focus","input, textarea, select, .item-input [contenteditable]",(function(){const i=this;t.params.input.scrollIntoViewOnFocus&&(e.android?a(window).once("resize",(()=>{document&&document.activeElement===i&&t.input.scrollIntoView(i,t.params.input.scrollIntoViewDuration,t.params.input.scrollIntoViewCentered,t.params.input.scrollIntoViewAlways)})):t.input.scrollIntoView(i,t.params.input.scrollIntoViewDuration,t.params.input.scrollIntoViewCentered,t.params.input.scrollIntoViewAlways)),t.input.focus(i)}),!0),a(document).on("blur","input, textarea, select, .item-input [contenteditable]",(function(){const e=a(this),i=e[0].nodeName.toLowerCase();t.input.blur(e),(e.dataset().validate||null!==e.attr("validate")||null!==e.attr("data-validate-on-blur"))&&t.input.validate(e),"textarea"===i&&e.hasClass("resizable")&&r.textareaResizableShadow&&r.textareaResizableShadow.remove()}),!0),a(document).on("invalid","input, textarea, select",(function(e){const i=a(this);null!==i.attr("data-validate-on-blur")||!i.dataset().validate&&null===i.attr("validate")||(e.preventDefault(),t.input.validate(i))}),!0)}};var o={name:"input",params:{input:{scrollIntoViewOnFocus:void 0,scrollIntoViewCentered:!1,scrollIntoViewDuration:0,scrollIntoViewAlways:!1}},create(){const t=this;void 0===t.params.input.scrollIntoViewOnFocus&&(t.params.input.scrollIntoViewOnFocus=n().android),s(t,{input:r})},on:{init(){this.input.init()},tabMounted(t){const e=this,i=a(t);i.find(".item-input, .input").each((t=>{a(t).find("input, select, textarea, [contenteditable]").each((t=>{const i=a(t);r.ignoreTypes.indexOf(i.attr("type"))>=0||e.input.checkEmptyState(i)}))})),i.find("textarea.resizable").each((t=>{e.input.resizeTextarea(t)}))},pageInit(t){const e=this,i=t.$el;i.find(".item-input, .input").each((t=>{a(t).find("input, select, textarea, [contenteditable]").each((t=>{const i=a(t);r.ignoreTypes.indexOf(i.attr("type"))>=0||e.input.checkEmptyState(i)}))})),i.find("textarea.resizable").each((t=>{e.input.resizeTextarea(t)}))},"panelBreakpoint panelCollapsedBreakpoint panelResize panelOpen panelSwipeOpen resize viewMasterDetailBreakpoint":function(t){const e=this;t&&t.$el?t.$el.find("textarea.resizable").each((t=>{e.input.resizeTextarea(t)})):a("textarea.resizable").each((t=>{e.input.resizeTextarea(t)}))}}};if(e){if(t.prototype.modules&&t.prototype.modules[o.name])return;t.use(o),t.instance&&(t.instance.useModuleParams(o,t.instance.params),t.instance.useModule(o))}return o}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
@@ -1,2 +0,0 @@
1
- .aurora {
2
- }
@@ -1,2 +0,0 @@
1
- .ios {
2
- }
@@ -1,2 +0,0 @@
1
- .md {
2
- }
@@ -1 +0,0 @@
1
- .lazy-loaded.lazy-fade-in{animation:lazyFadeIn .6s}@keyframes lazyFadeIn{from{opacity:0}to{opacity:1}}
@@ -1 +0,0 @@
1
- .lazy-loaded.lazy-fade-in{animation:lazyFadeIn .6s}@keyframes lazyFadeIn{from{opacity:0}to{opacity:1}}
@@ -1,57 +0,0 @@
1
- import Framework7, {
2
- CSSSelector,
3
- Framework7EventsClass,
4
- Framework7Plugin,
5
- } from '../app/app-class.js';
6
-
7
- export namespace Lazy {
8
- interface DomEvents {
9
- /** Event will be triggered in the beginning of image file loading */
10
- 'lazy:load': () => void;
11
- /** Event will be triggered after image file successfully loaded */
12
- 'lazy:loaded': () => void;
13
- /** Event will be triggered in case of error loading image file */
14
- 'lazy:error': () => void;
15
- }
16
- interface AppMethods {
17
- lazy: {
18
- /** initialize lazy loading on page */
19
- create(pageEl: HTMLElement | CSSSelector): void;
20
- /** destroy/disable lazy loading on page */
21
- destroy(pageEl: HTMLElement | CSSSelector): void;
22
- /** force to load lazy image */
23
- loadImage(
24
- /** lazy image or element (element with lazy class). Required. */
25
- pageEl: HTMLElement | CSSSelector,
26
- /** Callback when image is loaded or error loading image happend */
27
- callback: () => void,
28
- ): void;
29
- };
30
- }
31
- interface AppParams {
32
- lazy?:
33
- | {
34
- /** Lazy load image placeholder source to show while image is not yet loaded. By default it is 1x1 px image. */
35
- placeholder?: string;
36
- /** By default images are loaded when they appear on the screen. Use this parameter if you want to load images earlier. Setting it to 50 will load image when it 50 pixels before it appears on viewport. (default 0) */
37
- threshold?: number;
38
- /** If enabled, then lazy images will be loaded one by one when they appear in viewport. (default true) */
39
- sequential?: boolean;
40
- /** When enabled, it uses IntersectionObserver API (if supported by browser) to detect when image is in viewport. Potentially provides better performance and more accurate intersection detection, but "threshold" parameter will be ignored. (default true) */
41
- observer?: boolean;
42
- }
43
- | undefined;
44
- }
45
- interface AppEvents {
46
- /** Event will be triggered in the beginning of image file loading. As an argument it receives lazy loading HTML element. */
47
- lazyLoad?: (lazyEl: HTMLElement) => void;
48
- /** Event will be triggered after image file successfully loaded. As an argument it receives lazy loading HTML element. */
49
- lazyLoaded?: (lazyEl: HTMLElement) => void;
50
- /** Event will be triggered in case of error loading image file. As an argument it receives lazy loading HTML element.*/
51
- lazyError?: (lazyEl: HTMLElement) => void;
52
- }
53
- }
54
-
55
- declare const LazyComponent: Framework7Plugin;
56
-
57
- export default LazyComponent;
@@ -1,283 +0,0 @@
1
- import { getWindow } from 'ssr-window';
2
- import $ from '../../shared/dom7.js';
3
- import { bindMethods } from '../../shared/utils.js';
4
- import { getSupport } from '../../shared/get-support.js';
5
- const Lazy = {
6
- destroy(pageEl) {
7
- const $pageEl = $(pageEl).closest('.page');
8
- if (!$pageEl.length) return;
9
-
10
- if ($pageEl[0].f7LazyDestroy) {
11
- $pageEl[0].f7LazyDestroy();
12
- }
13
- },
14
-
15
- create(pageEl) {
16
- const app = this;
17
- const window = getWindow();
18
- const support = getSupport();
19
- const $pageEl = $(pageEl).closest('.page').eq(0); // Lazy images
20
-
21
- const $lazyLoadImages = $pageEl.find('.lazy');
22
- if ($lazyLoadImages.length === 0 && !$pageEl.hasClass('lazy')) return; // Placeholder
23
-
24
- const placeholderSrc = app.params.lazy.placeholder;
25
-
26
- if (placeholderSrc !== false) {
27
- $lazyLoadImages.each(lazyEl => {
28
- if ($(lazyEl).attr('data-src') && !$(lazyEl).attr('src')) $(lazyEl).attr('src', placeholderSrc);
29
- });
30
- } // load image
31
-
32
-
33
- const imagesSequence = [];
34
- let imageIsLoading = false;
35
-
36
- function onImageComplete(lazyEl) {
37
- if (imagesSequence.indexOf(lazyEl) >= 0) {
38
- imagesSequence.splice(imagesSequence.indexOf(lazyEl), 1);
39
- }
40
-
41
- imageIsLoading = false;
42
-
43
- if (app.params.lazy.sequential && imagesSequence.length > 0) {
44
- imageIsLoading = true;
45
- app.lazy.loadImage(imagesSequence[0], onImageComplete);
46
- }
47
- }
48
-
49
- function observerCallback(entries, observer) {
50
- entries.forEach(entry => {
51
- if (entry.isIntersecting) {
52
- if (app.params.lazy.sequential && imageIsLoading) {
53
- if (imagesSequence.indexOf(entry.target) < 0) imagesSequence.push(entry.target);
54
- return;
55
- } // Load image
56
-
57
-
58
- imageIsLoading = true;
59
- app.lazy.loadImage(entry.target, onImageComplete); // Detach
60
-
61
- observer.unobserve(entry.target);
62
- }
63
- });
64
- }
65
-
66
- if (app.params.lazy.observer && support.intersectionObserver) {
67
- let observer = $pageEl[0].f7LazyObserver;
68
-
69
- if (!observer) {
70
- observer = new window.IntersectionObserver(observerCallback, {
71
- root: $pageEl[0]
72
- });
73
- }
74
-
75
- $lazyLoadImages.each(el => {
76
- if (el.f7LazyObserverAdded) return;
77
- el.f7LazyObserverAdded = true;
78
- observer.observe(el);
79
- });
80
-
81
- if (!$pageEl[0].f7LazyDestroy) {
82
- $pageEl[0].f7LazyDestroy = () => {
83
- observer.disconnect();
84
- delete $pageEl[0].f7LazyDestroy;
85
- delete $pageEl[0].f7LazyObserver;
86
- };
87
- }
88
-
89
- return;
90
- }
91
-
92
- function lazyHandler() {
93
- app.lazy.load($pageEl, lazyEl => {
94
- if (app.params.lazy.sequential && imageIsLoading) {
95
- if (imagesSequence.indexOf(lazyEl) < 0) imagesSequence.push(lazyEl);
96
- return;
97
- }
98
-
99
- imageIsLoading = true;
100
- app.lazy.loadImage(lazyEl, onImageComplete);
101
- });
102
- }
103
-
104
- function attachEvents() {
105
- $pageEl[0].f7LazyAttached = true;
106
- $pageEl.on('lazy', lazyHandler);
107
- $pageEl.on('scroll', lazyHandler, true);
108
- $pageEl.find('.tab').on('tab:mounted tab:show', lazyHandler);
109
- app.on('resize', lazyHandler);
110
- }
111
-
112
- function detachEvents() {
113
- $pageEl[0].f7LazyAttached = false;
114
- delete $pageEl[0].f7LazyAttached;
115
- $pageEl.off('lazy', lazyHandler);
116
- $pageEl.off('scroll', lazyHandler, true);
117
- $pageEl.find('.tab').off('tab:mounted tab:show', lazyHandler);
118
- app.off('resize', lazyHandler);
119
- } // Store detach function
120
-
121
-
122
- if (!$pageEl[0].f7LazyDestroy) {
123
- $pageEl[0].f7LazyDestroy = detachEvents;
124
- } // Attach events
125
-
126
-
127
- if (!$pageEl[0].f7LazyAttached) {
128
- attachEvents();
129
- } // Run loader on page load/init
130
-
131
-
132
- lazyHandler();
133
- },
134
-
135
- isInViewport(lazyEl) {
136
- const app = this;
137
- const rect = lazyEl.getBoundingClientRect();
138
- const threshold = app.params.lazy.threshold || 0;
139
- return rect.top >= 0 - threshold && rect.left >= 0 - threshold && rect.top <= app.height + threshold && rect.left <= app.width + threshold;
140
- },
141
-
142
- loadImage(imageEl, callback) {
143
- const app = this;
144
- const window = getWindow();
145
- const $imageEl = $(imageEl);
146
- const bg = $imageEl.attr('data-background');
147
- const src = bg || $imageEl.attr('data-src');
148
-
149
- function onLoad() {
150
- $imageEl.removeClass('lazy').addClass('lazy-loaded');
151
-
152
- if (bg) {
153
- $imageEl.css('background-image', `url(${src})`);
154
- } else if (src) {
155
- $imageEl.attr('src', src);
156
- }
157
-
158
- if (callback) callback(imageEl);
159
- $imageEl.trigger('lazy:loaded');
160
- app.emit('lazyLoaded', $imageEl[0]);
161
- }
162
-
163
- if (!src) {
164
- $imageEl.trigger('lazy:load');
165
- app.emit('lazyLoad', $imageEl[0]);
166
- onLoad();
167
- return;
168
- }
169
-
170
- function onError() {
171
- $imageEl.removeClass('lazy').addClass('lazy-loaded');
172
-
173
- if (bg) {
174
- $imageEl.css('background-image', `url(${app.params.lazy.placeholder || ''})`);
175
- } else {
176
- $imageEl.attr('src', app.params.lazy.placeholder || '');
177
- }
178
-
179
- if (callback) callback(imageEl);
180
- $imageEl.trigger('lazy:error');
181
- app.emit('lazyError', $imageEl[0]);
182
- }
183
-
184
- const image = new window.Image();
185
- image.onload = onLoad;
186
- image.onerror = onError;
187
- image.src = src;
188
- $imageEl.removeAttr('data-src').removeAttr('data-background'); // Add loaded callback and events
189
-
190
- $imageEl.trigger('lazy:load');
191
- app.emit('lazyLoad', $imageEl[0]);
192
- },
193
-
194
- load(pageEl, callback) {
195
- const app = this;
196
- let $pageEl = $(pageEl);
197
- if (!$pageEl.hasClass('page')) $pageEl = $pageEl.parents('.page').eq(0);
198
-
199
- if ($pageEl.length === 0) {
200
- return;
201
- }
202
-
203
- $pageEl.find('.lazy').each(lazyEl => {
204
- const $lazyEl = $(lazyEl);
205
-
206
- if ($lazyEl.parents('.tab:not(.tab-active)').length > 0) {
207
- return;
208
- }
209
-
210
- if (app.lazy.isInViewport(lazyEl)) {
211
- if (callback) callback(lazyEl);else app.lazy.loadImage(lazyEl);
212
- }
213
- });
214
- }
215
-
216
- };
217
- export default {
218
- name: 'lazy',
219
- params: {
220
- lazy: {
221
- placeholder: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEXCwsK592mkAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==',
222
- threshold: 0,
223
- sequential: true,
224
- observer: true
225
- }
226
- },
227
-
228
- create() {
229
- const app = this;
230
- bindMethods(app, {
231
- lazy: Lazy
232
- });
233
- },
234
-
235
- on: {
236
- pageInit(page) {
237
- const app = this;
238
-
239
- if (page.$el.find('.lazy').length > 0 || page.$el.hasClass('lazy')) {
240
- app.lazy.create(page.$el);
241
- }
242
- },
243
-
244
- pageAfterIn(page) {
245
- const app = this;
246
- const support = getSupport();
247
- if (app.params.lazy.observer && support.intersectionObserver) return;
248
-
249
- if (page.$el.find('.lazy').length > 0 || page.$el.hasClass('lazy')) {
250
- app.lazy.create(page.$el);
251
- }
252
- },
253
-
254
- pageBeforeRemove(page) {
255
- const app = this;
256
-
257
- if (page.$el.find('.lazy').length > 0 || page.$el.hasClass('lazy')) {
258
- app.lazy.destroy(page.$el);
259
- }
260
- },
261
-
262
- tabMounted(tabEl) {
263
- const app = this;
264
- const $tabEl = $(tabEl);
265
-
266
- if ($tabEl.find('.lazy').length > 0 || $tabEl.hasClass('lazy')) {
267
- app.lazy.create($tabEl);
268
- }
269
- },
270
-
271
- tabBeforeRemove(tabEl) {
272
- const app = this;
273
- const support = getSupport();
274
- if (app.params.lazy.observer && support.intersectionObserver) return;
275
- const $tabEl = $(tabEl);
276
-
277
- if ($tabEl.find('.lazy').length > 0 || $tabEl.hasClass('lazy')) {
278
- app.lazy.destroy($tabEl);
279
- }
280
- }
281
-
282
- }
283
- };
@@ -1 +0,0 @@
1
- (function framework7ComponentLoader(e,a){void 0===a&&(a=!0);var t=e.$,r=e.utils,s=(e.getDevice,e.getSupport),l=(e.Class,e.Modal,e.ConstructorMethods,e.ModalMethods,e.$jsx,r.bindMethods);const o={destroy(e){const a=t(e).closest(".page");a.length&&a[0].f7LazyDestroy&&a[0].f7LazyDestroy()},create(e){const a=this,r=s(),l=t(e).closest(".page").eq(0),o=l.find(".lazy");if(0===o.length&&!l.hasClass("lazy"))return;const n=a.params.lazy.placeholder;!1!==n&&o.each((e=>{t(e).attr("data-src")&&!t(e).attr("src")&&t(e).attr("src",n)}));const d=[];let i=!1;function y(e){d.indexOf(e)>=0&&d.splice(d.indexOf(e),1),i=!1,a.params.lazy.sequential&&d.length>0&&(i=!0,a.lazy.loadImage(d[0],y))}if(a.params.lazy.observer&&r.intersectionObserver){let e=l[0].f7LazyObserver;return e||(e=new window.IntersectionObserver((function(e,t){e.forEach((e=>{if(e.isIntersecting){if(a.params.lazy.sequential&&i)return void(d.indexOf(e.target)<0&&d.push(e.target));i=!0,a.lazy.loadImage(e.target,y),t.unobserve(e.target)}}))}),{root:l[0]})),o.each((a=>{a.f7LazyObserverAdded||(a.f7LazyObserverAdded=!0,e.observe(a))})),void(l[0].f7LazyDestroy||(l[0].f7LazyDestroy=()=>{e.disconnect(),delete l[0].f7LazyDestroy,delete l[0].f7LazyObserver}))}function c(){a.lazy.load(l,(e=>{a.params.lazy.sequential&&i?d.indexOf(e)<0&&d.push(e):(i=!0,a.lazy.loadImage(e,y))}))}l[0].f7LazyDestroy||(l[0].f7LazyDestroy=function(){l[0].f7LazyAttached=!1,delete l[0].f7LazyAttached,l.off("lazy",c),l.off("scroll",c,!0),l.find(".tab").off("tab:mounted tab:show",c),a.off("resize",c)}),l[0].f7LazyAttached||(l[0].f7LazyAttached=!0,l.on("lazy",c),l.on("scroll",c,!0),l.find(".tab").on("tab:mounted tab:show",c),a.on("resize",c)),c()},isInViewport(e){const a=this,t=e.getBoundingClientRect(),r=a.params.lazy.threshold||0;return t.top>=0-r&&t.left>=0-r&&t.top<=a.height+r&&t.left<=a.width+r},loadImage(e,a){const r=this,s=t(e),l=s.attr("data-background"),o=l||s.attr("data-src");function n(){s.removeClass("lazy").addClass("lazy-loaded"),l?s.css("background-image",`url(${o})`):o&&s.attr("src",o),a&&a(e),s.trigger("lazy:loaded"),r.emit("lazyLoaded",s[0])}if(!o)return s.trigger("lazy:load"),r.emit("lazyLoad",s[0]),void n();const d=new window.Image;d.onload=n,d.onerror=function(){s.removeClass("lazy").addClass("lazy-loaded"),l?s.css("background-image",`url(${r.params.lazy.placeholder||""})`):s.attr("src",r.params.lazy.placeholder||""),a&&a(e),s.trigger("lazy:error"),r.emit("lazyError",s[0])},d.src=o,s.removeAttr("data-src").removeAttr("data-background"),s.trigger("lazy:load"),r.emit("lazyLoad",s[0])},load(e,a){const r=this;let s=t(e);s.hasClass("page")||(s=s.parents(".page").eq(0)),0!==s.length&&s.find(".lazy").each((e=>{t(e).parents(".tab:not(.tab-active)").length>0||r.lazy.isInViewport(e)&&(a?a(e):r.lazy.loadImage(e))}))}};var n={name:"lazy",params:{lazy:{placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEXCwsK592mkAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==",threshold:0,sequential:!0,observer:!0}},create(){l(this,{lazy:o})},on:{pageInit(e){const a=this;(e.$el.find(".lazy").length>0||e.$el.hasClass("lazy"))&&a.lazy.create(e.$el)},pageAfterIn(e){const a=this,t=s();a.params.lazy.observer&&t.intersectionObserver||(e.$el.find(".lazy").length>0||e.$el.hasClass("lazy"))&&a.lazy.create(e.$el)},pageBeforeRemove(e){const a=this;(e.$el.find(".lazy").length>0||e.$el.hasClass("lazy"))&&a.lazy.destroy(e.$el)},tabMounted(e){const a=this,r=t(e);(r.find(".lazy").length>0||r.hasClass("lazy"))&&a.lazy.create(r)},tabBeforeRemove(e){const a=this,r=s();if(a.params.lazy.observer&&r.intersectionObserver)return;const l=t(e);(l.find(".lazy").length>0||l.hasClass("lazy"))&&a.lazy.destroy(l)}}};if(a){if(e.prototype.modules&&e.prototype.modules[n.name])return;e.use(n),e.instance&&(e.instance.useModuleParams(n,e.instance.params),e.instance.useModule(n))}return n}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
@@ -1,23 +0,0 @@
1
- /* === Images Lazy Loading === */
2
- .lazy-loaded.lazy-fade-in {
3
- animation: lazyFadeIn 600ms;
4
- }
5
-
6
- @keyframes lazyFadeIn {
7
- from {
8
- opacity: 0;
9
- }
10
- to {
11
- opacity: 1;
12
- }
13
- }
14
-
15
- .if-ios-theme({
16
- @import './lazy-ios.less';
17
- });
18
- .if-md-theme({
19
- @import './lazy-md.less';
20
- });
21
- .if-aurora-theme({
22
- @import './lazy-aurora.less';
23
- });
@@ -1,15 +0,0 @@
1
- .aurora {
2
- .link {
3
- transition: opacity 300ms;
4
- &.active-state {
5
- opacity: var(--f7-link-pressed-opacity);
6
- transition-duration: 0ms;
7
- }
8
- }
9
- &.device-desktop {
10
- .link:not(.active-state):not(.no-hover):hover {
11
- opacity: var(--f7-link-hover-opacity);
12
- transition-duration: 0ms;
13
- }
14
- }
15
- }
@@ -1,25 +0,0 @@
1
- .aurora {
2
- .list {
3
- .item-media {
4
- min-width: 24px;
5
- }
6
- }
7
- .links-list a,
8
- .list .item-link:not(.item-selected),
9
- .list .list-button {
10
- transition-duration: 0ms;
11
- }
12
- &.device-desktop {
13
- .links-list a,
14
- .list .item-link:not(.item-selected) {
15
- &:hover:not(.active-state):not(.no-hover) {
16
- background: var(--f7-list-link-hover-bg-color);
17
- }
18
- }
19
- .list .list-button {
20
- &:hover:not(.active-state):not(.no-hover) {
21
- background: var(--f7-list-button-hover-bg-color);
22
- }
23
- }
24
- }
25
- }
@@ -1,21 +0,0 @@
1
- .aurora {
2
- .list-index {
3
- .list-index-label {
4
- margin-bottom: calc(-1 * var(--f7-list-index-label-size) / 2);
5
- margin-right: calc(var(--f7-list-index-width) - 1px);
6
- border-radius: 50%;
7
- &:before {
8
- position: absolute;
9
- width: 100%;
10
- height: 100%;
11
- border-radius: 50% 1px 50% 50%;
12
- content: '';
13
- background-color: inherit;
14
- left: 0;
15
- top: 0;
16
- transform: rotate(45deg);
17
- z-index: -1;
18
- }
19
- }
20
- }
21
- }
@@ -1 +0,0 @@
1
- (function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var n=e.$,s=e.utils,i=(e.getDevice,e.getSupport),l=e.Class,a=(e.Modal,e.ConstructorMethods),o=(e.ModalMethods,e.$jsx,s.extend),r=s.deleteProps;class d extends l{constructor(e,t){void 0===t&&(t={}),super(t,[e]);const s=this,l={el:null,listEl:null,indexes:"auto",iosItemHeight:14,mdItemHeight:14,auroraItemHeight:14,scrollList:!0,label:!1,renderItem:(e,t)=>`\n <li>${e}</li>\n `.trim(),renderSkipPlaceholder:()=>'<li class="list-index-skip-placeholder"></li>',on:{}};let a,r,d,c;if(s.useModulesParams(l),s.params=o(l,t),!s.params.el)return s;if(a=n(s.params.el),a[0].f7ListIndex)return a[0].f7ListIndex;if(c=a.find("ul"),0===c.length&&(c=n("<ul></ul>"),a.append(c)),s.params.listEl&&(r=n(s.params.listEl)),"auto"===s.params.indexes&&!r)return s;function p(){const e={index:s};s.calcSize(),e!==s.height&&s.render()}function h(e){const t=n(e.target).closest("li");if(!t.length)return;let i=t.index();if(s.skipRate>0){const e=i/(t.siblings("li").length-1);i=Math.round((s.indexes.length-1)*e)}const l=s.indexes[i];s.$el.trigger("listindex:click",{content:l,index:i}),s.emit("local::click listIndexClick",s,l,i),s.$el.trigger("listindex:select",{content:l,index:i}),s.emit("local::select listIndexSelect",s,l,i),s.$listEl&&s.params.scrollList&&s.scrollListToIndex(l,i)}r?d=r.parents(".page-content").eq(0):(d=a.siblings(".page-content").eq(0),0===d.length&&(d=a.parents(".page").eq(0).find(".page-content").eq(0))),a[0].f7ListIndex=s,o(s,{app:e,$el:a,el:a&&a[0],$ul:c,ul:c&&c[0],$listEl:r,listEl:r&&r[0],$pageContentEl:d,pageContentEl:d&&d[0],indexes:t.indexes,height:0,skipRate:0}),s.useModules();const u={};let f,g,x,m,I,v=null;function $(e){const t=c.children();t.length&&(x=t[0].getBoundingClientRect().top,m=t[t.length-1].getBoundingClientRect().top+t[0].offsetHeight,u.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,u.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,f=!0,g=!1,v=null)}function L(e){if(!f)return;!g&&s.params.label&&(I=n('<span class="list-index-label"></span>'),a.append(I)),g=!0;const t="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY;e.preventDefault();let i=(t-x)/(m-x);i=Math.min(Math.max(i,0),1);const l=Math.round((s.indexes.length-1)*i),o=s.indexes[l],r=m-x,d=(s.height-r)/2+(1-i)*r;l!==v&&(s.params.label&&I.html(o).transform(`translateY(-${d}px)`),s.$listEl&&s.params.scrollList&&s.scrollListToIndex(o,l)),v=l,s.$el.trigger("listindex:select"),s.emit("local::select listIndexSelect",s,o,l)}function E(){f&&(f=!1,g=!1,s.params.label&&(I&&I.remove(),I=void 0))}const b=!!i().passiveListener&&{passive:!0};return s.attachEvents=function(){a.parents(".tab").on("tab:show",p),a.parents(".page").on("page:reinit",p),a.parents(".panel").on("panel:open",p),a.parents(".sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast").on("modal:open",p),e.on("resize",p),a.on("click",h),a.on(e.touchEvents.start,$,b),e.on("touchmove:active",L),e.on("touchend:passive",E)},s.detachEvents=function(){a.parents(".tab").off("tab:show",p),a.parents(".page").off("page:reinit",p),a.parents(".panel").off("panel:open",p),a.parents(".sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast").off("modal:open",p),e.off("resize",p),a.off("click",h),a.off(e.touchEvents.start,$,b),e.off("touchmove:active",L),e.off("touchend:passive",E)},s.init(),s}scrollListToIndex(e,t){const s=this,{$listEl:i,$pageContentEl:l,app:a}=s;if(!i||!l||0===l.length)return s;let o;if(i.find(".list-group-title, .item-divider").each((t=>{if(o)return;const s=n(t);s.text()===e&&(o=s)})),!o||0===o.length)return s;const r=o.parent().offset().top;let d=parseInt(l.css("padding-top"),10);const c=l[0].scrollTop,p=o.offset().top;if(l.parents(".page-with-navbar-large").length){const e=a.navbar.getElByPage(l.parents(".page-with-navbar-large").eq(0)),t=n(e).find(".title-large");t.length&&(d-=t[0].offsetHeight||0)}return r<=d?l.scrollTop(r+c-d):l.scrollTop(p+c-d),s}renderSkipPlaceholder(){return this.params.renderSkipPlaceholder.call(this)}renderItem(e,t){return this.params.renderItem.call(this,e,t)}render(){const e=this,{$ul:t,indexes:n,skipRate:s}=e;let i;const l=n.map(((t,n)=>{if(n%s!=0&&s>0)return i=!0,"";let l=e.renderItem(t,n);return i&&(l=e.renderSkipPlaceholder()+l),i=!1,l})).join("");return t.html(l),e}calcSize(){const e=this,{app:t,params:n,el:s,indexes:i}=e,l=s.offsetHeight,a=n[`${t.theme}ItemHeight`],o=Math.floor(l/a),r=i.length;let d=0;return r>o&&(d=Math.ceil((2*r-1)/o)),e.height=l,e.skipRate=d,e}calcIndexes(){const e=this;return"auto"===e.params.indexes?(e.indexes=[],e.$listEl.find(".list-group-title, .item-divider").each((t=>{const s=n(t).text();e.indexes.indexOf(s)<0&&e.indexes.push(s)}))):e.indexes=e.params.indexes,e}update(){const e=this;return e.calcIndexes(),e.calcSize(),e.render(),e}init(){const e=this;e.calcIndexes(),e.calcSize(),e.render(),e.attachEvents()}destroy(){let e=this;e.$el.trigger("listindex:beforedestroy",e),e.emit("local::beforeDestroy listIndexBeforeDestroy"),e.detachEvents(),e.$el[0]&&(e.$el[0].f7ListIndex=null,delete e.$el[0].f7ListIndex),r(e),e=null}}var c={name:"listIndex",static:{ListIndex:d},create(){this.listIndex=a({defaultSelector:".list-index",constructor:d,app:this,domProp:"f7ListIndex"})},on:{tabMounted(e){const t=this;n(e).find(".list-index-init").each((e=>{const s=o(n(e).dataset(),{el:e});t.listIndex.create(s)}))},tabBeforeRemove(e){n(e).find(".list-index-init").each((e=>{e.f7ListIndex&&e.f7ListIndex.destroy()}))},pageInit(e){const t=this;e.$el.find(".list-index-init").each((e=>{const s=o(n(e).dataset(),{el:e});t.listIndex.create(s)}))},pageBeforeRemove(e){e.$el.find(".list-index-init").each((e=>{e.f7ListIndex&&e.f7ListIndex.destroy()}))}},vnode:{"list-index-init":{insert(e){const t=e.elm,s=o(n(t).dataset(),{el:t});this.listIndex.create(s)},destroy(e){const t=e.elm;t.f7ListIndex&&t.f7ListIndex.destroy()}}}};if(t){if(e.prototype.modules&&e.prototype.modules[c.name])return;e.use(c),e.instance&&(e.instance.useModuleParams(c,e.instance.params),e.instance.useModule(c))}return c}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))