framework7 7.0.0-beta.2 → 7.0.0-beta.20
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 -2
- package/components/accordion/{accordion.umd.js → accordion.lazy.js} +1 -1
- package/components/actions/actions-class.js +11 -6
- package/components/actions/actions-rtl.css +1 -1
- package/components/actions/actions.css +1 -1
- package/components/actions/actions.d.ts +2 -0
- package/components/actions/actions.js +13 -4
- package/components/actions/actions.lazy.js +1 -0
- package/components/actions/actions.less +3 -0
- package/components/app/app-class.d.ts +10 -10
- package/components/app/app-class.js +43 -37
- package/components/app/app.less +3 -3
- package/components/app/load-module.js +4 -4
- package/components/appbar/{appbar.umd.js → appbar.lazy.js} +0 -0
- package/components/area-chart/area-chart-class.js +38 -22
- 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 +3 -3
- package/components/area-chart/area-chart.lazy.js +1 -0
- package/components/autocomplete/autocomplete-class.js +10 -6
- package/components/autocomplete/autocomplete-rtl.css +1 -1
- package/components/autocomplete/autocomplete.css +1 -1
- package/components/autocomplete/autocomplete.js +3 -3
- package/components/autocomplete/autocomplete.lazy.js +1 -0
- package/components/breadcrumbs/breadcrumbs-aurora.less +2 -0
- package/components/breadcrumbs/breadcrumbs-ios.less +2 -0
- package/components/breadcrumbs/breadcrumbs-md.less +2 -0
- package/components/breadcrumbs/breadcrumbs-rtl.css +1 -0
- package/components/breadcrumbs/breadcrumbs-vars.less +36 -0
- package/components/breadcrumbs/breadcrumbs.css +1 -0
- package/components/breadcrumbs/breadcrumbs.d.ts +15 -0
- package/components/breadcrumbs/breadcrumbs.js +13 -0
- package/components/breadcrumbs/breadcrumbs.lazy.js +1 -0
- package/components/breadcrumbs/breadcrumbs.less +100 -0
- package/components/calendar/calendar-class.js +222 -130
- package/components/calendar/calendar-rtl.css +1 -1
- package/components/calendar/calendar-vars.less +6 -10
- package/components/calendar/calendar.css +1 -1
- package/components/calendar/calendar.d.ts +2 -0
- package/components/calendar/calendar.js +9 -4
- package/components/calendar/calendar.lazy.js +1 -0
- package/components/calendar/calendar.less +20 -16
- package/components/card/card-rtl.css +1 -1
- package/components/card/card.css +1 -1
- package/components/card/card.js +27 -7
- package/components/card/card.lazy.js +1 -0
- package/components/checkbox/checkbox-rtl.css +1 -1
- package/components/checkbox/checkbox.css +1 -1
- package/components/checkbox/{checkbox.umd.js → checkbox.lazy.js} +0 -0
- package/components/chip/chip-rtl.css +1 -1
- package/components/chip/chip.css +1 -1
- package/components/chip/{chip.umd.js → chip.lazy.js} +0 -0
- package/components/color-picker/color-picker-class.js +37 -21
- 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 +8 -4
- package/components/color-picker/{color-picker.umd.js → color-picker.lazy.js} +1 -1
- package/components/color-picker/modules/alpha-slider.js +1 -1
- package/components/color-picker/modules/brightness-slider.js +2 -2
- package/components/color-picker/modules/current-color.js +1 -1
- package/components/color-picker/modules/hex.js +1 -1
- package/components/color-picker/modules/hs-spectrum.js +4 -4
- package/components/color-picker/modules/hsb-sliders.js +3 -3
- package/components/color-picker/modules/hue-slider.js +1 -1
- package/components/color-picker/modules/initial-current-colors.js +1 -1
- package/components/color-picker/modules/palette.js +2 -2
- package/components/color-picker/modules/rgb-bars.js +2 -2
- package/components/color-picker/modules/rgb-sliders.js +2 -2
- package/components/color-picker/modules/sb-spectrum.js +3 -3
- package/components/color-picker/modules/wheel.js +3 -3
- 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.umd.js → contacts-list.lazy.js} +0 -0
- package/components/data-table/data-table-class.js +8 -4
- 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 +3 -3
- package/components/data-table/data-table.lazy.js +1 -0
- package/components/dialog/dialog-class.js +5 -5
- package/components/dialog/dialog-rtl.css +1 -1
- package/components/dialog/dialog.css +1 -1
- package/components/dialog/dialog.js +33 -9
- package/components/dialog/dialog.lazy.js +1 -0
- package/components/elevation/{elevation.umd.js → elevation.lazy.js} +0 -0
- package/components/fab/fab-rtl.css +1 -1
- package/components/fab/fab.css +1 -1
- package/components/fab/fab.js +17 -5
- package/components/fab/fab.lazy.js +1 -0
- package/components/form/form.js +2 -2
- package/components/form/{form.umd.js → form.lazy.js} +1 -1
- package/components/gauge/gauge-class.js +14 -6
- package/components/gauge/gauge.d.ts +2 -2
- package/components/gauge/gauge.js +4 -4
- package/components/gauge/gauge.lazy.js +1 -0
- package/components/grid/grid-rtl.css +1 -1
- package/components/grid/grid.css +1 -1
- package/components/grid/grid.js +2 -2
- package/components/grid/{grid.umd.js → grid.lazy.js} +0 -0
- package/components/infinite-scroll/infinite-scroll.js +2 -2
- package/components/infinite-scroll/{infinite-scroll.umd.js → infinite-scroll.lazy.js} +0 -0
- package/components/input/input-rtl.css +1 -1
- package/components/input/input.css +1 -1
- package/components/input/input.js +8 -4
- package/components/input/input.lazy.js +1 -0
- package/components/input/input.less +1 -1
- package/components/lazy/lazy.js +3 -3
- package/components/lazy/{lazy.umd.js → lazy.lazy.js} +0 -0
- package/components/list-index/list-index-class.js +9 -5
- package/components/list-index/list-index.d.ts +1 -1
- package/components/list-index/list-index.js +4 -4
- package/components/list-index/list-index.lazy.js +1 -0
- package/components/login-screen/login-screen-class.js +3 -3
- 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 +12 -4
- package/components/login-screen/login-screen.lazy.js +1 -0
- package/components/login-screen/login-screen.less +1 -1
- package/components/menu/menu.js +12 -4
- package/components/menu/menu.lazy.js +1 -0
- package/components/messagebar/messagebar-class.js +28 -8
- package/components/messagebar/messagebar-rtl.css +1 -1
- package/components/messagebar/messagebar.css +1 -1
- package/components/messagebar/messagebar.js +4 -4
- package/components/messagebar/messagebar.lazy.js +1 -0
- package/components/messages/messages-class.js +64 -28
- package/components/messages/messages-rtl.css +1 -1
- package/components/messages/messages.css +1 -1
- package/components/messages/messages.js +3 -3
- package/components/messages/messages.lazy.js +1 -0
- package/components/modal/custom-modal-class.js +3 -3
- package/components/modal/modal-class.js +13 -3
- package/components/modal/modal.js +2 -2
- package/components/navbar/navbar.js +29 -5
- package/components/notification/notification-aurora.less +1 -1
- package/components/notification/notification-class.js +4 -4
- 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.d.ts +4 -4
- package/components/notification/notification.js +3 -3
- package/components/notification/{notification.umd.js → notification.lazy.js} +0 -0
- package/components/page/page-vars.less +1 -1
- package/components/panel/panel-class.js +40 -12
- package/components/panel/panel.js +43 -11
- package/components/panel/panel.lazy.js +1 -0
- package/components/panel/resizable-panel.js +3 -3
- package/components/panel/swipe-panel.js +2 -2
- package/components/photo-browser/photo-browser-class.js +46 -12
- package/components/photo-browser/photo-browser.js +2 -2
- package/components/photo-browser/photo-browser.lazy.js +1 -0
- package/components/picker/picker-class.js +17 -13
- package/components/picker/picker-column.js +35 -271
- package/components/picker/picker-rtl.css +1 -1
- package/components/picker/picker.css +1 -1
- package/components/picker/picker.d.ts +2 -13
- package/components/picker/picker.js +8 -9
- package/components/picker/picker.lazy.js +1 -0
- package/components/picker/picker.less +28 -10
- package/components/pie-chart/pie-chart-class.js +20 -11
- package/components/pie-chart/pie-chart.js +3 -3
- package/components/pie-chart/pie-chart.lazy.js +1 -0
- package/components/popover/popover-class.js +24 -7
- package/components/popover/popover-rtl.css +1 -1
- package/components/popover/popover.css +1 -1
- package/components/popover/popover.d.ts +2 -0
- package/components/popover/popover.js +15 -6
- package/components/popover/popover.lazy.js +1 -0
- package/components/popover/popover.less +3 -0
- package/components/popup/popup-class.js +11 -6
- package/components/popup/popup-rtl.css +1 -1
- package/components/popup/popup.css +1 -1
- package/components/popup/popup.d.ts +4 -0
- package/components/popup/popup.js +13 -4
- package/components/popup/popup.lazy.js +1 -0
- package/components/popup/popup.less +25 -21
- package/components/preloader/preloader-ios.less +3 -0
- package/components/preloader/preloader-rtl.css +1 -1
- package/components/preloader/preloader.css +1 -1
- package/components/preloader/preloader.d.ts +4 -0
- package/components/preloader/preloader.js +12 -4
- package/components/preloader/preloader.lazy.js +1 -0
- package/components/progressbar/progressbar-aurora.less +32 -13
- package/components/progressbar/progressbar-ios.less +19 -7
- package/components/progressbar/progressbar-md.less +64 -28
- package/components/progressbar/progressbar-rtl.css +1 -1
- package/components/progressbar/progressbar.css +1 -1
- package/components/progressbar/progressbar.js +19 -6
- package/components/progressbar/progressbar.lazy.js +1 -0
- package/components/progressbar/progressbar.less +16 -4
- package/components/pull-to-refresh/pull-to-refresh-class.js +10 -6
- package/components/pull-to-refresh/pull-to-refresh.js +4 -4
- package/components/pull-to-refresh/pull-to-refresh.lazy.js +1 -0
- package/components/radio/radio-rtl.css +1 -1
- package/components/radio/radio.css +1 -1
- package/components/radio/{radio.umd.js → radio.lazy.js} +0 -0
- package/components/range/range-class.js +4 -4
- package/components/range/range.d.ts +23 -5
- package/components/range/range.js +14 -6
- package/components/range/{range.umd.js → range.lazy.js} +1 -1
- package/components/searchbar/searchbar-class.js +11 -7
- package/components/searchbar/searchbar-rtl.css +1 -1
- package/components/searchbar/searchbar.css +1 -1
- package/components/searchbar/searchbar.js +24 -8
- package/components/searchbar/searchbar.lazy.js +1 -0
- package/components/searchbar/searchbar.less +1 -1
- package/components/sheet/sheet-class.js +26 -7
- package/components/sheet/sheet-rtl.css +1 -1
- package/components/sheet/sheet.css +1 -1
- package/components/sheet/sheet.d.ts +2 -0
- package/components/sheet/sheet.js +15 -6
- package/components/sheet/sheet.lazy.js +1 -0
- package/components/sheet/sheet.less +19 -16
- 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.umd.js → skeleton.lazy.js} +0 -0
- package/components/smart-select/smart-select-class.js +19 -7
- package/components/smart-select/smart-select.js +4 -4
- package/components/smart-select/smart-select.lazy.js +1 -0
- package/components/sortable/sortable-rtl.css +1 -1
- package/components/sortable/sortable.css +1 -1
- package/components/sortable/sortable.d.ts +5 -1
- package/components/sortable/sortable.js +48 -11
- package/components/sortable/sortable.lazy.js +1 -0
- package/components/statusbar/statusbar.d.ts +9 -9
- package/components/statusbar/statusbar.js +8 -4
- package/components/stepper/stepper-class.js +3 -3
- package/components/stepper/stepper.js +14 -6
- package/components/stepper/{stepper.umd.js → stepper.lazy.js} +1 -1
- package/components/subnavbar/subnavbar.js +1 -1
- package/components/swipeout/swipeout-rtl.css +1 -1
- package/components/swipeout/swipeout.css +1 -1
- package/components/swipeout/swipeout.js +19 -6
- package/components/swipeout/{swipeout.umd.js → swipeout.lazy.js} +1 -1
- package/components/swiper/swiper-rtl.css +1 -1
- package/components/swiper/swiper.css +1 -1
- package/components/swiper/swiper.js +2 -2
- package/components/swiper/swiper.lazy.js +1 -0
- package/components/tabs/tabs.js +16 -9
- package/components/tabs/tabs.lazy.js +1 -0
- package/components/text-editor/text-editor-class.js +5 -5
- 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 +4 -4
- package/components/text-editor/{text-editor.umd.js → text-editor.lazy.js} +1 -1
- package/components/timeline/timeline-rtl.css +1 -1
- package/components/timeline/timeline.css +1 -1
- package/components/timeline/{timeline.umd.js → timeline.lazy.js} +0 -0
- package/components/toast/toast-class.js +4 -4
- package/components/toast/toast.d.ts +2 -2
- package/components/toast/toast.js +3 -3
- package/components/toast/{toast.umd.js → toast.lazy.js} +0 -0
- package/components/toggle/toggle-class.js +9 -5
- package/components/toggle/toggle-rtl.css +1 -1
- package/components/toggle/toggle.css +1 -1
- package/components/toggle/toggle.js +3 -3
- package/components/toggle/toggle.lazy.js +1 -0
- package/components/toolbar/toolbar-aurora.less +0 -13
- package/components/toolbar/toolbar-md.less +0 -13
- package/components/toolbar/toolbar.js +13 -5
- package/components/toolbar/toolbar.less +13 -0
- package/components/tooltip/tooltip-class.js +9 -5
- package/components/tooltip/tooltip.js +3 -3
- package/components/tooltip/tooltip.lazy.js +1 -0
- package/components/touch-ripple/touch-ripple-class.js +1 -1
- package/components/touch-ripple/touch-ripple-vars.less +1 -1
- package/components/touch-ripple/touch-ripple.js +6 -2
- package/components/treeview/treeview-rtl.css +1 -1
- package/components/treeview/treeview.css +1 -1
- package/components/treeview/treeview.js +2 -2
- package/components/treeview/{treeview.umd.js → treeview.lazy.js} +1 -1
- package/components/typography/{typography.umd.js → typography.lazy.js} +0 -0
- package/components/view/resizable-view.js +3 -3
- package/components/view/view-class.js +18 -7
- package/components/view/view.d.ts +5 -1
- package/components/view/view.js +5 -3
- package/components/virtual-list/virtual-list-class.js +58 -13
- package/components/virtual-list/virtual-list.d.ts +2 -2
- package/components/virtual-list/virtual-list.js +2 -2
- package/components/virtual-list/virtual-list.lazy.js +1 -0
- package/framework7-bundle-rtl.css +513 -411
- package/framework7-bundle-rtl.min.css +4 -4
- package/framework7-bundle.css +498 -395
- package/framework7-bundle.esm.js +87 -86
- package/framework7-bundle.js +2728 -1257
- package/framework7-bundle.js.map +1 -1
- package/framework7-bundle.less +4 -3
- package/framework7-bundle.min.css +4 -4
- package/framework7-bundle.min.js +4 -4
- package/framework7-bundle.min.js.map +1 -1
- package/framework7-lite-bundle.esm.js +81 -80
- package/framework7-lite.esm.js +27 -27
- package/framework7-rtl.css +61 -70
- package/framework7-rtl.min.css +4 -4
- package/framework7-types.d.ts +5 -1
- package/framework7.css +60 -68
- package/framework7.d.ts +4 -0
- package/framework7.esm.js +30 -30
- package/framework7.js +675 -255
- package/framework7.js.map +1 -1
- package/framework7.less +3 -3
- package/framework7.min.css +4 -4
- package/framework7.min.js +4 -4
- package/framework7.min.js.map +1 -1
- package/less/mixins.less +2 -2
- package/modules/clicks/clicks.js +2 -2
- package/modules/component/$h.js +6 -2
- package/modules/component/$jsx.js +6 -2
- package/modules/component/component-class.js +40 -27
- package/modules/component/component.d.ts +2 -2
- package/modules/component/component.js +11 -10
- package/modules/component/eventslisteners.js +6 -2
- package/modules/component/parse-component.js +2 -2
- package/modules/component/patch.js +5 -5
- package/modules/component/snabbdom/h.js +2 -2
- package/modules/component/snabbdom/snabbdom.bundle.js +7 -7
- package/modules/component/snabbdom/snabbdom.js +3 -3
- package/modules/component/snabbdom/thunk.js +1 -1
- package/modules/component/snabbdom/tovnode.js +2 -2
- package/modules/component/vdom.js +35 -20
- package/modules/device/device.js +2 -2
- package/modules/history/history.js +1 -1
- package/modules/request/request.js +1 -1
- package/modules/resize/resize.js +1 -1
- package/modules/router/back.js +24 -14
- package/modules/router/clear-previous-history.js +2 -2
- package/modules/router/component-loader.js +81 -24
- package/modules/router/modal.js +8 -4
- package/modules/router/navigate.js +25 -55
- package/modules/router/redirect.js +6 -2
- package/modules/router/router-class.js +50 -21
- package/modules/router/router.js +1 -1
- package/modules/router/swipe-back.js +12 -11
- package/modules/router/tab.js +10 -6
- package/modules/service-worker/service-worker.js +1 -1
- package/modules/store/create-store.js +11 -3
- package/modules/store/store.js +1 -1
- package/modules/support/support.js +1 -1
- package/modules/touch/touch.js +4 -4
- package/modules/utils/utils.js +1 -1
- package/package.json +12 -6
- package/shared/$jsx.js +6 -1
- package/shared/class.js +35 -7
- package/shared/constructor-methods.js +26 -5
- package/shared/events-class.js +15 -3
- package/shared/get-device.d.ts +0 -2
- package/shared/get-device.js +11 -7
- package/shared/history.js +2 -2
- package/shared/modal-methods.js +13 -5
- package/shared/request.js +46 -8
- package/shared/utils.js +47 -10
- package/components/actions/actions.umd.js +0 -1
- package/components/area-chart/area-chart.umd.js +0 -1
- package/components/autocomplete/autocomplete.umd.js +0 -1
- package/components/calendar/calendar.umd.js +0 -1
- package/components/card/card.umd.js +0 -1
- package/components/data-table/data-table.umd.js +0 -1
- package/components/dialog/dialog.umd.js +0 -1
- package/components/fab/fab.umd.js +0 -1
- package/components/gauge/gauge.umd.js +0 -1
- package/components/input/input.umd.js +0 -1
- package/components/list-index/list-index.umd.js +0 -1
- package/components/login-screen/login-screen.umd.js +0 -1
- package/components/menu/menu.umd.js +0 -1
- package/components/messagebar/messagebar.umd.js +0 -1
- package/components/messages/messages.umd.js +0 -1
- package/components/panel/panel.umd.js +0 -1
- package/components/photo-browser/photo-browser.umd.js +0 -1
- package/components/picker/picker.umd.js +0 -1
- package/components/pie-chart/pie-chart.umd.js +0 -1
- package/components/popover/popover.umd.js +0 -1
- package/components/popup/popup.umd.js +0 -1
- package/components/preloader/preloader.umd.js +0 -1
- package/components/progressbar/progressbar.umd.js +0 -1
- package/components/pull-to-refresh/pull-to-refresh.umd.js +0 -1
- package/components/searchbar/searchbar.umd.js +0 -1
- package/components/sheet/sheet.umd.js +0 -1
- package/components/smart-select/smart-select.umd.js +0 -1
- package/components/sortable/sortable.umd.js +0 -1
- package/components/swiper/swiper.umd.js +0 -1
- package/components/tabs/tabs.umd.js +0 -1
- package/components/toggle/toggle.umd.js +0 -1
- package/components/tooltip/tooltip.umd.js +0 -1
- package/components/virtual-list/virtual-list.umd.js +0 -1
|
@@ -34,20 +34,39 @@
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
|
|
38
|
-
@keyframes aurora-progressbar-infinite {
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
.ltr({
|
|
38
|
+
@keyframes aurora-progressbar-infinite {
|
|
39
|
+
0% {
|
|
40
|
+
transform: translate3d(-100%, 0, 0);
|
|
41
|
+
}
|
|
42
|
+
100% {
|
|
43
|
+
transform: translate3d(100%, 0, 0);
|
|
44
|
+
}
|
|
41
45
|
}
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
@keyframes aurora-progressbar-infinite-multicolor {
|
|
47
|
+
0% {
|
|
48
|
+
transform: translate3d(0%, 0, 0);
|
|
49
|
+
}
|
|
50
|
+
100% {
|
|
51
|
+
transform: translate3d(-50%, 0, 0);
|
|
52
|
+
}
|
|
44
53
|
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
54
|
+
});
|
|
55
|
+
.rtl({
|
|
56
|
+
@keyframes aurora-progressbar-infinite {
|
|
57
|
+
0% {
|
|
58
|
+
transform: translate3d(100%, 0, 0);
|
|
59
|
+
}
|
|
60
|
+
100% {
|
|
61
|
+
transform: translate3d(-100%, 0, 0);
|
|
62
|
+
}
|
|
49
63
|
}
|
|
50
|
-
|
|
51
|
-
|
|
64
|
+
@keyframes aurora-progressbar-infinite-multicolor {
|
|
65
|
+
0% {
|
|
66
|
+
transform: translate3d(0%, 0, 0);
|
|
67
|
+
}
|
|
68
|
+
100% {
|
|
69
|
+
transform: translate3d(50%, 0, 0);
|
|
70
|
+
}
|
|
52
71
|
}
|
|
53
|
-
}
|
|
72
|
+
});
|
|
@@ -28,15 +28,27 @@
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
@keyframes ios-progressbar-infinite {
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
.ltr({
|
|
32
|
+
@keyframes ios-progressbar-infinite {
|
|
33
|
+
0% {
|
|
34
|
+
transform: translate3d(-100%, 0, 0);
|
|
35
|
+
}
|
|
36
|
+
100% {
|
|
37
|
+
transform: translate3d(100%, 0, 0);
|
|
38
|
+
}
|
|
35
39
|
}
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
});
|
|
41
|
+
.rtl({
|
|
42
|
+
@keyframes ios-progressbar-infinite {
|
|
43
|
+
0% {
|
|
44
|
+
transform: translate3d(100%, 0, 0);
|
|
45
|
+
}
|
|
46
|
+
100% {
|
|
47
|
+
transform: translate3d(-100%, 0, 0);
|
|
48
|
+
}
|
|
38
49
|
}
|
|
39
|
-
}
|
|
50
|
+
});
|
|
51
|
+
|
|
40
52
|
@keyframes ios-progressbar-infinite-multicolor {
|
|
41
53
|
0% {
|
|
42
54
|
transform: translate3d(0%, 0, 0);
|
|
@@ -22,38 +22,74 @@
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
@keyframes md-progressbar-infinite-2 {
|
|
41
|
-
0% {
|
|
42
|
-
transform: translateX(-100%) scaleX(1);
|
|
43
|
-
}
|
|
44
|
-
40% {
|
|
45
|
-
transform: translateX(-100%) scaleX(1);
|
|
25
|
+
.ltr({
|
|
26
|
+
@keyframes md-progressbar-infinite-1 {
|
|
27
|
+
0% {
|
|
28
|
+
transform: translateX(-10%) scaleX(0.1);
|
|
29
|
+
}
|
|
30
|
+
25% {
|
|
31
|
+
transform: translateX(30%) scaleX(0.6);
|
|
32
|
+
}
|
|
33
|
+
50% {
|
|
34
|
+
transform: translateX(100%) scaleX(1);
|
|
35
|
+
}
|
|
36
|
+
100% {
|
|
37
|
+
transform: translateX(100%) scaleX(1);
|
|
38
|
+
}
|
|
46
39
|
}
|
|
47
|
-
|
|
48
|
-
|
|
40
|
+
@keyframes md-progressbar-infinite-2 {
|
|
41
|
+
0% {
|
|
42
|
+
transform: translateX(-100%) scaleX(1);
|
|
43
|
+
}
|
|
44
|
+
40% {
|
|
45
|
+
transform: translateX(-100%) scaleX(1);
|
|
46
|
+
}
|
|
47
|
+
75% {
|
|
48
|
+
transform: translateX(60%) scaleX(0.35);
|
|
49
|
+
}
|
|
50
|
+
90% {
|
|
51
|
+
transform: translateX(100%) scaleX(0.1);
|
|
52
|
+
}
|
|
53
|
+
100% {
|
|
54
|
+
transform: translateX(100%) scaleX(0.1);
|
|
55
|
+
}
|
|
49
56
|
}
|
|
50
|
-
|
|
51
|
-
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
.rtl({
|
|
60
|
+
@keyframes md-progressbar-infinite-1 {
|
|
61
|
+
0% {
|
|
62
|
+
transform: translateX(10%) scaleX(0.1);
|
|
63
|
+
}
|
|
64
|
+
25% {
|
|
65
|
+
transform: translateX(-30%) scaleX(0.6);
|
|
66
|
+
}
|
|
67
|
+
50% {
|
|
68
|
+
transform: translateX(-100%) scaleX(1);
|
|
69
|
+
}
|
|
70
|
+
100% {
|
|
71
|
+
transform: translateX(-100%) scaleX(1);
|
|
72
|
+
}
|
|
52
73
|
}
|
|
53
|
-
|
|
54
|
-
|
|
74
|
+
@keyframes md-progressbar-infinite-2 {
|
|
75
|
+
0% {
|
|
76
|
+
transform: translateX(100%) scaleX(1);
|
|
77
|
+
}
|
|
78
|
+
40% {
|
|
79
|
+
transform: translateX(100%) scaleX(1);
|
|
80
|
+
}
|
|
81
|
+
75% {
|
|
82
|
+
transform: translateX(-60%) scaleX(0.35);
|
|
83
|
+
}
|
|
84
|
+
90% {
|
|
85
|
+
transform: translateX(-100%) scaleX(0.1);
|
|
86
|
+
}
|
|
87
|
+
100% {
|
|
88
|
+
transform: translateX(-100%) scaleX(0.1);
|
|
89
|
+
}
|
|
55
90
|
}
|
|
56
|
-
}
|
|
91
|
+
});
|
|
92
|
+
|
|
57
93
|
@keyframes md-progressbar-infinite-multicolor-bg {
|
|
58
94
|
0% {
|
|
59
95
|
background-color: @green;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ios{--f7-progressbar-height:4px;--f7-progressbar-border-radius:4px;--f7-progressbar-bg-color:rgba(0, 0, 0, 0.3)}.ios .
|
|
1
|
+
.ios{--f7-progressbar-height:4px;--f7-progressbar-border-radius:4px;--f7-progressbar-bg-color:rgba(0, 0, 0, 0.3)}.ios .dark,.ios.dark{--f7-progressbar-bg-color:rgba(255, 255, 255, 0.3)}.md{--f7-progressbar-height:4px;--f7-progressbar-border-radius:0px}.aurora{--f7-progressbar-height:6px;--f7-progressbar-border-radius:3px;--f7-progressbar-bg-color:#dbdbdb}.aurora .dark,.aurora.dark{--f7-progressbar-bg-color:#444}.progressbar,.progressbar-infinite{width:100%;overflow:hidden;position:relative;display:block;transform-style:preserve-3d;background:var(--f7-progressbar-bg-color,rgba(var(--f7-theme-color-rgb),.5));transform-origin:center top;height:var(--f7-progressbar-height);border-radius:var(--f7-progressbar-border-radius)}.progressbar{vertical-align:middle}.progressbar span{background-color:var(--f7-progressbar-progress-color,var(--f7-theme-color));width:100%;height:100%;position:absolute;top:0;transition-duration:150ms;right:0;transform:translate3d(100%,0,0)}.progressbar-infinite{z-index:15000}.progressbar-infinite:after,.progressbar-infinite:before{content:'';position:absolute;top:0;width:100%;height:100%;transform:translate3d(0,0,0);display:block;background-color:var(--f7-progressbar-progress-color,var(--f7-theme-color));right:0;transform-origin:right center}.progressbar-infinite.color-multi{background:0 0!important}.progressbar-in{animation:progressbar-in 150ms forwards}.progressbar-out{animation:progressbar-out 150ms forwards}.framework7-root>.progressbar,.framework7-root>.progressbar-infinite,.page>.progressbar,.page>.progressbar-infinite,.panel>.progressbar,.panel>.progressbar-infinite,.popup>.progressbar,.popup>.progressbar-infinite,.view>.progressbar,.view>.progressbar-infinite,.views>.progressbar,.views>.progressbar-infinite,body>.progressbar,body>.progressbar-infinite{position:absolute;left:0;top:0;z-index:15000;border-radius:0!important;transform-origin:center top!important}@keyframes progressbar-in{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes progressbar-out{from{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(0)}}.ios .progressbar-infinite:before{animation:ios-progressbar-infinite 1s linear infinite}.ios .progressbar-infinite:after{display:none}.ios .progressbar-infinite.color-multi:before{width:400%;background-image:linear-gradient(to right,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55,#5856d6,#34aadc,#007aff,#5ac8fa,#4cd964);background-size:25% 100%;background-repeat:repeat-x;animation:ios-progressbar-infinite-multicolor 3s linear infinite}@keyframes ios-progressbar-infinite{0%{transform:translate3d(100%,0,0)}100%{transform:translate3d(-100%,0,0)}}@keyframes ios-progressbar-infinite-multicolor{0%{transform:translate3d(0%,0,0)}100%{transform:translate3d(-50%,0,0)}}.md .progressbar-infinite:before{animation:md-progressbar-infinite-1 2s linear infinite}.md .progressbar-infinite:after{animation:md-progressbar-infinite-2 2s linear infinite}.md .progressbar-infinite.color-multi:before{background:0 0;animation:md-progressbar-infinite-multicolor-bg 3s step-end infinite}.md .progressbar-infinite.color-multi:after{background:0 0;animation:md-progressbar-infinite-multicolor-fill 3s linear infinite;transform-origin:center center}@keyframes md-progressbar-infinite-1{0%{transform:translateX(10%) scaleX(.1)}25%{transform:translateX(-30%) scaleX(.6)}50%{transform:translateX(-100%) scaleX(1)}100%{transform:translateX(-100%) scaleX(1)}}@keyframes md-progressbar-infinite-2{0%{transform:translateX(100%) scaleX(1)}40%{transform:translateX(100%) scaleX(1)}75%{transform:translateX(-60%) scaleX(.35)}90%{transform:translateX(-100%) scaleX(.1)}100%{transform:translateX(-100%) scaleX(.1)}}@keyframes md-progressbar-infinite-multicolor-bg{0%{background-color:#4caf50}25%{background-color:#f44336}50%{background-color:#2196f3}75%{background-color:#ffeb3b}}@keyframes md-progressbar-infinite-multicolor-fill{0%{transform:scaleX(0);background-color:#f44336}24.9%{transform:scaleX(1);background-color:#f44336}25%{transform:scaleX(0);background-color:#2196f3}49.9%{transform:scaleX(1);background-color:#2196f3}50%{transform:scaleX(0);background-color:#ffeb3b}74.9%{transform:scaleX(1);background-color:#ffeb3b}75%{transform:scaleX(0);background-color:#4caf50}100%{transform:scaleX(1);background-color:#4caf50}}.aurora .progressbar,.aurora .progressbar span,.aurora .progressbar-infinite,.aurora .progressbar-infinite:before{box-shadow:0px 0px 0px 1px rgba(0,0,0,.05) inset}.aurora .progressbar-infinite:before{animation:aurora-progressbar-infinite 1s linear infinite}.aurora .progressbar-infinite:after{display:none}.aurora .progressbar-infinite.color-multi:before{width:400%;background-image:linear-gradient(to right,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55,#5856d6,#34aadc,#007aff,#5ac8fa,#4cd964);background-size:25% 100%;background-repeat:repeat-x;animation:aurora-progressbar-infinite-multicolor 3s linear infinite}@keyframes aurora-progressbar-infinite{0%{transform:translate3d(100%,0,0)}100%{transform:translate3d(-100%,0,0)}}@keyframes aurora-progressbar-infinite-multicolor{0%{transform:translate3d(0%,0,0)}100%{transform:translate3d(50%,0,0)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ios{--f7-progressbar-height:4px;--f7-progressbar-border-radius:4px;--f7-progressbar-bg-color:rgba(0, 0, 0, 0.3)}.ios .
|
|
1
|
+
.ios{--f7-progressbar-height:4px;--f7-progressbar-border-radius:4px;--f7-progressbar-bg-color:rgba(0, 0, 0, 0.3)}.ios .dark,.ios.dark{--f7-progressbar-bg-color:rgba(255, 255, 255, 0.3)}.md{--f7-progressbar-height:4px;--f7-progressbar-border-radius:0px}.aurora{--f7-progressbar-height:6px;--f7-progressbar-border-radius:3px;--f7-progressbar-bg-color:#dbdbdb}.aurora .dark,.aurora.dark{--f7-progressbar-bg-color:#444}.progressbar,.progressbar-infinite{width:100%;overflow:hidden;position:relative;display:block;transform-style:preserve-3d;background:var(--f7-progressbar-bg-color,rgba(var(--f7-theme-color-rgb),.5));transform-origin:center top;height:var(--f7-progressbar-height);border-radius:var(--f7-progressbar-border-radius)}.progressbar{vertical-align:middle}.progressbar span{background-color:var(--f7-progressbar-progress-color,var(--f7-theme-color));width:100%;height:100%;position:absolute;top:0;transition-duration:150ms;left:0;transform:translate3d(-100%,0,0)}.progressbar-infinite{z-index:15000}.progressbar-infinite:after,.progressbar-infinite:before{content:'';position:absolute;top:0;width:100%;height:100%;transform:translate3d(0,0,0);display:block;background-color:var(--f7-progressbar-progress-color,var(--f7-theme-color));left:0;transform-origin:left center}.progressbar-infinite.color-multi{background:0 0!important}.progressbar-in{animation:progressbar-in 150ms forwards}.progressbar-out{animation:progressbar-out 150ms forwards}.framework7-root>.progressbar,.framework7-root>.progressbar-infinite,.page>.progressbar,.page>.progressbar-infinite,.panel>.progressbar,.panel>.progressbar-infinite,.popup>.progressbar,.popup>.progressbar-infinite,.view>.progressbar,.view>.progressbar-infinite,.views>.progressbar,.views>.progressbar-infinite,body>.progressbar,body>.progressbar-infinite{position:absolute;left:0;top:0;z-index:15000;border-radius:0!important;transform-origin:center top!important}@keyframes progressbar-in{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes progressbar-out{from{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(0)}}.ios .progressbar-infinite:before{animation:ios-progressbar-infinite 1s linear infinite}.ios .progressbar-infinite:after{display:none}.ios .progressbar-infinite.color-multi:before{width:400%;background-image:linear-gradient(to right,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55,#5856d6,#34aadc,#007aff,#5ac8fa,#4cd964);background-size:25% 100%;background-repeat:repeat-x;animation:ios-progressbar-infinite-multicolor 3s linear infinite}@keyframes ios-progressbar-infinite{0%{transform:translate3d(-100%,0,0)}100%{transform:translate3d(100%,0,0)}}@keyframes ios-progressbar-infinite-multicolor{0%{transform:translate3d(0%,0,0)}100%{transform:translate3d(-50%,0,0)}}.md .progressbar-infinite:before{animation:md-progressbar-infinite-1 2s linear infinite}.md .progressbar-infinite:after{animation:md-progressbar-infinite-2 2s linear infinite}.md .progressbar-infinite.color-multi:before{background:0 0;animation:md-progressbar-infinite-multicolor-bg 3s step-end infinite}.md .progressbar-infinite.color-multi:after{background:0 0;animation:md-progressbar-infinite-multicolor-fill 3s linear infinite;transform-origin:center center}@keyframes md-progressbar-infinite-1{0%{transform:translateX(-10%) scaleX(.1)}25%{transform:translateX(30%) scaleX(.6)}50%{transform:translateX(100%) scaleX(1)}100%{transform:translateX(100%) scaleX(1)}}@keyframes md-progressbar-infinite-2{0%{transform:translateX(-100%) scaleX(1)}40%{transform:translateX(-100%) scaleX(1)}75%{transform:translateX(60%) scaleX(.35)}90%{transform:translateX(100%) scaleX(.1)}100%{transform:translateX(100%) scaleX(.1)}}@keyframes md-progressbar-infinite-multicolor-bg{0%{background-color:#4caf50}25%{background-color:#f44336}50%{background-color:#2196f3}75%{background-color:#ffeb3b}}@keyframes md-progressbar-infinite-multicolor-fill{0%{transform:scaleX(0);background-color:#f44336}24.9%{transform:scaleX(1);background-color:#f44336}25%{transform:scaleX(0);background-color:#2196f3}49.9%{transform:scaleX(1);background-color:#2196f3}50%{transform:scaleX(0);background-color:#ffeb3b}74.9%{transform:scaleX(1);background-color:#ffeb3b}75%{transform:scaleX(0);background-color:#4caf50}100%{transform:scaleX(1);background-color:#4caf50}}.aurora .progressbar,.aurora .progressbar span,.aurora .progressbar-infinite,.aurora .progressbar-infinite:before{box-shadow:0px 0px 0px 1px rgba(0,0,0,.05) inset}.aurora .progressbar-infinite:before{animation:aurora-progressbar-infinite 1s linear infinite}.aurora .progressbar-infinite:after{display:none}.aurora .progressbar-infinite.color-multi:before{width:400%;background-image:linear-gradient(to right,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55,#5856d6,#34aadc,#007aff,#5ac8fa,#4cd964);background-size:25% 100%;background-repeat:repeat-x;animation:aurora-progressbar-infinite-multicolor 3s linear infinite}@keyframes aurora-progressbar-infinite{0%{transform:translate3d(-100%,0,0)}100%{transform:translate3d(100%,0,0)}}@keyframes aurora-progressbar-infinite-multicolor{0%{transform:translate3d(0%,0,0)}100%{transform:translate3d(-50%,0,0)}}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
import $ from '../../shared/dom7';
|
|
2
|
-
import { bindMethods } from '../../shared/utils';
|
|
1
|
+
import $ from '../../shared/dom7.js';
|
|
2
|
+
import { bindMethods } from '../../shared/utils.js';
|
|
3
3
|
const Progressbar = {
|
|
4
|
-
set(
|
|
4
|
+
set() {
|
|
5
5
|
const app = this;
|
|
6
|
+
|
|
7
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
8
|
+
args[_key] = arguments[_key];
|
|
9
|
+
}
|
|
10
|
+
|
|
6
11
|
let [el, progress, duration] = args;
|
|
7
12
|
|
|
8
13
|
if (typeof args[0] === 'number') {
|
|
@@ -35,13 +40,17 @@ const Progressbar = {
|
|
|
35
40
|
$progressbarEl.append($progressbarLine);
|
|
36
41
|
}
|
|
37
42
|
|
|
38
|
-
$progressbarLine.transition(typeof duration !== 'undefined' ? duration : '').transform(`translate3d(${-100 + progressNormalized}%,0,0)`);
|
|
43
|
+
$progressbarLine.transition(typeof duration !== 'undefined' ? duration : '').transform(`translate3d(${(-100 + progressNormalized) * (app.rtl ? -1 : 1)}%,0,0)`);
|
|
39
44
|
return $progressbarEl[0];
|
|
40
45
|
},
|
|
41
46
|
|
|
42
|
-
show(
|
|
47
|
+
show() {
|
|
43
48
|
const app = this; // '.page', 50, 'multi'
|
|
44
49
|
|
|
50
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
51
|
+
args[_key2] = arguments[_key2];
|
|
52
|
+
}
|
|
53
|
+
|
|
45
54
|
let [el, progress, color] = args;
|
|
46
55
|
let type = 'determined';
|
|
47
56
|
|
|
@@ -94,7 +103,11 @@ const Progressbar = {
|
|
|
94
103
|
return $progressbarEl[0];
|
|
95
104
|
},
|
|
96
105
|
|
|
97
|
-
hide(el, removeAfterHide
|
|
106
|
+
hide(el, removeAfterHide) {
|
|
107
|
+
if (removeAfterHide === void 0) {
|
|
108
|
+
removeAfterHide = true;
|
|
109
|
+
}
|
|
110
|
+
|
|
98
111
|
const app = this;
|
|
99
112
|
const $el = $(el || app.$el);
|
|
100
113
|
if ($el.length === 0) return undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function framework7ComponentLoader(r,s){void 0===s&&(s=!0);var e=r.$,t=r.utils,n=(r.getDevice,r.getSupport,r.Class,r.Modal,r.ConstructorMethods,r.ModalMethods,t.bindMethods);const a={set(){const r=this;for(var s=arguments.length,t=new Array(s),n=0;n<s;n++)t[n]=arguments[n];let[a,o,i]=t;if("number"==typeof t[0]&&([o,i]=t,a=r.$el),null==o)return a;o||(o=0);const p=e(a||r.$el);if(0===p.length)return a;const l=Math.min(Math.max(o,0),100);let g;if(g=p.hasClass("progressbar")?p.eq(0):p.children(".progressbar"),0===g.length||g.hasClass("progressbar-infinite"))return g;let h=g.children("span");return 0===h.length&&(h=e("<span></span>"),g.append(h)),h.transition(void 0!==i?i:"").transform(`translate3d(${(-100+l)*(r.rtl?-1:1)}%,0,0)`),g[0]},show(){const r=this;for(var s=arguments.length,t=new Array(s),n=0;n<s;n++)t[n]=arguments[n];let[a,o,i]=t,p="determined";2===t.length?"string"!=typeof t[0]&&"object"!=typeof t[0]||"string"!=typeof t[1]?"number"==typeof t[0]&&"string"==typeof t[1]&&([o,i]=t,a=r.$el):([a,i,o]=t,p="infinite"):1===t.length?"number"==typeof t[0]?(a=r.$el,o=t[0]):"string"==typeof t[0]&&(p="infinite",a=r.$el,i=t[0]):0===t.length&&(p="infinite",a=r.$el);const l=e(a);if(0===l.length)return;let g;return l.hasClass("progressbar")||l.hasClass("progressbar-infinite")?g=l:(g=l.children(".progressbar:not(.progressbar-out), .progressbar-infinite:not(.progressbar-out)"),0===g.length&&(g=e(`\n <span class="progressbar${"infinite"===p?"-infinite":""}${i?` color-${i}`:""} progressbar-in">\n ${"infinite"===p?"":"<span></span>"}\n </span>`),l.append(g))),void 0!==o&&r.progressbar.set(g,o),g[0]},hide(r,s){void 0===s&&(s=!0);const t=e(r||this.$el);if(0===t.length)return;let n;return n=t.hasClass("progressbar")||t.hasClass("progressbar-infinite")?t:t.children(".progressbar, .progressbar-infinite"),0===n.length||!n.hasClass("progressbar-in")||n.hasClass("progressbar-out")||n.removeClass("progressbar-in").addClass("progressbar-out").animationEnd((()=>{s&&n.remove()})),n}};var o={name:"progressbar",create(){n(this,{progressbar:a})},on:{tabMounted(r){const s=this;e(r).find(".progressbar").each((r=>{const t=e(r);s.progressbar.set(t,t.attr("data-progress"))}))},pageInit(r){const s=this;r.$el.find(".progressbar").each((r=>{const t=e(r);s.progressbar.set(t,t.attr("data-progress"))}))}},vnode:{progressbar:{insert(r){const s=r.elm;this.progressbar.set(s,s.getAttribute("data-progress"))},update(r){const s=r.elm;this.progressbar.set(s,s.getAttribute("data-progress"))}}}};if(s){if(r.prototype.modules&&r.prototype.modules[o.name])return;r.use(o),r.instance&&(r.instance.useModuleParams(o,r.instance.params),r.instance.useModule(o))}return o}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|
|
@@ -20,10 +20,16 @@
|
|
|
20
20
|
width: 100%;
|
|
21
21
|
height: 100%;
|
|
22
22
|
position: absolute;
|
|
23
|
-
left: 0;
|
|
24
23
|
top: 0;
|
|
25
|
-
transform: translate3d(-100%, 0, 0);
|
|
26
24
|
transition-duration: 150ms;
|
|
25
|
+
.ltr({
|
|
26
|
+
left: 0;
|
|
27
|
+
transform: translate3d(-100%, 0, 0);
|
|
28
|
+
});
|
|
29
|
+
.rtl({
|
|
30
|
+
right: 0;
|
|
31
|
+
transform: translate3d(100%, 0, 0);
|
|
32
|
+
});
|
|
27
33
|
}
|
|
28
34
|
}
|
|
29
35
|
.progressbar-infinite {
|
|
@@ -32,14 +38,20 @@
|
|
|
32
38
|
&:after {
|
|
33
39
|
content: '';
|
|
34
40
|
position: absolute;
|
|
35
|
-
left: 0;
|
|
36
41
|
top: 0;
|
|
37
42
|
width: 100%;
|
|
38
43
|
height: 100%;
|
|
39
|
-
transform-origin: left center;
|
|
40
44
|
transform: translate3d(0, 0, 0);
|
|
41
45
|
display: block;
|
|
42
46
|
background-color: var(--f7-progressbar-progress-color, var(--f7-theme-color));
|
|
47
|
+
.ltr({
|
|
48
|
+
left: 0;
|
|
49
|
+
transform-origin: left center;
|
|
50
|
+
});
|
|
51
|
+
.rtl({
|
|
52
|
+
right: 0;
|
|
53
|
+
transform-origin: right center;
|
|
54
|
+
});
|
|
43
55
|
}
|
|
44
56
|
&.color-multi {
|
|
45
57
|
background: none !important;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import $ from '../../shared/dom7';
|
|
2
|
-
import { deleteProps } from '../../shared/utils';
|
|
3
|
-
import Framework7Class from '../../shared/class';
|
|
4
|
-
import { getSupport } from '../../shared/get-support';
|
|
5
|
-
import { getDevice } from '../../shared/get-device';
|
|
1
|
+
import $ from '../../shared/dom7.js';
|
|
2
|
+
import { deleteProps } from '../../shared/utils.js';
|
|
3
|
+
import Framework7Class from '../../shared/class.js';
|
|
4
|
+
import { getSupport } from '../../shared/get-support.js';
|
|
5
|
+
import { getDevice } from '../../shared/get-device.js';
|
|
6
6
|
|
|
7
7
|
class PullToRefresh extends Framework7Class {
|
|
8
8
|
constructor(app, el) {
|
|
@@ -101,7 +101,11 @@ class PullToRefresh extends Framework7Class {
|
|
|
101
101
|
triggerDistance = 38;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
function setPreloaderProgress(progress
|
|
104
|
+
function setPreloaderProgress(progress) {
|
|
105
|
+
if (progress === void 0) {
|
|
106
|
+
progress = 0;
|
|
107
|
+
}
|
|
108
|
+
|
|
105
109
|
const $bars = $preloaderEl.find('.preloader-inner-line');
|
|
106
110
|
const perBarProgress = 1 / $bars.length;
|
|
107
111
|
$bars.forEach((barEl, barIndex) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import $ from '../../shared/dom7';
|
|
2
|
-
import { extend } from '../../shared/utils';
|
|
3
|
-
import PullToRefresh from './pull-to-refresh-class';
|
|
4
|
-
import ConstructorMethods from '../../shared/constructor-methods';
|
|
1
|
+
import $ from '../../shared/dom7.js';
|
|
2
|
+
import { extend } from '../../shared/utils.js';
|
|
3
|
+
import PullToRefresh from './pull-to-refresh-class.js';
|
|
4
|
+
import ConstructorMethods from '../../shared/constructor-methods.js';
|
|
5
5
|
export default {
|
|
6
6
|
name: 'pullToRefresh',
|
|
7
7
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function framework7ComponentLoader(t,e){void 0===e&&(e=!0);var r=t.$,o=t.utils,s=t.getDevice,a=t.getSupport,n=t.Class,l=(t.Modal,t.ConstructorMethods),i=(t.ModalMethods,o.deleteProps),p=o.extend;class c extends n{constructor(t,e){super({},[t]);const o=this,n=s(),l=a(),i=r(e),p=i.find(".ptr-preloader");o.$el=i,o.el=i[0],o.app=t,o.bottom=o.$el.hasClass("ptr-bottom"),o.useModulesParams({});const c="md"===t.theme,d="ios"===t.theme,h="aurora"===t.theme;let f,u,g;o.done=function(){const t=c?p:i,e=s=>{r(s.target).closest(p).length||(i.removeClass("ptr-transitioning ptr-pull-up ptr-pull-down ptr-closing"),i.trigger("ptr:done"),o.emit("local::done ptrDone",i[0]),t.off("transitionend",e))};return t.on("transitionend",e),i.removeClass("ptr-refreshing").addClass("ptr-transitioning ptr-closing"),o},o.refresh=function(){return i.hasClass("ptr-refreshing")||(i.addClass("ptr-transitioning ptr-refreshing"),i.trigger("ptr:refresh",o.done),o.emit("local::refresh ptrRefresh",i[0],o.done)),o},o.mousewheel="true"===i.attr("data-ptr-mousewheel");const m={};let v,b,C,w,M,T,y,x,$,P,E,H=!1,D=!1,R=!1,S=0,X=!1;const Y=i.parents(".page");if((Y.find(".navbar").length>0||Y.parents(".view").children(".navbars").length>0)&&(X=!0),Y.hasClass("no-navbar")&&(X=!1),!o.bottom){const e=t.navbar.getElByPage(Y[0]);if(e){const t=r(e),o=t.hasClass("navbar-large-transparent")||t.hasClass("navbar-large")&&t.hasClass("navbar-transparent"),s=t.hasClass("navbar-transparent")&&!t.hasClass("navbar-large");o?i.addClass("ptr-with-navbar-large-transparent"):s&&i.addClass("ptr-with-navbar-transparent")}}function B(t){void 0===t&&(t=0);const e=p.find(".preloader-inner-line"),r=1/e.length;e.forEach(((e,o)=>{const s=(t-o*r)/r;e.style.opacity=.27*Math.max(Math.min(s,1),0)}))}function I(){p.find(".preloader-inner-line").css("opacity","")}function k(t){if(u){if("android"!==n.os)return;if("targetTouches"in t&&t.targetTouches.length>1)return}i.hasClass("ptr-refreshing")||r(t.target).closest(".sortable-handler, .ptr-ignore, .card-expandable.card-opened").length||(g=!1,x=!1,u=!0,v=void 0,M=void 0,"touchstart"===t.type&&(f=t.targetTouches[0].identifier),m.x="touchstart"===t.type?t.targetTouches[0].pageX:t.pageX,m.y="touchstart"===t.type?t.targetTouches[0].pageY:t.pageY)}function L(t){if(!u)return;let s,a,l;if("touchmove"===t.type){if(f&&t.touches)for(let e=0;e<t.touches.length;e+=1)t.touches[e].identifier===f&&(l=t.touches[e]);l||(l=t.targetTouches[0]),s=l.pageX,a=l.pageY}else s=t.pageX,a=t.pageY;if(!s||!a)return;if(void 0===v&&(v=!!(v||Math.abs(a-m.y)>Math.abs(s-m.x))),!v)return void(u=!1);if(w=i[0].scrollTop,!g){let s;if(i.removeClass("ptr-transitioning"),d&&B(0),$=i[0].scrollHeight,P=i[0].offsetHeight,o.bottom&&(E=$-P),w>$)return void(u=!1);const a=r(t.target).closest(".ptr-watch-scroll");if(a.length&&a.each((t=>{t!==e&&t.scrollHeight>t.offsetHeight&&"auto"===r(t).css("overflow")&&(!o.bottom&&t.scrollTop>0||o.bottom&&t.scrollTop<t.scrollHeight-t.offsetHeight)&&(s=!0)})),s)return void(u=!1);y&&(T=i.attr("data-ptr-distance"),T.indexOf("%")>=0&&(T=$*parseInt(T,10)/100)),S=i.hasClass("ptr-refreshing")?T:0,D=!($!==P&&"ios"===n.os&&!c),R=!1}g=!0,b=a-m.y,void 0===M&&(o.bottom?w!==E:0!==w)&&(M=!0);if(o.bottom?b<0&&w>=E||w>E:b>0&&w<=0||w<0){let e;"ios"===n.os&&parseInt(n.osVersion.split(".")[0],10)>7&&(o.bottom||0!==w||M||(D=!0),o.bottom&&w===E&&!M&&(D=!0)),D||!o.bottom||c||(i.css("-webkit-overflow-scrolling","auto"),i.scrollTop(E),R=!0),D||R?(t.cancelable&&t.preventDefault(),C=(o.bottom?-1*Math.abs(b)**.85:b**.85)+S,c?p.transform(`translate3d(0,${C}px,0)`).find(".ptr-arrow").transform(`rotate(${Math.abs(b)/66*180+100}deg)`):(o.bottom||d?i.children().transform(`translate3d(0,${C}px,0)`):i.transform(`translate3d(0,${C}px,0)`),d&&p.transform("translate3d(0,0px,0)"))):d&&!o.bottom&&p.transform(`translate3d(0,${w}px,0)`),d&&!H&&(e=D||R?Math.abs(b)**.85/T:Math.abs(b)/(2*T),B(e)),(D||R)&&Math.abs(b)**.85>T||!D&&Math.abs(b)>=2*T?(H=!0,i.addClass("ptr-pull-up").removeClass("ptr-pull-down"),I()):(H=!1,i.removeClass("ptr-pull-up").addClass("ptr-pull-down")),x||(i.trigger("ptr:pullstart"),o.emit("local::pullStart ptrPullStart",i[0]),x=!0),i.trigger("ptr:pullmove",{event:t,scrollTop:w,translate:C,touchesDiff:b}),o.emit("local::pullMove ptrPullMove",i[0],{event:t,scrollTop:w,translate:C,touchesDiff:b})}else x=!1,i.removeClass("ptr-pull-up ptr-pull-down"),H=!1}function O(t){return"touchend"===t.type&&t.changedTouches&&t.changedTouches.length>0&&f&&t.changedTouches[0].identifier!==f?(u=!1,v=!1,g=!1,void(f=null)):u&&g?(C&&(i.addClass("ptr-transitioning"),C=0),c?p.transform("").find(".ptr-arrow").transform(""):(p.transform(""),o.bottom||d?i.children().transform(""):i.transform("")),D||!o.bottom||c||i.css("-webkit-overflow-scrolling",""),H?(i.addClass("ptr-refreshing"),i.trigger("ptr:refresh",o.done),o.emit("local::refresh ptrRefresh",i[0],o.done)):i.removeClass("ptr-pull-down"),u=!1,g=!1,void(x&&(i.trigger("ptr:pullend"),o.emit("local::pullEnd ptrPullEnd",i[0])))):(u=!1,void(g=!1))}let V,j;X||o.bottom||i.addClass("ptr-no-navbar"),i.attr("data-ptr-distance")?y=!0:c?T=66:d?T=44:h&&(T=38);let q=!0,z=0;function A(){q=!0,j=!1,z=0,C&&(i.addClass("ptr-transitioning"),C=0),c?p.transform("").find(".ptr-arrow").transform(""):(p.transform(""),o.bottom?i.children().transform(""):i.transform("")),H?(i.addClass("ptr-refreshing"),i.trigger("ptr:refresh",o.done),o.emit("local::refresh ptrRefresh",i[0],o.done)):i.removeClass("ptr-pull-down"),x&&(i.trigger("ptr:pullend"),o.emit("local::pullEnd ptrPullEnd",i[0]))}function F(t){if(!q)return;const{deltaX:s,deltaY:a}=t;if(Math.abs(s)>Math.abs(a))return;if(i.hasClass("ptr-refreshing"))return;if(r(t.target).closest(".sortable-handler, .ptr-ignore, .card-expandable.card-opened").length)return;if(clearTimeout(V),w=i[0].scrollTop,!j){let s;if(i.removeClass("ptr-transitioning"),d&&B(0),$=i[0].scrollHeight,P=i[0].offsetHeight,o.bottom&&(E=$-P),w>$)return void(q=!1);const a=r(t.target).closest(".ptr-watch-scroll");if(a.length&&a.each((t=>{t!==e&&t.scrollHeight>t.offsetHeight&&"auto"===r(t).css("overflow")&&(!o.bottom&&t.scrollTop>0||o.bottom&&t.scrollTop<t.scrollHeight-t.offsetHeight)&&(s=!0)})),s)return void(q=!1);y&&(T=i.attr("data-ptr-distance"),T.indexOf("%")>=0&&(T=$*parseInt(T,10)/100))}g=!0,z-=a,b=z,void 0===M&&(o.bottom?w!==E:0!==w)&&(M=!0);if(o.bottom?b<0&&w>=E||w>E:b>0&&w<=0||w<0){let e;t.cancelable&&t.preventDefault(),C=b,Math.abs(C)>T&&(C=T+(Math.abs(C)-T)**.7,o.bottom&&(C=-C)),c?p.transform(`translate3d(0,${C}px,0)`).find(".ptr-arrow").transform(`rotate(${Math.abs(b)/66*180+100}deg)`):o.bottom?i.children().transform(`translate3d(0,${C}px,0)`):(i.transform(`translate3d(0,${C}px,0)`),d&&p.transform(`translate3d(0,${-C}px,0)`)),d&&!H&&(e=Math.abs(C)/T,B(e)),Math.abs(C)>T?(H=!0,i.addClass("ptr-pull-up").removeClass("ptr-pull-down"),I()):(H=!1,i.removeClass("ptr-pull-up").addClass("ptr-pull-down")),x||(i.trigger("ptr:pullstart"),o.emit("local::pullStart ptrPullStart",i[0]),x=!0),i.trigger("ptr:pullmove",{event:t,scrollTop:w,translate:C,touchesDiff:b}),o.emit("local::pullMove ptrPullMove",i[0],{event:t,scrollTop:w,translate:C,touchesDiff:b})}else x=!1,i.removeClass("ptr-pull-up ptr-pull-down"),H=!1;V=setTimeout(A,300)}return Y.length&&i.length?(i[0].f7PullToRefresh=o,o.attachEvents=function(){const e=!!l.passiveListener&&{passive:!0};i.on(t.touchEvents.start,k,e),t.on("touchmove:active",L),t.on("touchend:passive",O),o.mousewheel&&!o.bottom&&i.on("wheel",F)},o.detachEvents=function(){const e=!!l.passiveListener&&{passive:!0};i.off(t.touchEvents.start,k,e),t.off("touchmove:active",L),t.off("touchend:passive",O),o.mousewheel&&!o.bottom&&i.off("wheel",F)},o.useModules(),o.init(),o):o}init(){this.attachEvents()}destroy(){let t=this;t.emit("local::beforeDestroy ptrBeforeDestroy",t),t.$el.trigger("ptr:beforedestroy"),delete t.el.f7PullToRefresh,t.detachEvents(),i(t),t=null}}var d={name:"pullToRefresh",create(){const t=this;t.ptr=p(l({defaultSelector:".ptr-content",constructor:c,app:t,domProp:"f7PullToRefresh"}),{done(e){const r=t.ptr.get(e);if(r)return r.done()},refresh(e){const r=t.ptr.get(e);if(r)return r.refresh()}})},static:{PullToRefresh:c},on:{tabMounted(t){const e=this,o=r(t),s=o.find(".ptr-content");o.is(".ptr-content")&&s.add(o),s.each((t=>{e.ptr.create(t)}))},tabBeforeRemove(t){const e=r(t),o=this,s=e.find(".ptr-content");e.is(".ptr-content")&&s.add(e),s.each((t=>{o.ptr.destroy(t)}))},pageInit(t){const e=this;t.$el.find(".ptr-content").each((t=>{e.ptr.create(t)}))},pageBeforeRemove(t){const e=this;t.$el.find(".ptr-content").each((t=>{e.ptr.destroy(t)}))}}};if(e){if(t.prototype.modules&&t.prototype.modules[d.name])return;t.use(d),t.instance&&(t.instance.useModuleParams(d,t.instance.params),t.instance.useModule(d))}return d}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--f7-radio-border-radius:50%;--f7-radio-extra-margin:0px}:root .
|
|
1
|
+
:root{--f7-radio-border-radius:50%;--f7-radio-extra-margin:0px}:root .dark,:root.dark{--f7-radio-inactive-color:rgba(255, 255, 255, 0.3)}.ios{--f7-radio-size:22px;--f7-radio-border-width:1px;--f7-radio-inactive-color:#c7c7cc}.md{--f7-radio-size:20px;--f7-radio-border-width:2px;--f7-radio-inactive-color:#6d6d6d}.aurora{--f7-radio-size:16px;--f7-radio-border-width:1px;--f7-radio-inactive-color:rgba(0, 0, 0, 0.25)}.radio{position:relative;display:inline-block;vertical-align:middle;z-index:1;--f7-touch-ripple-color:rgba(var(--f7-theme-color-rgb), 0.5)}.icon-radio{width:var(--f7-radio-size);height:var(--f7-radio-size);border-radius:var(--f7-radio-border-radius);position:relative;box-sizing:border-box;display:block;flex-shrink:0}.aurora .icon-radio,.md .icon-radio,.radio .icon-radio{border:var(--f7-radio-border-width) solid var(--f7-radio-inactive-color)}.radio,label.item-radio{cursor:pointer}.radio input[type=checkbox],.radio input[type=radio],label.item-radio input[type=checkbox],label.item-radio input[type=radio]{display:none}label.item-radio{transition-duration:.3s}label.item-radio .item-content .item-media,label.item-radio.item-content .item-media{align-self:center}label.item-radio.active-state{background-color:var(--f7-list-link-pressed-bg-color)}label.item-radio.active-state:after{background-color:transparent}.disabled label.item-radio,label.item-radio.disabled{opacity:.55;pointer-events:none}.ios .icon-radio:after{font-family:framework7-core-icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga';text-align:center;display:block;width:100%;height:100%;width:calc(var(--f7-radio-size) - var(--f7-radio-border-width) * 2);height:calc(var(--f7-radio-size) - var(--f7-radio-border-width) * 2);line-height:calc(var(--f7-radio-size) - var(--f7-radio-border-width) * 2 + 1px);font-size:20px;content:'radio_ios';color:var(--f7-radio-active-color,var(--f7-theme-color));opacity:0}.ios .radio input[type=radio]:checked~.icon-radio:after,.ios label.item-radio input[type=radio]:checked~* .icon-radio:after,.ios label.item-radio input[type=radio]:checked~.icon-radio:after{opacity:1}.ios .radio input[type=radio]:checked~.icon-radio{border-color:var(--f7-radio-active-color,var(--f7-theme-color))}.ios label.item-radio:not(.item-radio-icon-start) input[type=radio]~.icon-radio{position:absolute;top:50%;margin-top:-11px;left:calc(var(--f7-safe-area-left) + 10px)}.ios label.item-radio:not(.item-radio-icon-start) .item-inner{padding-left:calc(var(--f7-safe-area-left) + 36px)}.ios label.item-radio-icon-start>.icon-radio{margin-left:calc(var(--f7-list-item-media-margin) + var(--f7-checkbox-extra-margin))}.ios label.item-radio.active-state{transition-duration:0s}.md .icon-radio{transition-duration:.2s}.md .icon-radio:after{content:'';position:absolute;width:10px;height:10px;left:50%;top:50%;margin-left:-5px;margin-top:-5px;background-color:var(--f7-radio-active-color,var(--f7-theme-color));border-radius:50%;transform:scale(0);transition-duration:.2s}.md .radio input[type=radio]:checked~.icon-radio,.md label.item-radio input[type=radio]:checked~* .icon-radio,.md label.item-radio input[type=radio]:checked~.icon-radio{border-color:var(--f7-radio-active-color,var(--f7-theme-color))}.md .radio input[type=radio]:checked~.icon-radio:after,.md label.item-radio input[type=radio]:checked~* .icon-radio:after,.md label.item-radio input[type=radio]:checked~.icon-radio:after{background-color:var(--f7-radio-active-color,var(--f7-theme-color));transform:scale(1)}.md label.item-radio{position:relative;overflow:hidden;z-index:0}.md label.item-radio:not(.item-radio-icon-end)>.icon-radio{margin-left:calc(var(--f7-list-item-media-margin) + var(--f7-radio-extra-margin))}.md label.item-radio-icon-end input[type=radio]~.icon-radio{position:absolute;top:50%;margin-top:-10px;left:calc(var(--f7-safe-area-left) + 16px)}.md label.item-radio-icon-end .item-inner{padding-left:calc(var(--f7-safe-area-left) + 52px)}.aurora .icon-radio{transition-duration:150ms;overflow:hidden}.aurora .icon-radio:after{content:'';position:absolute;width:6px;height:6px;left:50%;top:50%;margin-left:-3px;margin-top:-3px;background-color:#fff;border-radius:50%;transform:scale(0);transition-duration:150ms}.aurora .icon-radio:before{content:'';position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.1);opacity:0;transition-duration:150ms}.aurora .radio.active-state i:before{opacity:1}.aurora .radio input[type=radio]:checked~.icon-radio,.aurora label.item-radio input[type=radio]:checked~* .icon-radio,.aurora label.item-radio input[type=radio]:checked~.icon-radio{border-color:var(--f7-radio-active-color,var(--f7-theme-color));background-color:var(--f7-radio-active-color,var(--f7-theme-color))}.aurora .radio input[type=radio]:checked~.icon-radio:after,.aurora label.item-radio input[type=radio]:checked~* .icon-radio:after,.aurora label.item-radio input[type=radio]:checked~.icon-radio:after{transform:scale(1)}.aurora label.item-radio{position:relative;overflow:hidden;z-index:0}.aurora label.item-radio:not(.item-radio-icon-end)>.icon-radio{margin-left:calc(var(--f7-list-item-media-margin) + var(--f7-radio-extra-margin))}.aurora label.item-radio-icon-end input[type=radio]~.icon-radio{position:absolute;top:50%;margin-top:-8px;left:calc(var(--f7-safe-area-left) + 16px)}.aurora label.item-radio-icon-end .item-inner{padding-left:calc(var(--f7-safe-area-left) + 48px)}.aurora.device-desktop label.item-radio:hover:not(.active-state):not(.no-hover){background-color:var(--f7-list-link-hover-bg-color)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--f7-radio-border-radius:50%;--f7-radio-extra-margin:0px}:root .
|
|
1
|
+
:root{--f7-radio-border-radius:50%;--f7-radio-extra-margin:0px}:root .dark,:root.dark{--f7-radio-inactive-color:rgba(255, 255, 255, 0.3)}.ios{--f7-radio-size:22px;--f7-radio-border-width:1px;--f7-radio-inactive-color:#c7c7cc}.md{--f7-radio-size:20px;--f7-radio-border-width:2px;--f7-radio-inactive-color:#6d6d6d}.aurora{--f7-radio-size:16px;--f7-radio-border-width:1px;--f7-radio-inactive-color:rgba(0, 0, 0, 0.25)}.radio{position:relative;display:inline-block;vertical-align:middle;z-index:1;--f7-touch-ripple-color:rgba(var(--f7-theme-color-rgb), 0.5)}.icon-radio{width:var(--f7-radio-size);height:var(--f7-radio-size);border-radius:var(--f7-radio-border-radius);position:relative;box-sizing:border-box;display:block;flex-shrink:0}.aurora .icon-radio,.md .icon-radio,.radio .icon-radio{border:var(--f7-radio-border-width) solid var(--f7-radio-inactive-color)}.radio,label.item-radio{cursor:pointer}.radio input[type=checkbox],.radio input[type=radio],label.item-radio input[type=checkbox],label.item-radio input[type=radio]{display:none}label.item-radio{transition-duration:.3s}label.item-radio .item-content .item-media,label.item-radio.item-content .item-media{align-self:center}label.item-radio.active-state{background-color:var(--f7-list-link-pressed-bg-color)}label.item-radio.active-state:after{background-color:transparent}.disabled label.item-radio,label.item-radio.disabled{opacity:.55;pointer-events:none}.ios .icon-radio:after{font-family:framework7-core-icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga';text-align:center;display:block;width:100%;height:100%;width:calc(var(--f7-radio-size) - var(--f7-radio-border-width) * 2);height:calc(var(--f7-radio-size) - var(--f7-radio-border-width) * 2);line-height:calc(var(--f7-radio-size) - var(--f7-radio-border-width) * 2 + 1px);font-size:20px;content:'radio_ios';color:var(--f7-radio-active-color,var(--f7-theme-color));opacity:0}.ios .radio input[type=radio]:checked~.icon-radio:after,.ios label.item-radio input[type=radio]:checked~* .icon-radio:after,.ios label.item-radio input[type=radio]:checked~.icon-radio:after{opacity:1}.ios .radio input[type=radio]:checked~.icon-radio{border-color:var(--f7-radio-active-color,var(--f7-theme-color))}.ios label.item-radio:not(.item-radio-icon-start) input[type=radio]~.icon-radio{position:absolute;top:50%;margin-top:-11px;right:calc(var(--f7-safe-area-right) + 10px)}.ios label.item-radio:not(.item-radio-icon-start) .item-inner{padding-right:calc(var(--f7-safe-area-right) + 36px)}.ios label.item-radio-icon-start>.icon-radio{margin-right:calc(var(--f7-list-item-media-margin) + var(--f7-checkbox-extra-margin))}.ios label.item-radio.active-state{transition-duration:0s}.md .icon-radio{transition-duration:.2s}.md .icon-radio:after{content:'';position:absolute;width:10px;height:10px;left:50%;top:50%;margin-left:-5px;margin-top:-5px;background-color:var(--f7-radio-active-color,var(--f7-theme-color));border-radius:50%;transform:scale(0);transition-duration:.2s}.md .radio input[type=radio]:checked~.icon-radio,.md label.item-radio input[type=radio]:checked~* .icon-radio,.md label.item-radio input[type=radio]:checked~.icon-radio{border-color:var(--f7-radio-active-color,var(--f7-theme-color))}.md .radio input[type=radio]:checked~.icon-radio:after,.md label.item-radio input[type=radio]:checked~* .icon-radio:after,.md label.item-radio input[type=radio]:checked~.icon-radio:after{background-color:var(--f7-radio-active-color,var(--f7-theme-color));transform:scale(1)}.md label.item-radio{position:relative;overflow:hidden;z-index:0}.md label.item-radio:not(.item-radio-icon-end)>.icon-radio{margin-right:calc(var(--f7-list-item-media-margin) + var(--f7-radio-extra-margin))}.md label.item-radio-icon-end input[type=radio]~.icon-radio{position:absolute;top:50%;margin-top:-10px;right:calc(var(--f7-safe-area-right) + 16px)}.md label.item-radio-icon-end .item-inner{padding-right:calc(var(--f7-safe-area-right) + 52px)}.aurora .icon-radio{transition-duration:150ms;overflow:hidden}.aurora .icon-radio:after{content:'';position:absolute;width:6px;height:6px;left:50%;top:50%;margin-left:-3px;margin-top:-3px;background-color:#fff;border-radius:50%;transform:scale(0);transition-duration:150ms}.aurora .icon-radio:before{content:'';position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.1);opacity:0;transition-duration:150ms}.aurora .radio.active-state i:before{opacity:1}.aurora .radio input[type=radio]:checked~.icon-radio,.aurora label.item-radio input[type=radio]:checked~* .icon-radio,.aurora label.item-radio input[type=radio]:checked~.icon-radio{border-color:var(--f7-radio-active-color,var(--f7-theme-color));background-color:var(--f7-radio-active-color,var(--f7-theme-color))}.aurora .radio input[type=radio]:checked~.icon-radio:after,.aurora label.item-radio input[type=radio]:checked~* .icon-radio:after,.aurora label.item-radio input[type=radio]:checked~.icon-radio:after{transform:scale(1)}.aurora label.item-radio{position:relative;overflow:hidden;z-index:0}.aurora label.item-radio:not(.item-radio-icon-end)>.icon-radio{margin-right:calc(var(--f7-list-item-media-margin) + var(--f7-radio-extra-margin))}.aurora label.item-radio-icon-end input[type=radio]~.icon-radio{position:absolute;top:50%;margin-top:-8px;right:calc(var(--f7-safe-area-right) + 16px)}.aurora label.item-radio-icon-end .item-inner{padding-right:calc(var(--f7-safe-area-right) + 48px)}.aurora.device-desktop label.item-radio:hover:not(.active-state):not(.no-hover){background-color:var(--f7-list-link-hover-bg-color)}
|
|
File without changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import $ from '../../shared/dom7';
|
|
2
|
-
import { extend, nextTick, deleteProps } from '../../shared/utils';
|
|
3
|
-
import Framework7Class from '../../shared/class';
|
|
4
|
-
import { getSupport } from '../../shared/get-support';
|
|
1
|
+
import $ from '../../shared/dom7.js';
|
|
2
|
+
import { extend, nextTick, deleteProps } from '../../shared/utils.js';
|
|
3
|
+
import Framework7Class from '../../shared/class.js';
|
|
4
|
+
import { getSupport } from '../../shared/get-support.js';
|
|
5
5
|
|
|
6
6
|
class Range extends Framework7Class {
|
|
7
7
|
constructor(app, params) {
|
|
@@ -13,6 +13,8 @@ export namespace Range {
|
|
|
13
13
|
step?: number;
|
|
14
14
|
/** Enables additional label around range slider knob (default false) */
|
|
15
15
|
label?: boolean;
|
|
16
|
+
/** Method must return formatted range knob label text. As an argument it receives label value */
|
|
17
|
+
formatLabel?: (value: number) => string;
|
|
16
18
|
/** Minimum value */
|
|
17
19
|
min?: number;
|
|
18
20
|
/** Maximum value */
|
|
@@ -21,11 +23,19 @@ export namespace Range {
|
|
|
21
23
|
value?: number | number[];
|
|
22
24
|
/** When enabled it is also possible to interact with range slider (change value) on range bar click and swipe (default true) */
|
|
23
25
|
draggableBar?: boolean;
|
|
24
|
-
/** Enables vertical range slider */
|
|
26
|
+
/** Enables vertical range slider (default false) */
|
|
25
27
|
vertical?: boolean;
|
|
26
|
-
/** Makes vertical range slider reversed */
|
|
28
|
+
/** Makes vertical range slider reversed (default false) */
|
|
27
29
|
verticalReversed?: boolean;
|
|
28
|
-
/**
|
|
30
|
+
/** Enables range slider scale (default false) */
|
|
31
|
+
scale?: boolean;
|
|
32
|
+
/** Number of scale steps (default 5) */
|
|
33
|
+
scaleSteps?: number;
|
|
34
|
+
/** Number of scale sub steps (each step will be divided by this value) (default 0) */
|
|
35
|
+
scaleSubSteps?: number;
|
|
36
|
+
/** Method must return formatted scale value. As an argument it receives currect scale step value. This method will be called as for each scale step. */
|
|
37
|
+
formatScaleLabel?: (value: number) => string;
|
|
38
|
+
/** Limit knob position to the size of range bar. By default enabled from iOS theme */
|
|
29
39
|
limitKnobPosition?: boolean;
|
|
30
40
|
/** Object with events handlers.. */
|
|
31
41
|
on?: {
|
|
@@ -55,13 +65,21 @@ export namespace Range {
|
|
|
55
65
|
max: number;
|
|
56
66
|
/** Range value */
|
|
57
67
|
value: number | number[];
|
|
68
|
+
/** Boolean property indicating whether scale is enabled or not */
|
|
69
|
+
scale: boolean;
|
|
70
|
+
/** Number of scale steps */
|
|
71
|
+
scaleSteps: number;
|
|
72
|
+
/** Number of scale sub steps */
|
|
73
|
+
scaleSubSteps: number;
|
|
74
|
+
/** Dom7 instance with generated scale HTML element */
|
|
75
|
+
$scaleEl: Dom7Array;
|
|
58
76
|
/** Array where each element represents HTMLElement of created range knob (2 knobs in case of dual slider) */
|
|
59
77
|
knobs: HTMLElement[];
|
|
60
78
|
/** Array where each element represent HTMLElement of created range knob label (2 labels in case of dual slider) */
|
|
61
79
|
labels: HTMLElement[];
|
|
62
|
-
/** Boolean property indicating whether it is vertical or not
|
|
80
|
+
/** Boolean property indicating whether it is vertical or not */
|
|
63
81
|
vertical: boolean;
|
|
64
|
-
/** Boolean property indicating whether it is vertical and reversed or not
|
|
82
|
+
/** Boolean property indicating whether it is vertical and reversed or not */
|
|
65
83
|
verticalReversed: boolean;
|
|
66
84
|
/** Range parameters */
|
|
67
85
|
params: Parameters;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import $ from '../../shared/dom7';
|
|
2
|
-
import { extend } from '../../shared/utils';
|
|
3
|
-
import Range from './range-class';
|
|
4
|
-
import ConstructorMethods from '../../shared/constructor-methods';
|
|
1
|
+
import $ from '../../shared/dom7.js';
|
|
2
|
+
import { extend } from '../../shared/utils.js';
|
|
3
|
+
import Range from './range-class.js';
|
|
4
|
+
import ConstructorMethods from '../../shared/constructor-methods.js';
|
|
5
5
|
export default {
|
|
6
6
|
name: 'range',
|
|
7
7
|
|
|
@@ -13,13 +13,21 @@ export default {
|
|
|
13
13
|
app,
|
|
14
14
|
domProp: 'f7Range'
|
|
15
15
|
}), {
|
|
16
|
-
getValue(el
|
|
16
|
+
getValue(el) {
|
|
17
|
+
if (el === void 0) {
|
|
18
|
+
el = '.range-slider';
|
|
19
|
+
}
|
|
20
|
+
|
|
17
21
|
const range = app.range.get(el);
|
|
18
22
|
if (range) return range.getValue();
|
|
19
23
|
return undefined;
|
|
20
24
|
},
|
|
21
25
|
|
|
22
|
-
setValue(el
|
|
26
|
+
setValue(el, value) {
|
|
27
|
+
if (el === void 0) {
|
|
28
|
+
el = '.range-slider';
|
|
29
|
+
}
|
|
30
|
+
|
|
23
31
|
const range = app.range.get(el);
|
|
24
32
|
if (range) return range.setValue(value);
|
|
25
33
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function framework7ComponentLoader(e,a){void 0===a&&(a=!0);var t=e.$,l=e.utils,s=(e.getDevice,e.getSupport),n=e.Class,r=(e.Modal,e.ConstructorMethods),i=(e.ModalMethods,l.extend),o=l.nextTick,c=l.deleteProps;class u extends n{constructor(e,a){super(a,[e]);const l=this,n=s(),r={el:null,inputEl:null,dual:!1,step:1,label:!1,min:0,max:100,value:0,draggableBar:!0,vertical:!1,verticalReversed:!1,formatLabel:null,scale:!1,scaleSteps:5,scaleSubSteps:0,formatScaleLabel:null,limitKnobPosition:"ios"===e.theme};l.useModulesParams(r),l.params=i(r,a);const c=l.params.el;if(!c)return l;const u=t(c);if(0===u.length)return l;if(u[0].f7Range)return u[0].f7Range;const d=u.dataset();let p;"step min max value scaleSteps scaleSubSteps".split(" ").forEach((e=>{void 0===a[e]&&void 0!==d[e]&&(l.params[e]=parseFloat(d[e]))})),"dual label vertical verticalReversed scale".split(" ").forEach((e=>{void 0===a[e]&&void 0!==d[e]&&(l.params[e]=d[e])})),l.params.value||(void 0!==d.value&&(l.params.value=d.value),void 0!==d.valueLeft&&void 0!==d.valueRight&&(l.params.value=[parseFloat(d.valueLeft),parseFloat(d.valueRight)])),l.params.dual||(l.params.inputEl?p=t(l.params.inputEl):u.find('input[type="range"]').length&&(p=u.find('input[type="range"]').eq(0)));const{dual:g,step:v,label:h,min:f,max:m,value:b,vertical:$,verticalReversed:S,scale:E,scaleSteps:y,scaleSubSteps:x,limitKnobPosition:R}=l.params;i(l,{app:e,$el:u,el:u[0],$inputEl:p,inputEl:p?p[0]:void 0,dual:g,step:v,label:h,min:f,max:m,value:b,previousValue:b,vertical:$,verticalReversed:S,scale:E,scaleSteps:y,scaleSubSteps:x,limitKnobPosition:R}),p&&("step min max".split(" ").forEach((e=>{!a[e]&&p.attr(e)&&(l.params[e]=parseFloat(p.attr(e)),l[e]=parseFloat(p.attr(e)))})),void 0!==p.val()&&(l.params.value=parseFloat(p.val()),l.value=parseFloat(p.val()))),l.dual&&u.addClass("range-slider-dual"),l.label&&u.addClass("range-slider-label"),l.vertical?(u.addClass("range-slider-vertical"),l.verticalReversed&&u.addClass("range-slider-vertical-reversed")):u.addClass("range-slider-horizontal");const k=t('<div class="range-bar"></div>'),M=t('<div class="range-bar-active"></div>');k.append(M);const C=`\n <div class="range-knob-wrap">\n <div class="range-knob"></div>\n ${l.label?'<div class="range-knob-label"></div>':""}\n </div>\n `,L=[t(C)];l.dual&&L.push(t(C)),u.append(k),L.forEach((e=>{u.append(e)}));const V=[];let W,T;l.label&&(V.push(L[0].find(".range-knob-label")),l.dual&&V.push(L[1].find(".range-knob-label"))),l.scale&&l.scaleSteps>=1&&(W=t(`\n <div class="range-scale">\n ${l.renderScale()}\n </div>\n `),u.append(W)),i(l,{knobs:L,labels:V,$barEl:k,$barActiveEl:M,$scaleEl:W}),u[0].f7Range=l;const w={};let z,H,P,F,A,B,D,K,X,Y,q;function O(){D=!0}function I(e){if(T)return;if(!l.params.draggableBar&&0===t(e.target).closest(".range-knob").length)return;let a;D=!1,w.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,w.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,"touchstart"===e.type&&(K=e.targetTouches[0].identifier),T=!0,z=void 0,H=u.offset(),P=H.left,F=H.top,l.vertical?(a=(w.y-F)/l.rangeHeight,l.verticalReversed||(a=1-a)):a=l.app.rtl?(P+l.rangeWidth-w.x)/l.rangeWidth:(w.x-P)/l.rangeWidth;let s=a*(l.max-l.min)+l.min;l.dual?Math.abs(l.value[0]-s)<Math.abs(l.value[1]-s)?(B=0,A=l.knobs[0],s=[s,l.value[1]]):(B=1,A=l.knobs[1],s=[l.value[0],s]):(A=l.knobs[0],s=a*(l.max-l.min)+l.min),o((()=>{T&&A.addClass("range-knob-active-state")}),70),l.on("change",O),l.setValue(s,!0)}function j(e){if(!T)return;let a,t,s;if("touchmove"===e.type)for(let l=0;l<e.targetTouches.length;l+=1)e.targetTouches[l].identifier===K&&(a=e.targetTouches[l].pageX,t=e.targetTouches[l].pageY);else a=e.pageX,t=e.pageY;if(void 0===a&&void 0===t)return;if(void 0!==z||l.vertical||(z=!!(z||Math.abs(t-w.y)>Math.abs(a-w.x))),z)return void(T=!1);e.preventDefault(),l.vertical?(s=(t-F)/l.rangeHeight,l.verticalReversed||(s=1-s)):s=l.app.rtl?(P+l.rangeWidth-a)/l.rangeWidth:(a-P)/l.rangeWidth;let n=s*(l.max-l.min)+l.min;if(l.dual){let e,a;0===B?(e=n,a=l.value[1],e>a&&(a=e)):(e=l.value[0],a=n,a<e&&(e=a)),n=[e,a]}l.setValue(n,!0)}function G(e){if("touchend"===e.type){let a;for(let t=0;t<e.changedTouches.length;t+=1)e.changedTouches[t].identifier===K&&(a=!0);if(!a)return}if(!T)return z&&A.removeClass("range-knob-active-state"),void(T=!1);l.off("change",O),T=!1,A.removeClass("range-knob-active-state"),D&&l.$inputEl&&!l.dual&&l.$inputEl.trigger("change"),D=!1,void 0!==l.previousValue&&(l.dual&&(l.previousValue[0]!==l.value[0]||l.previousValue[1]!==l.value[1])||!l.dual&&l.previousValue!==l.value)&&(l.$el.trigger("range:changed",l.value),l.emit("local::changed rangeChanged",l,l.value))}function J(){l.calcSize(),l.layout()}return l.attachEvents=function(){const a=!!n.passiveListener&&{passive:!0};l.$el.on(e.touchEvents.start,I,a),e.on("touchmove",j),e.on("touchend:passive",G),e.on("tabShow",J),e.on("resize",J),X=l.$el.parents(".sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast"),X.on("modal:open",J),Y=l.$el.parents(".panel"),Y.on("panel:open panel:resize",J),q=l.$el.parents(".page").eq(0),q.on("page:reinit",J)},l.detachEvents=function(){const a=!!n.passiveListener&&{passive:!0};l.$el.off(e.touchEvents.start,I,a),e.off("touchmove",j),e.off("touchend:passive",G),e.off("tabShow",J),e.off("resize",J),X&&X.off("modal:open",J),Y&&Y.off("panel:open panel:resize",J),q&&q.off("page:reinit",J),X=null,Y=null,q=null},l.useModules(),l.init(),l}calcSize(){const e=this;if(e.vertical){const a=e.$el.outerHeight();if(0===a)return;e.rangeHeight=a,e.knobHeight=e.knobs[0].outerHeight()}else{const a=e.$el.outerWidth();if(0===a)return;e.rangeWidth=a,e.knobWidth=e.knobs[0].outerWidth()}}layout(){const e=this,{app:a,knobWidth:t,knobHeight:l,rangeWidth:s,rangeHeight:n,min:r,max:i,knobs:o,$barActiveEl:c,value:u,label:d,labels:p,vertical:g,verticalReversed:v,limitKnobPosition:h}=e,f=g?l:t,m=g?n:s,b=g?v?"top":"bottom":a.rtl?"right":"left";if(e.dual){const a=[(u[0]-r)/(i-r),(u[1]-r)/(i-r)];c.css({[b]:100*a[0]+"%",[g?"height":"width"]:100*(a[1]-a[0])+"%"}),o.forEach(((t,l)=>{let s=m*a[l];if(h){const e=m*a[l]-f/2;e<0&&(s=f/2),e+f>m&&(s=m-f/2)}t.css(b,`${s}px`),d&&p[l].text(e.formatLabel(u[l],p[l][0]))}))}else{const a=(u-r)/(i-r);c.css(g?"height":"width",100*a+"%");let t=m*a;if(h){const e=m*a-f/2;e<0&&(t=f/2),e+f>m&&(t=m-f/2)}o[0].css(b,`${t}px`),d&&p[0].text(e.formatLabel(u,p[0][0]))}e.dual&&u.indexOf(r)>=0||!e.dual&&u===r?e.$el.addClass("range-slider-min"):e.$el.removeClass("range-slider-min"),e.dual&&u.indexOf(i)>=0||!e.dual&&u===i?e.$el.addClass("range-slider-max"):e.$el.removeClass("range-slider-max")}setValue(e,a){const t=this,{step:l,min:s,max:n}=t;let r,i;if(t.dual){i=[t.value[0],t.value[1]];let a=e;if(Array.isArray(a)||(a=[e,e]),e[0]>e[1]&&(a=[a[0],a[0]]),a=a.map((e=>Math.max(Math.min(Math.round(e/l)*l,n),s))),a[0]===t.value[0]&&a[1]===t.value[1])return t;a.forEach(((e,a)=>{t.value[a]=e})),r=i[0]!==a[0]||i[1]!==a[1],t.layout()}else{i=t.value;const a=Math.max(Math.min(Math.round(e/l)*l,n),s);t.value=a,t.layout(),r=i!==a}return r&&(t.previousValue=i),r?(t.$el.trigger("range:change",t.value),t.$inputEl&&!t.dual&&(t.$inputEl.val(t.value),a?t.$inputEl.trigger("input"):t.$inputEl.trigger("input change")),a||(t.$el.trigger("range:changed",t.value),t.emit("local::changed rangeChanged",t,t.value)),t.emit("local::change rangeChange",t,t.value),t):t}getValue(){return this.value}formatLabel(e,a){const t=this;return t.params.formatLabel?t.params.formatLabel.call(t,e,a):e}formatScaleLabel(e){const a=this;return a.params.formatScaleLabel?a.params.formatScaleLabel.call(a,e):e}renderScale(){const e=this,{app:a,verticalReversed:t,vertical:l}=e,s=l?t?"top":"bottom":a.rtl?"right":"left";let n="";return Array.from({length:e.scaleSteps+1}).forEach(((a,t)=>{const l=(e.max-e.min)/e.scaleSteps,r=e.min+l*t,i=(r-e.min)/(e.max-e.min);n+=`<div class="range-scale-step" style="${s}: ${100*i}%">${e.formatScaleLabel(r)}</div>`,e.scaleSubSteps&&e.scaleSubSteps>1&&t<e.scaleSteps&&Array.from({length:e.scaleSubSteps-1}).forEach(((a,t)=>{const i=l/e.scaleSubSteps,o=(r+i*(t+1)-e.min)/(e.max-e.min);n+=`<div class="range-scale-step range-scale-substep" style="${s}: ${100*o}%"></div>`}))})),n}updateScale(){const e=this;if(!e.scale||e.scaleSteps<1)return e.$scaleEl&&e.$scaleEl.remove(),void delete e.$scaleEl;e.$scaleEl||(e.$scaleEl=t('<div class="range-scale"></div>'),e.$el.append(e.$scaleEl)),e.$scaleEl.html(e.renderScale())}init(){const e=this;return e.calcSize(),e.layout(),e.attachEvents(),e}destroy(){let e=this;e.$el.trigger("range:beforedestroy"),e.emit("local::beforeDestroy rangeBeforeDestroy",e),delete e.$el[0].f7Range,e.detachEvents(),c(e),e=null}}var d={name:"range",create(){const e=this;e.range=i(r({defaultSelector:".range-slider",constructor:u,app:e,domProp:"f7Range"}),{getValue(a=".range-slider")
|
|
1
|
+
(function framework7ComponentLoader(e,a){void 0===a&&(a=!0);var t=e.$,l=e.utils,s=(e.getDevice,e.getSupport),n=e.Class,r=(e.Modal,e.ConstructorMethods),i=(e.ModalMethods,l.extend),o=l.nextTick,c=l.deleteProps;class u extends n{constructor(e,a){super(a,[e]);const l=this,n=s(),r={el:null,inputEl:null,dual:!1,step:1,label:!1,min:0,max:100,value:0,draggableBar:!0,vertical:!1,verticalReversed:!1,formatLabel:null,scale:!1,scaleSteps:5,scaleSubSteps:0,formatScaleLabel:null,limitKnobPosition:"ios"===e.theme};l.useModulesParams(r),l.params=i(r,a);const c=l.params.el;if(!c)return l;const u=t(c);if(0===u.length)return l;if(u[0].f7Range)return u[0].f7Range;const d=u.dataset();let p;"step min max value scaleSteps scaleSubSteps".split(" ").forEach((e=>{void 0===a[e]&&void 0!==d[e]&&(l.params[e]=parseFloat(d[e]))})),"dual label vertical verticalReversed scale".split(" ").forEach((e=>{void 0===a[e]&&void 0!==d[e]&&(l.params[e]=d[e])})),l.params.value||(void 0!==d.value&&(l.params.value=d.value),void 0!==d.valueLeft&&void 0!==d.valueRight&&(l.params.value=[parseFloat(d.valueLeft),parseFloat(d.valueRight)])),l.params.dual||(l.params.inputEl?p=t(l.params.inputEl):u.find('input[type="range"]').length&&(p=u.find('input[type="range"]').eq(0)));const{dual:g,step:v,label:h,min:f,max:m,value:b,vertical:$,verticalReversed:S,scale:E,scaleSteps:y,scaleSubSteps:x,limitKnobPosition:R}=l.params;i(l,{app:e,$el:u,el:u[0],$inputEl:p,inputEl:p?p[0]:void 0,dual:g,step:v,label:h,min:f,max:m,value:b,previousValue:b,vertical:$,verticalReversed:S,scale:E,scaleSteps:y,scaleSubSteps:x,limitKnobPosition:R}),p&&("step min max".split(" ").forEach((e=>{!a[e]&&p.attr(e)&&(l.params[e]=parseFloat(p.attr(e)),l[e]=parseFloat(p.attr(e)))})),void 0!==p.val()&&(l.params.value=parseFloat(p.val()),l.value=parseFloat(p.val()))),l.dual&&u.addClass("range-slider-dual"),l.label&&u.addClass("range-slider-label"),l.vertical?(u.addClass("range-slider-vertical"),l.verticalReversed&&u.addClass("range-slider-vertical-reversed")):u.addClass("range-slider-horizontal");const k=t('<div class="range-bar"></div>'),M=t('<div class="range-bar-active"></div>');k.append(M);const C=`\n <div class="range-knob-wrap">\n <div class="range-knob"></div>\n ${l.label?'<div class="range-knob-label"></div>':""}\n </div>\n `,L=[t(C)];l.dual&&L.push(t(C)),u.append(k),L.forEach((e=>{u.append(e)}));const V=[];let W,T;l.label&&(V.push(L[0].find(".range-knob-label")),l.dual&&V.push(L[1].find(".range-knob-label"))),l.scale&&l.scaleSteps>=1&&(W=t(`\n <div class="range-scale">\n ${l.renderScale()}\n </div>\n `),u.append(W)),i(l,{knobs:L,labels:V,$barEl:k,$barActiveEl:M,$scaleEl:W}),u[0].f7Range=l;const w={};let z,H,P,F,A,B,D,K,X,Y,q;function O(){D=!0}function I(e){if(T)return;if(!l.params.draggableBar&&0===t(e.target).closest(".range-knob").length)return;let a;D=!1,w.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,w.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,"touchstart"===e.type&&(K=e.targetTouches[0].identifier),T=!0,z=void 0,H=u.offset(),P=H.left,F=H.top,l.vertical?(a=(w.y-F)/l.rangeHeight,l.verticalReversed||(a=1-a)):a=l.app.rtl?(P+l.rangeWidth-w.x)/l.rangeWidth:(w.x-P)/l.rangeWidth;let s=a*(l.max-l.min)+l.min;l.dual?Math.abs(l.value[0]-s)<Math.abs(l.value[1]-s)?(B=0,A=l.knobs[0],s=[s,l.value[1]]):(B=1,A=l.knobs[1],s=[l.value[0],s]):(A=l.knobs[0],s=a*(l.max-l.min)+l.min),o((()=>{T&&A.addClass("range-knob-active-state")}),70),l.on("change",O),l.setValue(s,!0)}function j(e){if(!T)return;let a,t,s;if("touchmove"===e.type)for(let l=0;l<e.targetTouches.length;l+=1)e.targetTouches[l].identifier===K&&(a=e.targetTouches[l].pageX,t=e.targetTouches[l].pageY);else a=e.pageX,t=e.pageY;if(void 0===a&&void 0===t)return;if(void 0!==z||l.vertical||(z=!!(z||Math.abs(t-w.y)>Math.abs(a-w.x))),z)return void(T=!1);e.preventDefault(),l.vertical?(s=(t-F)/l.rangeHeight,l.verticalReversed||(s=1-s)):s=l.app.rtl?(P+l.rangeWidth-a)/l.rangeWidth:(a-P)/l.rangeWidth;let n=s*(l.max-l.min)+l.min;if(l.dual){let e,a;0===B?(e=n,a=l.value[1],e>a&&(a=e)):(e=l.value[0],a=n,a<e&&(e=a)),n=[e,a]}l.setValue(n,!0)}function G(e){if("touchend"===e.type){let a;for(let t=0;t<e.changedTouches.length;t+=1)e.changedTouches[t].identifier===K&&(a=!0);if(!a)return}if(!T)return z&&A.removeClass("range-knob-active-state"),void(T=!1);l.off("change",O),T=!1,A.removeClass("range-knob-active-state"),D&&l.$inputEl&&!l.dual&&l.$inputEl.trigger("change"),D=!1,void 0!==l.previousValue&&(l.dual&&(l.previousValue[0]!==l.value[0]||l.previousValue[1]!==l.value[1])||!l.dual&&l.previousValue!==l.value)&&(l.$el.trigger("range:changed",l.value),l.emit("local::changed rangeChanged",l,l.value))}function J(){l.calcSize(),l.layout()}return l.attachEvents=function(){const a=!!n.passiveListener&&{passive:!0};l.$el.on(e.touchEvents.start,I,a),e.on("touchmove",j),e.on("touchend:passive",G),e.on("tabShow",J),e.on("resize",J),X=l.$el.parents(".sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast"),X.on("modal:open",J),Y=l.$el.parents(".panel"),Y.on("panel:open panel:resize",J),q=l.$el.parents(".page").eq(0),q.on("page:reinit",J)},l.detachEvents=function(){const a=!!n.passiveListener&&{passive:!0};l.$el.off(e.touchEvents.start,I,a),e.off("touchmove",j),e.off("touchend:passive",G),e.off("tabShow",J),e.off("resize",J),X&&X.off("modal:open",J),Y&&Y.off("panel:open panel:resize",J),q&&q.off("page:reinit",J),X=null,Y=null,q=null},l.useModules(),l.init(),l}calcSize(){const e=this;if(e.vertical){const a=e.$el.outerHeight();if(0===a)return;e.rangeHeight=a,e.knobHeight=e.knobs[0].outerHeight()}else{const a=e.$el.outerWidth();if(0===a)return;e.rangeWidth=a,e.knobWidth=e.knobs[0].outerWidth()}}layout(){const e=this,{app:a,knobWidth:t,knobHeight:l,rangeWidth:s,rangeHeight:n,min:r,max:i,knobs:o,$barActiveEl:c,value:u,label:d,labels:p,vertical:g,verticalReversed:v,limitKnobPosition:h}=e,f=g?l:t,m=g?n:s,b=g?v?"top":"bottom":a.rtl?"right":"left";if(e.dual){const a=[(u[0]-r)/(i-r),(u[1]-r)/(i-r)];c.css({[b]:100*a[0]+"%",[g?"height":"width"]:100*(a[1]-a[0])+"%"}),o.forEach(((t,l)=>{let s=m*a[l];if(h){const e=m*a[l]-f/2;e<0&&(s=f/2),e+f>m&&(s=m-f/2)}t.css(b,`${s}px`),d&&p[l].text(e.formatLabel(u[l],p[l][0]))}))}else{const a=(u-r)/(i-r);c.css(g?"height":"width",100*a+"%");let t=m*a;if(h){const e=m*a-f/2;e<0&&(t=f/2),e+f>m&&(t=m-f/2)}o[0].css(b,`${t}px`),d&&p[0].text(e.formatLabel(u,p[0][0]))}e.dual&&u.indexOf(r)>=0||!e.dual&&u===r?e.$el.addClass("range-slider-min"):e.$el.removeClass("range-slider-min"),e.dual&&u.indexOf(i)>=0||!e.dual&&u===i?e.$el.addClass("range-slider-max"):e.$el.removeClass("range-slider-max")}setValue(e,a){const t=this,{step:l,min:s,max:n}=t;let r,i;if(t.dual){i=[t.value[0],t.value[1]];let a=e;if(Array.isArray(a)||(a=[e,e]),e[0]>e[1]&&(a=[a[0],a[0]]),a=a.map((e=>Math.max(Math.min(Math.round(e/l)*l,n),s))),a[0]===t.value[0]&&a[1]===t.value[1])return t;a.forEach(((e,a)=>{t.value[a]=e})),r=i[0]!==a[0]||i[1]!==a[1],t.layout()}else{i=t.value;const a=Math.max(Math.min(Math.round(e/l)*l,n),s);t.value=a,t.layout(),r=i!==a}return r&&(t.previousValue=i),r?(t.$el.trigger("range:change",t.value),t.$inputEl&&!t.dual&&(t.$inputEl.val(t.value),a?t.$inputEl.trigger("input"):t.$inputEl.trigger("input change")),a||(t.$el.trigger("range:changed",t.value),t.emit("local::changed rangeChanged",t,t.value)),t.emit("local::change rangeChange",t,t.value),t):t}getValue(){return this.value}formatLabel(e,a){const t=this;return t.params.formatLabel?t.params.formatLabel.call(t,e,a):e}formatScaleLabel(e){const a=this;return a.params.formatScaleLabel?a.params.formatScaleLabel.call(a,e):e}renderScale(){const e=this,{app:a,verticalReversed:t,vertical:l}=e,s=l?t?"top":"bottom":a.rtl?"right":"left";let n="";return Array.from({length:e.scaleSteps+1}).forEach(((a,t)=>{const l=(e.max-e.min)/e.scaleSteps,r=e.min+l*t,i=(r-e.min)/(e.max-e.min);n+=`<div class="range-scale-step" style="${s}: ${100*i}%">${e.formatScaleLabel(r)}</div>`,e.scaleSubSteps&&e.scaleSubSteps>1&&t<e.scaleSteps&&Array.from({length:e.scaleSubSteps-1}).forEach(((a,t)=>{const i=l/e.scaleSubSteps,o=(r+i*(t+1)-e.min)/(e.max-e.min);n+=`<div class="range-scale-step range-scale-substep" style="${s}: ${100*o}%"></div>`}))})),n}updateScale(){const e=this;if(!e.scale||e.scaleSteps<1)return e.$scaleEl&&e.$scaleEl.remove(),void delete e.$scaleEl;e.$scaleEl||(e.$scaleEl=t('<div class="range-scale"></div>'),e.$el.append(e.$scaleEl)),e.$scaleEl.html(e.renderScale())}init(){const e=this;return e.calcSize(),e.layout(),e.attachEvents(),e}destroy(){let e=this;e.$el.trigger("range:beforedestroy"),e.emit("local::beforeDestroy rangeBeforeDestroy",e),delete e.$el[0].f7Range,e.detachEvents(),c(e),e=null}}var d={name:"range",create(){const e=this;e.range=i(r({defaultSelector:".range-slider",constructor:u,app:e,domProp:"f7Range"}),{getValue(a){void 0===a&&(a=".range-slider");const t=e.range.get(a);if(t)return t.getValue()},setValue(a,t){void 0===a&&(a=".range-slider");const l=e.range.get(a);if(l)return l.setValue(t)}})},static:{Range:u},on:{tabMounted(e){const a=this;t(e).find(".range-slider-init").each((e=>new u(a,{el:e})))},tabBeforeRemove(e){t(e).find(".range-slider-init").each((e=>{e.f7Range&&e.f7Range.destroy()}))},pageInit(e){const a=this;e.$el.find(".range-slider-init").each((e=>new u(a,{el:e})))},pageBeforeRemove(e){e.$el.find(".range-slider-init").each((e=>{e.f7Range&&e.f7Range.destroy()}))}},vnode:{"range-slider-init":{insert(e){const a=e.elm;this.range.create({el:a})},destroy(e){const a=e.elm;a.f7Range&&a.f7Range.destroy()}}}};if(a){if(e.prototype.modules&&e.prototype.modules[d.name])return;e.use(d),e.instance&&(e.instance.useModuleParams(d,e.instance.params),e.instance.useModule(d))}return d}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|