@xenknight/framework7 0.0.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 (676) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +32 -0
  3. package/components/accordion/accordion-ios.less +2 -0
  4. package/components/accordion/accordion-md.less +2 -0
  5. package/components/accordion/accordion-rtl.css +1 -0
  6. package/components/accordion/accordion-vars.less +0 -0
  7. package/components/accordion/accordion.css +1 -0
  8. package/components/accordion/accordion.d.ts +55 -0
  9. package/components/accordion/accordion.js +118 -0
  10. package/components/accordion/accordion.less +215 -0
  11. package/components/actions/actions-class.js +325 -0
  12. package/components/actions/actions-ios.less +51 -0
  13. package/components/actions/actions-md.less +24 -0
  14. package/components/actions/actions-rtl.css +1 -0
  15. package/components/actions/actions-vars.less +72 -0
  16. package/components/actions/actions.css +1 -0
  17. package/components/actions/actions.d.ts +164 -0
  18. package/components/actions/actions.js +47 -0
  19. package/components/actions/actions.less +182 -0
  20. package/components/app/app-class.d.ts +189 -0
  21. package/components/app/app-class.js +349 -0
  22. package/components/app/app-ios.less +23 -0
  23. package/components/app/app-md.less +8 -0
  24. package/components/app/app-vars.less +122 -0
  25. package/components/app/app.less +121 -0
  26. package/components/app/load-module.js +125 -0
  27. package/components/area-chart/area-chart-class.js +467 -0
  28. package/components/area-chart/area-chart-ios.less +2 -0
  29. package/components/area-chart/area-chart-md.less +2 -0
  30. package/components/area-chart/area-chart-rtl.css +1 -0
  31. package/components/area-chart/area-chart-vars.less +35 -0
  32. package/components/area-chart/area-chart.css +1 -0
  33. package/components/area-chart/area-chart.d.ts +128 -0
  34. package/components/area-chart/area-chart.js +44 -0
  35. package/components/area-chart/area-chart.less +131 -0
  36. package/components/autocomplete/autocomplete-class.js +813 -0
  37. package/components/autocomplete/autocomplete-ios.less +9 -0
  38. package/components/autocomplete/autocomplete-md.less +30 -0
  39. package/components/autocomplete/autocomplete-rtl.css +1 -0
  40. package/components/autocomplete/autocomplete-vars.less +36 -0
  41. package/components/autocomplete/autocomplete.css +1 -0
  42. package/components/autocomplete/autocomplete.d.ts +193 -0
  43. package/components/autocomplete/autocomplete.js +81 -0
  44. package/components/autocomplete/autocomplete.less +102 -0
  45. package/components/badge/badge-ios.less +2 -0
  46. package/components/badge/badge-md.less +2 -0
  47. package/components/badge/badge-vars.less +18 -0
  48. package/components/badge/badge.d.ts +14 -0
  49. package/components/badge/badge.js +3 -0
  50. package/components/badge/badge.less +45 -0
  51. package/components/block/block-ios.less +2 -0
  52. package/components/block/block-md.less +2 -0
  53. package/components/block/block-vars.less +77 -0
  54. package/components/block/block.d.ts +14 -0
  55. package/components/block/block.js +3 -0
  56. package/components/block/block.less +209 -0
  57. package/components/breadcrumbs/breadcrumbs-ios.less +2 -0
  58. package/components/breadcrumbs/breadcrumbs-md.less +2 -0
  59. package/components/breadcrumbs/breadcrumbs-rtl.css +1 -0
  60. package/components/breadcrumbs/breadcrumbs-vars.less +52 -0
  61. package/components/breadcrumbs/breadcrumbs.css +1 -0
  62. package/components/breadcrumbs/breadcrumbs.d.ts +15 -0
  63. package/components/breadcrumbs/breadcrumbs.js +11 -0
  64. package/components/breadcrumbs/breadcrumbs.less +91 -0
  65. package/components/button/button-ios.less +21 -0
  66. package/components/button/button-md.less +11 -0
  67. package/components/button/button-vars.less +114 -0
  68. package/components/button/button.d.ts +14 -0
  69. package/components/button/button.js +3 -0
  70. package/components/button/button.less +421 -0
  71. package/components/calendar/calendar-class.js +1872 -0
  72. package/components/calendar/calendar-ios.less +2 -0
  73. package/components/calendar/calendar-md.less +2 -0
  74. package/components/calendar/calendar-rtl.css +1 -0
  75. package/components/calendar/calendar-vars.less +108 -0
  76. package/components/calendar/calendar.css +1 -0
  77. package/components/calendar/calendar.d.ts +312 -0
  78. package/components/calendar/calendar.js +118 -0
  79. package/components/calendar/calendar.less +448 -0
  80. package/components/card/card-ios.less +2 -0
  81. package/components/card/card-md.less +2 -0
  82. package/components/card/card-rtl.css +1 -0
  83. package/components/card/card-vars.less +80 -0
  84. package/components/card/card.css +1 -0
  85. package/components/card/card.d.ts +69 -0
  86. package/components/card/card.js +504 -0
  87. package/components/card/card.less +307 -0
  88. package/components/checkbox/checkbox-ios.less +23 -0
  89. package/components/checkbox/checkbox-md.less +17 -0
  90. package/components/checkbox/checkbox-rtl.css +1 -0
  91. package/components/checkbox/checkbox-vars.less +25 -0
  92. package/components/checkbox/checkbox.css +1 -0
  93. package/components/checkbox/checkbox.d.ts +14 -0
  94. package/components/checkbox/checkbox.js +3 -0
  95. package/components/checkbox/checkbox.less +155 -0
  96. package/components/chip/chip-ios.less +25 -0
  97. package/components/chip/chip-md.less +30 -0
  98. package/components/chip/chip-rtl.css +1 -0
  99. package/components/chip/chip-vars.less +42 -0
  100. package/components/chip/chip.css +1 -0
  101. package/components/chip/chip.d.ts +14 -0
  102. package/components/chip/chip.js +3 -0
  103. package/components/chip/chip.less +106 -0
  104. package/components/color-picker/color-picker-class.js +871 -0
  105. package/components/color-picker/color-picker-ios.less +2 -0
  106. package/components/color-picker/color-picker-md.less +2 -0
  107. package/components/color-picker/color-picker-rtl.css +1 -0
  108. package/components/color-picker/color-picker-vars.less +39 -0
  109. package/components/color-picker/color-picker.css +1 -0
  110. package/components/color-picker/color-picker.d.ts +233 -0
  111. package/components/color-picker/color-picker.js +92 -0
  112. package/components/color-picker/color-picker.less +557 -0
  113. package/components/color-picker/modules/alpha-slider.js +91 -0
  114. package/components/color-picker/modules/brightness-slider.js +80 -0
  115. package/components/color-picker/modules/current-color.js +14 -0
  116. package/components/color-picker/modules/hex.js +71 -0
  117. package/components/color-picker/modules/hs-spectrum.js +118 -0
  118. package/components/color-picker/modules/hsb-sliders.js +191 -0
  119. package/components/color-picker/modules/hue-slider.js +73 -0
  120. package/components/color-picker/modules/initial-current-colors.js +43 -0
  121. package/components/color-picker/modules/palette.js +46 -0
  122. package/components/color-picker/modules/rgb-bars.js +183 -0
  123. package/components/color-picker/modules/rgb-sliders.js +185 -0
  124. package/components/color-picker/modules/sb-spectrum.js +119 -0
  125. package/components/color-picker/modules/wheel.js +173 -0
  126. package/components/contacts-list/contacts-list-ios.less +2 -0
  127. package/components/contacts-list/contacts-list-md.less +21 -0
  128. package/components/contacts-list/contacts-list-rtl.css +1 -0
  129. package/components/contacts-list/contacts-list-vars.less +24 -0
  130. package/components/contacts-list/contacts-list.css +1 -0
  131. package/components/contacts-list/contacts-list.d.ts +14 -0
  132. package/components/contacts-list/contacts-list.js +3 -0
  133. package/components/contacts-list/contacts-list.less +26 -0
  134. package/components/data-table/data-table-class.js +141 -0
  135. package/components/data-table/data-table-ios.less +70 -0
  136. package/components/data-table/data-table-md.less +88 -0
  137. package/components/data-table/data-table-rtl.css +1 -0
  138. package/components/data-table/data-table-vars.less +77 -0
  139. package/components/data-table/data-table.css +1 -0
  140. package/components/data-table/data-table.d.ts +61 -0
  141. package/components/data-table/data-table.js +64 -0
  142. package/components/data-table/data-table.less +429 -0
  143. package/components/dialog/dialog-class.js +196 -0
  144. package/components/dialog/dialog-ios.less +94 -0
  145. package/components/dialog/dialog-md.less +86 -0
  146. package/components/dialog/dialog-rtl.css +1 -0
  147. package/components/dialog/dialog-vars.less +93 -0
  148. package/components/dialog/dialog.css +1 -0
  149. package/components/dialog/dialog.d.ts +245 -0
  150. package/components/dialog/dialog.js +242 -0
  151. package/components/dialog/dialog.less +142 -0
  152. package/components/fab/fab-ios.less +9 -0
  153. package/components/fab/fab-md.less +11 -0
  154. package/components/fab/fab-rtl.css +1 -0
  155. package/components/fab/fab-vars.less +46 -0
  156. package/components/fab/fab.css +1 -0
  157. package/components/fab/fab.d.ts +32 -0
  158. package/components/fab/fab.js +172 -0
  159. package/components/fab/fab.less +523 -0
  160. package/components/form/form-ios.less +0 -0
  161. package/components/form/form-md.less +0 -0
  162. package/components/form/form-rtl.css +0 -0
  163. package/components/form/form.css +0 -0
  164. package/components/form/form.d.ts +64 -0
  165. package/components/form/form.js +311 -0
  166. package/components/form/form.less +7 -0
  167. package/components/gauge/gauge-class.js +298 -0
  168. package/components/gauge/gauge-ios.less +2 -0
  169. package/components/gauge/gauge-md.less +2 -0
  170. package/components/gauge/gauge-rtl.css +1 -0
  171. package/components/gauge/gauge.css +1 -0
  172. package/components/gauge/gauge.d.ts +100 -0
  173. package/components/gauge/gauge.js +90 -0
  174. package/components/gauge/gauge.less +24 -0
  175. package/components/grid/grid-ios.less +2 -0
  176. package/components/grid/grid-md.less +2 -0
  177. package/components/grid/grid-rtl.css +1 -0
  178. package/components/grid/grid-vars.less +3 -0
  179. package/components/grid/grid.css +1 -0
  180. package/components/grid/grid.d.ts +15 -0
  181. package/components/grid/grid.js +3 -0
  182. package/components/grid/grid.less +78 -0
  183. package/components/icon/icon-ios.less +44 -0
  184. package/components/icon/icon-md.less +56 -0
  185. package/components/icon/icon.d.ts +14 -0
  186. package/components/icon/icon.js +3 -0
  187. package/components/icon/icon.less +33 -0
  188. package/components/infinite-scroll/infinite-scroll-ios.less +11 -0
  189. package/components/infinite-scroll/infinite-scroll-md.less +6 -0
  190. package/components/infinite-scroll/infinite-scroll-rtl.css +1 -0
  191. package/components/infinite-scroll/infinite-scroll.css +1 -0
  192. package/components/infinite-scroll/infinite-scroll.d.ts +27 -0
  193. package/components/infinite-scroll/infinite-scroll.js +94 -0
  194. package/components/infinite-scroll/infinite-scroll.less +15 -0
  195. package/components/input/input-ios.less +129 -0
  196. package/components/input/input-md.less +171 -0
  197. package/components/input/input-rtl.css +1 -0
  198. package/components/input/input-vars.less +94 -0
  199. package/components/input/input.css +1 -0
  200. package/components/input/input.d.ts +60 -0
  201. package/components/input/input.js +339 -0
  202. package/components/input/input.less +355 -0
  203. package/components/link/link-ios.less +9 -0
  204. package/components/link/link-md.less +2 -0
  205. package/components/link/link-vars.less +9 -0
  206. package/components/link/link.d.ts +14 -0
  207. package/components/link/link.js +3 -0
  208. package/components/link/link.less +37 -0
  209. package/components/list/list-ios.less +15 -0
  210. package/components/list/list-md.less +5 -0
  211. package/components/list/list-vars.less +184 -0
  212. package/components/list/list.d.ts +14 -0
  213. package/components/list/list.js +3 -0
  214. package/components/list/list.less +718 -0
  215. package/components/list-index/list-index-class.js +333 -0
  216. package/components/list-index/list-index-ios.less +21 -0
  217. package/components/list-index/list-index-md.less +7 -0
  218. package/components/list-index/list-index-rtl.css +1 -0
  219. package/components/list-index/list-index-vars.less +25 -0
  220. package/components/list-index/list-index.css +1 -0
  221. package/components/list-index/list-index.d.ts +101 -0
  222. package/components/list-index/list-index.js +65 -0
  223. package/components/list-index/list-index.less +130 -0
  224. package/components/login-screen/login-screen-class.js +38 -0
  225. package/components/login-screen/login-screen-ios.less +2 -0
  226. package/components/login-screen/login-screen-md.less +2 -0
  227. package/components/login-screen/login-screen-rtl.css +1 -0
  228. package/components/login-screen/login-screen-vars.less +33 -0
  229. package/components/login-screen/login-screen.css +1 -0
  230. package/components/login-screen/login-screen.d.ts +99 -0
  231. package/components/login-screen/login-screen.js +32 -0
  232. package/components/login-screen/login-screen.less +100 -0
  233. package/components/messagebar/messagebar-class.js +367 -0
  234. package/components/messagebar/messagebar-ios.less +88 -0
  235. package/components/messagebar/messagebar-md.less +114 -0
  236. package/components/messagebar/messagebar-rtl.css +1 -0
  237. package/components/messagebar/messagebar-vars.less +75 -0
  238. package/components/messagebar/messagebar.css +1 -0
  239. package/components/messagebar/messagebar.d.ts +165 -0
  240. package/components/messagebar/messagebar.js +66 -0
  241. package/components/messagebar/messagebar.less +162 -0
  242. package/components/messages/messages-class.js +487 -0
  243. package/components/messages/messages-ios.less +165 -0
  244. package/components/messages/messages-md.less +140 -0
  245. package/components/messages/messages-rtl.css +1 -0
  246. package/components/messages/messages-vars.less +82 -0
  247. package/components/messages/messages.css +1 -0
  248. package/components/messages/messages.d.ts +162 -0
  249. package/components/messages/messages.js +65 -0
  250. package/components/messages/messages.less +218 -0
  251. package/components/modal/custom-modal-class.js +66 -0
  252. package/components/modal/modal-class.js +224 -0
  253. package/components/modal/modal.d.ts +82 -0
  254. package/components/modal/modal.js +22 -0
  255. package/components/modal/modal.less +14 -0
  256. package/components/navbar/navbar-ios.less +755 -0
  257. package/components/navbar/navbar-md.less +65 -0
  258. package/components/navbar/navbar-vars.less +74 -0
  259. package/components/navbar/navbar.d.ts +77 -0
  260. package/components/navbar/navbar.js +712 -0
  261. package/components/navbar/navbar.less +311 -0
  262. package/components/notification/notification-class.js +212 -0
  263. package/components/notification/notification-ios.less +55 -0
  264. package/components/notification/notification-md.less +87 -0
  265. package/components/notification/notification-rtl.css +1 -0
  266. package/components/notification/notification-vars.less +75 -0
  267. package/components/notification/notification.css +1 -0
  268. package/components/notification/notification.d.ts +122 -0
  269. package/components/notification/notification.js +33 -0
  270. package/components/notification/notification.less +94 -0
  271. package/components/page/page-ios.less +154 -0
  272. package/components/page/page-md.less +83 -0
  273. package/components/page/page-transitions/circle.less +107 -0
  274. package/components/page/page-transitions/cover-v.less +61 -0
  275. package/components/page/page-transitions/cover.less +71 -0
  276. package/components/page/page-transitions/dive.less +77 -0
  277. package/components/page/page-transitions/fade.less +53 -0
  278. package/components/page/page-transitions/flip.less +91 -0
  279. package/components/page/page-transitions/parallax.less +75 -0
  280. package/components/page/page-transitions/push.less +75 -0
  281. package/components/page/page-vars.less +47 -0
  282. package/components/page/page.d.ts +14 -0
  283. package/components/page/page.js +3 -0
  284. package/components/page/page.less +204 -0
  285. package/components/panel/panel-class.js +556 -0
  286. package/components/panel/panel-ios.less +2 -0
  287. package/components/panel/panel-md.less +11 -0
  288. package/components/panel/panel-rtl.css +3 -0
  289. package/components/panel/panel-vars.less +24 -0
  290. package/components/panel/panel.css +3 -0
  291. package/components/panel/panel.d.ts +198 -0
  292. package/components/panel/panel.js +189 -0
  293. package/components/panel/panel.less +403 -0
  294. package/components/panel/resizable-panel.js +160 -0
  295. package/components/panel/swipe-panel.js +311 -0
  296. package/components/photo-browser/photo-browser-class.js +734 -0
  297. package/components/photo-browser/photo-browser-ios.less +2 -0
  298. package/components/photo-browser/photo-browser-md.less +2 -0
  299. package/components/photo-browser/photo-browser-rtl.css +1 -0
  300. package/components/photo-browser/photo-browser-vars.less +16 -0
  301. package/components/photo-browser/photo-browser.css +1 -0
  302. package/components/photo-browser/photo-browser.d.ts +204 -0
  303. package/components/photo-browser/photo-browser.js +73 -0
  304. package/components/photo-browser/photo-browser.less +358 -0
  305. package/components/picker/picker-class.js +588 -0
  306. package/components/picker/picker-column.js +121 -0
  307. package/components/picker/picker-ios.less +12 -0
  308. package/components/picker/picker-md.less +8 -0
  309. package/components/picker/picker-rtl.css +1 -0
  310. package/components/picker/picker-vars.less +35 -0
  311. package/components/picker/picker.css +1 -0
  312. package/components/picker/picker.d.ts +209 -0
  313. package/components/picker/picker.js +59 -0
  314. package/components/picker/picker.less +180 -0
  315. package/components/pie-chart/pie-chart-class.js +250 -0
  316. package/components/pie-chart/pie-chart-ios.less +2 -0
  317. package/components/pie-chart/pie-chart-md.less +2 -0
  318. package/components/pie-chart/pie-chart-rtl.css +1 -0
  319. package/components/pie-chart/pie-chart.css +1 -0
  320. package/components/pie-chart/pie-chart.d.ts +99 -0
  321. package/components/pie-chart/pie-chart.js +32 -0
  322. package/components/pie-chart/pie-chart.less +43 -0
  323. package/components/popover/popover-class.js +293 -0
  324. package/components/popover/popover-ios.less +6 -0
  325. package/components/popover/popover-md.less +41 -0
  326. package/components/popover/popover-rtl.css +1 -0
  327. package/components/popover/popover-vars.less +25 -0
  328. package/components/popover/popover.css +1 -0
  329. package/components/popover/popover.d.ts +137 -0
  330. package/components/popover/popover.js +75 -0
  331. package/components/popover/popover.less +168 -0
  332. package/components/popup/popup-class.js +329 -0
  333. package/components/popup/popup-ios.less +2 -0
  334. package/components/popup/popup-md.less +2 -0
  335. package/components/popup/popup-rtl.css +1 -0
  336. package/components/popup/popup-vars.less +21 -0
  337. package/components/popup/popup.css +1 -0
  338. package/components/popup/popup.d.ts +143 -0
  339. package/components/popup/popup.js +46 -0
  340. package/components/popup/popup.less +204 -0
  341. package/components/preloader/preloader-ios.less +57 -0
  342. package/components/preloader/preloader-md.less +114 -0
  343. package/components/preloader/preloader-rtl.css +1 -0
  344. package/components/preloader/preloader-vars.less +16 -0
  345. package/components/preloader/preloader.css +1 -0
  346. package/components/preloader/preloader.d.ts +26 -0
  347. package/components/preloader/preloader.js +106 -0
  348. package/components/preloader/preloader.less +60 -0
  349. package/components/progressbar/progressbar-ios.less +59 -0
  350. package/components/progressbar/progressbar-md.less +141 -0
  351. package/components/progressbar/progressbar-rtl.css +1 -0
  352. package/components/progressbar/progressbar-vars.less +22 -0
  353. package/components/progressbar/progressbar.css +1 -0
  354. package/components/progressbar/progressbar.d.ts +31 -0
  355. package/components/progressbar/progressbar.js +150 -0
  356. package/components/progressbar/progressbar.less +111 -0
  357. package/components/pull-to-refresh/pull-to-refresh-class.js +512 -0
  358. package/components/pull-to-refresh/pull-to-refresh-ios.less +88 -0
  359. package/components/pull-to-refresh/pull-to-refresh-md.less +129 -0
  360. package/components/pull-to-refresh/pull-to-refresh-rtl.css +1 -0
  361. package/components/pull-to-refresh/pull-to-refresh-vars.less +14 -0
  362. package/components/pull-to-refresh/pull-to-refresh.css +1 -0
  363. package/components/pull-to-refresh/pull-to-refresh.d.ts +103 -0
  364. package/components/pull-to-refresh/pull-to-refresh.js +62 -0
  365. package/components/pull-to-refresh/pull-to-refresh.less +38 -0
  366. package/components/radio/radio-ios.less +61 -0
  367. package/components/radio/radio-md.less +64 -0
  368. package/components/radio/radio-rtl.css +1 -0
  369. package/components/radio/radio-vars.less +24 -0
  370. package/components/radio/radio.css +1 -0
  371. package/components/radio/radio.d.ts +14 -0
  372. package/components/radio/radio.js +3 -0
  373. package/components/radio/radio.less +64 -0
  374. package/components/range/range-class.js +577 -0
  375. package/components/range/range-ios.less +9 -0
  376. package/components/range/range-md.less +41 -0
  377. package/components/range/range-rtl.css +1 -0
  378. package/components/range/range-vars.less +61 -0
  379. package/components/range/range.css +1 -0
  380. package/components/range/range.d.ts +143 -0
  381. package/components/range/range.js +75 -0
  382. package/components/range/range.less +235 -0
  383. package/components/searchbar/remove-diacritics.js +271 -0
  384. package/components/searchbar/searchbar-class.js +592 -0
  385. package/components/searchbar/searchbar-ios.less +107 -0
  386. package/components/searchbar/searchbar-md.less +147 -0
  387. package/components/searchbar/searchbar-rtl.css +1 -0
  388. package/components/searchbar/searchbar-vars.less +77 -0
  389. package/components/searchbar/searchbar.css +1 -0
  390. package/components/searchbar/searchbar.d.ts +161 -0
  391. package/components/searchbar/searchbar.js +122 -0
  392. package/components/searchbar/searchbar.less +322 -0
  393. package/components/sheet/sheet-class.js +673 -0
  394. package/components/sheet/sheet-ios.less +2 -0
  395. package/components/sheet/sheet-md.less +9 -0
  396. package/components/sheet/sheet-rtl.css +1 -0
  397. package/components/sheet/sheet-vars.less +27 -0
  398. package/components/sheet/sheet.css +1 -0
  399. package/components/sheet/sheet.d.ts +170 -0
  400. package/components/sheet/sheet.js +76 -0
  401. package/components/sheet/sheet.less +196 -0
  402. package/components/skeleton/skeleton-ios.less +2 -0
  403. package/components/skeleton/skeleton-md.less +2 -0
  404. package/components/skeleton/skeleton-rtl.css +1 -0
  405. package/components/skeleton/skeleton-vars.less +8 -0
  406. package/components/skeleton/skeleton.css +1 -0
  407. package/components/skeleton/skeleton.d.ts +14 -0
  408. package/components/skeleton/skeleton.js +3 -0
  409. package/components/skeleton/skeleton.less +11 -0
  410. package/components/smart-select/smart-select-class.js +874 -0
  411. package/components/smart-select/smart-select-ios.less +2 -0
  412. package/components/smart-select/smart-select-md.less +2 -0
  413. package/components/smart-select/smart-select-rtl.css +1 -0
  414. package/components/smart-select/smart-select-vars.less +6 -0
  415. package/components/smart-select/smart-select.css +1 -0
  416. package/components/smart-select/smart-select.d.ts +204 -0
  417. package/components/smart-select/smart-select.js +138 -0
  418. package/components/smart-select/smart-select.less +42 -0
  419. package/components/sortable/sortable-ios.less +7 -0
  420. package/components/sortable/sortable-md.less +7 -0
  421. package/components/sortable/sortable-rtl.css +1 -0
  422. package/components/sortable/sortable-vars.less +22 -0
  423. package/components/sortable/sortable.css +1 -0
  424. package/components/sortable/sortable.d.ts +50 -0
  425. package/components/sortable/sortable.js +286 -0
  426. package/components/sortable/sortable.less +133 -0
  427. package/components/statusbar/statusbar-ios.less +2 -0
  428. package/components/statusbar/statusbar-md.less +2 -0
  429. package/components/statusbar/statusbar.d.ts +54 -0
  430. package/components/statusbar/statusbar.js +190 -0
  431. package/components/statusbar/statusbar.less +7 -0
  432. package/components/stepper/stepper-class.js +403 -0
  433. package/components/stepper/stepper-ios.less +36 -0
  434. package/components/stepper/stepper-md.less +16 -0
  435. package/components/stepper/stepper-rtl.css +1 -0
  436. package/components/stepper/stepper-vars.less +40 -0
  437. package/components/stepper/stepper.css +1 -0
  438. package/components/stepper/stepper.d.ts +121 -0
  439. package/components/stepper/stepper.js +82 -0
  440. package/components/stepper/stepper.less +178 -0
  441. package/components/subnavbar/subnavbar-ios.less +51 -0
  442. package/components/subnavbar/subnavbar-md.less +47 -0
  443. package/components/subnavbar/subnavbar-vars.less +36 -0
  444. package/components/subnavbar/subnavbar.d.ts +11 -0
  445. package/components/subnavbar/subnavbar.js +17 -0
  446. package/components/subnavbar/subnavbar.less +128 -0
  447. package/components/swipeout/swipeout-ios.less +2 -0
  448. package/components/swipeout/swipeout-md.less +2 -0
  449. package/components/swipeout/swipeout-rtl.css +1 -0
  450. package/components/swipeout/swipeout-vars.less +24 -0
  451. package/components/swipeout/swipeout.css +1 -0
  452. package/components/swipeout/swipeout.d.ts +68 -0
  453. package/components/swipeout/swipeout.js +513 -0
  454. package/components/swipeout/swipeout.less +109 -0
  455. package/components/swiper/swiper-ios.less +2 -0
  456. package/components/swiper/swiper-md.less +2 -0
  457. package/components/swiper/swiper-rtl.css +1 -0
  458. package/components/swiper/swiper.css +1 -0
  459. package/components/swiper/swiper.d.ts +25 -0
  460. package/components/swiper/swiper.js +141 -0
  461. package/components/swiper/swiper.less +5 -0
  462. package/components/tabs/tabs-ios.less +2 -0
  463. package/components/tabs/tabs-md.less +2 -0
  464. package/components/tabs/tabs-rtl.css +1 -0
  465. package/components/tabs/tabs.css +1 -0
  466. package/components/tabs/tabs.d.ts +39 -0
  467. package/components/tabs/tabs.js +243 -0
  468. package/components/tabs/tabs.less +45 -0
  469. package/components/text-editor/text-editor-class.js +516 -0
  470. package/components/text-editor/text-editor-ios.less +9 -0
  471. package/components/text-editor/text-editor-md.less +11 -0
  472. package/components/text-editor/text-editor-rtl.css +1 -0
  473. package/components/text-editor/text-editor-vars.less +51 -0
  474. package/components/text-editor/text-editor.css +1 -0
  475. package/components/text-editor/text-editor.d.ts +166 -0
  476. package/components/text-editor/text-editor.js +81 -0
  477. package/components/text-editor/text-editor.less +153 -0
  478. package/components/timeline/timeline-ios.less +11 -0
  479. package/components/timeline/timeline-md.less +7 -0
  480. package/components/timeline/timeline-rtl.css +1 -0
  481. package/components/timeline/timeline-vars.less +64 -0
  482. package/components/timeline/timeline.css +1 -0
  483. package/components/timeline/timeline.d.ts +14 -0
  484. package/components/timeline/timeline.js +3 -0
  485. package/components/timeline/timeline.less +413 -0
  486. package/components/toast/toast-class.js +105 -0
  487. package/components/toast/toast-ios.less +81 -0
  488. package/components/toast/toast-md.less +72 -0
  489. package/components/toast/toast-rtl.css +1 -0
  490. package/components/toast/toast-vars.less +24 -0
  491. package/components/toast/toast.css +1 -0
  492. package/components/toast/toast.d.ts +121 -0
  493. package/components/toast/toast.js +40 -0
  494. package/components/toast/toast.less +62 -0
  495. package/components/toggle/toggle-class.js +165 -0
  496. package/components/toggle/toggle-ios.less +70 -0
  497. package/components/toggle/toggle-md.less +44 -0
  498. package/components/toggle/toggle-rtl.css +1 -0
  499. package/components/toggle/toggle-vars.less +30 -0
  500. package/components/toggle/toggle.css +1 -0
  501. package/components/toggle/toggle.d.ts +73 -0
  502. package/components/toggle/toggle.js +57 -0
  503. package/components/toggle/toggle.less +52 -0
  504. package/components/toolbar/toolbar-ios.less +47 -0
  505. package/components/toolbar/toolbar-md.less +77 -0
  506. package/components/toolbar/toolbar-vars.less +71 -0
  507. package/components/toolbar/toolbar.d.ts +43 -0
  508. package/components/toolbar/toolbar.js +198 -0
  509. package/components/toolbar/toolbar.less +306 -0
  510. package/components/tooltip/tooltip-class.js +336 -0
  511. package/components/tooltip/tooltip-ios.less +2 -0
  512. package/components/tooltip/tooltip-md.less +2 -0
  513. package/components/tooltip/tooltip-rtl.css +1 -0
  514. package/components/tooltip/tooltip-vars.less +19 -0
  515. package/components/tooltip/tooltip.css +1 -0
  516. package/components/tooltip/tooltip.d.ts +105 -0
  517. package/components/tooltip/tooltip.js +129 -0
  518. package/components/tooltip/tooltip.less +39 -0
  519. package/components/touch-ripple/touch-ripple-class.js +85 -0
  520. package/components/touch-ripple/touch-ripple-ios.less +2 -0
  521. package/components/touch-ripple/touch-ripple-md.less +2 -0
  522. package/components/touch-ripple/touch-ripple-vars.less +8 -0
  523. package/components/touch-ripple/touch-ripple.d.ts +25 -0
  524. package/components/touch-ripple/touch-ripple.js +18 -0
  525. package/components/touch-ripple/touch-ripple.less +114 -0
  526. package/components/treeview/treeview-ios.less +2 -0
  527. package/components/treeview/treeview-md.less +2 -0
  528. package/components/treeview/treeview-rtl.css +1 -0
  529. package/components/treeview/treeview-vars.less +38 -0
  530. package/components/treeview/treeview.css +1 -0
  531. package/components/treeview/treeview.d.ts +42 -0
  532. package/components/treeview/treeview.js +74 -0
  533. package/components/treeview/treeview.less +160 -0
  534. package/components/typography/typography-ios.less +2 -0
  535. package/components/typography/typography-md.less +2 -0
  536. package/components/typography/typography-rtl.css +1 -0
  537. package/components/typography/typography-vars.less +4 -0
  538. package/components/typography/typography.css +1 -0
  539. package/components/typography/typography.d.ts +14 -0
  540. package/components/typography/typography.js +3 -0
  541. package/components/typography/typography.less +220 -0
  542. package/components/view/resizable-view.js +125 -0
  543. package/components/view/view-class.js +206 -0
  544. package/components/view/view-ios.less +2 -0
  545. package/components/view/view-md.less +2 -0
  546. package/components/view/view.d.ts +199 -0
  547. package/components/view/view.js +173 -0
  548. package/components/view/view.less +35 -0
  549. package/components/virtual-list/virtual-list-class.js +583 -0
  550. package/components/virtual-list/virtual-list-ios.less +2 -0
  551. package/components/virtual-list/virtual-list-md.less +2 -0
  552. package/components/virtual-list/virtual-list-rtl.css +0 -0
  553. package/components/virtual-list/virtual-list.css +0 -0
  554. package/components/virtual-list/virtual-list.d.ts +142 -0
  555. package/components/virtual-list/virtual-list.js +17 -0
  556. package/components/virtual-list/virtual-list.less +7 -0
  557. package/framework7-bundle-rtl.css +19821 -0
  558. package/framework7-bundle-rtl.min.css +19 -0
  559. package/framework7-bundle.css +19802 -0
  560. package/framework7-bundle.esm.js +93 -0
  561. package/framework7-bundle.js +48416 -0
  562. package/framework7-bundle.js.map +1 -0
  563. package/framework7-bundle.less +92 -0
  564. package/framework7-bundle.min.css +19 -0
  565. package/framework7-bundle.min.js +14 -0
  566. package/framework7-bundle.min.js.map +1 -0
  567. package/framework7-lite-bundle.esm.js +86 -0
  568. package/framework7-lite.esm.js +37 -0
  569. package/framework7-lite.js +31 -0
  570. package/framework7-rtl.css +5252 -0
  571. package/framework7-rtl.min.css +17 -0
  572. package/framework7-types.d.ts +336 -0
  573. package/framework7.css +5245 -0
  574. package/framework7.d.ts +322 -0
  575. package/framework7.esm.js +41 -0
  576. package/framework7.js +42 -0
  577. package/framework7.less +41 -0
  578. package/framework7.min.css +17 -0
  579. package/less/mixins.less +281 -0
  580. package/less/plugin.js +15 -0
  581. package/less/vars.less +7 -0
  582. package/modules/clicks/clicks.d.ts +19 -0
  583. package/modules/clicks/clicks.js +94 -0
  584. package/modules/component/$h.js +15 -0
  585. package/modules/component/$jsx.js +17 -0
  586. package/modules/component/component-class.js +517 -0
  587. package/modules/component/component.d.ts +111 -0
  588. package/modules/component/component.js +44 -0
  589. package/modules/component/custom-components.js +1 -0
  590. package/modules/component/eventslisteners.js +74 -0
  591. package/modules/component/parse-component.js +79 -0
  592. package/modules/component/patch.js +8 -0
  593. package/modules/component/snabbdom/h.d.ts +10 -0
  594. package/modules/component/snabbdom/h.js +50 -0
  595. package/modules/component/snabbdom/helpers/attachto.d.ts +9 -0
  596. package/modules/component/snabbdom/helpers/attachto.js +49 -0
  597. package/modules/component/snabbdom/hooks.d.ts +23 -0
  598. package/modules/component/snabbdom/hooks.js +0 -0
  599. package/modules/component/snabbdom/htmldomapi.d.ts +19 -0
  600. package/modules/component/snabbdom/htmldomapi.js +67 -0
  601. package/modules/component/snabbdom/is.d.ts +2 -0
  602. package/modules/component/snabbdom/is.js +4 -0
  603. package/modules/component/snabbdom/modules/attributes.d.ts +4 -0
  604. package/modules/component/snabbdom/modules/attributes.js +51 -0
  605. package/modules/component/snabbdom/modules/class.d.ts +4 -0
  606. package/modules/component/snabbdom/modules/class.js +27 -0
  607. package/modules/component/snabbdom/modules/dataset.d.ts +4 -0
  608. package/modules/component/snabbdom/modules/dataset.js +37 -0
  609. package/modules/component/snabbdom/modules/eventlisteners.d.ts +8 -0
  610. package/modules/component/snabbdom/modules/eventlisteners.js +93 -0
  611. package/modules/component/snabbdom/modules/hero.d.ts +6 -0
  612. package/modules/component/snabbdom/modules/hero.js +147 -0
  613. package/modules/component/snabbdom/modules/module.d.ts +9 -0
  614. package/modules/component/snabbdom/modules/module.js +0 -0
  615. package/modules/component/snabbdom/modules/props.d.ts +4 -0
  616. package/modules/component/snabbdom/modules/props.js +29 -0
  617. package/modules/component/snabbdom/modules/style.d.ts +7 -0
  618. package/modules/component/snabbdom/modules/style.js +93 -0
  619. package/modules/component/snabbdom/snabbdom.bundle.d.ts +5 -0
  620. package/modules/component/snabbdom/snabbdom.bundle.js +13 -0
  621. package/modules/component/snabbdom/snabbdom.d.ts +6 -0
  622. package/modules/component/snabbdom/snabbdom.js +282 -0
  623. package/modules/component/snabbdom/thunk.d.ts +14 -0
  624. package/modules/component/snabbdom/thunk.js +50 -0
  625. package/modules/component/snabbdom/tovnode.d.ts +4 -0
  626. package/modules/component/snabbdom/tovnode.js +40 -0
  627. package/modules/component/snabbdom/vnode.d.ts +36 -0
  628. package/modules/component/snabbdom/vnode.js +12 -0
  629. package/modules/component/vdom.js +319 -0
  630. package/modules/demo-module.js +44 -0
  631. package/modules/device/device.d.ts +14 -0
  632. package/modules/device/device.js +44 -0
  633. package/modules/history/history.js +12 -0
  634. package/modules/resize/resize.d.ts +25 -0
  635. package/modules/resize/resize.js +62 -0
  636. package/modules/router/app-router-check.js +5 -0
  637. package/modules/router/async-component.js +27 -0
  638. package/modules/router/back.js +723 -0
  639. package/modules/router/clear-previous-history.js +31 -0
  640. package/modules/router/component-loader.js +200 -0
  641. package/modules/router/modal.js +223 -0
  642. package/modules/router/navigate.js +814 -0
  643. package/modules/router/process-route-queue.js +66 -0
  644. package/modules/router/redirect.js +38 -0
  645. package/modules/router/router-class.js +1268 -0
  646. package/modules/router/router.d.ts +354 -0
  647. package/modules/router/router.js +26 -0
  648. package/modules/router/swipe-back.js +589 -0
  649. package/modules/router/tab.js +230 -0
  650. package/modules/service-worker/service-worker.d.ts +38 -0
  651. package/modules/service-worker/service-worker.js +86 -0
  652. package/modules/store/create-store.js +138 -0
  653. package/modules/store/store.d.ts +40 -0
  654. package/modules/store/store.js +11 -0
  655. package/modules/support/support.d.ts +15 -0
  656. package/modules/support/support.js +7 -0
  657. package/modules/touch/touch.d.ts +60 -0
  658. package/modules/touch/touch.js +482 -0
  659. package/modules/utils/utils.d.ts +15 -0
  660. package/modules/utils/utils.js +10 -0
  661. package/package.json +458 -0
  662. package/shared/$jsx.js +21 -0
  663. package/shared/class.js +146 -0
  664. package/shared/constructor-methods.js +52 -0
  665. package/shared/dom7.js +7 -0
  666. package/shared/events-class.js +95 -0
  667. package/shared/get-device.d.ts +52 -0
  668. package/shared/get-device.js +147 -0
  669. package/shared/get-support.d.ts +12 -0
  670. package/shared/get-support.js +35 -0
  671. package/shared/history.js +171 -0
  672. package/shared/material-color-utils.js +1377 -0
  673. package/shared/material-colors.js +75 -0
  674. package/shared/modal-methods.js +80 -0
  675. package/shared/utils.d.ts +88 -0
  676. package/shared/utils.js +535 -0
