framework7 7.0.9 → 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.
- package/components/accordion/accordion.js +2 -16
- package/components/accordion/accordion.less +0 -3
- package/components/actions/actions-class.js +13 -58
- package/components/actions/actions-ios.less +42 -0
- package/components/actions/actions-md.less +12 -0
- package/components/actions/actions-rtl.css +1 -1
- package/components/actions/actions-vars.less +17 -42
- package/components/actions/actions.css +1 -1
- package/components/actions/actions.d.ts +2 -2
- package/components/actions/actions.js +0 -4
- package/components/actions/actions.lazy.js +1 -1
- package/components/actions/actions.less +5 -35
- package/components/app/app-class.d.ts +14 -12
- package/components/app/app-class.js +93 -75
- package/components/app/app-ios.less +0 -2
- package/components/app/app-md.less +0 -2
- package/components/app/app-vars.less +13 -96
- package/components/app/app.less +1 -4
- package/components/app/load-module.js +17 -36
- package/components/area-chart/area-chart-class.js +8 -64
- package/components/area-chart/area-chart.js +0 -3
- package/components/area-chart/area-chart.less +0 -3
- package/components/autocomplete/autocomplete-class.js +30 -175
- package/components/autocomplete/autocomplete-ios.less +0 -8
- package/components/autocomplete/autocomplete-rtl.css +1 -1
- package/components/autocomplete/autocomplete-vars.less +8 -22
- package/components/autocomplete/autocomplete.css +1 -1
- package/components/autocomplete/autocomplete.d.ts +1 -3
- package/components/autocomplete/autocomplete.js +1 -6
- package/components/autocomplete/autocomplete.lazy.js +1 -1
- package/components/autocomplete/autocomplete.less +6 -18
- package/components/badge/badge-vars.less +3 -6
- package/components/badge/badge.less +1 -3
- package/components/block/block-vars.less +25 -52
- package/components/block/block.less +37 -12
- package/components/breadcrumbs/breadcrumbs-rtl.css +1 -1
- package/components/breadcrumbs/breadcrumbs-vars.less +31 -15
- package/components/breadcrumbs/breadcrumbs.css +1 -1
- package/components/breadcrumbs/breadcrumbs.js +0 -2
- package/components/breadcrumbs/breadcrumbs.less +4 -10
- package/components/button/button-vars.less +42 -43
- package/components/button/button.less +24 -26
- package/components/calendar/calendar-class.js +81 -401
- package/components/calendar/calendar-rtl.css +1 -1
- package/components/calendar/calendar-vars.less +32 -46
- package/components/calendar/calendar.css +1 -1
- package/components/calendar/calendar.js +6 -4
- package/components/calendar/calendar.lazy.js +1 -1
- package/components/calendar/calendar.less +10 -21
- package/components/card/card-rtl.css +1 -1
- package/components/card/card-vars.less +41 -44
- package/components/card/card.css +1 -1
- package/components/card/card.js +0 -108
- package/components/card/card.less +18 -24
- package/components/checkbox/checkbox-rtl.css +1 -1
- package/components/checkbox/checkbox-vars.less +0 -8
- package/components/checkbox/checkbox.css +1 -1
- package/components/checkbox/checkbox.less +10 -3
- package/components/chip/chip-ios.less +3 -0
- package/components/chip/chip-md.less +4 -3
- package/components/chip/chip-rtl.css +1 -1
- package/components/chip/chip-vars.less +17 -20
- package/components/chip/chip.css +1 -1
- package/components/chip/chip.less +16 -21
- package/components/color-picker/color-picker-class.js +27 -158
- package/components/color-picker/color-picker-rtl.css +1 -1
- package/components/color-picker/color-picker.css +1 -1
- package/components/color-picker/color-picker.js +0 -4
- package/components/color-picker/color-picker.lazy.js +1 -1
- package/components/color-picker/color-picker.less +18 -8
- package/components/color-picker/modules/alpha-slider.js +0 -12
- package/components/color-picker/modules/brightness-slider.js +0 -8
- package/components/color-picker/modules/current-color.js +0 -2
- package/components/color-picker/modules/hex.js +0 -12
- package/components/color-picker/modules/hs-spectrum.js +0 -20
- package/components/color-picker/modules/hsb-sliders.js +0 -18
- package/components/color-picker/modules/hue-slider.js +0 -7
- package/components/color-picker/modules/initial-current-colors.js +0 -7
- package/components/color-picker/modules/palette.js +2 -10
- package/components/color-picker/modules/rgb-bars.js +0 -17
- package/components/color-picker/modules/rgb-sliders.js +0 -17
- package/components/color-picker/modules/sb-spectrum.js +0 -20
- package/components/color-picker/modules/wheel.js +0 -28
- package/components/contacts-list/contacts-list-md.less +4 -3
- package/components/contacts-list/contacts-list-rtl.css +1 -1
- package/components/contacts-list/contacts-list-vars.less +3 -15
- package/components/contacts-list/contacts-list.css +1 -1
- package/components/contacts-list/contacts-list.less +0 -3
- package/components/data-table/data-table-class.js +10 -32
- package/components/data-table/data-table-rtl.css +1 -1
- package/components/data-table/data-table-vars.less +6 -39
- package/components/data-table/data-table.css +1 -1
- package/components/data-table/data-table.js +0 -8
- package/components/data-table/data-table.less +0 -3
- package/components/dialog/dialog-class.js +7 -41
- package/components/dialog/dialog-ios.less +0 -3
- package/components/dialog/dialog-md.less +9 -9
- package/components/dialog/dialog-rtl.css +1 -1
- package/components/dialog/dialog-vars.less +25 -70
- package/components/dialog/dialog.css +1 -1
- package/components/dialog/dialog.d.ts +2 -2
- package/components/dialog/dialog.js +12 -48
- package/components/dialog/dialog.lazy.js +1 -1
- package/components/dialog/dialog.less +8 -4
- package/components/fab/fab-rtl.css +1 -1
- package/components/fab/fab-vars.less +20 -14
- package/components/fab/fab.css +1 -1
- package/components/fab/fab.js +0 -21
- package/components/fab/fab.less +50 -53
- package/components/form/form.d.ts +4 -4
- package/components/form/form.js +58 -94
- package/components/form/form.lazy.js +1 -1
- package/components/form/form.less +0 -3
- package/components/gauge/gauge-class.js +4 -20
- package/components/gauge/gauge.js +0 -9
- package/components/gauge/gauge.less +0 -3
- package/components/grid/grid-rtl.css +1 -1
- package/components/grid/grid-vars.less +0 -7
- package/components/grid/grid.css +1 -1
- package/components/grid/grid.d.ts +2 -8
- package/components/grid/grid.js +1 -225
- package/components/grid/grid.lazy.js +1 -1
- package/components/grid/grid.less +54 -184
- package/components/icon/icon.less +0 -3
- package/components/infinite-scroll/infinite-scroll-rtl.css +1 -1
- package/components/infinite-scroll/infinite-scroll.css +1 -1
- package/components/infinite-scroll/infinite-scroll.js +0 -16
- package/components/infinite-scroll/infinite-scroll.less +0 -3
- package/components/input/input-ios.less +49 -41
- package/components/input/input-md.less +87 -19
- package/components/input/input-rtl.css +1 -1
- package/components/input/input-vars.less +26 -60
- package/components/input/input.css +1 -1
- package/components/input/input.js +8 -67
- package/components/input/input.less +67 -153
- package/components/link/link-vars.less +0 -5
- package/components/link/link.less +3 -3
- package/components/list/list-md.less +0 -7
- package/components/list/list-vars.less +59 -108
- package/components/list/list.less +122 -90
- package/components/list-index/list-index-class.js +12 -69
- package/components/list-index/list-index-rtl.css +1 -1
- package/components/list-index/list-index-vars.less +0 -7
- package/components/list-index/list-index.css +1 -1
- package/components/list-index/list-index.d.ts +1 -3
- package/components/list-index/list-index.js +0 -8
- package/components/list-index/list-index.lazy.js +1 -1
- package/components/list-index/list-index.less +4 -7
- package/components/login-screen/login-screen-class.js +4 -9
- package/components/login-screen/login-screen-rtl.css +1 -1
- package/components/login-screen/login-screen-vars.less +13 -12
- package/components/login-screen/login-screen.css +1 -1
- package/components/login-screen/login-screen.js +0 -4
- package/components/login-screen/login-screen.less +2 -8
- package/components/messagebar/messagebar-class.js +18 -79
- package/components/messagebar/messagebar-ios.less +36 -0
- package/components/messagebar/messagebar-md.less +96 -16
- package/components/messagebar/messagebar-rtl.css +1 -1
- package/components/messagebar/messagebar-vars.less +27 -50
- package/components/messagebar/messagebar.css +1 -1
- package/components/messagebar/messagebar.js +0 -8
- package/components/messagebar/messagebar.less +11 -42
- package/components/messages/messages-class.js +17 -110
- package/components/messages/messages-ios.less +9 -0
- package/components/messages/messages-md.less +63 -28
- package/components/messages/messages-rtl.css +1 -1
- package/components/messages/messages-vars.less +43 -50
- package/components/messages/messages.css +1 -1
- package/components/messages/messages.js +0 -8
- package/components/messages/messages.lazy.js +1 -1
- package/components/messages/messages.less +0 -11
- package/components/modal/custom-modal-class.js +4 -14
- package/components/modal/modal-class.js +19 -55
- package/components/modal/modal.js +0 -3
- package/components/navbar/navbar-ios.less +3 -39
- package/components/navbar/navbar-md.less +12 -0
- package/components/navbar/navbar-vars.less +20 -49
- package/components/navbar/navbar.d.ts +0 -2
- package/components/navbar/navbar.js +37 -166
- package/components/navbar/navbar.less +4 -26
- package/components/notification/notification-class.js +4 -39
- package/components/notification/notification-md.less +18 -8
- package/components/notification/notification-rtl.css +1 -1
- package/components/notification/notification-vars.less +15 -54
- package/components/notification/notification.css +1 -1
- package/components/notification/notification.js +0 -2
- package/components/notification/notification.lazy.js +1 -1
- package/components/notification/notification.less +0 -3
- package/components/page/page-md.less +40 -10
- package/components/page/page-transitions/circle.less +15 -9
- package/components/page/page-transitions/fade.less +17 -11
- package/components/page/page-transitions/flip.less +9 -4
- package/components/page/page-vars.less +3 -19
- package/components/page/page.less +2 -10
- package/components/panel/panel-class.js +23 -127
- package/components/panel/panel-md.less +9 -0
- package/components/panel/panel-rtl.css +1 -1
- package/components/panel/panel-vars.less +7 -21
- package/components/panel/panel.css +1 -1
- package/components/panel/panel.d.ts +2 -2
- package/components/panel/panel.js +0 -34
- package/components/panel/panel.lazy.js +1 -1
- package/components/panel/panel.less +56 -48
- package/components/panel/resizable-panel.js +2 -32
- package/components/panel/swipe-panel.js +16 -71
- package/components/photo-browser/photo-browser-class.js +41 -171
- package/components/photo-browser/photo-browser-rtl.css +1 -1
- package/components/photo-browser/photo-browser-vars.less +0 -3
- package/components/photo-browser/photo-browser.css +1 -1
- package/components/photo-browser/photo-browser.d.ts +2 -4
- package/components/photo-browser/photo-browser.js +1 -6
- package/components/photo-browser/photo-browser.lazy.js +1 -1
- package/components/photo-browser/photo-browser.less +0 -4
- package/components/picker/picker-class.js +26 -133
- package/components/picker/picker-column.js +11 -31
- package/components/picker/picker-ios.less +10 -0
- package/components/picker/picker-md.less +6 -0
- package/components/picker/picker-rtl.css +1 -1
- package/components/picker/picker-vars.less +9 -25
- package/components/picker/picker.css +1 -1
- package/components/picker/picker.js +0 -4
- package/components/picker/picker.lazy.js +1 -1
- package/components/picker/picker.less +0 -11
- package/components/pie-chart/pie-chart-class.js +8 -31
- package/components/pie-chart/pie-chart.js +0 -3
- package/components/pie-chart/pie-chart.less +0 -3
- package/components/popover/popover-class.js +72 -126
- package/components/popover/popover-ios.less +0 -50
- package/components/popover/popover-rtl.css +1 -1
- package/components/popover/popover-vars.less +6 -23
- package/components/popover/popover.css +1 -1
- package/components/popover/popover.d.ts +2 -0
- package/components/popover/popover.js +1 -12
- package/components/popover/popover.lazy.js +1 -1
- package/components/popover/popover.less +62 -5
- package/components/popup/popup-class.js +12 -78
- package/components/popup/popup-rtl.css +1 -1
- package/components/popup/popup-vars.less +7 -9
- package/components/popup/popup.css +1 -1
- package/components/popup/popup.js +0 -4
- package/components/popup/popup.lazy.js +1 -1
- package/components/popup/popup.less +4 -4
- package/components/preloader/preloader-ios.less +3 -1
- package/components/preloader/preloader-md.less +5 -1
- package/components/preloader/preloader-rtl.css +1 -1
- package/components/preloader/preloader-vars.less +0 -6
- package/components/preloader/preloader.css +1 -1
- package/components/preloader/preloader.js +8 -25
- package/components/preloader/preloader.lazy.js +1 -1
- package/components/preloader/preloader.less +6 -3
- package/components/progressbar/progressbar-rtl.css +1 -1
- package/components/progressbar/progressbar-vars.less +2 -12
- package/components/progressbar/progressbar.css +1 -1
- package/components/progressbar/progressbar.js +2 -31
- package/components/progressbar/progressbar.less +0 -3
- package/components/pull-to-refresh/pull-to-refresh-class.js +15 -107
- package/components/pull-to-refresh/pull-to-refresh-md.less +2 -1
- package/components/pull-to-refresh/pull-to-refresh-rtl.css +1 -1
- package/components/pull-to-refresh/pull-to-refresh-vars.less +0 -4
- package/components/pull-to-refresh/pull-to-refresh.css +1 -1
- package/components/pull-to-refresh/pull-to-refresh.js +0 -8
- package/components/pull-to-refresh/pull-to-refresh.lazy.js +1 -1
- package/components/pull-to-refresh/pull-to-refresh.less +0 -3
- package/components/radio/radio-rtl.css +1 -1
- package/components/radio/radio-vars.less +0 -7
- package/components/radio/radio.css +1 -1
- package/components/radio/radio.less +12 -5
- package/components/range/range-class.js +27 -112
- package/components/range/range-rtl.css +1 -1
- package/components/range/range-vars.less +10 -32
- package/components/range/range.css +1 -1
- package/components/range/range.js +0 -12
- package/components/range/range.less +0 -3
- package/components/searchbar/remove-diacritics.js +0 -4
- package/components/searchbar/searchbar-class.js +17 -138
- package/components/searchbar/searchbar-md.less +41 -16
- package/components/searchbar/searchbar-rtl.css +1 -1
- package/components/searchbar/searchbar-vars.less +25 -76
- package/components/searchbar/searchbar.css +1 -1
- package/components/searchbar/searchbar.d.ts +2 -2
- package/components/searchbar/searchbar.js +0 -15
- package/components/searchbar/searchbar.lazy.js +1 -1
- package/components/searchbar/searchbar.less +14 -28
- package/components/sheet/sheet-class.js +15 -110
- package/components/sheet/sheet-rtl.css +1 -1
- package/components/sheet/sheet-vars.less +17 -6
- package/components/sheet/sheet.css +1 -1
- package/components/sheet/sheet.js +0 -9
- package/components/sheet/sheet.lazy.js +1 -1
- package/components/sheet/sheet.less +10 -3
- package/components/skeleton/skeleton.less +1 -4
- package/components/smart-select/smart-select-class.js +36 -173
- package/components/smart-select/smart-select.d.ts +1 -3
- package/components/smart-select/smart-select.js +1 -14
- package/components/smart-select/smart-select.lazy.js +1 -1
- package/components/smart-select/smart-select.less +0 -3
- package/components/sortable/sortable-rtl.css +1 -1
- package/components/sortable/sortable-vars.less +8 -8
- package/components/sortable/sortable.css +1 -1
- package/components/sortable/sortable.js +0 -44
- package/components/sortable/sortable.less +0 -3
- package/components/statusbar/statusbar.js +0 -36
- package/components/statusbar/statusbar.less +0 -3
- package/components/stepper/stepper-class.js +10 -83
- package/components/stepper/stepper-rtl.css +1 -1
- package/components/stepper/stepper-vars.less +12 -24
- package/components/stepper/stepper.css +1 -1
- package/components/stepper/stepper.js +0 -12
- package/components/stepper/stepper.less +12 -23
- package/components/subnavbar/subnavbar-vars.less +3 -18
- package/components/subnavbar/subnavbar.js +0 -3
- package/components/subnavbar/subnavbar.less +1 -11
- package/components/swipeout/swipeout-rtl.css +1 -1
- package/components/swipeout/swipeout-vars.less +7 -6
- package/components/swipeout/swipeout.css +1 -1
- package/components/swipeout/swipeout.js +2 -99
- package/components/swipeout/swipeout.less +2 -7
- package/components/swiper/swiper-rtl.css +1 -1
- package/components/swiper/swiper.css +1 -1
- package/components/swiper/swiper.js +9 -30
- package/components/swiper/swiper.lazy.js +1 -1
- package/components/swiper/swiper.less +1 -16
- package/components/tabs/tabs-rtl.css +1 -1
- package/components/tabs/tabs.css +1 -1
- package/components/tabs/tabs.js +23 -60
- package/components/tabs/tabs.lazy.js +1 -1
- package/components/tabs/tabs.less +1 -3
- package/components/text-editor/text-editor-class.js +16 -102
- package/components/text-editor/text-editor-rtl.css +1 -1
- package/components/text-editor/text-editor-vars.less +12 -16
- package/components/text-editor/text-editor.css +1 -1
- package/components/text-editor/text-editor.js +0 -8
- package/components/text-editor/text-editor.lazy.js +1 -1
- package/components/text-editor/text-editor.less +0 -6
- package/components/timeline/timeline-rtl.css +1 -1
- package/components/timeline/timeline-vars.less +13 -47
- package/components/timeline/timeline.css +1 -1
- package/components/timeline/timeline.less +2 -9
- package/components/toast/toast-class.js +2 -16
- package/components/toast/toast-rtl.css +1 -1
- package/components/toast/toast-vars.less +5 -9
- package/components/toast/toast.css +1 -1
- package/components/toast/toast.js +0 -3
- package/components/toast/toast.less +0 -3
- package/components/toggle/toggle-class.js +6 -30
- package/components/toggle/toggle-ios.less +5 -1
- package/components/toggle/toggle-md.less +27 -11
- package/components/toggle/toggle-rtl.css +1 -1
- package/components/toggle/toggle-vars.less +19 -21
- package/components/toggle/toggle.css +1 -1
- package/components/toggle/toggle.js +0 -8
- package/components/toggle/toggle.less +0 -4
- package/components/toolbar/toolbar-ios.less +2 -2
- package/components/toolbar/toolbar-md.less +28 -4
- package/components/toolbar/toolbar-vars.less +17 -52
- package/components/toolbar/toolbar.js +5 -43
- package/components/toolbar/toolbar.less +27 -45
- package/components/tooltip/tooltip-class.js +10 -64
- package/components/tooltip/tooltip-rtl.css +1 -1
- package/components/tooltip/tooltip-vars.less +12 -3
- package/components/tooltip/tooltip.css +1 -1
- package/components/tooltip/tooltip.js +0 -15
- package/components/tooltip/tooltip.less +0 -3
- package/components/touch-ripple/touch-ripple-class.js +0 -13
- package/components/touch-ripple/touch-ripple.js +0 -4
- package/components/touch-ripple/touch-ripple.less +1 -5
- package/components/treeview/treeview-rtl.css +1 -1
- package/components/treeview/treeview-vars.less +0 -3
- package/components/treeview/treeview.css +1 -1
- package/components/treeview/treeview.js +2 -11
- package/components/treeview/treeview.lazy.js +1 -1
- package/components/treeview/treeview.less +0 -3
- package/components/typography/typography-rtl.css +1 -1
- package/components/typography/typography.css +1 -1
- package/components/typography/typography.less +25 -3
- package/components/view/resizable-view.js +2 -24
- package/components/view/view-class.js +28 -53
- package/components/view/view.d.ts +0 -14
- package/components/view/view.js +8 -32
- package/components/view/view.less +1 -4
- package/components/virtual-list/virtual-list-class.js +58 -146
- package/components/virtual-list/virtual-list.d.ts +1 -1
- package/components/virtual-list/virtual-list.js +0 -2
- package/components/virtual-list/virtual-list.lazy.js +1 -1
- package/components/virtual-list/virtual-list.less +0 -3
- package/framework7-bundle-rtl.css +3593 -5977
- package/framework7-bundle-rtl.min.css +3 -3
- package/framework7-bundle.css +3591 -5978
- package/framework7-bundle.esm.js +4 -10
- package/framework7-bundle.js +6063 -12044
- package/framework7-bundle.js.map +1 -1
- package/framework7-bundle.less +2 -27
- package/framework7-bundle.min.css +3 -3
- package/framework7-bundle.min.js +3 -3
- package/framework7-bundle.min.js.map +1 -1
- package/framework7-lite-bundle.esm.js +4 -10
- package/framework7-lite.esm.js +4 -6
- package/framework7-lite.js +31 -0
- package/framework7-rtl.css +803 -1591
- package/framework7-rtl.min.css +3 -3
- package/framework7-types.d.ts +1 -32
- package/framework7.css +803 -1594
- package/framework7.d.ts +1 -32
- package/framework7.esm.js +4 -6
- package/framework7.js +1770 -3407
- package/framework7.js.map +1 -1
- package/framework7.less +2 -23
- package/framework7.min.css +3 -3
- package/framework7.min.js +3 -3
- package/framework7.min.js.map +1 -1
- package/less/mixins.less +7 -88
- package/less/plugin.js +15 -0
- package/modules/clicks/clicks.js +10 -22
- package/modules/component/$h.js +0 -3
- package/modules/component/$jsx.js +0 -5
- package/modules/component/component-class.js +13 -66
- package/modules/component/component.d.ts +1 -2
- package/modules/component/component.js +0 -8
- package/modules/component/eventslisteners.js +12 -20
- package/modules/component/parse-component.js +18 -20
- package/modules/component/snabbdom/h.js +3 -12
- package/modules/component/snabbdom/helpers/attachto.js +9 -14
- package/modules/component/snabbdom/htmldomapi.js +0 -16
- package/modules/component/snabbdom/modules/attributes.js +7 -11
- package/modules/component/snabbdom/modules/class.js +4 -8
- package/modules/component/snabbdom/modules/dataset.js +3 -7
- package/modules/component/snabbdom/modules/eventlisteners.js +16 -22
- package/modules/component/snabbdom/modules/hero.js +4 -44
- package/modules/component/snabbdom/modules/props.js +5 -9
- package/modules/component/snabbdom/modules/style.js +13 -30
- package/modules/component/snabbdom/snabbdom.bundle.js +0 -6
- package/modules/component/snabbdom/snabbdom.js +13 -72
- package/modules/component/snabbdom/thunk.js +3 -11
- package/modules/component/snabbdom/tovnode.js +1 -6
- package/modules/component/vdom.js +4 -62
- package/modules/demo-module.js +0 -8
- package/modules/device/device.js +6 -11
- package/modules/history/history.js +0 -1
- package/modules/resize/resize.js +8 -11
- package/modules/router/async-component.js +0 -3
- package/modules/router/back.js +86 -275
- package/modules/router/clear-previous-history.js +5 -18
- package/modules/router/component-loader.js +4 -25
- package/modules/router/modal.js +16 -43
- package/modules/router/navigate.js +80 -249
- package/modules/router/process-route-queue.js +0 -12
- package/modules/router/redirect.js +0 -8
- package/modules/router/router-class.js +92 -315
- package/modules/router/router.d.ts +3 -5
- package/modules/router/router.js +0 -3
- package/modules/router/swipe-back.js +35 -139
- package/modules/router/tab.js +14 -43
- package/modules/service-worker/service-worker.js +0 -11
- package/modules/store/create-store.js +10 -29
- package/modules/touch/touch.d.ts +2 -4
- package/modules/touch/touch.js +13 -108
- package/package.json +4 -18
- package/shared/$jsx.js +0 -6
- package/shared/class.js +18 -43
- package/shared/constructor-methods.js +0 -11
- package/shared/events-class.js +0 -17
- package/shared/get-device.js +18 -34
- package/shared/get-support.js +2 -8
- package/shared/history.js +2 -30
- package/shared/material-color-utils.js +728 -0
- package/shared/material-colors.js +75 -0
- package/shared/modal-methods.js +0 -18
- package/shared/utils.d.ts +0 -4
- package/shared/utils.js +191 -71
- package/components/accordion/accordion-aurora.less +0 -2
- package/components/actions/actions-aurora.less +0 -9
- package/components/app/app-aurora.less +0 -10
- package/components/appbar/appbar-aurora.less +0 -2
- package/components/appbar/appbar-ios.less +0 -2
- package/components/appbar/appbar-md.less +0 -2
- package/components/appbar/appbar-rtl.css +0 -1
- package/components/appbar/appbar-vars.less +0 -28
- package/components/appbar/appbar.css +0 -1
- package/components/appbar/appbar.d.ts +0 -14
- package/components/appbar/appbar.js +0 -3
- package/components/appbar/appbar.lazy.js +0 -1
- package/components/appbar/appbar.less +0 -106
- package/components/area-chart/area-chart-aurora.less +0 -2
- package/components/autocomplete/autocomplete-aurora.less +0 -17
- package/components/badge/badge-aurora.less +0 -2
- package/components/block/block-aurora.less +0 -2
- package/components/breadcrumbs/breadcrumbs-aurora.less +0 -2
- package/components/button/button-aurora.less +0 -25
- package/components/calendar/calendar-aurora.less +0 -2
- package/components/card/card-aurora.less +0 -2
- package/components/checkbox/checkbox-aurora.less +0 -39
- package/components/chip/chip-aurora.less +0 -14
- package/components/color-picker/color-picker-aurora.less +0 -2
- package/components/contacts-list/contacts-list-aurora.less +0 -2
- package/components/data-table/data-table-aurora.less +0 -64
- package/components/dialog/dialog-aurora.less +0 -112
- package/components/elevation/elevation-aurora.less +0 -2
- package/components/elevation/elevation-ios.less +0 -2
- package/components/elevation/elevation-md.less +0 -2
- package/components/elevation/elevation-rtl.css +0 -1
- package/components/elevation/elevation-vars.less +0 -51
- package/components/elevation/elevation.css +0 -1
- package/components/elevation/elevation.d.ts +0 -14
- package/components/elevation/elevation.js +0 -3
- package/components/elevation/elevation.lazy.js +0 -1
- package/components/elevation/elevation.less +0 -54
- package/components/fab/fab-aurora.less +0 -2
- package/components/form/form-aurora.less +0 -0
- package/components/gauge/gauge-aurora.less +0 -2
- package/components/grid/grid-aurora.less +0 -2
- package/components/icon/icon-aurora.less +0 -49
- package/components/infinite-scroll/infinite-scroll-aurora.less +0 -6
- package/components/input/input-aurora.less +0 -120
- package/components/lazy/lazy-aurora.less +0 -2
- package/components/lazy/lazy-ios.less +0 -2
- package/components/lazy/lazy-md.less +0 -2
- package/components/lazy/lazy-rtl.css +0 -1
- package/components/lazy/lazy.css +0 -1
- package/components/lazy/lazy.d.ts +0 -57
- package/components/lazy/lazy.js +0 -283
- package/components/lazy/lazy.lazy.js +0 -1
- package/components/lazy/lazy.less +0 -23
- package/components/link/link-aurora.less +0 -15
- package/components/list/list-aurora.less +0 -25
- package/components/list-index/list-index-aurora.less +0 -21
- package/components/login-screen/login-screen-aurora.less +0 -2
- package/components/menu/menu-aurora.less +0 -8
- package/components/menu/menu-ios.less +0 -2
- package/components/menu/menu-md.less +0 -2
- package/components/menu/menu-rtl.css +0 -1
- package/components/menu/menu-vars.less +0 -27
- package/components/menu/menu.css +0 -1
- package/components/menu/menu.d.ts +0 -32
- package/components/menu/menu.js +0 -87
- package/components/menu/menu.lazy.js +0 -1
- package/components/menu/menu.less +0 -232
- package/components/messagebar/messagebar-aurora.less +0 -53
- package/components/messages/messages-aurora.less +0 -137
- package/components/navbar/navbar-aurora.less +0 -70
- package/components/notification/notification-aurora.less +0 -59
- package/components/page/page-aurora.less +0 -49
- package/components/panel/panel-aurora.less +0 -2
- package/components/photo-browser/photo-browser-aurora.less +0 -2
- package/components/picker/picker-aurora.less +0 -2
- package/components/pie-chart/pie-chart-aurora.less +0 -2
- package/components/popover/popover-aurora.less +0 -56
- package/components/popup/popup-aurora.less +0 -2
- package/components/preloader/preloader-aurora.less +0 -53
- package/components/progressbar/progressbar-aurora.less +0 -72
- package/components/pull-to-refresh/pull-to-refresh-aurora.less +0 -122
- package/components/radio/radio-aurora.less +0 -86
- package/components/range/range-aurora.less +0 -9
- package/components/searchbar/searchbar-aurora.less +0 -86
- package/components/sheet/sheet-aurora.less +0 -2
- package/components/skeleton/skeleton-aurora.less +0 -2
- package/components/smart-select/smart-select-aurora.less +0 -2
- package/components/sortable/sortable-aurora.less +0 -7
- package/components/statusbar/statusbar-aurora.less +0 -2
- package/components/stepper/stepper-aurora.less +0 -32
- package/components/subnavbar/subnavbar-aurora.less +0 -51
- package/components/swipeout/swipeout-aurora.less +0 -2
- package/components/swiper/swiper-aurora.less +0 -2
- package/components/tabs/tabs-aurora.less +0 -2
- package/components/text-editor/text-editor-aurora.less +0 -9
- package/components/timeline/timeline-aurora.less +0 -7
- package/components/toast/toast-aurora.less +0 -64
- package/components/toggle/toggle-aurora.less +0 -26
- package/components/toolbar/toolbar-aurora.less +0 -43
- package/components/tooltip/tooltip-aurora.less +0 -2
- package/components/touch-ripple/touch-ripple-aurora.less +0 -2
- package/components/treeview/treeview-aurora.less +0 -31
- package/components/typography/typography-aurora.less +0 -2
- package/components/view/view-aurora.less +0 -2
- package/components/virtual-list/virtual-list-aurora.less +0 -2
- package/modules/request/request.d.ts +0 -15
- package/modules/request/request.js +0 -11
- package/postinstall.js +0 -3
- package/shared/request.d.ts +0 -115
- 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
|
-
|
|
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
|
-
}
|
|
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;
|
|
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
|
-
};
|
|
160
|
-
|
|
132
|
+
};
|
|
161
133
|
|
|
162
|
-
|
|
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
|
|
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="
|
|
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
|
|
455
|
-
const iconContent = getIconContent(icon || iconIos || iconMd ||
|
|
456
|
-
const iconClass = getIconClass(icon || iconIos || iconMd ||
|
|
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;
|
|
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;
|
|
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;
|
|
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
|
-
}
|
|
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
|
-
}
|
|
709
|
-
|
|
611
|
+
}
|
|
710
612
|
|
|
613
|
+
// Check for max length
|
|
711
614
|
if (ss.maxLength) {
|
|
712
615
|
ss.checkMaxLength();
|
|
713
|
-
}
|
|
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
|
-
}
|
|
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;
|
|
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
|
-
}
|
|
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
|
-
}
|
|
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;
|