framework7 7.1.5 → 8.0.0-beta.2

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