@@ -0,0 +1,206 @@
1
+ import $ from '../../shared/dom7.js';
2
+ import { extend } from '../../shared/utils.js';
3
+ import Router from '../../modules/router/router.js';
4
+ import Framework7Class from '../../shared/class.js';
5
+ import resizableView from './resizable-view.js';
6
+ class View extends Framework7Class {
7
+ constructor(app, el, viewParams) {
8
+ if (viewParams === void 0) {
9
+ viewParams = {};
10
+ }
11
+ super(viewParams, [app]);
12
+ const view = this;
13
+ const ssr = view.params.routerId;
14
+ const defaults = {
15
+ routes: [],
16
+ routesAdd: []
17
+ };
18
+ if (!ssr) {
19
+ const $el = $(el);
20
+ if (!$el.length) {
21
+ let message = "Framework7: can't create a View instance because ";
22
+ message += typeof el === 'string' ? `the selector "${el}" didn't match any element` : 'el must be an HTMLElement or Dom7 object';
23
+ throw new Error(message);
24
+ }
25
+ }
26
+
27
+ // Default View params
28
+ view.params = extend({
29
+ el
30
+ }, defaults, app.params.view, viewParams);
31
+
32
+ // Routes
33
+ if (view.params.routes.length > 0) {
34
+ view.routes = view.params.routes;
35
+ } else {
36
+ view.routes = [].concat(app.routes, view.params.routesAdd);
37
+ }
38
+
39
+ // View Props
40
+ extend(false, view, {
41
+ app,
42
+ name: view.params.name,
43
+ main: view.params.main,
44
+ history: [],
45
+ scrollHistory: {}
46
+ });
47
+
48
+ // Install Modules
49
+ view.useModules();
50
+
51
+ // Add to app
52
+ app.views.push(view);
53
+ if (view.main) {
54
+ app.views.main = view;
55
+ }
56
+ if (view.name) {
57
+ app.views[view.name] = view;
58
+ }
59
+
60
+ // Index
61
+ view.index = app.views.indexOf(view);
62
+
63
+ // View ID
64
+ let viewId;
65
+ if (view.name) {
66
+ viewId = `view_${view.name}`;
67
+ } else if (view.main) {
68
+ viewId = 'view_main';
69
+ } else {
70
+ viewId = `view_${view.index}`;
71
+ }
72
+ view.id = viewId;
73
+ if (!view.params.init) {
74
+ return view;
75
+ }
76
+ // Init View
77
+ if (app.initialized) {
78
+ view.init();
79
+ } else {
80
+ app.on('init', () => {
81
+ view.init();
82
+ });
83
+ }
84
+ return view;
85
+ }
86
+ destroy() {
87
+ let view = this;
88
+ const app = view.app;
89
+ view.$el.trigger('view:beforedestroy');
90
+ view.emit('local::beforeDestroy viewBeforeDestroy', view);
91
+ app.off('resize', view.checkMasterDetailBreakpoint);
92
+ if (view.main) {
93
+ app.views.main = null;
94
+ delete app.views.main;
95
+ } else if (view.name) {
96
+ app.views[view.name] = null;
97
+ delete app.views[view.name];
98
+ }
99
+ view.$el[0].f7View = null;
100
+ delete view.$el[0].f7View;
101
+ app.views.splice(app.views.indexOf(view), 1);
102
+
103
+ // Destroy Router
104
+ if (view.params.router && view.router) {
105
+ view.router.destroy();
106
+ }
107
+ view.emit('local::destroy viewDestroy', view);
108
+
109
+ // Delete props & methods
110
+ Object.keys(view).forEach(viewProp => {
111
+ view[viewProp] = null;
112
+ delete view[viewProp];
113
+ });
114
+ view = null;
115
+ }
116
+ checkMasterDetailBreakpoint(force) {
117
+ const view = this;
118
+ const app = view.app;
119
+ const wasMasterDetail = view.$el.hasClass('view-master-detail');
120
+ const isMasterDetail = app.width >= view.params.masterDetailBreakpoint && view.$el.children('.page-master').length;
121
+ if (typeof force === 'undefined' && isMasterDetail || force === true) {
122
+ view.$el.addClass('view-master-detail');
123
+ if (!wasMasterDetail) {
124
+ view.emit('local::masterDetailBreakpoint viewMasterDetailBreakpoint', view);
125
+ view.$el.trigger('view:masterDetailBreakpoint');
126
+ }
127
+ } else {
128
+ view.$el.removeClass('view-master-detail');
129
+ if (wasMasterDetail) {
130
+ view.emit('local::masterDetailBreakpoint viewMasterDetailBreakpoint', view);
131
+ view.$el.trigger('view:masterDetailBreakpoint');
132
+ }
133
+ }
134
+ }
135
+ initMasterDetail() {
136
+ const view = this;
137
+ const app = view.app;
138
+ view.checkMasterDetailBreakpoint = view.checkMasterDetailBreakpoint.bind(view);
139
+ view.checkMasterDetailBreakpoint();
140
+ if (view.params.masterDetailResizable) {
141
+ resizableView(view);
142
+ }
143
+ app.on('resize', view.checkMasterDetailBreakpoint);
144
+ }
145
+ mount(viewEl) {
146
+ const view = this;
147
+ const app = view.app;
148
+ const el = view.params.el || viewEl;
149
+ const $el = $(el);
150
+
151
+ // Selector
152
+ let selector;
153
+ if (typeof el === 'string') selector = el;else {
154
+ // Supposed to be HTMLElement or Dom7
155
+ selector = ($el.attr('id') ? `#${$el.attr('id')}` : '') + ($el.attr('class') ? `.${$el.attr('class').replace(/ /g, '.').replace('.active', '')}` : '');
156
+ }
157
+
158
+ // DynamicNavbar
159
+ let $navbarsEl;
160
+ if (app.theme === 'ios' && view.params.iosDynamicNavbar) {
161
+ $navbarsEl = $el.children('.navbars').eq(0);
162
+ if ($navbarsEl.length === 0) {
163
+ $navbarsEl = $('<div class="navbars"></div>');
164
+ }
165
+ }
166
+ extend(view, {
167
+ $el,
168
+ el: $el[0],
169
+ main: view.main || $el.hasClass('view-main'),
170
+ $navbarsEl,
171
+ navbarsEl: $navbarsEl ? $navbarsEl[0] : undefined,
172
+ selector
173
+ });
174
+ if (view.main) {
175
+ app.views.main = view;
176
+ }
177
+
178
+ // Save in DOM
179
+ if ($el && $el[0]) {
180
+ $el[0].f7View = view;
181
+ }
182
+ view.emit('local::mount viewMount', view);
183
+ }
184
+ init(viewEl) {
185
+ const view = this;
186
+ view.mount(viewEl);
187
+ if (view.params.router) {
188
+ if (view.params.masterDetailBreakpoint > 0) {
189
+ view.initMasterDetail();
190
+ }
191
+ if (view.params.initRouterOnTabShow && view.$el.hasClass('tab') && !view.$el.hasClass('tab-active')) {
192
+ view.$el.once('tab:show', () => {
193
+ view.router.init();
194
+ });
195
+ } else {
196
+ view.router.init();
197
+ }
198
+ view.$el.trigger('view:init');
199
+ view.emit('local::init viewInit', view);
200
+ }
201
+ }
202
+ }
203
+
204
+ // Use Router
205
+ View.use(Router);
206
+ export default View;
@@ -0,0 +1,2 @@
1
+ .ios {
2
+ }
@@ -0,0 +1,2 @@
1
+ .md {
2
+ }
@@ -0,0 +1,199 @@
1
+ import { Dom7Array } from 'dom7';
2
+ import Framework7, {
3
+ CSSSelector,
4
+ Framework7EventsClass,
5
+ Framework7Plugin,
6
+ } from '../app/app-class.js';
7
+ import { Router } from '../../modules/router/router.js';
8
+
9
+ export namespace View {
10
+ interface View extends Framework7EventsClass<Events> {
11
+ /** Link to global app instance */
12
+ app: Framework7;
13
+ /** View HTML element */
14
+ el: HTMLElement;
15
+ /** Dom7 instance with view HTML element */
16
+ $el: Dom7Array;
17
+ /** View name that was passed name parameter */
18
+ name: string;
19
+ /** Boolean property indicating is it a main view or not */
20
+ main: boolean;
21
+ /** Array with available router's routes */
22
+ routes: Router.RouteParameters[];
23
+ /** Array with view history */
24
+ history: string[];
25
+ /** Object with view initialization parameters */
26
+ params: Parameters;
27
+ /** View's initialized router instance */
28
+ router: Router.Router;
29
+ /** Destroy view instance */
30
+ destroy(): void;
31
+ }
32
+ interface Parameters {
33
+ /** If enabled and View is tab, it won't initialize router and load initial page until View tab becomes visible */
34
+ initRouterOnTabShow?: boolean;
35
+ /** View name. If view was created with name, then it may be accessed via app.views.[name] */
36
+ name?: string;
37
+ /** Specify whether this is View is main or not. If not passed then will be determined based on whether its element has view-main class or not */
38
+ main?: boolean;
39
+ /** Set to false to disable view router */
40
+ router?: boolean;
41
+ /** Default (initial) View's url. If not specified, then it is equal to document url */
42
+ url?: string;
43
+ /** CSS Selector of another view or object with initialized View instance. By default all links in initialized (only) view will load pages in this view. This tell links to load pages in other view. */
44
+ linksView?: CSSSelector | View;
45
+ /** You may enable this parameter to allow loading of new pages that have same url as currently "active" page in View. */
46
+ allowDuplicateUrls?: boolean;
47
+ /** Enables transitions between pages */
48
+ animate?: boolean;
49
+ /** Custom page transition effect name */
50
+ transition?: string;
51
+ /** Enable/disable preloading of previous page when you go deep in navigation. Should be enabled for correct work of "swipe back page" feature. */
52
+ preloadPreviousPage?: boolean;
53
+ /** When enabled, View will always reload currently active page without loading new one */
54
+ reloadPages?: boolean;
55
+ /** When enabled it will reload every detail page when navigating (by default false) */
56
+ reloadDetail?: boolean;
57
+ /** Minimum app width to enable Master Detail view for master routes (routes with master: true parameter) */
58
+ masterDetailBreakpoint?: number;
59
+ /** Enables resizable Master Detail */
60
+ masterDetailResizable?: boolean;
61
+ /** When enabled it will restore page scroll top when you get back to this page */
62
+ restoreScrollTopOnBack?: boolean;
63
+ /** Delay (in ms) after new page will be loaded and inserted to DOM and before it will be transitioned. Can be increased a bit to improve performance. Will have effect only under iOS theme */
64
+ iosPageLoadDelay?: number;
65
+ /** Delay (in ms) after new page will be loaded and inserted to DOM and before it will be transitioned. Can be increased a bit to improve performance. Will have effect only under MD theme */
66
+ mdPageLoadDelay?: number;
67
+ /** When enabled then router will pass route url query to request url query (for url, componentUrl route properties) */
68
+ passRouteQueryToRequest?: boolean;
69
+ /** When enabled then router will pass current route parameters to request url query (for url, componentUrl route properties) */
70
+ passRouteParamsToRequest?: boolean;
71
+ /** Array with current View routes. In case if specified then will overwrite global app routes and routes only specified here will be available for the current View */
72
+ routes?: Router.RouteParameters[];
73
+ /** Array with additional routes that will extend global app routes. This additional routes will only be available for the current View */
74
+ routesAdd?: Router.RouteParameters[];
75
+ /** Function (or array of functions) that will be executed before every route load/enter. To proceed route loading resolve must be called. In case of array then every function in array must be resolved to proceed. */
76
+ routesBeforeEnter?(ctx: {
77
+ to: Router.Route;
78
+ from: Router.Route;
79
+ resolve: Function;
80
+ reject: Function;
81
+ router: Router.Router;
82
+ direction?: 'forward' | 'backward';
83
+ }): void;
84
+ /** Function (or array of functions) that will be executed before every route unload/leave. To proceed navigation resolve must be called. In case of array then every function in array must be resolved to proceed. */
85
+ routesBeforeLeave?(ctx: {
86
+ to: Router.Route;
87
+ from: Router.Route;
88
+ resolve: Function;
89
+ reject: Function;
90
+ router: Router.Router;
91
+ direction?: 'forward' | 'backward';
92
+ }): void;
93
+ /** During page transitions Router may remove unused Page and Navbar elements from DOM. Useful to be disabled in case you want to handle elements removal manually or using other library, e.g. Vue or React */
94
+ removeElements?: boolean;
95
+ /** When enabled then Router will remove elements after timeout */
96
+ removeElementsWithTimeout?: boolean;
97
+ /** Timeout to remove elements (in case of removeElementsWithTimeout: true) */
98
+ removeElementsTimeout?: number;
99
+ /** Unloads routable tab content (removes tab inner content) when tab becomes visible. Only for routable tabs */
100
+ unloadTabContent?: boolean;
101
+ /** As Router can use Ajax to load HTML content for pages it is good to use caching, especially if your content in those pages updates not very often. */
102
+ xhrCache?: boolean;
103
+ /** Array of URLs (string) that should not be cached */
104
+ xhrCacheIgnore?: string[];
105
+ /** If "true" then URLs like "about.html?id=2" and "about.html?id=3" will be treated and cached like single "about.html" page */
106
+ xhrCacheIgnoreGetParameters?: boolean;
107
+ /** Duration in ms (milliseconds) while app will use cache instead of loading page with another Ajax request. By default it takes 10 minutes. */
108
+ xhrCacheDuration?: number;
109
+ /** When enabled, Router will cache components specified via `componentUrl` (default true) */
110
+ componentCache?: boolean;
111
+ /** When enabled, and there is no children pages inside of the View. It will load initial page that matches to initial URL (default true) */
112
+ loadInitialPage?: boolean;
113
+ /** Enables dynamic navbar for iOS theme */
114
+ iosDynamicNavbar?: boolean;
115
+ /** This option (when enabled) gives more native look for dynamic navbar left back-link icon animation. Useful only when you use dynamic navbar with default back-link icon on left side set as "sliding". */
116
+ iosAnimateNavbarBackIcon?: boolean;
117
+ /** Enable/disable ability to swipe back from left edge of screen to get to the previous page. For iOS theme */
118
+ iosSwipeBack?: boolean;
119
+ /** Value in px. Swipe back action will start if "touch distance" will be more than this value. For iOS theme */
120
+ iosSwipeBackThreshold?: number;
121
+ /** Value in px. Width of invisible left edge of the screen that triggers swipe back action. For iOS theme */
122
+ iosSwipeBackActiveArea?: number;
123
+ /** Enable/disable box-shadow animation during swipe back action. You can disable it to improve performance. For iOS theme */
124
+ iosSwipeBackAnimateShadow?: boolean;
125
+ /** Enable/disable opacity animation during swipe back action. You can disable it to improve performance. For iOS theme */
126
+ iosSwipeBackAnimateOpacity?: boolean;
127
+ /** Enable/disable ability to swipe back from left edge of screen to get to the previous page. For MD theme */
128
+ mdSwipeBack?: boolean;
129
+ /** Value in px. Swipe back action will start if "touch distance" will be more than this value. For MD theme */
130
+ mdSwipeBackThreshold?: number;
131
+ /** Value in px. Width of invisible left edge of the screen that triggers swipe back action. For MD theme */
132
+ mdSwipeBackActiveArea?: number;
133
+ /** Enable/disable box-shadow animation during swipe back action. You can disable it to improve performance. For MD theme */
134
+ mdSwipeBackAnimateShadow?: boolean;
135
+ /** Enable/disable opacity animation during swipe back action. You can disable it to improve performance. For MD theme */
136
+ mdSwipeBackAnimateOpacity?: boolean;
137
+ /** If you develop web app (not Cordova/Capacitor or Home Screen web app) it is useful to enable hash navigation (browser url will look like "http://my-webapp.com/#!/about.html"). User as well will be able to navigate through app's history by using browser's default back and forward buttons. */
138
+ browserHistory?: boolean;
139
+ /** Browser history root URL, for example "http://my-app.com/". It is useful only in case when you use empty ("") browserHistorySeparator */
140
+ browserHistoryRoot?: string;
141
+ /** Enable/disable page transitions on history change */
142
+ browserHistoryAnimate?: boolean;
143
+ /** Enable/disable page transition on app load */
144
+ browserHistoryAnimateOnLoad?: boolean;
145
+ /** Browser history URL separator, can be changed for something like '#page/' and then your URLs will look like "http://myapp.com/#page/about.html" */
146
+ browserHistorySeparator?: string;
147
+ /** Disable to ignore parsing browser history URL and loading page on app load */
148
+ browserHistoryOnLoad?: boolean;
149
+ /** Set to true when your server cofigured to respond with content that matches to requested URL (e.g. using with server-side rendering frameworks like Nuxt.js, Next.js, and others). Also must be enabled when used in Framework7-React/Vue/Svelte. By default disabled */
150
+ browserHistoryInitialMatch?: boolean;
151
+ /** When enabled (by default), it will store router history in localStorage and try to restore it on next web app visit */
152
+ browserHistoryStoreHistory?: boolean;
153
+ /** When "replace" (by default), it will replace state on routable tabs change, otherwise (if "push"), it will add to history every routable tab change, so it will be possible to switch back between tabs with browser back button */
154
+ browserHistoryTabs?: 'replace' | 'push';
155
+ /** Object with events handlers.. */
156
+ on?: {
157
+ [event in keyof Events]?: Events[event];
158
+ };
159
+ }
160
+ interface View extends Router.AppMethods {}
161
+ interface Events extends Router.Events {
162
+ /** Event will be fired on View init */
163
+ init: (view: View) => void;
164
+ /** Event will be triggered right when resizable Master Detail resized */
165
+ resize: (view: View, masterWidth: number) => void;
166
+ }
167
+ interface DomEvents extends Router.DomEvents {
168
+ /** Event will be fired on View init */
169
+ 'view:init': () => void;
170
+ /** Event will be triggered right when resizable Master Detail resized */
171
+ 'view:resize': () => void;
172
+ }
173
+ interface AppMethods extends Router.AppEvents {
174
+ view: {
175
+ current: View;
176
+ main: View;
177
+ create(viewEl: HTMLElement | CSSSelector, parameters?: Parameters): View;
178
+ get(viewEl: HTMLElement | CSSSelector): View;
179
+ };
180
+ views: {
181
+ current: View;
182
+ main: View;
183
+ create(viewEl: HTMLElement | CSSSelector, parameters?: Parameters): View;
184
+ get(viewEl: HTMLElement | CSSSelector): View;
185
+ };
186
+ }
187
+ interface AppParams {
188
+ view?: Parameters | undefined;
189
+ }
190
+ interface AppEvents extends Router.Events {
191
+ /** Event will be fired on View init */
192
+ viewInit: (view: View) => void;
193
+ /** Event will be triggered right when resizable Master Detail resized */
194
+ viewResize: (view: View, masterWidth: number) => void;
195
+ }
196
+ }
197
+
198
+ declare const ViewComponent: Framework7Plugin;
199
+ export default ViewComponent;
@@ -0,0 +1,173 @@
1
+ import $ from '../../shared/dom7.js';
2
+ import { extend } from '../../shared/utils.js';
3
+ import View from './view-class.js';
4
+ function getCurrentView(app) {
5
+ const $popoverView = $('.popover.modal-in .view');
6
+ const $popupView = $('.popup.modal-in .view');
7
+ const $panelView = $('.panel.panel-in .view');
8
+ let $viewsEl = $('.views');
9
+ if ($viewsEl.length === 0) $viewsEl = app.$el;
10
+ // Find active view as tab
11
+ let $viewEl = $viewsEl.children('.view');
12
+ if ($viewEl.length === 0) {
13
+ $viewEl = $viewsEl.children('.tabs').children('.view');
14
+ }
15
+ // Propably in tabs or split view
16
+ if ($viewEl.length > 1) {
17
+ if ($viewEl.hasClass('tab')) {
18
+ // Tabs
19
+ $viewEl = $viewsEl.children('.view.tab-active');
20
+ if ($viewEl.length === 0) {
21
+ $viewEl = $viewsEl.children('.tabs').children('.view.tab-active');
22
+ }
23
+ } else {
24
+ // Split View, leave appView intact
25
+ }
26
+ }
27
+ if ($popoverView.length > 0 && $popoverView[0].f7View) return $popoverView[0].f7View;
28
+ if ($popupView.length > 0 && $popupView[0].f7View) return $popupView[0].f7View;
29
+ if ($panelView.length > 0 && $panelView[0].f7View) return $panelView[0].f7View;
30
+ if ($viewEl.length > 0) {
31
+ if ($viewEl.length === 1 && $viewEl[0].f7View) return $viewEl[0].f7View;
32
+ if ($viewEl.length > 1) {
33
+ return app.views.main;
34
+ }
35
+ }
36
+ return undefined;
37
+ }
38
+ export default {
39
+ name: 'view',
40
+ params: {
41
+ view: {
42
+ init: true,
43
+ initRouterOnTabShow: false,
44
+ name: undefined,
45
+ main: false,
46
+ router: true,
47
+ linksView: null,
48
+ xhrCache: true,
49
+ xhrCacheIgnore: [],
50
+ xhrCacheIgnoreGetParameters: false,
51
+ xhrCacheDuration: 1000 * 60 * 10,
52
+ // Ten minutes
53
+ componentCache: true,
54
+ preloadPreviousPage: true,
55
+ allowDuplicateUrls: false,
56
+ reloadPages: false,
57
+ reloadDetail: false,
58
+ masterDetailBreakpoint: 0,
59
+ masterDetailResizable: false,
60
+ removeElements: true,
61
+ removeElementsWithTimeout: false,
62
+ removeElementsTimeout: 0,
63
+ restoreScrollTopOnBack: true,
64
+ unloadTabContent: true,
65
+ passRouteQueryToRequest: true,
66
+ passRouteParamsToRequest: false,
67
+ loadInitialPage: true,
68
+ // Swipe Back
69
+ iosSwipeBack: true,
70
+ iosSwipeBackAnimateShadow: true,
71
+ iosSwipeBackAnimateOpacity: true,
72
+ iosSwipeBackActiveArea: 30,
73
+ iosSwipeBackThreshold: 0,
74
+ mdSwipeBack: false,
75
+ mdSwipeBackAnimateShadow: true,
76
+ mdSwipeBackAnimateOpacity: false,
77
+ mdSwipeBackActiveArea: 30,
78
+ mdSwipeBackThreshold: 0,
79
+ // Push State
80
+ browserHistory: false,
81
+ browserHistoryRoot: undefined,
82
+ browserHistoryAnimate: true,
83
+ browserHistoryAnimateOnLoad: false,
84
+ browserHistorySeparator: '#!',
85
+ browserHistoryOnLoad: true,
86
+ browserHistoryInitialMatch: false,
87
+ browserHistoryStoreHistory: true,
88
+ browserHistoryTabs: 'replace',
89
+ // Animate Pages
90
+ animate: true,
91
+ // iOS Dynamic Navbar
92
+ iosDynamicNavbar: true,
93
+ // Animate iOS Navbar Back Icon
94
+ iosAnimateNavbarBackIcon: true,
95
+ // Delays
96
+ iosPageLoadDelay: 0,
97
+ mdPageLoadDelay: 0,
98
+ // Routes hooks
99
+ routesBeforeEnter: null,
100
+ routesBeforeLeave: null
101
+ }
102
+ },
103
+ static: {
104
+ View
105
+ },
106
+ create() {
107
+ const app = this;
108
+ extend(app, {
109
+ views: extend([], {
110
+ create(el, params) {
111
+ return new View(app, el, params);
112
+ },
113
+ get(viewEl) {
114
+ const $viewEl = $(viewEl);
115
+ if ($viewEl.length && $viewEl[0].f7View) return $viewEl[0].f7View;
116
+ return undefined;
117
+ }
118
+ })
119
+ });
120
+ Object.defineProperty(app.views, 'current', {
121
+ enumerable: true,
122
+ configurable: true,
123
+ get() {
124
+ return getCurrentView(app);
125
+ }
126
+ });
127
+ // Alias
128
+ app.view = app.views;
129
+ },
130
+ on: {
131
+ init() {
132
+ const app = this;
133
+ $('.view-init').each(viewEl => {
134
+ if (viewEl.f7View) return;
135
+ const viewParams = $(viewEl).dataset();
136
+ app.views.create(viewEl, viewParams);
137
+ });
138
+ },
139
+ 'modalOpen panelOpen': function onOpen(instance) {
140
+ const app = this;
141
+ instance.$el.find('.view-init').each(viewEl => {
142
+ if (viewEl.f7View) return;
143
+ const viewParams = $(viewEl).dataset();
144
+ app.views.create(viewEl, viewParams);
145
+ });
146
+ },
147
+ 'modalBeforeDestroy panelBeforeDestroy': function onClose(instance) {
148
+ if (!instance || !instance.$el) return;
149
+ instance.$el.find('.view-init').each(viewEl => {
150
+ const view = viewEl.f7View;
151
+ if (!view) return;
152
+ view.destroy();
153
+ });
154
+ }
155
+ },
156
+ vnode: {
157
+ 'view-init': {
158
+ insert(vnode) {
159
+ const app = this;
160
+ const viewEl = vnode.elm;
161
+ if (viewEl.f7View) return;
162
+ const viewParams = $(viewEl).dataset();
163
+ app.views.create(viewEl, viewParams);
164
+ },
165
+ destroy(vnode) {
166
+ const viewEl = vnode.elm;
167
+ const view = viewEl.f7View;
168
+ if (!view) return;
169
+ view.destroy();
170
+ }
171
+ }
172
+ }
173
+ };
@@ -0,0 +1,35 @@
1
+ /* === Views === */
2
+ .views,
3
+ .view {
4
+ position: relative;
5
+ height: 100%;
6
+ z-index: 5000;
7
+ overflow: hidden;
8
+ box-sizing: border-box;
9
+ }
10
+ .framework7-root {
11
+ > .view,
12
+ > .views {
13
+ height: 100%;
14
+ }
15
+ }
16
+ .view-resize-handler {
17
+ width: 6px;
18
+ height: 100%;
19
+ position: absolute;
20
+ left: var(--f7-page-master-width);
21
+ margin-left: -3px;
22
+ top: 0;
23
+ cursor: col-resize;
24
+ z-index: 1000;
25
+ display: none;
26
+ .view-master-detail & {
27
+ display: block;
28
+ }
29
+ }
30
+ .if-ios-theme({
31
+ @import './view-ios.less';
32
+ });
33
+ .if-md-theme({
34
+ @import './view-md.less';
35
+ });