framework7 7.0.8 → 8.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (579) hide show
  1. package/components/accordion/accordion.js +2 -16
  2. package/components/accordion/accordion.less +0 -3
  3. package/components/actions/actions-class.js +13 -58
  4. package/components/actions/actions-ios.less +42 -0
  5. package/components/actions/actions-md.less +12 -0
  6. package/components/actions/actions-rtl.css +1 -1
  7. package/components/actions/actions-vars.less +17 -42
  8. package/components/actions/actions.css +1 -1
  9. package/components/actions/actions.d.ts +2 -2
  10. package/components/actions/actions.js +0 -4
  11. package/components/actions/actions.lazy.js +1 -1
  12. package/components/actions/actions.less +5 -35
  13. package/components/app/app-class.d.ts +14 -12
  14. package/components/app/app-class.js +93 -75
  15. package/components/app/app-ios.less +0 -2
  16. package/components/app/app-md.less +0 -2
  17. package/components/app/app-vars.less +13 -96
  18. package/components/app/app.less +1 -4
  19. package/components/app/load-module.js +17 -36
  20. package/components/area-chart/area-chart-class.js +8 -64
  21. package/components/area-chart/area-chart.js +0 -3
  22. package/components/area-chart/area-chart.less +0 -3
  23. package/components/autocomplete/autocomplete-class.js +30 -175
  24. package/components/autocomplete/autocomplete-ios.less +0 -8
  25. package/components/autocomplete/autocomplete-rtl.css +1 -1
  26. package/components/autocomplete/autocomplete-vars.less +8 -22
  27. package/components/autocomplete/autocomplete.css +1 -1
  28. package/components/autocomplete/autocomplete.d.ts +1 -3
  29. package/components/autocomplete/autocomplete.js +1 -6
  30. package/components/autocomplete/autocomplete.lazy.js +1 -1
  31. package/components/autocomplete/autocomplete.less +6 -18
  32. package/components/badge/badge-vars.less +3 -6
  33. package/components/badge/badge.less +1 -3
  34. package/components/block/block-vars.less +25 -52
  35. package/components/block/block.less +37 -12
  36. package/components/breadcrumbs/breadcrumbs-rtl.css +1 -1
  37. package/components/breadcrumbs/breadcrumbs-vars.less +31 -15
  38. package/components/breadcrumbs/breadcrumbs.css +1 -1
  39. package/components/breadcrumbs/breadcrumbs.js +0 -2
  40. package/components/breadcrumbs/breadcrumbs.less +4 -10
  41. package/components/button/button-vars.less +42 -43
  42. package/components/button/button.less +24 -26
  43. package/components/calendar/calendar-class.js +81 -401
  44. package/components/calendar/calendar-rtl.css +1 -1
  45. package/components/calendar/calendar-vars.less +32 -46
  46. package/components/calendar/calendar.css +1 -1
  47. package/components/calendar/calendar.js +6 -4
  48. package/components/calendar/calendar.lazy.js +1 -1
  49. package/components/calendar/calendar.less +10 -21
  50. package/components/card/card-rtl.css +1 -1
  51. package/components/card/card-vars.less +41 -44
  52. package/components/card/card.css +1 -1
  53. package/components/card/card.js +0 -108
  54. package/components/card/card.less +18 -24
  55. package/components/checkbox/checkbox-rtl.css +1 -1
  56. package/components/checkbox/checkbox-vars.less +0 -8
  57. package/components/checkbox/checkbox.css +1 -1
  58. package/components/checkbox/checkbox.less +10 -3
  59. package/components/chip/chip-ios.less +3 -0
  60. package/components/chip/chip-md.less +4 -3
  61. package/components/chip/chip-rtl.css +1 -1
  62. package/components/chip/chip-vars.less +17 -20
  63. package/components/chip/chip.css +1 -1
  64. package/components/chip/chip.less +16 -21
  65. package/components/color-picker/color-picker-class.js +27 -158
  66. package/components/color-picker/color-picker-rtl.css +1 -1
  67. package/components/color-picker/color-picker.css +1 -1
  68. package/components/color-picker/color-picker.js +0 -4
  69. package/components/color-picker/color-picker.lazy.js +1 -1
  70. package/components/color-picker/color-picker.less +18 -8
  71. package/components/color-picker/modules/alpha-slider.js +0 -12
  72. package/components/color-picker/modules/brightness-slider.js +0 -8
  73. package/components/color-picker/modules/current-color.js +0 -2
  74. package/components/color-picker/modules/hex.js +0 -12
  75. package/components/color-picker/modules/hs-spectrum.js +0 -20
  76. package/components/color-picker/modules/hsb-sliders.js +0 -18
  77. package/components/color-picker/modules/hue-slider.js +0 -7
  78. package/components/color-picker/modules/initial-current-colors.js +0 -7
  79. package/components/color-picker/modules/palette.js +2 -10
  80. package/components/color-picker/modules/rgb-bars.js +0 -17
  81. package/components/color-picker/modules/rgb-sliders.js +0 -17
  82. package/components/color-picker/modules/sb-spectrum.js +0 -20
  83. package/components/color-picker/modules/wheel.js +0 -28
  84. package/components/contacts-list/contacts-list-md.less +4 -3
  85. package/components/contacts-list/contacts-list-rtl.css +1 -1
  86. package/components/contacts-list/contacts-list-vars.less +3 -15
  87. package/components/contacts-list/contacts-list.css +1 -1
  88. package/components/contacts-list/contacts-list.less +0 -3
  89. package/components/data-table/data-table-class.js +10 -32
  90. package/components/data-table/data-table-rtl.css +1 -1
  91. package/components/data-table/data-table-vars.less +6 -39
  92. package/components/data-table/data-table.css +1 -1
  93. package/components/data-table/data-table.js +0 -8
  94. package/components/data-table/data-table.less +0 -3
  95. package/components/dialog/dialog-class.js +7 -41
  96. package/components/dialog/dialog-ios.less +0 -3
  97. package/components/dialog/dialog-md.less +9 -9
  98. package/components/dialog/dialog-rtl.css +1 -1
  99. package/components/dialog/dialog-vars.less +25 -70
  100. package/components/dialog/dialog.css +1 -1
  101. package/components/dialog/dialog.d.ts +2 -2
  102. package/components/dialog/dialog.js +12 -48
  103. package/components/dialog/dialog.lazy.js +1 -1
  104. package/components/dialog/dialog.less +8 -4
  105. package/components/fab/fab-rtl.css +1 -1
  106. package/components/fab/fab-vars.less +20 -14
  107. package/components/fab/fab.css +1 -1
  108. package/components/fab/fab.js +0 -21
  109. package/components/fab/fab.less +50 -53
  110. package/components/form/form.d.ts +4 -4
  111. package/components/form/form.js +58 -94
  112. package/components/form/form.lazy.js +1 -1
  113. package/components/form/form.less +0 -3
  114. package/components/gauge/gauge-class.js +4 -20
  115. package/components/gauge/gauge.js +0 -9
  116. package/components/gauge/gauge.less +0 -3
  117. package/components/grid/grid-rtl.css +1 -1
  118. package/components/grid/grid-vars.less +0 -7
  119. package/components/grid/grid.css +1 -1
  120. package/components/grid/grid.d.ts +2 -8
  121. package/components/grid/grid.js +1 -225
  122. package/components/grid/grid.lazy.js +1 -1
  123. package/components/grid/grid.less +54 -184
  124. package/components/icon/icon.less +0 -3
  125. package/components/infinite-scroll/infinite-scroll-rtl.css +1 -1
  126. package/components/infinite-scroll/infinite-scroll.css +1 -1
  127. package/components/infinite-scroll/infinite-scroll.js +0 -16
  128. package/components/infinite-scroll/infinite-scroll.less +0 -3
  129. package/components/input/input-ios.less +49 -41
  130. package/components/input/input-md.less +87 -19
  131. package/components/input/input-rtl.css +1 -1
  132. package/components/input/input-vars.less +26 -60
  133. package/components/input/input.css +1 -1
  134. package/components/input/input.js +8 -67
  135. package/components/input/input.less +67 -153
  136. package/components/link/link-vars.less +0 -5
  137. package/components/link/link.less +3 -3
  138. package/components/list/list-md.less +0 -7
  139. package/components/list/list-vars.less +59 -108
  140. package/components/list/list.less +122 -90
  141. package/components/list-index/list-index-class.js +12 -69
  142. package/components/list-index/list-index-rtl.css +1 -1
  143. package/components/list-index/list-index-vars.less +0 -7
  144. package/components/list-index/list-index.css +1 -1
  145. package/components/list-index/list-index.d.ts +1 -3
  146. package/components/list-index/list-index.js +0 -8
  147. package/components/list-index/list-index.lazy.js +1 -1
  148. package/components/list-index/list-index.less +4 -7
  149. package/components/login-screen/login-screen-class.js +4 -9
  150. package/components/login-screen/login-screen-rtl.css +1 -1
  151. package/components/login-screen/login-screen-vars.less +13 -12
  152. package/components/login-screen/login-screen.css +1 -1
  153. package/components/login-screen/login-screen.js +0 -4
  154. package/components/login-screen/login-screen.less +2 -8
  155. package/components/messagebar/messagebar-class.js +18 -79
  156. package/components/messagebar/messagebar-ios.less +36 -0
  157. package/components/messagebar/messagebar-md.less +96 -16
  158. package/components/messagebar/messagebar-rtl.css +1 -1
  159. package/components/messagebar/messagebar-vars.less +27 -50
  160. package/components/messagebar/messagebar.css +1 -1
  161. package/components/messagebar/messagebar.js +0 -8
  162. package/components/messagebar/messagebar.less +11 -42
  163. package/components/messages/messages-class.js +17 -110
  164. package/components/messages/messages-ios.less +9 -0
  165. package/components/messages/messages-md.less +63 -28
  166. package/components/messages/messages-rtl.css +1 -1
  167. package/components/messages/messages-vars.less +43 -50
  168. package/components/messages/messages.css +1 -1
  169. package/components/messages/messages.js +0 -8
  170. package/components/messages/messages.lazy.js +1 -1
  171. package/components/messages/messages.less +0 -11
  172. package/components/modal/custom-modal-class.js +4 -14
  173. package/components/modal/modal-class.js +19 -55
  174. package/components/modal/modal.js +0 -3
  175. package/components/navbar/navbar-ios.less +3 -39
  176. package/components/navbar/navbar-md.less +12 -0
  177. package/components/navbar/navbar-vars.less +20 -49
  178. package/components/navbar/navbar.d.ts +0 -2
  179. package/components/navbar/navbar.js +37 -166
  180. package/components/navbar/navbar.less +4 -26
  181. package/components/notification/notification-class.js +4 -39
  182. package/components/notification/notification-md.less +18 -8
  183. package/components/notification/notification-rtl.css +1 -1
  184. package/components/notification/notification-vars.less +15 -54
  185. package/components/notification/notification.css +1 -1
  186. package/components/notification/notification.js +0 -2
  187. package/components/notification/notification.lazy.js +1 -1
  188. package/components/notification/notification.less +0 -3
  189. package/components/page/page-md.less +40 -10
  190. package/components/page/page-transitions/circle.less +15 -9
  191. package/components/page/page-transitions/fade.less +17 -11
  192. package/components/page/page-transitions/flip.less +9 -4
  193. package/components/page/page-vars.less +3 -19
  194. package/components/page/page.less +2 -10
  195. package/components/panel/panel-class.js +23 -127
  196. package/components/panel/panel-md.less +9 -0
  197. package/components/panel/panel-rtl.css +1 -1
  198. package/components/panel/panel-vars.less +7 -21
  199. package/components/panel/panel.css +1 -1
  200. package/components/panel/panel.d.ts +2 -2
  201. package/components/panel/panel.js +0 -34
  202. package/components/panel/panel.lazy.js +1 -1
  203. package/components/panel/panel.less +56 -48
  204. package/components/panel/resizable-panel.js +2 -32
  205. package/components/panel/swipe-panel.js +16 -71
  206. package/components/photo-browser/photo-browser-class.js +41 -171
  207. package/components/photo-browser/photo-browser-rtl.css +1 -1
  208. package/components/photo-browser/photo-browser-vars.less +0 -3
  209. package/components/photo-browser/photo-browser.css +1 -1
  210. package/components/photo-browser/photo-browser.d.ts +2 -4
  211. package/components/photo-browser/photo-browser.js +1 -6
  212. package/components/photo-browser/photo-browser.lazy.js +1 -1
  213. package/components/photo-browser/photo-browser.less +0 -4
  214. package/components/picker/picker-class.js +26 -133
  215. package/components/picker/picker-column.js +11 -31
  216. package/components/picker/picker-ios.less +10 -0
  217. package/components/picker/picker-md.less +6 -0
  218. package/components/picker/picker-rtl.css +1 -1
  219. package/components/picker/picker-vars.less +9 -25
  220. package/components/picker/picker.css +1 -1
  221. package/components/picker/picker.js +0 -4
  222. package/components/picker/picker.lazy.js +1 -1
  223. package/components/picker/picker.less +0 -11
  224. package/components/pie-chart/pie-chart-class.js +8 -31
  225. package/components/pie-chart/pie-chart.js +0 -3
  226. package/components/pie-chart/pie-chart.less +0 -3
  227. package/components/popover/popover-class.js +72 -126
  228. package/components/popover/popover-ios.less +0 -50
  229. package/components/popover/popover-rtl.css +1 -1
  230. package/components/popover/popover-vars.less +6 -23
  231. package/components/popover/popover.css +1 -1
  232. package/components/popover/popover.d.ts +2 -0
  233. package/components/popover/popover.js +1 -12
  234. package/components/popover/popover.lazy.js +1 -1
  235. package/components/popover/popover.less +62 -5
  236. package/components/popup/popup-class.js +12 -78
  237. package/components/popup/popup-rtl.css +1 -1
  238. package/components/popup/popup-vars.less +7 -9
  239. package/components/popup/popup.css +1 -1
  240. package/components/popup/popup.js +0 -4
  241. package/components/popup/popup.lazy.js +1 -1
  242. package/components/popup/popup.less +4 -4
  243. package/components/preloader/preloader-ios.less +3 -1
  244. package/components/preloader/preloader-md.less +5 -1
  245. package/components/preloader/preloader-rtl.css +1 -1
  246. package/components/preloader/preloader-vars.less +0 -6
  247. package/components/preloader/preloader.css +1 -1
  248. package/components/preloader/preloader.js +8 -25
  249. package/components/preloader/preloader.lazy.js +1 -1
  250. package/components/preloader/preloader.less +6 -3
  251. package/components/progressbar/progressbar-rtl.css +1 -1
  252. package/components/progressbar/progressbar-vars.less +2 -12
  253. package/components/progressbar/progressbar.css +1 -1
  254. package/components/progressbar/progressbar.js +2 -31
  255. package/components/progressbar/progressbar.less +0 -3
  256. package/components/pull-to-refresh/pull-to-refresh-class.js +15 -107
  257. package/components/pull-to-refresh/pull-to-refresh-md.less +2 -1
  258. package/components/pull-to-refresh/pull-to-refresh-rtl.css +1 -1
  259. package/components/pull-to-refresh/pull-to-refresh-vars.less +0 -4
  260. package/components/pull-to-refresh/pull-to-refresh.css +1 -1
  261. package/components/pull-to-refresh/pull-to-refresh.js +0 -8
  262. package/components/pull-to-refresh/pull-to-refresh.lazy.js +1 -1
  263. package/components/pull-to-refresh/pull-to-refresh.less +0 -3
  264. package/components/radio/radio-rtl.css +1 -1
  265. package/components/radio/radio-vars.less +0 -7
  266. package/components/radio/radio.css +1 -1
  267. package/components/radio/radio.less +12 -5
  268. package/components/range/range-class.js +27 -112
  269. package/components/range/range-rtl.css +1 -1
  270. package/components/range/range-vars.less +10 -32
  271. package/components/range/range.css +1 -1
  272. package/components/range/range.js +0 -12
  273. package/components/range/range.less +0 -3
  274. package/components/searchbar/remove-diacritics.js +0 -4
  275. package/components/searchbar/searchbar-class.js +17 -138
  276. package/components/searchbar/searchbar-md.less +41 -16
  277. package/components/searchbar/searchbar-rtl.css +1 -1
  278. package/components/searchbar/searchbar-vars.less +25 -76
  279. package/components/searchbar/searchbar.css +1 -1
  280. package/components/searchbar/searchbar.d.ts +2 -2
  281. package/components/searchbar/searchbar.js +0 -15
  282. package/components/searchbar/searchbar.lazy.js +1 -1
  283. package/components/searchbar/searchbar.less +14 -28
  284. package/components/sheet/sheet-class.js +15 -110
  285. package/components/sheet/sheet-rtl.css +1 -1
  286. package/components/sheet/sheet-vars.less +17 -6
  287. package/components/sheet/sheet.css +1 -1
  288. package/components/sheet/sheet.js +0 -9
  289. package/components/sheet/sheet.lazy.js +1 -1
  290. package/components/sheet/sheet.less +10 -3
  291. package/components/skeleton/skeleton.less +1 -4
  292. package/components/smart-select/smart-select-class.js +36 -173
  293. package/components/smart-select/smart-select.d.ts +1 -3
  294. package/components/smart-select/smart-select.js +1 -14
  295. package/components/smart-select/smart-select.lazy.js +1 -1
  296. package/components/smart-select/smart-select.less +0 -3
  297. package/components/sortable/sortable-rtl.css +1 -1
  298. package/components/sortable/sortable-vars.less +8 -8
  299. package/components/sortable/sortable.css +1 -1
  300. package/components/sortable/sortable.js +0 -44
  301. package/components/sortable/sortable.less +0 -3
  302. package/components/statusbar/statusbar.js +0 -36
  303. package/components/statusbar/statusbar.less +0 -3
  304. package/components/stepper/stepper-class.js +10 -83
  305. package/components/stepper/stepper-rtl.css +1 -1
  306. package/components/stepper/stepper-vars.less +12 -24
  307. package/components/stepper/stepper.css +1 -1
  308. package/components/stepper/stepper.js +0 -12
  309. package/components/stepper/stepper.less +12 -23
  310. package/components/subnavbar/subnavbar-vars.less +3 -18
  311. package/components/subnavbar/subnavbar.js +0 -3
  312. package/components/subnavbar/subnavbar.less +1 -11
  313. package/components/swipeout/swipeout-rtl.css +1 -1
  314. package/components/swipeout/swipeout-vars.less +7 -6
  315. package/components/swipeout/swipeout.css +1 -1
  316. package/components/swipeout/swipeout.js +2 -99
  317. package/components/swipeout/swipeout.less +2 -7
  318. package/components/swiper/swiper-rtl.css +1 -1
  319. package/components/swiper/swiper.css +1 -1
  320. package/components/swiper/swiper.js +9 -30
  321. package/components/swiper/swiper.lazy.js +1 -1
  322. package/components/swiper/swiper.less +1 -16
  323. package/components/tabs/tabs-rtl.css +1 -1
  324. package/components/tabs/tabs.css +1 -1
  325. package/components/tabs/tabs.js +23 -60
  326. package/components/tabs/tabs.lazy.js +1 -1
  327. package/components/tabs/tabs.less +1 -3
  328. package/components/text-editor/text-editor-class.js +16 -102
  329. package/components/text-editor/text-editor-rtl.css +1 -1
  330. package/components/text-editor/text-editor-vars.less +12 -16
  331. package/components/text-editor/text-editor.css +1 -1
  332. package/components/text-editor/text-editor.js +0 -8
  333. package/components/text-editor/text-editor.lazy.js +1 -1
  334. package/components/text-editor/text-editor.less +0 -6
  335. package/components/timeline/timeline-rtl.css +1 -1
  336. package/components/timeline/timeline-vars.less +13 -47
  337. package/components/timeline/timeline.css +1 -1
  338. package/components/timeline/timeline.less +2 -9
  339. package/components/toast/toast-class.js +2 -16
  340. package/components/toast/toast-rtl.css +1 -1
  341. package/components/toast/toast-vars.less +5 -9
  342. package/components/toast/toast.css +1 -1
  343. package/components/toast/toast.js +0 -3
  344. package/components/toast/toast.less +0 -3
  345. package/components/toggle/toggle-class.js +6 -30
  346. package/components/toggle/toggle-ios.less +5 -1
  347. package/components/toggle/toggle-md.less +27 -11
  348. package/components/toggle/toggle-rtl.css +1 -1
  349. package/components/toggle/toggle-vars.less +19 -21
  350. package/components/toggle/toggle.css +1 -1
  351. package/components/toggle/toggle.js +0 -8
  352. package/components/toggle/toggle.less +0 -4
  353. package/components/toolbar/toolbar-ios.less +2 -2
  354. package/components/toolbar/toolbar-md.less +28 -4
  355. package/components/toolbar/toolbar-vars.less +17 -52
  356. package/components/toolbar/toolbar.js +5 -43
  357. package/components/toolbar/toolbar.less +27 -45
  358. package/components/tooltip/tooltip-class.js +10 -64
  359. package/components/tooltip/tooltip-rtl.css +1 -1
  360. package/components/tooltip/tooltip-vars.less +12 -3
  361. package/components/tooltip/tooltip.css +1 -1
  362. package/components/tooltip/tooltip.js +0 -15
  363. package/components/tooltip/tooltip.less +0 -3
  364. package/components/touch-ripple/touch-ripple-class.js +0 -13
  365. package/components/touch-ripple/touch-ripple.js +0 -4
  366. package/components/touch-ripple/touch-ripple.less +1 -5
  367. package/components/treeview/treeview-rtl.css +1 -1
  368. package/components/treeview/treeview-vars.less +0 -3
  369. package/components/treeview/treeview.css +1 -1
  370. package/components/treeview/treeview.js +2 -11
  371. package/components/treeview/treeview.lazy.js +1 -1
  372. package/components/treeview/treeview.less +0 -3
  373. package/components/typography/typography-rtl.css +1 -1
  374. package/components/typography/typography.css +1 -1
  375. package/components/typography/typography.less +25 -3
  376. package/components/view/resizable-view.js +2 -24
  377. package/components/view/view-class.js +28 -53
  378. package/components/view/view.d.ts +0 -14
  379. package/components/view/view.js +8 -32
  380. package/components/view/view.less +1 -4
  381. package/components/virtual-list/virtual-list-class.js +58 -146
  382. package/components/virtual-list/virtual-list.d.ts +1 -1
  383. package/components/virtual-list/virtual-list.js +0 -2
  384. package/components/virtual-list/virtual-list.lazy.js +1 -1
  385. package/components/virtual-list/virtual-list.less +0 -3
  386. package/framework7-bundle-rtl.css +3593 -5977
  387. package/framework7-bundle-rtl.min.css +3 -3
  388. package/framework7-bundle.css +3591 -5978
  389. package/framework7-bundle.esm.js +4 -10
  390. package/framework7-bundle.js +6063 -12044
  391. package/framework7-bundle.js.map +1 -1
  392. package/framework7-bundle.less +2 -27
  393. package/framework7-bundle.min.css +3 -3
  394. package/framework7-bundle.min.js +3 -3
  395. package/framework7-bundle.min.js.map +1 -1
  396. package/framework7-lite-bundle.esm.js +4 -10
  397. package/framework7-lite.esm.js +4 -6
  398. package/framework7-lite.js +31 -0
  399. package/framework7-rtl.css +803 -1591
  400. package/framework7-rtl.min.css +3 -3
  401. package/framework7-types.d.ts +1 -32
  402. package/framework7.css +803 -1594
  403. package/framework7.d.ts +1 -32
  404. package/framework7.esm.js +4 -6
  405. package/framework7.js +1770 -3407
  406. package/framework7.js.map +1 -1
  407. package/framework7.less +2 -23
  408. package/framework7.min.css +3 -3
  409. package/framework7.min.js +3 -3
  410. package/framework7.min.js.map +1 -1
  411. package/less/mixins.less +7 -88
  412. package/less/plugin.js +15 -0
  413. package/modules/clicks/clicks.js +10 -22
  414. package/modules/component/$h.js +0 -3
  415. package/modules/component/$jsx.js +0 -5
  416. package/modules/component/component-class.js +13 -66
  417. package/modules/component/component.d.ts +1 -2
  418. package/modules/component/component.js +0 -8
  419. package/modules/component/eventslisteners.js +12 -20
  420. package/modules/component/parse-component.js +18 -20
  421. package/modules/component/snabbdom/h.js +3 -12
  422. package/modules/component/snabbdom/helpers/attachto.js +9 -14
  423. package/modules/component/snabbdom/htmldomapi.js +0 -16
  424. package/modules/component/snabbdom/modules/attributes.js +7 -11
  425. package/modules/component/snabbdom/modules/class.js +4 -8
  426. package/modules/component/snabbdom/modules/dataset.js +3 -7
  427. package/modules/component/snabbdom/modules/eventlisteners.js +16 -22
  428. package/modules/component/snabbdom/modules/hero.js +4 -44
  429. package/modules/component/snabbdom/modules/props.js +5 -9
  430. package/modules/component/snabbdom/modules/style.js +13 -30
  431. package/modules/component/snabbdom/snabbdom.bundle.js +0 -6
  432. package/modules/component/snabbdom/snabbdom.js +13 -72
  433. package/modules/component/snabbdom/thunk.js +3 -11
  434. package/modules/component/snabbdom/tovnode.js +1 -6
  435. package/modules/component/vdom.js +4 -62
  436. package/modules/demo-module.js +0 -8
  437. package/modules/device/device.js +6 -11
  438. package/modules/history/history.js +0 -1
  439. package/modules/resize/resize.js +8 -11
  440. package/modules/router/async-component.js +0 -3
  441. package/modules/router/back.js +86 -275
  442. package/modules/router/clear-previous-history.js +5 -18
  443. package/modules/router/component-loader.js +4 -25
  444. package/modules/router/modal.js +16 -43
  445. package/modules/router/navigate.js +80 -249
  446. package/modules/router/process-route-queue.js +0 -12
  447. package/modules/router/redirect.js +0 -8
  448. package/modules/router/router-class.js +92 -315
  449. package/modules/router/router.d.ts +3 -5
  450. package/modules/router/router.js +0 -3
  451. package/modules/router/swipe-back.js +35 -139
  452. package/modules/router/tab.js +14 -43
  453. package/modules/service-worker/service-worker.js +0 -11
  454. package/modules/store/create-store.js +10 -29
  455. package/modules/touch/touch.d.ts +2 -4
  456. package/modules/touch/touch.js +13 -108
  457. package/package.json +4 -18
  458. package/shared/$jsx.js +0 -6
  459. package/shared/class.js +18 -43
  460. package/shared/constructor-methods.js +0 -11
  461. package/shared/events-class.js +0 -17
  462. package/shared/get-device.js +18 -34
  463. package/shared/get-support.js +2 -8
  464. package/shared/history.js +2 -30
  465. package/shared/material-color-utils.js +728 -0
  466. package/shared/material-colors.js +75 -0
  467. package/shared/modal-methods.js +0 -18
  468. package/shared/utils.d.ts +0 -4
  469. package/shared/utils.js +191 -71
  470. package/components/accordion/accordion-aurora.less +0 -2
  471. package/components/actions/actions-aurora.less +0 -9
  472. package/components/app/app-aurora.less +0 -10
  473. package/components/appbar/appbar-aurora.less +0 -2
  474. package/components/appbar/appbar-ios.less +0 -2
  475. package/components/appbar/appbar-md.less +0 -2
  476. package/components/appbar/appbar-rtl.css +0 -1
  477. package/components/appbar/appbar-vars.less +0 -28
  478. package/components/appbar/appbar.css +0 -1
  479. package/components/appbar/appbar.d.ts +0 -14
  480. package/components/appbar/appbar.js +0 -3
  481. package/components/appbar/appbar.lazy.js +0 -1
  482. package/components/appbar/appbar.less +0 -106
  483. package/components/area-chart/area-chart-aurora.less +0 -2
  484. package/components/autocomplete/autocomplete-aurora.less +0 -17
  485. package/components/badge/badge-aurora.less +0 -2
  486. package/components/block/block-aurora.less +0 -2
  487. package/components/breadcrumbs/breadcrumbs-aurora.less +0 -2
  488. package/components/button/button-aurora.less +0 -25
  489. package/components/calendar/calendar-aurora.less +0 -2
  490. package/components/card/card-aurora.less +0 -2
  491. package/components/checkbox/checkbox-aurora.less +0 -39
  492. package/components/chip/chip-aurora.less +0 -14
  493. package/components/color-picker/color-picker-aurora.less +0 -2
  494. package/components/contacts-list/contacts-list-aurora.less +0 -2
  495. package/components/data-table/data-table-aurora.less +0 -64
  496. package/components/dialog/dialog-aurora.less +0 -112
  497. package/components/elevation/elevation-aurora.less +0 -2
  498. package/components/elevation/elevation-ios.less +0 -2
  499. package/components/elevation/elevation-md.less +0 -2
  500. package/components/elevation/elevation-rtl.css +0 -1
  501. package/components/elevation/elevation-vars.less +0 -51
  502. package/components/elevation/elevation.css +0 -1
  503. package/components/elevation/elevation.d.ts +0 -14
  504. package/components/elevation/elevation.js +0 -3
  505. package/components/elevation/elevation.lazy.js +0 -1
  506. package/components/elevation/elevation.less +0 -54
  507. package/components/fab/fab-aurora.less +0 -2
  508. package/components/form/form-aurora.less +0 -0
  509. package/components/gauge/gauge-aurora.less +0 -2
  510. package/components/grid/grid-aurora.less +0 -2
  511. package/components/icon/icon-aurora.less +0 -49
  512. package/components/infinite-scroll/infinite-scroll-aurora.less +0 -6
  513. package/components/input/input-aurora.less +0 -120
  514. package/components/lazy/lazy-aurora.less +0 -2
  515. package/components/lazy/lazy-ios.less +0 -2
  516. package/components/lazy/lazy-md.less +0 -2
  517. package/components/lazy/lazy-rtl.css +0 -1
  518. package/components/lazy/lazy.css +0 -1
  519. package/components/lazy/lazy.d.ts +0 -57
  520. package/components/lazy/lazy.js +0 -283
  521. package/components/lazy/lazy.lazy.js +0 -1
  522. package/components/lazy/lazy.less +0 -23
  523. package/components/link/link-aurora.less +0 -15
  524. package/components/list/list-aurora.less +0 -25
  525. package/components/list-index/list-index-aurora.less +0 -21
  526. package/components/login-screen/login-screen-aurora.less +0 -2
  527. package/components/menu/menu-aurora.less +0 -8
  528. package/components/menu/menu-ios.less +0 -2
  529. package/components/menu/menu-md.less +0 -2
  530. package/components/menu/menu-rtl.css +0 -1
  531. package/components/menu/menu-vars.less +0 -27
  532. package/components/menu/menu.css +0 -1
  533. package/components/menu/menu.d.ts +0 -32
  534. package/components/menu/menu.js +0 -87
  535. package/components/menu/menu.lazy.js +0 -1
  536. package/components/menu/menu.less +0 -232
  537. package/components/messagebar/messagebar-aurora.less +0 -53
  538. package/components/messages/messages-aurora.less +0 -137
  539. package/components/navbar/navbar-aurora.less +0 -70
  540. package/components/notification/notification-aurora.less +0 -59
  541. package/components/page/page-aurora.less +0 -49
  542. package/components/panel/panel-aurora.less +0 -2
  543. package/components/photo-browser/photo-browser-aurora.less +0 -2
  544. package/components/picker/picker-aurora.less +0 -2
  545. package/components/pie-chart/pie-chart-aurora.less +0 -2
  546. package/components/popover/popover-aurora.less +0 -56
  547. package/components/popup/popup-aurora.less +0 -2
  548. package/components/preloader/preloader-aurora.less +0 -53
  549. package/components/progressbar/progressbar-aurora.less +0 -72
  550. package/components/pull-to-refresh/pull-to-refresh-aurora.less +0 -122
  551. package/components/radio/radio-aurora.less +0 -86
  552. package/components/range/range-aurora.less +0 -9
  553. package/components/searchbar/searchbar-aurora.less +0 -86
  554. package/components/sheet/sheet-aurora.less +0 -2
  555. package/components/skeleton/skeleton-aurora.less +0 -2
  556. package/components/smart-select/smart-select-aurora.less +0 -2
  557. package/components/sortable/sortable-aurora.less +0 -7
  558. package/components/statusbar/statusbar-aurora.less +0 -2
  559. package/components/stepper/stepper-aurora.less +0 -32
  560. package/components/subnavbar/subnavbar-aurora.less +0 -51
  561. package/components/swipeout/swipeout-aurora.less +0 -2
  562. package/components/swiper/swiper-aurora.less +0 -2
  563. package/components/tabs/tabs-aurora.less +0 -2
  564. package/components/text-editor/text-editor-aurora.less +0 -9
  565. package/components/timeline/timeline-aurora.less +0 -7
  566. package/components/toast/toast-aurora.less +0 -64
  567. package/components/toggle/toggle-aurora.less +0 -26
  568. package/components/toolbar/toolbar-aurora.less +0 -43
  569. package/components/tooltip/tooltip-aurora.less +0 -2
  570. package/components/touch-ripple/touch-ripple-aurora.less +0 -2
  571. package/components/treeview/treeview-aurora.less +0 -31
  572. package/components/typography/typography-aurora.less +0 -2
  573. package/components/view/view-aurora.less +0 -2
  574. package/components/virtual-list/virtual-list-aurora.less +0 -2
  575. package/modules/request/request.d.ts +0 -15
  576. package/modules/request/request.js +0 -11
  577. package/postinstall.js +0 -3
  578. package/shared/request.d.ts +0 -115
  579. package/shared/request.js +0 -512
