framework7 7.0.9 → 8.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/accordion/accordion.js +2 -16
- package/components/accordion/accordion.less +0 -3
- package/components/actions/actions-class.js +13 -58
- package/components/actions/actions-ios.less +42 -0
- package/components/actions/actions-md.less +12 -0
- package/components/actions/actions-rtl.css +1 -1
- package/components/actions/actions-vars.less +17 -42
- package/components/actions/actions.css +1 -1
- package/components/actions/actions.d.ts +2 -2
- package/components/actions/actions.js +0 -4
- package/components/actions/actions.lazy.js +1 -1
- package/components/actions/actions.less +5 -35
- package/components/app/app-class.d.ts +14 -12
- package/components/app/app-class.js +93 -75
- package/components/app/app-ios.less +0 -2
- package/components/app/app-md.less +0 -2
- package/components/app/app-vars.less +13 -96
- package/components/app/app.less +1 -4
- package/components/app/load-module.js +17 -36
- package/components/area-chart/area-chart-class.js +8 -64
- package/components/area-chart/area-chart.js +0 -3
- package/components/area-chart/area-chart.less +0 -3
- package/components/autocomplete/autocomplete-class.js +30 -175
- package/components/autocomplete/autocomplete-ios.less +0 -8
- package/components/autocomplete/autocomplete-rtl.css +1 -1
- package/components/autocomplete/autocomplete-vars.less +8 -22
- package/components/autocomplete/autocomplete.css +1 -1
- package/components/autocomplete/autocomplete.d.ts +1 -3
- package/components/autocomplete/autocomplete.js +1 -6
- package/components/autocomplete/autocomplete.lazy.js +1 -1
- package/components/autocomplete/autocomplete.less +6 -18
- package/components/badge/badge-vars.less +3 -6
- package/components/badge/badge.less +1 -3
- package/components/block/block-vars.less +25 -52
- package/components/block/block.less +37 -12
- package/components/breadcrumbs/breadcrumbs-rtl.css +1 -1
- package/components/breadcrumbs/breadcrumbs-vars.less +31 -15
- package/components/breadcrumbs/breadcrumbs.css +1 -1
- package/components/breadcrumbs/breadcrumbs.js +0 -2
- package/components/breadcrumbs/breadcrumbs.less +4 -10
- package/components/button/button-vars.less +42 -43
- package/components/button/button.less +24 -26
- package/components/calendar/calendar-class.js +81 -401
- package/components/calendar/calendar-rtl.css +1 -1
- package/components/calendar/calendar-vars.less +32 -46
- package/components/calendar/calendar.css +1 -1
- package/components/calendar/calendar.js +6 -4
- package/components/calendar/calendar.lazy.js +1 -1
- package/components/calendar/calendar.less +10 -21
- package/components/card/card-rtl.css +1 -1
- package/components/card/card-vars.less +41 -44
- package/components/card/card.css +1 -1
- package/components/card/card.js +0 -108
- package/components/card/card.less +18 -24
- package/components/checkbox/checkbox-rtl.css +1 -1
- package/components/checkbox/checkbox-vars.less +0 -8
- package/components/checkbox/checkbox.css +1 -1
- package/components/checkbox/checkbox.less +10 -3
- package/components/chip/chip-ios.less +3 -0
- package/components/chip/chip-md.less +4 -3
- package/components/chip/chip-rtl.css +1 -1
- package/components/chip/chip-vars.less +17 -20
- package/components/chip/chip.css +1 -1
- package/components/chip/chip.less +16 -21
- package/components/color-picker/color-picker-class.js +27 -158
- package/components/color-picker/color-picker-rtl.css +1 -1
- package/components/color-picker/color-picker.css +1 -1
- package/components/color-picker/color-picker.js +0 -4
- package/components/color-picker/color-picker.lazy.js +1 -1
- package/components/color-picker/color-picker.less +18 -8
- package/components/color-picker/modules/alpha-slider.js +0 -12
- package/components/color-picker/modules/brightness-slider.js +0 -8
- package/components/color-picker/modules/current-color.js +0 -2
- package/components/color-picker/modules/hex.js +0 -12
- package/components/color-picker/modules/hs-spectrum.js +0 -20
- package/components/color-picker/modules/hsb-sliders.js +0 -18
- package/components/color-picker/modules/hue-slider.js +0 -7
- package/components/color-picker/modules/initial-current-colors.js +0 -7
- package/components/color-picker/modules/palette.js +2 -10
- package/components/color-picker/modules/rgb-bars.js +0 -17
- package/components/color-picker/modules/rgb-sliders.js +0 -17
- package/components/color-picker/modules/sb-spectrum.js +0 -20
- package/components/color-picker/modules/wheel.js +0 -28
- package/components/contacts-list/contacts-list-md.less +4 -3
- package/components/contacts-list/contacts-list-rtl.css +1 -1
- package/components/contacts-list/contacts-list-vars.less +3 -15
- package/components/contacts-list/contacts-list.css +1 -1
- package/components/contacts-list/contacts-list.less +0 -3
- package/components/data-table/data-table-class.js +10 -32
- package/components/data-table/data-table-rtl.css +1 -1
- package/components/data-table/data-table-vars.less +6 -39
- package/components/data-table/data-table.css +1 -1
- package/components/data-table/data-table.js +0 -8
- package/components/data-table/data-table.less +0 -3
- package/components/dialog/dialog-class.js +7 -41
- package/components/dialog/dialog-ios.less +0 -3
- package/components/dialog/dialog-md.less +9 -9
- package/components/dialog/dialog-rtl.css +1 -1
- package/components/dialog/dialog-vars.less +25 -70
- package/components/dialog/dialog.css +1 -1
- package/components/dialog/dialog.d.ts +2 -2
- package/components/dialog/dialog.js +12 -48
- package/components/dialog/dialog.lazy.js +1 -1
- package/components/dialog/dialog.less +8 -4
- package/components/fab/fab-rtl.css +1 -1
- package/components/fab/fab-vars.less +20 -14
- package/components/fab/fab.css +1 -1
- package/components/fab/fab.js +0 -21
- package/components/fab/fab.less +50 -53
- package/components/form/form.d.ts +4 -4
- package/components/form/form.js +58 -94
- package/components/form/form.lazy.js +1 -1
- package/components/form/form.less +0 -3
- package/components/gauge/gauge-class.js +4 -20
- package/components/gauge/gauge.js +0 -9
- package/components/gauge/gauge.less +0 -3
- package/components/grid/grid-rtl.css +1 -1
- package/components/grid/grid-vars.less +0 -7
- package/components/grid/grid.css +1 -1
- package/components/grid/grid.d.ts +2 -8
- package/components/grid/grid.js +1 -225
- package/components/grid/grid.lazy.js +1 -1
- package/components/grid/grid.less +54 -184
- package/components/icon/icon.less +0 -3
- package/components/infinite-scroll/infinite-scroll-rtl.css +1 -1
- package/components/infinite-scroll/infinite-scroll.css +1 -1
- package/components/infinite-scroll/infinite-scroll.js +0 -16
- package/components/infinite-scroll/infinite-scroll.less +0 -3
- package/components/input/input-ios.less +49 -41
- package/components/input/input-md.less +87 -19
- package/components/input/input-rtl.css +1 -1
- package/components/input/input-vars.less +26 -60
- package/components/input/input.css +1 -1
- package/components/input/input.js +8 -67
- package/components/input/input.less +67 -153
- package/components/link/link-vars.less +0 -5
- package/components/link/link.less +3 -3
- package/components/list/list-md.less +0 -7
- package/components/list/list-vars.less +59 -108
- package/components/list/list.less +122 -90
- package/components/list-index/list-index-class.js +12 -69
- package/components/list-index/list-index-rtl.css +1 -1
- package/components/list-index/list-index-vars.less +0 -7
- package/components/list-index/list-index.css +1 -1
- package/components/list-index/list-index.d.ts +1 -3
- package/components/list-index/list-index.js +0 -8
- package/components/list-index/list-index.lazy.js +1 -1
- package/components/list-index/list-index.less +4 -7
- package/components/login-screen/login-screen-class.js +4 -9
- package/components/login-screen/login-screen-rtl.css +1 -1
- package/components/login-screen/login-screen-vars.less +13 -12
- package/components/login-screen/login-screen.css +1 -1
- package/components/login-screen/login-screen.js +0 -4
- package/components/login-screen/login-screen.less +2 -8
- package/components/messagebar/messagebar-class.js +18 -79
- package/components/messagebar/messagebar-ios.less +36 -0
- package/components/messagebar/messagebar-md.less +96 -16
- package/components/messagebar/messagebar-rtl.css +1 -1
- package/components/messagebar/messagebar-vars.less +27 -50
- package/components/messagebar/messagebar.css +1 -1
- package/components/messagebar/messagebar.js +0 -8
- package/components/messagebar/messagebar.less +11 -42
- package/components/messages/messages-class.js +17 -110
- package/components/messages/messages-ios.less +9 -0
- package/components/messages/messages-md.less +63 -28
- package/components/messages/messages-rtl.css +1 -1
- package/components/messages/messages-vars.less +43 -50
- package/components/messages/messages.css +1 -1
- package/components/messages/messages.js +0 -8
- package/components/messages/messages.lazy.js +1 -1
- package/components/messages/messages.less +0 -11
- package/components/modal/custom-modal-class.js +4 -14
- package/components/modal/modal-class.js +19 -55
- package/components/modal/modal.js +0 -3
- package/components/navbar/navbar-ios.less +3 -39
- package/components/navbar/navbar-md.less +12 -0
- package/components/navbar/navbar-vars.less +20 -49
- package/components/navbar/navbar.d.ts +0 -2
- package/components/navbar/navbar.js +37 -166
- package/components/navbar/navbar.less +4 -26
- package/components/notification/notification-class.js +4 -39
- package/components/notification/notification-md.less +18 -8
- package/components/notification/notification-rtl.css +1 -1
- package/components/notification/notification-vars.less +15 -54
- package/components/notification/notification.css +1 -1
- package/components/notification/notification.js +0 -2
- package/components/notification/notification.lazy.js +1 -1
- package/components/notification/notification.less +0 -3
- package/components/page/page-md.less +40 -10
- package/components/page/page-transitions/circle.less +15 -9
- package/components/page/page-transitions/fade.less +17 -11
- package/components/page/page-transitions/flip.less +9 -4
- package/components/page/page-vars.less +3 -19
- package/components/page/page.less +2 -10
- package/components/panel/panel-class.js +23 -127
- package/components/panel/panel-md.less +9 -0
- package/components/panel/panel-rtl.css +1 -1
- package/components/panel/panel-vars.less +7 -21
- package/components/panel/panel.css +1 -1
- package/components/panel/panel.d.ts +2 -2
- package/components/panel/panel.js +0 -34
- package/components/panel/panel.lazy.js +1 -1
- package/components/panel/panel.less +56 -48
- package/components/panel/resizable-panel.js +2 -32
- package/components/panel/swipe-panel.js +16 -71
- package/components/photo-browser/photo-browser-class.js +41 -171
- package/components/photo-browser/photo-browser-rtl.css +1 -1
- package/components/photo-browser/photo-browser-vars.less +0 -3
- package/components/photo-browser/photo-browser.css +1 -1
- package/components/photo-browser/photo-browser.d.ts +2 -4
- package/components/photo-browser/photo-browser.js +1 -6
- package/components/photo-browser/photo-browser.lazy.js +1 -1
- package/components/photo-browser/photo-browser.less +0 -4
- package/components/picker/picker-class.js +26 -133
- package/components/picker/picker-column.js +11 -31
- package/components/picker/picker-ios.less +10 -0
- package/components/picker/picker-md.less +6 -0
- package/components/picker/picker-rtl.css +1 -1
- package/components/picker/picker-vars.less +9 -25
- package/components/picker/picker.css +1 -1
- package/components/picker/picker.js +0 -4
- package/components/picker/picker.lazy.js +1 -1
- package/components/picker/picker.less +0 -11
- package/components/pie-chart/pie-chart-class.js +8 -31
- package/components/pie-chart/pie-chart.js +0 -3
- package/components/pie-chart/pie-chart.less +0 -3
- package/components/popover/popover-class.js +72 -126
- package/components/popover/popover-ios.less +0 -50
- package/components/popover/popover-rtl.css +1 -1
- package/components/popover/popover-vars.less +6 -23
- package/components/popover/popover.css +1 -1
- package/components/popover/popover.d.ts +2 -0
- package/components/popover/popover.js +1 -12
- package/components/popover/popover.lazy.js +1 -1
- package/components/popover/popover.less +62 -5
- package/components/popup/popup-class.js +12 -78
- package/components/popup/popup-rtl.css +1 -1
- package/components/popup/popup-vars.less +7 -9
- package/components/popup/popup.css +1 -1
- package/components/popup/popup.js +0 -4
- package/components/popup/popup.lazy.js +1 -1
- package/components/popup/popup.less +4 -4
- package/components/preloader/preloader-ios.less +3 -1
- package/components/preloader/preloader-md.less +5 -1
- package/components/preloader/preloader-rtl.css +1 -1
- package/components/preloader/preloader-vars.less +0 -6
- package/components/preloader/preloader.css +1 -1
- package/components/preloader/preloader.js +8 -25
- package/components/preloader/preloader.lazy.js +1 -1
- package/components/preloader/preloader.less +6 -3
- package/components/progressbar/progressbar-rtl.css +1 -1
- package/components/progressbar/progressbar-vars.less +2 -12
- package/components/progressbar/progressbar.css +1 -1
- package/components/progressbar/progressbar.js +2 -31
- package/components/progressbar/progressbar.less +0 -3
- package/components/pull-to-refresh/pull-to-refresh-class.js +15 -107
- package/components/pull-to-refresh/pull-to-refresh-md.less +2 -1
- package/components/pull-to-refresh/pull-to-refresh-rtl.css +1 -1
- package/components/pull-to-refresh/pull-to-refresh-vars.less +0 -4
- package/components/pull-to-refresh/pull-to-refresh.css +1 -1
- package/components/pull-to-refresh/pull-to-refresh.js +0 -8
- package/components/pull-to-refresh/pull-to-refresh.lazy.js +1 -1
- package/components/pull-to-refresh/pull-to-refresh.less +0 -3
- package/components/radio/radio-rtl.css +1 -1
- package/components/radio/radio-vars.less +0 -7
- package/components/radio/radio.css +1 -1
- package/components/radio/radio.less +12 -5
- package/components/range/range-class.js +27 -112
- package/components/range/range-rtl.css +1 -1
- package/components/range/range-vars.less +10 -32
- package/components/range/range.css +1 -1
- package/components/range/range.js +0 -12
- package/components/range/range.less +0 -3
- package/components/searchbar/remove-diacritics.js +0 -4
- package/components/searchbar/searchbar-class.js +17 -138
- package/components/searchbar/searchbar-md.less +41 -16
- package/components/searchbar/searchbar-rtl.css +1 -1
- package/components/searchbar/searchbar-vars.less +25 -76
- package/components/searchbar/searchbar.css +1 -1
- package/components/searchbar/searchbar.d.ts +2 -2
- package/components/searchbar/searchbar.js +0 -15
- package/components/searchbar/searchbar.lazy.js +1 -1
- package/components/searchbar/searchbar.less +14 -28
- package/components/sheet/sheet-class.js +15 -110
- package/components/sheet/sheet-rtl.css +1 -1
- package/components/sheet/sheet-vars.less +17 -6
- package/components/sheet/sheet.css +1 -1
- package/components/sheet/sheet.js +0 -9
- package/components/sheet/sheet.lazy.js +1 -1
- package/components/sheet/sheet.less +10 -3
- package/components/skeleton/skeleton.less +1 -4
- package/components/smart-select/smart-select-class.js +36 -173
- package/components/smart-select/smart-select.d.ts +1 -3
- package/components/smart-select/smart-select.js +1 -14
- package/components/smart-select/smart-select.lazy.js +1 -1
- package/components/smart-select/smart-select.less +0 -3
- package/components/sortable/sortable-rtl.css +1 -1
- package/components/sortable/sortable-vars.less +8 -8
- package/components/sortable/sortable.css +1 -1
- package/components/sortable/sortable.js +0 -44
- package/components/sortable/sortable.less +0 -3
- package/components/statusbar/statusbar.js +0 -36
- package/components/statusbar/statusbar.less +0 -3
- package/components/stepper/stepper-class.js +10 -83
- package/components/stepper/stepper-rtl.css +1 -1
- package/components/stepper/stepper-vars.less +12 -24
- package/components/stepper/stepper.css +1 -1
- package/components/stepper/stepper.js +0 -12
- package/components/stepper/stepper.less +12 -23
- package/components/subnavbar/subnavbar-vars.less +3 -18
- package/components/subnavbar/subnavbar.js +0 -3
- package/components/subnavbar/subnavbar.less +1 -11
- package/components/swipeout/swipeout-rtl.css +1 -1
- package/components/swipeout/swipeout-vars.less +7 -6
- package/components/swipeout/swipeout.css +1 -1
- package/components/swipeout/swipeout.js +2 -99
- package/components/swipeout/swipeout.less +2 -7
- package/components/swiper/swiper-rtl.css +1 -1
- package/components/swiper/swiper.css +1 -1
- package/components/swiper/swiper.js +9 -30
- package/components/swiper/swiper.lazy.js +1 -1
- package/components/swiper/swiper.less +1 -16
- package/components/tabs/tabs-rtl.css +1 -1
- package/components/tabs/tabs.css +1 -1
- package/components/tabs/tabs.js +23 -60
- package/components/tabs/tabs.lazy.js +1 -1
- package/components/tabs/tabs.less +1 -3
- package/components/text-editor/text-editor-class.js +16 -102
- package/components/text-editor/text-editor-rtl.css +1 -1
- package/components/text-editor/text-editor-vars.less +12 -16
- package/components/text-editor/text-editor.css +1 -1
- package/components/text-editor/text-editor.js +0 -8
- package/components/text-editor/text-editor.lazy.js +1 -1
- package/components/text-editor/text-editor.less +0 -6
- package/components/timeline/timeline-rtl.css +1 -1
- package/components/timeline/timeline-vars.less +13 -47
- package/components/timeline/timeline.css +1 -1
- package/components/timeline/timeline.less +2 -9
- package/components/toast/toast-class.js +2 -16
- package/components/toast/toast-rtl.css +1 -1
- package/components/toast/toast-vars.less +5 -9
- package/components/toast/toast.css +1 -1
- package/components/toast/toast.js +0 -3
- package/components/toast/toast.less +0 -3
- package/components/toggle/toggle-class.js +6 -30
- package/components/toggle/toggle-ios.less +5 -1
- package/components/toggle/toggle-md.less +27 -11
- package/components/toggle/toggle-rtl.css +1 -1
- package/components/toggle/toggle-vars.less +19 -21
- package/components/toggle/toggle.css +1 -1
- package/components/toggle/toggle.js +0 -8
- package/components/toggle/toggle.less +0 -4
- package/components/toolbar/toolbar-ios.less +2 -2
- package/components/toolbar/toolbar-md.less +28 -4
- package/components/toolbar/toolbar-vars.less +17 -52
- package/components/toolbar/toolbar.js +5 -43
- package/components/toolbar/toolbar.less +27 -45
- package/components/tooltip/tooltip-class.js +10 -64
- package/components/tooltip/tooltip-rtl.css +1 -1
- package/components/tooltip/tooltip-vars.less +12 -3
- package/components/tooltip/tooltip.css +1 -1
- package/components/tooltip/tooltip.js +0 -15
- package/components/tooltip/tooltip.less +0 -3
- package/components/touch-ripple/touch-ripple-class.js +0 -13
- package/components/touch-ripple/touch-ripple.js +0 -4
- package/components/touch-ripple/touch-ripple.less +1 -5
- package/components/treeview/treeview-rtl.css +1 -1
- package/components/treeview/treeview-vars.less +0 -3
- package/components/treeview/treeview.css +1 -1
- package/components/treeview/treeview.js +2 -11
- package/components/treeview/treeview.lazy.js +1 -1
- package/components/treeview/treeview.less +0 -3
- package/components/typography/typography-rtl.css +1 -1
- package/components/typography/typography.css +1 -1
- package/components/typography/typography.less +25 -3
- package/components/view/resizable-view.js +2 -24
- package/components/view/view-class.js +28 -53
- package/components/view/view.d.ts +0 -14
- package/components/view/view.js +8 -32
- package/components/view/view.less +1 -4
- package/components/virtual-list/virtual-list-class.js +58 -146
- package/components/virtual-list/virtual-list.d.ts +1 -1
- package/components/virtual-list/virtual-list.js +0 -2
- package/components/virtual-list/virtual-list.lazy.js +1 -1
- package/components/virtual-list/virtual-list.less +0 -3
- package/framework7-bundle-rtl.css +3593 -5977
- package/framework7-bundle-rtl.min.css +3 -3
- package/framework7-bundle.css +3591 -5978
- package/framework7-bundle.esm.js +4 -10
- package/framework7-bundle.js +6063 -12044
- package/framework7-bundle.js.map +1 -1
- package/framework7-bundle.less +2 -27
- package/framework7-bundle.min.css +3 -3
- package/framework7-bundle.min.js +3 -3
- package/framework7-bundle.min.js.map +1 -1
- package/framework7-lite-bundle.esm.js +4 -10
- package/framework7-lite.esm.js +4 -6
- package/framework7-lite.js +31 -0
- package/framework7-rtl.css +803 -1591
- package/framework7-rtl.min.css +3 -3
- package/framework7-types.d.ts +1 -32
- package/framework7.css +803 -1594
- package/framework7.d.ts +1 -32
- package/framework7.esm.js +4 -6
- package/framework7.js +1770 -3407
- package/framework7.js.map +1 -1
- package/framework7.less +2 -23
- package/framework7.min.css +3 -3
- package/framework7.min.js +3 -3
- package/framework7.min.js.map +1 -1
- package/less/mixins.less +7 -88
- package/less/plugin.js +15 -0
- package/modules/clicks/clicks.js +10 -22
- package/modules/component/$h.js +0 -3
- package/modules/component/$jsx.js +0 -5
- package/modules/component/component-class.js +13 -66
- package/modules/component/component.d.ts +1 -2
- package/modules/component/component.js +0 -8
- package/modules/component/eventslisteners.js +12 -20
- package/modules/component/parse-component.js +18 -20
- package/modules/component/snabbdom/h.js +3 -12
- package/modules/component/snabbdom/helpers/attachto.js +9 -14
- package/modules/component/snabbdom/htmldomapi.js +0 -16
- package/modules/component/snabbdom/modules/attributes.js +7 -11
- package/modules/component/snabbdom/modules/class.js +4 -8
- package/modules/component/snabbdom/modules/dataset.js +3 -7
- package/modules/component/snabbdom/modules/eventlisteners.js +16 -22
- package/modules/component/snabbdom/modules/hero.js +4 -44
- package/modules/component/snabbdom/modules/props.js +5 -9
- package/modules/component/snabbdom/modules/style.js +13 -30
- package/modules/component/snabbdom/snabbdom.bundle.js +0 -6
- package/modules/component/snabbdom/snabbdom.js +13 -72
- package/modules/component/snabbdom/thunk.js +3 -11
- package/modules/component/snabbdom/tovnode.js +1 -6
- package/modules/component/vdom.js +4 -62
- package/modules/demo-module.js +0 -8
- package/modules/device/device.js +6 -11
- package/modules/history/history.js +0 -1
- package/modules/resize/resize.js +8 -11
- package/modules/router/async-component.js +0 -3
- package/modules/router/back.js +86 -275
- package/modules/router/clear-previous-history.js +5 -18
- package/modules/router/component-loader.js +4 -25
- package/modules/router/modal.js +16 -43
- package/modules/router/navigate.js +80 -249
- package/modules/router/process-route-queue.js +0 -12
- package/modules/router/redirect.js +0 -8
- package/modules/router/router-class.js +92 -315
- package/modules/router/router.d.ts +3 -5
- package/modules/router/router.js +0 -3
- package/modules/router/swipe-back.js +35 -139
- package/modules/router/tab.js +14 -43
- package/modules/service-worker/service-worker.js +0 -11
- package/modules/store/create-store.js +10 -29
- package/modules/touch/touch.d.ts +2 -4
- package/modules/touch/touch.js +13 -108
- package/package.json +4 -18
- package/shared/$jsx.js +0 -6
- package/shared/class.js +18 -43
- package/shared/constructor-methods.js +0 -11
- package/shared/events-class.js +0 -17
- package/shared/get-device.js +18 -34
- package/shared/get-support.js +2 -8
- package/shared/history.js +2 -30
- package/shared/material-color-utils.js +728 -0
- package/shared/material-colors.js +75 -0
- package/shared/modal-methods.js +0 -18
- package/shared/utils.d.ts +0 -4
- package/shared/utils.js +191 -71
- package/components/accordion/accordion-aurora.less +0 -2
- package/components/actions/actions-aurora.less +0 -9
- package/components/app/app-aurora.less +0 -10
- package/components/appbar/appbar-aurora.less +0 -2
- package/components/appbar/appbar-ios.less +0 -2
- package/components/appbar/appbar-md.less +0 -2
- package/components/appbar/appbar-rtl.css +0 -1
- package/components/appbar/appbar-vars.less +0 -28
- package/components/appbar/appbar.css +0 -1
- package/components/appbar/appbar.d.ts +0 -14
- package/components/appbar/appbar.js +0 -3
- package/components/appbar/appbar.lazy.js +0 -1
- package/components/appbar/appbar.less +0 -106
- package/components/area-chart/area-chart-aurora.less +0 -2
- package/components/autocomplete/autocomplete-aurora.less +0 -17
- package/components/badge/badge-aurora.less +0 -2
- package/components/block/block-aurora.less +0 -2
- package/components/breadcrumbs/breadcrumbs-aurora.less +0 -2
- package/components/button/button-aurora.less +0 -25
- package/components/calendar/calendar-aurora.less +0 -2
- package/components/card/card-aurora.less +0 -2
- package/components/checkbox/checkbox-aurora.less +0 -39
- package/components/chip/chip-aurora.less +0 -14
- package/components/color-picker/color-picker-aurora.less +0 -2
- package/components/contacts-list/contacts-list-aurora.less +0 -2
- package/components/data-table/data-table-aurora.less +0 -64
- package/components/dialog/dialog-aurora.less +0 -112
- package/components/elevation/elevation-aurora.less +0 -2
- package/components/elevation/elevation-ios.less +0 -2
- package/components/elevation/elevation-md.less +0 -2
- package/components/elevation/elevation-rtl.css +0 -1
- package/components/elevation/elevation-vars.less +0 -51
- package/components/elevation/elevation.css +0 -1
- package/components/elevation/elevation.d.ts +0 -14
- package/components/elevation/elevation.js +0 -3
- package/components/elevation/elevation.lazy.js +0 -1
- package/components/elevation/elevation.less +0 -54
- package/components/fab/fab-aurora.less +0 -2
- package/components/form/form-aurora.less +0 -0
- package/components/gauge/gauge-aurora.less +0 -2
- package/components/grid/grid-aurora.less +0 -2
- package/components/icon/icon-aurora.less +0 -49
- package/components/infinite-scroll/infinite-scroll-aurora.less +0 -6
- package/components/input/input-aurora.less +0 -120
- package/components/lazy/lazy-aurora.less +0 -2
- package/components/lazy/lazy-ios.less +0 -2
- package/components/lazy/lazy-md.less +0 -2
- package/components/lazy/lazy-rtl.css +0 -1
- package/components/lazy/lazy.css +0 -1
- package/components/lazy/lazy.d.ts +0 -57
- package/components/lazy/lazy.js +0 -283
- package/components/lazy/lazy.lazy.js +0 -1
- package/components/lazy/lazy.less +0 -23
- package/components/link/link-aurora.less +0 -15
- package/components/list/list-aurora.less +0 -25
- package/components/list-index/list-index-aurora.less +0 -21
- package/components/login-screen/login-screen-aurora.less +0 -2
- package/components/menu/menu-aurora.less +0 -8
- package/components/menu/menu-ios.less +0 -2
- package/components/menu/menu-md.less +0 -2
- package/components/menu/menu-rtl.css +0 -1
- package/components/menu/menu-vars.less +0 -27
- package/components/menu/menu.css +0 -1
- package/components/menu/menu.d.ts +0 -32
- package/components/menu/menu.js +0 -87
- package/components/menu/menu.lazy.js +0 -1
- package/components/menu/menu.less +0 -232
- package/components/messagebar/messagebar-aurora.less +0 -53
- package/components/messages/messages-aurora.less +0 -137
- package/components/navbar/navbar-aurora.less +0 -70
- package/components/notification/notification-aurora.less +0 -59
- package/components/page/page-aurora.less +0 -49
- package/components/panel/panel-aurora.less +0 -2
- package/components/photo-browser/photo-browser-aurora.less +0 -2
- package/components/picker/picker-aurora.less +0 -2
- package/components/pie-chart/pie-chart-aurora.less +0 -2
- package/components/popover/popover-aurora.less +0 -56
- package/components/popup/popup-aurora.less +0 -2
- package/components/preloader/preloader-aurora.less +0 -53
- package/components/progressbar/progressbar-aurora.less +0 -72
- package/components/pull-to-refresh/pull-to-refresh-aurora.less +0 -122
- package/components/radio/radio-aurora.less +0 -86
- package/components/range/range-aurora.less +0 -9
- package/components/searchbar/searchbar-aurora.less +0 -86
- package/components/sheet/sheet-aurora.less +0 -2
- package/components/skeleton/skeleton-aurora.less +0 -2
- package/components/smart-select/smart-select-aurora.less +0 -2
- package/components/sortable/sortable-aurora.less +0 -7
- package/components/statusbar/statusbar-aurora.less +0 -2
- package/components/stepper/stepper-aurora.less +0 -32
- package/components/subnavbar/subnavbar-aurora.less +0 -51
- package/components/swipeout/swipeout-aurora.less +0 -2
- package/components/swiper/swiper-aurora.less +0 -2
- package/components/tabs/tabs-aurora.less +0 -2
- package/components/text-editor/text-editor-aurora.less +0 -9
- package/components/timeline/timeline-aurora.less +0 -7
- package/components/toast/toast-aurora.less +0 -64
- package/components/toggle/toggle-aurora.less +0 -26
- package/components/toolbar/toolbar-aurora.less +0 -43
- package/components/tooltip/tooltip-aurora.less +0 -2
- package/components/touch-ripple/touch-ripple-aurora.less +0 -2
- package/components/treeview/treeview-aurora.less +0 -31
- package/components/typography/typography-aurora.less +0 -2
- package/components/view/view-aurora.less +0 -2
- package/components/virtual-list/virtual-list-aurora.less +0 -2
- package/modules/request/request.d.ts +0 -15
- package/modules/request/request.js +0 -11
- package/postinstall.js +0 -3
- package/shared/request.d.ts +0 -115
- package/shared/request.js +0 -512
|
@@ -3,43 +3,40 @@ import $ from '../../shared/dom7.js';
|
|
|
3
3
|
import { extend } from '../../shared/utils.js';
|
|
4
4
|
import { getDevice } from '../../shared/get-device.js';
|
|
5
5
|
import Modal from '../modal/modal-class.js';
|
|
6
|
-
|
|
7
6
|
class Popover extends Modal {
|
|
8
7
|
constructor(app, params) {
|
|
9
8
|
const extendedParams = extend({
|
|
10
9
|
on: {}
|
|
11
|
-
}, app.params.popover, params);
|
|
10
|
+
}, app.params.popover, params);
|
|
12
11
|
|
|
12
|
+
// Extends with open/close Modal methods;
|
|
13
13
|
super(app, extendedParams);
|
|
14
14
|
const popover = this;
|
|
15
15
|
const device = getDevice();
|
|
16
16
|
const window = getWindow();
|
|
17
17
|
const document = getDocument();
|
|
18
|
-
popover.params = extendedParams;
|
|
18
|
+
popover.params = extendedParams;
|
|
19
19
|
|
|
20
|
+
// Find Element
|
|
20
21
|
let $el;
|
|
21
|
-
|
|
22
22
|
if (!popover.params.el) {
|
|
23
23
|
$el = $(popover.params.content).filter(node => node.nodeType === 1).eq(0);
|
|
24
24
|
} else {
|
|
25
25
|
$el = $(popover.params.el).eq(0);
|
|
26
26
|
}
|
|
27
|
-
|
|
28
27
|
if ($el && $el.length > 0 && $el[0].f7Modal) {
|
|
29
28
|
return $el[0].f7Modal;
|
|
30
|
-
}
|
|
31
|
-
|
|
29
|
+
}
|
|
32
30
|
|
|
31
|
+
// Find Target
|
|
33
32
|
const $targetEl = $(popover.params.targetEl).eq(0);
|
|
34
|
-
|
|
35
33
|
if ($el.length === 0) {
|
|
36
34
|
return popover.destroy();
|
|
37
|
-
}
|
|
38
|
-
|
|
35
|
+
}
|
|
39
36
|
|
|
37
|
+
// Backdrop
|
|
40
38
|
let $backdropEl;
|
|
41
39
|
const forceBackdropUnique = popover.params.backdrop && app.$el.find('.popover.modal-in').filter(anotherPopoverEl => anotherPopoverEl !== $el[0]).length > 0;
|
|
42
|
-
|
|
43
40
|
if (popover.params.backdrop && popover.params.backdropEl) {
|
|
44
41
|
$backdropEl = $(popover.params.backdropEl);
|
|
45
42
|
} else if (popover.params.backdrop) {
|
|
@@ -50,24 +47,22 @@ class Popover extends Modal {
|
|
|
50
47
|
} else {
|
|
51
48
|
$backdropEl = popover.$containerEl.children('.popover-backdrop');
|
|
52
49
|
}
|
|
53
|
-
|
|
54
50
|
if ($backdropEl.length === 0) {
|
|
55
51
|
$backdropEl = $('<div class="popover-backdrop"></div>');
|
|
56
52
|
popover.$containerEl.append($backdropEl);
|
|
57
53
|
}
|
|
58
|
-
}
|
|
59
|
-
|
|
54
|
+
}
|
|
60
55
|
|
|
56
|
+
// Find Angle
|
|
61
57
|
let $angleEl;
|
|
62
|
-
|
|
63
|
-
if ($el.find('.popover-angle').length === 0) {
|
|
58
|
+
if ($el.find('.popover-angle').length === 0 && popover.params.angle) {
|
|
64
59
|
$angleEl = $('<div class="popover-angle"></div>');
|
|
65
60
|
$el.prepend($angleEl);
|
|
66
61
|
} else {
|
|
67
62
|
$angleEl = $el.find('.popover-angle');
|
|
68
|
-
}
|
|
69
|
-
|
|
63
|
+
}
|
|
70
64
|
|
|
65
|
+
// Open
|
|
71
66
|
const originalOpen = popover.open;
|
|
72
67
|
extend(popover, {
|
|
73
68
|
app,
|
|
@@ -81,29 +76,22 @@ class Popover extends Modal {
|
|
|
81
76
|
backdropEl: $backdropEl && $backdropEl[0],
|
|
82
77
|
type: 'popover',
|
|
83
78
|
forceBackdropUnique,
|
|
84
|
-
|
|
85
79
|
open() {
|
|
86
80
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
87
81
|
args[_key] = arguments[_key];
|
|
88
82
|
}
|
|
89
|
-
|
|
90
83
|
let [targetEl, animate] = args;
|
|
91
84
|
if (typeof args[0] === 'boolean') [animate, targetEl] = args;
|
|
92
|
-
|
|
93
85
|
if (targetEl) {
|
|
94
86
|
popover.$targetEl = $(targetEl);
|
|
95
87
|
popover.targetEl = popover.$targetEl[0];
|
|
96
88
|
}
|
|
97
|
-
|
|
98
89
|
return originalOpen.call(popover, animate);
|
|
99
90
|
}
|
|
100
|
-
|
|
101
91
|
});
|
|
102
|
-
|
|
103
92
|
function handleResize() {
|
|
104
93
|
popover.resize();
|
|
105
94
|
}
|
|
106
|
-
|
|
107
95
|
popover.on('popoverOpen', () => {
|
|
108
96
|
popover.resize();
|
|
109
97
|
app.on('resize', handleResize);
|
|
@@ -114,39 +102,32 @@ class Popover extends Modal {
|
|
|
114
102
|
});
|
|
115
103
|
});
|
|
116
104
|
let touchStartTarget = null;
|
|
117
|
-
|
|
118
105
|
function handleTouchStart(e) {
|
|
119
106
|
touchStartTarget = e.target;
|
|
120
107
|
}
|
|
121
|
-
|
|
122
108
|
function handleClick(e) {
|
|
123
109
|
const target = e.target;
|
|
124
110
|
const $target = $(target);
|
|
125
111
|
const keyboardOpened = !device.desktop && device.cordova && (window.Keyboard && window.Keyboard.isVisible || window.cordova.plugins && window.cordova.plugins.Keyboard && window.cordova.plugins.Keyboard.isVisible);
|
|
126
112
|
if (keyboardOpened) return;
|
|
127
|
-
|
|
128
113
|
if ($target.closest(popover.el).length === 0) {
|
|
129
114
|
if (popover.params.closeByBackdropClick && popover.params.backdrop && popover.backdropEl && popover.backdropEl === target && touchStartTarget === target) {
|
|
130
115
|
popover.close();
|
|
131
116
|
} else if (popover.params.closeByOutsideClick && touchStartTarget === target) {
|
|
132
117
|
const isAnotherPopoverBackdrop = $target.hasClass('popover-backdrop-unique') && target.f7PopoverRef !== popover || $target.hasClass('popover-backdrop') && target !== popover.backdropEl;
|
|
133
118
|
const isAnotherPopoverTarget = target.closest('.popover') && target.closest('.popover') !== popover.$el[0];
|
|
134
|
-
|
|
135
119
|
if (!isAnotherPopoverBackdrop && !isAnotherPopoverTarget) {
|
|
136
120
|
popover.close();
|
|
137
121
|
}
|
|
138
122
|
}
|
|
139
123
|
}
|
|
140
124
|
}
|
|
141
|
-
|
|
142
125
|
function onKeyDown(e) {
|
|
143
126
|
const keyCode = e.keyCode;
|
|
144
|
-
|
|
145
127
|
if (keyCode === 27 && popover.params.closeOnEscape) {
|
|
146
128
|
popover.close();
|
|
147
129
|
}
|
|
148
130
|
}
|
|
149
|
-
|
|
150
131
|
if (popover.params.closeOnEscape) {
|
|
151
132
|
popover.on('popoverOpen', () => {
|
|
152
133
|
$(document).on('keydown', onKeyDown);
|
|
@@ -155,7 +136,6 @@ class Popover extends Modal {
|
|
|
155
136
|
$(document).off('keydown', onKeyDown);
|
|
156
137
|
});
|
|
157
138
|
}
|
|
158
|
-
|
|
159
139
|
popover.on('popoverOpened', () => {
|
|
160
140
|
if (popover.params.closeByOutsideClick || popover.params.closeByBackdropClick) {
|
|
161
141
|
app.on('touchstart', handleTouchStart);
|
|
@@ -171,7 +151,6 @@ class Popover extends Modal {
|
|
|
171
151
|
$el[0].f7Modal = popover;
|
|
172
152
|
return popover;
|
|
173
153
|
}
|
|
174
|
-
|
|
175
154
|
resize() {
|
|
176
155
|
const popover = this;
|
|
177
156
|
const {
|
|
@@ -193,20 +172,19 @@ class Popover extends Modal {
|
|
|
193
172
|
let angleSize = 0;
|
|
194
173
|
let angleLeft;
|
|
195
174
|
let angleTop;
|
|
196
|
-
|
|
197
|
-
|
|
175
|
+
const hasAngle = $angleEl.length > 0;
|
|
176
|
+
const angleMin = app.theme === 'ios' ? 13 : 24;
|
|
177
|
+
if (hasAngle) {
|
|
198
178
|
$angleEl.removeClass('on-left on-right on-top on-bottom').css({
|
|
199
179
|
left: '',
|
|
200
180
|
top: ''
|
|
201
181
|
});
|
|
202
182
|
angleSize = $angleEl.width() / 2;
|
|
203
|
-
} else {
|
|
204
|
-
$el.removeClass('popover-on-left popover-on-right popover-on-top popover-on-bottom popover-on-middle').css({
|
|
205
|
-
left: '',
|
|
206
|
-
top: ''
|
|
207
|
-
});
|
|
208
183
|
}
|
|
209
|
-
|
|
184
|
+
$el.removeClass('popover-on-left popover-on-right popover-on-top popover-on-bottom popover-on-middle').css({
|
|
185
|
+
left: '',
|
|
186
|
+
top: ''
|
|
187
|
+
});
|
|
210
188
|
let targetWidth;
|
|
211
189
|
let targetHeight;
|
|
212
190
|
let targetOffsetLeft;
|
|
@@ -217,7 +195,6 @@ class Popover extends Modal {
|
|
|
217
195
|
if (Number.isNaN(safeAreaTop)) safeAreaTop = 0;
|
|
218
196
|
if (Number.isNaN(safeAreaLeft)) safeAreaLeft = 0;
|
|
219
197
|
if (Number.isNaN(safeAreaRight)) safeAreaRight = 0;
|
|
220
|
-
|
|
221
198
|
if ($targetEl && $targetEl.length > 0) {
|
|
222
199
|
targetWidth = $targetEl.outerWidth();
|
|
223
200
|
targetHeight = $targetEl.outerHeight();
|
|
@@ -225,7 +202,6 @@ class Popover extends Modal {
|
|
|
225
202
|
targetOffsetLeft = targetOffset.left - app.left;
|
|
226
203
|
targetOffsetTop = targetOffset.top - app.top;
|
|
227
204
|
const targetParentPage = $targetEl.parents('.page');
|
|
228
|
-
|
|
229
205
|
if (targetParentPage.length > 0) {
|
|
230
206
|
targetOffsetTop -= targetParentPage[0].scrollTop;
|
|
231
207
|
}
|
|
@@ -235,113 +211,83 @@ class Popover extends Modal {
|
|
|
235
211
|
targetWidth = popover.params.targetWidth || 0;
|
|
236
212
|
targetHeight = popover.params.targetHeight || 0;
|
|
237
213
|
}
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
214
|
+
let [left, top, diff] = [0, 0, 0];
|
|
215
|
+
// Top Position
|
|
241
216
|
const forcedPosition = verticalPosition === 'auto' ? false : verticalPosition;
|
|
242
|
-
let position = forcedPosition ||
|
|
217
|
+
let position = forcedPosition || 'top';
|
|
218
|
+
if (forcedPosition === 'top' || !forcedPosition && height + angleSize < targetOffsetTop - safeAreaTop) {
|
|
219
|
+
// On top
|
|
220
|
+
top = targetOffsetTop - height - angleSize;
|
|
221
|
+
} else if (forcedPosition === 'bottom' || !forcedPosition && height + angleSize < app.height - targetOffsetTop - targetHeight) {
|
|
222
|
+
// On bottom
|
|
223
|
+
position = 'bottom';
|
|
224
|
+
top = targetOffsetTop + targetHeight + angleSize;
|
|
225
|
+
} else {
|
|
226
|
+
// On middle
|
|
227
|
+
position = 'middle';
|
|
228
|
+
top = targetHeight / 2 + targetOffsetTop - height / 2;
|
|
229
|
+
diff = top;
|
|
230
|
+
top = Math.max(5, Math.min(top, app.height - height - 5));
|
|
231
|
+
diff -= top;
|
|
232
|
+
}
|
|
243
233
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
top = targetOffsetTop - height;
|
|
252
|
-
position = 'top';
|
|
253
|
-
} else {
|
|
254
|
-
// On middle
|
|
255
|
-
position = 'middle';
|
|
256
|
-
top = targetHeight / 2 + targetOffsetTop - height / 2;
|
|
234
|
+
// Horizontal Position
|
|
235
|
+
if (position === 'top' || position === 'bottom') {
|
|
236
|
+
left = targetWidth / 2 + targetOffsetLeft - width / 2;
|
|
237
|
+
diff = left;
|
|
238
|
+
left = Math.max(5, Math.min(left, app.width - width - 5));
|
|
239
|
+
if (safeAreaLeft) {
|
|
240
|
+
left = Math.max(left, safeAreaLeft);
|
|
257
241
|
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
let hPosition;
|
|
262
|
-
|
|
263
|
-
if (targetOffsetLeft < app.width / 2) {
|
|
264
|
-
hPosition = 'right';
|
|
265
|
-
left = position === 'middle' ? targetOffsetLeft + targetWidth : targetOffsetLeft;
|
|
266
|
-
} else {
|
|
267
|
-
hPosition = 'left';
|
|
268
|
-
left = position === 'middle' ? targetOffsetLeft - width : targetOffsetLeft + targetWidth - width;
|
|
242
|
+
if (safeAreaRight && left + width > app.width - 5 - safeAreaRight) {
|
|
243
|
+
left = app.width - 5 - safeAreaRight - width;
|
|
269
244
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
$el.addClass(`popover-on-${position} popover-on-${hPosition}`);
|
|
273
|
-
} else {
|
|
274
|
-
// ios and aurora
|
|
275
|
-
if (forcedPosition === 'top' || !forcedPosition && height + angleSize < targetOffsetTop - safeAreaTop) {
|
|
276
|
-
// On top
|
|
277
|
-
top = targetOffsetTop - height - angleSize;
|
|
278
|
-
} else if (forcedPosition === 'bottom' || !forcedPosition && height + angleSize < app.height - targetOffsetTop - targetHeight) {
|
|
279
|
-
// On bottom
|
|
280
|
-
position = 'bottom';
|
|
281
|
-
top = targetOffsetTop + targetHeight + angleSize;
|
|
282
|
-
} else {
|
|
283
|
-
// On middle
|
|
284
|
-
position = 'middle';
|
|
285
|
-
top = targetHeight / 2 + targetOffsetTop - height / 2;
|
|
286
|
-
diff = top;
|
|
287
|
-
top = Math.max(5, Math.min(top, app.height - height - 5));
|
|
288
|
-
diff -= top;
|
|
289
|
-
} // Horizontal Position
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
if (position === 'top' || position === 'bottom') {
|
|
293
|
-
left = targetWidth / 2 + targetOffsetLeft - width / 2;
|
|
294
|
-
diff = left;
|
|
295
|
-
left = Math.max(5, Math.min(left, app.width - width - 5));
|
|
296
|
-
|
|
297
|
-
if (safeAreaLeft) {
|
|
298
|
-
left = Math.max(left, safeAreaLeft);
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
if (safeAreaRight && left + width > app.width - 5 - safeAreaRight) {
|
|
302
|
-
left = app.width - 5 - safeAreaRight - width;
|
|
303
|
-
}
|
|
304
|
-
|
|
245
|
+
diff -= left;
|
|
246
|
+
if (hasAngle) {
|
|
305
247
|
if (position === 'top') {
|
|
306
248
|
$angleEl.addClass('on-bottom');
|
|
307
249
|
}
|
|
308
|
-
|
|
309
250
|
if (position === 'bottom') {
|
|
310
251
|
$angleEl.addClass('on-top');
|
|
311
252
|
}
|
|
312
|
-
|
|
313
|
-
diff -= left;
|
|
314
253
|
angleLeft = width / 2 - angleSize + diff;
|
|
315
|
-
angleLeft = Math.max(Math.min(angleLeft, width - angleSize * 2 -
|
|
254
|
+
angleLeft = Math.max(Math.min(angleLeft, width - angleSize * 2 - angleMin), angleMin);
|
|
316
255
|
$angleEl.css({
|
|
317
256
|
left: `${angleLeft}px`
|
|
318
257
|
});
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
258
|
+
}
|
|
259
|
+
} else if (position === 'middle') {
|
|
260
|
+
left = targetOffsetLeft - width - angleSize;
|
|
261
|
+
if (hasAngle) $angleEl.addClass('on-right');
|
|
262
|
+
if (left < 5 || left + width + safeAreaRight > app.width || left < safeAreaLeft) {
|
|
263
|
+
if (left < 5) left = targetOffsetLeft + targetWidth + angleSize;
|
|
264
|
+
if (left + width + safeAreaRight > app.width) left = app.width - width - 5 - safeAreaRight;
|
|
265
|
+
if (left < safeAreaLeft) left = safeAreaLeft;
|
|
266
|
+
if (hasAngle) $angleEl.removeClass('on-right').addClass('on-left');
|
|
267
|
+
}
|
|
268
|
+
if (hasAngle) {
|
|
330
269
|
angleTop = height / 2 - angleSize + diff;
|
|
331
|
-
angleTop = Math.max(Math.min(angleTop, height - angleSize * 2 -
|
|
270
|
+
angleTop = Math.max(Math.min(angleTop, height - angleSize * 2 - angleMin), angleMin);
|
|
332
271
|
$angleEl.css({
|
|
333
272
|
top: `${angleTop}px`
|
|
334
273
|
});
|
|
335
274
|
}
|
|
336
|
-
}
|
|
275
|
+
}
|
|
337
276
|
|
|
277
|
+
// Horizontal Position
|
|
278
|
+
let hPosition;
|
|
279
|
+
if (targetOffsetLeft < app.width / 2) {
|
|
280
|
+
hPosition = 'right';
|
|
281
|
+
} else {
|
|
282
|
+
hPosition = 'left';
|
|
283
|
+
}
|
|
284
|
+
$el.addClass(`popover-on-${position} popover-on-${hPosition}`);
|
|
338
285
|
|
|
286
|
+
// Apply Styles
|
|
339
287
|
$el.css({
|
|
340
288
|
top: `${top}px`,
|
|
341
289
|
left: `${left}px`
|
|
342
290
|
});
|
|
343
291
|
}
|
|
344
|
-
|
|
345
292
|
}
|
|
346
|
-
|
|
347
293
|
export default Popover;
|
|
@@ -3,54 +3,4 @@
|
|
|
3
3
|
transform: none;
|
|
4
4
|
transition-property: opacity;
|
|
5
5
|
}
|
|
6
|
-
.popover-angle {
|
|
7
|
-
width: 26px;
|
|
8
|
-
height: 26px;
|
|
9
|
-
position: absolute;
|
|
10
|
-
left: -26px;
|
|
11
|
-
top: 0;
|
|
12
|
-
z-index: 100;
|
|
13
|
-
overflow: hidden;
|
|
14
|
-
&:after {
|
|
15
|
-
content: '';
|
|
16
|
-
background: var(--f7-popover-bg-color);
|
|
17
|
-
width: 26px;
|
|
18
|
-
height: 26px;
|
|
19
|
-
position: absolute;
|
|
20
|
-
left: 0;
|
|
21
|
-
top: 0;
|
|
22
|
-
border-radius: 3px;
|
|
23
|
-
transform: rotate(45deg);
|
|
24
|
-
}
|
|
25
|
-
&.on-left {
|
|
26
|
-
left: -26px;
|
|
27
|
-
&:after {
|
|
28
|
-
left: 19px;
|
|
29
|
-
top: 0;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
&.on-right {
|
|
33
|
-
left: 100%;
|
|
34
|
-
&:after {
|
|
35
|
-
left: -19px;
|
|
36
|
-
top: 0;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
&.on-top {
|
|
40
|
-
left: 0;
|
|
41
|
-
top: -26px;
|
|
42
|
-
&:after {
|
|
43
|
-
left: 0;
|
|
44
|
-
top: 19px;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
&.on-bottom {
|
|
48
|
-
left: 0;
|
|
49
|
-
top: 100%;
|
|
50
|
-
&:after {
|
|
51
|
-
left: 0;
|
|
52
|
-
top: -19px;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--f7-popover-width:260px}.ios{--f7-popover-border-radius:13px;--f7-popover-
|
|
1
|
+
:root{--f7-popover-width:260px}.ios{--f7-popover-border-radius:13px;--f7-popover-actions-icon-size:28px;--f7-popover-transition-timing-function:initial;--f7-popover-bg-color:rgba(255, 255, 255, 0.95);--f7-popover-actions-label-text-color:rgba(0, 0, 0, 0.45)}.ios .dark,.ios.dark{--f7-popover-bg-color:rgba(30, 30, 30, 0.95);--f7-popover-actions-label-text-color:rgba(255, 255, 255, 0.55)}.md{--f7-popover-transition-timing-function:cubic-bezier(0, 0.8, 0.34, 1);--f7-popover-border-radius:28px;--f7-popover-actions-icon-size:24px}.md,.md .dark,.md [class*=color-]{--f7-popover-bg-color:var(--f7-md-surface-3);--f7-popover-actions-label-text-color:var(--f7-md-on-surface-variant)}.popover-backdrop-unique{z-index:13500}.popover{width:var(--f7-popover-width);z-index:13500;margin:0;top:0;opacity:0;left:0;position:absolute;display:none;transition-duration:.3s;background-color:var(--f7-popover-bg-color);border-radius:var(--f7-popover-border-radius);will-change:transform,opacity}.popover .list{margin:0}.popover .list ul{background:0 0}.popover .list:first-child ul:before{display:none!important}.popover .list:last-child ul:after{display:none!important}.popover .list:first-child ul{border-radius:var(--f7-popover-border-radius) var(--f7-popover-border-radius) 0 0}.popover .list:first-child li:first-child,.popover .list:first-child li:first-child a,.popover .list:first-child li:first-child>label{border-radius:var(--f7-popover-border-radius) var(--f7-popover-border-radius) 0 0}.popover .list:last-child ul{border-radius:0 0 var(--f7-popover-border-radius) var(--f7-popover-border-radius)}.popover .list:last-child li:last-child,.popover .list:last-child li:last-child a,.popover .list:last-child li:last-child>label{border-radius:0 0 var(--f7-popover-border-radius) var(--f7-popover-border-radius)}.popover .list:first-child:last-child li:first-child:last-child,.popover .list:first-child:last-child li:first-child:last-child a,.popover .list:first-child:last-child li:first-child:last-child>label,.popover .list:first-child:last-child ul{border-radius:var(--f7-popover-border-radius)}.popover .list+.list{margin-top:var(--f7-list-margin-vertical)}.popover.modal-in{opacity:1}.popover.not-animated{transition-duration:0s}.popover,.popover-backdrop{transition-timing-function:var(--f7-popover-transition-timing-function)}.popover-inner{overflow:auto;-webkit-overflow-scrolling:touch}.popover-from-actions .item-link i.icon{width:var(--f7-popover-actions-icon-size);height:var(--f7-popover-actions-icon-size);font-size:var(--f7-popover-actions-icon-size)}.ios .popover-from-actions-strong{font-weight:600}.md .popover-from-actions-strong{font-weight:500}.popover-from-actions-label{line-height:1.3;position:relative;display:flex;align-items:center;padding:var(--f7-actions-label-padding);color:var(--f7-popover-actions-label-text-color);font-size:var(--f7-actions-label-font-size);justify-content:var(--f7-actions-label-justify-content)}.popover-from-actions-label:after{content:'';position:absolute;background-color:var(--f7-list-item-border-color);display:block;z-index:15;top:auto;right:auto;bottom:0;left:0;height:1px;width:100%;transform-origin:50% 100%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.popover-from-actions-label:last-child:after{display:none!important}.md .popover-from-actions-label{justify-content:center}.popover-angle{width:26px;height:26px;position:absolute;left:-26px;top:0;z-index:100;overflow:hidden}.popover-angle:after{content:'';background:var(--f7-popover-bg-color);width:26px;height:26px;position:absolute;left:0;top:0;border-radius:3px;transform:rotate(45deg)}.popover-angle.on-left{left:-26px}.popover-angle.on-left:after{left:19px;top:0}.popover-angle.on-right{left:100%}.popover-angle.on-right:after{left:-19px;top:0}.popover-angle.on-top{left:0;top:-26px}.popover-angle.on-top:after{left:0;top:19px}.popover-angle.on-bottom{left:0;top:100%}.popover-angle.on-bottom:after{left:0;top:-19px}.ios .popover{transform:none;transition-property:opacity}.md .popover{transform:scale(.85,.6);transition-property:opacity,transform}.md .popover.modal-in{opacity:1;transform:scale(1)}.md .popover.modal-out{opacity:0;transform:scale(1)}.md .popover-on-top{transform-origin:center bottom}.md .popover-on-top.popover-on-right{transform-origin:left bottom}.md .popover-on-top.popover-on-left{transform-origin:right bottom}.md .popover-on-middle{transform-origin:center center}.md .popover-on-middle.popover-on-right{transform-origin:left center}.md .popover-on-middle.popover-on-left{transform-origin:right center}.md .popover-on-bottom{transform-origin:center top}.md .popover-on-bottom.popover-on-right{transform-origin:left top}.md .popover-on-bottom.popover-on-left{transform-origin:right top}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
}
|
|
4
4
|
.ios-vars({
|
|
5
5
|
--f7-popover-border-radius: 13px;
|
|
6
|
-
--f7-popover-box-shadow: none;
|
|
7
6
|
--f7-popover-actions-icon-size: 28px;
|
|
7
|
+
--f7-popover-transition-timing-function: initial;
|
|
8
8
|
.light-vars({
|
|
9
9
|
--f7-popover-bg-color: rgba(255,255,255,0.95);
|
|
10
10
|
--f7-popover-actions-label-text-color: rgba(0,0,0,0.45);
|
|
@@ -15,28 +15,11 @@
|
|
|
15
15
|
});
|
|
16
16
|
});
|
|
17
17
|
.md-vars({
|
|
18
|
-
--f7-popover-
|
|
19
|
-
--f7-popover-
|
|
18
|
+
--f7-popover-transition-timing-function: cubic-bezier(0, 0.8, 0.34, 1);
|
|
19
|
+
--f7-popover-border-radius: 28px;
|
|
20
20
|
--f7-popover-actions-icon-size: 24px;
|
|
21
|
-
.light-vars({
|
|
22
|
-
--f7-popover-bg-color: #fff;
|
|
23
|
-
--f7-popover-actions-label-text-color: rgba(0,0,0,0.54);
|
|
24
|
-
});
|
|
25
|
-
.dark-vars({
|
|
26
|
-
--f7-popover-bg-color: #1c1c1d;
|
|
27
|
-
--f7-popover-actions-label-text-color: rgba(255,255,255,0.54);
|
|
28
|
-
});
|
|
29
21
|
});
|
|
30
|
-
.
|
|
31
|
-
--f7-popover-
|
|
32
|
-
--f7-popover-
|
|
33
|
-
--f7-popover-actions-icon-size: 24px;
|
|
34
|
-
.light-vars({
|
|
35
|
-
--f7-popover-bg-color: #fff;
|
|
36
|
-
--f7-popover-actions-label-text-color: rgba(0,0,0,0.6);
|
|
37
|
-
});
|
|
38
|
-
.dark-vars({
|
|
39
|
-
--f7-popover-bg-color: #1c1c1d;
|
|
40
|
-
--f7-popover-actions-label-text-color: rgba(255,255,255,0.6);
|
|
41
|
-
});
|
|
22
|
+
.md-color-vars({
|
|
23
|
+
--f7-popover-bg-color: var(--f7-md-surface-3);
|
|
24
|
+
--f7-popover-actions-label-text-color: var(--f7-md-on-surface-variant);
|
|
42
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--f7-popover-width:260px}.ios{--f7-popover-border-radius:13px;--f7-popover-
|
|
1
|
+
:root{--f7-popover-width:260px}.ios{--f7-popover-border-radius:13px;--f7-popover-actions-icon-size:28px;--f7-popover-transition-timing-function:initial;--f7-popover-bg-color:rgba(255, 255, 255, 0.95);--f7-popover-actions-label-text-color:rgba(0, 0, 0, 0.45)}.ios .dark,.ios.dark{--f7-popover-bg-color:rgba(30, 30, 30, 0.95);--f7-popover-actions-label-text-color:rgba(255, 255, 255, 0.55)}.md{--f7-popover-transition-timing-function:cubic-bezier(0, 0.8, 0.34, 1);--f7-popover-border-radius:28px;--f7-popover-actions-icon-size:24px}.md,.md .dark,.md [class*=color-]{--f7-popover-bg-color:var(--f7-md-surface-3);--f7-popover-actions-label-text-color:var(--f7-md-on-surface-variant)}.popover-backdrop-unique{z-index:13500}.popover{width:var(--f7-popover-width);z-index:13500;margin:0;top:0;opacity:0;left:0;position:absolute;display:none;transition-duration:.3s;background-color:var(--f7-popover-bg-color);border-radius:var(--f7-popover-border-radius);will-change:transform,opacity}.popover .list{margin:0}.popover .list ul{background:0 0}.popover .list:first-child ul:before{display:none!important}.popover .list:last-child ul:after{display:none!important}.popover .list:first-child ul{border-radius:var(--f7-popover-border-radius) var(--f7-popover-border-radius) 0 0}.popover .list:first-child li:first-child,.popover .list:first-child li:first-child a,.popover .list:first-child li:first-child>label{border-radius:var(--f7-popover-border-radius) var(--f7-popover-border-radius) 0 0}.popover .list:last-child ul{border-radius:0 0 var(--f7-popover-border-radius) var(--f7-popover-border-radius)}.popover .list:last-child li:last-child,.popover .list:last-child li:last-child a,.popover .list:last-child li:last-child>label{border-radius:0 0 var(--f7-popover-border-radius) var(--f7-popover-border-radius)}.popover .list:first-child:last-child li:first-child:last-child,.popover .list:first-child:last-child li:first-child:last-child a,.popover .list:first-child:last-child li:first-child:last-child>label,.popover .list:first-child:last-child ul{border-radius:var(--f7-popover-border-radius)}.popover .list+.list{margin-top:var(--f7-list-margin-vertical)}.popover.modal-in{opacity:1}.popover.not-animated{transition-duration:0s}.popover,.popover-backdrop{transition-timing-function:var(--f7-popover-transition-timing-function)}.popover-inner{overflow:auto;-webkit-overflow-scrolling:touch}.popover-from-actions .item-link i.icon{width:var(--f7-popover-actions-icon-size);height:var(--f7-popover-actions-icon-size);font-size:var(--f7-popover-actions-icon-size)}.ios .popover-from-actions-strong{font-weight:600}.md .popover-from-actions-strong{font-weight:500}.popover-from-actions-label{line-height:1.3;position:relative;display:flex;align-items:center;padding:var(--f7-actions-label-padding);color:var(--f7-popover-actions-label-text-color);font-size:var(--f7-actions-label-font-size);justify-content:var(--f7-actions-label-justify-content)}.popover-from-actions-label:after{content:'';position:absolute;background-color:var(--f7-list-item-border-color);display:block;z-index:15;top:auto;right:auto;bottom:0;left:0;height:1px;width:100%;transform-origin:50% 100%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.popover-from-actions-label:last-child:after{display:none!important}.md .popover-from-actions-label{justify-content:center}.popover-angle{width:26px;height:26px;position:absolute;left:-26px;top:0;z-index:100;overflow:hidden}.popover-angle:after{content:'';background:var(--f7-popover-bg-color);width:26px;height:26px;position:absolute;left:0;top:0;border-radius:3px;transform:rotate(45deg)}.popover-angle.on-left{left:-26px}.popover-angle.on-left:after{left:19px;top:0}.popover-angle.on-right{left:100%}.popover-angle.on-right:after{left:-19px;top:0}.popover-angle.on-top{left:0;top:-26px}.popover-angle.on-top:after{left:0;top:19px}.popover-angle.on-bottom{left:0;top:100%}.popover-angle.on-bottom:after{left:0;top:-19px}.ios .popover{transform:none;transition-property:opacity}.md .popover{transform:scale(.85,.6);transition-property:opacity,transform}.md .popover.modal-in{opacity:1;transform:scale(1)}.md .popover.modal-out{opacity:0;transform:scale(1)}.md .popover-on-top{transform-origin:center bottom}.md .popover-on-top.popover-on-right{transform-origin:left bottom}.md .popover-on-top.popover-on-left{transform-origin:right bottom}.md .popover-on-middle{transform-origin:center center}.md .popover-on-middle.popover-on-right{transform-origin:left center}.md .popover-on-middle.popover-on-left{transform-origin:right center}.md .popover-on-bottom{transform-origin:center top}.md .popover-on-bottom.popover-on-right{transform-origin:left top}.md .popover-on-bottom.popover-on-left{transform-origin:right top}
|
|
@@ -23,6 +23,8 @@ export namespace Popover {
|
|
|
23
23
|
el?: HTMLElement | CSSSelector;
|
|
24
24
|
/** Full Popover HTML layout string. Can be useful if you want to create Popover element dynamically. */
|
|
25
25
|
content?: string;
|
|
26
|
+
/** Enables Popover angle/corner. (default true) */
|
|
27
|
+
angle?: boolean;
|
|
26
28
|
/** Enables Popover backdrop (dark semi transparent layer behind). (default true) */
|
|
27
29
|
backdrop?: boolean;
|
|
28
30
|
/** Backdrop element to share across instances */
|
|
@@ -7,6 +7,7 @@ export default {
|
|
|
7
7
|
params: {
|
|
8
8
|
popover: {
|
|
9
9
|
verticalPosition: 'auto',
|
|
10
|
+
angle: true,
|
|
10
11
|
backdrop: true,
|
|
11
12
|
backdropEl: undefined,
|
|
12
13
|
backdropUnique: false,
|
|
@@ -19,7 +20,6 @@ export default {
|
|
|
19
20
|
static: {
|
|
20
21
|
Popover
|
|
21
22
|
},
|
|
22
|
-
|
|
23
23
|
create() {
|
|
24
24
|
const app = this;
|
|
25
25
|
app.popover = extend(ModalMethods({
|
|
@@ -29,48 +29,38 @@ export default {
|
|
|
29
29
|
}), {
|
|
30
30
|
open(popoverEl, targetEl, animate) {
|
|
31
31
|
let $popoverEl = $(popoverEl);
|
|
32
|
-
|
|
33
32
|
if ($popoverEl.length > 1) {
|
|
34
33
|
// check if same popover in other page
|
|
35
34
|
const $targetPage = $(targetEl).parents('.page');
|
|
36
|
-
|
|
37
35
|
if ($targetPage.length) {
|
|
38
36
|
$popoverEl.each(el => {
|
|
39
37
|
const $el = $(el);
|
|
40
|
-
|
|
41
38
|
if ($el.parents($targetPage)[0] === $targetPage[0]) {
|
|
42
39
|
$popoverEl = $el;
|
|
43
40
|
}
|
|
44
41
|
});
|
|
45
42
|
}
|
|
46
43
|
}
|
|
47
|
-
|
|
48
44
|
if ($popoverEl.length > 1) {
|
|
49
45
|
$popoverEl = $popoverEl.eq($popoverEl.length - 1);
|
|
50
46
|
}
|
|
51
|
-
|
|
52
47
|
let popover = $popoverEl[0].f7Modal;
|
|
53
48
|
const data = $popoverEl.dataset();
|
|
54
|
-
|
|
55
49
|
if (!popover) {
|
|
56
50
|
popover = new Popover(app, Object.assign({
|
|
57
51
|
el: $popoverEl,
|
|
58
52
|
targetEl
|
|
59
53
|
}, data));
|
|
60
54
|
}
|
|
61
|
-
|
|
62
55
|
return popover.open(targetEl, animate);
|
|
63
56
|
}
|
|
64
|
-
|
|
65
57
|
});
|
|
66
58
|
},
|
|
67
|
-
|
|
68
59
|
clicks: {
|
|
69
60
|
'.popover-open': function openPopover($clickedEl, data) {
|
|
70
61
|
if (data === void 0) {
|
|
71
62
|
data = {};
|
|
72
63
|
}
|
|
73
|
-
|
|
74
64
|
const app = this;
|
|
75
65
|
app.popover.open(data.popover, $clickedEl, data.animate);
|
|
76
66
|
},
|
|
@@ -78,7 +68,6 @@ export default {
|
|
|
78
68
|
if (data === void 0) {
|
|
79
69
|
data = {};
|
|
80
70
|
}
|
|
81
|
-
|
|
82
71
|
const app = this;
|
|
83
72
|
app.popover.close(data.popover, data.animate, $clickedEl);
|
|
84
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function framework7ComponentLoader(o,e){void 0===e&&(e=!0);var t=o.$,a=o.utils,r=o.getDevice,p=(o.getSupport,o.Class,o.Modal),s=(o.ConstructorMethods,o.ModalMethods),n=(o.$jsx,a.extend);class l extends p{constructor(o,e){const a=n({on:{}},o.params.popover,e);super(o,a);const p=this,s=r();let l;if(p.params=a,l=p.params.el?t(p.params.el).eq(0):t(p.params.content).filter((o=>1===o.nodeType)).eq(0),l&&l.length>0&&l[0].f7Modal)return l[0].f7Modal;const i=t(p.params.targetEl).eq(0);if(0===l.length)return p.destroy();let
|
|
1
|
+
(function framework7ComponentLoader(o,e){void 0===e&&(e=!0);var t=o.$,a=o.utils,r=o.getDevice,p=(o.getSupport,o.Class,o.Modal),s=(o.ConstructorMethods,o.ModalMethods),n=(o.$jsx,a.extend);class l extends p{constructor(o,e){const a=n({on:{}},o.params.popover,e);super(o,a);const p=this,s=r();let l;if(p.params=a,l=p.params.el?t(p.params.el).eq(0):t(p.params.content).filter((o=>1===o.nodeType)).eq(0),l&&l.length>0&&l[0].f7Modal)return l[0].f7Modal;const i=t(p.params.targetEl).eq(0);if(0===l.length)return p.destroy();let c;const d=p.params.backdrop&&o.$el.find(".popover.modal-in").filter((o=>o!==l[0])).length>0;let m;p.params.backdrop&&p.params.backdropEl?c=t(p.params.backdropEl):p.params.backdrop&&(p.params.backdropUnique||d?(c=t('<div class="popover-backdrop popover-backdrop-unique"></div>'),c[0].f7PopoverRef=p,p.$containerEl.append(c)):c=p.$containerEl.children(".popover-backdrop"),0===c.length&&(c=t('<div class="popover-backdrop"></div>'),p.$containerEl.append(c))),0===l.find(".popover-angle").length&&p.params.angle?(m=t('<div class="popover-angle"></div>'),l.prepend(m)):m=l.find(".popover-angle");const h=p.open;function f(){p.resize()}n(p,{app:o,$el:l,el:l[0],$targetEl:i,targetEl:i[0],$angleEl:m,angleEl:m[0],$backdropEl:c,backdropEl:c&&c[0],type:"popover",forceBackdropUnique:d,open(){for(var o=arguments.length,e=new Array(o),a=0;a<o;a++)e[a]=arguments[a];let[r,s]=e;return"boolean"==typeof e[0]&&([s,r]=e),r&&(p.$targetEl=t(r),p.targetEl=p.$targetEl[0]),h.call(p,s)}}),p.on("popoverOpen",(()=>{p.resize(),o.on("resize",f),t(window).on("keyboardDidShow keyboardDidHide",f),p.on("popoverClose popoverBeforeDestroy",(()=>{o.off("resize",f),t(window).off("keyboardDidShow keyboardDidHide",f)}))}));let v=null;function u(o){v=o.target}function g(o){const e=o.target,a=t(e);if(!(!s.desktop&&s.cordova&&(window.Keyboard&&window.Keyboard.isVisible||window.cordova.plugins&&window.cordova.plugins.Keyboard&&window.cordova.plugins.Keyboard.isVisible))&&0===a.closest(p.el).length)if(p.params.closeByBackdropClick&&p.params.backdrop&&p.backdropEl&&p.backdropEl===e&&v===e)p.close();else if(p.params.closeByOutsideClick&&v===e){const o=a.hasClass("popover-backdrop-unique")&&e.f7PopoverRef!==p||a.hasClass("popover-backdrop")&&e!==p.backdropEl,t=e.closest(".popover")&&e.closest(".popover")!==p.$el[0];o||t||p.close()}}function k(o){27===o.keyCode&&p.params.closeOnEscape&&p.close()}return p.params.closeOnEscape&&(p.on("popoverOpen",(()=>{t(document).on("keydown",k)})),p.on("popoverClose",(()=>{t(document).off("keydown",k)}))),p.on("popoverOpened",(()=>{(p.params.closeByOutsideClick||p.params.closeByBackdropClick)&&(o.on("touchstart",u),o.on("click",g))})),p.on("popoverClose",(()=>{(p.params.closeByOutsideClick||p.params.closeByBackdropClick)&&(o.off("touchstart",u),o.off("click",g))})),l[0].f7Modal=p,p}resize(){const o=this,{app:e,$el:a,$targetEl:r,$angleEl:p}=o,{targetX:s,targetY:n,verticalPosition:l}=o.params;a.css({left:"",top:""});const[i,c]=[a.width(),a.height()];let d,m,h=0;const f=p.length>0,v="ios"===e.theme?13:24;let u,g,k,b;f&&(p.removeClass("on-left on-right on-top on-bottom").css({left:"",top:""}),h=p.width()/2),a.removeClass("popover-on-left popover-on-right popover-on-top popover-on-bottom popover-on-middle").css({left:"",top:""});let w=parseInt(t("html").css("--f7-safe-area-top"),10),y=parseInt(t("html").css("--f7-safe-area-left"),10),E=parseInt(t("html").css("--f7-safe-area-right"),10);if(Number.isNaN(w)&&(w=0),Number.isNaN(y)&&(y=0),Number.isNaN(E)&&(E=0),r&&r.length>0){u=r.outerWidth(),g=r.outerHeight();const o=r.offset();k=o.left-e.left,b=o.top-e.top;const t=r.parents(".page");t.length>0&&(b-=t[0].scrollTop)}else void 0!==s&&"undefined"!==n&&(k=s,b=n,u=o.params.targetWidth||0,g=o.params.targetHeight||0);let[C,$,M]=[0,0,0];const B="auto"!==l&&l;let x,O=B||"top";"top"===B||!B&&c+h<b-w?$=b-c-h:"bottom"===B||!B&&c+h<e.height-b-g?(O="bottom",$=b+g+h):(O="middle",$=g/2+b-c/2,M=$,$=Math.max(5,Math.min($,e.height-c-5)),M-=$),"top"===O||"bottom"===O?(C=u/2+k-i/2,M=C,C=Math.max(5,Math.min(C,e.width-i-5)),y&&(C=Math.max(C,y)),E&&C+i>e.width-5-E&&(C=e.width-5-E-i),M-=C,f&&("top"===O&&p.addClass("on-bottom"),"bottom"===O&&p.addClass("on-top"),d=i/2-h+M,d=Math.max(Math.min(d,i-2*h-v),v),p.css({left:`${d}px`}))):"middle"===O&&(C=k-i-h,f&&p.addClass("on-right"),(C<5||C+i+E>e.width||C<y)&&(C<5&&(C=k+u+h),C+i+E>e.width&&(C=e.width-i-5-E),C<y&&(C=y),f&&p.removeClass("on-right").addClass("on-left")),f&&(m=c/2-h+M,m=Math.max(Math.min(m,c-2*h-v),v),p.css({top:`${m}px`}))),x=k<e.width/2?"right":"left",a.addClass(`popover-on-${O} popover-on-${x}`),a.css({top:`${$}px`,left:`${C}px`})}}var i={name:"popover",params:{popover:{verticalPosition:"auto",angle:!0,backdrop:!0,backdropEl:void 0,backdropUnique:!1,closeByBackdropClick:!0,closeByOutsideClick:!0,closeOnEscape:!1,containerEl:null}},static:{Popover:l},create(){const o=this;o.popover=n(s({app:o,constructor:l,defaultSelector:".popover.modal-in"}),{open(e,a,r){let p=t(e);if(p.length>1){const o=t(a).parents(".page");o.length&&p.each((e=>{const a=t(e);a.parents(o)[0]===o[0]&&(p=a)}))}p.length>1&&(p=p.eq(p.length-1));let s=p[0].f7Modal;const n=p.dataset();return s||(s=new l(o,Object.assign({el:p,targetEl:a},n))),s.open(a,r)}})},clicks:{".popover-open":function(o,e){void 0===e&&(e={});this.popover.open(e.popover,o,e.animate)},".popover-close":function(o,e){void 0===e&&(e={});this.popover.close(e.popover,e.animate,o)}}};if(e){if(o.prototype.modules&&o.prototype.modules[i.name])return;o.use(i),o.instance&&(o.instance.useModuleParams(i,o.instance.params),o.instance.useModule(i))}return i}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|