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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function framework7ComponentLoader(e,t){void 0===t&&(t=!0);e.$;var o=e.utils,s=(e.getDevice,e.getSupport,e.Class,e.Modal,e.ConstructorMethods,e.ModalMethods,o.bindMethods);const r={};var a={name:"breadrumbs",create(){s(this,{breadrumbs:r})}};if(t){if(e.prototype.modules&&e.prototype.modules[a.name])return;e.use(a),e.instance&&(e.instance.useModuleParams(a,e.instance.params),e.instance.useModule(a))}return a}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/* === Breadcrumbs === */
|
|
2
|
+
@import './breadcrumbs-vars.less';
|
|
3
|
+
|
|
4
|
+
.breadcrumbs {
|
|
5
|
+
display: flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
justify-content: flex-start;
|
|
8
|
+
font-size: var(--f7-breadcrumbs-font-size);
|
|
9
|
+
overflow: auto;
|
|
10
|
+
white-space: nowrap;
|
|
11
|
+
padding: var(--f7-breadcrumbs-padding);
|
|
12
|
+
&::-webkit-scrollbar {
|
|
13
|
+
display: none;
|
|
14
|
+
opacity: 0;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
.breadcrumbs-separator,
|
|
18
|
+
.breadcrumbs-item,
|
|
19
|
+
.breadcrumbs-collapsed {
|
|
20
|
+
flex-shrink: 0;
|
|
21
|
+
--f7-touch-ripple-color: transparent !important;
|
|
22
|
+
& + & {
|
|
23
|
+
margin-left: var(--f7-breadcrumbs-spacing);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
.breadcrumbs-item {
|
|
27
|
+
color: var(--f7-breadcrumbs-item-color);
|
|
28
|
+
font-weight: var(--f7-breadcrumbs-item-font-weight);
|
|
29
|
+
padding: var(--f7-breadcrumbs-item-padding);
|
|
30
|
+
background-color: var(--f7-breadcrumbs-item-bg-color);
|
|
31
|
+
display: flex;
|
|
32
|
+
align-items: center;
|
|
33
|
+
.icon {
|
|
34
|
+
font-size: var(--f7-breadcrumbs-icon-size);
|
|
35
|
+
width: var(--f7-breadcrumbs-icon-size);
|
|
36
|
+
height: var(--f7-breadcrumbs-icon-size);
|
|
37
|
+
}
|
|
38
|
+
a {
|
|
39
|
+
color: inherit;
|
|
40
|
+
--f7-touch-ripple-color: transparent !important;
|
|
41
|
+
}
|
|
42
|
+
&-active {
|
|
43
|
+
color: var(--f7-breadcrumbs-item-active-color, var(--f7-breadcrumbs-item-color));
|
|
44
|
+
font-weight: var(--f7-breadcrumbs-item-active-font-weight);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
.breadcrumbs-separator {
|
|
48
|
+
color: var(--f7-breadcrumbs-separator-color);
|
|
49
|
+
height: 24px;
|
|
50
|
+
overflow: hidden;
|
|
51
|
+
display: flex;
|
|
52
|
+
align-items: center;
|
|
53
|
+
&::after {
|
|
54
|
+
.core-icons-font();
|
|
55
|
+
content: var(--f7-breadcrumbs-separator-icon);
|
|
56
|
+
width: 12px;
|
|
57
|
+
}
|
|
58
|
+
.ios &::after {
|
|
59
|
+
font-size: 12px;
|
|
60
|
+
height: 11px;
|
|
61
|
+
}
|
|
62
|
+
.md &::after {
|
|
63
|
+
font-size: 18px;
|
|
64
|
+
height: 18px;
|
|
65
|
+
}
|
|
66
|
+
.aurora &::after {
|
|
67
|
+
font-size: 12px;
|
|
68
|
+
height: 11px;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
.breadcrumbs-collapsed {
|
|
72
|
+
display: flex;
|
|
73
|
+
align-items: center;
|
|
74
|
+
padding: 0 6px;
|
|
75
|
+
background: var(--f7-breadcrumbs-collapsed-bg-color);
|
|
76
|
+
height: 1em;
|
|
77
|
+
border-radius: 4px;
|
|
78
|
+
cursor: pointer;
|
|
79
|
+
&::before,
|
|
80
|
+
&::after,
|
|
81
|
+
span {
|
|
82
|
+
content: '';
|
|
83
|
+
width: 4px;
|
|
84
|
+
height: 4px;
|
|
85
|
+
background: var(--f7-breadcrumbs-collapsed-color);
|
|
86
|
+
border-radius: 50%;
|
|
87
|
+
}
|
|
88
|
+
span {
|
|
89
|
+
margin: 0 3px;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
.if-ios-theme({
|
|
93
|
+
@import './breadcrumbs-ios.less';
|
|
94
|
+
});
|
|
95
|
+
.if-md-theme({
|
|
96
|
+
@import './breadcrumbs-md.less';
|
|
97
|
+
});
|
|
98
|
+
.if-aurora-theme({
|
|
99
|
+
@import './breadcrumbs-aurora.less';
|
|
100
|
+
});
|
|
@@ -8,7 +8,11 @@ import { getSupport } from '../../shared/get-support.js';
|
|
|
8
8
|
import $jsx from '../../shared/$jsx.js';
|
|
9
9
|
|
|
10
10
|
class Calendar extends Framework7Class {
|
|
11
|
-
constructor(app, params
|
|
11
|
+
constructor(app, params) {
|
|
12
|
+
if (params === void 0) {
|
|
13
|
+
params = {};
|
|
14
|
+
}
|
|
15
|
+
|
|
12
16
|
super(params, [app]);
|
|
13
17
|
const calendar = this;
|
|
14
18
|
calendar.params = extend({}, app.params.calendar, params);
|
|
@@ -48,17 +52,34 @@ class Calendar extends Framework7Class {
|
|
|
48
52
|
allowTouchMove: true,
|
|
49
53
|
hasTimePicker: calendar.params.timePicker && !calendar.params.rangePicker && !calendar.params.multiple
|
|
50
54
|
});
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
55
|
+
|
|
56
|
+
calendar.dayFormatter = date => {
|
|
57
|
+
const formatter = new Intl.DateTimeFormat(calendar.params.locale, {
|
|
58
|
+
day: 'numeric'
|
|
59
|
+
});
|
|
60
|
+
return formatter.format(date).replace(/日/, '');
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
calendar.monthFormatter = date => {
|
|
64
|
+
const formatter = new Intl.DateTimeFormat(calendar.params.locale, {
|
|
65
|
+
month: 'long'
|
|
66
|
+
});
|
|
67
|
+
return formatter.format(date);
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
calendar.yearFormatter = date => {
|
|
71
|
+
const formatter = new Intl.DateTimeFormat(calendar.params.locale, {
|
|
72
|
+
year: 'numeric'
|
|
73
|
+
});
|
|
74
|
+
return formatter.format(date);
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
calendar.timeSelectorFormatter = date => {
|
|
78
|
+
const formatter = new Intl.DateTimeFormat(calendar.params.locale, calendar.params.timePickerFormat);
|
|
79
|
+
return formatter.format(date);
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const timeFormatCheckDate = calendar.timeSelectorFormatter(new Date()).toLowerCase();
|
|
62
83
|
calendar.is12HoursFormat = timeFormatCheckDate.indexOf('pm') >= 0 || timeFormatCheckDate.indexOf('am') >= 0; // Auto names
|
|
63
84
|
|
|
64
85
|
let {
|
|
@@ -106,6 +127,7 @@ class Calendar extends Framework7Class {
|
|
|
106
127
|
if (calendar.isPopover()) return;
|
|
107
128
|
if (!calendar.opened || calendar.closing) return;
|
|
108
129
|
if ($targetEl.closest('[class*="backdrop"]').length) return;
|
|
130
|
+
if (calendar.monthPickerPopover || calendar.yearPickerPopover || calendar.timePickerPopover) return;
|
|
109
131
|
|
|
110
132
|
if ($inputEl && $inputEl.length > 0) {
|
|
111
133
|
if ($targetEl[0] !== $inputEl[0] && $targetEl.closest('.sheet-modal, .calendar-modal').length === 0) {
|
|
@@ -320,61 +342,17 @@ class Calendar extends Framework7Class {
|
|
|
320
342
|
}
|
|
321
343
|
|
|
322
344
|
function onMonthSelectorClick() {
|
|
323
|
-
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
function onMonthSelectorItemClick() {
|
|
327
|
-
const $clickedEl = $(this);
|
|
328
|
-
|
|
329
|
-
if ($clickedEl.hasClass('calendar-month-picker-item-current')) {
|
|
330
|
-
$el.find('.calendar-month-picker').remove();
|
|
331
|
-
return;
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
$el.find('.calendar-month-picker-item-current').add($clickedEl).toggleClass('calendar-month-picker-item-current');
|
|
335
|
-
const index = $clickedEl.index();
|
|
336
|
-
const localeMonthIndex = parseInt(calendar.$el.find('.calendar-month-current').attr('data-locale-month'), 10);
|
|
337
|
-
const monthIndex = calendar.currentMonth;
|
|
338
|
-
const diff = localeMonthIndex - monthIndex;
|
|
339
|
-
const diffIndex = index - diff;
|
|
340
|
-
calendar.setYearMonth(calendar.currentYear, diffIndex, 0);
|
|
341
|
-
setTimeout(() => {
|
|
342
|
-
$el.find('.calendar-month-picker').remove();
|
|
343
|
-
}, 200);
|
|
345
|
+
calendar.openMonthPicker();
|
|
344
346
|
}
|
|
345
347
|
|
|
346
348
|
function onYearSelectorClick() {
|
|
347
|
-
|
|
348
|
-
const $currentEl = $el.find('.calendar-year-picker-item-current');
|
|
349
|
-
const $yearPickerEl = $el.find('.calendar-year-picker');
|
|
350
|
-
if (!$currentEl || !$currentEl.length) return;
|
|
351
|
-
$yearPickerEl.scrollTop($currentEl[0].offsetTop - $yearPickerEl[0].offsetHeight / 2 + $currentEl[0].offsetHeight / 2);
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
function onYearSelectorItemClick() {
|
|
355
|
-
const $clickedEl = $(this);
|
|
356
|
-
|
|
357
|
-
if ($clickedEl.hasClass('calendar-year-picker-item-current')) {
|
|
358
|
-
$el.find('.calendar-year-picker').remove();
|
|
359
|
-
return;
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
$el.find('.calendar-year-picker-item-current').add($clickedEl).toggleClass('calendar-year-picker-item-current');
|
|
363
|
-
const year = parseInt($clickedEl.attr('data-year'), 10);
|
|
364
|
-
calendar.setYearMonth(year, undefined, 0);
|
|
365
|
-
setTimeout(() => {
|
|
366
|
-
$el.find('.calendar-year-picker').remove();
|
|
367
|
-
}, 200);
|
|
349
|
+
calendar.openYearPicker();
|
|
368
350
|
}
|
|
369
351
|
|
|
370
352
|
function onTimeSelectorClick() {
|
|
371
353
|
calendar.openTimePicker();
|
|
372
354
|
}
|
|
373
355
|
|
|
374
|
-
function onTimePickerCloseClick() {
|
|
375
|
-
calendar.closeTimePicker();
|
|
376
|
-
}
|
|
377
|
-
|
|
378
356
|
const passiveListener = app.touchEvents.start === 'touchstart' && getSupport().passiveListener ? {
|
|
379
357
|
passive: true,
|
|
380
358
|
capture: false
|
|
@@ -387,17 +365,14 @@ class Calendar extends Framework7Class {
|
|
|
387
365
|
|
|
388
366
|
if (calendar.params.monthPicker) {
|
|
389
367
|
$el.find('.current-month-value').on('click', onMonthSelectorClick);
|
|
390
|
-
$el.on('click', '.calendar-month-picker-item', onMonthSelectorItemClick);
|
|
391
368
|
}
|
|
392
369
|
|
|
393
370
|
if (calendar.params.yearPicker) {
|
|
394
371
|
$el.find('.current-year-value').on('click', onYearSelectorClick);
|
|
395
|
-
$el.on('click', '.calendar-year-picker-item', onYearSelectorItemClick);
|
|
396
372
|
}
|
|
397
373
|
|
|
398
374
|
if (calendar.hasTimePicker) {
|
|
399
375
|
$el.find('.calendar-time-selector a').on('click', onTimeSelectorClick);
|
|
400
|
-
$el.on('click', '.calendar-time-picker-close', onTimePickerCloseClick);
|
|
401
376
|
} // Day clicks
|
|
402
377
|
|
|
403
378
|
|
|
@@ -417,17 +392,14 @@ class Calendar extends Framework7Class {
|
|
|
417
392
|
|
|
418
393
|
if (calendar.params.monthPicker) {
|
|
419
394
|
$el.find('.current-month-value').off('click', onMonthSelectorClick);
|
|
420
|
-
$el.off('click', '.calendar-month-picker-item', onMonthSelectorItemClick);
|
|
421
395
|
}
|
|
422
396
|
|
|
423
397
|
if (calendar.params.yearPicker) {
|
|
424
398
|
$el.find('.current-year-value').off('click', onYearSelectorClick);
|
|
425
|
-
$el.off('click', '.calendar-year-picker-item', onYearSelectorItemClick);
|
|
426
399
|
}
|
|
427
400
|
|
|
428
401
|
if (calendar.hasTimePicker) {
|
|
429
402
|
$el.find('.calendar-time-selector a').off('click', onTimeSelectorClick);
|
|
430
|
-
$el.off('click', '.calendar-time-picker-close', onTimePickerCloseClick);
|
|
431
403
|
}
|
|
432
404
|
|
|
433
405
|
$wrapperEl.off('click', handleDayClick);
|
|
@@ -487,7 +459,7 @@ class Calendar extends Framework7Class {
|
|
|
487
459
|
|
|
488
460
|
for (let i = 0; i < 24; i += 1) {
|
|
489
461
|
const date = new Date().setMonth(i, 1);
|
|
490
|
-
const currentYear = calendar.yearFormatter
|
|
462
|
+
const currentYear = calendar.yearFormatter(date);
|
|
491
463
|
|
|
492
464
|
if (year && currentYear !== year) {
|
|
493
465
|
if (yearStarted) yearEnded = true;
|
|
@@ -787,7 +759,7 @@ class Calendar extends Framework7Class {
|
|
|
787
759
|
}
|
|
788
760
|
|
|
789
761
|
if ($el && $el.length > 0 && calendar.hasTimePicker) {
|
|
790
|
-
$el.find('.calendar-time-selector a').text(value && value.length ? calendar.timeSelectorFormatter
|
|
762
|
+
$el.find('.calendar-time-selector a').text(value && value.length ? calendar.timeSelectorFormatter(value[0]) : calendar.params.timePickerPlaceholder);
|
|
791
763
|
}
|
|
792
764
|
|
|
793
765
|
if ($inputEl && $inputEl.length || params.header) {
|
|
@@ -1042,7 +1014,11 @@ class Calendar extends Framework7Class {
|
|
|
1042
1014
|
}
|
|
1043
1015
|
}
|
|
1044
1016
|
|
|
1045
|
-
resetMonth(transition
|
|
1017
|
+
resetMonth(transition) {
|
|
1018
|
+
if (transition === void 0) {
|
|
1019
|
+
transition = '';
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1046
1022
|
const calendar = this;
|
|
1047
1023
|
const {
|
|
1048
1024
|
$wrapperEl,
|
|
@@ -1234,9 +1210,9 @@ class Calendar extends Framework7Class {
|
|
|
1234
1210
|
let date = new Date(d);
|
|
1235
1211
|
let year = date.getFullYear();
|
|
1236
1212
|
let month = date.getMonth();
|
|
1237
|
-
let localeMonth = calendar.monthNames.indexOf(calendar.monthFormatter
|
|
1213
|
+
let localeMonth = calendar.monthNames.indexOf(calendar.monthFormatter(date));
|
|
1238
1214
|
if (localeMonth < 0) localeMonth = month;
|
|
1239
|
-
let localeYear = calendar.yearFormatter
|
|
1215
|
+
let localeYear = calendar.yearFormatter(date);
|
|
1240
1216
|
|
|
1241
1217
|
if (offset === 'next') {
|
|
1242
1218
|
if (month === 11) date = new Date(year + 1, 0);else date = new Date(year, month + 1, 1);
|
|
@@ -1249,9 +1225,9 @@ class Calendar extends Framework7Class {
|
|
|
1249
1225
|
if (offset === 'next' || offset === 'prev') {
|
|
1250
1226
|
month = date.getMonth();
|
|
1251
1227
|
year = date.getFullYear();
|
|
1252
|
-
localeMonth = calendar.monthNames.indexOf(calendar.monthFormatter
|
|
1228
|
+
localeMonth = calendar.monthNames.indexOf(calendar.monthFormatter(date));
|
|
1253
1229
|
if (localeMonth < 0) localeMonth = month;
|
|
1254
|
-
localeYear = calendar.yearFormatter
|
|
1230
|
+
localeYear = calendar.yearFormatter(date);
|
|
1255
1231
|
}
|
|
1256
1232
|
|
|
1257
1233
|
const currentValues = [];
|
|
@@ -1404,7 +1380,7 @@ class Calendar extends Framework7Class {
|
|
|
1404
1380
|
dayDate = new Date(dayDate);
|
|
1405
1381
|
const dayYear = dayDate.getFullYear();
|
|
1406
1382
|
const dayMonth = dayDate.getMonth();
|
|
1407
|
-
const dayNumberDisplay = calendar.dayFormatter
|
|
1383
|
+
const dayNumberDisplay = calendar.dayFormatter(dayDate); // prettier-ignore
|
|
1408
1384
|
|
|
1409
1385
|
rowHtml += `
|
|
1410
1386
|
<div data-year="${dayYear}" data-month="${dayMonth}" data-day="${dayNumber}" class="calendar-day${addClass}" data-date="${dayYear}-${dayMonth}-${dayNumber}">
|
|
@@ -1466,16 +1442,6 @@ class Calendar extends Framework7Class {
|
|
|
1466
1442
|
})));
|
|
1467
1443
|
}
|
|
1468
1444
|
|
|
1469
|
-
renderMonthPicker() {
|
|
1470
|
-
const calendar = this;
|
|
1471
|
-
const localeMonth = parseInt(calendar.$el.find('.calendar-month-current').attr('data-locale-month'), 10);
|
|
1472
|
-
return $jsx("div", {
|
|
1473
|
-
class: "calendar-month-picker"
|
|
1474
|
-
}, calendar.monthNames.map((m, index) => $jsx("div", {
|
|
1475
|
-
class: `calendar-month-picker-item ${localeMonth === index ? 'calendar-month-picker-item-current' : ''}`
|
|
1476
|
-
}, $jsx("span", null, m))));
|
|
1477
|
-
}
|
|
1478
|
-
|
|
1479
1445
|
renderYearSelector() {
|
|
1480
1446
|
const calendar = this;
|
|
1481
1447
|
|
|
@@ -1498,35 +1464,6 @@ class Calendar extends Framework7Class {
|
|
|
1498
1464
|
}, $jsx("i", {
|
|
1499
1465
|
class: "icon icon-next"
|
|
1500
1466
|
})));
|
|
1501
|
-
}
|
|
1502
|
-
|
|
1503
|
-
renderYearPicker() {
|
|
1504
|
-
const calendar = this;
|
|
1505
|
-
const currentYear = calendar.currentYear;
|
|
1506
|
-
let yearMin = calendar.params.yearPickerMin || new Date().getFullYear() - 100;
|
|
1507
|
-
|
|
1508
|
-
if (calendar.params.minDate) {
|
|
1509
|
-
yearMin = Math.max(yearMin, new Date(calendar.params.minDate).getFullYear());
|
|
1510
|
-
}
|
|
1511
|
-
|
|
1512
|
-
let yearMax = calendar.params.yearPickerMax || new Date().getFullYear() + 100;
|
|
1513
|
-
|
|
1514
|
-
if (calendar.params.maxDate) {
|
|
1515
|
-
yearMax = Math.min(yearMax, new Date(calendar.params.maxDate).getFullYear());
|
|
1516
|
-
}
|
|
1517
|
-
|
|
1518
|
-
const years = [];
|
|
1519
|
-
|
|
1520
|
-
for (let i = yearMin; i <= yearMax; i += 1) {
|
|
1521
|
-
years.push(i);
|
|
1522
|
-
}
|
|
1523
|
-
|
|
1524
|
-
return $jsx("div", {
|
|
1525
|
-
class: "calendar-year-picker"
|
|
1526
|
-
}, years.map(year => $jsx("div", {
|
|
1527
|
-
"data-year": year,
|
|
1528
|
-
class: `calendar-year-picker-item ${year === currentYear ? 'calendar-year-picker-item-current' : ''}`
|
|
1529
|
-
}, $jsx("span", null, calendar.yearFormatter.format(new Date().setFullYear(year))))));
|
|
1530
1467
|
} // eslint-disable-next-line
|
|
1531
1468
|
|
|
1532
1469
|
|
|
@@ -1534,10 +1471,10 @@ class Calendar extends Framework7Class {
|
|
|
1534
1471
|
const calendar = this;
|
|
1535
1472
|
const value = calendar.value && calendar.value[0];
|
|
1536
1473
|
let timeString;
|
|
1537
|
-
if (value) timeString = calendar.timeSelectorFormatter
|
|
1474
|
+
if (value) timeString = calendar.timeSelectorFormatter(value);
|
|
1538
1475
|
return $jsx("div", {
|
|
1539
1476
|
class: "calendar-time-selector"
|
|
1540
|
-
}, $jsx("a", {
|
|
1477
|
+
}, $jsx("span", null, calendar.params.timePickerLabel), $jsx("a", {
|
|
1541
1478
|
class: "link"
|
|
1542
1479
|
}, timeString || calendar.params.timePickerPlaceholder));
|
|
1543
1480
|
}
|
|
@@ -1697,6 +1634,142 @@ class Calendar extends Framework7Class {
|
|
|
1697
1634
|
return calendar.renderInline();
|
|
1698
1635
|
}
|
|
1699
1636
|
|
|
1637
|
+
openMonthPicker() {
|
|
1638
|
+
const calendar = this;
|
|
1639
|
+
const {
|
|
1640
|
+
$el,
|
|
1641
|
+
app
|
|
1642
|
+
} = calendar;
|
|
1643
|
+
if (!$el || !$el.length) return;
|
|
1644
|
+
$el.append('<div class="popover calendar-popover calendar-month-picker-popover"><div class="popover-inner"><div class="calendar-month-picker"></div></div></div>');
|
|
1645
|
+
calendar.monthPickerPopover = app.popover.create({
|
|
1646
|
+
el: $el.find('.calendar-month-picker-popover'),
|
|
1647
|
+
targetEl: $el.find('.calendar-month-selector'),
|
|
1648
|
+
backdrop: true,
|
|
1649
|
+
backdropUnique: true,
|
|
1650
|
+
on: {
|
|
1651
|
+
close() {
|
|
1652
|
+
calendar.closeMonthPicker();
|
|
1653
|
+
},
|
|
1654
|
+
|
|
1655
|
+
closed() {
|
|
1656
|
+
if (calendar.monthPickerPopover.$el) calendar.monthPickerPopover.$el.remove();
|
|
1657
|
+
calendar.monthPickerPopover.destroy();
|
|
1658
|
+
|
|
1659
|
+
if (calendar.monthPickerInstance) {
|
|
1660
|
+
calendar.monthPickerInstance.close();
|
|
1661
|
+
calendar.monthPickerInstance.destroy();
|
|
1662
|
+
}
|
|
1663
|
+
|
|
1664
|
+
delete calendar.monthPickerInstance;
|
|
1665
|
+
delete calendar.monthPickerPopover;
|
|
1666
|
+
}
|
|
1667
|
+
|
|
1668
|
+
}
|
|
1669
|
+
});
|
|
1670
|
+
calendar.monthPickerPopover.open();
|
|
1671
|
+
const localeMonth = parseInt(calendar.$el.find('.calendar-month-current').attr('data-locale-month'), 10);
|
|
1672
|
+
const values = [];
|
|
1673
|
+
const displayValues = [];
|
|
1674
|
+
calendar.monthNames.forEach((m, index) => {
|
|
1675
|
+
values.push(index);
|
|
1676
|
+
displayValues.push(m);
|
|
1677
|
+
});
|
|
1678
|
+
calendar.monthPickerInstance = app.picker.create({
|
|
1679
|
+
containerEl: calendar.monthPickerPopover.$el.find('.calendar-month-picker'),
|
|
1680
|
+
value: [localeMonth],
|
|
1681
|
+
toolbar: false,
|
|
1682
|
+
rotateEffect: false,
|
|
1683
|
+
toolbarCloseText: calendar.params.toolbarCloseText,
|
|
1684
|
+
cols: [{
|
|
1685
|
+
values,
|
|
1686
|
+
displayValues
|
|
1687
|
+
}]
|
|
1688
|
+
});
|
|
1689
|
+
}
|
|
1690
|
+
|
|
1691
|
+
closeMonthPicker() {
|
|
1692
|
+
const calendar = this;
|
|
1693
|
+
if (calendar.monthPickerPopover && calendar.monthPickerPopover.opened) calendar.monthPickerPopover.close();
|
|
1694
|
+
const index = calendar.monthPickerInstance.value[0];
|
|
1695
|
+
const localeMonthIndex = parseInt(calendar.$el.find('.calendar-month-current').attr('data-locale-month'), 10);
|
|
1696
|
+
const monthIndex = calendar.currentMonth;
|
|
1697
|
+
const diff = localeMonthIndex - monthIndex;
|
|
1698
|
+
const diffIndex = index - diff;
|
|
1699
|
+
calendar.setYearMonth(calendar.currentYear, diffIndex, 0);
|
|
1700
|
+
}
|
|
1701
|
+
|
|
1702
|
+
openYearPicker() {
|
|
1703
|
+
const calendar = this;
|
|
1704
|
+
const {
|
|
1705
|
+
$el,
|
|
1706
|
+
app
|
|
1707
|
+
} = calendar;
|
|
1708
|
+
if (!$el || !$el.length) return;
|
|
1709
|
+
$el.append('<div class="popover calendar-popover calendar-year-picker-popover"><div class="popover-inner"><div class="calendar-year-picker"></div></div></div>');
|
|
1710
|
+
calendar.yearPickerPopover = app.popover.create({
|
|
1711
|
+
el: $el.find('.calendar-year-picker-popover'),
|
|
1712
|
+
targetEl: $el.find('.calendar-year-selector'),
|
|
1713
|
+
backdrop: true,
|
|
1714
|
+
backdropUnique: true,
|
|
1715
|
+
on: {
|
|
1716
|
+
close() {
|
|
1717
|
+
calendar.closeYearPicker();
|
|
1718
|
+
},
|
|
1719
|
+
|
|
1720
|
+
closed() {
|
|
1721
|
+
if (calendar.yearPickerPopover.$el) calendar.yearPickerPopover.$el.remove();
|
|
1722
|
+
calendar.yearPickerPopover.destroy();
|
|
1723
|
+
|
|
1724
|
+
if (calendar.yearPickerInstance) {
|
|
1725
|
+
calendar.yearPickerInstance.close();
|
|
1726
|
+
calendar.yearPickerInstance.destroy();
|
|
1727
|
+
}
|
|
1728
|
+
|
|
1729
|
+
delete calendar.yearPickerInstance;
|
|
1730
|
+
delete calendar.yearPickerPopover;
|
|
1731
|
+
}
|
|
1732
|
+
|
|
1733
|
+
}
|
|
1734
|
+
});
|
|
1735
|
+
calendar.yearPickerPopover.open();
|
|
1736
|
+
const currentYear = calendar.currentYear;
|
|
1737
|
+
let yearMin = calendar.params.yearPickerMin || new Date().getFullYear() - 100;
|
|
1738
|
+
|
|
1739
|
+
if (calendar.params.minDate) {
|
|
1740
|
+
yearMin = Math.max(yearMin, new Date(calendar.params.minDate).getFullYear());
|
|
1741
|
+
}
|
|
1742
|
+
|
|
1743
|
+
let yearMax = calendar.params.yearPickerMax || new Date().getFullYear() + 100;
|
|
1744
|
+
|
|
1745
|
+
if (calendar.params.maxDate) {
|
|
1746
|
+
yearMax = Math.min(yearMax, new Date(calendar.params.maxDate).getFullYear());
|
|
1747
|
+
}
|
|
1748
|
+
|
|
1749
|
+
const years = [];
|
|
1750
|
+
|
|
1751
|
+
for (let i = yearMin; i <= yearMax; i += 1) {
|
|
1752
|
+
years.push(i);
|
|
1753
|
+
}
|
|
1754
|
+
|
|
1755
|
+
calendar.yearPickerInstance = app.picker.create({
|
|
1756
|
+
containerEl: calendar.yearPickerPopover.$el.find('.calendar-year-picker'),
|
|
1757
|
+
value: [currentYear],
|
|
1758
|
+
toolbar: false,
|
|
1759
|
+
rotateEffect: false,
|
|
1760
|
+
toolbarCloseText: calendar.params.toolbarCloseText,
|
|
1761
|
+
cols: [{
|
|
1762
|
+
values: years
|
|
1763
|
+
}]
|
|
1764
|
+
});
|
|
1765
|
+
}
|
|
1766
|
+
|
|
1767
|
+
closeYearPicker() {
|
|
1768
|
+
const calendar = this;
|
|
1769
|
+
if (calendar.yearPickerPopover && calendar.yearPickerPopover.opened) calendar.yearPickerPopover.close();
|
|
1770
|
+
calendar.setYearMonth(calendar.yearPickerInstance.value[0], undefined, 0);
|
|
1771
|
+
}
|
|
1772
|
+
|
|
1700
1773
|
openTimePicker() {
|
|
1701
1774
|
const calendar = this;
|
|
1702
1775
|
const {
|
|
@@ -1705,7 +1778,7 @@ class Calendar extends Framework7Class {
|
|
|
1705
1778
|
is12HoursFormat
|
|
1706
1779
|
} = calendar;
|
|
1707
1780
|
if (!$el || !$el.length) return;
|
|
1708
|
-
$el.append('<div class="calendar-time-picker"></div>');
|
|
1781
|
+
$el.append('<div class="popover calendar-popover calendar-time-picker-popover"><div class="popover-inner"><div class="calendar-time-picker"></div></div></div>');
|
|
1709
1782
|
const hoursArr = [];
|
|
1710
1783
|
const minutesArr = [];
|
|
1711
1784
|
const hoursMin = is12HoursFormat ? 1 : 0;
|
|
@@ -1733,10 +1806,36 @@ class Calendar extends Framework7Class {
|
|
|
1733
1806
|
if (value[0] === 0) value[0] = 12;
|
|
1734
1807
|
}
|
|
1735
1808
|
|
|
1809
|
+
calendar.timePickerPopover = app.popover.create({
|
|
1810
|
+
el: $el.find('.calendar-time-picker-popover'),
|
|
1811
|
+
targetEl: $el.find('.calendar-time-selector .link'),
|
|
1812
|
+
backdrop: true,
|
|
1813
|
+
backdropUnique: true,
|
|
1814
|
+
on: {
|
|
1815
|
+
close() {
|
|
1816
|
+
calendar.closeTimePicker();
|
|
1817
|
+
},
|
|
1818
|
+
|
|
1819
|
+
closed() {
|
|
1820
|
+
if (calendar.timePickerPopover.$el) calendar.timePickerPopover.$el.remove();
|
|
1821
|
+
calendar.timePickerPopover.destroy();
|
|
1822
|
+
|
|
1823
|
+
if (calendar.timePickerInstance) {
|
|
1824
|
+
calendar.timePickerInstance.close();
|
|
1825
|
+
calendar.timePickerInstance.destroy();
|
|
1826
|
+
}
|
|
1827
|
+
|
|
1828
|
+
delete calendar.timePickerInstance;
|
|
1829
|
+
delete calendar.timePickerPopover;
|
|
1830
|
+
}
|
|
1831
|
+
|
|
1832
|
+
}
|
|
1833
|
+
});
|
|
1834
|
+
calendar.timePickerPopover.open();
|
|
1736
1835
|
calendar.timePickerInstance = app.picker.create({
|
|
1737
|
-
containerEl:
|
|
1836
|
+
containerEl: calendar.timePickerPopover.$el.find('.calendar-time-picker'),
|
|
1738
1837
|
value,
|
|
1739
|
-
toolbar:
|
|
1838
|
+
toolbar: false,
|
|
1740
1839
|
rotateEffect: false,
|
|
1741
1840
|
toolbarCloseText: calendar.params.toolbarCloseText,
|
|
1742
1841
|
cols: [{
|
|
@@ -1751,7 +1850,6 @@ class Calendar extends Framework7Class {
|
|
|
1751
1850
|
values: ['AM', 'PM']
|
|
1752
1851
|
}] : [])]
|
|
1753
1852
|
});
|
|
1754
|
-
calendar.timePickerInstance.$el.find('.toolbar a').removeClass('sheet-close popover-close').addClass('calendar-time-picker-close');
|
|
1755
1853
|
}
|
|
1756
1854
|
|
|
1757
1855
|
closeTimePicker() {
|
|
@@ -1785,13 +1883,7 @@ class Calendar extends Framework7Class {
|
|
|
1785
1883
|
}
|
|
1786
1884
|
|
|
1787
1885
|
calendar.setValue([value]);
|
|
1788
|
-
calendar.
|
|
1789
|
-
calendar.timePickerInstance.destroy();
|
|
1790
|
-
delete calendar.timePickerInstance;
|
|
1791
|
-
}
|
|
1792
|
-
|
|
1793
|
-
if (calendar.$el && calendar.$el.length) {
|
|
1794
|
-
calendar.$el.find('.calendar-time-picker').remove();
|
|
1886
|
+
if (calendar.timePickerPopover && calendar.timePickerPopover.opened) calendar.timePickerPopover.close();
|
|
1795
1887
|
}
|
|
1796
1888
|
}
|
|
1797
1889
|
|
|
@@ -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}
|