@@ -2,27 +2,21 @@ import $ from '../../shared/dom7.js';
2
2
  import { extend, deleteProps, id, nextTick } from '../../shared/utils.js';
3
3
  import Framework7Class from '../../shared/class.js';
4
4
  import removeDiacritics from '../searchbar/remove-diacritics.js';
5
- /** @jsx $jsx */
6
5
 
6
+ /** @jsx $jsx */
7
7
  import $jsx from '../../shared/$jsx.js';
8
-
9
8
  class SmartSelect extends Framework7Class {
10
9
  constructor(app, params) {
11
10
  if (params === void 0) {
12
11
  params = {};
13
12
  }
14
-
15
13
  super(params, [app]);
16
14
  const ss = this;
17
15
  const defaults = extend({
18
16
  on: {}
19
17
  }, app.params.smartSelect);
20
18
 
21
- if (typeof defaults.searchbarDisableButton === 'undefined') {
22
- defaults.searchbarDisableButton = app.theme !== 'aurora';
23
- } // Extend defaults with modules params
24
-
25
-
19
+ // Extend defaults with modules params
26
20
  ss.useModulesParams(defaults);
27
21
  ss.params = extend({}, defaults, params);
28
22
  ss.app = app;
@@ -32,27 +26,22 @@ class SmartSelect extends Framework7Class {
32
26
  const $selectEl = $el.find('select').eq(0);
33
27
  if ($selectEl.length === 0) return ss;
34
28
  let $valueEl;
35
-
36
29
  if (ss.params.setValueText) {
37
30
  $valueEl = $(ss.params.valueEl);
38
-
39
31
  if ($valueEl.length === 0) {
40
32
  $valueEl = $el.find('.item-after');
41
33
  }
42
-
43
34
  if ($valueEl.length === 0) {
44
35
  $valueEl = $('<div class="item-after"></div>');
45
36
  $valueEl.insertAfter($el.find('.item-title'));
46
37
  }
47
- } // Url
48
-
38
+ }
49
39
 
40
+ // Url
50
41
  let url = params.url;
51
-
52
42
  if (!url) {
53
43
  if ($el.attr('href') && $el.attr('href') !== '#') url = $el.attr('href');else if ($selectEl.attr('name')) url = `${$selectEl.attr('name').toLowerCase()}-select/`;
54
44
  }
55
-
56
45
  if (!url) url = ss.params.url;
57
46
  const multiple = $selectEl[0].multiple;
58
47
  const inputType = multiple ? 'checkbox' : 'radio';
@@ -72,34 +61,29 @@ class SmartSelect extends Framework7Class {
72
61
  selectName: $selectEl.attr('name'),
73
62
  maxLength: $selectEl.attr('maxlength') || params.maxLength
74
63
  });
75
- $el[0].f7SmartSelect = ss; // Events
64
+ $el[0].f7SmartSelect = ss;
76
65
 
66
+ // Events
77
67
  function onClick() {
78
68
  ss.open();
79
69
  }
80
-
81
70
  function onChange() {
82
71
  const value = ss.$selectEl.val();
83
72
  ss.$el.trigger('smartselect:change', value);
84
73
  ss.emit('local::change smartSelectChange', ss, value);
85
-
86
74
  if (ss.vl) {
87
75
  ss.vl.clearCache();
88
76
  }
89
-
90
77
  ss.setValueText();
91
78
  }
92
-
93
79
  ss.attachEvents = function attachEvents() {
94
80
  $el.on('click', onClick);
95
81
  $el.on('change', 'select', onChange);
96
82
  };
97
-
98
83
  ss.detachEvents = function detachEvents() {
99
84
  $el.off('click', onClick);
100
85
  $el.off('change', 'select', onChange);
101
86
  };
102
-
103
87
  function handleInputChange() {
104
88
  let optionEl;
105
89
  let text;
@@ -107,64 +91,53 @@ class SmartSelect extends Framework7Class {
107
91
  const value = inputEl.value;
108
92
  let optionText = [];
109
93
  let displayAs;
110
-
111
94
  if (inputEl.type === 'checkbox') {
112
95
  for (let i = 0; i < ss.selectEl.options.length; i += 1) {
113
96
  optionEl = ss.selectEl.options[i];
114
-
115
97
  if (optionEl.value === value) {
116
98
  optionEl.selected = inputEl.checked;
117
99
  }
118
-
119
100
  if (optionEl.selected) {
120
101
  displayAs = optionEl.dataset ? optionEl.dataset.displayAs : $(optionEl).data('display-value-as');
121
102
  text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;
122
103
  optionText.push(text.trim());
123
104
  }
124
105
  }
125
-
126
106
  if (ss.maxLength) {
127
107
  ss.checkMaxLength();
128
108
  }
129
109
  } else {
130
110
  optionEl = ss.$selectEl.find(`option[value="${value}"]`)[0];
131
-
132
111
  if (!optionEl) {
133
112
  optionEl = ss.$selectEl.find('option').filter(optEl => optEl.value === value)[0];
134
113
  }
135
-
136
114
  displayAs = optionEl.dataset ? optionEl.dataset.displayAs : $(optionEl).data('display-as');
137
115
  text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;
138
116
  optionText = [text];
139
117
  ss.selectEl.value = value;
140
118
  }
141
-
142
119
  ss.$selectEl.trigger('change');
143
-
144
120
  if (ss.params.setValueText) {
145
121
  ss.$valueEl.text(ss.formatValueText(optionText));
146
122
  }
147
-
148
123
  if (ss.params.closeOnSelect && ss.inputType === 'radio') {
149
124
  ss.close();
150
125
  }
151
126
  }
152
-
153
127
  ss.attachInputsEvents = function attachInputsEvents() {
154
128
  ss.$containerEl.on('change', 'input[type="checkbox"], input[type="radio"]', handleInputChange);
155
129
  };
156
-
157
130
  ss.detachInputsEvents = function detachInputsEvents() {
158
131
  ss.$containerEl.off('change', 'input[type="checkbox"], input[type="radio"]', handleInputChange);
159
- }; // Install Modules
160
-
132
+ };
161
133
 
162
- ss.useModules(); // Init
134
+ // Install Modules
135
+ ss.useModules();
163
136
 
137
+ // Init
164
138
  ss.init();
165
139
  return ss;
166
140
  }
