framework7 6.3.4 → 7.0.0-beta.3
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 +132 -1
- package/components/accordion/accordion.umd.js +1 -0
- package/components/actions/actions-class.js +365 -0
- package/components/actions/actions-rtl.css +1 -1
- package/components/actions/actions.css +1 -1
- package/components/actions/actions.js +42 -1
- package/components/actions/actions.umd.js +1 -0
- package/components/app/app-class.d.ts +10 -10
- package/{esm/components → components}/app/app-class.js +107 -140
- package/components/app/app.less +3 -3
- package/{esm/components → components}/app/load-module.js +32 -32
- package/components/appbar/appbar.js +3 -1
- package/components/appbar/appbar.umd.js +1 -0
- package/components/area-chart/area-chart-class.js +507 -0
- package/components/area-chart/area-chart-rtl.css +1 -1
- package/components/area-chart/area-chart.css +1 -1
- package/components/area-chart/area-chart.js +47 -1
- package/components/area-chart/area-chart.umd.js +1 -0
- package/{esm/components → components}/autocomplete/autocomplete-class.js +241 -253
- package/components/autocomplete/autocomplete-rtl.css +1 -1
- package/components/autocomplete/autocomplete.css +1 -1
- package/components/autocomplete/autocomplete.js +86 -1
- package/components/autocomplete/autocomplete.umd.js +1 -0
- package/{esm/components → components}/badge/badge.js +0 -0
- package/{esm/components → components}/block/block.js +0 -0
- package/{esm/components → components}/button/button.js +0 -0
- package/{esm/components → components}/calendar/calendar-class.js +676 -643
- package/components/calendar/calendar-rtl.css +1 -1
- package/components/calendar/calendar.css +1 -1
- package/components/calendar/calendar.js +111 -1
- package/components/calendar/calendar.umd.js +1 -0
- package/components/card/card-rtl.css +1 -1
- package/components/card/card.css +1 -1
- package/components/card/card.js +592 -1
- package/components/card/card.umd.js +1 -0
- package/components/checkbox/checkbox-rtl.css +1 -1
- package/components/checkbox/checkbox.css +1 -1
- package/components/checkbox/checkbox.js +3 -1
- package/components/checkbox/checkbox.umd.js +1 -0
- package/components/chip/chip-rtl.css +1 -1
- package/components/chip/chip.css +1 -1
- package/components/chip/chip.js +3 -1
- package/components/chip/chip.umd.js +1 -0
- package/{esm/components → components}/color-picker/color-picker-class.js +336 -349
- 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 +92 -1
- package/components/color-picker/color-picker.umd.js +1 -0
- package/{esm/components → components}/color-picker/modules/alpha-slider.js +30 -19
- package/{esm/components → components}/color-picker/modules/brightness-slider.js +35 -24
- package/{esm/components → components}/color-picker/modules/current-color.js +4 -2
- package/{esm/components → components}/color-picker/modules/hex.js +27 -16
- package/{esm/components → components}/color-picker/modules/hs-spectrum.js +37 -25
- package/{esm/components → components}/color-picker/modules/hsb-sliders.js +54 -41
- package/{esm/components → components}/color-picker/modules/hue-slider.js +29 -18
- package/{esm/components → components}/color-picker/modules/initial-current-colors.js +14 -9
- package/{esm/components → components}/color-picker/modules/palette.js +14 -11
- package/{esm/components → components}/color-picker/modules/rgb-bars.js +42 -29
- package/{esm/components → components}/color-picker/modules/rgb-sliders.js +47 -34
- package/{esm/components → components}/color-picker/modules/sb-spectrum.js +38 -26
- package/{esm/components → components}/color-picker/modules/wheel.js +59 -47
- package/components/contacts-list/contacts-list-rtl.css +1 -1
- package/components/contacts-list/contacts-list.css +1 -1
- package/components/contacts-list/contacts-list.js +3 -1
- package/components/contacts-list/contacts-list.umd.js +1 -0
- package/{esm/components → components}/data-table/data-table-class.js +40 -59
- package/components/data-table/data-table-rtl.css +1 -1
- package/components/data-table/data-table.css +1 -1
- package/components/data-table/data-table.js +72 -1
- package/components/data-table/data-table.umd.js +1 -0
- package/{esm/components → components}/dialog/dialog-class.js +58 -67
- package/components/dialog/dialog-rtl.css +1 -1
- package/components/dialog/dialog.css +1 -1
- package/components/dialog/dialog.js +254 -1
- package/components/dialog/dialog.umd.js +1 -0
- package/components/elevation/elevation.js +3 -1
- package/components/elevation/elevation.umd.js +1 -0
- package/components/fab/fab.js +181 -1
- package/components/fab/fab.umd.js +1 -0
- package/components/form/form.js +347 -1
- package/components/form/form.umd.js +1 -0
- package/components/gauge/gauge-class.js +306 -0
- package/components/gauge/gauge.js +99 -1
- package/components/gauge/gauge.umd.js +1 -0
- package/components/grid/grid-rtl.css +1 -1
- package/components/grid/grid.css +1 -1
- package/components/grid/grid.js +227 -1
- package/components/grid/grid.umd.js +1 -0
- package/{esm/components → components}/icon/icon.js +0 -0
- package/components/infinite-scroll/infinite-scroll.js +110 -1
- package/components/infinite-scroll/infinite-scroll.umd.js +1 -0
- package/components/input/input-rtl.css +1 -1
- package/components/input/input.css +1 -1
- package/components/input/input.js +394 -1
- package/components/input/input.less +1 -1
- package/components/input/input.umd.js +1 -0
- package/components/lazy/lazy.js +283 -1
- package/components/lazy/lazy.umd.js +1 -0
- package/{esm/components → components}/link/link.js +0 -0
- package/{esm/components → components}/list/list.js +0 -0
- package/{esm/components → components}/list-index/list-index-class.js +113 -121
- package/components/list-index/list-index-rtl.css +1 -1
- package/components/list-index/list-index.css +1 -1
- package/components/list-index/list-index.js +73 -1
- package/components/list-index/list-index.umd.js +1 -0
- package/components/login-screen/login-screen-class.js +43 -0
- package/components/login-screen/login-screen-rtl.css +1 -1
- package/components/login-screen/login-screen.css +1 -1
- package/components/login-screen/login-screen.js +28 -1
- package/components/login-screen/login-screen.less +1 -1
- package/components/login-screen/login-screen.umd.js +1 -0
- package/components/menu/menu.js +79 -1
- package/components/menu/menu.umd.js +1 -0
- package/{esm/components → components}/messagebar/messagebar-class.js +124 -152
- package/components/messagebar/messagebar-rtl.css +1 -1
- package/components/messagebar/messagebar.css +1 -1
- package/components/messagebar/messagebar.js +74 -1
- package/components/messagebar/messagebar.umd.js +1 -0
- package/{esm/components → components}/messages/messages-class.js +162 -242
- package/components/messages/messages-rtl.css +1 -1
- package/components/messages/messages.css +1 -1
- package/components/messages/messages.js +73 -1
- package/components/messages/messages.umd.js +1 -0
- package/{esm/components → components}/modal/custom-modal-class.js +16 -29
- package/{esm/components → components}/modal/modal-class.js +68 -83
- package/{esm/components → components}/modal/modal.js +8 -5
- package/{esm/components → components}/navbar/navbar.js +166 -171
- package/components/notification/notification-aurora.less +1 -1
- package/{esm/components → components}/notification/notification-class.js +65 -78
- package/components/notification/notification-ios.less +1 -1
- package/components/notification/notification-rtl.css +1 -1
- package/components/notification/notification.css +1 -1
- package/components/notification/notification.js +35 -1
- package/components/notification/notification.umd.js +1 -0
- package/components/page/page-vars.less +1 -1
- package/{esm/components → components}/page/page.js +0 -0
- package/{esm/components → components}/panel/panel-class.js +183 -214
- package/components/panel/panel-rtl.css +1 -1
- package/components/panel/panel.css +1 -1
- package/components/panel/panel.js +190 -1
- package/components/panel/panel.umd.js +1 -0
- package/{esm/components → components}/panel/resizable-panel.js +30 -28
- package/{esm/components → components}/panel/swipe-panel.js +46 -44
- package/{esm/components → components}/photo-browser/photo-browser-class.js +206 -234
- package/components/photo-browser/photo-browser.js +73 -1
- package/components/photo-browser/photo-browser.umd.js +1 -0
- package/{esm/components → components}/picker/picker-class.js +233 -233
- package/{esm/components → components}/picker/picker-column.js +70 -72
- package/components/picker/picker-rtl.css +1 -1
- package/components/picker/picker.css +1 -1
- package/components/picker/picker.js +64 -1
- package/components/picker/picker.umd.js +1 -0
- package/components/pie-chart/pie-chart-class.js +264 -0
- package/components/pie-chart/pie-chart.js +35 -1
- package/components/pie-chart/pie-chart.umd.js +1 -0
- package/{esm/components → components}/popover/popover-class.js +72 -97
- package/components/popover/popover-rtl.css +1 -1
- package/components/popover/popover.css +1 -1
- package/components/popover/popover.js +76 -1
- package/components/popover/popover.umd.js +1 -0
- package/{esm/components → components}/popup/popup-class.js +66 -81
- package/components/popup/popup-rtl.css +1 -1
- package/components/popup/popup.css +1 -1
- package/components/popup/popup.js +41 -1
- package/components/popup/popup.less +21 -21
- package/components/popup/popup.umd.js +1 -0
- package/components/preloader/preloader.js +115 -1
- package/components/preloader/preloader.umd.js +1 -0
- package/components/progressbar/progressbar-rtl.css +1 -1
- package/components/progressbar/progressbar.css +1 -1
- package/components/progressbar/progressbar.js +166 -1
- package/components/progressbar/progressbar.umd.js +1 -0
- package/{esm/components → components}/pull-to-refresh/pull-to-refresh-class.js +101 -118
- package/components/pull-to-refresh/pull-to-refresh.js +70 -1
- package/components/pull-to-refresh/pull-to-refresh.umd.js +1 -0
- package/components/radio/radio-rtl.css +1 -1
- package/components/radio/radio.css +1 -1
- package/components/radio/radio.js +3 -1
- package/components/radio/radio.umd.js +1 -0
- package/{esm/components → components}/range/range-class.js +191 -192
- package/components/range/range-rtl.css +1 -1
- package/components/range/range.css +1 -1
- package/components/range/range.js +79 -1
- package/components/range/range.umd.js +1 -0
- package/components/searchbar/remove-diacritics.js +275 -0
- package/{esm/components → components}/searchbar/searchbar-class.js +129 -146
- package/components/searchbar/searchbar-rtl.css +1 -1
- package/components/searchbar/searchbar.css +1 -1
- package/components/searchbar/searchbar.js +121 -1
- package/components/searchbar/searchbar.less +1 -1
- package/components/searchbar/searchbar.umd.js +1 -0
- package/{esm/components → components}/sheet/sheet-class.js +87 -106
- package/components/sheet/sheet-rtl.css +1 -1
- package/components/sheet/sheet.css +1 -1
- package/components/sheet/sheet.js +68 -1
- package/components/sheet/sheet.less +16 -16
- package/components/sheet/sheet.umd.js +1 -0
- package/components/skeleton/skeleton-rtl.css +1 -1
- package/components/skeleton/skeleton-vars.less +1 -1
- package/components/skeleton/skeleton.css +1 -1
- package/components/skeleton/skeleton.js +3 -1
- package/components/skeleton/skeleton.less +1 -1
- package/components/skeleton/skeleton.umd.js +1 -0
- package/{esm/components → components}/smart-select/smart-select-class.js +284 -296
- package/components/smart-select/smart-select.js +149 -1
- package/components/smart-select/smart-select.umd.js +1 -0
- package/components/sortable/sortable-rtl.css +1 -1
- package/components/sortable/sortable.css +1 -1
- package/components/sortable/sortable.js +293 -1
- package/components/sortable/sortable.umd.js +1 -0
- package/{esm/components → components}/statusbar/statusbar.js +48 -41
- package/{esm/components → components}/stepper/stepper-class.js +104 -115
- package/components/stepper/stepper-rtl.css +1 -1
- package/components/stepper/stepper.css +1 -1
- package/components/stepper/stepper.js +86 -1
- package/components/stepper/stepper.umd.js +1 -0
- package/{esm/components → components}/subnavbar/subnavbar.js +3 -2
- package/components/swipeout/swipeout-rtl.css +1 -1
- package/components/swipeout/swipeout.css +1 -1
- package/components/swipeout/swipeout.js +597 -1
- package/components/swipeout/swipeout.umd.js +1 -0
- package/components/swiper/swiper-rtl.css +1 -1
- package/components/swiper/swiper.css +1 -1
- package/components/swiper/swiper.js +191 -1
- package/components/swiper/swiper.less +1 -1
- package/components/swiper/swiper.umd.js +1 -0
- package/components/tabs/tabs.js +272 -1
- package/components/tabs/tabs.umd.js +1 -0
- package/{esm/components → components}/text-editor/text-editor-class.js +170 -182
- package/components/text-editor/text-editor-rtl.css +1 -1
- package/components/text-editor/text-editor.css +1 -1
- package/components/text-editor/text-editor.js +89 -1
- package/components/text-editor/text-editor.umd.js +1 -0
- package/components/timeline/timeline-rtl.css +1 -1
- package/components/timeline/timeline.css +1 -1
- package/components/timeline/timeline.js +3 -1
- package/components/timeline/timeline.umd.js +1 -0
- package/components/toast/toast-class.js +119 -0
- package/components/toast/toast.js +43 -1
- package/components/toast/toast.umd.js +1 -0
- package/{esm/components → components}/toggle/toggle-class.js +46 -63
- package/components/toggle/toggle-rtl.css +1 -1
- package/components/toggle/toggle.css +1 -1
- package/components/toggle/toggle.js +65 -1
- package/components/toggle/toggle.umd.js +1 -0
- package/{esm/components → components}/toolbar/toolbar.js +63 -59
- package/{esm/components → components}/tooltip/tooltip-class.js +95 -106
- package/components/tooltip/tooltip.js +144 -1
- package/components/tooltip/tooltip.umd.js +1 -0
- package/components/touch-ripple/touch-ripple-class.js +98 -0
- package/components/touch-ripple/touch-ripple-vars.less +1 -1
- package/components/touch-ripple/touch-ripple.js +18 -0
- package/components/treeview/treeview-rtl.css +1 -1
- package/components/treeview/treeview.css +1 -1
- package/components/treeview/treeview.js +83 -1
- package/components/treeview/treeview.umd.js +1 -0
- package/components/typography/typography.js +3 -1
- package/components/typography/typography.umd.js +1 -0
- package/{esm/components → components}/view/resizable-view.js +23 -21
- package/{esm/components → components}/view/view-class.js +48 -67
- package/{esm/components → components}/view/view.js +37 -28
- package/{esm/components → components}/virtual-list/virtual-list-class.js +153 -170
- package/components/virtual-list/virtual-list.js +19 -1
- package/components/virtual-list/virtual-list.umd.js +1 -0
- package/framework7-bundle-rtl.css +268 -852
- package/framework7-bundle-rtl.min.css +3 -3
- package/framework7-bundle.css +268 -852
- package/{esm/framework7-bundle.js → framework7-bundle.esm.js} +2 -2
- package/framework7-bundle.js +30782 -31429
- package/framework7-bundle.js.map +1 -1
- package/framework7-bundle.less +2 -2
- package/framework7-bundle.min.css +3 -3
- package/framework7-bundle.min.js +3 -3
- package/framework7-bundle.min.js.map +1 -1
- package/{esm/framework7-lite-bundle.js → framework7-lite-bundle.esm.js} +2 -2
- package/{esm/framework7-lite.js → framework7-lite.esm.js} +2 -2
- package/framework7-rtl.css +52 -56
- package/framework7-rtl.min.css +3 -3
- package/{types/types.d.ts → framework7-types.d.ts} +0 -0
- package/framework7.css +52 -56
- package/framework7.d.ts +81 -81
- package/{esm/framework7.js → framework7.esm.js} +2 -2
- package/framework7.js +3386 -4049
- package/framework7.js.map +1 -1
- package/framework7.less +2 -2
- package/framework7.min.css +3 -3
- package/framework7.min.js +3 -3
- package/framework7.min.js.map +1 -1
- package/less/mixins.less +2 -2
- package/{esm/modules → modules}/clicks/clicks.js +17 -16
- package/modules/component/$h.js +14 -0
- package/modules/component/$jsx.js +18 -0
- package/modules/component/component-class.js +382 -0
- package/modules/component/component.d.ts +2 -0
- package/{esm/modules → modules}/component/component.js +23 -17
- package/{esm/modules → modules}/component/custom-components.js +0 -0
- package/{esm/modules → modules}/component/eventslisteners.js +14 -18
- package/modules/component/parse-component.js +80 -0
- package/{esm/modules → modules}/component/patch.js +1 -1
- package/{esm/modules → modules}/component/snabbdom/h.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/helpers/attachto.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/hooks.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/htmldomapi.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/is.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/modules/attributes.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/modules/class.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/modules/dataset.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/modules/eventlisteners.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/modules/hero.js +1 -1
- package/{esm/modules → modules}/component/snabbdom/modules/module.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/modules/props.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/modules/style.js +1 -1
- package/{esm/modules → modules}/component/snabbdom/snabbdom.bundle.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/snabbdom.js +6 -18
- package/{esm/modules → modules}/component/snabbdom/thunk.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/tovnode.js +0 -0
- package/{esm/modules → modules}/component/snabbdom/vnode.js +0 -0
- package/{esm/modules → modules}/component/vdom.js +106 -130
- package/{esm/modules → modules}/demo-module.js +15 -7
- package/{esm/modules → modules}/device/device.js +12 -11
- package/{esm/modules → modules}/history/history.js +2 -1
- package/{esm/modules → modules}/request/request.js +2 -2
- package/modules/resize/resize.js +65 -0
- package/{esm/modules → modules}/router/app-router-check.js +1 -1
- package/{esm/modules → modules}/router/async-component.js +3 -3
- package/{esm/modules → modules}/router/back.js +117 -117
- package/{esm/modules → modules}/router/clear-previous-history.js +8 -8
- package/modules/router/component-loader.js +174 -0
- package/{esm/modules → modules}/router/modal.js +49 -49
- package/{esm/modules → modules}/router/navigate.js +140 -221
- package/{esm/modules → modules}/router/process-route-queue.js +20 -17
- package/{esm/modules → modules}/router/redirect.js +7 -11
- package/{esm/modules → modules}/router/router-class.js +411 -432
- package/{esm/modules → modules}/router/router.js +5 -3
- package/{esm/modules → modules}/router/swipe-back.js +143 -177
- package/{esm/modules → modules}/router/tab.js +46 -46
- package/{esm/modules → modules}/service-worker/service-worker.js +41 -37
- package/modules/store/create-store.js +149 -0
- package/{esm/modules → modules}/store/store.js +2 -2
- package/{esm/modules → modules}/support/support.js +1 -1
- package/{esm/modules → modules}/touch/touch.js +71 -70
- package/{esm/modules → modules}/utils/utils.js +2 -2
- package/package.json +252 -11
- package/shared/$jsx.js +22 -0
- package/shared/class.js +143 -0
- package/shared/constructor-methods.js +42 -0
- package/{esm/shared → shared}/dom7.js +2 -1
- package/shared/events-class.js +100 -0
- package/{types/shared → shared}/get-device.d.ts +0 -0
- package/{esm/shared → shared}/get-device.js +32 -37
- package/{types/shared → shared}/get-support.d.ts +0 -0
- package/{esm/shared → shared}/get-support.js +7 -6
- package/{esm/shared → shared}/history.js +61 -47
- package/shared/modal-methods.js +90 -0
- package/{types/shared → shared}/request.d.ts +0 -0
- package/shared/request.js +474 -0
- package/{types/shared → shared}/utils.d.ts +0 -0
- package/{esm/shared → shared}/utils.js +125 -162
- package/bundle/package.json +0 -8
- package/cjs/components/accordion/accordion.js +0 -136
- package/cjs/components/actions/actions-class.js +0 -383
- package/cjs/components/actions/actions.js +0 -58
- package/cjs/components/app/app-class.js +0 -378
- package/cjs/components/app/load-module.js +0 -155
- package/cjs/components/appbar/appbar.js +0 -8
- package/cjs/components/area-chart/area-chart-class.js +0 -526
- package/cjs/components/area-chart/area-chart.js +0 -56
- package/cjs/components/autocomplete/autocomplete-class.js +0 -975
- package/cjs/components/autocomplete/autocomplete.js +0 -93
- package/cjs/components/badge/badge.js +0 -8
- package/cjs/components/block/block.js +0 -8
- package/cjs/components/button/button.js +0 -8
- package/cjs/components/calendar/calendar-class.js +0 -2078
- package/cjs/components/calendar/calendar.js +0 -124
- package/cjs/components/card/card.js +0 -625
- package/cjs/components/checkbox/checkbox.js +0 -8
- package/cjs/components/chip/chip.js +0 -8
- package/cjs/components/color-picker/color-picker-class.js +0 -1022
- package/cjs/components/color-picker/color-picker.js +0 -105
- package/cjs/components/color-picker/modules/alpha-slider.js +0 -101
- package/cjs/components/color-picker/modules/brightness-slider.js +0 -86
- package/cjs/components/color-picker/modules/current-color.js +0 -23
- package/cjs/components/color-picker/modules/hex.js +0 -81
- package/cjs/components/color-picker/modules/hs-spectrum.js +0 -137
- package/cjs/components/color-picker/modules/hsb-sliders.js +0 -206
- package/cjs/components/color-picker/modules/hue-slider.js +0 -78
- package/cjs/components/color-picker/modules/initial-current-colors.js +0 -54
- package/cjs/components/color-picker/modules/palette.js +0 -61
- package/cjs/components/color-picker/modules/rgb-bars.js +0 -196
- package/cjs/components/color-picker/modules/rgb-sliders.js +0 -198
- package/cjs/components/color-picker/modules/sb-spectrum.js +0 -137
- package/cjs/components/color-picker/modules/wheel.js +0 -198
- package/cjs/components/contacts-list/contacts-list.js +0 -8
- package/cjs/components/data-table/data-table-class.js +0 -188
- package/cjs/components/data-table/data-table.js +0 -75
- package/cjs/components/dialog/dialog-class.js +0 -250
- package/cjs/components/dialog/dialog.js +0 -297
- package/cjs/components/elevation/elevation.js +0 -8
- package/cjs/components/fab/fab.js +0 -195
- package/cjs/components/form/form.js +0 -341
- package/cjs/components/gauge/gauge-class.js +0 -332
- package/cjs/components/gauge/gauge.js +0 -103
- package/cjs/components/grid/grid.js +0 -233
- package/cjs/components/icon/icon.js +0 -8
- package/cjs/components/infinite-scroll/infinite-scroll.js +0 -111
- package/cjs/components/input/input.js +0 -396
- package/cjs/components/lazy/lazy.js +0 -283
- package/cjs/components/link/link.js +0 -8
- package/cjs/components/list/list.js +0 -8
- package/cjs/components/list-index/list-index-class.js +0 -405
- package/cjs/components/list-index/list-index.js +0 -77
- package/cjs/components/login-screen/login-screen-class.js +0 -68
- package/cjs/components/login-screen/login-screen.js +0 -44
- package/cjs/components/menu/menu.js +0 -92
- package/cjs/components/messagebar/messagebar-class.js +0 -446
- package/cjs/components/messagebar/messagebar.js +0 -78
- package/cjs/components/messages/messages-class.js +0 -633
- package/cjs/components/messages/messages.js +0 -76
- package/cjs/components/modal/custom-modal-class.js +0 -99
- package/cjs/components/modal/modal-class.js +0 -277
- package/cjs/components/modal/modal.js +0 -32
- package/cjs/components/navbar/navbar.js +0 -833
- package/cjs/components/notification/notification-class.js +0 -269
- package/cjs/components/notification/notification.js +0 -44
- package/cjs/components/page/page.js +0 -8
- package/cjs/components/panel/panel-class.js +0 -660
- package/cjs/components/panel/panel.js +0 -219
- package/cjs/components/panel/resizable-panel.js +0 -197
- package/cjs/components/panel/swipe-panel.js +0 -363
- package/cjs/components/photo-browser/photo-browser-class.js +0 -781
- package/cjs/components/photo-browser/photo-browser.js +0 -78
- package/cjs/components/picker/picker-class.js +0 -704
- package/cjs/components/picker/picker-column.js +0 -389
- package/cjs/components/picker/picker.js +0 -77
- package/cjs/components/pie-chart/pie-chart-class.js +0 -290
- package/cjs/components/pie-chart/pie-chart.js +0 -44
- package/cjs/components/popover/popover-class.js +0 -365
- package/cjs/components/popover/popover.js +0 -93
- package/cjs/components/popup/popup-class.js +0 -416
- package/cjs/components/popup/popup.js +0 -57
- package/cjs/components/preloader/preloader.js +0 -111
- package/cjs/components/progressbar/progressbar.js +0 -185
- package/cjs/components/pull-to-refresh/pull-to-refresh-class.js +0 -627
- package/cjs/components/pull-to-refresh/pull-to-refresh.js +0 -74
- package/cjs/components/radio/radio.js +0 -8
- package/cjs/components/range/range-class.js +0 -674
- package/cjs/components/range/range.js +0 -93
- package/cjs/components/searchbar/remove-diacritics.js +0 -283
- package/cjs/components/searchbar/searchbar-class.js +0 -739
- package/cjs/components/searchbar/searchbar.js +0 -141
- package/cjs/components/sheet/sheet-class.js +0 -583
- package/cjs/components/sheet/sheet.js +0 -83
- package/cjs/components/skeleton/skeleton.js +0 -8
- package/cjs/components/smart-select/smart-select-class.js +0 -1005
- package/cjs/components/smart-select/smart-select.js +0 -151
- package/cjs/components/sortable/sortable.js +0 -322
- package/cjs/components/statusbar/statusbar.js +0 -226
- package/cjs/components/stepper/stepper-class.js +0 -497
- package/cjs/components/stepper/stepper.js +0 -96
- package/cjs/components/subnavbar/subnavbar.js +0 -28
- package/cjs/components/swipeout/swipeout.js +0 -618
- package/cjs/components/swiper/swiper.js +0 -189
- package/cjs/components/tabs/tabs.js +0 -296
- package/cjs/components/text-editor/text-editor-class.js +0 -627
- package/cjs/components/text-editor/text-editor.js +0 -93
- package/cjs/components/timeline/timeline.js +0 -8
- package/cjs/components/toast/toast-class.js +0 -142
- package/cjs/components/toast/toast.js +0 -51
- package/cjs/components/toggle/toggle-class.js +0 -213
- package/cjs/components/toggle/toggle.js +0 -72
- package/cjs/components/toolbar/toolbar.js +0 -234
- package/cjs/components/tooltip/tooltip-class.js +0 -409
- package/cjs/components/tooltip/tooltip.js +0 -146
- package/cjs/components/touch-ripple/touch-ripple-class.js +0 -110
- package/cjs/components/touch-ripple/touch-ripple.js +0 -34
- package/cjs/components/treeview/treeview.js +0 -88
- package/cjs/components/typography/typography.js +0 -8
- package/cjs/components/view/resizable-view.js +0 -155
- package/cjs/components/view/view-class.js +0 -251
- package/cjs/components/view/view.js +0 -196
- package/cjs/components/virtual-list/virtual-list-class.js +0 -654
- package/cjs/components/virtual-list/virtual-list.js +0 -27
- package/cjs/framework7-bundle.js +0 -208
- package/cjs/framework7-lite-bundle.js +0 -191
- package/cjs/framework7-lite.js +0 -87
- package/cjs/framework7.js +0 -98
- package/cjs/modules/clicks/clicks.js +0 -115
- package/cjs/modules/component/$h.js +0 -31
- package/cjs/modules/component/$jsx.js +0 -31
- package/cjs/modules/component/component-class.js +0 -415
- package/cjs/modules/component/component.js +0 -58
- package/cjs/modules/component/custom-components.js +0 -6
- package/cjs/modules/component/eventslisteners.js +0 -90
- package/cjs/modules/component/parse-component.js +0 -80
- package/cjs/modules/component/patch.js +0 -21
- package/cjs/modules/component/snabbdom/h.js +0 -72
- package/cjs/modules/component/snabbdom/helpers/attachto.js +0 -62
- package/cjs/modules/component/snabbdom/hooks.js +0 -1
- package/cjs/modules/component/snabbdom/htmldomapi.js +0 -90
- package/cjs/modules/component/snabbdom/is.js +0 -11
- package/cjs/modules/component/snabbdom/modules/attributes.js +0 -61
- package/cjs/modules/component/snabbdom/modules/class.js +0 -38
- package/cjs/modules/component/snabbdom/modules/dataset.js +0 -47
- package/cjs/modules/component/snabbdom/modules/eventlisteners.js +0 -106
- package/cjs/modules/component/snabbdom/modules/hero.js +0 -193
- package/cjs/modules/component/snabbdom/modules/module.js +0 -1
- package/cjs/modules/component/snabbdom/modules/props.js +0 -40
- package/cjs/modules/component/snabbdom/modules/style.js +0 -116
- package/cjs/modules/component/snabbdom/snabbdom.bundle.js +0 -33
- package/cjs/modules/component/snabbdom/snabbdom.js +0 -374
- package/cjs/modules/component/snabbdom/thunk.js +0 -66
- package/cjs/modules/component/snabbdom/tovnode.js +0 -57
- package/cjs/modules/component/snabbdom/vnode.js +0 -20
- package/cjs/modules/component/vdom.js +0 -393
- package/cjs/modules/demo-module.js +0 -49
- package/cjs/modules/device/device.js +0 -56
- package/cjs/modules/history/history.js +0 -21
- package/cjs/modules/request/request.js +0 -20
- package/cjs/modules/resize/resize.js +0 -72
- package/cjs/modules/router/app-router-check.js +0 -10
- package/cjs/modules/router/async-component.js +0 -33
- package/cjs/modules/router/back.js +0 -899
- package/cjs/modules/router/clear-previous-history.js +0 -50
- package/cjs/modules/router/component-loader.js +0 -140
- package/cjs/modules/router/modal.js +0 -254
- package/cjs/modules/router/navigate.js +0 -1054
- package/cjs/modules/router/process-route-queue.js +0 -80
- package/cjs/modules/router/redirect.js +0 -52
- package/cjs/modules/router/router-class.js +0 -1500
- package/cjs/modules/router/router.js +0 -36
- package/cjs/modules/router/swipe-back.js +0 -735
- package/cjs/modules/router/tab.js +0 -264
- package/cjs/modules/service-worker/service-worker.js +0 -101
- package/cjs/modules/store/create-store.js +0 -169
- package/cjs/modules/store/store.js +0 -21
- package/cjs/modules/support/support.js +0 -14
- package/cjs/modules/touch/touch.js +0 -585
- package/cjs/modules/utils/utils.js +0 -21
- package/cjs/shared/$jsx.js +0 -39
- package/cjs/shared/class.js +0 -206
- package/cjs/shared/constructor-methods.js +0 -73
- package/cjs/shared/dom7.js +0 -17
- package/cjs/shared/events-class.js +0 -125
- package/cjs/shared/get-device.js +0 -157
- package/cjs/shared/get-support.js +0 -44
- package/cjs/shared/history.js +0 -185
- package/cjs/shared/modal-methods.js +0 -105
- package/cjs/shared/request.js +0 -552
- package/cjs/shared/utils.js +0 -472
- package/components/accordion/package.json +0 -9
- package/components/actions/package.json +0 -9
- package/components/app/package.json +0 -9
- package/components/appbar/package.json +0 -9
- package/components/area-chart/package.json +0 -9
- package/components/autocomplete/package.json +0 -9
- package/components/badge/package.json +0 -9
- package/components/block/package.json +0 -9
- package/components/button/package.json +0 -9
- package/components/calendar/package.json +0 -9
- package/components/card/package.json +0 -9
- package/components/checkbox/package.json +0 -9
- package/components/chip/package.json +0 -9
- package/components/color-picker/package.json +0 -9
- package/components/contacts-list/package.json +0 -9
- package/components/data-table/package.json +0 -9
- package/components/dialog/package.json +0 -9
- package/components/elevation/package.json +0 -9
- package/components/fab/package.json +0 -9
- package/components/form/package.json +0 -9
- package/components/gauge/package.json +0 -9
- package/components/grid/package.json +0 -9
- package/components/icon/package.json +0 -9
- package/components/infinite-scroll/package.json +0 -9
- package/components/input/package.json +0 -9
- package/components/lazy/package.json +0 -9
- package/components/link/package.json +0 -9
- package/components/list/package.json +0 -9
- package/components/list-index/package.json +0 -9
- package/components/login-screen/package.json +0 -9
- package/components/menu/package.json +0 -9
- package/components/messagebar/package.json +0 -9
- package/components/messages/package.json +0 -9
- package/components/modal/package.json +0 -9
- package/components/navbar/package.json +0 -9
- package/components/notification/package.json +0 -9
- package/components/page/package.json +0 -9
- package/components/panel/package.json +0 -9
- package/components/photo-browser/package.json +0 -9
- package/components/picker/package.json +0 -9
- package/components/pie-chart/package.json +0 -9
- package/components/popover/package.json +0 -9
- package/components/popup/package.json +0 -9
- package/components/preloader/package.json +0 -9
- package/components/progressbar/package.json +0 -9
- package/components/pull-to-refresh/package.json +0 -9
- package/components/radio/package.json +0 -9
- package/components/range/package.json +0 -9
- package/components/searchbar/package.json +0 -9
- package/components/sheet/package.json +0 -9
- package/components/skeleton/package.json +0 -9
- package/components/smart-select/package.json +0 -9
- package/components/sortable/package.json +0 -9
- package/components/statusbar/package.json +0 -9
- package/components/stepper/package.json +0 -9
- package/components/subnavbar/package.json +0 -9
- package/components/swipeout/package.json +0 -9
- package/components/swiper/package.json +0 -9
- package/components/tabs/package.json +0 -9
- package/components/text-editor/package.json +0 -9
- package/components/timeline/package.json +0 -9
- package/components/toast/package.json +0 -9
- package/components/toggle/package.json +0 -9
- package/components/toolbar/package.json +0 -9
- package/components/tooltip/package.json +0 -9
- package/components/touch-ripple/package.json +0 -9
- package/components/treeview/package.json +0 -9
- package/components/typography/package.json +0 -9
- package/components/view/package.json +0 -9
- package/components/virtual-list/package.json +0 -9
- package/core/package.json +0 -8
- package/esm/components/accordion/accordion.js +0 -126
- package/esm/components/actions/actions-class.js +0 -373
- package/esm/components/actions/actions.js +0 -48
- package/esm/components/appbar/appbar.js +0 -3
- package/esm/components/area-chart/area-chart-class.js +0 -517
- package/esm/components/area-chart/area-chart.js +0 -45
- package/esm/components/autocomplete/autocomplete.js +0 -82
- package/esm/components/calendar/calendar.js +0 -113
- package/esm/components/card/card.js +0 -612
- package/esm/components/checkbox/checkbox.js +0 -3
- package/esm/components/chip/chip.js +0 -3
- package/esm/components/color-picker/color-picker.js +0 -94
- package/esm/components/contacts-list/contacts-list.js +0 -3
- package/esm/components/data-table/data-table.js +0 -64
- package/esm/components/dialog/dialog.js +0 -286
- package/esm/components/elevation/elevation.js +0 -3
- package/esm/components/fab/fab.js +0 -185
- package/esm/components/form/form.js +0 -330
- package/esm/components/gauge/gauge-class.js +0 -323
- package/esm/components/gauge/gauge.js +0 -91
- package/esm/components/grid/grid.js +0 -223
- package/esm/components/infinite-scroll/infinite-scroll.js +0 -101
- package/esm/components/input/input.js +0 -384
- package/esm/components/lazy/lazy.js +0 -271
- package/esm/components/list-index/list-index.js +0 -65
- package/esm/components/login-screen/login-screen-class.js +0 -58
- package/esm/components/login-screen/login-screen.js +0 -34
- package/esm/components/menu/menu.js +0 -82
- package/esm/components/messagebar/messagebar.js +0 -66
- package/esm/components/messages/messages.js +0 -65
- package/esm/components/notification/notification.js +0 -33
- package/esm/components/panel/panel.js +0 -208
- package/esm/components/photo-browser/photo-browser.js +0 -68
- package/esm/components/picker/picker.js +0 -66
- package/esm/components/pie-chart/pie-chart-class.js +0 -281
- package/esm/components/pie-chart/pie-chart.js +0 -33
- package/esm/components/popover/popover.js +0 -81
- package/esm/components/popup/popup.js +0 -47
- package/esm/components/preloader/preloader.js +0 -101
- package/esm/components/progressbar/progressbar.js +0 -175
- package/esm/components/pull-to-refresh/pull-to-refresh.js +0 -62
- package/esm/components/radio/radio.js +0 -3
- package/esm/components/range/range.js +0 -81
- package/esm/components/searchbar/remove-diacritics.js +0 -277
- package/esm/components/searchbar/searchbar.js +0 -129
- package/esm/components/sheet/sheet.js +0 -71
- package/esm/components/skeleton/skeleton.js +0 -3
- package/esm/components/smart-select/smart-select.js +0 -139
- package/esm/components/sortable/sortable.js +0 -310
- package/esm/components/stepper/stepper.js +0 -84
- package/esm/components/swipeout/swipeout.js +0 -606
- package/esm/components/swiper/swiper.js +0 -177
- package/esm/components/tabs/tabs.js +0 -286
- package/esm/components/text-editor/text-editor.js +0 -81
- package/esm/components/timeline/timeline.js +0 -3
- package/esm/components/toast/toast-class.js +0 -132
- package/esm/components/toast/toast.js +0 -40
- package/esm/components/toggle/toggle.js +0 -61
- package/esm/components/tooltip/tooltip.js +0 -135
- package/esm/components/touch-ripple/touch-ripple-class.js +0 -103
- package/esm/components/touch-ripple/touch-ripple.js +0 -25
- package/esm/components/treeview/treeview.js +0 -78
- package/esm/components/typography/typography.js +0 -3
- package/esm/components/virtual-list/virtual-list.js +0 -17
- package/esm/modules/component/$h.js +0 -20
- package/esm/modules/component/$jsx.js +0 -24
- package/esm/modules/component/component-class.js +0 -402
- package/esm/modules/component/parse-component.js +0 -70
- package/esm/modules/resize/resize.js +0 -64
- package/esm/modules/router/component-loader.js +0 -133
- package/esm/modules/store/create-store.js +0 -164
- package/esm/shared/$jsx.js +0 -33
- package/esm/shared/class.js +0 -197
- package/esm/shared/constructor-methods.js +0 -65
- package/esm/shared/events-class.js +0 -119
- package/esm/shared/modal-methods.js +0 -95
- package/esm/shared/request.js +0 -545
- package/lite/package.json +0 -8
- package/lite-bundle/package.json +0 -8
- package/modules/clicks/package.json +0 -9
- package/modules/component/package.json +0 -9
- package/modules/device/package.json +0 -9
- package/modules/history/package.json +0 -9
- package/modules/request/package.json +0 -9
- package/modules/resize/package.json +0 -9
- package/modules/router/package.json +0 -9
- package/modules/service-worker/package.json +0 -9
- package/modules/store/package.json +0 -9
- package/modules/support/package.json +0 -9
- package/modules/touch/package.json +0 -9
- package/modules/utils/package.json +0 -9
- package/types/components/accordion/accordion.d.ts +0 -55
- package/types/components/actions/actions.d.ts +0 -158
- package/types/components/app/app-class.d.ts +0 -196
- package/types/components/appbar/appbar.d.ts +0 -10
- package/types/components/area-chart/area-chart.d.ts +0 -124
- package/types/components/autocomplete/autocomplete.d.ts +0 -191
- package/types/components/badge/badge.d.ts +0 -10
- package/types/components/block/block.d.ts +0 -10
- package/types/components/button/button.d.ts +0 -10
- package/types/components/calendar/calendar.d.ts +0 -304
- package/types/components/card/card.d.ts +0 -65
- package/types/components/checkbox/checkbox.d.ts +0 -10
- package/types/components/chip/chip.d.ts +0 -10
- package/types/components/color-picker/color-picker.d.ts +0 -229
- package/types/components/contacts-list/contacts-list.d.ts +0 -10
- package/types/components/data-table/data-table.d.ts +0 -57
- package/types/components/dialog/dialog.d.ts +0 -241
- package/types/components/elevation/elevation.d.ts +0 -10
- package/types/components/fab/fab.d.ts +0 -28
- package/types/components/form/form.d.ts +0 -60
- package/types/components/gauge/gauge.d.ts +0 -96
- package/types/components/grid/grid.d.ts +0 -17
- package/types/components/icon/icon.d.ts +0 -10
- package/types/components/infinite-scroll/infinite-scroll.d.ts +0 -23
- package/types/components/input/input.d.ts +0 -56
- package/types/components/lazy/lazy.d.ts +0 -53
- package/types/components/link/link.d.ts +0 -10
- package/types/components/list/list.d.ts +0 -10
- package/types/components/list-index/list-index.d.ts +0 -99
- package/types/components/login-screen/login-screen.d.ts +0 -95
- package/types/components/menu/menu.d.ts +0 -28
- package/types/components/messagebar/messagebar.d.ts +0 -161
- package/types/components/messages/messages.d.ts +0 -158
- package/types/components/modal/modal.d.ts +0 -78
- package/types/components/navbar/navbar.d.ts +0 -75
- package/types/components/notification/notification.d.ts +0 -118
- package/types/components/page/page.d.ts +0 -10
- package/types/components/panel/panel.d.ts +0 -194
- package/types/components/photo-browser/photo-browser.d.ts +0 -194
- package/types/components/picker/picker.d.ts +0 -216
- package/types/components/pie-chart/pie-chart.d.ts +0 -95
- package/types/components/popover/popover.d.ts +0 -127
- package/types/components/popup/popup.d.ts +0 -135
- package/types/components/preloader/preloader.d.ts +0 -18
- package/types/components/progressbar/progressbar.d.ts +0 -27
- package/types/components/pull-to-refresh/pull-to-refresh.d.ts +0 -99
- package/types/components/radio/radio.d.ts +0 -10
- package/types/components/range/range.d.ts +0 -121
- package/types/components/searchbar/searchbar.d.ts +0 -157
- package/types/components/sheet/sheet.d.ts +0 -149
- package/types/components/skeleton/skeleton.d.ts +0 -10
- package/types/components/smart-select/smart-select.d.ts +0 -199
- package/types/components/sortable/sortable.d.ts +0 -46
- package/types/components/statusbar/statusbar.d.ts +0 -50
- package/types/components/stepper/stepper.d.ts +0 -117
- package/types/components/subnavbar/subnavbar.d.ts +0 -11
- package/types/components/swipeout/swipeout.d.ts +0 -68
- package/types/components/swiper/swiper.d.ts +0 -21
- package/types/components/tabs/tabs.d.ts +0 -39
- package/types/components/text-editor/text-editor.d.ts +0 -162
- package/types/components/timeline/timeline.d.ts +0 -10
- package/types/components/toast/toast.d.ts +0 -117
- package/types/components/toggle/toggle.d.ts +0 -69
- package/types/components/toolbar/toolbar.d.ts +0 -43
- package/types/components/tooltip/tooltip.d.ts +0 -101
- package/types/components/touch-ripple/touch-ripple.d.ts +0 -21
- package/types/components/treeview/treeview.d.ts +0 -38
- package/types/components/typography/typography.d.ts +0 -10
- package/types/components/view/view.d.ts +0 -205
- package/types/components/virtual-list/virtual-list.d.ts +0 -138
- package/types/modules/clicks/clicks.d.ts +0 -19
- package/types/modules/component/component.d.ts +0 -94
- package/types/modules/component/snabbdom/h.d.ts +0 -10
- package/types/modules/component/snabbdom/helpers/attachto.d.ts +0 -9
- package/types/modules/component/snabbdom/hooks.d.ts +0 -23
- package/types/modules/component/snabbdom/htmldomapi.d.ts +0 -19
- package/types/modules/component/snabbdom/is.d.ts +0 -2
- package/types/modules/component/snabbdom/modules/attributes.d.ts +0 -4
- package/types/modules/component/snabbdom/modules/class.d.ts +0 -4
- package/types/modules/component/snabbdom/modules/dataset.d.ts +0 -4
- package/types/modules/component/snabbdom/modules/eventlisteners.d.ts +0 -8
- package/types/modules/component/snabbdom/modules/hero.d.ts +0 -6
- package/types/modules/component/snabbdom/modules/module.d.ts +0 -9
- package/types/modules/component/snabbdom/modules/props.d.ts +0 -4
- package/types/modules/component/snabbdom/modules/style.d.ts +0 -7
- package/types/modules/component/snabbdom/snabbdom.bundle.d.ts +0 -5
- package/types/modules/component/snabbdom/snabbdom.d.ts +0 -6
- package/types/modules/component/snabbdom/thunk.d.ts +0 -14
- package/types/modules/component/snabbdom/tovnode.d.ts +0 -4
- package/types/modules/component/snabbdom/vnode.d.ts +0 -36
- package/types/modules/device/device.d.ts +0 -14
- package/types/modules/request/request.d.ts +0 -15
- package/types/modules/resize/resize.d.ts +0 -25
- package/types/modules/router/router.d.ts +0 -356
- package/types/modules/service-worker/service-worker.d.ts +0 -38
- package/types/modules/store/store.d.ts +0 -40
- package/types/modules/support/support.d.ts +0 -15
- package/types/modules/touch/touch.d.ts +0 -62
- package/types/modules/utils/utils.d.ts +0 -15
- package/types/package.json +0 -6
|
@@ -2,24 +2,24 @@ import $ from '../../shared/dom7';
|
|
|
2
2
|
import { requestAnimationFrame, getTranslate } from '../../shared/utils';
|
|
3
3
|
import { getSupport } from '../../shared/get-support';
|
|
4
4
|
export default function pickerColumn(colEl, updateItems) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
const picker = this;
|
|
6
|
+
const app = picker.app;
|
|
7
|
+
const $colEl = $(colEl);
|
|
8
|
+
const colIndex = $colEl.index();
|
|
9
|
+
const col = picker.cols[colIndex];
|
|
10
10
|
if (col.divider) return;
|
|
11
11
|
col.$el = $colEl;
|
|
12
12
|
col.el = $colEl[0];
|
|
13
13
|
col.$itemsEl = col.$el.find('.picker-items');
|
|
14
14
|
col.items = col.$itemsEl.find('.picker-item');
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
let itemHeight;
|
|
16
|
+
let itemsHeight;
|
|
17
|
+
let minTranslate;
|
|
18
|
+
let maxTranslate;
|
|
19
|
+
let animationFrameId;
|
|
20
20
|
|
|
21
21
|
function updateDuringScroll() {
|
|
22
|
-
animationFrameId = requestAnimationFrame(
|
|
22
|
+
animationFrameId = requestAnimationFrame(() => {
|
|
23
23
|
col.updateItems(undefined, undefined, 0);
|
|
24
24
|
updateDuringScroll();
|
|
25
25
|
});
|
|
@@ -44,8 +44,8 @@ export default function pickerColumn(colEl, updateItems) {
|
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
let colWidth = 0;
|
|
48
|
+
const colHeight = col.$el[0].offsetHeight;
|
|
49
49
|
itemHeight = col.items[0].offsetHeight;
|
|
50
50
|
itemsHeight = itemHeight * col.items.length;
|
|
51
51
|
minTranslate = colHeight / 2 - itemsHeight + itemHeight / 2;
|
|
@@ -61,12 +61,12 @@ export default function pickerColumn(colEl, updateItems) {
|
|
|
61
61
|
|
|
62
62
|
if (picker.params.rotateEffect) {
|
|
63
63
|
if (!col.width) {
|
|
64
|
-
col.items.each(
|
|
65
|
-
|
|
64
|
+
col.items.each(itemEl => {
|
|
65
|
+
const item = $(itemEl).children('span');
|
|
66
66
|
colWidth = Math.max(colWidth, item[0].offsetWidth);
|
|
67
67
|
});
|
|
68
68
|
col.$el.css({
|
|
69
|
-
width: colWidth + 2
|
|
69
|
+
width: `${colWidth + 2}px`
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
72
|
|
|
@@ -74,25 +74,21 @@ export default function pickerColumn(colEl, updateItems) {
|
|
|
74
74
|
}
|
|
75
75
|
};
|
|
76
76
|
|
|
77
|
-
col.setValue = function setColValue(newValue, transition, valueCallbacks) {
|
|
78
|
-
|
|
79
|
-
transition = '';
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
var newActiveIndex = col.$itemsEl.find(".picker-item[data-picker-value=\"" + newValue + "\"]").index();
|
|
77
|
+
col.setValue = function setColValue(newValue, transition = '', valueCallbacks) {
|
|
78
|
+
const newActiveIndex = col.$itemsEl.find(`.picker-item[data-picker-value="${newValue}"]`).index();
|
|
83
79
|
|
|
84
80
|
if (typeof newActiveIndex === 'undefined' || newActiveIndex === -1) {
|
|
85
81
|
return;
|
|
86
82
|
}
|
|
87
83
|
|
|
88
|
-
|
|
84
|
+
const newTranslate = -newActiveIndex * itemHeight + maxTranslate; // Update wrapper
|
|
89
85
|
|
|
90
86
|
col.$itemsEl.transition(transition);
|
|
91
|
-
col.$itemsEl.transform(
|
|
87
|
+
col.$itemsEl.transform(`translate3d(0,${newTranslate}px,0)`); // Watch items
|
|
92
88
|
|
|
93
89
|
if (picker.params.updateValuesOnMomentum && col.activeIndex && col.activeIndex !== newActiveIndex) {
|
|
94
90
|
cancelAnimationFrame(animationFrameId);
|
|
95
|
-
col.$itemsEl.transitionEnd(
|
|
91
|
+
col.$itemsEl.transitionEnd(() => {
|
|
96
92
|
cancelAnimationFrame(animationFrameId);
|
|
97
93
|
});
|
|
98
94
|
updateDuringScroll();
|
|
@@ -114,21 +110,21 @@ export default function pickerColumn(colEl, updateItems) {
|
|
|
114
110
|
if (activeIndex < 0) activeIndex = 0; // eslint-disable-next-line
|
|
115
111
|
|
|
116
112
|
if (activeIndex >= col.items.length) activeIndex = col.items.length - 1;
|
|
117
|
-
|
|
113
|
+
const previousActiveIndex = col.activeIndex;
|
|
118
114
|
col.activeIndex = activeIndex;
|
|
119
115
|
col.$itemsEl.find('.picker-item-selected').removeClass('picker-item-selected');
|
|
120
116
|
col.items.transition(transition);
|
|
121
|
-
|
|
117
|
+
const selectedItem = col.items.eq(activeIndex).addClass('picker-item-selected').transform(''); // Set 3D rotate effect
|
|
122
118
|
|
|
123
119
|
if (picker.params.rotateEffect) {
|
|
124
|
-
col.items.each(
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
120
|
+
col.items.each(itemEl => {
|
|
121
|
+
const $itemEl = $(itemEl);
|
|
122
|
+
const itemOffsetTop = $itemEl.index() * itemHeight;
|
|
123
|
+
const translateOffset = maxTranslate - translate;
|
|
124
|
+
const itemOffset = itemOffsetTop - translateOffset;
|
|
125
|
+
const percentage = itemOffset / itemHeight;
|
|
126
|
+
const itemsFit = Math.ceil(col.height / itemHeight / 2) + 1;
|
|
127
|
+
let angle = -18 * percentage;
|
|
132
128
|
if (angle > 180) angle = 180;
|
|
133
129
|
if (angle < -180) angle = -180;
|
|
134
130
|
|
|
@@ -138,7 +134,7 @@ export default function pickerColumn(colEl, updateItems) {
|
|
|
138
134
|
$itemEl.removeClass('picker-item-far');
|
|
139
135
|
}
|
|
140
136
|
|
|
141
|
-
$itemEl.transform(
|
|
137
|
+
$itemEl.transform(`translate3d(0, ${-translate + maxTranslate}px, ${picker.needsOriginFix ? -110 : 0}px) rotateX(${angle}deg)`);
|
|
142
138
|
});
|
|
143
139
|
}
|
|
144
140
|
|
|
@@ -157,18 +153,18 @@ export default function pickerColumn(colEl, updateItems) {
|
|
|
157
153
|
}
|
|
158
154
|
};
|
|
159
155
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
156
|
+
let allowItemClick = true;
|
|
157
|
+
let isTouched;
|
|
158
|
+
let isMoved;
|
|
159
|
+
let touchStartY;
|
|
160
|
+
let touchCurrentY;
|
|
161
|
+
let touchStartTime;
|
|
162
|
+
let touchEndTime;
|
|
163
|
+
let startTranslate;
|
|
164
|
+
let returnTo;
|
|
165
|
+
let currentTranslate;
|
|
166
|
+
let prevTranslate;
|
|
167
|
+
let velocityTranslate;
|
|
172
168
|
|
|
173
169
|
function handleTouchStart(e) {
|
|
174
170
|
if (isMoved || isTouched) return;
|
|
@@ -197,22 +193,22 @@ export default function pickerColumn(colEl, updateItems) {
|
|
|
197
193
|
col.$itemsEl.transition(0);
|
|
198
194
|
}
|
|
199
195
|
|
|
200
|
-
|
|
196
|
+
const diff = touchCurrentY - touchStartY;
|
|
201
197
|
currentTranslate = startTranslate + diff;
|
|
202
198
|
returnTo = undefined; // Normalize translate
|
|
203
199
|
|
|
204
200
|
if (currentTranslate < minTranslate) {
|
|
205
|
-
currentTranslate = minTranslate -
|
|
201
|
+
currentTranslate = minTranslate - (minTranslate - currentTranslate) ** 0.8;
|
|
206
202
|
returnTo = 'min';
|
|
207
203
|
}
|
|
208
204
|
|
|
209
205
|
if (currentTranslate > maxTranslate) {
|
|
210
|
-
currentTranslate = maxTranslate +
|
|
206
|
+
currentTranslate = maxTranslate + (currentTranslate - maxTranslate) ** 0.8;
|
|
211
207
|
returnTo = 'max';
|
|
212
208
|
} // Transform wrapper
|
|
213
209
|
|
|
214
210
|
|
|
215
|
-
col.$itemsEl.transform(
|
|
211
|
+
col.$itemsEl.transform(`translate3d(0,${currentTranslate}px,0)`); // Update items
|
|
216
212
|
|
|
217
213
|
col.updateItems(undefined, currentTranslate, 0, picker.params.updateValuesOnTouchmove); // Calc velocity
|
|
218
214
|
|
|
@@ -233,14 +229,14 @@ export default function pickerColumn(colEl, updateItems) {
|
|
|
233
229
|
|
|
234
230
|
if (returnTo) {
|
|
235
231
|
if (returnTo === 'min') {
|
|
236
|
-
col.$itemsEl.transform(
|
|
232
|
+
col.$itemsEl.transform(`translate3d(0,${minTranslate}px,0)`);
|
|
237
233
|
} else {
|
|
238
|
-
col.$itemsEl.transform(
|
|
234
|
+
col.$itemsEl.transform(`translate3d(0,${maxTranslate}px,0)`);
|
|
239
235
|
}
|
|
240
236
|
}
|
|
241
237
|
|
|
242
238
|
touchEndTime = new Date().getTime();
|
|
243
|
-
|
|
239
|
+
let newTranslate;
|
|
244
240
|
|
|
245
241
|
if (touchEndTime - touchStartTime > 300) {
|
|
246
242
|
newTranslate = currentTranslate;
|
|
@@ -250,32 +246,34 @@ export default function pickerColumn(colEl, updateItems) {
|
|
|
250
246
|
|
|
251
247
|
newTranslate = Math.max(Math.min(newTranslate, maxTranslate), minTranslate); // Active Index
|
|
252
248
|
|
|
253
|
-
|
|
249
|
+
const activeIndex = Math.round(Math.abs((newTranslate - maxTranslate) / itemHeight)); // Normalize translate
|
|
254
250
|
|
|
255
251
|
if (!picker.params.freeMode) newTranslate = -activeIndex * itemHeight + maxTranslate; // Transform wrapper
|
|
256
252
|
|
|
257
|
-
col.$itemsEl.transform(
|
|
253
|
+
col.$itemsEl.transform(`translate3d(0,${parseInt(newTranslate, 10)}px,0)`); // Update items
|
|
258
254
|
|
|
259
255
|
col.updateItems(activeIndex, newTranslate, '', true); // Watch items
|
|
260
256
|
|
|
261
257
|
if (picker.params.updateValuesOnMomentum) {
|
|
262
258
|
updateDuringScroll();
|
|
263
|
-
col.$itemsEl.transitionEnd(
|
|
259
|
+
col.$itemsEl.transitionEnd(() => {
|
|
264
260
|
cancelAnimationFrame(animationFrameId);
|
|
265
261
|
});
|
|
266
262
|
} // Allow click
|
|
267
263
|
|
|
268
264
|
|
|
269
|
-
setTimeout(
|
|
265
|
+
setTimeout(() => {
|
|
270
266
|
allowItemClick = true;
|
|
271
267
|
}, 100);
|
|
272
268
|
}
|
|
273
269
|
|
|
274
|
-
|
|
270
|
+
let mousewheelTimeout;
|
|
275
271
|
|
|
276
272
|
function handleMouseWheel(e) {
|
|
277
|
-
|
|
278
|
-
|
|
273
|
+
const {
|
|
274
|
+
deltaX,
|
|
275
|
+
deltaY
|
|
276
|
+
} = e;
|
|
279
277
|
if (Math.abs(deltaX) > Math.abs(deltaY)) return;
|
|
280
278
|
clearTimeout(mousewheelTimeout);
|
|
281
279
|
e.preventDefault();
|
|
@@ -296,30 +294,30 @@ export default function pickerColumn(colEl, updateItems) {
|
|
|
296
294
|
} // Transform wrapper
|
|
297
295
|
|
|
298
296
|
|
|
299
|
-
col.$itemsEl.transform(
|
|
297
|
+
col.$itemsEl.transform(`translate3d(0,${currentTranslate}px,0)`); // Update items
|
|
300
298
|
|
|
301
299
|
col.updateItems(undefined, currentTranslate, 0, picker.params.updateValuesOnMousewheel); // On end
|
|
302
300
|
|
|
303
|
-
mousewheelTimeout = setTimeout(
|
|
301
|
+
mousewheelTimeout = setTimeout(() => {
|
|
304
302
|
col.$itemsEl.transition('');
|
|
305
303
|
|
|
306
304
|
if (returnTo) {
|
|
307
305
|
if (returnTo === 'min') {
|
|
308
|
-
col.$itemsEl.transform(
|
|
306
|
+
col.$itemsEl.transform(`translate3d(0,${minTranslate}px,0)`);
|
|
309
307
|
} else {
|
|
310
|
-
col.$itemsEl.transform(
|
|
308
|
+
col.$itemsEl.transform(`translate3d(0,${maxTranslate}px,0)`);
|
|
311
309
|
}
|
|
312
310
|
}
|
|
313
311
|
|
|
314
312
|
touchEndTime = new Date().getTime();
|
|
315
|
-
|
|
313
|
+
let newTranslate = currentTranslate;
|
|
316
314
|
newTranslate = Math.max(Math.min(newTranslate, maxTranslate), minTranslate); // Active Index
|
|
317
315
|
|
|
318
|
-
|
|
316
|
+
const activeIndex = Math.round(Math.abs((newTranslate - maxTranslate) / itemHeight)); // Normalize translate
|
|
319
317
|
|
|
320
318
|
if (!picker.params.freeMode) newTranslate = -activeIndex * itemHeight + maxTranslate; // Transform wrapper
|
|
321
319
|
|
|
322
|
-
col.$itemsEl.transform(
|
|
320
|
+
col.$itemsEl.transform(`translate3d(0,${parseInt(newTranslate, 10)}px,0)`); // Update items
|
|
323
321
|
|
|
324
322
|
col.updateItems(activeIndex, newTranslate, '', true);
|
|
325
323
|
}, 200);
|
|
@@ -328,11 +326,11 @@ export default function pickerColumn(colEl, updateItems) {
|
|
|
328
326
|
function handleClick() {
|
|
329
327
|
if (!allowItemClick) return;
|
|
330
328
|
cancelAnimationFrame(animationFrameId);
|
|
331
|
-
|
|
329
|
+
const value = $(this).attr('data-picker-value');
|
|
332
330
|
col.setValue(value);
|
|
333
331
|
}
|
|
334
332
|
|
|
335
|
-
|
|
333
|
+
const activeListener = getSupport().passiveListener ? {
|
|
336
334
|
passive: false,
|
|
337
335
|
capture: false
|
|
338
336
|
} : false;
|
|
@@ -363,7 +361,7 @@ export default function pickerColumn(colEl, updateItems) {
|
|
|
363
361
|
|
|
364
362
|
col.init = function initCol() {
|
|
365
363
|
col.calcSize();
|
|
366
|
-
col.$itemsEl.transform(
|
|
364
|
+
col.$itemsEl.transform(`translate3d(0,${maxTranslate}px,0)`).transition(0);
|
|
367
365
|
if (colIndex === 0) col.$el.addClass('picker-column-first');
|
|
368
366
|
if (colIndex === picker.cols.length - 1) col.$el.addClass('picker-column-last'); // Update items on init
|
|
369
367
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--f7-picker-height:260px;--f7-picker-inline-height:200px;--f7-picker-popover-height:260px;--f7-picker-popover-width:280px;--f7-picker-landscape-height:200px;--f7-picker-item-height:36px;--f7-picker-item-selected-bg-color:rgba(0, 0, 0, 0.12);--f7-picker-item-selected-text-color:#000}:root .
|
|
1
|
+
:root{--f7-picker-height:260px;--f7-picker-inline-height:200px;--f7-picker-popover-height:260px;--f7-picker-popover-width:280px;--f7-picker-landscape-height:200px;--f7-picker-item-height:36px;--f7-picker-item-selected-bg-color:rgba(0, 0, 0, 0.12);--f7-picker-item-selected-text-color:#000}:root .dark,:root.dark{--f7-picker-item-selected-bg-color:rgba(255, 255, 255, 0.1);--f7-picker-item-selected-text-color:#fff}.ios{--f7-picker-column-font-size:20px;--f7-picker-divider-text-color:#000;--f7-picker-item-text-color:rgba(0, 0, 0, 0.45)}.ios .dark,.ios.dark{--f7-picker-divider-text-color:#fff;--f7-picker-item-text-color:rgba(255, 255, 255, 0.55)}.md{--f7-picker-column-font-size:20px;--f7-picker-divider-text-color:rgba(0, 0, 0, 0.87);--f7-picker-item-text-color:rgba(0, 0, 0, 0.54)}.md .dark,.md.dark{--f7-picker-item-text-color:rgba(255, 255, 255, 0.54);--f7-picker-divider-text-color:rgba(255, 255, 255, 0.87)}.aurora{--f7-picker-column-font-size:20px;--f7-picker-item-text-color:#888;--f7-picker-divider-text-color:#000}.aurora .dark,.aurora.dark{--f7-picker-divider-text-color:#fff}.picker{width:100%;height:var(--f7-picker-height)}.picker.picker-inline{height:var(--f7-picker-inline-height)}.popover .picker{height:var(--f7-picker-popover-height)}@media (orientation:landscape) and (max-height:415px){.picker:not(.picker-inline){height:var(--f7-picker-landscape-height)}}.picker.sheet-modal{background:var(--f7-picker-sheet-bg-color,var(--f7-sheet-bg-color))}.picker-popover{width:var(--f7-picker-popover-width)}.picker-popover .toolbar{background:0 0;border-radius:var(--f7-popover-border-radius) var(--f7-popover-border-radius) 0 0}.picker-popover .toolbar:before{display:none!important}.picker-popover .toolbar+.picker-columns{height:calc(100% - var(--f7-toolbar-height))}.picker-columns{display:flex;overflow:hidden;justify-content:center;padding:0;text-align:right;height:100%;position:relative;-webkit-mask-box-image:linear-gradient(to top,transparent,transparent 5%,white 20%,white 80%,transparent 95%,transparent);font-size:var(--f7-picker-column-font-size)}.picker-column{position:relative;max-height:100%}.picker-column.picker-column-first:before,.picker-column.picker-column-last:after{height:100%;width:100vw;position:absolute;content:'';top:0}.picker-column.picker-column-first:before{left:100%}.picker-column.picker-column-last:after{right:100%}.picker-column.picker-column-left{text-align:left}.picker-column.picker-column-center{text-align:center}.picker-column.picker-column-right{text-align:right}.picker-column.picker-column-divider{display:flex;align-items:center;color:var(--f7-picker-divider-text-color)}.picker-items{transition:.3s;transition-timing-function:ease-out}.picker-item{height:var(--f7-picker-item-height);line-height:var(--f7-picker-item-height);white-space:nowrap;position:relative;overflow:hidden;text-overflow:ellipsis;left:0;top:0;width:100%;box-sizing:border-box;transition:.3s;color:var(--f7-picker-item-text-color);cursor:pointer}.picker-item span{padding:0 10px}.picker-column-absolute .picker-item{position:absolute}.picker-item.picker-item-far{pointer-events:none}.picker-item.picker-item-selected{color:var(--f7-picker-item-selected-text-color);transform:translate3d(0,0,0) rotateX(0deg)}.picker-center-highlight{height:var(--f7-picker-item-height);box-sizing:border-box;position:absolute;left:16px;right:16px;top:50%;margin-top:calc(-1 * var(--f7-picker-item-height)/ 2);pointer-events:none;background-color:var(--f7-picker-item-selected-bg-color);border-radius:8px}.popover .picker-center-highlight{left:8px;right:8px}.picker-3d .picker-columns{overflow:hidden;perspective:1200px}.picker-3d .picker-column,.picker-3d .picker-item,.picker-3d .picker-items{transform-style:preserve-3d}.picker-3d .picker-column{overflow:visible}.picker-3d .picker-item{transform-origin:center center -110px;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-timing-function:ease-out}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--f7-picker-height:260px;--f7-picker-inline-height:200px;--f7-picker-popover-height:260px;--f7-picker-popover-width:280px;--f7-picker-landscape-height:200px;--f7-picker-item-height:36px;--f7-picker-item-selected-bg-color:rgba(0, 0, 0, 0.12);--f7-picker-item-selected-text-color:#000}:root .
|
|
1
|
+
:root{--f7-picker-height:260px;--f7-picker-inline-height:200px;--f7-picker-popover-height:260px;--f7-picker-popover-width:280px;--f7-picker-landscape-height:200px;--f7-picker-item-height:36px;--f7-picker-item-selected-bg-color:rgba(0, 0, 0, 0.12);--f7-picker-item-selected-text-color:#000}:root .dark,:root.dark{--f7-picker-item-selected-bg-color:rgba(255, 255, 255, 0.1);--f7-picker-item-selected-text-color:#fff}.ios{--f7-picker-column-font-size:20px;--f7-picker-divider-text-color:#000;--f7-picker-item-text-color:rgba(0, 0, 0, 0.45)}.ios .dark,.ios.dark{--f7-picker-divider-text-color:#fff;--f7-picker-item-text-color:rgba(255, 255, 255, 0.55)}.md{--f7-picker-column-font-size:20px;--f7-picker-divider-text-color:rgba(0, 0, 0, 0.87);--f7-picker-item-text-color:rgba(0, 0, 0, 0.54)}.md .dark,.md.dark{--f7-picker-item-text-color:rgba(255, 255, 255, 0.54);--f7-picker-divider-text-color:rgba(255, 255, 255, 0.87)}.aurora{--f7-picker-column-font-size:20px;--f7-picker-item-text-color:#888;--f7-picker-divider-text-color:#000}.aurora .dark,.aurora.dark{--f7-picker-divider-text-color:#fff}.picker{width:100%;height:var(--f7-picker-height)}.picker.picker-inline{height:var(--f7-picker-inline-height)}.popover .picker{height:var(--f7-picker-popover-height)}@media (orientation:landscape) and (max-height:415px){.picker:not(.picker-inline){height:var(--f7-picker-landscape-height)}}.picker.sheet-modal{background:var(--f7-picker-sheet-bg-color,var(--f7-sheet-bg-color))}.picker-popover{width:var(--f7-picker-popover-width)}.picker-popover .toolbar{background:0 0;border-radius:var(--f7-popover-border-radius) var(--f7-popover-border-radius) 0 0}.picker-popover .toolbar:before{display:none!important}.picker-popover .toolbar+.picker-columns{height:calc(100% - var(--f7-toolbar-height))}.picker-columns{display:flex;overflow:hidden;justify-content:center;padding:0;text-align:right;height:100%;position:relative;-webkit-mask-box-image:linear-gradient(to top,transparent,transparent 5%,white 20%,white 80%,transparent 95%,transparent);font-size:var(--f7-picker-column-font-size)}.picker-column{position:relative;max-height:100%}.picker-column.picker-column-first:before,.picker-column.picker-column-last:after{height:100%;width:100vw;position:absolute;content:'';top:0}.picker-column.picker-column-first:before{right:100%}.picker-column.picker-column-last:after{left:100%}.picker-column.picker-column-left{text-align:left}.picker-column.picker-column-center{text-align:center}.picker-column.picker-column-right{text-align:right}.picker-column.picker-column-divider{display:flex;align-items:center;color:var(--f7-picker-divider-text-color)}.picker-items{transition:.3s;transition-timing-function:ease-out}.picker-item{height:var(--f7-picker-item-height);line-height:var(--f7-picker-item-height);white-space:nowrap;position:relative;overflow:hidden;text-overflow:ellipsis;left:0;top:0;width:100%;box-sizing:border-box;transition:.3s;color:var(--f7-picker-item-text-color);cursor:pointer}.picker-item span{padding:0 10px}.picker-column-absolute .picker-item{position:absolute}.picker-item.picker-item-far{pointer-events:none}.picker-item.picker-item-selected{color:var(--f7-picker-item-selected-text-color);transform:translate3d(0,0,0) rotateX(0deg)}.picker-center-highlight{height:var(--f7-picker-item-height);box-sizing:border-box;position:absolute;left:16px;right:16px;top:50%;margin-top:calc(-1 * var(--f7-picker-item-height)/ 2);pointer-events:none;background-color:var(--f7-picker-item-selected-bg-color);border-radius:8px}.popover .picker-center-highlight{left:8px;right:8px}.picker-3d .picker-columns{overflow:hidden;perspective:1200px}.picker-3d .picker-column,.picker-3d .picker-item,.picker-3d .picker-items{transform-style:preserve-3d}.picker-3d .picker-column{overflow:visible}.picker-3d .picker-item{transform-origin:center center -110px;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-timing-function:ease-out}
|
|
@@ -1 +1,64 @@
|
|
|
1
|
-
(function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var n=e.$,i=e.utils,a=e.getDevice,r=e.getSupport,o=e.Class,s=(e.Modal,e.ConstructorMethods);e.ModalMethods;function l(e){this.wrapped=e}function c(e){var t,n;function i(t,n){try{var r=e[t](n),o=r.value,s=o instanceof l;Promise.resolve(s?o.wrapped:o).then((function(e){s?i("return"===t?"return":"next",e):a(r.done?"return":"normal",e)}),(function(e){i("throw",e)}))}catch(e){a("throw",e)}}function a(e,a){switch(e){case"return":t.resolve({value:a,done:!0});break;case"throw":t.reject(a);break;default:t.resolve({value:a,done:!1})}(t=t.next)?i(t.key,t.arg):n=null}this._invoke=function(e,a){return new Promise((function(r,o){var s={key:e,arg:a,resolve:r,reject:o,next:null};n?n=n.next=s:(t=n=s,i(e,a))}))},"function"!=typeof e.return&&(this.return=void 0)}function u(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}c.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},c.prototype.next=function(e){return this._invoke("next",e)},c.prototype.throw=function(e){return this._invoke("throw",e)},c.prototype.return=function(e){return this._invoke("return",e)};var m=i.requestAnimationFrame,v=i.getTranslate,f=i.extend,h=i.nextTick,E=i.deleteProps;function $(e,t){var i=this,a=i.app,o=n(e),s=o.index(),l=i.cols[s];if(!l.divider){var c,u,p,d,f;l.$el=o,l.el=o[0],l.$itemsEl=l.$el.find(".picker-items"),l.items=l.$itemsEl.find(".picker-item"),l.replaceValues=function(e,t){l.detachEvents(),l.values=e,l.displayValues=t,l.$itemsEl.html(i.renderColumn(l,!0)),l.items=l.$itemsEl.find(".picker-item"),l.calcSize(),l.setValue(l.values[0],0,!0),l.attachEvents()},l.calcSize=function(){i.params.rotateEffect&&(l.$el.removeClass("picker-column-absolute"),l.width||l.$el.css({width:""}));var e=0,t=l.$el[0].offsetHeight;c=l.items[0].offsetHeight,u=c*l.items.length,p=t/2-u+c/2,d=t/2-c/2,l.width&&(e=l.width,parseInt(e,10)===e&&(e+="px"),l.$el.css({width:e})),i.params.rotateEffect&&(l.width||(l.items.each((function(t){var i=n(t).children("span");e=Math.max(e,i[0].offsetWidth)})),l.$el.css({width:e+2+"px"})),l.$el.addClass("picker-column-absolute"))},l.setValue=function(e,t,n){void 0===t&&(t="");var a=l.$itemsEl.find('.picker-item[data-picker-value="'+e+'"]').index();if(void 0!==a&&-1!==a){var r=-a*c+d;l.$itemsEl.transition(t),l.$itemsEl.transform("translate3d(0,"+r+"px,0)"),i.params.updateValuesOnMomentum&&l.activeIndex&&l.activeIndex!==a&&(cancelAnimationFrame(f),l.$itemsEl.transitionEnd((function(){cancelAnimationFrame(f)})),I()),l.updateItems(a,r,t,n)}},l.updateItems=function(e,t,a,r){void 0===t&&(t=v(l.$itemsEl[0],"y")),void 0===e&&(e=-Math.round((t-d)/c)),e<0&&(e=0),e>=l.items.length&&(e=l.items.length-1);var o=l.activeIndex;l.activeIndex=e,l.$itemsEl.find(".picker-item-selected").removeClass("picker-item-selected"),l.items.transition(a);var s=l.items.eq(e).addClass("picker-item-selected").transform("");i.params.rotateEffect&&l.items.each((function(e){var a=n(e),r=(a.index()*c-(d-t))/c,o=Math.ceil(l.height/c/2)+1,s=-18*r;s>180&&(s=180),s<-180&&(s=-180),Math.abs(r)>o?a.addClass("picker-item-far"):a.removeClass("picker-item-far"),a.transform("translate3d(0, "+(-t+d)+"px, "+(i.needsOriginFix?-110:0)+"px) rotateX("+s+"deg)")})),(r||void 0===r)&&(l.value=s.attr("data-picker-value"),l.displayValue=l.displayValues?l.displayValues[e]:l.value,o!==e&&(l.onChange&&l.onChange(i,l.value,l.displayValue),i.updateValue()))};var h,E,$,g,k,y,x,w,b,C,V,M=!0,O=!!r().passiveListener&&{passive:!1,capture:!1};l.attachEvents=function(){l.$el.on(a.touchEvents.start,T,O),a.on("touchmove:active",j),a.on("touchend:passive",P),i.params.mousewheel&&l.$el.on("wheel",z),l.items.on("click",R)},l.detachEvents=function(){l.$el.off(a.touchEvents.start,T,O),a.off("touchmove:active",j),a.off("touchend:passive",P),i.params.mousewheel&&l.$el.off("wheel",z),l.items.off("click",R)},l.init=function(){l.calcSize(),l.$itemsEl.transform("translate3d(0,"+d+"px,0)").transition(0),0===s&&l.$el.addClass("picker-column-first"),s===i.cols.length-1&&l.$el.addClass("picker-column-last"),t&&l.updateItems(0,d,0),l.attachEvents()},l.destroy=function(){l.detachEvents()},l.init()}function I(){f=m((function(){l.updateItems(void 0,void 0,0),I()}))}function T(e){E||h||(e.preventDefault(),h=!0,$="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,g=$,k=(new Date).getTime(),M=!0,y=v(l.$itemsEl[0],"y"),w=y)}function j(e){h&&(e.preventDefault(),M=!1,g="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,E||(cancelAnimationFrame(f),E=!0,y=v(l.$itemsEl[0],"y"),w=y,l.$itemsEl.transition(0)),x=void 0,(w=y+(g-$))<p&&(w=p-Math.pow(p-w,.8),x="min"),w>d&&(w=d+Math.pow(w-d,.8),x="max"),l.$itemsEl.transform("translate3d(0,"+w+"px,0)"),l.updateItems(void 0,w,0,i.params.updateValuesOnTouchmove),C=w-b||w,b=w)}function P(){if(!h||!E)return h=!1,void(E=!1);var e;h=!1,E=!1,l.$itemsEl.transition(""),x&&("min"===x?l.$itemsEl.transform("translate3d(0,"+p+"px,0)"):l.$itemsEl.transform("translate3d(0,"+d+"px,0)")),e=(new Date).getTime()-k>300?w:w+C*i.params.momentumRatio,e=Math.max(Math.min(e,d),p);var t=Math.round(Math.abs((e-d)/c));i.params.freeMode||(e=-t*c+d),l.$itemsEl.transform("translate3d(0,"+parseInt(e,10)+"px,0)"),l.updateItems(t,e,"",!0),i.params.updateValuesOnMomentum&&(I(),l.$itemsEl.transitionEnd((function(){cancelAnimationFrame(f)}))),setTimeout((function(){M=!0}),100)}function z(e){var t=e.deltaX,n=e.deltaY;Math.abs(t)>Math.abs(n)||(clearTimeout(V),e.preventDefault(),cancelAnimationFrame(f),y=v(l.$itemsEl[0],"y"),l.$itemsEl.transition(0),x=void 0,(w=y-n)<p&&(w=p,x="min"),w>d&&(w=d,x="max"),l.$itemsEl.transform("translate3d(0,"+w+"px,0)"),l.updateItems(void 0,w,0,i.params.updateValuesOnMousewheel),V=setTimeout((function(){l.$itemsEl.transition(""),x&&("min"===x?l.$itemsEl.transform("translate3d(0,"+p+"px,0)"):l.$itemsEl.transform("translate3d(0,"+d+"px,0)")),(new Date).getTime();var e=w;e=Math.max(Math.min(e,d),p);var t=Math.round(Math.abs((e-d)/c));i.params.freeMode||(e=-t*c+d),l.$itemsEl.transform("translate3d(0,"+parseInt(e,10)+"px,0)"),l.updateItems(t,e,"",!0)}),200))}function R(){if(M){cancelAnimationFrame(f);var e=n(this).attr("data-picker-value");l.setValue(e)}}}var g=function(e){var t,i;function r(t,i){var r;void 0===i&&(i={});var o,s,l=d(r=e.call(this,i,[t])||this),c=a();if(l.params=f({},t.params.picker,i),l.params.containerEl&&0===(o=n(l.params.containerEl)).length)return l||d(r);l.params.inputEl&&(s=n(l.params.inputEl));var u=l.params.scrollToInput?s:void 0;if(l.params.scrollToEl){var p=n(l.params.scrollToEl);p.length>0&&(u=p)}function m(){l.resizeCols()}function v(){l.open()}function h(e){e.preventDefault()}f(l,{app:t,$containerEl:o,containerEl:o&&o[0],inline:o&&o.length>0,needsOriginFix:c.ios||window.navigator.userAgent.toLowerCase().indexOf("safari")>=0&&window.navigator.userAgent.toLowerCase().indexOf("chrome")<0&&!c.android,cols:[],$inputEl:s,inputEl:s&&s[0],$scrollToEl:u,initialized:!1,opened:!1,url:l.params.url});var E=null;function $(e){E=e.target}function g(e){if(!l.destroyed&&l.params){var t=n(e.target);l.isPopover()||l.opened&&!l.closing&&(t.closest('[class*="backdrop"]').length||(s&&s.length>0?E===e.target&&t[0]!==s[0]&&0===t.closest(".sheet-modal").length&&l.close():0===n(e.target).closest(".sheet-modal").length&&l.close()))}}return f(l,{attachResizeEvent:function(){t.on("resize",m)},detachResizeEvent:function(){t.off("resize",m)},attachInputEvents:function(){l.$inputEl.on("click",v),l.params.inputReadOnly&&(l.$inputEl.on("focus mousedown",h),l.$inputEl[0]&&(l.$inputEl[0].f7ValidateReadonly=!0))},detachInputEvents:function(){l.$inputEl.off("click",v),l.params.inputReadOnly&&(l.$inputEl.off("focus mousedown",h),l.$inputEl[0]&&delete l.$inputEl[0].f7ValidateReadonly)},attachHtmlEvents:function(){t.on("click",g),t.on("touchstart",$)},detachHtmlEvents:function(){t.off("click",g),t.off("touchstart",$)}}),l.init(),l||d(r)}i=e,(t=r).prototype=Object.create(i.prototype),t.prototype.constructor=t,p(t,i);var o,s,l,c=r.prototype;return c.initInput=function(){var e=this;e.$inputEl&&e.params.inputReadOnly&&e.$inputEl.prop("readOnly",!0)},c.resizeCols=function(){var e=this;if(e.opened)for(var t=0;t<e.cols.length;t+=1)e.cols[t].divider||(e.cols[t].calcSize(),e.cols[t].setValue(e.cols[t].value,0,!1))},c.isPopover=function(){var e=this,t=e.app,n=e.modal,i=e.params,r=a();if("sheet"===i.openIn)return!1;if(n&&"popover"!==n.type)return!1;if(!e.inline&&e.inputEl){if("popover"===i.openIn)return!0;if(r.ios)return!!r.ipad;if(t.width>=768)return!0;if(r.desktop&&"aurora"===t.theme)return!0}return!1},c.formatValue=function(){var e=this,t=e.value,n=e.displayValue;return e.params.formatValue?e.params.formatValue.call(e,t,n):t.join(" ")},c.setValue=function(e,t){var n=this,i=0;if(0===n.cols.length)return n.value=e,void n.updateValue(e);for(var a=0;a<n.cols.length;a+=1)n.cols[a]&&!n.cols[a].divider&&(n.cols[a].setValue(e[i],t),i+=1)},c.getValue=function(){return this.value},c.updateValue=function(e){var t,n=this,i=e||[],a=[];if(0===n.cols.length)for(var r=n.params.cols.filter((function(e){return!e.divider})),o=0;o<r.length;o+=1)void 0!==(t=r[o]).displayValues&&void 0!==t.values&&-1!==t.values.indexOf(i[o])?a.push(t.displayValues[t.values.indexOf(i[o])]):a.push(i[o]);else for(var s=0;s<n.cols.length;s+=1)n.cols[s].divider||(i.push(n.cols[s].value),a.push(n.cols[s].displayValue));i.indexOf(void 0)>=0||(n.value=i,n.displayValue=a,n.emit("local::change pickerChange",n,n.value,n.displayValue),n.inputEl&&(n.$inputEl.val(n.formatValue()),n.$inputEl.trigger("change")))},c.initColumn=function(e,t){$.call(this,e,t)},c.destroyColumn=function(e){var t=this,i=n(e).index();t.cols[i]&&t.cols[i].destroy&&t.cols[i].destroy()},c.renderToolbar=function(){var e=this;return e.params.renderToolbar?e.params.renderToolbar.call(e,e):$jsx("div",{class:"toolbar toolbar-top no-shadow"},$jsx("div",{class:"toolbar-inner"},$jsx("div",{class:"left"}),$jsx("div",{class:"right"},$jsx("a",{class:"link sheet-close popover-close"},e.params.toolbarCloseText))))},c.renderColumn=function(e,t){var n,i,a="picker-column "+(e.textAlign?"picker-column-"+e.textAlign:"")+" "+(e.cssClass||"");return n=e.divider?'\n <div class="'+a+' picker-column-divider">'+e.content+"</div>\n ":'\n <div class="'+a+'">\n <div class="picker-items">'+(i=e.values.map((function(t,n){return'\n <div class="picker-item" data-picker-value="'+t+'">\n <span>'+(e.displayValues?e.displayValues[n]:t)+"</span>\n </div>\n "})).join(""))+"</div>\n </div>\n ",t?i.trim():n.trim()},c.renderInline=function(){var e=this,t=e.params,n=t.rotateEffect,i=t.cssClass,a=t.toolbar;return $jsx("div",{class:"picker picker-inline "+(n?"picker-3d":"")+" "+(i||"")},a&&e.renderToolbar(),$jsx("div",{class:"picker-columns"},e.cols.map((function(t){return e.renderColumn(t)})),$jsx("div",{class:"picker-center-highlight"})))},c.renderSheet=function(){var e=this,t=e.params,n=t.rotateEffect,i=t.cssClass,a=t.toolbar;return $jsx("div",{class:"sheet-modal picker picker-sheet "+(n?"picker-3d":"")+" "+(i||"")},a&&e.renderToolbar(),$jsx("div",{class:"sheet-modal-inner picker-columns"},e.cols.map((function(t){return e.renderColumn(t)})),$jsx("div",{class:"picker-center-highlight"})))},c.renderPopover=function(){var e=this,t=e.params,n=t.rotateEffect,i=t.cssClass,a=t.toolbar;return $jsx("div",{class:"popover picker-popover"},$jsx("div",{class:"popover-inner"},$jsx("div",{class:"picker "+(n?"picker-3d":"")+" "+(i||"")},a&&e.renderToolbar(),$jsx("div",{class:"picker-columns"},e.cols.map((function(t){return e.renderColumn(t)})),$jsx("div",{class:"picker-center-highlight"})))))},c.render=function(){var e=this;return e.params.render?e.params.render.call(e):e.inline?e.renderInline():e.isPopover()?e.renderPopover():e.renderSheet()},c.onOpen=function(){var e=this,t=e.initialized,n=e.$el,i=e.app,a=e.$inputEl,r=e.inline,o=e.value,s=e.params;e.opened=!0,e.closing=!1,e.opening=!0,e.attachResizeEvent(),n.find(".picker-column").each((function(n){var i=!0;(!t&&s.value||t&&o)&&(i=!1),e.initColumn(n,i)})),t?o&&e.setValue(o,0):o?e.setValue(o,0):s.value&&e.setValue(s.value,0),!r&&a&&a.length&&"md"===i.theme&&a.trigger("focus"),e.initialized=!0,n&&n.trigger("picker:open"),a&&a.trigger("picker:open"),e.emit("local::open pickerOpen",e)},c.onOpened=function(){var e=this;e.opening=!1,e.$el&&e.$el.trigger("picker:opened"),e.$inputEl&&e.$inputEl.trigger("picker:opened"),e.emit("local::opened pickerOpened",e)},c.onClose=function(){var e=this,t=e.app;if(e.opening=!1,e.closing=!0,e.detachResizeEvent(),e.cols.forEach((function(e){e.destroy&&e.destroy()})),e.$inputEl)if("md"===t.theme)e.$inputEl.trigger("blur");else{var n=e.$inputEl.attr("validate"),i=e.$inputEl.attr("required");n&&i&&t.input.validate(e.$inputEl)}e.$el&&e.$el.trigger("picker:close"),e.$inputEl&&e.$inputEl.trigger("picker:close"),e.emit("local::close pickerClose",e)},c.onClosed=function(){var e=this;e.opened=!1,e.closing=!1,e.inline||h((function(){e.modal&&e.modal.el&&e.modal.destroy&&(e.params.routableModals||e.modal.destroy()),delete e.modal})),e.$el&&e.$el.trigger("picker:closed"),e.$inputEl&&e.$inputEl.trigger("picker:closed"),e.emit("local::closed pickerClosed",e)},c.open=function(){var e=this,t=e.app,i=e.opened,a=e.inline,r=e.$inputEl,o=e.$scrollToEl,s=e.params;if(!i){if(0===e.cols.length&&s.cols.length&&s.cols.forEach((function(t){e.cols.push(t)})),a)return e.$el=n(e.render()),e.$el[0].f7Picker=e,e.$containerEl.append(e.$el),e.onOpen(),void e.onOpened();var l,c=e.isPopover(),u=c?"popover":"sheet",p={targetEl:r,scrollToEl:o,content:e.render(),backdrop:void 0!==s.backdrop?s.backdrop:c,on:{open:function(){var t=this;e.modal=t,e.$el=c?t.$el.find(".picker"):t.$el,e.$el[0].f7Picker=e,e.onOpen()},opened:function(){e.onOpened()},close:function(){e.onClose()},closed:function(){e.onClosed()}}};if("sheet"===u&&(p.push=s.sheetPush,p.swipeToClose=s.sheetSwipeToClose),s.routableModals&&e.view)e.view.router.navigate({url:e.url,route:(l={path:e.url},l[u]=p,l)});else e.modal=t[u].create(p),e.modal.open()}},c.close=function(){var e=this,t=e.opened,n=e.inline;if(t)return n?(e.onClose(),void e.onClosed()):void(e.params.routableModals&&e.view?e.view.router.back():e.modal.close())},c.init=function(){var e=this;if(e.initInput(),e.inline)return e.open(),void e.emit("local::init pickerInit",e);!e.initialized&&e.params.value&&e.setValue(e.params.value),e.$inputEl&&e.attachInputEvents(),e.params.closeByOutsideClick&&e.attachHtmlEvents(),e.emit("local::init pickerInit",e)},c.destroy=function(){var e=this;if(!e.destroyed){var t=e.$el;e.emit("local::beforeDestroy pickerBeforeDestroy",e),t&&t.trigger("picker:beforedestroy"),e.close(),e.$inputEl&&e.detachInputEvents(),e.params.closeByOutsideClick&&e.detachHtmlEvents(),t&&t.length&&delete e.$el[0].f7Picker,E(e),e.destroyed=!0}},o=r,(s=[{key:"view",get:function(){var e,t=this.app,n=this.params,i=this.$inputEl;return n.view?e=n.view:i&&(e=i.parents(".view").length&&i.parents(".view")[0].f7View),e||(e=t.views.main),e}}])&&u(o.prototype,s),l&&u(o,l),r}(o),k={name:"picker",static:{Picker:g},create:function(){var e=this;e.picker=s({defaultSelector:".picker",constructor:g,app:e,domProp:"f7Picker"}),e.picker.close=function(e){void 0===e&&(e=".picker");var t=n(e);if(0!==t.length){var i=t[0].f7Picker;!i||i&&!i.opened||i.close()}}},params:{picker:{updateValuesOnMomentum:!1,updateValuesOnTouchmove:!0,updateValuesOnMousewheel:!0,mousewheel:!0,rotateEffect:!1,momentumRatio:7,freeMode:!1,cols:[],containerEl:null,openIn:"auto",sheetPush:!1,sheetSwipeToClose:void 0,backdrop:void 0,formatValue:null,inputEl:null,inputReadOnly:!0,closeByOutsideClick:!0,scrollToInput:!0,scrollToEl:void 0,toolbar:!0,toolbarCloseText:"Done",cssClass:null,routableModals:!1,view:null,url:"select/",renderToolbar:null,render:null}}};if(t){if(e.prototype.modules&&e.prototype.modules[k.name])return;e.use(k),e.instance&&(e.instance.useModuleParams(k,e.instance.params),e.instance.useModule(k))}return k}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|
|
1
|
+
import $ from '../../shared/dom7';
|
|
2
|
+
import ConstructorMethods from '../../shared/constructor-methods';
|
|
3
|
+
import Picker from './picker-class';
|
|
4
|
+
export default {
|
|
5
|
+
name: 'picker',
|
|
6
|
+
static: {
|
|
7
|
+
Picker
|
|
8
|
+
},
|
|
9
|
+
|
|
10
|
+
create() {
|
|
11
|
+
const app = this;
|
|
12
|
+
app.picker = ConstructorMethods({
|
|
13
|
+
defaultSelector: '.picker',
|
|
14
|
+
constructor: Picker,
|
|
15
|
+
app,
|
|
16
|
+
domProp: 'f7Picker'
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
app.picker.close = function close(el = '.picker') {
|
|
20
|
+
const $el = $(el);
|
|
21
|
+
if ($el.length === 0) return;
|
|
22
|
+
const picker = $el[0].f7Picker;
|
|
23
|
+
if (!picker || picker && !picker.opened) return;
|
|
24
|
+
picker.close();
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
params: {
|
|
29
|
+
picker: {
|
|
30
|
+
// Picker settings
|
|
31
|
+
updateValuesOnMomentum: false,
|
|
32
|
+
updateValuesOnTouchmove: true,
|
|
33
|
+
updateValuesOnMousewheel: true,
|
|
34
|
+
mousewheel: true,
|
|
35
|
+
rotateEffect: false,
|
|
36
|
+
momentumRatio: 7,
|
|
37
|
+
freeMode: false,
|
|
38
|
+
cols: [],
|
|
39
|
+
// Common opener settings
|
|
40
|
+
containerEl: null,
|
|
41
|
+
openIn: 'auto',
|
|
42
|
+
// or 'popover' or 'sheet'
|
|
43
|
+
sheetPush: false,
|
|
44
|
+
sheetSwipeToClose: undefined,
|
|
45
|
+
backdrop: undefined,
|
|
46
|
+
// uses Popover or Sheet defaults
|
|
47
|
+
formatValue: null,
|
|
48
|
+
inputEl: null,
|
|
49
|
+
inputReadOnly: true,
|
|
50
|
+
closeByOutsideClick: true,
|
|
51
|
+
scrollToInput: true,
|
|
52
|
+
scrollToEl: undefined,
|
|
53
|
+
toolbar: true,
|
|
54
|
+
toolbarCloseText: 'Done',
|
|
55
|
+
cssClass: null,
|
|
56
|
+
routableModals: false,
|
|
57
|
+
view: null,
|
|
58
|
+
url: 'select/',
|
|
59
|
+
// Render functions
|
|
60
|
+
renderToolbar: null,
|
|
61
|
+
render: null
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var s=e.$,n=e.utils,i=e.getDevice,a=e.getSupport,l=e.Class,o=(e.Modal,e.ConstructorMethods),r=(e.ModalMethods,n.requestAnimationFrame),c=n.getTranslate,p=n.extend,d=n.nextTick,u=n.deleteProps;function m(e,t){const n=this,i=n.app,l=s(e),o=l.index(),p=n.cols[o];if(p.divider)return;let d,u,m,h,v;function f(){v=r((()=>{p.updateItems(void 0,void 0,0),f()}))}p.$el=l,p.el=l[0],p.$itemsEl=p.$el.find(".picker-items"),p.items=p.$itemsEl.find(".picker-item"),p.replaceValues=function(e,t){p.detachEvents(),p.values=e,p.displayValues=t,p.$itemsEl.html(n.renderColumn(p,!0)),p.items=p.$itemsEl.find(".picker-item"),p.calcSize(),p.setValue(p.values[0],0,!0),p.attachEvents()},p.calcSize=function(){n.params.rotateEffect&&(p.$el.removeClass("picker-column-absolute"),p.width||p.$el.css({width:""}));let e=0;const t=p.$el[0].offsetHeight;d=p.items[0].offsetHeight,u=d*p.items.length,m=t/2-u+d/2,h=t/2-d/2,p.width&&(e=p.width,parseInt(e,10)===e&&(e+="px"),p.$el.css({width:e})),n.params.rotateEffect&&(p.width||(p.items.each((t=>{const n=s(t).children("span");e=Math.max(e,n[0].offsetWidth)})),p.$el.css({width:`${e+2}px`})),p.$el.addClass("picker-column-absolute"))},p.setValue=function(e,t="",s){const i=p.$itemsEl.find(`.picker-item[data-picker-value="${e}"]`).index();if(void 0===i||-1===i)return;const a=-i*d+h;p.$itemsEl.transition(t),p.$itemsEl.transform(`translate3d(0,${a}px,0)`),n.params.updateValuesOnMomentum&&p.activeIndex&&p.activeIndex!==i&&(cancelAnimationFrame(v),p.$itemsEl.transitionEnd((()=>{cancelAnimationFrame(v)})),f()),p.updateItems(i,a,t,s)},p.updateItems=function(e,t,i,a){void 0===t&&(t=c(p.$itemsEl[0],"y")),void 0===e&&(e=-Math.round((t-h)/d)),e<0&&(e=0),e>=p.items.length&&(e=p.items.length-1);const l=p.activeIndex;p.activeIndex=e,p.$itemsEl.find(".picker-item-selected").removeClass("picker-item-selected"),p.items.transition(i);const o=p.items.eq(e).addClass("picker-item-selected").transform("");n.params.rotateEffect&&p.items.each((e=>{const i=s(e),a=(i.index()*d-(h-t))/d,l=Math.ceil(p.height/d/2)+1;let o=-18*a;o>180&&(o=180),o<-180&&(o=-180),Math.abs(a)>l?i.addClass("picker-item-far"):i.removeClass("picker-item-far"),i.transform(`translate3d(0, ${-t+h}px, ${n.needsOriginFix?-110:0}px) rotateX(${o}deg)`)})),(a||void 0===a)&&(p.value=o.attr("data-picker-value"),p.displayValue=p.displayValues?p.displayValues[e]:p.value,l!==e&&(p.onChange&&p.onChange(n,p.value,p.displayValue),n.updateValue()))};let $,E,g,k,x,y,C,V,w,b,M,T,I=!0;function O(e){E||$||(e.preventDefault(),$=!0,g="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,k=g,x=(new Date).getTime(),I=!0,C=c(p.$itemsEl[0],"y"),w=C)}function j(e){if(!$)return;e.preventDefault(),I=!1,k="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,E||(cancelAnimationFrame(v),E=!0,C=c(p.$itemsEl[0],"y"),w=C,p.$itemsEl.transition(0));w=C+(k-g),V=void 0,w<m&&(w=m-(m-w)**.8,V="min"),w>h&&(w=h+(w-h)**.8,V="max"),p.$itemsEl.transform(`translate3d(0,${w}px,0)`),p.updateItems(void 0,w,0,n.params.updateValuesOnTouchmove),M=w-b||w,b=w}function P(){if(!$||!E)return $=!1,void(E=!1);let e;$=!1,E=!1,p.$itemsEl.transition(""),V&&("min"===V?p.$itemsEl.transform(`translate3d(0,${m}px,0)`):p.$itemsEl.transform(`translate3d(0,${h}px,0)`)),y=(new Date).getTime(),e=y-x>300?w:w+M*n.params.momentumRatio,e=Math.max(Math.min(e,h),m);const t=Math.round(Math.abs((e-h)/d));n.params.freeMode||(e=-t*d+h),p.$itemsEl.transform(`translate3d(0,${parseInt(e,10)}px,0)`),p.updateItems(t,e,"",!0),n.params.updateValuesOnMomentum&&(f(),p.$itemsEl.transitionEnd((()=>{cancelAnimationFrame(v)}))),setTimeout((()=>{I=!0}),100)}function z(e){const{deltaX:t,deltaY:s}=e;Math.abs(t)>Math.abs(s)||(clearTimeout(T),e.preventDefault(),cancelAnimationFrame(v),C=c(p.$itemsEl[0],"y"),p.$itemsEl.transition(0),w=C-s,V=void 0,w<m&&(w=m,V="min"),w>h&&(w=h,V="max"),p.$itemsEl.transform(`translate3d(0,${w}px,0)`),p.updateItems(void 0,w,0,n.params.updateValuesOnMousewheel),T=setTimeout((()=>{p.$itemsEl.transition(""),V&&("min"===V?p.$itemsEl.transform(`translate3d(0,${m}px,0)`):p.$itemsEl.transform(`translate3d(0,${h}px,0)`)),y=(new Date).getTime();let e=w;e=Math.max(Math.min(e,h),m);const t=Math.round(Math.abs((e-h)/d));n.params.freeMode||(e=-t*d+h),p.$itemsEl.transform(`translate3d(0,${parseInt(e,10)}px,0)`),p.updateItems(t,e,"",!0)}),200))}function R(){if(!I)return;cancelAnimationFrame(v);const e=s(this).attr("data-picker-value");p.setValue(e)}const A=!!a().passiveListener&&{passive:!1,capture:!1};p.attachEvents=function(){p.$el.on(i.touchEvents.start,O,A),i.on("touchmove:active",j),i.on("touchend:passive",P),n.params.mousewheel&&p.$el.on("wheel",z),p.items.on("click",R)},p.detachEvents=function(){p.$el.off(i.touchEvents.start,O,A),i.off("touchmove:active",j),i.off("touchend:passive",P),n.params.mousewheel&&p.$el.off("wheel",z),p.items.off("click",R)},p.init=function(){p.calcSize(),p.$itemsEl.transform(`translate3d(0,${h}px,0)`).transition(0),0===o&&p.$el.addClass("picker-column-first"),o===n.cols.length-1&&p.$el.addClass("picker-column-last"),t&&p.updateItems(0,h,0),p.attachEvents()},p.destroy=function(){p.detachEvents()},p.init()}class h extends l{constructor(e,t={}){super(t,[e]);const n=this,a=i(),l=getWindow();let o,r;if(n.params=p({},e.params.picker,t),n.params.containerEl&&(o=s(n.params.containerEl),0===o.length))return n;n.params.inputEl&&(r=s(n.params.inputEl));let c=n.params.scrollToInput?r:void 0;if(n.params.scrollToEl){const e=s(n.params.scrollToEl);e.length>0&&(c=e)}function d(){n.resizeCols()}function u(){n.open()}function m(e){e.preventDefault()}p(n,{app:e,$containerEl:o,containerEl:o&&o[0],inline:o&&o.length>0,needsOriginFix:a.ios||l.navigator.userAgent.toLowerCase().indexOf("safari")>=0&&l.navigator.userAgent.toLowerCase().indexOf("chrome")<0&&!a.android,cols:[],$inputEl:r,inputEl:r&&r[0],$scrollToEl:c,initialized:!1,opened:!1,url:n.params.url});let h=null;function v(e){h=e.target}function f(e){if(n.destroyed||!n.params)return;const t=s(e.target);n.isPopover()||n.opened&&!n.closing&&(t.closest('[class*="backdrop"]').length||(r&&r.length>0?h===e.target&&t[0]!==r[0]&&0===t.closest(".sheet-modal").length&&n.close():0===s(e.target).closest(".sheet-modal").length&&n.close()))}return p(n,{attachResizeEvent(){e.on("resize",d)},detachResizeEvent(){e.off("resize",d)},attachInputEvents(){n.$inputEl.on("click",u),n.params.inputReadOnly&&(n.$inputEl.on("focus mousedown",m),n.$inputEl[0]&&(n.$inputEl[0].f7ValidateReadonly=!0))},detachInputEvents(){n.$inputEl.off("click",u),n.params.inputReadOnly&&(n.$inputEl.off("focus mousedown",m),n.$inputEl[0]&&delete n.$inputEl[0].f7ValidateReadonly)},attachHtmlEvents(){e.on("click",f),e.on("touchstart",v)},detachHtmlEvents(){e.off("click",f),e.off("touchstart",v)}}),n.init(),n}get view(){const{app:e,params:t,$inputEl:s}=this;let n;return t.view?n=t.view:s&&(n=s.parents(".view").length&&s.parents(".view")[0].f7View),n||(n=e.views.main),n}initInput(){const e=this;e.$inputEl&&e.params.inputReadOnly&&e.$inputEl.prop("readOnly",!0)}resizeCols(){const e=this;if(e.opened)for(let t=0;t<e.cols.length;t+=1)e.cols[t].divider||(e.cols[t].calcSize(),e.cols[t].setValue(e.cols[t].value,0,!1))}isPopover(){const e=this,{app:t,modal:s,params:n}=e,a=i();if("sheet"===n.openIn)return!1;if(s&&"popover"!==s.type)return!1;if(!e.inline&&e.inputEl){if("popover"===n.openIn)return!0;if(a.ios)return!!a.ipad;if(t.width>=768)return!0;if(a.desktop&&"aurora"===t.theme)return!0}return!1}formatValue(){const e=this,{value:t,displayValue:s}=e;return e.params.formatValue?e.params.formatValue.call(e,t,s):t.join(" ")}setValue(e,t){const s=this;let n=0;if(0===s.cols.length)return s.value=e,void s.updateValue(e);for(let i=0;i<s.cols.length;i+=1)s.cols[i]&&!s.cols[i].divider&&(s.cols[i].setValue(e[n],t),n+=1)}getValue(){return this.value}updateValue(e){const t=this,s=e||[],n=[];let i;if(0===t.cols.length){const e=t.params.cols.filter((e=>!e.divider));for(let t=0;t<e.length;t+=1)i=e[t],void 0!==i.displayValues&&void 0!==i.values&&-1!==i.values.indexOf(s[t])?n.push(i.displayValues[i.values.indexOf(s[t])]):n.push(s[t])}else for(let e=0;e<t.cols.length;e+=1)t.cols[e].divider||(s.push(t.cols[e].value),n.push(t.cols[e].displayValue));s.indexOf(void 0)>=0||(t.value=s,t.displayValue=n,t.emit("local::change pickerChange",t,t.value,t.displayValue),t.inputEl&&(t.$inputEl.val(t.formatValue()),t.$inputEl.trigger("change")))}initColumn(e,t){m.call(this,e,t)}destroyColumn(e){const t=this,n=s(e).index();t.cols[n]&&t.cols[n].destroy&&t.cols[n].destroy()}renderToolbar(){const e=this;return e.params.renderToolbar?e.params.renderToolbar.call(e,e):$jsx("div",{class:"toolbar toolbar-top no-shadow"},$jsx("div",{class:"toolbar-inner"},$jsx("div",{class:"left"}),$jsx("div",{class:"right"},$jsx("a",{class:"link sheet-close popover-close"},e.params.toolbarCloseText))))}renderColumn(e,t){const s=`picker-column ${e.textAlign?`picker-column-${e.textAlign}`:""} ${e.cssClass||""}`;let n,i;return e.divider?n=`\n <div class="${s} picker-column-divider">${e.content}</div>\n `:(i=e.values.map(((t,s)=>`\n <div class="picker-item" data-picker-value="${t}">\n <span>${e.displayValues?e.displayValues[s]:t}</span>\n </div>\n `)).join(""),n=`\n <div class="${s}">\n <div class="picker-items">${i}</div>\n </div>\n `),t?i.trim():n.trim()}renderInline(){const e=this,{rotateEffect:t,cssClass:s,toolbar:n}=e.params;return $jsx("div",{class:`picker picker-inline ${t?"picker-3d":""} ${s||""}`},n&&e.renderToolbar(),$jsx("div",{class:"picker-columns"},e.cols.map((t=>e.renderColumn(t))),$jsx("div",{class:"picker-center-highlight"})))}renderSheet(){const e=this,{rotateEffect:t,cssClass:s,toolbar:n}=e.params;return $jsx("div",{class:`sheet-modal picker picker-sheet ${t?"picker-3d":""} ${s||""}`},n&&e.renderToolbar(),$jsx("div",{class:"sheet-modal-inner picker-columns"},e.cols.map((t=>e.renderColumn(t))),$jsx("div",{class:"picker-center-highlight"})))}renderPopover(){const e=this,{rotateEffect:t,cssClass:s,toolbar:n}=e.params;return $jsx("div",{class:"popover picker-popover"},$jsx("div",{class:"popover-inner"},$jsx("div",{class:`picker ${t?"picker-3d":""} ${s||""}`},n&&e.renderToolbar(),$jsx("div",{class:"picker-columns"},e.cols.map((t=>e.renderColumn(t))),$jsx("div",{class:"picker-center-highlight"})))))}render(){const e=this;return e.params.render?e.params.render.call(e):e.inline?e.renderInline():e.isPopover()?e.renderPopover():e.renderSheet()}onOpen(){const e=this,{initialized:t,$el:s,app:n,$inputEl:i,inline:a,value:l,params:o}=e;e.opened=!0,e.closing=!1,e.opening=!0,e.attachResizeEvent(),s.find(".picker-column").each((s=>{let n=!0;(!t&&o.value||t&&l)&&(n=!1),e.initColumn(s,n)})),t?l&&e.setValue(l,0):l?e.setValue(l,0):o.value&&e.setValue(o.value,0),!a&&i&&i.length&&"md"===n.theme&&i.trigger("focus"),e.initialized=!0,s&&s.trigger("picker:open"),i&&i.trigger("picker:open"),e.emit("local::open pickerOpen",e)}onOpened(){const e=this;e.opening=!1,e.$el&&e.$el.trigger("picker:opened"),e.$inputEl&&e.$inputEl.trigger("picker:opened"),e.emit("local::opened pickerOpened",e)}onClose(){const e=this,t=e.app;if(e.opening=!1,e.closing=!0,e.detachResizeEvent(),e.cols.forEach((e=>{e.destroy&&e.destroy()})),e.$inputEl)if("md"===t.theme)e.$inputEl.trigger("blur");else{const s=e.$inputEl.attr("validate"),n=e.$inputEl.attr("required");s&&n&&t.input.validate(e.$inputEl)}e.$el&&e.$el.trigger("picker:close"),e.$inputEl&&e.$inputEl.trigger("picker:close"),e.emit("local::close pickerClose",e)}onClosed(){const e=this;e.opened=!1,e.closing=!1,e.inline||d((()=>{e.modal&&e.modal.el&&e.modal.destroy&&(e.params.routableModals||e.modal.destroy()),delete e.modal})),e.$el&&e.$el.trigger("picker:closed"),e.$inputEl&&e.$inputEl.trigger("picker:closed"),e.emit("local::closed pickerClosed",e)}open(){const e=this,{app:t,opened:n,inline:i,$inputEl:a,$scrollToEl:l,params:o}=e;if(n)return;if(0===e.cols.length&&o.cols.length&&o.cols.forEach((t=>{e.cols.push(t)})),i)return e.$el=s(e.render()),e.$el[0].f7Picker=e,e.$containerEl.append(e.$el),e.onOpen(),void e.onOpened();const r=e.isPopover(),c=r?"popover":"sheet",p={targetEl:a,scrollToEl:l,content:e.render(),backdrop:void 0!==o.backdrop?o.backdrop:r,on:{open(){const t=this;e.modal=t,e.$el=r?t.$el.find(".picker"):t.$el,e.$el[0].f7Picker=e,e.onOpen()},opened(){e.onOpened()},close(){e.onClose()},closed(){e.onClosed()}}};"sheet"===c&&(p.push=o.sheetPush,p.swipeToClose=o.sheetSwipeToClose),o.routableModals&&e.view?e.view.router.navigate({url:e.url,route:{path:e.url,[c]:p}}):(e.modal=t[c].create(p),e.modal.open())}close(){const e=this,{opened:t,inline:s}=e;if(t)return s?(e.onClose(),void e.onClosed()):void(e.params.routableModals&&e.view?e.view.router.back():e.modal.close())}init(){const e=this;if(e.initInput(),e.inline)return e.open(),void e.emit("local::init pickerInit",e);!e.initialized&&e.params.value&&e.setValue(e.params.value),e.$inputEl&&e.attachInputEvents(),e.params.closeByOutsideClick&&e.attachHtmlEvents(),e.emit("local::init pickerInit",e)}destroy(){const e=this;if(e.destroyed)return;const{$el:t}=e;e.emit("local::beforeDestroy pickerBeforeDestroy",e),t&&t.trigger("picker:beforedestroy"),e.close(),e.$inputEl&&e.detachInputEvents(),e.params.closeByOutsideClick&&e.detachHtmlEvents(),t&&t.length&&delete e.$el[0].f7Picker,u(e),e.destroyed=!0}}var v={name:"picker",static:{Picker:h},create(){const e=this;e.picker=o({defaultSelector:".picker",constructor:h,app:e,domProp:"f7Picker"}),e.picker.close=function(e=".picker"){const t=s(e);if(0===t.length)return;const n=t[0].f7Picker;!n||n&&!n.opened||n.close()}},params:{picker:{updateValuesOnMomentum:!1,updateValuesOnTouchmove:!0,updateValuesOnMousewheel:!0,mousewheel:!0,rotateEffect:!1,momentumRatio:7,freeMode:!1,cols:[],containerEl:null,openIn:"auto",sheetPush:!1,sheetSwipeToClose:void 0,backdrop:void 0,formatValue:null,inputEl:null,inputReadOnly:!0,closeByOutsideClick:!0,scrollToInput:!0,scrollToEl:void 0,toolbar:!0,toolbarCloseText:"Done",cssClass:null,routableModals:!1,view:null,url:"select/",renderToolbar:null,render:null}}};if(t){if(e.prototype.modules&&e.prototype.modules[v.name])return;e.use(v),e.instance&&(e.instance.useModuleParams(v,e.instance.params),e.instance.useModule(v))}return v}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|