framework7 7.0.0-beta.7 → 7.0.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.lazy.js +1 -1
- package/components/actions/actions-class.js +6 -1
- 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 +11 -2
- package/components/actions/actions.lazy.js +1 -1
- package/components/actions/actions.less +3 -0
- package/components/app/app-class.js +15 -9
- package/components/area-chart/area-chart-class.js +34 -18
- package/components/area-chart/area-chart.lazy.js +1 -1
- package/components/autocomplete/autocomplete-class.js +5 -1
- package/components/autocomplete/autocomplete.lazy.js +1 -1
- 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 +216 -124
- 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 +6 -1
- package/components/calendar/calendar.lazy.js +1 -1
- package/components/calendar/calendar.less +21 -16
- package/components/card/card.js +23 -3
- package/components/card/card.lazy.js +1 -1
- package/components/color-picker/color-picker-class.js +19 -3
- package/components/color-picker/color-picker.js +5 -1
- package/components/color-picker/color-picker.lazy.js +1 -1
- package/components/data-table/data-table-class.js +5 -1
- package/components/data-table/data-table.lazy.js +1 -1
- package/components/dialog/dialog.js +30 -6
- package/components/dialog/dialog.lazy.js +1 -1
- package/components/fab/fab-rtl.css +1 -1
- package/components/fab/fab.css +1 -1
- package/components/fab/fab.js +15 -3
- package/components/fab/fab.lazy.js +1 -1
- package/components/form/form.lazy.js +1 -1
- package/components/gauge/gauge-class.js +10 -2
- package/components/gauge/gauge.d.ts +2 -2
- package/components/gauge/gauge.lazy.js +1 -1
- package/components/input/input.js +5 -1
- package/components/input/input.lazy.js +1 -1
- package/components/list-index/list-index-class.js +5 -1
- package/components/list-index/list-index.d.ts +1 -1
- package/components/list-index/list-index.lazy.js +1 -1
- package/components/login-screen/login-screen.js +10 -2
- package/components/login-screen/login-screen.lazy.js +1 -1
- package/components/menu/menu.js +10 -2
- package/components/menu/menu.lazy.js +1 -1
- package/components/messagebar/messagebar-class.js +25 -5
- package/components/messagebar/messagebar.lazy.js +1 -1
- package/components/messages/messages-class.js +60 -24
- package/components/messages/messages-rtl.css +1 -1
- package/components/messages/messages.css +1 -1
- package/components/messages/messages.lazy.js +1 -1
- package/components/modal/modal-class.js +10 -0
- package/components/navbar/navbar.js +26 -2
- package/components/notification/notification.d.ts +4 -4
- package/components/panel/panel-class.js +35 -7
- package/components/panel/panel.js +40 -8
- package/components/panel/panel.lazy.js +1 -1
- package/components/photo-browser/photo-browser-class.js +42 -8
- package/components/photo-browser/photo-browser.lazy.js +1 -1
- package/components/picker/picker-class.js +11 -7
- package/components/picker/picker-column.js +34 -270
- 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 +5 -6
- package/components/picker/picker.lazy.js +1 -1
- package/components/picker/picker.less +28 -10
- package/components/pie-chart/pie-chart-class.js +16 -7
- package/components/pie-chart/pie-chart.lazy.js +1 -1
- package/components/popover/popover-class.js +20 -3
- 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 +11 -2
- package/components/popover/popover.lazy.js +1 -1
- package/components/popover/popover.less +3 -0
- package/components/popup/popup-class.js +6 -1
- 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 +11 -2
- package/components/popup/popup.lazy.js +1 -1
- package/components/popup/popup.less +4 -0
- 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 +10 -2
- package/components/preloader/preloader.lazy.js +1 -1
- 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 +17 -4
- package/components/progressbar/progressbar.lazy.js +1 -1
- package/components/progressbar/progressbar.less +16 -4
- package/components/pull-to-refresh/pull-to-refresh-class.js +5 -1
- package/components/pull-to-refresh/pull-to-refresh.lazy.js +1 -1
- package/components/range/range.d.ts +23 -5
- package/components/range/range.js +10 -2
- package/components/range/range.lazy.js +1 -1
- package/components/searchbar/searchbar-class.js +6 -2
- package/components/searchbar/searchbar.js +20 -4
- package/components/searchbar/searchbar.lazy.js +1 -1
- package/components/sheet/sheet-class.js +21 -2
- 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 +11 -2
- package/components/sheet/sheet.lazy.js +1 -1
- package/components/sheet/sheet.less +3 -0
- package/components/smart-select/smart-select-class.js +15 -3
- package/components/smart-select/smart-select.lazy.js +1 -1
- package/components/sortable/sortable.d.ts +5 -1
- package/components/sortable/sortable.js +45 -8
- package/components/sortable/sortable.lazy.js +1 -1
- package/components/statusbar/statusbar.d.ts +9 -9
- package/components/statusbar/statusbar.js +5 -1
- package/components/stepper/stepper.js +10 -2
- package/components/stepper/stepper.lazy.js +1 -1
- package/components/swipeout/swipeout.js +16 -3
- package/components/swipeout/swipeout.lazy.js +1 -1
- package/components/swiper/swiper-rtl.css +1 -1
- package/components/swiper/swiper.css +1 -1
- package/components/swiper/swiper.lazy.js +1 -1
- package/components/tabs/tabs.js +14 -7
- package/components/tabs/tabs.lazy.js +1 -1
- package/components/toast/toast.d.ts +2 -2
- package/components/toggle/toggle-class.js +5 -1
- package/components/toggle/toggle.lazy.js +1 -1
- package/components/toolbar/toolbar-aurora.less +0 -13
- package/components/toolbar/toolbar-md.less +0 -13
- package/components/toolbar/toolbar.js +11 -3
- package/components/toolbar/toolbar.less +13 -0
- package/components/tooltip/tooltip-class.js +5 -1
- package/components/tooltip/tooltip.lazy.js +1 -1
- package/components/touch-ripple/touch-ripple.js +5 -1
- package/components/treeview/treeview.lazy.js +1 -1
- package/components/view/view-class.js +13 -2
- package/components/view/view.d.ts +5 -1
- package/components/view/view.js +2 -0
- package/components/virtual-list/virtual-list-class.js +54 -9
- package/components/virtual-list/virtual-list.d.ts +2 -2
- package/components/virtual-list/virtual-list.lazy.js +1 -1
- package/framework7-bundle-rtl.css +253 -150
- package/framework7-bundle-rtl.min.css +4 -4
- package/framework7-bundle.css +238 -134
- package/framework7-bundle.esm.js +5 -4
- package/framework7-bundle.js +2663 -1190
- 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 +5 -4
- package/framework7-lite.esm.js +3 -3
- package/framework7-rtl.css +12 -21
- package/framework7-rtl.min.css +4 -4
- package/framework7-types.d.ts +5 -1
- package/framework7.css +11 -19
- package/framework7.d.ts +4 -0
- package/framework7.esm.js +3 -3
- package/framework7.js +609 -189
- 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/modules/component/$h.js +5 -1
- package/modules/component/$jsx.js +5 -1
- package/modules/component/component-class.js +35 -22
- package/modules/component/component.d.ts +2 -2
- package/modules/component/component.js +7 -6
- package/modules/component/eventslisteners.js +5 -1
- package/modules/component/snabbdom/h.js +1 -1
- package/modules/component/vdom.js +32 -17
- package/modules/device/device.js +1 -1
- package/modules/router/back.js +16 -6
- package/modules/router/component-loader.js +34 -23
- package/modules/router/modal.js +5 -1
- package/modules/router/navigate.js +19 -3
- package/modules/router/redirect.js +5 -1
- package/modules/router/router-class.js +39 -10
- package/modules/router/swipe-back.js +7 -6
- package/modules/router/tab.js +6 -2
- package/modules/store/create-store.js +10 -2
- package/package.json +12 -6
- package/shared/$jsx.js +6 -1
- package/shared/class.js +33 -5
- package/shared/constructor-methods.js +25 -4
- package/shared/events-class.js +15 -3
- package/shared/get-device.d.ts +0 -2
- package/shared/get-device.js +10 -6
- package/shared/modal-methods.js +10 -2
- package/shared/request.js +45 -7
- package/shared/utils.js +47 -10
|
@@ -14,16 +14,14 @@
|
|
|
14
14
|
--f7-calendar-footer-border-color: var(--f7-bars-border-color);
|
|
15
15
|
--f7-calendar-footer-link-color: var(--f7-bars-link-color);
|
|
16
16
|
--f7-calendar-footer-text-color: var(--f7-bars-text-color);
|
|
17
|
-
--f7-calendar-week-header-bg-color: var(--f7-bars-bg-color);
|
|
18
|
-
--f7-calendar-week-header-text-color: var(--f7-bars-text-color);
|
|
19
17
|
*/
|
|
18
|
+
--f7-calendar-week-header-bg-color: transparent;
|
|
20
19
|
--f7-calendar-footer-padding: 0 8px;
|
|
21
20
|
--f7-calendar-week-header-font-size: 11px;
|
|
22
21
|
--f7-calendar-selected-text-color: #fff;
|
|
23
22
|
/*
|
|
24
23
|
--f7-calendar-selected-bg-color: var(--f7-theme-color);
|
|
25
24
|
*/
|
|
26
|
-
--f7-calendar-prev-next-text-color: #b8b8b8;
|
|
27
25
|
--f7-calendar-disabled-text-color: #d4d4d4;
|
|
28
26
|
--f7-calendar-event-dot-size: 4px;
|
|
29
27
|
/*
|
|
@@ -34,19 +32,21 @@
|
|
|
34
32
|
*/
|
|
35
33
|
--f7-calendar-time-selector-height: 28px;
|
|
36
34
|
.light-vars({
|
|
35
|
+
--f7-calendar-week-header-text-color: #5e5e5e;
|
|
36
|
+
--f7-calendar-prev-next-text-color: #c8c8c8;
|
|
37
37
|
--f7-calendar-day-text-color: #000;
|
|
38
38
|
--f7-calendar-sheet-bg-color: #fff;
|
|
39
39
|
--f7-calendar-modal-bg-color: #fff;
|
|
40
|
-
--f7-calendar-picker-bg-color: #fff;
|
|
41
40
|
--f7-calendar-picker-pressed-bg-color: rgba(0,0,0,0.1);
|
|
42
41
|
--f7-calendar-picker-hover-bg-color: rgba(0,0,0,0.03);
|
|
43
|
-
--f7-calendar-time-selector-bg-color: rgba(0,0,0,0.
|
|
42
|
+
--f7-calendar-time-selector-bg-color: rgba(0,0,0,0.05);
|
|
44
43
|
});
|
|
45
44
|
.dark-vars({
|
|
45
|
+
--f7-calendar-week-header-text-color: #aaa;
|
|
46
|
+
--f7-calendar-prev-next-text-color: #5e5e5e;
|
|
46
47
|
--f7-calendar-sheet-border-color: var(--f7-bars-border-color);
|
|
47
48
|
--f7-calendar-modal-bg-color: #121212;
|
|
48
49
|
--f7-calendar-sheet-bg-color: #121212;
|
|
49
|
-
--f7-calendar-picker-bg-color: #1c1c1d;
|
|
50
50
|
--f7-calendar-picker-pressed-bg-color: rgba(255,255,255,0.08);
|
|
51
51
|
--f7-calendar-picker-hover-bg-color: rgba(255,255,255,0.03);
|
|
52
52
|
--f7-calendar-time-selector-bg-color: rgba(255,255,255,0.1);
|
|
@@ -66,12 +66,10 @@
|
|
|
66
66
|
--f7-calendar-picker-font-size: 17px;
|
|
67
67
|
--f7-calendar-time-selector-font-size: 17px;
|
|
68
68
|
.light-vars({
|
|
69
|
-
--f7-calendar-row-border-color: rgba(0,0,0,0.25);
|
|
70
69
|
--f7-calendar-today-text-color: #000;
|
|
71
70
|
--f7-calendar-today-bg-color: #e3e3e3;
|
|
72
71
|
});
|
|
73
72
|
.dark-vars({
|
|
74
|
-
--f7-calendar-row-border-color: var(--f7-bars-border-color);
|
|
75
73
|
--f7-calendar-day-text-color: #fff;
|
|
76
74
|
--f7-calendar-today-text-color: #fff;
|
|
77
75
|
--f7-calendar-today-bg-color: #333;
|
|
@@ -86,7 +84,6 @@
|
|
|
86
84
|
--f7-calendar-footer-height: 48px;
|
|
87
85
|
--f7-calendar-footer-font-size: 14px;
|
|
88
86
|
--f7-calendar-week-header-height: 24px;
|
|
89
|
-
--f7-calendar-row-border-color: transparent;
|
|
90
87
|
--f7-calendar-day-font-size: 14px;
|
|
91
88
|
/*
|
|
92
89
|
--f7-calendar-today-text-color: var(--f7-theme-color);
|
|
@@ -113,7 +110,6 @@
|
|
|
113
110
|
--f7-calendar-day-size: 32px;
|
|
114
111
|
--f7-calendar-picker-font-size: 16px;
|
|
115
112
|
--f7-calendar-time-selector-font-size: 14px;
|
|
116
|
-
--f7-calendar-row-border-color: transparent;
|
|
117
113
|
.light-vars({
|
|
118
114
|
--f7-calendar-today-text-color: #000;
|
|
119
115
|
--f7-calendar-today-bg-color: #e3e3e3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--f7-calendar-height:340px;--f7-calendar-sheet-landscape-height:220px;--f7-calendar-popover-width:320px;--f7-calendar-popover-height:320px;--f7-calendar-modal-height:420px;--f7-calendar-modal-max-width:380px;--f7-calendar-modal-border-radius:4px;--f7-calendar-footer-padding:0 8px;--f7-calendar-week-header-font-size:11px;--f7-calendar-selected-text-color:#fff;--f7-calendar-prev-next-text-color:#b8b8b8;--f7-calendar-disabled-text-color:#d4d4d4;--f7-calendar-event-dot-size:4px;--f7-calendar-time-selector-height:28px;--f7-calendar-day-text-color:#000;--f7-calendar-sheet-bg-color:#fff;--f7-calendar-modal-bg-color:#fff;--f7-calendar-picker-bg-color:#fff;--f7-calendar-picker-pressed-bg-color:rgba(0, 0, 0, 0.1);--f7-calendar-picker-hover-bg-color:rgba(0, 0, 0, 0.03);--f7-calendar-time-selector-bg-color:rgba(0, 0, 0, 0.1)}:root .dark,:root.dark{--f7-calendar-sheet-border-color:var(--f7-bars-border-color);--f7-calendar-modal-bg-color:#121212;--f7-calendar-sheet-bg-color:#121212;--f7-calendar-picker-bg-color:#1c1c1d;--f7-calendar-picker-pressed-bg-color:rgba(255, 255, 255, 0.08);--f7-calendar-picker-hover-bg-color:rgba(255, 255, 255, 0.03);--f7-calendar-time-selector-bg-color:rgba(255, 255, 255, 0.1)}.ios{--f7-calendar-sheet-border-color:#929499;--f7-calendar-header-height:44px;--f7-calendar-header-font-size:17px;--f7-calendar-header-font-weight:600;--f7-calendar-header-padding:0 8px;--f7-calendar-footer-height:44px;--f7-calendar-footer-font-size:17px;--f7-calendar-week-header-height:18px;--f7-calendar-day-font-size:15px;--f7-calendar-day-size:30px;--f7-calendar-picker-font-size:17px;--f7-calendar-time-selector-font-size:17px;--f7-calendar-row-border-color:rgba(0, 0, 0, 0.25);--f7-calendar-today-text-color:#000;--f7-calendar-today-bg-color:#e3e3e3}.ios .dark,.ios.dark{--f7-calendar-row-border-color:var(--f7-bars-border-color);--f7-calendar-day-text-color:#fff;--f7-calendar-today-text-color:#fff;--f7-calendar-today-bg-color:#333}.md{--f7-calendar-sheet-border-color:#ccc;--f7-calendar-header-height:56px;--f7-calendar-header-font-size:20px;--f7-calendar-header-font-weight:400;--f7-calendar-header-padding:0 24px;--f7-calendar-footer-height:48px;--f7-calendar-footer-font-size:14px;--f7-calendar-week-header-height:24px;--f7-calendar-row-border-color:transparent;--f7-calendar-day-font-size:14px;--f7-calendar-today-bg-color:none;--f7-calendar-day-size:32px;--f7-calendar-picker-font-size:14px;--f7-calendar-time-selector-font-size:14px}.md .dark,.md.dark{--f7-calendar-day-text-color:rgba(255, 255, 255, 0.87)}.aurora{--f7-calendar-sheet-border-color:#ccc;--f7-calendar-header-height:56px;--f7-calendar-header-font-size:18px;--f7-calendar-header-font-weight:600;--f7-calendar-header-padding:0 16px;--f7-calendar-footer-height:48px;--f7-calendar-footer-font-size:14px;--f7-calendar-footer-padding:0 16px;--f7-calendar-week-header-height:24px;--f7-calendar-day-font-size:14px;--f7-calendar-day-size:32px;--f7-calendar-picker-font-size:16px;--f7-calendar-time-selector-font-size:14px;--f7-calendar-row-border-color:transparent;--f7-calendar-today-text-color:#000;--f7-calendar-today-bg-color:#e3e3e3}.aurora .dark,.aurora.dark{--f7-calendar-day-text-color:#fff;--f7-calendar-today-text-color:#fff;--f7-calendar-today-bg-color:#333}.calendar{overflow:hidden;height:var(--f7-calendar-height);width:100%;display:flex;flex-direction:column}.aurora .calendar{--f7-toolbar-border-color:transparent;--f7-bars-border-color:transparent}.calendar.modal-in{display:flex}@media (orientation:landscape) and (max-height:415px){.calendar.calendar-sheet{height:var(--f7-calendar-sheet-landscape-height)}.calendar.calendar-modal{height:calc(100vh - var(--f7-navbar-height))}}.calendar.calendar-inline,.calendar.calendar-popover .calendar{position:relative}.calendar-sheet{--f7-sheet-border-color:var(--f7-calendar-sheet-border-color);background:var(--f7-calendar-sheet-bg-color);padding-bottom:var(--f7-safe-area-bottom);height:calc(var(--f7-calendar-height) + var(--f7-safe-area-bottom))}.calendar-sheet:before{z-index:600}.calendar-modal .toolbar:before,.calendar-popover .toolbar:before,.calendar-sheet .toolbar:before{display:none}.calendar-popover{width:var(--f7-calendar-popover-width)}.calendar-popover .calendar-header,.calendar-popover .toolbar-top{border-radius:var(--f7-popover-border-radius) var(--f7-popover-border-radius) 0 0}.calendar-popover .calendar-header+.toolbar-top{border-radius:0}.calendar-popover .calendar-footer,.calendar-popover .toolbar-bottom{border-radius:0 0 var(--f7-popover-border-radius) var(--f7-popover-border-radius)}.calendar-popover .calendar{height:var(--f7-calendar-popover-height);position:relative;z-index:1}.calendar-popover .calendar-month-picker,.calendar-popover .calendar-time-picker,.calendar-popover .calendar-year-picker{border-radius:var(--f7-popover-border-radius)}.calendar-header{width:100%;position:relative;overflow:hidden;flex-shrink:0;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;padding:var(--f7-calendar-header-padding);background-color:var(--f7-calendar-header-bg-color,var(--f7-bars-bg-color));color:var(--f7-calendar-header-text-color,var(--f7-bars-text-color));height:var(--f7-calendar-header-height);line-height:var(--f7-calendar-header-height);font-size:var(--f7-calendar-header-font-size);font-weight:var(--f7-calendar-header-font-weight)}.calendar-header a{color:var(--f7-calendar-header-link-color,var(--f7-bars-link-color,var(--f7-theme-color)))}.calendar-footer{width:100%;flex-shrink:0;padding:var(--f7-calendar-footer-padding);background-color:var(--f7-calendar-footer-bg-color,var(--f7-bars-bg-color));color:var(--f7-calendar-footer-text-color,var(--f7-bars-text-color));height:var(--f7-calendar-footer-height);font-size:var(--f7-calendar-header-font-size);display:flex;justify-content:flex-end;box-sizing:border-box;align-items:center;position:relative}.calendar-footer a{color:var(--f7-calendar-footer-link-color,var(--f7-bars-link-color,var(--f7-theme-color)))}.calendar-footer:before{content:'';position:absolute;background-color:var(--f7-calendar-footer-border-color,var(--f7-bars-border-color));display:block;z-index:15;top:0;right:auto;bottom:auto;left:0;height:1px;width:100%;transform-origin:50% 0%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.calendar-modal{position:absolute;height:var(--f7-calendar-modal-height);overflow:hidden;top:50%;left:50%;min-width:300px;max-width:var(--f7-calendar-modal-max-width);transform:translate3d(-50%,100vh,0);transition-property:transform;display:flex;z-index:13500;background:var(--f7-calendar-modal-bg-color);width:90%;border-radius:var(--f7-calendar-modal-border-radius);box-shadow:var(--f7-elevation-24)}.calendar-modal.modal-in,.calendar-modal.modal-out{transition-duration:.4s}.calendar-modal.modal-in{transform:translate3d(-50%,-50%,0)}.calendar-modal.modal-out{transform:translate3d(-50%,100vh,0)}.calendar-week-header{display:flex;box-sizing:border-box;position:relative;font-size:var(--f7-calendar-week-header-font-size);background-color:var(--f7-calendar-week-header-bg-color,var(--f7-bars-bg-color));color:var(--f7-calendar-week-header-text-color,var(--f7-bars-text-color));height:var(--f7-calendar-week-header-height);padding-left:var(--f7-safe-area-left);padding-right:var(--f7-safe-area-right)}.calendar-week-header .calendar-week-day{flex-shrink:1;width:calc(100% / 7);text-align:center;line-height:var(--f7-calendar-week-header-height)}.calendar-months{width:100%;height:100%;overflow:hidden;position:relative;flex-shrink:10}.calendar-months-wrapper{position:relative;width:100%;height:100%;transition:.3s}.calendar-month{display:flex;flex-direction:column;width:100%;height:100%;position:absolute;left:0;top:0}.calendar-row{height:16.66666667%;display:flex;flex-shrink:1;width:100%;position:relative;box-sizing:border-box;padding-left:var(--f7-safe-area-left);padding-right:var(--f7-safe-area-right)}.calendar-row:before{content:'';position:absolute;background-color:var(--f7-calendar-row-border-color);display:block;z-index:15;top:0;right:auto;bottom:auto;left:0;height:1px;width:100%;transform-origin:50% 0%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.calendar-modal .calendar-months:first-child .calendar-row:first-child:before,.calendar-popover .calendar-months:first-child .calendar-row:first-child:before{display:none!important}.calendar-day{flex-shrink:1;display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:14.28571429%;text-align:center;cursor:pointer;z-index:20;color:var(--f7-calendar-day-text-color);height:100%;font-size:var(--f7-calendar-day-font-size)}.calendar-day-today .calendar-day-number{color:var(--f7-calendar-today-text-color,var(--f7-theme-color));background-color:var(--f7-calendar-today-bg-color)}.calendar-day-next,.calendar-day-prev{color:var(--f7-calendar-prev-next-text-color)}.calendar-day-disabled{color:var(--f7-calendar-disabled-text-color);cursor:auto}.calendar-day-selected .calendar-day-number{color:var(--f7-calendar-selected-text-color);background-color:var(--f7-calendar-selected-bg-color,var(--f7-theme-color))}.calendar-day-number{display:inline-block;border-radius:50%;position:relative;width:var(--f7-calendar-day-size);height:var(--f7-calendar-day-size);line-height:var(--f7-calendar-day-size)}.calendar-day-events{position:absolute;display:flex;left:0;width:100%;top:100%;align-items:center;justify-content:center;margin-top:1px}.calendar-day-event{width:var(--f7-calendar-event-dot-size);height:var(--f7-calendar-event-dot-size);border-radius:calc(var(--f7-calendar-event-dot-size)/ 2);background-color:var(--f7-calendar-event-bg-color)}.calendar-day-event+.calendar-day-event{margin-left:2px}.calendar-day-selected-left,.calendar-day-selected-range,.calendar-day-selected-right{position:relative}.calendar-day-selected-left:before,.calendar-day-selected-range:before,.calendar-day-selected-right:before{width:100%;height:var(--f7-calendar-day-size);content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:-1;background-color:var(--f7-calendar-selected-bg-color,var(--f7-theme-color));opacity:.2}.calendar-day-selected-left:before,.calendar-day-selected-range:first-child:before{left:auto;right:0;width:calc(50% + var(--f7-calendar-day-size)/ 2);border-radius:var(--f7-calendar-day-size) 0 0 var(--f7-calendar-day-size)}.calendar-day-selected-range:last-child:before,.calendar-day-selected-right:before{width:calc(50% + var(--f7-calendar-day-size)/ 2);border-radius:0 var(--f7-calendar-day-size) var(--f7-calendar-day-size) 0}.calendar-day-selected-left:last-child:before,.calendar-day-selected-right:first-child:before{display:none}.calendar-day-selected-range .calendar-day-number{background-color:transparent;color:inherit}.calendar-month-selector,.calendar-year-selector{display:flex;justify-content:space-between;align-items:center;width:50%;max-width:200px;flex-shrink:10;margin-left:auto;margin-right:auto}.calendar-month-selector .calendar-day-number,.calendar-year-selector .calendar-day-number{flex-shrink:1;position:relative;overflow:hidden;text-overflow:ellipsis}.calendar-month-selector a.icon-only,.calendar-year-selector a.icon-only{min-width:36px}.calendar-month-picker,.calendar-time-picker,.calendar-year-picker{position:absolute;width:100%;height:100%;left:0px;top:0px;background:var(--f7-calendar-picker-bg-color);z-index:1000;-webkit-user-select:none;user-select:none}.calendar-month-picker,.calendar-year-picker{flex-wrap:wrap;font-size:var(--f7-calendar-picker-font-size);display:flex}.calendar-month-picker-item,.calendar-year-picker-item{display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;cursor:pointer;transition-duration:.1s;box-sizing:border-box}.calendar-month-picker-item span,.calendar-year-picker-item span{white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;position:relative;overflow:hidden;pointer-events:none}.device-desktop.aurora .calendar-month-picker-item:hover,.device-desktop.aurora .calendar-year-picker-item:hover{background-color:var(--f7-calendar-picker-hover-bg-color)}.calendar-month-picker-item.active-state,.calendar-year-picker-item.active-state,.device-desktop.aurora .calendar-month-picker-item.active-state,.device-desktop.aurora .calendar-year-picker-item.active-state{background:var(--f7-calendar-picker-pressed-bg-color)}.calendar-month-picker-item{padding:5px}.calendar-month-picker-item:after{content:'';position:absolute;background-color:var(--f7-calendar-row-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)))}.calendar-month-picker-item:before{content:'';position:absolute;background-color:var(--f7-calendar-row-border-color);display:block;z-index:15;top:0;right:auto;bottom:auto;left:0;width:1px;height:100%;transform-origin:0% 50%;transform:scaleX(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal .calendar-month-picker-item{width:25%;height:33.33333333%}.sheet-modal .calendar-month-picker-item:nth-child(4n+1):before{display:none!important}.sheet-modal .calendar-month-picker-item:nth-child(n+9):after{display:none!important}.calendar-modal .calendar-month-picker-item,.popover .calendar-month-picker-item{width:33.33333333%;height:25%}.calendar-modal .calendar-month-picker-item:nth-child(3n+1):before,.popover .calendar-month-picker-item:nth-child(3n+1):before{display:none!important}.calendar-modal .calendar-month-picker-item:nth-child(n+10):after,.popover .calendar-month-picker-item:nth-child(n+10):after{display:none!important}.calendar-month-picker-item-current,.calendar-year-picker-item-current{color:var(--f7-calendar-picker-selected-text-color,var(--f7-theme-color))}.calendar-year-picker{overflow:auto;--webkit-overflow-scrolling:touch}.calendar-year-picker-item{height:34px;line-height:34px;width:100%}.calendar-year-picker-item:after{content:'';position:absolute;background-color:var(--f7-calendar-row-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)))}.calendar-time-selector{flex-shrink:0;font-size:var(--f7-calendar-time-selector-font-size);position:relative;display:flex;justify-content:center;padding:12px 16px}.calendar-time-selector:before{content:'';position:absolute;background-color:var(--f7-calendar-row-border-color);display:block;z-index:15;top:0;right:auto;bottom:auto;left:0;height:1px;width:100%;transform-origin:50% 0%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.calendar-time-selector a{overflow:hidden;position:relative;justify-content:center;align-items:center;display:flex;min-width:200px;box-sizing:border-box;height:var(--f7-calendar-time-selector-height);background-color:var(--f7-calendar-time-selector-bg-color);padding:0 10px;border-radius:8px}.calendar-time-selector .segmented{margin-left:8px}.calendar-time-picker{--f7-picker-popover-height:100%;--f7-picker-inline-height:100%}.calendar-time-picker .toolbar{flex-shrink:0;top:0!important}.calendar-time-picker .picker{height:100%;display:flex;flex-direction:column}
|
|
1
|
+
:root{--f7-calendar-height:340px;--f7-calendar-sheet-landscape-height:220px;--f7-calendar-popover-width:320px;--f7-calendar-popover-height:320px;--f7-calendar-modal-height:420px;--f7-calendar-modal-max-width:380px;--f7-calendar-modal-border-radius:4px;--f7-calendar-week-header-bg-color:transparent;--f7-calendar-footer-padding:0 8px;--f7-calendar-week-header-font-size:11px;--f7-calendar-selected-text-color:#fff;--f7-calendar-disabled-text-color:#d4d4d4;--f7-calendar-event-dot-size:4px;--f7-calendar-time-selector-height:28px;--f7-calendar-week-header-text-color:#5e5e5e;--f7-calendar-prev-next-text-color:#c8c8c8;--f7-calendar-day-text-color:#000;--f7-calendar-sheet-bg-color:#fff;--f7-calendar-modal-bg-color:#fff;--f7-calendar-picker-pressed-bg-color:rgba(0, 0, 0, 0.1);--f7-calendar-picker-hover-bg-color:rgba(0, 0, 0, 0.03);--f7-calendar-time-selector-bg-color:rgba(0, 0, 0, 0.05)}:root .dark,:root.dark{--f7-calendar-week-header-text-color:#aaa;--f7-calendar-prev-next-text-color:#5e5e5e;--f7-calendar-sheet-border-color:var(--f7-bars-border-color);--f7-calendar-modal-bg-color:#121212;--f7-calendar-sheet-bg-color:#121212;--f7-calendar-picker-pressed-bg-color:rgba(255, 255, 255, 0.08);--f7-calendar-picker-hover-bg-color:rgba(255, 255, 255, 0.03);--f7-calendar-time-selector-bg-color:rgba(255, 255, 255, 0.1)}.ios{--f7-calendar-sheet-border-color:#929499;--f7-calendar-header-height:44px;--f7-calendar-header-font-size:17px;--f7-calendar-header-font-weight:600;--f7-calendar-header-padding:0 8px;--f7-calendar-footer-height:44px;--f7-calendar-footer-font-size:17px;--f7-calendar-week-header-height:18px;--f7-calendar-day-font-size:15px;--f7-calendar-day-size:30px;--f7-calendar-picker-font-size:17px;--f7-calendar-time-selector-font-size:17px;--f7-calendar-today-text-color:#000;--f7-calendar-today-bg-color:#e3e3e3}.ios .dark,.ios.dark{--f7-calendar-day-text-color:#fff;--f7-calendar-today-text-color:#fff;--f7-calendar-today-bg-color:#333}.md{--f7-calendar-sheet-border-color:#ccc;--f7-calendar-header-height:56px;--f7-calendar-header-font-size:20px;--f7-calendar-header-font-weight:400;--f7-calendar-header-padding:0 24px;--f7-calendar-footer-height:48px;--f7-calendar-footer-font-size:14px;--f7-calendar-week-header-height:24px;--f7-calendar-day-font-size:14px;--f7-calendar-today-bg-color:none;--f7-calendar-day-size:32px;--f7-calendar-picker-font-size:14px;--f7-calendar-time-selector-font-size:14px}.md .dark,.md.dark{--f7-calendar-day-text-color:rgba(255, 255, 255, 0.87)}.aurora{--f7-calendar-sheet-border-color:#ccc;--f7-calendar-header-height:56px;--f7-calendar-header-font-size:18px;--f7-calendar-header-font-weight:600;--f7-calendar-header-padding:0 16px;--f7-calendar-footer-height:48px;--f7-calendar-footer-font-size:14px;--f7-calendar-footer-padding:0 16px;--f7-calendar-week-header-height:24px;--f7-calendar-day-font-size:14px;--f7-calendar-day-size:32px;--f7-calendar-picker-font-size:16px;--f7-calendar-time-selector-font-size:14px;--f7-calendar-today-text-color:#000;--f7-calendar-today-bg-color:#e3e3e3}.aurora .dark,.aurora.dark{--f7-calendar-day-text-color:#fff;--f7-calendar-today-text-color:#fff;--f7-calendar-today-bg-color:#333}.calendar{overflow:hidden;height:var(--f7-calendar-height);width:100%;display:flex;flex-direction:column}.aurora .calendar{--f7-toolbar-border-color:transparent;--f7-bars-border-color:transparent}.calendar.modal-in{display:flex}@media (orientation:landscape) and (max-height:415px){.calendar.calendar-sheet{height:var(--f7-calendar-sheet-landscape-height)}.calendar.calendar-modal{height:calc(100vh - var(--f7-navbar-height))}}.calendar.calendar-inline,.calendar.calendar-popover .calendar{position:relative}.calendar-sheet{--f7-sheet-border-color:var(--f7-calendar-sheet-border-color);background:var(--f7-calendar-sheet-bg-color);padding-bottom:var(--f7-safe-area-bottom);height:calc(var(--f7-calendar-height) + var(--f7-safe-area-bottom))}.calendar-sheet:before{z-index:600}.calendar-modal .toolbar:before,.calendar-popover .toolbar:before,.calendar-sheet .toolbar:before{display:none}.calendar-popover{width:var(--f7-calendar-popover-width)}.calendar-popover .calendar-header,.calendar-popover .toolbar-top{border-radius:var(--f7-popover-border-radius) var(--f7-popover-border-radius) 0 0}.calendar-popover .calendar-header+.toolbar-top{border-radius:0}.calendar-popover .calendar-footer,.calendar-popover .toolbar-bottom{border-radius:0 0 var(--f7-popover-border-radius) var(--f7-popover-border-radius)}.calendar-popover .calendar{height:var(--f7-calendar-popover-height);position:relative;z-index:1}.calendar-popover .calendar-month-picker,.calendar-popover .calendar-time-picker,.calendar-popover .calendar-year-picker{border-radius:var(--f7-popover-border-radius)}.calendar-header{width:100%;position:relative;overflow:hidden;flex-shrink:0;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;padding:var(--f7-calendar-header-padding);background-color:var(--f7-calendar-header-bg-color,var(--f7-bars-bg-color));color:var(--f7-calendar-header-text-color,var(--f7-bars-text-color));height:var(--f7-calendar-header-height);line-height:var(--f7-calendar-header-height);font-size:var(--f7-calendar-header-font-size);font-weight:var(--f7-calendar-header-font-weight)}.calendar-header a{color:var(--f7-calendar-header-link-color,var(--f7-bars-link-color,var(--f7-theme-color)))}.calendar-footer{width:100%;flex-shrink:0;padding:var(--f7-calendar-footer-padding);background-color:var(--f7-calendar-footer-bg-color,var(--f7-bars-bg-color));color:var(--f7-calendar-footer-text-color,var(--f7-bars-text-color));height:var(--f7-calendar-footer-height);font-size:var(--f7-calendar-header-font-size);display:flex;justify-content:flex-end;box-sizing:border-box;align-items:center;position:relative}.calendar-footer a{color:var(--f7-calendar-footer-link-color,var(--f7-bars-link-color,var(--f7-theme-color)))}.calendar-footer:before{content:'';position:absolute;background-color:var(--f7-calendar-footer-border-color,var(--f7-bars-border-color));display:block;z-index:15;top:0;right:auto;bottom:auto;left:0;height:1px;width:100%;transform-origin:50% 0%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.calendar-modal{position:absolute;height:var(--f7-calendar-modal-height);overflow:hidden;top:50%;left:50%;min-width:300px;max-width:var(--f7-calendar-modal-max-width);transform:translate3d(-50%,100vh,0);transition-property:transform;display:flex;z-index:13500;background:var(--f7-calendar-modal-bg-color);width:90%;border-radius:var(--f7-calendar-modal-border-radius);box-shadow:var(--f7-elevation-24)}.calendar-modal.modal-in,.calendar-modal.modal-out{transition-duration:.4s}.calendar-modal.modal-in{transform:translate3d(-50%,-50%,0)}.calendar-modal.modal-out{transform:translate3d(-50%,100vh,0)}.calendar-week-header{display:flex;box-sizing:border-box;position:relative;font-size:var(--f7-calendar-week-header-font-size);background-color:var(--f7-calendar-week-header-bg-color,var(--f7-bars-bg-color));color:var(--f7-calendar-week-header-text-color,var(--f7-bars-text-color));height:var(--f7-calendar-week-header-height);padding-left:var(--f7-safe-area-left);padding-right:var(--f7-safe-area-right)}.calendar-week-header .calendar-week-day{flex-shrink:1;width:calc(100% / 7);text-align:center;line-height:var(--f7-calendar-week-header-height)}.calendar-months{width:100%;height:100%;overflow:hidden;position:relative;flex-shrink:10}.calendar-months-wrapper{position:relative;width:100%;height:100%;transition:.3s}.calendar-month{display:flex;flex-direction:column;width:100%;height:100%;position:absolute;left:0;top:0}.calendar-row{height:16.66666667%;display:flex;flex-shrink:1;width:100%;position:relative;box-sizing:border-box;padding-left:var(--f7-safe-area-left);padding-right:var(--f7-safe-area-right)}.calendar-modal .calendar-months:first-child .calendar-row:first-child:before,.calendar-popover .calendar-months:first-child .calendar-row:first-child:before{display:none!important}.calendar-day{flex-shrink:1;display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:14.28571429%;text-align:center;cursor:pointer;z-index:20;color:var(--f7-calendar-day-text-color);height:100%;font-size:var(--f7-calendar-day-font-size)}.calendar-day-today .calendar-day-number{color:var(--f7-calendar-today-text-color,var(--f7-theme-color));background-color:var(--f7-calendar-today-bg-color)}.calendar-day-next,.calendar-day-prev{color:var(--f7-calendar-prev-next-text-color)}.calendar-day-disabled{color:var(--f7-calendar-disabled-text-color);cursor:auto}.calendar-day-selected .calendar-day-number{color:var(--f7-calendar-selected-text-color);background-color:var(--f7-calendar-selected-bg-color,var(--f7-theme-color))}.calendar-day-number{display:inline-block;border-radius:50%;position:relative;width:var(--f7-calendar-day-size);height:var(--f7-calendar-day-size);line-height:var(--f7-calendar-day-size)}.calendar-day-events{position:absolute;display:flex;left:0;width:100%;top:100%;align-items:center;justify-content:center;margin-top:1px}.calendar-day-event{width:var(--f7-calendar-event-dot-size);height:var(--f7-calendar-event-dot-size);border-radius:calc(var(--f7-calendar-event-dot-size)/ 2);background-color:var(--f7-calendar-event-bg-color)}.calendar-day-event+.calendar-day-event{margin-left:2px}.calendar-day-selected-left,.calendar-day-selected-range,.calendar-day-selected-right{position:relative}.calendar-day-selected-left:before,.calendar-day-selected-range:before,.calendar-day-selected-right:before{width:100%;height:var(--f7-calendar-day-size);content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:-1;background-color:var(--f7-calendar-selected-bg-color,var(--f7-theme-color));opacity:.2}.calendar-day-selected-left:before,.calendar-day-selected-range:first-child:before{left:auto;right:0;width:calc(50% + var(--f7-calendar-day-size)/ 2);border-radius:var(--f7-calendar-day-size) 0 0 var(--f7-calendar-day-size)}.calendar-day-selected-range:last-child:before,.calendar-day-selected-right:before{width:calc(50% + var(--f7-calendar-day-size)/ 2);border-radius:0 var(--f7-calendar-day-size) var(--f7-calendar-day-size) 0}.calendar-day-selected-left:last-child:before,.calendar-day-selected-right:first-child:before{display:none}.calendar-day-selected-range .calendar-day-number{background-color:transparent;color:inherit}.calendar-month-selector,.calendar-year-selector{display:flex;justify-content:space-between;align-items:center;width:50%;max-width:200px;flex-shrink:10;margin-left:auto;margin-right:auto}.calendar-month-selector .calendar-day-number,.calendar-year-selector .calendar-day-number{flex-shrink:1;position:relative;overflow:hidden;text-overflow:ellipsis}.calendar-month-selector a.icon-only,.calendar-year-selector a.icon-only{min-width:36px}.calendar-month-picker,.calendar-time-picker,.calendar-year-picker{position:relative;width:100%;height:100%;-webkit-user-select:none;user-select:none;background:0 0}.calendar-month-picker .picker-columns,.calendar-year-picker .picker-columns{text-align:center}.calendar-month-picker-item,.calendar-year-picker-item{display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;cursor:pointer;transition-duration:.1s;box-sizing:border-box}.calendar-month-picker-item span,.calendar-year-picker-item span{white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;position:relative;overflow:hidden;pointer-events:none}.device-desktop.aurora .calendar-month-picker-item:hover,.device-desktop.aurora .calendar-year-picker-item:hover{background-color:var(--f7-calendar-picker-hover-bg-color)}.calendar-month-picker-item.active-state,.calendar-year-picker-item.active-state,.device-desktop.aurora .calendar-month-picker-item.active-state,.device-desktop.aurora .calendar-year-picker-item.active-state{background:var(--f7-calendar-picker-pressed-bg-color)}.calendar-month-picker-item{padding:5px}.sheet-modal .calendar-month-picker-item{width:25%;height:33.33333333%}.sheet-modal .calendar-month-picker-item:nth-child(4n+1):before{display:none!important}.sheet-modal .calendar-month-picker-item:nth-child(n+9):after{display:none!important}.calendar-modal .calendar-month-picker-item,.popover .calendar-month-picker-item{width:33.33333333%;height:25%}.calendar-modal .calendar-month-picker-item:nth-child(3n+1):before,.popover .calendar-month-picker-item:nth-child(3n+1):before{display:none!important}.calendar-modal .calendar-month-picker-item:nth-child(n+10):after,.popover .calendar-month-picker-item:nth-child(n+10):after{display:none!important}.calendar-month-picker-item-current,.calendar-year-picker-item-current{color:var(--f7-calendar-picker-selected-text-color,var(--f7-theme-color))}.calendar-year-picker{overflow:auto;--webkit-overflow-scrolling:touch}.calendar-year-picker-item{height:34px;line-height:34px;width:100%}.calendar-time-selector{flex-shrink:0;font-size:var(--f7-calendar-time-selector-font-size);position:relative;display:flex;justify-content:space-between;align-items:center;padding:12px 16px}.calendar-time-selector a{overflow:hidden;position:relative;justify-content:center;align-items:center;display:flex;box-sizing:border-box;height:var(--f7-calendar-time-selector-height);background-color:var(--f7-calendar-time-selector-bg-color);padding:0 16px;border-radius:8px}.calendar-time-selector>span{font-weight:500}.calendar-time-selector .segmented{margin-left:8px}.calendar-month-picker-popover,.calendar-time-picker-popover,.calendar-year-picker-popover{height:240px;width:240px}.calendar-month-picker-popover .popover-inner,.calendar-time-picker-popover .popover-inner,.calendar-year-picker-popover .popover-inner{height:100%;overflow:hidden}.calendar-time-picker{--f7-picker-popover-height:100%;--f7-picker-inline-height:100%}.calendar-time-picker .toolbar{flex-shrink:0;top:0!important}.calendar-time-picker .picker{height:100%;display:flex;flex-direction:column}
|
|
@@ -143,6 +143,8 @@ export namespace Calendar {
|
|
|
143
143
|
yearPickerMax?: number;
|
|
144
144
|
/** Enables time picker (default false) */
|
|
145
145
|
timePicker?: boolean;
|
|
146
|
+
/** Time picker label text (default "Time") */
|
|
147
|
+
timePickerLabel?: string;
|
|
146
148
|
/** Time format displayed in time selector. (default { hour: 'numeric', minute: 'numeric' }) */
|
|
147
149
|
timePickerFormat?: Intl.DateTimeFormatOptions;
|
|
148
150
|
/** Text to display in time selector placeholder. (default "Select time") */
|
|
@@ -16,7 +16,11 @@ export default {
|
|
|
16
16
|
domProp: 'f7Calendar'
|
|
17
17
|
});
|
|
18
18
|
|
|
19
|
-
app.calendar.close = function close(el
|
|
19
|
+
app.calendar.close = function close(el) {
|
|
20
|
+
if (el === void 0) {
|
|
21
|
+
el = '.calendar';
|
|
22
|
+
}
|
|
23
|
+
|
|
20
24
|
const $el = $(el);
|
|
21
25
|
if ($el.length === 0) return;
|
|
22
26
|
const calendar = $el[0].f7Calendar;
|
|
@@ -64,6 +68,7 @@ export default {
|
|
|
64
68
|
yearPickerMin: undefined,
|
|
65
69
|
yearPickerMax: undefined,
|
|
66
70
|
timePicker: false,
|
|
71
|
+
timePickerLabel: 'Time',
|
|
67
72
|
timePickerFormat: {
|
|
68
73
|
hour: 'numeric',
|
|
69
74
|
minute: 'numeric'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function framework7ComponentLoader(e,a){void 0===a&&(a=!0);var t=e.$,n=e.utils,r=e.getDevice,o=e.getSupport,l=e.Class,s=(e.Modal,e.ConstructorMethods),i=(e.ModalMethods,n.extend),c=n.nextTick,d=n.deleteProps;class m extends l{constructor(e,a={}){super(a,[e]);const n=this;let r,l;if(n.params=i({},e.params.calendar,a),n.params.containerEl&&(r=t(n.params.containerEl),0===r.length))return n;n.params.inputEl&&(l=t(n.params.inputEl));const s="horizontal"===n.params.direction;let c=1;s&&(c=e.rtl?-1:1),i(n,{app:e,$containerEl:r,containerEl:r&&r[0],inline:r&&r.length>0,$inputEl:l,inputEl:l&&l[0],initialized:!1,opened:!1,url:n.params.url,isHorizontal:s,inverter:c,animating:!1,allowTouchMove:!0,hasTimePicker:n.params.timePicker&&!n.params.rangePicker&&!n.params.multiple}),n.dayFormatter=new Intl.DateTimeFormat(n.params.locale,{day:"numeric"}),n.monthFormatter=new Intl.DateTimeFormat(n.params.locale,{month:"long"}),n.yearFormatter=new Intl.DateTimeFormat(n.params.locale,{year:"numeric"}),n.timeSelectorFormatter=new Intl.DateTimeFormat(n.params.locale,n.params.timePickerFormat);const d=n.timeSelectorFormatter.format(new Date).toLowerCase();n.is12HoursFormat=d.indexOf("pm")>=0||d.indexOf("am")>=0;let{monthNames:m,monthNamesShort:h,dayNames:u,dayNamesShort:p}=n.params;const{monthNamesIntl:g,monthNamesShortIntl:f,dayNamesIntl:v,dayNamesShortIntl:$}=n.getIntlNames();function y(){n.open()}function k(e){e.preventDefault()}function M(){n.setValue([]),n.opened&&n.update()}function D(e){const a=t(e.target);!n.destroyed&&n.params&&(n.isPopover()||n.opened&&!n.closing&&(a.closest('[class*="backdrop"]').length||(l&&l.length>0?a[0]!==l[0]&&0===a.closest(".sheet-modal, .calendar-modal").length&&n.close():0===t(e.target).closest(".sheet-modal, .calendar-modal").length&&n.close())))}return"auto"===m&&(m=g),"auto"===h&&(h=f),"auto"===u&&(u=v),"auto"===p&&(p=$),i(n,{monthNames:m,monthNamesShort:h,dayNames:u,dayNamesShort:p}),i(n,{attachInputEvents(){n.$inputEl.on("click",y),n.$inputEl.on("input:clear",M),n.params.inputReadOnly&&(n.$inputEl.on("focus mousedown",k),n.$inputEl[0]&&(n.$inputEl[0].f7ValidateReadonly=!0))},detachInputEvents(){n.$inputEl.off("click",y),n.$inputEl.off("input:clear",M),n.params.inputReadOnly&&(n.$inputEl.off("focus mousedown",k),n.$inputEl[0]&&delete n.$inputEl[0].f7ValidateReadonly)},attachHtmlEvents(){e.on("click",D)},detachHtmlEvents(){e.off("click",D)}}),n.attachCalendarEvents=function(){let a,r,l,s,i,c,d,m,h,u,p,g,f,v,$=!0;const{$el:y,$wrapperEl:k}=n;function M(e){r||a||(a=!0,l="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,i=l,s="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,c=s,d=(new Date).getTime(),g=0,$=!0,v=void 0,h=n.monthsTranslate)}function D(e){if(!a)return;const{isHorizontal:t}=n;i="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,c="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,void 0===v&&(v=!!(v||Math.abs(c-s)>Math.abs(i-l))),t&&v||!n.allowTouchMove?a=!1:(e.preventDefault(),n.animating?a=!1:($=!1,r||(r=!0,u=k[0].offsetWidth,p=k[0].offsetHeight,k.transition(0)),f=t?i-l:c-s,g=f/(t?u:p),h=100*(n.monthsTranslate*n.inverter+g),k.transform(`translate3d(${t?h:0}%, ${t?0:h}%, 0)`)))}function w(){if(!a||!r)return a=!1,void(r=!1);a=!1,r=!1,m=(new Date).getTime(),m-d<300?Math.abs(f)<10?n.resetMonth():f>=10?e.rtl?n.nextMonth():n.prevMonth():e.rtl?n.prevMonth():n.nextMonth():g<=-.5?e.rtl?n.prevMonth():n.nextMonth():g>=.5?e.rtl?n.nextMonth():n.prevMonth():n.resetMonth(),setTimeout((()=>{$=!0}),100)}function x(e){if(!$)return;let a=t(e.target).parents(".calendar-day");if(0===a.length&&t(e.target).hasClass("calendar-day")&&(a=t(e.target)),0===a.length)return;if(a.hasClass("calendar-day-disabled"))return;n.params.rangePicker||(a.hasClass("calendar-day-next")&&n.nextMonth(),a.hasClass("calendar-day-prev")&&n.prevMonth());const r=parseInt(a.attr("data-year"),10),o=parseInt(a.attr("data-month"),10),l=parseInt(a.attr("data-day"),10);if(n.emit("local::dayClick calendarDayClick",n,a[0],r,o,l),!a.hasClass("calendar-day-selected")||n.params.multiple||n.params.rangePicker){const e=new Date(r,o,l,0,0,0);n.hasTimePicker&&(n.value&&n.value[0]?e.setHours(n.value[0].getHours(),n.value[0].getMinutes()):e.setHours((new Date).getHours(),(new Date).getMinutes())),n.addValue(e)}n.params.closeOnSelect&&(n.params.rangePicker&&2===n.value.length||!n.params.rangePicker)&&n.close()}function T(){n.nextMonth()}function C(){n.prevMonth()}function P(){n.nextYear()}function E(){n.prevYear()}function I(){y.append(n.renderMonthPicker())}function b(){const e=t(this);if(e.hasClass("calendar-month-picker-item-current"))return void y.find(".calendar-month-picker").remove();y.find(".calendar-month-picker-item-current").add(e).toggleClass("calendar-month-picker-item-current");const a=e.index()-(parseInt(n.$el.find(".calendar-month-current").attr("data-locale-month"),10)-n.currentMonth);n.setYearMonth(n.currentYear,a,0),setTimeout((()=>{y.find(".calendar-month-picker").remove()}),200)}function Y(){y.append(n.renderYearPicker());const e=y.find(".calendar-year-picker-item-current"),a=y.find(".calendar-year-picker");e&&e.length&&a.scrollTop(e[0].offsetTop-a[0].offsetHeight/2+e[0].offsetHeight/2)}function F(){const e=t(this);if(e.hasClass("calendar-year-picker-item-current"))return void y.find(".calendar-year-picker").remove();y.find(".calendar-year-picker-item-current").add(e).toggleClass("calendar-year-picker-item-current");const a=parseInt(e.attr("data-year"),10);n.setYearMonth(a,void 0,0),setTimeout((()=>{y.find(".calendar-year-picker").remove()}),200)}function H(){n.openTimePicker()}function S(){n.closeTimePicker()}const j=!("touchstart"!==e.touchEvents.start||!o().passiveListener)&&{passive:!0,capture:!1};y.find(".calendar-prev-month-button").on("click",C),y.find(".calendar-next-month-button").on("click",T),y.find(".calendar-prev-year-button").on("click",E),y.find(".calendar-next-year-button").on("click",P),n.params.monthPicker&&(y.find(".current-month-value").on("click",I),y.on("click",".calendar-month-picker-item",b)),n.params.yearPicker&&(y.find(".current-year-value").on("click",Y),y.on("click",".calendar-year-picker-item",F)),n.hasTimePicker&&(y.find(".calendar-time-selector a").on("click",H),y.on("click",".calendar-time-picker-close",S)),k.on("click",x),n.params.touchMove&&(k.on(e.touchEvents.start,M,j),e.on("touchmove:active",D),e.on("touchend:passive",w)),n.detachCalendarEvents=function(){y.find(".calendar-prev-month-button").off("click",C),y.find(".calendar-next-month-button").off("click",T),y.find(".calendar-prev-year-button").off("click",E),y.find(".calendar-next-year-button").off("click",P),n.params.monthPicker&&(y.find(".current-month-value").off("click",I),y.off("click",".calendar-month-picker-item",b)),n.params.yearPicker&&(y.find(".current-year-value").off("click",Y),y.off("click",".calendar-year-picker-item",F)),n.hasTimePicker&&(y.find(".calendar-time-selector a").off("click",H),y.off("click",".calendar-time-picker-close",S)),k.off("click",x),n.params.touchMove&&(k.off(e.touchEvents.start,M,j),e.off("touchmove:active",D),e.off("touchend:passive",w))}},n.init(),n}get view(){const{$inputEl:e,app:a,params:t}=this;let n;return t.view?n=t.view:e&&(n=e.parents(".view").length&&e.parents(".view")[0].f7View),n||(n=a.views.main),n}getIntlNames(){const e=this,a=e.params.locale,t=[],n=[],r=[],o=[],l=new Intl.DateTimeFormat(a,{month:"long"}),s=new Intl.DateTimeFormat(a,{month:"short"}),i=new Intl.DateTimeFormat(a,{weekday:"long"}),c=new Intl.DateTimeFormat(a,{weekday:"short"});let d,m,h;for(let a=0;a<24;a+=1){const r=(new Date).setMonth(a,1),o=e.yearFormatter.format(r);d&&o!==d&&(m&&(h=!0),m=!0,d=o),d||(d=o),m&&d===o&&!h&&(t.push(l.format(r)),n.push(s.format(r)))}const u=(new Date).getDay();for(let e=0;e<7;e+=1){const a=(new Date).getTime()+24*(e-u)*60*60*1e3;r.push(i.format(a)),o.push(c.format(a))}return{monthNamesIntl:t,monthNamesShortIntl:n,dayNamesIntl:r,dayNamesShortIntl:o}}normalizeDate(e){const a=new Date(e);return this.hasTimePicker?new Date(a.getFullYear(),a.getMonth(),a.getDate(),a.getHours(),a.getMinutes()):new Date(a.getFullYear(),a.getMonth(),a.getDate())}normalizeValues(e){const a=this;let t=[];return e&&Array.isArray(e)&&(t=e.map((e=>a.normalizeDate(e)))),t}initInput(){const e=this;e.$inputEl&&e.params.inputReadOnly&&e.$inputEl.prop("readOnly",!0)}isPopover(){const e=this,{app:a,modal:t,params:n}=e,o=r();if("sheet"===n.openIn)return!1;if(t&&"popover"!==t.type)return!1;if(!e.inline&&e.inputEl){if("popover"===n.openIn)return!0;if(o.ios)return!!o.ipad;if(a.width>=768)return!0;if(o.desktop&&"aurora"===a.theme)return!0}return!1}formatDate(e){const a=this,t=new Date(e),n=t.getFullYear(),r=t.getMonth(),o=r+1,l=t.getDate(),s=t.getDay(),{monthNames:i,monthNamesShort:c,dayNames:d,dayNamesShort:m}=a,{dateFormat:h,locale:u}=a.params;function p(e){return e<10?`0${e}`:e}if("string"==typeof h){const e={yyyy:n,yy:String(n).substring(2),mm:p(o),m:o,MM:i[r],M:c[r],dd:p(l),d:l,DD:d[s],D:m[s]};if(a.params.timePicker){const a=t.getHours(),n=t.getMinutes(),r=t.getSeconds();let o=a;a>12&&(o=a-12),0===a&&(o=12);const l=a>=12&&0!==a?"pm":"am";Object.assign(e,{HH:p(a),H:a,hh:p(o),h:o,ss:p(r),s:r,":mm":p(n),":m":n,a:l,A:l.toUpperCase()})}const u=new RegExp(Object.keys(e).map((e=>`(${e})`)).join("|"),"g");return h.replace(u,(a=>a in e?e[a]:a))}if("function"==typeof h)return h(t);return new Intl.DateTimeFormat(u,h).format(t)}formatValue(){const e=this,{value:a}=e;return e.params.formatValue?e.params.formatValue.call(e,a):a.map((a=>e.formatDate(a))).join(e.params.rangePicker?" - ":", ")}addValue(e){const a=this,{multiple:t,rangePicker:n,rangePickerMinDays:r,rangePickerMaxDays:o}=a.params;if(t){let t;a.value||(a.value=[]);for(let n=0;n<a.value.length;n+=1)new Date(e).getTime()===new Date(a.value[n]).getTime()&&(t=n);void 0===t?a.value.push(e):a.value.splice(t,1),a.updateValue()}else n?(a.value||(a.value=[]),2!==a.value.length&&0!==a.value.length||(a.value=[]),0===a.value.length||Math.abs(a.value[0].getTime()-e.getTime())>=60*(r-1)*60*24*1e3&&(0===o||Math.abs(a.value[0].getTime()-e.getTime())<=60*(o-1)*60*24*1e3)?a.value.push(e):a.value=[],a.value.sort(((e,a)=>e-a)),a.updateValue()):(a.value=[e],a.updateValue())}setValue(e){const a=this,t=a.value;if(Array.isArray(t)&&Array.isArray(e)&&t.length===e.length){let a=!0;if(t.forEach(((t,n)=>{t!==e[n]&&(a=!1)})),a)return}a.value=e,a.updateValue()}getValue(){return this.value}updateValue(e){const a=this,{$el:t,$wrapperEl:n,$inputEl:r,value:o,params:l}=a;let s;if(t&&t.length>0){let e;if(n.find(".calendar-day-selected").removeClass("calendar-day-selected calendar-day-selected-range calendar-day-selected-left calendar-day-selected-right"),l.rangePicker&&2===o.length){const a=new Date(o[0]).getTime(),t=new Date(o[1]).getTime();for(s=a;s<=t;s+=864e5){e=new Date(s);let r="calendar-day-selected";a!==t&&(s!==a&&s!==t&&(r+=" calendar-day-selected-range"),s===a&&(r+=" calendar-day-selected-left"),s===t&&(r+=" calendar-day-selected-right")),n.find(`.calendar-day[data-date="${e.getFullYear()}-${e.getMonth()}-${e.getDate()}"]`).addClass(r)}e=new Date(a),n.find(`.calendar-day[data-date="${e.getFullYear()}-${e.getMonth()}-${e.getDate()}"]`).removeClass("calendar-day-selected-range").addClass("calendar-day-selected calendar-day-selected-left"),e=new Date(t),n.find(`.calendar-day[data-date="${e.getFullYear()}-${e.getMonth()}-${e.getDate()}"]`).removeClass("calendar-day-selected-range").addClass("calendar-day-selected calendar-day-selected-right")}else for(s=0;s<a.value.length;s+=1)e=new Date(o[s]),n.find(`.calendar-day[data-date="${e.getFullYear()}-${e.getMonth()}-${e.getDate()}"]`).addClass("calendar-day-selected")}if(e||a.emit("local::change calendarChange",a,o),t&&t.length>0&&a.hasTimePicker&&t.find(".calendar-time-selector a").text(o&&o.length?a.timeSelectorFormatter.format(o[0]):a.params.timePickerPlaceholder),r&&r.length||l.header){const n=a.formatValue(o);l.header&&t&&t.length&&t.find(".calendar-selected-date").text(n),r&&r.length&&!e&&(r.val(n),r.trigger("change"))}}updateCurrentMonthYear(e){const a=this,{$months:t,$el:n,monthNames:r}=a;let o,l;void 0===e?(a.currentMonth=parseInt(t.eq(1).attr("data-month"),10),a.currentYear=parseInt(t.eq(1).attr("data-year"),10),o=t.eq(1).attr("data-locale-month"),l=t.eq(1).attr("data-locale-year")):(a.currentMonth=parseInt(t.eq("next"===e?t.length-1:0).attr("data-month"),10),a.currentYear=parseInt(t.eq("next"===e?t.length-1:0).attr("data-year"),10),o=t.eq("next"===e?t.length-1:0).attr("data-locale-month"),l=t.eq("next"===e?t.length-1:0).attr("data-locale-year")),n.find(".current-month-value").text(r[o]),n.find(".current-year-value").text(l)}update(){const e=this,{currentYear:a,currentMonth:t,$wrapperEl:n}=e,r=new Date(a,t),o=e.renderMonth(r,"prev"),l=e.renderMonth(r),s=e.renderMonth(r,"next");n.transition(0).html(`${o}${l}${s}`).transform("translate3d(0,0,0)"),e.$months=n.find(".calendar-month"),e.monthsTranslate=0,e.setMonthsTranslate(),e.$months.each((a=>{e.emit("local::monthAdd calendarMonthAdd",a)}))}onMonthChangeStart(e){const a=this,{$months:t,currentYear:n,currentMonth:r}=a;a.updateCurrentMonthYear(e),t.removeClass("calendar-month-current calendar-month-prev calendar-month-next");const o="next"===e?t.length-1:0;t.eq(o).addClass("calendar-month-current"),t.eq("next"===e?o-1:o+1).addClass("next"===e?"calendar-month-prev":"calendar-month-next"),a.emit("local::monthYearChangeStart calendarMonthYearChangeStart",a,n,r)}onMonthChangeEnd(e,a){const t=this,{currentYear:n,currentMonth:r,$wrapperEl:o,monthsTranslate:l}=t;let s,i,c;t.animating=!1,o.find(".calendar-month:not(.calendar-month-prev):not(.calendar-month-current):not(.calendar-month-next)").remove(),void 0===e&&(e="next",a=!0),a?(o.find(".calendar-month-next, .calendar-month-prev").remove(),i=t.renderMonth(new Date(n,r),"prev"),s=t.renderMonth(new Date(n,r),"next")):c=t.renderMonth(new Date(n,r),e),("next"===e||a)&&o.append(c||s),("prev"===e||a)&&o.prepend(c||i);const d=o.find(".calendar-month");t.$months=d,t.setMonthsTranslate(l),t.emit("local::monthAdd calendarMonthAdd",t,"next"===e?d.eq(d.length-1)[0]:d.eq(0)[0]),t.emit("local::monthYearChangeEnd calendarMonthYearChangeEnd",t,n,r)}setMonthsTranslate(e){const a=this,{$months:t,isHorizontal:n,inverter:r}=a;e=e||a.monthsTranslate||0,void 0===a.monthsTranslate&&(a.monthsTranslate=e),t.removeClass("calendar-month-current calendar-month-prev calendar-month-next");const o=100*-(e+1)*r,l=100*-e*r,s=100*-(e-1)*r;t.eq(0).transform(`translate3d(${n?o:0}%, ${n?0:o}%, 0)`).addClass("calendar-month-prev"),t.eq(1).transform(`translate3d(${n?l:0}%, ${n?0:l}%, 0)`).addClass("calendar-month-current"),t.eq(2).transform(`translate3d(${n?s:0}%, ${n?0:s}%, 0)`).addClass("calendar-month-next")}nextMonth(e){const a=this,{params:n,$wrapperEl:r,inverter:o,isHorizontal:l}=a;void 0!==e&&"object"!=typeof e||(e="",n.animate||(e=0));const s=parseInt(a.$months.eq(a.$months.length-1).attr("data-month"),10),i=parseInt(a.$months.eq(a.$months.length-1).attr("data-year"),10),c=new Date(i,s).getTime(),d=!a.animating;if(n.maxDate&&c>new Date(n.maxDate).getTime())return void a.resetMonth();if(a.monthsTranslate-=1,s===a.currentMonth){const e=100*-a.monthsTranslate*o,n=t(a.renderMonth(c,"next")).transform(`translate3d(${l?e:0}%, ${l?0:e}%, 0)`).addClass("calendar-month-next");r.append(n[0]),a.$months=r.find(".calendar-month"),a.emit("local::monthAdd calendarMonthAdd",a.$months.eq(a.$months.length-1)[0])}a.animating=!0,a.onMonthChangeStart("next");const m=100*a.monthsTranslate*o;r.transition(e).transform(`translate3d(${l?m:0}%, ${l?0:m}%, 0)`),d&&r.transitionEnd((()=>{a.onMonthChangeEnd("next")})),n.animate||a.onMonthChangeEnd("next")}prevMonth(e){const a=this,{params:n,$wrapperEl:r,inverter:o,isHorizontal:l}=a;void 0!==e&&"object"!=typeof e||(e="",n.animate||(e=0));const s=parseInt(a.$months.eq(0).attr("data-month"),10),i=parseInt(a.$months.eq(0).attr("data-year"),10),c=new Date(i,s+1,-1).getTime(),d=!a.animating;if(n.minDate){let e=new Date(n.minDate);if(e=new Date(e.getFullYear(),e.getMonth(),1),c<e.getTime())return void a.resetMonth()}if(a.monthsTranslate+=1,s===a.currentMonth){const e=100*-a.monthsTranslate*o,n=t(a.renderMonth(c,"prev")).transform(`translate3d(${l?e:0}%, ${l?0:e}%, 0)`).addClass("calendar-month-prev");r.prepend(n[0]),a.$months=r.find(".calendar-month"),a.emit("local::monthAdd calendarMonthAdd",a.$months.eq(0)[0])}a.animating=!0,a.onMonthChangeStart("prev");const m=100*a.monthsTranslate*o;r.transition(e).transform(`translate3d(${l?m:0}%, ${l?0:m}%, 0)`),d&&r.transitionEnd((()=>{a.onMonthChangeEnd("prev")})),n.animate||a.onMonthChangeEnd("prev")}resetMonth(e=""){const{$wrapperEl:a,inverter:t,isHorizontal:n,monthsTranslate:r}=this,o=100*r*t;a.transition(e).transform(`translate3d(${n?o:0}%, ${n?0:o}%, 0)`)}setYearMonth(e,a,t){const n=this,{params:r,isHorizontal:o,$wrapperEl:l,inverter:s}=n;let i;if(void 0===e&&(e=n.currentYear),void 0===a&&(a=n.currentMonth),void 0!==t&&"object"!=typeof t||(t="",r.animate||(t=0)),i=e<n.currentYear?new Date(e,a+1,-1).getTime():new Date(e,a).getTime(),r.maxDate&&i>new Date(r.maxDate).getTime())return!1;if(r.minDate){let e=new Date(r.minDate);if(e=new Date(e.getFullYear(),e.getMonth(),1),i<e.getTime())return!1}const c=new Date(n.currentYear,n.currentMonth).getTime(),d=i>c?"next":"prev",m=n.renderMonth(new Date(e,a));n.monthsTranslate=n.monthsTranslate||0;const h=n.monthsTranslate;let u;const p=!n.animating&&0!==t;i>c?(n.monthsTranslate-=1,n.animating||n.$months.eq(n.$months.length-1).remove(),l.append(m),n.$months=l.find(".calendar-month"),u=100*-(h-1)*s,n.$months.eq(n.$months.length-1).transform(`translate3d(${o?u:0}%, ${o?0:u}%, 0)`).addClass("calendar-month-next")):(n.monthsTranslate+=1,n.animating||n.$months.eq(0).remove(),l.prepend(m),n.$months=l.find(".calendar-month"),u=100*-(h+1)*s,n.$months.eq(0).transform(`translate3d(${o?u:0}%, ${o?0:u}%, 0)`).addClass("calendar-month-prev")),n.emit("local::monthAdd calendarMonthAdd","next"===d?n.$months.eq(n.$months.length-1)[0]:n.$months.eq(0)[0]),n.animating=!0,n.onMonthChangeStart(d);const g=100*n.monthsTranslate*s;l.transition(t).transform(`translate3d(${o?g:0}%, ${o?0:g}%, 0)`),p&&l.transitionEnd((()=>{n.onMonthChangeEnd(d,!0)})),r.animate&&0!==t||n.onMonthChangeEnd(d,!0)}nextYear(){this.setYearMonth(this.currentYear+1)}prevYear(){this.setYearMonth(this.currentYear-1)}dateInRange(e,a){let t,n=!1;if(!a)return!1;if(Array.isArray(a))for(t=0;t<a.length;t+=1)a[t].from||a[t].to?a[t].from&&a[t].to?e<=new Date(a[t].to).getTime()&&e>=new Date(a[t].from).getTime()&&(n=!0):a[t].from?e>=new Date(a[t].from).getTime()&&(n=!0):a[t].to&&e<=new Date(a[t].to).getTime()&&(n=!0):a[t].date?e===new Date(a[t].date).getTime()&&(n=!0):e===new Date(a[t]).getTime()&&(n=!0);else a.from||a.to?a.from&&a.to?e<=new Date(a.to).getTime()&&e>=new Date(a.from).getTime()&&(n=!0):a.from?e>=new Date(a.from).getTime()&&(n=!0):a.to&&e<=new Date(a.to).getTime()&&(n=!0):a.date?n=e===new Date(a.date).getTime():"function"==typeof a&&(n=a(new Date(e)));return n}daysInMonth(e){const a=new Date(e);return new Date(a.getFullYear(),a.getMonth()+1,0).getDate()}renderMonths(e){const a=this;return a.params.renderMonths?a.params.renderMonths.call(a,e):$jsx("div",{class:"calendar-months-wrapper"},a.renderMonth(e,"prev"),a.renderMonth(e),a.renderMonth(e,"next"))}renderMonth(e,a){const t=this,{params:n,value:r}=t;if(n.renderMonth)return n.renderMonth.call(t,e,a);let o=new Date(e),l=o.getFullYear(),s=o.getMonth(),i=t.monthNames.indexOf(t.monthFormatter.format(o));i<0&&(i=s);let c=t.yearFormatter.format(o);"next"===a&&(o=11===s?new Date(l+1,0):new Date(l,s+1,1)),"prev"===a&&(o=0===s?new Date(l-1,11):new Date(l,s-1,1)),"next"!==a&&"prev"!==a||(s=o.getMonth(),l=o.getFullYear(),i=t.monthNames.indexOf(t.monthFormatter.format(o)),i<0&&(i=s),c=t.yearFormatter.format(o));const d=[],m=(new Date).setHours(0,0,0,0),h=n.minDate?new Date(n.minDate).getTime():null,u=n.maxDate?new Date(n.maxDate).getTime():null,p=t.daysInMonth(new Date(o.getFullYear(),o.getMonth()).getTime()-864e6),g=t.daysInMonth(o),f=6===n.firstDay?0:1;let v,$,y="",k=n.firstDay-1+0,M=new Date(o.getFullYear(),o.getMonth()).getDay();if(0===M&&(M=7),r&&r.length)for(let e=0;e<r.length;e+=1)d.push(new Date(r[e]).setHours(0,0,0,0));for(let e=1;e<=6;e+=1){let a="";for(let r=1;r<=7;r+=1){let o;k+=1;let i=k-M,c="";1===e&&1===r&&i>f&&1!==n.firstDay&&(k-=7,i=k-M);const y=r-1+n.firstDay>6?r-1-7+n.firstDay:r-1+n.firstDay;i<0?(i=p+i+1,c+=" calendar-day-prev",o=new Date(s-1<0?l-1:l,s-1<0?11:s-1,i).getTime()):(i+=1,i>g?(i-=g,c+=" calendar-day-next",o=new Date(s+1>11?l+1:l,s+1>11?0:s+1,i).getTime()):o=new Date(l,s,i).getTime()),o===m&&(c+=" calendar-day-today"),n.rangePicker&&2===d.length?(o>=d[0]&&o<=d[1]&&(c+=" calendar-day-selected"),d[0]!==d[1]&&(o>d[0]&&o<d[1]&&(c+=" calendar-day-selected-range"),o===d[0]&&(c+=" calendar-day-selected-left"),o===d[1]&&(c+=" calendar-day-selected-right"))):d.indexOf(o)>=0&&(c+=" calendar-day-selected"),n.weekendDays.indexOf(y)>=0&&(c+=" calendar-day-weekend");let D="";if($=!1,n.events&&t.dateInRange(o,n.events)&&($=!0),$&&(c+=" calendar-day-has-events",D='\n <span class="calendar-day-events">\n <span class="calendar-day-event"></span>\n </span>\n ',Array.isArray(n.events))){const e=[];n.events.forEach((a=>{const n=a.color||"";e.indexOf(n)<0&&t.dateInRange(o,a)&&e.push(n)})),D=`\n <span class="calendar-day-events">\n ${e.map((e=>`\n <span class="calendar-day-event" style="${e?`background-color: ${e}`:""}"></span>\n `.trim())).join("")}\n </span>\n `}if(n.rangesClasses)for(let e=0;e<n.rangesClasses.length;e+=1)t.dateInRange(o,n.rangesClasses[e].range)&&(c+=` ${n.rangesClasses[e].cssClass}`);v=!1,(h&&o<h||u&&o>u)&&(v=!0),n.disabled&&t.dateInRange(o,n.disabled)&&(v=!0),v&&(c+=" calendar-day-disabled"),o=new Date(o);const w=o.getFullYear(),x=o.getMonth();a+=`\n <div data-year="${w}" data-month="${x}" data-day="${i}" class="calendar-day${c}" data-date="${w}-${x}-${i}">\n <span class="calendar-day-number">${t.dayFormatter.format(o)}${D}</span>\n </div>`.trim()}y+=`<div class="calendar-row">${a}</div>`}return y=`<div class="calendar-month" data-year="${l}" data-month="${s}" data-locale-year="${c}" data-locale-month="${i}">${y}</div>`,y}renderWeekHeader(){const e=this;if(e.params.renderWeekHeader)return e.params.renderWeekHeader.call(e);const{params:a}=e;let t="";for(let n=0;n<7;n+=1){const r=n+a.firstDay>6?n-7+a.firstDay:n+a.firstDay;t+=`<div class="calendar-week-day">${e.dayNamesShort[r]}</div>`}return $jsx("div",{class:"calendar-week-header"},t)}renderMonthSelector(){const e=this;return e.params.renderMonthSelector?e.params.renderMonthSelector.call(e):$jsx("div",{class:"calendar-month-selector"},$jsx("a",{class:"link icon-only calendar-prev-month-button"},$jsx("i",{class:"icon icon-prev"})),e.params.monthPicker?$jsx("a",{class:"current-month-value link"}):$jsx("span",{class:"current-month-value"}),$jsx("a",{class:"link icon-only calendar-next-month-button"},$jsx("i",{class:"icon icon-next"})))}renderMonthPicker(){const e=parseInt(this.$el.find(".calendar-month-current").attr("data-locale-month"),10);return $jsx("div",{class:"calendar-month-picker"},this.monthNames.map(((a,t)=>$jsx("div",{class:"calendar-month-picker-item "+(e===t?"calendar-month-picker-item-current":"")},$jsx("span",null,a)))))}renderYearSelector(){const e=this;return e.params.renderYearSelector?e.params.renderYearSelector.call(e):$jsx("div",{class:"calendar-year-selector"},$jsx("a",{class:"link icon-only calendar-prev-year-button"},$jsx("i",{class:"icon icon-prev"})),e.params.yearPicker?$jsx("a",{class:"current-year-value link"}):$jsx("span",{class:"current-year-value"}),$jsx("a",{class:"link icon-only calendar-next-year-button"},$jsx("i",{class:"icon icon-next"})))}renderYearPicker(){const e=this,a=e.currentYear;let t=e.params.yearPickerMin||(new Date).getFullYear()-100;e.params.minDate&&(t=Math.max(t,new Date(e.params.minDate).getFullYear()));let n=e.params.yearPickerMax||(new Date).getFullYear()+100;e.params.maxDate&&(n=Math.min(n,new Date(e.params.maxDate).getFullYear()));const r=[];for(let e=t;e<=n;e+=1)r.push(e);return $jsx("div",{class:"calendar-year-picker"},r.map((t=>$jsx("div",{"data-year":t,class:"calendar-year-picker-item "+(t===a?"calendar-year-picker-item-current":"")},$jsx("span",null,e.yearFormatter.format((new Date).setFullYear(t)))))))}renderTimeSelector(){const e=this,a=e.value&&e.value[0];let t;return a&&(t=e.timeSelectorFormatter.format(a)),$jsx("div",{class:"calendar-time-selector"},$jsx("a",{class:"link"},t||e.params.timePickerPlaceholder))}renderHeader(){const e=this;return e.params.renderHeader?e.params.renderHeader.call(e):$jsx("div",{class:"calendar-header"},$jsx("div",{class:"calendar-selected-date"},e.params.headerPlaceholder))}renderFooter(){const e=this,a=e.app;return e.params.renderFooter?e.params.renderFooter.call(e):$jsx("div",{class:"calendar-footer"},$jsx("a",{class:("md"===a.theme?"button":"link")+" calendar-close sheet-close popover-close"},e.params.toolbarCloseText))}renderToolbar(){const e=this;return e.params.renderToolbar?e.params.renderToolbar.call(e,e):$jsx("div",{class:"toolbar toolbar-top no-shadow"},$jsx("div",{class:"toolbar-inner"},e.params.monthSelector?e.renderMonthSelector():"",e.params.yearSelector?e.renderYearSelector():""))}renderInline(){const e=this,{cssClass:a,toolbar:t,header:n,footer:r,rangePicker:o,weekHeader:l}=e.params,{value:s,hasTimePicker:i}=e,c=s&&s.length?s[0]:(new Date).setHours(0,0,0);return $jsx("div",{class:`calendar calendar-inline ${o?"calendar-range":""} ${a||""}`},n&&e.renderHeader(),t&&e.renderToolbar(),l&&e.renderWeekHeader(),$jsx("div",{class:"calendar-months"},e.renderMonths(c)),i&&e.renderTimeSelector(),r&&e.renderFooter())}renderCustomModal(){const e=this,{cssClass:a,toolbar:t,header:n,footer:r,rangePicker:o,weekHeader:l}=e.params,{value:s,hasTimePicker:i}=e,c=s&&s.length?s[0]:(new Date).setHours(0,0,0);return $jsx("div",{class:`calendar calendar-modal ${o?"calendar-range":""} ${a||""}`},n&&e.renderHeader(),t&&e.renderToolbar(),l&&e.renderWeekHeader(),$jsx("div",{class:"calendar-months"},e.renderMonths(c)),i&&e.renderTimeSelector(),r&&e.renderFooter())}renderSheet(){const e=this,{cssClass:a,toolbar:t,header:n,footer:r,rangePicker:o,weekHeader:l}=e.params,{value:s,hasTimePicker:i}=e,c=s&&s.length?s[0]:(new Date).setHours(0,0,0);return $jsx("div",{class:`sheet-modal calendar calendar-sheet ${o?"calendar-range":""} ${a||""}`},n&&e.renderHeader(),t&&e.renderToolbar(),l&&e.renderWeekHeader(),$jsx("div",{class:"sheet-modal-inner calendar-months"},e.renderMonths(c)),i&&e.renderTimeSelector(),r&&e.renderFooter())}renderPopover(){const e=this,{cssClass:a,toolbar:t,header:n,footer:r,rangePicker:o,weekHeader:l}=e.params,{value:s,hasTimePicker:i}=e,c=s&&s.length?s[0]:(new Date).setHours(0,0,0);return $jsx("div",{class:"popover calendar-popover"},$jsx("div",{class:"popover-inner"},$jsx("div",{class:`calendar ${o?"calendar-range":""} ${a||""}`},n&&e.renderHeader(),t&&e.renderToolbar(),l&&e.renderWeekHeader(),$jsx("div",{class:"calendar-months"},e.renderMonths(c)),i&&e.renderTimeSelector(),r&&e.renderFooter())))}render(){const e=this,{params:a}=e;if(a.render)return a.render.call(e);if(!e.inline){let t=a.openIn;return"auto"===t&&(t=e.isPopover()?"popover":"sheet"),"popover"===t?e.renderPopover():"sheet"===t?e.renderSheet():e.renderCustomModal()}return e.renderInline()}openTimePicker(){const e=this,{$el:a,app:t,is12HoursFormat:n}=e;if(!a||!a.length)return;a.append('<div class="calendar-time-picker"></div>');const r=[],o=[],l=n?12:23;for(let e=n?1:0;e<=l;e+=1)r.push(e);for(let e=0;e<=59;e+=1)o.push(e);let s;s=e.value&&e.value.length?[e.value[0].getHours(),e.value[0].getMinutes()]:[(new Date).getHours(),(new Date).getMinutes()],n&&(s.push(s[0]<12?"AM":"PM"),s[0]>12&&(s[0]-=12),0===s[0]&&(s[0]=12)),e.timePickerInstance=t.picker.create({containerEl:a.find(".calendar-time-picker"),value:s,toolbar:!0,rotateEffect:!1,toolbarCloseText:e.params.toolbarCloseText,cols:[{values:r},{divider:!0,content:":"},{values:o,displayValues:o.map((e=>e<10?`0${e}`:e))},...n?[{values:["AM","PM"]}]:[]]}),e.timePickerInstance.$el.find(".toolbar a").removeClass("sheet-close popover-close").addClass("calendar-time-picker-close")}closeTimePicker(){const e=this,{is12HoursFormat:a}=e;if(e.timePickerInstance){const t=e.timePickerInstance.value;let n=parseInt(t[0],10);const r=parseInt(t[1],10),o=e.timePickerInstance.value[2];a&&("AM"===o&&12===n?n=0:"PM"===o&&12!==n&&(n+=12));let l=e.value&&e.value.length&&e.value[0];l?(l=new Date(l),l.setHours(n,r)):(l=new Date,l.setHours(n,r,0,0)),e.setValue([l]),e.timePickerInstance.close(),e.timePickerInstance.destroy(),delete e.timePickerInstance}e.$el&&e.$el.length&&e.$el.find(".calendar-time-picker").remove()}onOpen(){const e=this,{initialized:a,$el:t,app:n,$inputEl:r,inline:o,value:l,params:s}=e;e.closing=!1,e.opened=!0,e.opening=!0,e.attachCalendarEvents();const i=!l&&s.value;a?l&&e.setValue(l,0):l?e.setValue(l,0):s.value&&e.setValue(e.normalizeValues(s.value),0),e.updateCurrentMonthYear(),e.monthsTranslate=0,e.setMonthsTranslate(),i?e.updateValue():s.header&&l&&e.updateValue(!0),!o&&r&&r.length&&"md"===n.theme&&r.trigger("focus"),e.initialized=!0,e.$months.each((a=>{e.emit("local::monthAdd calendarMonthAdd",a)})),t&&t.trigger("calendar:open"),r&&r.trigger("calendar:open"),e.emit("local::open calendarOpen",e)}onOpened(){const e=this;e.opening=!1,e.$el&&e.$el.trigger("calendar:opened"),e.$inputEl&&e.$inputEl.trigger("calendar:opened"),e.emit("local::opened calendarOpened",e)}onClose(){const e=this,a=e.app;if(e.opening=!1,e.closing=!0,e.$inputEl)if("md"===a.theme)e.$inputEl.trigger("blur");else{const t=e.$inputEl.attr("validate"),n=e.$inputEl.attr("required");t&&n&&a.input.validate(e.$inputEl)}e.detachCalendarEvents&&e.detachCalendarEvents(),e.$el&&e.$el.trigger("calendar:close"),e.$inputEl&&e.$inputEl.trigger("calendar:close"),e.emit("local::close calendarClose",e)}onClosed(){const e=this;e.opened=!1,e.closing=!1,e.inline||c((()=>{e.modal&&e.modal.el&&e.modal.destroy&&(e.params.routableModals||e.modal.destroy()),delete e.modal})),e.timePickerInstance&&(e.timePickerInstance.destroy&&e.timePickerInstance.destroy(),delete e.timePickerInstance),e.$el&&e.$el.trigger("calendar:closed"),e.$inputEl&&e.$inputEl.trigger("calendar:closed"),e.emit("local::closed calendarClosed",e)}open(){const e=this,{app:a,opened:n,inline:r,$inputEl:o,params:l}=e;if(n)return;if(r)return e.$el=t(e.render()),e.$el[0].f7Calendar=e,e.$wrapperEl=e.$el.find(".calendar-months-wrapper"),e.$months=e.$wrapperEl.find(".calendar-month"),e.$containerEl.append(e.$el),e.onOpen(),void e.onOpened();let s=l.openIn;"auto"===s&&(s=e.isPopover()?"popover":"sheet");const i=e.render(),c={targetEl:o,scrollToEl:l.scrollToInput?o:void 0,content:i,backdrop:!0===l.backdrop||"popover"===s&&!1!==a.params.popover.backdrop&&!1!==l.backdrop,closeByBackdropClick:l.closeByBackdropClick,on:{open(){const a=this;e.modal=a,e.$el="popover"===s?a.$el.find(".calendar"):a.$el,e.$wrapperEl=e.$el.find(".calendar-months-wrapper"),e.$months=e.$wrapperEl.find(".calendar-month"),e.$el[0].f7Calendar=e,"customModal"===s&&t(e.$el).find(".calendar-close").once("click",(()=>{e.close()})),e.onOpen()},opened(){e.onOpened()},close(){e.onClose()},closed(){e.onClosed()}}};"sheet"===s&&(c.push=l.sheetPush,c.swipeToClose=l.sheetSwipeToClose),l.routableModals&&e.view?e.view.router.navigate({url:e.url,route:{path:e.url,[s]:c}}):(e.modal=a[s].create(c),e.modal.open())}close(){const e=this,{opened:a,inline:t}=e;if(a)return t?(e.onClose(),void e.onClosed()):void(e.params.routableModals&&e.view?e.view.router.back():e.modal.close())}init(){const e=this;if(e.initInput(),e.inline)return e.open(),void e.emit("local::init calendarInit",e);!e.initialized&&e.params.value&&e.setValue(e.normalizeValues(e.params.value)),e.$inputEl&&e.attachInputEvents(),e.params.closeByOutsideClick&&e.attachHtmlEvents(),e.emit("local::init calendarInit",e)}destroy(){const e=this;if(e.destroyed)return;const{$el:a}=e;e.emit("local::beforeDestroy calendarBeforeDestroy",e),a&&a.trigger("calendar:beforedestroy"),e.close(),e.$inputEl&&e.detachInputEvents(),e.params.closeByOutsideClick&&e.detachHtmlEvents(),e.timePickerInstance&&(e.timePickerInstance.destroy&&e.timePickerInstance.destroy(),delete e.timePickerInstance),a&&a.length&&delete e.$el[0].f7Calendar,d(e),e.destroyed=!0}}var h={name:"calendar",static:{Calendar:m},create(){const e=this;e.calendar=s({defaultSelector:".calendar",constructor:m,app:e,domProp:"f7Calendar"}),e.calendar.close=function(e=".calendar"){const a=t(e);if(0===a.length)return;const n=a[0].f7Calendar;!n||n&&!n.opened||n.close()}},params:{calendar:{dateFormat:void 0,monthNames:"auto",monthNamesShort:"auto",dayNames:"auto",dayNamesShort:"auto",locale:void 0,firstDay:1,weekendDays:[0,6],multiple:!1,rangePicker:!1,rangePickerMinDays:1,rangePickerMaxDays:0,direction:"horizontal",minDate:null,maxDate:null,disabled:null,events:null,rangesClasses:null,touchMove:!0,animate:!0,closeOnSelect:!1,monthSelector:!0,monthPicker:!0,yearSelector:!0,yearPicker:!0,yearPickerMin:void 0,yearPickerMax:void 0,timePicker:!1,timePickerFormat:{hour:"numeric",minute:"numeric"},timePickerPlaceholder:"Select time",weekHeader:!0,value:null,containerEl:null,openIn:"auto",sheetPush:!1,sheetSwipeToClose:void 0,formatValue:null,inputEl:null,inputReadOnly:!0,closeByOutsideClick:!0,scrollToInput:!0,header:!1,headerPlaceholder:"Select date",toolbar:!0,toolbarCloseText:"Done",footer:!1,cssClass:null,routableModals:!1,view:null,url:"date/",backdrop:null,closeByBackdropClick:!0,renderWeekHeader:null,renderMonths:null,renderMonth:null,renderMonthSelector:null,renderYearSelector:null,renderHeader:null,renderFooter:null,renderToolbar:null,renderInline:null,renderPopover:null,renderSheet:null,render:null}}};if(a){if(e.prototype.modules&&e.prototype.modules[h.name])return;e.use(h),e.instance&&(e.instance.useModuleParams(h,e.instance.params),e.instance.useModule(h))}return h}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|
|
1
|
+
(function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var a=e.$,n=e.utils,r=e.getDevice,o=e.getSupport,l=e.Class,s=(e.Modal,e.ConstructorMethods),i=(e.ModalMethods,n.extend),c=n.nextTick,d=n.deleteProps;class m extends l{constructor(e,t){void 0===t&&(t={}),super(t,[e]);const n=this;let r,l;if(n.params=i({},e.params.calendar,t),n.params.containerEl&&(r=a(n.params.containerEl),0===r.length))return n;n.params.inputEl&&(l=a(n.params.inputEl));const s="horizontal"===n.params.direction;let c=1;s&&(c=e.rtl?-1:1),i(n,{app:e,$containerEl:r,containerEl:r&&r[0],inline:r&&r.length>0,$inputEl:l,inputEl:l&&l[0],initialized:!1,opened:!1,url:n.params.url,isHorizontal:s,inverter:c,animating:!1,allowTouchMove:!0,hasTimePicker:n.params.timePicker&&!n.params.rangePicker&&!n.params.multiple}),n.dayFormatter=e=>new Intl.DateTimeFormat(n.params.locale,{day:"numeric"}).format(e).replace(/日/,""),n.monthFormatter=e=>new Intl.DateTimeFormat(n.params.locale,{month:"long"}).format(e),n.yearFormatter=e=>new Intl.DateTimeFormat(n.params.locale,{year:"numeric"}).format(e),n.timeSelectorFormatter=e=>new Intl.DateTimeFormat(n.params.locale,n.params.timePickerFormat).format(e);const d=n.timeSelectorFormatter(new Date).toLowerCase();n.is12HoursFormat=d.indexOf("pm")>=0||d.indexOf("am")>=0;let{monthNames:m,monthNamesShort:h,dayNames:p,dayNamesShort:u}=n.params;const{monthNamesIntl:v,monthNamesShortIntl:g,dayNamesIntl:f,dayNamesShortIntl:k}=n.getIntlNames();function y(){n.open()}function $(e){e.preventDefault()}function P(){n.setValue([]),n.opened&&n.update()}function M(e){const t=a(e.target);!n.destroyed&&n.params&&(n.isPopover()||n.opened&&!n.closing&&(t.closest('[class*="backdrop"]').length||n.monthPickerPopover||n.yearPickerPopover||n.timePickerPopover||(l&&l.length>0?t[0]!==l[0]&&0===t.closest(".sheet-modal, .calendar-modal").length&&n.close():0===a(e.target).closest(".sheet-modal, .calendar-modal").length&&n.close())))}return"auto"===m&&(m=v),"auto"===h&&(h=g),"auto"===p&&(p=f),"auto"===u&&(u=k),i(n,{monthNames:m,monthNamesShort:h,dayNames:p,dayNamesShort:u}),i(n,{attachInputEvents(){n.$inputEl.on("click",y),n.$inputEl.on("input:clear",P),n.params.inputReadOnly&&(n.$inputEl.on("focus mousedown",$),n.$inputEl[0]&&(n.$inputEl[0].f7ValidateReadonly=!0))},detachInputEvents(){n.$inputEl.off("click",y),n.$inputEl.off("input:clear",P),n.params.inputReadOnly&&(n.$inputEl.off("focus mousedown",$),n.$inputEl[0]&&delete n.$inputEl[0].f7ValidateReadonly)},attachHtmlEvents(){e.on("click",M)},detachHtmlEvents(){e.off("click",M)}}),n.attachCalendarEvents=function(){let t,r,l,s,i,c,d,m,h,p,u,v,g,f,k=!0;const{$el:y,$wrapperEl:$}=n;function P(e){r||t||(t=!0,l="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,i=l,s="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,c=s,d=(new Date).getTime(),v=0,k=!0,f=void 0,h=n.monthsTranslate)}function M(e){if(!t)return;const{isHorizontal:a}=n;i="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,c="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,void 0===f&&(f=!!(f||Math.abs(c-s)>Math.abs(i-l))),a&&f||!n.allowTouchMove?t=!1:(e.preventDefault(),n.animating?t=!1:(k=!1,r||(r=!0,p=$[0].offsetWidth,u=$[0].offsetHeight,$.transition(0)),g=a?i-l:c-s,v=g/(a?p:u),h=100*(n.monthsTranslate*n.inverter+v),$.transform(`translate3d(${a?h:0}%, ${a?0:h}%, 0)`)))}function D(){if(!t||!r)return t=!1,void(r=!1);t=!1,r=!1,m=(new Date).getTime(),m-d<300?Math.abs(g)<10?n.resetMonth():g>=10?e.rtl?n.nextMonth():n.prevMonth():e.rtl?n.prevMonth():n.nextMonth():v<=-.5?e.rtl?n.prevMonth():n.nextMonth():v>=.5?e.rtl?n.nextMonth():n.prevMonth():n.resetMonth(),setTimeout((()=>{k=!0}),100)}function w(e){if(!k)return;let t=a(e.target).parents(".calendar-day");if(0===t.length&&a(e.target).hasClass("calendar-day")&&(t=a(e.target)),0===t.length)return;if(t.hasClass("calendar-day-disabled"))return;n.params.rangePicker||(t.hasClass("calendar-day-next")&&n.nextMonth(),t.hasClass("calendar-day-prev")&&n.prevMonth());const r=parseInt(t.attr("data-year"),10),o=parseInt(t.attr("data-month"),10),l=parseInt(t.attr("data-day"),10);if(n.emit("local::dayClick calendarDayClick",n,t[0],r,o,l),!t.hasClass("calendar-day-selected")||n.params.multiple||n.params.rangePicker){const e=new Date(r,o,l,0,0,0);n.hasTimePicker&&(n.value&&n.value[0]?e.setHours(n.value[0].getHours(),n.value[0].getMinutes()):e.setHours((new Date).getHours(),(new Date).getMinutes())),n.addValue(e)}n.params.closeOnSelect&&(n.params.rangePicker&&2===n.value.length||!n.params.rangePicker)&&n.close()}function T(){n.nextMonth()}function x(){n.prevMonth()}function C(){n.nextYear()}function E(){n.prevYear()}function I(){n.openMonthPicker()}function b(){n.openYearPicker()}function Y(){n.openTimePicker()}const F=!("touchstart"!==e.touchEvents.start||!o().passiveListener)&&{passive:!0,capture:!1};y.find(".calendar-prev-month-button").on("click",x),y.find(".calendar-next-month-button").on("click",T),y.find(".calendar-prev-year-button").on("click",E),y.find(".calendar-next-year-button").on("click",C),n.params.monthPicker&&y.find(".current-month-value").on("click",I),n.params.yearPicker&&y.find(".current-year-value").on("click",b),n.hasTimePicker&&y.find(".calendar-time-selector a").on("click",Y),$.on("click",w),n.params.touchMove&&($.on(e.touchEvents.start,P,F),e.on("touchmove:active",M),e.on("touchend:passive",D)),n.detachCalendarEvents=function(){y.find(".calendar-prev-month-button").off("click",x),y.find(".calendar-next-month-button").off("click",T),y.find(".calendar-prev-year-button").off("click",E),y.find(".calendar-next-year-button").off("click",C),n.params.monthPicker&&y.find(".current-month-value").off("click",I),n.params.yearPicker&&y.find(".current-year-value").off("click",b),n.hasTimePicker&&y.find(".calendar-time-selector a").off("click",Y),$.off("click",w),n.params.touchMove&&($.off(e.touchEvents.start,P,F),e.off("touchmove:active",M),e.off("touchend:passive",D))}},n.init(),n}get view(){const{$inputEl:e,app:t,params:a}=this;let n;return a.view?n=a.view:e&&(n=e.parents(".view").length&&e.parents(".view")[0].f7View),n||(n=t.views.main),n}getIntlNames(){const e=this,t=e.params.locale,a=[],n=[],r=[],o=[],l=new Intl.DateTimeFormat(t,{month:"long"}),s=new Intl.DateTimeFormat(t,{month:"short"}),i=new Intl.DateTimeFormat(t,{weekday:"long"}),c=new Intl.DateTimeFormat(t,{weekday:"short"});let d,m,h;for(let t=0;t<24;t+=1){const r=(new Date).setMonth(t,1),o=e.yearFormatter(r);d&&o!==d&&(m&&(h=!0),m=!0,d=o),d||(d=o),m&&d===o&&!h&&(a.push(l.format(r)),n.push(s.format(r)))}const p=(new Date).getDay();for(let e=0;e<7;e+=1){const t=(new Date).getTime()+24*(e-p)*60*60*1e3;r.push(i.format(t)),o.push(c.format(t))}return{monthNamesIntl:a,monthNamesShortIntl:n,dayNamesIntl:r,dayNamesShortIntl:o}}normalizeDate(e){const t=new Date(e);return this.hasTimePicker?new Date(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes()):new Date(t.getFullYear(),t.getMonth(),t.getDate())}normalizeValues(e){const t=this;let a=[];return e&&Array.isArray(e)&&(a=e.map((e=>t.normalizeDate(e)))),a}initInput(){const e=this;e.$inputEl&&e.params.inputReadOnly&&e.$inputEl.prop("readOnly",!0)}isPopover(){const e=this,{app:t,modal:a,params:n}=e,o=r();if("sheet"===n.openIn)return!1;if(a&&"popover"!==a.type)return!1;if(!e.inline&&e.inputEl){if("popover"===n.openIn)return!0;if(o.ios)return!!o.ipad;if(t.width>=768)return!0;if(o.desktop&&"aurora"===t.theme)return!0}return!1}formatDate(e){const t=this,a=new Date(e),n=a.getFullYear(),r=a.getMonth(),o=r+1,l=a.getDate(),s=a.getDay(),{monthNames:i,monthNamesShort:c,dayNames:d,dayNamesShort:m}=t,{dateFormat:h,locale:p}=t.params;function u(e){return e<10?`0${e}`:e}if("string"==typeof h){const e={yyyy:n,yy:String(n).substring(2),mm:u(o),m:o,MM:i[r],M:c[r],dd:u(l),d:l,DD:d[s],D:m[s]};if(t.params.timePicker){const t=a.getHours(),n=a.getMinutes(),r=a.getSeconds();let o=t;t>12&&(o=t-12),0===t&&(o=12);const l=t>=12&&0!==t?"pm":"am";Object.assign(e,{HH:u(t),H:t,hh:u(o),h:o,ss:u(r),s:r,":mm":u(n),":m":n,a:l,A:l.toUpperCase()})}const p=new RegExp(Object.keys(e).map((e=>`(${e})`)).join("|"),"g");return h.replace(p,(t=>t in e?e[t]:t))}if("function"==typeof h)return h(a);return new Intl.DateTimeFormat(p,h).format(a)}formatValue(){const e=this,{value:t}=e;return e.params.formatValue?e.params.formatValue.call(e,t):t.map((t=>e.formatDate(t))).join(e.params.rangePicker?" - ":", ")}addValue(e){const t=this,{multiple:a,rangePicker:n,rangePickerMinDays:r,rangePickerMaxDays:o}=t.params;if(a){let a;t.value||(t.value=[]);for(let n=0;n<t.value.length;n+=1)new Date(e).getTime()===new Date(t.value[n]).getTime()&&(a=n);void 0===a?t.value.push(e):t.value.splice(a,1),t.updateValue()}else n?(t.value||(t.value=[]),2!==t.value.length&&0!==t.value.length||(t.value=[]),0===t.value.length||Math.abs(t.value[0].getTime()-e.getTime())>=60*(r-1)*60*24*1e3&&(0===o||Math.abs(t.value[0].getTime()-e.getTime())<=60*(o-1)*60*24*1e3)?t.value.push(e):t.value=[],t.value.sort(((e,t)=>e-t)),t.updateValue()):(t.value=[e],t.updateValue())}setValue(e){const t=this,a=t.value;if(Array.isArray(a)&&Array.isArray(e)&&a.length===e.length){let t=!0;if(a.forEach(((a,n)=>{a!==e[n]&&(t=!1)})),t)return}t.value=e,t.updateValue()}getValue(){return this.value}updateValue(e){const t=this,{$el:a,$wrapperEl:n,$inputEl:r,value:o,params:l}=t;let s;if(a&&a.length>0){let e;if(n.find(".calendar-day-selected").removeClass("calendar-day-selected calendar-day-selected-range calendar-day-selected-left calendar-day-selected-right"),l.rangePicker&&2===o.length){const t=new Date(o[0]).getTime(),a=new Date(o[1]).getTime();for(s=t;s<=a;s+=864e5){e=new Date(s);let r="calendar-day-selected";t!==a&&(s!==t&&s!==a&&(r+=" calendar-day-selected-range"),s===t&&(r+=" calendar-day-selected-left"),s===a&&(r+=" calendar-day-selected-right")),n.find(`.calendar-day[data-date="${e.getFullYear()}-${e.getMonth()}-${e.getDate()}"]`).addClass(r)}e=new Date(t),n.find(`.calendar-day[data-date="${e.getFullYear()}-${e.getMonth()}-${e.getDate()}"]`).removeClass("calendar-day-selected-range").addClass("calendar-day-selected calendar-day-selected-left"),e=new Date(a),n.find(`.calendar-day[data-date="${e.getFullYear()}-${e.getMonth()}-${e.getDate()}"]`).removeClass("calendar-day-selected-range").addClass("calendar-day-selected calendar-day-selected-right")}else for(s=0;s<t.value.length;s+=1)e=new Date(o[s]),n.find(`.calendar-day[data-date="${e.getFullYear()}-${e.getMonth()}-${e.getDate()}"]`).addClass("calendar-day-selected")}if(e||t.emit("local::change calendarChange",t,o),a&&a.length>0&&t.hasTimePicker&&a.find(".calendar-time-selector a").text(o&&o.length?t.timeSelectorFormatter(o[0]):t.params.timePickerPlaceholder),r&&r.length||l.header){const n=t.formatValue(o);l.header&&a&&a.length&&a.find(".calendar-selected-date").text(n),r&&r.length&&!e&&(r.val(n),r.trigger("change"))}}updateCurrentMonthYear(e){const t=this,{$months:a,$el:n,monthNames:r}=t;let o,l;void 0===e?(t.currentMonth=parseInt(a.eq(1).attr("data-month"),10),t.currentYear=parseInt(a.eq(1).attr("data-year"),10),o=a.eq(1).attr("data-locale-month"),l=a.eq(1).attr("data-locale-year")):(t.currentMonth=parseInt(a.eq("next"===e?a.length-1:0).attr("data-month"),10),t.currentYear=parseInt(a.eq("next"===e?a.length-1:0).attr("data-year"),10),o=a.eq("next"===e?a.length-1:0).attr("data-locale-month"),l=a.eq("next"===e?a.length-1:0).attr("data-locale-year")),n.find(".current-month-value").text(r[o]),n.find(".current-year-value").text(l)}update(){const e=this,{currentYear:t,currentMonth:a,$wrapperEl:n}=e,r=new Date(t,a),o=e.renderMonth(r,"prev"),l=e.renderMonth(r),s=e.renderMonth(r,"next");n.transition(0).html(`${o}${l}${s}`).transform("translate3d(0,0,0)"),e.$months=n.find(".calendar-month"),e.monthsTranslate=0,e.setMonthsTranslate(),e.$months.each((t=>{e.emit("local::monthAdd calendarMonthAdd",t)}))}onMonthChangeStart(e){const t=this,{$months:a,currentYear:n,currentMonth:r}=t;t.updateCurrentMonthYear(e),a.removeClass("calendar-month-current calendar-month-prev calendar-month-next");const o="next"===e?a.length-1:0;a.eq(o).addClass("calendar-month-current"),a.eq("next"===e?o-1:o+1).addClass("next"===e?"calendar-month-prev":"calendar-month-next"),t.emit("local::monthYearChangeStart calendarMonthYearChangeStart",t,n,r)}onMonthChangeEnd(e,t){const a=this,{currentYear:n,currentMonth:r,$wrapperEl:o,monthsTranslate:l}=a;let s,i,c;a.animating=!1,o.find(".calendar-month:not(.calendar-month-prev):not(.calendar-month-current):not(.calendar-month-next)").remove(),void 0===e&&(e="next",t=!0),t?(o.find(".calendar-month-next, .calendar-month-prev").remove(),i=a.renderMonth(new Date(n,r),"prev"),s=a.renderMonth(new Date(n,r),"next")):c=a.renderMonth(new Date(n,r),e),("next"===e||t)&&o.append(c||s),("prev"===e||t)&&o.prepend(c||i);const d=o.find(".calendar-month");a.$months=d,a.setMonthsTranslate(l),a.emit("local::monthAdd calendarMonthAdd",a,"next"===e?d.eq(d.length-1)[0]:d.eq(0)[0]),a.emit("local::monthYearChangeEnd calendarMonthYearChangeEnd",a,n,r)}setMonthsTranslate(e){const t=this,{$months:a,isHorizontal:n,inverter:r}=t;e=e||t.monthsTranslate||0,void 0===t.monthsTranslate&&(t.monthsTranslate=e),a.removeClass("calendar-month-current calendar-month-prev calendar-month-next");const o=100*-(e+1)*r,l=100*-e*r,s=100*-(e-1)*r;a.eq(0).transform(`translate3d(${n?o:0}%, ${n?0:o}%, 0)`).addClass("calendar-month-prev"),a.eq(1).transform(`translate3d(${n?l:0}%, ${n?0:l}%, 0)`).addClass("calendar-month-current"),a.eq(2).transform(`translate3d(${n?s:0}%, ${n?0:s}%, 0)`).addClass("calendar-month-next")}nextMonth(e){const t=this,{params:n,$wrapperEl:r,inverter:o,isHorizontal:l}=t;void 0!==e&&"object"!=typeof e||(e="",n.animate||(e=0));const s=parseInt(t.$months.eq(t.$months.length-1).attr("data-month"),10),i=parseInt(t.$months.eq(t.$months.length-1).attr("data-year"),10),c=new Date(i,s).getTime(),d=!t.animating;if(n.maxDate&&c>new Date(n.maxDate).getTime())return void t.resetMonth();if(t.monthsTranslate-=1,s===t.currentMonth){const e=100*-t.monthsTranslate*o,n=a(t.renderMonth(c,"next")).transform(`translate3d(${l?e:0}%, ${l?0:e}%, 0)`).addClass("calendar-month-next");r.append(n[0]),t.$months=r.find(".calendar-month"),t.emit("local::monthAdd calendarMonthAdd",t.$months.eq(t.$months.length-1)[0])}t.animating=!0,t.onMonthChangeStart("next");const m=100*t.monthsTranslate*o;r.transition(e).transform(`translate3d(${l?m:0}%, ${l?0:m}%, 0)`),d&&r.transitionEnd((()=>{t.onMonthChangeEnd("next")})),n.animate||t.onMonthChangeEnd("next")}prevMonth(e){const t=this,{params:n,$wrapperEl:r,inverter:o,isHorizontal:l}=t;void 0!==e&&"object"!=typeof e||(e="",n.animate||(e=0));const s=parseInt(t.$months.eq(0).attr("data-month"),10),i=parseInt(t.$months.eq(0).attr("data-year"),10),c=new Date(i,s+1,-1).getTime(),d=!t.animating;if(n.minDate){let e=new Date(n.minDate);if(e=new Date(e.getFullYear(),e.getMonth(),1),c<e.getTime())return void t.resetMonth()}if(t.monthsTranslate+=1,s===t.currentMonth){const e=100*-t.monthsTranslate*o,n=a(t.renderMonth(c,"prev")).transform(`translate3d(${l?e:0}%, ${l?0:e}%, 0)`).addClass("calendar-month-prev");r.prepend(n[0]),t.$months=r.find(".calendar-month"),t.emit("local::monthAdd calendarMonthAdd",t.$months.eq(0)[0])}t.animating=!0,t.onMonthChangeStart("prev");const m=100*t.monthsTranslate*o;r.transition(e).transform(`translate3d(${l?m:0}%, ${l?0:m}%, 0)`),d&&r.transitionEnd((()=>{t.onMonthChangeEnd("prev")})),n.animate||t.onMonthChangeEnd("prev")}resetMonth(e){void 0===e&&(e="");const{$wrapperEl:t,inverter:a,isHorizontal:n,monthsTranslate:r}=this,o=100*r*a;t.transition(e).transform(`translate3d(${n?o:0}%, ${n?0:o}%, 0)`)}setYearMonth(e,t,a){const n=this,{params:r,isHorizontal:o,$wrapperEl:l,inverter:s}=n;let i;if(void 0===e&&(e=n.currentYear),void 0===t&&(t=n.currentMonth),void 0!==a&&"object"!=typeof a||(a="",r.animate||(a=0)),i=e<n.currentYear?new Date(e,t+1,-1).getTime():new Date(e,t).getTime(),r.maxDate&&i>new Date(r.maxDate).getTime())return!1;if(r.minDate){let e=new Date(r.minDate);if(e=new Date(e.getFullYear(),e.getMonth(),1),i<e.getTime())return!1}const c=new Date(n.currentYear,n.currentMonth).getTime(),d=i>c?"next":"prev",m=n.renderMonth(new Date(e,t));n.monthsTranslate=n.monthsTranslate||0;const h=n.monthsTranslate;let p;const u=!n.animating&&0!==a;i>c?(n.monthsTranslate-=1,n.animating||n.$months.eq(n.$months.length-1).remove(),l.append(m),n.$months=l.find(".calendar-month"),p=100*-(h-1)*s,n.$months.eq(n.$months.length-1).transform(`translate3d(${o?p:0}%, ${o?0:p}%, 0)`).addClass("calendar-month-next")):(n.monthsTranslate+=1,n.animating||n.$months.eq(0).remove(),l.prepend(m),n.$months=l.find(".calendar-month"),p=100*-(h+1)*s,n.$months.eq(0).transform(`translate3d(${o?p:0}%, ${o?0:p}%, 0)`).addClass("calendar-month-prev")),n.emit("local::monthAdd calendarMonthAdd","next"===d?n.$months.eq(n.$months.length-1)[0]:n.$months.eq(0)[0]),n.animating=!0,n.onMonthChangeStart(d);const v=100*n.monthsTranslate*s;l.transition(a).transform(`translate3d(${o?v:0}%, ${o?0:v}%, 0)`),u&&l.transitionEnd((()=>{n.onMonthChangeEnd(d,!0)})),r.animate&&0!==a||n.onMonthChangeEnd(d,!0)}nextYear(){this.setYearMonth(this.currentYear+1)}prevYear(){this.setYearMonth(this.currentYear-1)}dateInRange(e,t){let a,n=!1;if(!t)return!1;if(Array.isArray(t))for(a=0;a<t.length;a+=1)t[a].from||t[a].to?t[a].from&&t[a].to?e<=new Date(t[a].to).getTime()&&e>=new Date(t[a].from).getTime()&&(n=!0):t[a].from?e>=new Date(t[a].from).getTime()&&(n=!0):t[a].to&&e<=new Date(t[a].to).getTime()&&(n=!0):t[a].date?e===new Date(t[a].date).getTime()&&(n=!0):e===new Date(t[a]).getTime()&&(n=!0);else t.from||t.to?t.from&&t.to?e<=new Date(t.to).getTime()&&e>=new Date(t.from).getTime()&&(n=!0):t.from?e>=new Date(t.from).getTime()&&(n=!0):t.to&&e<=new Date(t.to).getTime()&&(n=!0):t.date?n=e===new Date(t.date).getTime():"function"==typeof t&&(n=t(new Date(e)));return n}daysInMonth(e){const t=new Date(e);return new Date(t.getFullYear(),t.getMonth()+1,0).getDate()}renderMonths(e){const t=this;return t.params.renderMonths?t.params.renderMonths.call(t,e):$jsx("div",{class:"calendar-months-wrapper"},t.renderMonth(e,"prev"),t.renderMonth(e),t.renderMonth(e,"next"))}renderMonth(e,t){const a=this,{params:n,value:r}=a;if(n.renderMonth)return n.renderMonth.call(a,e,t);let o=new Date(e),l=o.getFullYear(),s=o.getMonth(),i=a.monthNames.indexOf(a.monthFormatter(o));i<0&&(i=s);let c=a.yearFormatter(o);"next"===t&&(o=11===s?new Date(l+1,0):new Date(l,s+1,1)),"prev"===t&&(o=0===s?new Date(l-1,11):new Date(l,s-1,1)),"next"!==t&&"prev"!==t||(s=o.getMonth(),l=o.getFullYear(),i=a.monthNames.indexOf(a.monthFormatter(o)),i<0&&(i=s),c=a.yearFormatter(o));const d=[],m=(new Date).setHours(0,0,0,0),h=n.minDate?new Date(n.minDate).getTime():null,p=n.maxDate?new Date(n.maxDate).getTime():null,u=a.daysInMonth(new Date(o.getFullYear(),o.getMonth()).getTime()-864e6),v=a.daysInMonth(o),g=6===n.firstDay?0:1;let f,k,y="",$=n.firstDay-1+0,P=new Date(o.getFullYear(),o.getMonth()).getDay();if(0===P&&(P=7),r&&r.length)for(let e=0;e<r.length;e+=1)d.push(new Date(r[e]).setHours(0,0,0,0));for(let e=1;e<=6;e+=1){let t="";for(let r=1;r<=7;r+=1){let o;$+=1;let i=$-P,c="";1===e&&1===r&&i>g&&1!==n.firstDay&&($-=7,i=$-P);const y=r-1+n.firstDay>6?r-1-7+n.firstDay:r-1+n.firstDay;i<0?(i=u+i+1,c+=" calendar-day-prev",o=new Date(s-1<0?l-1:l,s-1<0?11:s-1,i).getTime()):(i+=1,i>v?(i-=v,c+=" calendar-day-next",o=new Date(s+1>11?l+1:l,s+1>11?0:s+1,i).getTime()):o=new Date(l,s,i).getTime()),o===m&&(c+=" calendar-day-today"),n.rangePicker&&2===d.length?(o>=d[0]&&o<=d[1]&&(c+=" calendar-day-selected"),d[0]!==d[1]&&(o>d[0]&&o<d[1]&&(c+=" calendar-day-selected-range"),o===d[0]&&(c+=" calendar-day-selected-left"),o===d[1]&&(c+=" calendar-day-selected-right"))):d.indexOf(o)>=0&&(c+=" calendar-day-selected"),n.weekendDays.indexOf(y)>=0&&(c+=" calendar-day-weekend");let M="";if(k=!1,n.events&&a.dateInRange(o,n.events)&&(k=!0),k&&(c+=" calendar-day-has-events",M='\n <span class="calendar-day-events">\n <span class="calendar-day-event"></span>\n </span>\n ',Array.isArray(n.events))){const e=[];n.events.forEach((t=>{const n=t.color||"";e.indexOf(n)<0&&a.dateInRange(o,t)&&e.push(n)})),M=`\n <span class="calendar-day-events">\n ${e.map((e=>`\n <span class="calendar-day-event" style="${e?`background-color: ${e}`:""}"></span>\n `.trim())).join("")}\n </span>\n `}if(n.rangesClasses)for(let e=0;e<n.rangesClasses.length;e+=1)a.dateInRange(o,n.rangesClasses[e].range)&&(c+=` ${n.rangesClasses[e].cssClass}`);f=!1,(h&&o<h||p&&o>p)&&(f=!0),n.disabled&&a.dateInRange(o,n.disabled)&&(f=!0),f&&(c+=" calendar-day-disabled"),o=new Date(o);const D=o.getFullYear(),w=o.getMonth();t+=`\n <div data-year="${D}" data-month="${w}" data-day="${i}" class="calendar-day${c}" data-date="${D}-${w}-${i}">\n <span class="calendar-day-number">${a.dayFormatter(o)}${M}</span>\n </div>`.trim()}y+=`<div class="calendar-row">${t}</div>`}return y=`<div class="calendar-month" data-year="${l}" data-month="${s}" data-locale-year="${c}" data-locale-month="${i}">${y}</div>`,y}renderWeekHeader(){const e=this;if(e.params.renderWeekHeader)return e.params.renderWeekHeader.call(e);const{params:t}=e;let a="";for(let n=0;n<7;n+=1){const r=n+t.firstDay>6?n-7+t.firstDay:n+t.firstDay;a+=`<div class="calendar-week-day">${e.dayNamesShort[r]}</div>`}return $jsx("div",{class:"calendar-week-header"},a)}renderMonthSelector(){const e=this;return e.params.renderMonthSelector?e.params.renderMonthSelector.call(e):$jsx("div",{class:"calendar-month-selector"},$jsx("a",{class:"link icon-only calendar-prev-month-button"},$jsx("i",{class:"icon icon-prev"})),e.params.monthPicker?$jsx("a",{class:"current-month-value link"}):$jsx("span",{class:"current-month-value"}),$jsx("a",{class:"link icon-only calendar-next-month-button"},$jsx("i",{class:"icon icon-next"})))}renderYearSelector(){const e=this;return e.params.renderYearSelector?e.params.renderYearSelector.call(e):$jsx("div",{class:"calendar-year-selector"},$jsx("a",{class:"link icon-only calendar-prev-year-button"},$jsx("i",{class:"icon icon-prev"})),e.params.yearPicker?$jsx("a",{class:"current-year-value link"}):$jsx("span",{class:"current-year-value"}),$jsx("a",{class:"link icon-only calendar-next-year-button"},$jsx("i",{class:"icon icon-next"})))}renderTimeSelector(){const e=this,t=e.value&&e.value[0];let a;return t&&(a=e.timeSelectorFormatter(t)),$jsx("div",{class:"calendar-time-selector"},$jsx("span",null,e.params.timePickerLabel),$jsx("a",{class:"link"},a||e.params.timePickerPlaceholder))}renderHeader(){const e=this;return e.params.renderHeader?e.params.renderHeader.call(e):$jsx("div",{class:"calendar-header"},$jsx("div",{class:"calendar-selected-date"},e.params.headerPlaceholder))}renderFooter(){const e=this,t=e.app;return e.params.renderFooter?e.params.renderFooter.call(e):$jsx("div",{class:"calendar-footer"},$jsx("a",{class:("md"===t.theme?"button":"link")+" calendar-close sheet-close popover-close"},e.params.toolbarCloseText))}renderToolbar(){const e=this;return e.params.renderToolbar?e.params.renderToolbar.call(e,e):$jsx("div",{class:"toolbar toolbar-top no-shadow"},$jsx("div",{class:"toolbar-inner"},e.params.monthSelector?e.renderMonthSelector():"",e.params.yearSelector?e.renderYearSelector():""))}renderInline(){const e=this,{cssClass:t,toolbar:a,header:n,footer:r,rangePicker:o,weekHeader:l}=e.params,{value:s,hasTimePicker:i}=e,c=s&&s.length?s[0]:(new Date).setHours(0,0,0);return $jsx("div",{class:`calendar calendar-inline ${o?"calendar-range":""} ${t||""}`},n&&e.renderHeader(),a&&e.renderToolbar(),l&&e.renderWeekHeader(),$jsx("div",{class:"calendar-months"},e.renderMonths(c)),i&&e.renderTimeSelector(),r&&e.renderFooter())}renderCustomModal(){const e=this,{cssClass:t,toolbar:a,header:n,footer:r,rangePicker:o,weekHeader:l}=e.params,{value:s,hasTimePicker:i}=e,c=s&&s.length?s[0]:(new Date).setHours(0,0,0);return $jsx("div",{class:`calendar calendar-modal ${o?"calendar-range":""} ${t||""}`},n&&e.renderHeader(),a&&e.renderToolbar(),l&&e.renderWeekHeader(),$jsx("div",{class:"calendar-months"},e.renderMonths(c)),i&&e.renderTimeSelector(),r&&e.renderFooter())}renderSheet(){const e=this,{cssClass:t,toolbar:a,header:n,footer:r,rangePicker:o,weekHeader:l}=e.params,{value:s,hasTimePicker:i}=e,c=s&&s.length?s[0]:(new Date).setHours(0,0,0);return $jsx("div",{class:`sheet-modal calendar calendar-sheet ${o?"calendar-range":""} ${t||""}`},n&&e.renderHeader(),a&&e.renderToolbar(),l&&e.renderWeekHeader(),$jsx("div",{class:"sheet-modal-inner calendar-months"},e.renderMonths(c)),i&&e.renderTimeSelector(),r&&e.renderFooter())}renderPopover(){const e=this,{cssClass:t,toolbar:a,header:n,footer:r,rangePicker:o,weekHeader:l}=e.params,{value:s,hasTimePicker:i}=e,c=s&&s.length?s[0]:(new Date).setHours(0,0,0);return $jsx("div",{class:"popover calendar-popover"},$jsx("div",{class:"popover-inner"},$jsx("div",{class:`calendar ${o?"calendar-range":""} ${t||""}`},n&&e.renderHeader(),a&&e.renderToolbar(),l&&e.renderWeekHeader(),$jsx("div",{class:"calendar-months"},e.renderMonths(c)),i&&e.renderTimeSelector(),r&&e.renderFooter())))}render(){const e=this,{params:t}=e;if(t.render)return t.render.call(e);if(!e.inline){let a=t.openIn;return"auto"===a&&(a=e.isPopover()?"popover":"sheet"),"popover"===a?e.renderPopover():"sheet"===a?e.renderSheet():e.renderCustomModal()}return e.renderInline()}openMonthPicker(){const e=this,{$el:t,app:a}=e;if(!t||!t.length)return;t.append('<div class="popover calendar-popover calendar-month-picker-popover"><div class="popover-inner"><div class="calendar-month-picker"></div></div></div>'),e.monthPickerPopover=a.popover.create({el:t.find(".calendar-month-picker-popover"),targetEl:t.find(".calendar-month-selector"),backdrop:!0,backdropUnique:!0,on:{close(){e.closeMonthPicker()},closed(){e.monthPickerPopover.$el&&e.monthPickerPopover.$el.remove(),e.monthPickerPopover.destroy(),e.monthPickerInstance&&(e.monthPickerInstance.close(),e.monthPickerInstance.destroy()),delete e.monthPickerInstance,delete e.monthPickerPopover}}}),e.monthPickerPopover.open();const n=parseInt(e.$el.find(".calendar-month-current").attr("data-locale-month"),10),r=[],o=[];e.monthNames.forEach(((e,t)=>{r.push(t),o.push(e)})),e.monthPickerInstance=a.picker.create({containerEl:e.monthPickerPopover.$el.find(".calendar-month-picker"),value:[n],toolbar:!1,rotateEffect:!1,toolbarCloseText:e.params.toolbarCloseText,cols:[{values:r,displayValues:o}]})}closeMonthPicker(){const e=this;e.monthPickerPopover&&e.monthPickerPopover.opened&&e.monthPickerPopover.close();const t=e.monthPickerInstance.value[0]-(parseInt(e.$el.find(".calendar-month-current").attr("data-locale-month"),10)-e.currentMonth);e.setYearMonth(e.currentYear,t,0)}openYearPicker(){const e=this,{$el:t,app:a}=e;if(!t||!t.length)return;t.append('<div class="popover calendar-popover calendar-year-picker-popover"><div class="popover-inner"><div class="calendar-year-picker"></div></div></div>'),e.yearPickerPopover=a.popover.create({el:t.find(".calendar-year-picker-popover"),targetEl:t.find(".calendar-year-selector"),backdrop:!0,backdropUnique:!0,on:{close(){e.closeYearPicker()},closed(){e.yearPickerPopover.$el&&e.yearPickerPopover.$el.remove(),e.yearPickerPopover.destroy(),e.yearPickerInstance&&(e.yearPickerInstance.close(),e.yearPickerInstance.destroy()),delete e.yearPickerInstance,delete e.yearPickerPopover}}}),e.yearPickerPopover.open();const n=e.currentYear;let r=e.params.yearPickerMin||(new Date).getFullYear()-100;e.params.minDate&&(r=Math.max(r,new Date(e.params.minDate).getFullYear()));let o=e.params.yearPickerMax||(new Date).getFullYear()+100;e.params.maxDate&&(o=Math.min(o,new Date(e.params.maxDate).getFullYear()));const l=[];for(let e=r;e<=o;e+=1)l.push(e);e.yearPickerInstance=a.picker.create({containerEl:e.yearPickerPopover.$el.find(".calendar-year-picker"),value:[n],toolbar:!1,rotateEffect:!1,toolbarCloseText:e.params.toolbarCloseText,cols:[{values:l}]})}closeYearPicker(){const e=this;e.yearPickerPopover&&e.yearPickerPopover.opened&&e.yearPickerPopover.close(),e.setYearMonth(e.yearPickerInstance.value[0],void 0,0)}openTimePicker(){const e=this,{$el:t,app:a,is12HoursFormat:n}=e;if(!t||!t.length)return;t.append('<div class="popover calendar-popover calendar-time-picker-popover"><div class="popover-inner"><div class="calendar-time-picker"></div></div></div>');const r=[],o=[],l=n?12:23;for(let e=n?1:0;e<=l;e+=1)r.push(e);for(let e=0;e<=59;e+=1)o.push(e);let s;s=e.value&&e.value.length?[e.value[0].getHours(),e.value[0].getMinutes()]:[(new Date).getHours(),(new Date).getMinutes()],n&&(s.push(s[0]<12?"AM":"PM"),s[0]>12&&(s[0]-=12),0===s[0]&&(s[0]=12)),e.timePickerPopover=a.popover.create({el:t.find(".calendar-time-picker-popover"),targetEl:t.find(".calendar-time-selector .link"),backdrop:!0,backdropUnique:!0,on:{close(){e.closeTimePicker()},closed(){e.timePickerPopover.$el&&e.timePickerPopover.$el.remove(),e.timePickerPopover.destroy(),e.timePickerInstance&&(e.timePickerInstance.close(),e.timePickerInstance.destroy()),delete e.timePickerInstance,delete e.timePickerPopover}}}),e.timePickerPopover.open(),e.timePickerInstance=a.picker.create({containerEl:e.timePickerPopover.$el.find(".calendar-time-picker"),value:s,toolbar:!1,rotateEffect:!1,toolbarCloseText:e.params.toolbarCloseText,cols:[{values:r},{divider:!0,content:":"},{values:o,displayValues:o.map((e=>e<10?`0${e}`:e))},...n?[{values:["AM","PM"]}]:[]]})}closeTimePicker(){const e=this,{is12HoursFormat:t}=e;if(e.timePickerInstance){const a=e.timePickerInstance.value;let n=parseInt(a[0],10);const r=parseInt(a[1],10),o=e.timePickerInstance.value[2];t&&("AM"===o&&12===n?n=0:"PM"===o&&12!==n&&(n+=12));let l=e.value&&e.value.length&&e.value[0];l?(l=new Date(l),l.setHours(n,r)):(l=new Date,l.setHours(n,r,0,0)),e.setValue([l]),e.timePickerPopover&&e.timePickerPopover.opened&&e.timePickerPopover.close()}}onOpen(){const e=this,{initialized:t,$el:a,app:n,$inputEl:r,inline:o,value:l,params:s}=e;e.closing=!1,e.opened=!0,e.opening=!0,e.attachCalendarEvents();const i=!l&&s.value;t?l&&e.setValue(l,0):l?e.setValue(l,0):s.value&&e.setValue(e.normalizeValues(s.value),0),e.updateCurrentMonthYear(),e.monthsTranslate=0,e.setMonthsTranslate(),i?e.updateValue():s.header&&l&&e.updateValue(!0),!o&&r&&r.length&&"md"===n.theme&&r.trigger("focus"),e.initialized=!0,e.$months.each((t=>{e.emit("local::monthAdd calendarMonthAdd",t)})),a&&a.trigger("calendar:open"),r&&r.trigger("calendar:open"),e.emit("local::open calendarOpen",e)}onOpened(){const e=this;e.opening=!1,e.$el&&e.$el.trigger("calendar:opened"),e.$inputEl&&e.$inputEl.trigger("calendar:opened"),e.emit("local::opened calendarOpened",e)}onClose(){const e=this,t=e.app;if(e.opening=!1,e.closing=!0,e.$inputEl)if("md"===t.theme)e.$inputEl.trigger("blur");else{const a=e.$inputEl.attr("validate"),n=e.$inputEl.attr("required");a&&n&&t.input.validate(e.$inputEl)}e.detachCalendarEvents&&e.detachCalendarEvents(),e.$el&&e.$el.trigger("calendar:close"),e.$inputEl&&e.$inputEl.trigger("calendar:close"),e.emit("local::close calendarClose",e)}onClosed(){const e=this;e.opened=!1,e.closing=!1,e.inline||c((()=>{e.modal&&e.modal.el&&e.modal.destroy&&(e.params.routableModals||e.modal.destroy()),delete e.modal})),e.timePickerInstance&&(e.timePickerInstance.destroy&&e.timePickerInstance.destroy(),delete e.timePickerInstance),e.$el&&e.$el.trigger("calendar:closed"),e.$inputEl&&e.$inputEl.trigger("calendar:closed"),e.emit("local::closed calendarClosed",e)}open(){const e=this,{app:t,opened:n,inline:r,$inputEl:o,params:l}=e;if(n)return;if(r)return e.$el=a(e.render()),e.$el[0].f7Calendar=e,e.$wrapperEl=e.$el.find(".calendar-months-wrapper"),e.$months=e.$wrapperEl.find(".calendar-month"),e.$containerEl.append(e.$el),e.onOpen(),void e.onOpened();let s=l.openIn;"auto"===s&&(s=e.isPopover()?"popover":"sheet");const i=e.render(),c={targetEl:o,scrollToEl:l.scrollToInput?o:void 0,content:i,backdrop:!0===l.backdrop||"popover"===s&&!1!==t.params.popover.backdrop&&!1!==l.backdrop,closeByBackdropClick:l.closeByBackdropClick,on:{open(){const t=this;e.modal=t,e.$el="popover"===s?t.$el.find(".calendar"):t.$el,e.$wrapperEl=e.$el.find(".calendar-months-wrapper"),e.$months=e.$wrapperEl.find(".calendar-month"),e.$el[0].f7Calendar=e,"customModal"===s&&a(e.$el).find(".calendar-close").once("click",(()=>{e.close()})),e.onOpen()},opened(){e.onOpened()},close(){e.onClose()},closed(){e.onClosed()}}};"sheet"===s&&(c.push=l.sheetPush,c.swipeToClose=l.sheetSwipeToClose),l.routableModals&&e.view?e.view.router.navigate({url:e.url,route:{path:e.url,[s]:c}}):(e.modal=t[s].create(c),e.modal.open())}close(){const e=this,{opened:t,inline:a}=e;if(t)return a?(e.onClose(),void e.onClosed()):void(e.params.routableModals&&e.view?e.view.router.back():e.modal.close())}init(){const e=this;if(e.initInput(),e.inline)return e.open(),void e.emit("local::init calendarInit",e);!e.initialized&&e.params.value&&e.setValue(e.normalizeValues(e.params.value)),e.$inputEl&&e.attachInputEvents(),e.params.closeByOutsideClick&&e.attachHtmlEvents(),e.emit("local::init calendarInit",e)}destroy(){const e=this;if(e.destroyed)return;const{$el:t}=e;e.emit("local::beforeDestroy calendarBeforeDestroy",e),t&&t.trigger("calendar:beforedestroy"),e.close(),e.$inputEl&&e.detachInputEvents(),e.params.closeByOutsideClick&&e.detachHtmlEvents(),e.timePickerInstance&&(e.timePickerInstance.destroy&&e.timePickerInstance.destroy(),delete e.timePickerInstance),t&&t.length&&delete e.$el[0].f7Calendar,d(e),e.destroyed=!0}}var h={name:"calendar",static:{Calendar:m},create(){const e=this;e.calendar=s({defaultSelector:".calendar",constructor:m,app:e,domProp:"f7Calendar"}),e.calendar.close=function(e){void 0===e&&(e=".calendar");const t=a(e);if(0===t.length)return;const n=t[0].f7Calendar;!n||n&&!n.opened||n.close()}},params:{calendar:{dateFormat:void 0,monthNames:"auto",monthNamesShort:"auto",dayNames:"auto",dayNamesShort:"auto",locale:void 0,firstDay:1,weekendDays:[0,6],multiple:!1,rangePicker:!1,rangePickerMinDays:1,rangePickerMaxDays:0,direction:"horizontal",minDate:null,maxDate:null,disabled:null,events:null,rangesClasses:null,touchMove:!0,animate:!0,closeOnSelect:!1,monthSelector:!0,monthPicker:!0,yearSelector:!0,yearPicker:!0,yearPickerMin:void 0,yearPickerMax:void 0,timePicker:!1,timePickerLabel:"Time",timePickerFormat:{hour:"numeric",minute:"numeric"},timePickerPlaceholder:"Select time",weekHeader:!0,value:null,containerEl:null,openIn:"auto",sheetPush:!1,sheetSwipeToClose:void 0,formatValue:null,inputEl:null,inputReadOnly:!0,closeByOutsideClick:!0,scrollToInput:!0,header:!1,headerPlaceholder:"Select date",toolbar:!0,toolbarCloseText:"Done",footer:!1,cssClass:null,routableModals:!1,view:null,url:"date/",backdrop:null,closeByBackdropClick:!0,renderWeekHeader:null,renderMonths:null,renderMonth:null,renderMonthSelector:null,renderYearSelector:null,renderHeader:null,renderFooter:null,renderToolbar:null,renderInline:null,renderPopover:null,renderSheet:null,render:null}}};if(t){if(e.prototype.modules&&e.prototype.modules[h.name])return;e.use(h),e.instance&&(e.instance.useModuleParams(h,e.instance.params),e.instance.useModule(h))}return h}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|
|
@@ -186,7 +186,6 @@
|
|
|
186
186
|
box-sizing: border-box;
|
|
187
187
|
padding-left: var(--f7-safe-area-left);
|
|
188
188
|
padding-right: var(--f7-safe-area-right);
|
|
189
|
-
.hairline(top, var(--f7-calendar-row-border-color));
|
|
190
189
|
}
|
|
191
190
|
.calendar-modal,
|
|
192
191
|
.calendar-popover {
|
|
@@ -317,20 +316,17 @@
|
|
|
317
316
|
.calendar-month-picker,
|
|
318
317
|
.calendar-year-picker,
|
|
319
318
|
.calendar-time-picker {
|
|
320
|
-
position:
|
|
319
|
+
position: relative;
|
|
321
320
|
width: 100%;
|
|
322
321
|
height: 100%;
|
|
323
|
-
left: 0px;
|
|
324
|
-
top: 0px;
|
|
325
|
-
background: var(--f7-calendar-picker-bg-color);
|
|
326
|
-
z-index: 1000;
|
|
327
322
|
user-select: none;
|
|
323
|
+
background: transparent;
|
|
328
324
|
}
|
|
329
325
|
.calendar-month-picker,
|
|
330
326
|
.calendar-year-picker {
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
327
|
+
.picker-columns {
|
|
328
|
+
text-align: center;
|
|
329
|
+
}
|
|
334
330
|
}
|
|
335
331
|
.calendar-month-picker-item,
|
|
336
332
|
.calendar-year-picker-item {
|
|
@@ -361,8 +357,6 @@
|
|
|
361
357
|
}
|
|
362
358
|
.calendar-month-picker-item {
|
|
363
359
|
padding: 5px;
|
|
364
|
-
.hairline(bottom, var(--f7-calendar-row-border-color));
|
|
365
|
-
.hairline(left, var(--f7-calendar-row-border-color));
|
|
366
360
|
}
|
|
367
361
|
.sheet-modal .calendar-month-picker-item {
|
|
368
362
|
width: 25%;
|
|
@@ -397,16 +391,15 @@
|
|
|
397
391
|
height: 34px;
|
|
398
392
|
line-height: 34px;
|
|
399
393
|
width: 100%;
|
|
400
|
-
.hairline(bottom, var(--f7-calendar-row-border-color));
|
|
401
394
|
}
|
|
402
395
|
|
|
403
396
|
.calendar-time-selector {
|
|
404
397
|
flex-shrink: 0;
|
|
405
398
|
font-size: var(--f7-calendar-time-selector-font-size);
|
|
406
399
|
position: relative;
|
|
407
|
-
.hairline(top, var(--f7-calendar-row-border-color));
|
|
408
400
|
display: flex;
|
|
409
|
-
justify-content:
|
|
401
|
+
justify-content: space-between;
|
|
402
|
+
align-items: center;
|
|
410
403
|
padding: 12px 16px;
|
|
411
404
|
a {
|
|
412
405
|
overflow: hidden;
|
|
@@ -415,17 +408,29 @@
|
|
|
415
408
|
justify-content: center;
|
|
416
409
|
align-items: center;
|
|
417
410
|
display: flex;
|
|
418
|
-
min-width: 200px;
|
|
419
411
|
box-sizing: border-box;
|
|
420
412
|
height: var(--f7-calendar-time-selector-height);
|
|
421
413
|
background-color: var(--f7-calendar-time-selector-bg-color);
|
|
422
|
-
padding: 0
|
|
414
|
+
padding: 0 16px;
|
|
423
415
|
border-radius: 8px;
|
|
424
416
|
}
|
|
417
|
+
> span {
|
|
418
|
+
font-weight: 500;
|
|
419
|
+
}
|
|
425
420
|
.segmented {
|
|
426
421
|
margin-left: 8px;
|
|
427
422
|
}
|
|
428
423
|
}
|
|
424
|
+
.calendar-time-picker-popover,
|
|
425
|
+
.calendar-year-picker-popover,
|
|
426
|
+
.calendar-month-picker-popover {
|
|
427
|
+
height: 240px;
|
|
428
|
+
width: 240px;
|
|
429
|
+
.popover-inner {
|
|
430
|
+
height: 100%;
|
|
431
|
+
overflow: hidden;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
429
434
|
.calendar-time-picker {
|
|
430
435
|
--f7-picker-popover-height: 100%;
|
|
431
436
|
--f7-picker-inline-height: 100%;
|
package/components/card/card.js
CHANGED
|
@@ -5,7 +5,15 @@ import { getSupport } from '../../shared/get-support.js';
|
|
|
5
5
|
import { getDevice } from '../../shared/get-device.js';
|
|
6
6
|
import $ from '../../shared/dom7.js';
|
|
7
7
|
const CardExpandable = {
|
|
8
|
-
open(cardEl
|
|
8
|
+
open(cardEl, animate) {
|
|
9
|
+
if (cardEl === void 0) {
|
|
10
|
+
cardEl = '.card-expandable';
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
if (animate === void 0) {
|
|
14
|
+
animate = true;
|
|
15
|
+
}
|
|
16
|
+
|
|
9
17
|
const app = this;
|
|
10
18
|
const device = getDevice();
|
|
11
19
|
const document = getDocument();
|
|
@@ -373,7 +381,15 @@ const CardExpandable = {
|
|
|
373
381
|
}
|
|
374
382
|
},
|
|
375
383
|
|
|
376
|
-
close(cardEl
|
|
384
|
+
close(cardEl, animate) {
|
|
385
|
+
if (cardEl === void 0) {
|
|
386
|
+
cardEl = '.card-expandable.card-opened';
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
if (animate === void 0) {
|
|
390
|
+
animate = true;
|
|
391
|
+
}
|
|
392
|
+
|
|
377
393
|
const app = this;
|
|
378
394
|
const device = getDevice();
|
|
379
395
|
const $cardEl = $(cardEl).eq(0);
|
|
@@ -498,7 +514,11 @@ const CardExpandable = {
|
|
|
498
514
|
}
|
|
499
515
|
},
|
|
500
516
|
|
|
501
|
-
toggle(cardEl
|
|
517
|
+
toggle(cardEl, animate) {
|
|
518
|
+
if (cardEl === void 0) {
|
|
519
|
+
cardEl = '.card-expandable';
|
|
520
|
+
}
|
|
521
|
+
|
|
502
522
|
const app = this;
|
|
503
523
|
const $cardEl = $(cardEl).eq(0);
|
|
504
524
|
if (!$cardEl.length) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function framework7ComponentLoader(e,a){void 0===a&&(a=!0);var t=e.$,r=e.utils,n=e.getDevice,s=e.getSupport,o=(e.Class,e.Modal,e.ConstructorMethods,e.ModalMethods,r.bindMethods);const
|
|
1
|
+
(function framework7ComponentLoader(e,a){void 0===a&&(a=!0);var t=e.$,r=e.utils,n=e.getDevice,s=e.getSupport,o=(e.Class,e.Modal,e.ConstructorMethods,e.ModalMethods,r.bindMethods);const d={open(e,a){void 0===e&&(e=".card-expandable"),void 0===a&&(a=!0);const r=this,o=n(),d=getDocument(),l=s(),c=t(e).eq(0);if(!c||!c.length)return;if(c.hasClass("card-opened")||c.hasClass("card-opening")||c.hasClass("card-closing"))return;const i=c.parents(".page").eq(0);if(!i.length)return;if(i.find(".card-opened").length)return;let p;function h(){p=!0}if(c.trigger("card:beforeopen",{prevent:h}),r.emit("cardBeforeOpen",c[0],h),p)return;const f=Object.assign({animate:a},r.params.card,c.dataset()),g=c.parents(".page-content");let b,m,v;c.attr("data-backdrop-el")&&(b=t(c.attr("data-backdrop-el"))),!b&&f.backdrop&&(b=g.find(".card-backdrop"),b.length||(b=t('<div class="card-backdrop"></div>'),g.append(b))),f.hideNavbarOnOpen&&(m=i.children(".navbar"),m.length||i[0].f7Page&&(m=i[0].f7Page.$navbarEl)),f.hideToolbarOnOpen&&(v=i.children(".toolbar"),v.length||(v=i.parents(".view").children(".toolbar")),v.length||(v=i.parents(".views").children(".toolbar")));const u=c.css("transform");let C;u&&u.match(/[2-9]/)&&(C=!0);const O=c.children(".card-content"),$=t(d.createElement("div")).addClass("card-expandable-size");c.append($);let x,k=c[0].offsetWidth,T=c[0].offsetHeight,w=i[0].offsetWidth,E=i[0].offsetHeight,N=$[0].offsetWidth||w,H=$[0].offsetHeight||E;m&&!f.hideStatusbarOnOpen&&H===E&&(x=parseInt(m.css("--f7-safe-area-top"),10),Number.isNaN(x)&&(x=0)),x&&(H-=x);let M,y,B=N/k,K=H/T,S=c.offset(),W=i.offset();if(x&&(W.top+=x/2),S.left-=W.left,C){const e=u.replace(/matrix\(|\)/g,"").split(",").map((e=>e.trim()));if(e&&e.length>1){const a=parseFloat(e[0]);M=S.left-k*(1-a)/2,y=S.top-W.top-T*(1-a)/2,r.rtl&&(M-=c[0].scrollLeft)}else M=c[0].offsetLeft,y=c[0].offsetTop-(g.length?g[0].scrollTop:0)}else M=S.left,y=S.top-W.top,r.rtl&&(M-=c[0].scrollLeft);M-=(w-N)/2,y-=(E-H)/2;let q=N-k-M;r.rtl&&([M,q]=[q,M]);let L,P,z,D,I,X,j,Y,F,A,G,J,Q=H-T-y,R=(q-M)/2,U=(Q-y)/2;function V(){i.addClass("page-with-card-opened"),o.ios&&g.length&&(g.css("height",`${g[0].offsetHeight+1}px`),setTimeout((()=>{g.css("height","")}))),c.addClass("card-opened"),c.removeClass("card-opening"),c.trigger("card:opened"),r.emit("cardOpened",c[0],i[0])}function Z(){c.removeClass("card-transitioning"),k=c[0].offsetWidth,T=c[0].offsetHeight,w=i[0].offsetWidth,E=i[0].offsetHeight,N=$[0].offsetWidth||w,H=$[0].offsetHeight||E,x=0,m&&!f.hideStatusbarOnOpen&&H===E&&(x=parseInt(m.css("--f7-safe-area-top"),10),Number.isNaN(x)&&(x=0)),x&&(H-=x),B=N/k,K=H/T,c.transform("translate3d(0px, 0px, 0) scale(1)"),S=c.offset(),W=i.offset(),x&&(W.top+=x/2),S.left-=W.left,S.top-=W.top,M=S.left-(w-N)/2,r.rtl&&(M-=c[0].scrollLeft),y=S.top-(E-H)/2,q=N-k-M,Q=H-T-y,r.rtl&&([M,q]=[q,M]),R=(q-M)/2,U=(Q-y)/2,c.transform(`translate3d(${r.rtl?-R:R}px, ${U}px, 0) scale(${B}, ${K})`),O.css({width:`${N}px`,height:`${H}px`}).transform(`translate3d(${r.rtl?M+R:-M-R}px, 0px, 0) scale(${1/B}, ${1/K})`)}function _(e){t(e.target).closest(c).length&&c.hasClass("card-opened")&&(J=c.find(f.scrollableEl),L=J[0]&&J[0]!==O[0]&&!J[0].contains(e.target)?0:J.scrollTop(),P=!0,D=e.targetTouches[0].pageX,I=e.targetTouches[0].pageY,Y=void 0,A=!1,G=!1)}function ee(e){if(P){if(X=e.targetTouches[0].pageX,j=e.targetTouches[0].pageY,void 0===Y&&(Y=!!(Y||Math.abs(j-I)>Math.abs(X-D))),G||A||(!Y&&e.targetTouches[0].clientX<=50?G=!0:A=!0),!G&&!A||A&&0!==L)return P=!0,void(z=!0);z||c.removeClass("card-transitioning"),z=!0,F=A?Math.max((j-I)/150,0):Math.max((X-D)/(k/2),0),(F>0&&A||G)&&(A&&o.ios&&J[0]===O[0]&&(J.css("-webkit-overflow-scrolling","auto"),J.scrollTop(0)),e.preventDefault()),F>1&&(F**=.3),F>(A?1.3:1.1)?(P=!1,z=!1,r.card.close(c)):c.transform(`translate3d(${r.rtl?-R:R}px, ${U}px, 0) scale(${B*(1-.2*F)}, ${K*(1-.2*F)})`)}}function ae(){P&&z&&(P=!1,z=!1,o.ios&&J.css("-webkit-overflow-scrolling",""),F>=.8?r.card.close(c):c.addClass("card-transitioning").transform(`translate3d(${r.rtl?-R:R}px, ${U}px, 0) scale(${B}, ${K})`))}f.hideNavbarOnOpen&&m&&m.length&&(m.closest(".navbar-hidden").length?c[0].f7KeepNavbarOnClose=!0:(delete c[0].f7KeepNavbarOnClose,r.navbar.hide(m,f.animate,f.hideStatusbarOnOpen,!0))),f.hideToolbarOnOpen&&v&&v.length&&(v.closest(".toolbar-hidden").length?c[0].f7KeepToolbarOnClose=!0:(delete c[0].f7KeepToolbarOnClose,r.toolbar.hide(v,f.animate))),b&&b.removeClass("card-backdrop-out").addClass("card-backdrop-in"),c.removeClass("card-transitioning"),f.animate&&c.addClass("card-opening"),c.trigger("card:open"),r.emit("cardOpen",c[0]),O.css({width:`${N}px`,height:`${H}px`}).transform(`translate3d(${r.rtl?M+R:-M-R}px, 0px, 0) scale(${1/B}, ${1/K})`),c.transform(`translate3d(${r.rtl?-R:R}px, ${U}px, 0) scale(${B}, ${K})`),f.animate?c.transitionEnd((()=>{V()})):V(),c[0].detachEventHandlers=function(){r.off("resize",Z),l.touch&&f.swipeToClose&&(r.off("touchstart:passive",_),r.off("touchmove:active",ee),r.off("touchend:passive",ae))},r.on("resize",Z),l.touch&&f.swipeToClose&&(r.on("touchstart:passive",_),r.on("touchmove:active",ee),r.on("touchend:passive",ae))},close(e,a){void 0===e&&(e=".card-expandable.card-opened"),void 0===a&&(a=!0);const r=this,s=n(),o=t(e).eq(0);if(!o||!o.length)return;if(!o.hasClass("card-opened")||o.hasClass("card-opening")||o.hasClass("card-closing"))return;const d=o.children(".card-content"),l=o.parents(".page-content"),c=o.parents(".page").eq(0);if(!c.length)return;const i=Object.assign({animate:a},r.params.card,o.dataset()),p=o.find(i.scrollableEl);let h,f,g;o.attr("data-backdrop-el")&&(g=t(o.attr("data-backdrop-el"))),i.backdrop&&(g=o.parents(".page-content").find(".card-backdrop")),i.hideNavbarOnOpen&&(h=c.children(".navbar"),h.length||c[0].f7Page&&(h=c[0].f7Page.$navbarEl),h&&h.length&&!o[0].f7KeepNavbarOnClose&&r.navbar.show(h,i.animate,!0)),i.hideToolbarOnOpen&&(f=c.children(".toolbar"),f.length||(f=c.parents(".view").children(".toolbar")),f.length||(f=c.parents(".views").children(".toolbar")),f&&f.length&&!o[0].f7KeepToolbarOnClose&&r.toolbar.show(f,i.animate)),c.removeClass("page-with-card-opened"),s.ios&&l.length&&(l.css("height",`${l[0].offsetHeight+1}px`),setTimeout((()=>{l.css("height","")}))),g&&g.length&&g.removeClass("card-backdrop-in").addClass("card-backdrop-out"),o.removeClass("card-opened card-transitioning"),i.animate?o.addClass("card-closing"):o.addClass("card-no-transition"),o.transform(""),o.trigger("card:close"),r.emit("cardClose",o[0],c[0]);const b=o.hasClass("card-expandable-animate-width");function m(){b||d.css({width:"",height:""}),g&&g.length&&g.removeClass("card-backdrop-in card-backdrop-out"),o.removeClass("card-closing card-no-transition"),o.trigger("card:closed"),o.find(".card-expandable-size").remove(),r.emit("cardClosed",o[0],c[0])}b&&d.css({width:"",height:""}),d.transform("").scrollTop(0,a?300:0),p.length&&p[0]!==d[0]&&p.scrollTop(0,a?300:0),a?d.transitionEnd((()=>{m()})):m(),o[0].detachEventHandlers&&(o[0].detachEventHandlers(),delete o[0].detachEventHandlers)},toggle(e,a){void 0===e&&(e=".card-expandable");const r=this,n=t(e).eq(0);n.length&&(n.hasClass("card-opened")?r.card.close(n,a):r.card.open(n,a))}};var l={name:"card",params:{card:{hideNavbarOnOpen:!0,hideStatusbarOnOpen:!0,hideToolbarOnOpen:!0,scrollableEl:".card-content",swipeToClose:!0,closeByBackdropClick:!0,backdrop:!0}},create(){o(this,{card:d})},on:{pageBeforeIn(e){const a=this;if(a.params.card.hideNavbarOnOpen&&e.navbarEl&&e.$el.find(".card-opened.card-expandable").length&&a.navbar.hide(e.navbarEl,!0,a.params.card.hideStatusbarOnOpen,!0),a.params.card.hideToolbarOnOpen&&e.$el.find(".card-opened.card-expandable").length){let t=e.$el.children(".toolbar");t.length||(t=e.$el.parents(".view").children(".toolbar")),t.length||(t=e.$el.parents(".views").children(".toolbar")),t&&t.length&&a.toolbar.hide(t)}}},clicks:{".card-close":function(e,a){this.card.close(a.card,a.animate)},".card-open":function(e,a){this.card.open(a.card,a.animate)},".card-expandable":function(e,a,r){e.hasClass("card-opened")||e.hasClass("card-opening")||e.hasClass("card-closing")||t(r.target).closest(".card-prevent-open, .card-close").length||this.card.open(e)},".card-backdrop-in":function(){let e=!1;this.params.card.closeByBackdropClick&&(e=!0);const a=t(".card-opened");a.length&&("true"===a.attr("data-close-by-backdrop-click")?e=!0:"false"===a.attr("data-close-by-backdrop-click")&&(e=!1),e&&this.card.close(a))}}};if(a){if(e.prototype.modules&&e.prototype.modules[l.name])return;e.use(l),e.instance&&(e.instance.useModuleParams(l,e.instance.params),e.instance.useModule(l))}return l}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|
|
@@ -20,7 +20,11 @@ import moduleWheel from './modules/wheel.js';
|
|
|
20
20
|
import $jsx from '../../shared/$jsx.js';
|
|
21
21
|
|
|
22
22
|
class ColorPicker extends Framework7Class {
|
|
23
|
-
constructor(app, params
|
|
23
|
+
constructor(app, params) {
|
|
24
|
+
if (params === void 0) {
|
|
25
|
+
params = {};
|
|
26
|
+
}
|
|
27
|
+
|
|
24
28
|
super(params, [app]);
|
|
25
29
|
const self = this;
|
|
26
30
|
self.params = extend({}, app.params.colorPicker, params);
|
|
@@ -261,7 +265,15 @@ class ColorPicker extends Framework7Class {
|
|
|
261
265
|
return [Math.floor(arr[0] * 10) / 10, Math.floor(arr[1] * 1000) / 1000, Math.floor(arr[2] * 1000) / 1000];
|
|
262
266
|
}
|
|
263
267
|
|
|
264
|
-
setValue(value
|
|
268
|
+
setValue(value, updateModules) {
|
|
269
|
+
if (value === void 0) {
|
|
270
|
+
value = {};
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
if (updateModules === void 0) {
|
|
274
|
+
updateModules = true;
|
|
275
|
+
}
|
|
276
|
+
|
|
265
277
|
const self = this;
|
|
266
278
|
if (typeof value === 'undefined') return;
|
|
267
279
|
let {
|
|
@@ -399,7 +411,11 @@ class ColorPicker extends Framework7Class {
|
|
|
399
411
|
return self.value;
|
|
400
412
|
}
|
|
401
413
|
|
|
402
|
-
updateValue(fireEvents
|
|
414
|
+
updateValue(fireEvents) {
|
|
415
|
+
if (fireEvents === void 0) {
|
|
416
|
+
fireEvents = true;
|
|
417
|
+
}
|
|
418
|
+
|
|
403
419
|
const self = this;
|
|
404
420
|
const {
|
|
405
421
|
$inputEl,
|
|
@@ -16,7 +16,11 @@ export default {
|
|
|
16
16
|
domProp: 'f7ColorPicker'
|
|
17
17
|
});
|
|
18
18
|
|
|
19
|
-
app.colorPicker.close = function close(el
|
|
19
|
+
app.colorPicker.close = function close(el) {
|
|
20
|
+
if (el === void 0) {
|
|
21
|
+
el = '.color-picker';
|
|
22
|
+
}
|
|
23
|
+
|
|
20
24
|
const $el = $(el);
|
|
21
25
|
if ($el.length === 0) return;
|
|
22
26
|
const colorPicker = $el[0].f7ColorPicker;
|