167
-
168
141
  setValue(value) {
169
142
  const ss = this;
170
143
  let newValue = value;
@@ -172,19 +145,15 @@ class SmartSelect extends Framework7Class {
172
145
  let optionEl;
173
146
  let displayAs;
174
147
  let text;
175
-
176
148
  if (ss.multiple) {
177
149
  if (!Array.isArray(newValue)) newValue = [newValue];
178
-
179
150
  for (let i = 0; i < ss.selectEl.options.length; i += 1) {
180
151
  optionEl = ss.selectEl.options[i];
181
-
182
152
  if (newValue.indexOf(optionEl.value) >= 0) {
183
153
  optionEl.selected = true;
184
154
  } else {
185
155
  optionEl.selected = false;
186
156
  }
187
-
188
157
  if (optionEl.selected) {
189
158
  displayAs = optionEl.dataset ? optionEl.dataset.displayAs : $(optionEl).data('display-value-as');
190
159
  text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;
@@ -193,75 +162,58 @@ class SmartSelect extends Framework7Class {
193
162
  }
194
163
  } else {
195
164
  optionEl = ss.$selectEl.find(`option[value="${newValue}"]`)[0];
196
-
197
165
  if (optionEl) {
198
166
  displayAs = optionEl.dataset ? optionEl.dataset.displayAs : $(optionEl).data('display-as');
199
167
  text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;
200
168
  optionText = [text];
201
169
  }
202
-
203
170
  ss.selectEl.value = newValue;
204
171
  }
205
-
206
172
  if (ss.params.setValueText) {
207
173
  ss.$valueEl.text(ss.formatValueText(optionText));
208
174
  }
209
-
210
175
  ss.$selectEl.trigger('change');
211
176
  return ss;
212
177
  }
213
-
214
178
  unsetValue() {
215
179
  const ss = this;
216
-
217
180
  if (ss.params.setValueText) {
218
181
  ss.$valueEl.text(ss.formatValueText([]));
219
182
  }
220
-
221
183
  ss.$selectEl.find('option').each(optionEl => {
222
184
  optionEl.selected = false;
223
185
  optionEl.checked = false;
224
186
  });
225
187
  ss.$selectEl[0].value = null;
226
-
227
188
  if (ss.$containerEl) {
228
189
  ss.$containerEl.find(`input[name="${ss.inputName}"][type="checkbox"], input[name="${ss.inputName}"][type="radio"]`).prop('checked', false);
229
190
  }
230
-
231
191
  ss.$selectEl.trigger('change');
232
192
  }
233
-
234
193
  getValue() {
235
194
  const ss = this;
236
195
  return ss.$selectEl.val();
237
196
  }
238
-
239
197
  get view() {
240
198
  const {
241
199
  params,
242
200
  $el
243
201
  } = this;
244
202
  let view;
245
-
246
203
  if (params.view) {
247
204
  view = params.view;
248
205
  }
249
-
250
206
  if (!view) {
251
207
  view = $el.parents('.view').length && $el.parents('.view')[0].f7View;
252
208
  }
253
-
254
209
  if (!view && params.openIn === 'page') {
255
210
  throw Error('Smart Select requires initialized View');
256
211
  }
257
-
258
212
  return view;
259
213
  }
260
-
261
214
  checkMaxLength() {
262
215
  const ss = this;
263
216
  const $containerEl = ss.$containerEl;
264
-
265
217
  if (ss.selectEl.selectedOptions.length >= ss.maxLength) {
266
218
  $containerEl.find('input[type="checkbox"]').each(inputEl => {
267
219
  if (!inputEl.checked) {
@@ -274,24 +226,19 @@ class SmartSelect extends Framework7Class {
274
226
  $containerEl.find('.disabled').removeClass('disabled');
275
227
  }
276
228
  }
277
-
278
229
  formatValueText(values) {
279
230
  const ss = this;
280
231
  let textValue;
281
-
282
232
  if (ss.params.formatValueText) {
283
233
  textValue = ss.params.formatValueText.call(ss, values, ss);
284
234
  } else {
285
235
  textValue = values.join(', ');
286
236
  }
287
-
288
237
  return textValue;
289
238
  }
290
-
291
239
  setValueText(value) {
292
240
  const ss = this;
293
241
  let valueArray = [];
294
-
295
242
  if (typeof value !== 'undefined') {
296
243
  if (Array.isArray(value)) {
297
244
  valueArray = value;
@@ -301,10 +248,8 @@ class SmartSelect extends Framework7Class {
301
248
  } else {
302
249
  ss.$selectEl.find('option').each(optionEl => {
303
250
  const $optionEl = $(optionEl);
304
-
305
251
  if (optionEl.selected) {
306
252
  const displayAs = optionEl.dataset ? optionEl.dataset.displayAs : $optionEl.data('display-value-as');
307
-
308
253
  if (displayAs && typeof displayAs !== 'undefined') {
309
254
  valueArray.push(displayAs);
310
255
  } else {
@@ -313,12 +258,10 @@ class SmartSelect extends Framework7Class {
313
258
  }
314
259
  });
315
260
  }
316
-
317
261
  if (ss.params.setValueText) {
318
262
  ss.$valueEl.text(ss.formatValueText(valueArray));
319
263
  }
320
264
  }
321
-
322
265
  getItemsData() {
323
266
  const ss = this;
324
267
  const theme = ss.app.theme;
@@ -331,15 +274,13 @@ class SmartSelect extends Framework7Class {
331
274
  const optionIcon = optionData.optionIcon || ss.params.optionIcon;
332
275
  const optionIconIos = theme === 'ios' && (optionData.optionIconIos || ss.params.optionIconIos);
333
276
  const optionIconMd = theme === 'md' && (optionData.optionIconMd || ss.params.optionIconMd);
334
- const optionIconAurora = theme === 'aurora' && (optionData.optionIconAurora || ss.params.optionIconAurora);
335
- const optionHasMedia = optionImage || optionIcon || optionIconIos || optionIconMd || optionIconAurora;
277
+ const optionHasMedia = optionImage || optionIcon || optionIconIos || optionIconMd;
336
278
  const optionColor = optionData.optionColor;
337
279
  let optionClassName = optionData.optionClass || '';
338
280
  if ($optionEl[0].disabled) optionClassName += ' disabled';
339
281
  const optionGroupEl = $optionEl.parent('optgroup')[0];
340
282
  const optionGroupLabel = optionGroupEl && optionGroupEl.label;
341
283
  let optionIsLabel = false;
342
-
343
284
  if (optionGroupEl && optionGroupEl !== previousGroupEl) {
344
285
  optionIsLabel = true;
345
286
  previousGroupEl = optionGroupEl;
@@ -348,7 +289,6 @@ class SmartSelect extends Framework7Class {
348
289
  isLabel: optionIsLabel
349
290
  });
350
291
  }
351
-
352
292
  items.push({
353
293
  value: $optionEl[0].value,
354
294
  text: $optionEl[0].textContent.trim(),
@@ -359,7 +299,6 @@ class SmartSelect extends Framework7Class {
359
299
  icon: optionIcon,
360
300
  iconIos: optionIconIos,
361
301
  iconMd: optionIconMd,
362
- iconAurora: optionIconAurora,
363
302
  color: optionColor,
364
303
  className: optionClassName,
365
304
  disabled: $optionEl[0].disabled,
@@ -374,7 +313,6 @@ class SmartSelect extends Framework7Class {
374
313
  ss.items = items;
375
314
  return items;
376
315
  }
377
-
378
316
  renderSearchbar() {
379
317
  const ss = this;
380
318
  if (ss.params.renderSearchbar) return ss.params.renderSearchbar.call(ss);
@@ -396,64 +334,51 @@ class SmartSelect extends Framework7Class {
396
334
  class: "searchbar-disable-button"
397
335
  }, ss.params.searchbarDisableText)));
398
336
  }
399
-
400
337
  renderItem(item, index) {
401
338
  const ss = this;
402
339
  if (ss.params.renderItem) return ss.params.renderItem.call(ss, item, index);
403
-
404
340
  function getIconContent(iconValue) {
405
341
  if (iconValue === void 0) {
406
342
  iconValue = '';
407
343
  }
408
-
409
344
  if (iconValue.indexOf(':') >= 0) {
410
345
  return iconValue.split(':')[1];
411
346
  }
412
-
413
347
  return '';
414
348
  }
415
-
416
349
  function getIconClass(iconValue) {
417
350
  if (iconValue === void 0) {
418
351
  iconValue = '';
419
352
  }
420
-
421
353
  if (iconValue.indexOf(':') >= 0) {
422
354
  let className = iconValue.split(':')[0];
423
355
  if (className === 'f7') className = 'f7-icons';
424
356
  if (className === 'material') className = 'material-icons';
425
357
  return className;
426
358
  }
427
-
428
359
  return iconValue;
429
360
  }
430
-
431
361
  let itemHtml;
432
-
433
362
  if (item.isLabel) {
434
- itemHtml = `<li class="item-divider">${item.groupLabel}</li>`;
363
+ itemHtml = `<li class="list-group-title">${item.groupLabel}</li>`;
435
364
  } else {
436
365
  let selected = item.selected;
437
366
  let disabled;
438
-
439
367
  if (ss.params.virtualList) {
440
368
  const ssValue = ss.getValue();
441
369
  selected = ss.multiple ? ssValue.indexOf(item.value) >= 0 : ssValue === item.value;
442
-
443
370
  if (ss.multiple) {
444
371
  disabled = ss.multiple && !selected && ssValue.length === parseInt(ss.maxLength, 10);
445
372
  }
446
373
  }
447
-
448
374
  const {
449
375
  icon,
450
376
  iconIos,
451
- iconMd,
452
- iconAurora
377
+ iconMd
453
378
  } = item;
454
- const hasIcon = icon || iconIos || iconMd || iconAurora;
455
- const iconContent = getIconContent(icon || iconIos || iconMd || iconAurora || '');
456
- const iconClass = getIconClass(icon || iconIos || iconMd || iconAurora || '');
379
+ const hasIcon = icon || iconIos || iconMd;
380
+ const iconContent = getIconContent(icon || iconIos || iconMd || '');
381
+ const iconClass = getIconClass(icon || iconIos || iconMd || '');
457
382
  itemHtml = $jsx("li", {
458
383
  class: `${item.className || ''}${disabled ? ' disabled' : ''}`
459
384
  }, $jsx("label", {
@@ -477,10 +402,8 @@ class SmartSelect extends Framework7Class {
477
402
  class: `item-title${item.color ? ` text-color-${item.color}` : ''}`
478
403
  }, item.text))));
479
404
  }
480
-
481
405
  return itemHtml;
482
406
  }
483
-
484
407
  renderItems() {
485
408
  const ss = this;
486
409
  if (ss.params.renderItems) return ss.params.renderItems.call(ss, ss.items);
@@ -489,17 +412,14 @@ class SmartSelect extends Framework7Class {
489
412
  `;
490
413
  return itemsHtml;
491
414
  }
492
-
493
415
  renderPage() {
494
416
  const ss = this;
495
417
  if (ss.params.renderPage) return ss.params.renderPage.call(ss, ss.items);
496
418
  let pageTitle = ss.params.pageTitle;
497
-
498
419
  if (typeof pageTitle === 'undefined') {
499
420
  const $itemTitleEl = ss.$el.find('.item-title');
500
421
  pageTitle = $itemTitleEl.length ? $itemTitleEl.text().trim() : '';
501
422
  }
502
-
503
423
  const cssClass = ss.params.cssClass;
504
424
  return $jsx("div", {
505
425
  class: `page smart-select-page ${cssClass}`,
@@ -531,17 +451,14 @@ class SmartSelect extends Framework7Class {
531
451
  class: `list smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
532
452
  }, $jsx("ul", null, !ss.params.virtualList && ss.renderItems(ss.items)))));
533
453
  }
534
-
535
454
  renderPopup() {
536
455
  const ss = this;
537
456
  if (ss.params.renderPopup) return ss.params.renderPopup.call(ss, ss.items);
538
457
  let pageTitle = ss.params.pageTitle;
539
-
540
458
  if (typeof pageTitle === 'undefined') {
541
459
  const $itemTitleEl = ss.$el.find('.item-title');
542
460
  pageTitle = $itemTitleEl.length ? $itemTitleEl.text().trim() : '';
543
461
  }
544
-
545
462
  const cssClass = ss.params.cssClass || '';
546
463
  return $jsx("div", {
547
464
  class: `popup smart-select-popup ${cssClass} ${ss.params.popupTabletFullscreen ? 'popup-tablet-fullscreen' : ''}`,
@@ -574,12 +491,11 @@ class SmartSelect extends Framework7Class {
574
491
  class: `list smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
575
492
  }, $jsx("ul", null, !ss.params.virtualList && ss.renderItems(ss.items)))))));
576
493
  }
577
-
578
494
  renderSheet() {
579
495
  const ss = this;
580
496
  if (ss.params.renderSheet) return ss.params.renderSheet.call(ss, ss.items);
581
- const cssClass = ss.params.cssClass; // prettier-ignore
582
-
497
+ const cssClass = ss.params.cssClass;
498
+ // prettier-ignore
583
499
  return $jsx("div", {
584
500
  class: `sheet-modal smart-select-sheet ${cssClass}`,
585
501
  "data-select-name": ss.selectName
@@ -601,12 +517,11 @@ class SmartSelect extends Framework7Class {
601
517
  class: `list smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
602
518
  }, $jsx("ul", null, !ss.params.virtualList && ss.renderItems(ss.items))))));
603
519
  }
604
-
605
520
  renderPopover() {
606
521
  const ss = this;
607
522
  if (ss.params.renderPopover) return ss.params.renderPopover.call(ss, ss.items);
608
- const cssClass = ss.params.cssClass; // prettier-ignore
609
-
523
+ const cssClass = ss.params.cssClass;
524
+ // prettier-ignore
610
525
  return $jsx("div", {
611
526
  class: `popover smart-select-popover ${cssClass}`,
612
527
  "data-select-name": ss.selectName
@@ -616,7 +531,6 @@ class SmartSelect extends Framework7Class {
616
531
  class: `list smart-select-list-${ss.id} ${ss.params.virtualList ? ' virtual-list' : ''} ${ss.params.formColorTheme ? `color-${ss.params.formColorTheme}` : ''}`
617
532
  }, $jsx("ul", null, !ss.params.virtualList && ss.renderItems(ss.items)))));
618
533
  }
619
-
620
534
  scrollToSelectedItem() {
621
535
  const ss = this;
622
536
  const {
@@ -624,7 +538,6 @@ class SmartSelect extends Framework7Class {
624
538
  $containerEl
625
539
  } = ss;
626
540
  if (!ss.opened) return ss;
627
-
628
541
  if (params.virtualList) {
629
542
  let selectedIndex;
630
543
  ss.vl.items.forEach((item, index) => {
@@ -632,7 +545,6 @@ class SmartSelect extends Framework7Class {
632
545
  selectedIndex = index;
633
546
  }
634
547
  });
635
-
636
548
  if (typeof selectedIndex !== 'undefined') {
637
549
  ss.vl.scrollToItem(selectedIndex);
638
550
  }
@@ -643,48 +555,41 @@ class SmartSelect extends Framework7Class {
643
555
  if (!$scrollableEl.length) return ss;
644
556
  $scrollableEl.scrollTop($selectedItemEl.offset().top - $scrollableEl.offset().top - parseInt($scrollableEl.css('padding-top'), 10));
645
557
  }
646
-
647
558
  return ss;
648
559
  }
649
-
650
560
  onOpen(type, containerEl) {
651
561
  const ss = this;
652
562
  const app = ss.app;
653
563
  const $containerEl = $(containerEl);
654
564
  ss.$containerEl = $containerEl;
655
565
  ss.openedIn = type;
656
- ss.opened = true; // Init VL
566
+ ss.opened = true;
657
567
 
568
+ // Init VL
658
569
  if (ss.params.virtualList) {
659
570
  ss.vl = app.virtualList.create({
660
571
  el: $containerEl.find('.virtual-list'),
661
572
  items: ss.items,
662
573
  renderItem: ss.renderItem.bind(ss),
663
574
  height: ss.params.virtualListHeight,
664
-
665
575
  searchByItem(query, item) {
666
576
  if (item.text && removeDiacritics(item.text).toLowerCase().indexOf(query.trim().toLowerCase()) >= 0) return true;
667
577
  return false;
668
578
  }
669
-
670
579
  });
671
580
  }
672
-
673
581
  if (ss.params.scrollToSelectedItem) {
674
582
  ss.scrollToSelectedItem();
675
- } // Init SB
676
-
583
+ }
677
584
 
585
+ // Init SB
678
586
  if (ss.params.searchbar) {
679
587
  let $searchbarEl = $containerEl.find('.searchbar');
680
-
681
588
  if (type === 'page' && app.theme === 'ios') {
682
589
  $searchbarEl = $(app.navbar.getElByPage($containerEl)).find('.searchbar');
683
590
  }
684
-
685
591
  if (ss.params.appendSearchbarNotFound && (type === 'page' || type === 'popup')) {
686
592
  let $notFoundEl = null;
687
-
688
593
  if (typeof ss.params.appendSearchbarNotFound === 'string') {
689
594
  $notFoundEl = $(`<div class="block searchbar-not-found">${ss.params.appendSearchbarNotFound}</div>`);
690
595
  } else if (typeof ss.params.appendSearchbarNotFound === 'boolean') {
@@ -692,12 +597,10 @@ class SmartSelect extends Framework7Class {
692
597
  } else {
693
598
  $notFoundEl = ss.params.appendSearchbarNotFound;
694
599
  }
695
-
696
600
  if ($notFoundEl) {
697
601
  $containerEl.find('.page-content').append($notFoundEl[0]);
698
602
  }
699
603
  }
700
-
701
604
  const searchbarParams = extend({
702
605
  el: $searchbarEl,
703
606
  backdropEl: $containerEl.find('.searchbar-backdrop'),
@@ -705,55 +608,52 @@ class SmartSelect extends Framework7Class {
705
608
  searchIn: '.item-title'
706
609
  }, typeof ss.params.searchbar === 'object' ? ss.params.searchbar : {});
707
610
  ss.searchbar = app.searchbar.create(searchbarParams);
708
- } // Check for max length
709
-
611
+ }
710
612
 
613
+ // Check for max length
711
614
  if (ss.maxLength) {
712
615
  ss.checkMaxLength();
713
- } // Close on select
714
-
616
+ }
715
617
 
618
+ // Close on select
716
619
  if (ss.params.closeOnSelect) {
717
620
  ss.$containerEl.find(`input[type="radio"][name="${ss.inputName}"]:checked`).parents('label').once('click', () => {
718
621
  ss.close();
719
622
  });
720
- } // Attach input events
721
-
623
+ }
722
624
 
625
+ // Attach input events
723
626
  ss.attachInputsEvents();
724
627
  ss.$el.trigger('smartselect:open');
725
628
  ss.emit('local::open smartSelectOpen', ss);
726
629
  }
727
-
728
630
  onOpened() {
729
631
  const ss = this;
730
632
  ss.$el.trigger('smartselect:opened');
731
633
  ss.emit('local::opened smartSelectOpened', ss);
732
634
  }
733
-
734
635
  onClose() {
735
636
  const ss = this;
736
- if (ss.destroyed) return; // Destroy VL
637
+ if (ss.destroyed) return;
737
638
 
639
+ // Destroy VL
738
640
  if (ss.vl && ss.vl.destroy) {
739
641
  ss.vl.destroy();
740
642
  ss.vl = null;
741
643
  delete ss.vl;
742
- } // Destroy SB
743
-
644
+ }
744
645
 
646
+ // Destroy SB
745
647
  if (ss.searchbar && ss.searchbar.destroy) {
746
648
  ss.searchbar.destroy();
747
649
  ss.searchbar = null;
748
650
  delete ss.searchbar;
749
- } // Detach events
750
-
751
-
651
+ }
652
+ // Detach events
752
653
  ss.detachInputsEvents();
753
654
  ss.$el.trigger('smartselect:close');
754
655
  ss.emit('local::close smartSelectClose', ss);
755
656
  }
756
-
757
657
  onClosed() {
758
658
  const ss = this;
759
659
  if (ss.destroyed) return;
@@ -763,7 +663,6 @@ class SmartSelect extends Framework7Class {
763
663
  ss.$el.trigger('smartselect:closed');
764
664
  ss.emit('local::closed smartSelectClosed', ss);
765
665
  }
766
-
767
666
  openPage() {
768
667
  const ss = this;
769
668
  if (ss.opened) return ss;
@@ -778,25 +677,20 @@ class SmartSelect extends Framework7Class {
778
677
  pageBeforeIn(e, page) {
779
678
  ss.onOpen('page', page.el);
780
679
  },
781
-
782
680
  pageAfterIn(e, page) {
783
681
  ss.onOpened('page', page.el);
784
682
  },
785
-
786
683
  pageBeforeOut(e, page) {
787
684
  ss.onClose('page', page.el);
788
685
  },
789
-
790
686
  pageAfterOut(e, page) {
791
687
  ss.onClosed('page', page.el);
792
688
  }
793
-
794
689
  }
795
690
  }
796
691
  });
797
692
  return ss;
798
693
  }
799
-
800
694
  openPopup() {
801
695
  const ss = this;
802
696
  if (ss.opened) return ss;
@@ -810,22 +704,17 @@ class SmartSelect extends Framework7Class {
810
704
  popupOpen(popup) {
811
705
  ss.onOpen('popup', popup.el);
812
706
  },
813
-
814
707
  popupOpened(popup) {
815
708
  ss.onOpened('popup', popup.el);
816
709
  },
817
-
818
710
  popupClose(popup) {
819
711
  ss.onClose('popup', popup.el);
820
712
  },
821
-
822
713
  popupClosed(popup) {
823
714
  ss.onClosed('popup', popup.el);
824
715
  }
825
-
826
716
  }
827
717
  };
828
-
829
718
  if (ss.params.routableModals && ss.view) {
830
719
  ss.view.router.navigate({
831
720
  url: ss.url,
@@ -837,10 +726,8 @@ class SmartSelect extends Framework7Class {
837
726
  } else {
838
727
  ss.modal = ss.app.popup.create(popupParams).open();
839
728
  }
840
-
841
729
  return ss;
842
730
  }
843
-
844
731
  openSheet() {
845
732
  const ss = this;
846
733
  if (ss.opened) return ss;
@@ -857,22 +744,17 @@ class SmartSelect extends Framework7Class {
857
744
  sheetOpen(sheet) {
858
745
  ss.onOpen('sheet', sheet.el);
859
746
  },
860
-
861
747
  sheetOpened(sheet) {
862
748
  ss.onOpened('sheet', sheet.el);
863
749
  },
864
-
865
750
  sheetClose(sheet) {
866
751
  ss.onClose('sheet', sheet.el);
867
752
  },
868
-
869
753
  sheetClosed(sheet) {
870
754
  ss.onClosed('sheet', sheet.el);
871
755
  }
872
-
873
756
  }
874
757
  };
875
-
876
758
  if (ss.params.routableModals && ss.view) {
877
759
  ss.view.router.navigate({
878
760
  url: ss.url,
@@ -884,10 +766,8 @@ class SmartSelect extends Framework7Class {
884
766
  } else {
885
767
  ss.modal = ss.app.sheet.create(sheetParams).open();
886
768
  }
887
-
888
769
  return ss;
889
770
  }
890
-
891
771
  openPopover() {
892
772
  const ss = this;
893
773
  if (ss.opened) return ss;
@@ -900,22 +780,17 @@ class SmartSelect extends Framework7Class {
900
780
  popoverOpen(popover) {
901
781
  ss.onOpen('popover', popover.el);
902
782
  },
903
-
904
783
  popoverOpened(popover) {
905
784
  ss.onOpened('popover', popover.el);
906
785
  },
907
-
908
786
  popoverClose(popover) {
909
787
  ss.onClose('popover', popover.el);
910
788
  },
911
-
912
789
  popoverClosed(popover) {
913
790
  ss.onClosed('popover', popover.el);
914
791
  }
915
-
916
792
  }
917
793
  };
918
-
919
794
  if (ss.params.routableModals && ss.view) {
920
795
  ss.view.router.navigate({
921
796
  url: ss.url,
@@ -927,25 +802,20 @@ class SmartSelect extends Framework7Class {
927
802
  } else {
928
803
  ss.modal = ss.app.popover.create(popoverParams).open();
929
804
  }
930
-
931
805
  return ss;
932
806
  }
933
-
934
807
  open(type) {
935
808
  const ss = this;
936
809
  if (ss.opened) return ss;
937
810
  let prevented = false;
938
-
939
811
  function prevent() {
940
812
  prevented = true;
941
813
  }
942
-
943
814
  if (ss.$el) {
944
815
  ss.$el.trigger('smartselect:beforeopen', {
945
816
  prevent
946
817
  });
947
818
  }
948
-
949
819
  ss.emit('local::beforeOpen smartSelectBeforeOpen', ss, prevent);
950
820
  if (prevented) return ss;
951
821
  const openIn = type || ss.params.openIn;
@@ -955,11 +825,9 @@ class SmartSelect extends Framework7Class {
955
825
  }).join('')}`]();
956
826
  return ss;
957
827
  }
958
-
959
828
  close() {
960
829
  const ss = this;
961
830
  if (!ss.opened) return ss;
962
-
963
831
  if (ss.params.routableModals && ss.view || ss.openedIn === 'page') {
964
832
  ss.view.router.back();
965
833
  } else {
@@ -972,16 +840,13 @@ class SmartSelect extends Framework7Class {
972
840
  });
973
841
  ss.modal.close();
974
842
  }
975
-
976
843
  return ss;
977
844
  }
978
-
979
845
  init() {
980
846
  const ss = this;
981
847
  ss.attachEvents();
982
848
  ss.setValueText();
983
849
  }
984
-
985
850
  destroy() {
986
851
  const ss = this;
987
852
  ss.emit('local::beforeDestroy smartSelectBeforeDestroy', ss);
@@ -991,7 +856,5 @@ class SmartSelect extends Framework7Class {
991
856
  deleteProps(ss);
992
857
  ss.destroyed = true;
993
858
  }
994
-
995
859
  }
996
-
997
860
  export default SmartSelect;