framework7 7.0.0-beta.10 → 7.0.0-beta.11
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/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 +1 -0
- package/components/actions/actions.lazy.js +1 -1
- package/components/actions/actions.less +3 -0
- package/components/breadcrumbs/breadcrumbs-aurora.less +2 -0
- package/components/breadcrumbs/breadcrumbs-ios.less +2 -0
- package/components/breadcrumbs/breadcrumbs-md.less +2 -0
- package/components/breadcrumbs/breadcrumbs-rtl.css +1 -0
- package/components/breadcrumbs/breadcrumbs-vars.less +36 -0
- package/components/breadcrumbs/breadcrumbs.css +1 -0
- package/components/breadcrumbs/breadcrumbs.d.ts +15 -0
- package/components/breadcrumbs/breadcrumbs.js +13 -0
- package/components/breadcrumbs/breadcrumbs.lazy.js +1 -0
- package/components/breadcrumbs/breadcrumbs.less +100 -0
- package/components/calendar/calendar-class.js +206 -122
- 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 +1 -0
- package/components/calendar/calendar.lazy.js +1 -1
- package/components/calendar/calendar.less +20 -16
- package/components/list-index/list-index.d.ts +1 -1
- package/components/modal/modal-class.js +10 -0
- package/components/notification/notification.d.ts +4 -4
- package/components/picker/picker-class.js +6 -6
- 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 +0 -5
- package/components/picker/picker.lazy.js +1 -1
- package/components/picker/picker.less +28 -10
- package/components/popover/popover-class.js +15 -2
- 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 +1 -0
- 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 +1 -0
- package/components/popup/popup.lazy.js +1 -1
- package/components/popup/popup.less +4 -0
- package/components/preloader/preloader.d.ts +4 -0
- package/components/progressbar/progressbar-aurora.less +32 -13
- package/components/progressbar/progressbar-ios.less +19 -7
- package/components/progressbar/progressbar-md.less +64 -28
- package/components/progressbar/progressbar-rtl.css +1 -1
- package/components/progressbar/progressbar.css +1 -1
- package/components/progressbar/progressbar.js +1 -1
- package/components/progressbar/progressbar.lazy.js +1 -1
- package/components/progressbar/progressbar.less +16 -4
- package/components/range/range.d.ts +23 -5
- package/components/sheet/sheet-class.js +6 -1
- 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 +1 -0
- package/components/sheet/sheet.lazy.js +1 -1
- package/components/sheet/sheet.less +3 -0
- package/components/sortable/sortable.d.ts +5 -1
- package/components/sortable/sortable.js +15 -2
- package/components/sortable/sortable.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 +4 -5
- package/components/tabs/tabs.lazy.js +1 -1
- package/components/toast/toast.d.ts +2 -2
- package/components/toolbar/toolbar-aurora.less +0 -13
- package/components/toolbar/toolbar-md.less +0 -13
- package/components/toolbar/toolbar.js +1 -1
- package/components/toolbar/toolbar.less +13 -0
- package/components/view/view.d.ts +2 -0
- package/components/view/view.js +1 -0
- package/framework7-bundle-rtl.css +249 -150
- package/framework7-bundle-rtl.min.css +4 -4
- package/framework7-bundle.css +234 -134
- package/framework7-bundle.esm.js +5 -4
- package/framework7-bundle.js +927 -713
- 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 +38 -13
- 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/router/back.js +11 -1
- package/modules/router/tab.js +1 -1
- package/package.json +9 -5
|
@@ -48,17 +48,34 @@ class Calendar extends Framework7Class {
|
|
|
48
48
|
allowTouchMove: true,
|
|
49
49
|
hasTimePicker: calendar.params.timePicker && !calendar.params.rangePicker && !calendar.params.multiple
|
|
50
50
|
});
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
51
|
+
|
|
52
|
+
calendar.dayFormatter = date => {
|
|
53
|
+
const formatter = new Intl.DateTimeFormat(calendar.params.locale, {
|
|
54
|
+
day: 'numeric'
|
|
55
|
+
});
|
|
56
|
+
return formatter.format(date).replace(/日/, '');
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
calendar.monthFormatter = date => {
|
|
60
|
+
const formatter = new Intl.DateTimeFormat(calendar.params.locale, {
|
|
61
|
+
month: 'long'
|
|
62
|
+
});
|
|
63
|
+
return formatter.format(date);
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
calendar.yearFormatter = date => {
|
|
67
|
+
const formatter = new Intl.DateTimeFormat(calendar.params.locale, {
|
|
68
|
+
year: 'numeric'
|
|
69
|
+
});
|
|
70
|
+
return formatter.format(date);
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
calendar.timeSelectorFormatter = date => {
|
|
74
|
+
const formatter = new Intl.DateTimeFormat(calendar.params.locale, calendar.params.timePickerFormat);
|
|
75
|
+
return formatter.format(date);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
const timeFormatCheckDate = calendar.timeSelectorFormatter(new Date()).toLowerCase();
|
|
62
79
|
calendar.is12HoursFormat = timeFormatCheckDate.indexOf('pm') >= 0 || timeFormatCheckDate.indexOf('am') >= 0; // Auto names
|
|
63
80
|
|
|
64
81
|
let {
|
|
@@ -106,6 +123,7 @@ class Calendar extends Framework7Class {
|
|
|
106
123
|
if (calendar.isPopover()) return;
|
|
107
124
|
if (!calendar.opened || calendar.closing) return;
|
|
108
125
|
if ($targetEl.closest('[class*="backdrop"]').length) return;
|
|
126
|
+
if (calendar.monthPickerPopover || calendar.yearPickerPopover || calendar.timePickerPopover) return;
|
|
109
127
|
|
|
110
128
|
if ($inputEl && $inputEl.length > 0) {
|
|
111
129
|
if ($targetEl[0] !== $inputEl[0] && $targetEl.closest('.sheet-modal, .calendar-modal').length === 0) {
|
|
@@ -320,61 +338,17 @@ class Calendar extends Framework7Class {
|
|
|
320
338
|
}
|
|
321
339
|
|
|
322
340
|
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);
|
|
341
|
+
calendar.openMonthPicker();
|
|
344
342
|
}
|
|
345
343
|
|
|
346
344
|
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);
|
|
345
|
+
calendar.openYearPicker();
|
|
368
346
|
}
|
|
369
347
|
|
|
370
348
|
function onTimeSelectorClick() {
|
|
371
349
|
calendar.openTimePicker();
|
|
372
350
|
}
|
|
373
351
|
|
|
374
|
-
function onTimePickerCloseClick() {
|
|
375
|
-
calendar.closeTimePicker();
|
|
376
|
-
}
|
|
377
|
-
|
|
378
352
|
const passiveListener = app.touchEvents.start === 'touchstart' && getSupport().passiveListener ? {
|
|
379
353
|
passive: true,
|
|
380
354
|
capture: false
|
|
@@ -387,17 +361,14 @@ class Calendar extends Framework7Class {
|
|
|
387
361
|
|
|
388
362
|
if (calendar.params.monthPicker) {
|
|
389
363
|
$el.find('.current-month-value').on('click', onMonthSelectorClick);
|
|
390
|
-
$el.on('click', '.calendar-month-picker-item', onMonthSelectorItemClick);
|
|
391
364
|
}
|
|
392
365
|
|
|
393
366
|
if (calendar.params.yearPicker) {
|
|
394
367
|
$el.find('.current-year-value').on('click', onYearSelectorClick);
|
|
395
|
-
$el.on('click', '.calendar-year-picker-item', onYearSelectorItemClick);
|
|
396
368
|
}
|
|
397
369
|
|
|
398
370
|
if (calendar.hasTimePicker) {
|
|
399
371
|
$el.find('.calendar-time-selector a').on('click', onTimeSelectorClick);
|
|
400
|
-
$el.on('click', '.calendar-time-picker-close', onTimePickerCloseClick);
|
|
401
372
|
} // Day clicks
|
|
402
373
|
|
|
403
374
|
|
|
@@ -417,17 +388,14 @@ class Calendar extends Framework7Class {
|
|
|
417
388
|
|
|
418
389
|
if (calendar.params.monthPicker) {
|
|
419
390
|
$el.find('.current-month-value').off('click', onMonthSelectorClick);
|
|
420
|
-
$el.off('click', '.calendar-month-picker-item', onMonthSelectorItemClick);
|
|
421
391
|
}
|
|
422
392
|
|
|
423
393
|
if (calendar.params.yearPicker) {
|
|
424
394
|
$el.find('.current-year-value').off('click', onYearSelectorClick);
|
|
425
|
-
$el.off('click', '.calendar-year-picker-item', onYearSelectorItemClick);
|
|
426
395
|
}
|
|
427
396
|
|
|
428
397
|
if (calendar.hasTimePicker) {
|
|
429
398
|
$el.find('.calendar-time-selector a').off('click', onTimeSelectorClick);
|
|
430
|
-
$el.off('click', '.calendar-time-picker-close', onTimePickerCloseClick);
|
|
431
399
|
}
|
|
432
400
|
|
|
433
401
|
$wrapperEl.off('click', handleDayClick);
|
|
@@ -487,7 +455,7 @@ class Calendar extends Framework7Class {
|
|
|
487
455
|
|
|
488
456
|
for (let i = 0; i < 24; i += 1) {
|
|
489
457
|
const date = new Date().setMonth(i, 1);
|
|
490
|
-
const currentYear = calendar.yearFormatter
|
|
458
|
+
const currentYear = calendar.yearFormatter(date);
|
|
491
459
|
|
|
492
460
|
if (year && currentYear !== year) {
|
|
493
461
|
if (yearStarted) yearEnded = true;
|
|
@@ -787,7 +755,7 @@ class Calendar extends Framework7Class {
|
|
|
787
755
|
}
|
|
788
756
|
|
|
789
757
|
if ($el && $el.length > 0 && calendar.hasTimePicker) {
|
|
790
|
-
$el.find('.calendar-time-selector a').text(value && value.length ? calendar.timeSelectorFormatter
|
|
758
|
+
$el.find('.calendar-time-selector a').text(value && value.length ? calendar.timeSelectorFormatter(value[0]) : calendar.params.timePickerPlaceholder);
|
|
791
759
|
}
|
|
792
760
|
|
|
793
761
|
if ($inputEl && $inputEl.length || params.header) {
|
|
@@ -1234,9 +1202,9 @@ class Calendar extends Framework7Class {
|
|
|
1234
1202
|
let date = new Date(d);
|
|
1235
1203
|
let year = date.getFullYear();
|
|
1236
1204
|
let month = date.getMonth();
|
|
1237
|
-
let localeMonth = calendar.monthNames.indexOf(calendar.monthFormatter
|
|
1205
|
+
let localeMonth = calendar.monthNames.indexOf(calendar.monthFormatter(date));
|
|
1238
1206
|
if (localeMonth < 0) localeMonth = month;
|
|
1239
|
-
let localeYear = calendar.yearFormatter
|
|
1207
|
+
let localeYear = calendar.yearFormatter(date);
|
|
1240
1208
|
|
|
1241
1209
|
if (offset === 'next') {
|
|
1242
1210
|
if (month === 11) date = new Date(year + 1, 0);else date = new Date(year, month + 1, 1);
|
|
@@ -1249,9 +1217,9 @@ class Calendar extends Framework7Class {
|
|
|
1249
1217
|
if (offset === 'next' || offset === 'prev') {
|
|
1250
1218
|
month = date.getMonth();
|
|
1251
1219
|
year = date.getFullYear();
|
|
1252
|
-
localeMonth = calendar.monthNames.indexOf(calendar.monthFormatter
|
|
1220
|
+
localeMonth = calendar.monthNames.indexOf(calendar.monthFormatter(date));
|
|
1253
1221
|
if (localeMonth < 0) localeMonth = month;
|
|
1254
|
-
localeYear = calendar.yearFormatter
|
|
1222
|
+
localeYear = calendar.yearFormatter(date);
|
|
1255
1223
|
}
|
|
1256
1224
|
|
|
1257
1225
|
const currentValues = [];
|
|
@@ -1404,7 +1372,7 @@ class Calendar extends Framework7Class {
|
|
|
1404
1372
|
dayDate = new Date(dayDate);
|
|
1405
1373
|
const dayYear = dayDate.getFullYear();
|
|
1406
1374
|
const dayMonth = dayDate.getMonth();
|
|
1407
|
-
const dayNumberDisplay = calendar.dayFormatter
|
|
1375
|
+
const dayNumberDisplay = calendar.dayFormatter(dayDate); // prettier-ignore
|
|
1408
1376
|
|
|
1409
1377
|
rowHtml += `
|
|
1410
1378
|
<div data-year="${dayYear}" data-month="${dayMonth}" data-day="${dayNumber}" class="calendar-day${addClass}" data-date="${dayYear}-${dayMonth}-${dayNumber}">
|
|
@@ -1466,16 +1434,6 @@ class Calendar extends Framework7Class {
|
|
|
1466
1434
|
})));
|
|
1467
1435
|
}
|
|
1468
1436
|
|
|
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
1437
|
renderYearSelector() {
|
|
1480
1438
|
const calendar = this;
|
|
1481
1439
|
|
|
@@ -1498,35 +1456,6 @@ class Calendar extends Framework7Class {
|
|
|
1498
1456
|
}, $jsx("i", {
|
|
1499
1457
|
class: "icon icon-next"
|
|
1500
1458
|
})));
|
|
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
1459
|
} // eslint-disable-next-line
|
|
1531
1460
|
|
|
1532
1461
|
|
|
@@ -1534,10 +1463,10 @@ class Calendar extends Framework7Class {
|
|
|
1534
1463
|
const calendar = this;
|
|
1535
1464
|
const value = calendar.value && calendar.value[0];
|
|
1536
1465
|
let timeString;
|
|
1537
|
-
if (value) timeString = calendar.timeSelectorFormatter
|
|
1466
|
+
if (value) timeString = calendar.timeSelectorFormatter(value);
|
|
1538
1467
|
return $jsx("div", {
|
|
1539
1468
|
class: "calendar-time-selector"
|
|
1540
|
-
}, $jsx("a", {
|
|
1469
|
+
}, $jsx("span", null, calendar.params.timePickerLabel), $jsx("a", {
|
|
1541
1470
|
class: "link"
|
|
1542
1471
|
}, timeString || calendar.params.timePickerPlaceholder));
|
|
1543
1472
|
}
|
|
@@ -1697,6 +1626,142 @@ class Calendar extends Framework7Class {
|
|
|
1697
1626
|
return calendar.renderInline();
|
|
1698
1627
|
}
|
|
1699
1628
|
|
|
1629
|
+
openMonthPicker() {
|
|
1630
|
+
const calendar = this;
|
|
1631
|
+
const {
|
|
1632
|
+
$el,
|
|
1633
|
+
app
|
|
1634
|
+
} = calendar;
|
|
1635
|
+
if (!$el || !$el.length) return;
|
|
1636
|
+
$el.append('<div class="popover calendar-popover calendar-month-picker-popover"><div class="popover-inner"><div class="calendar-month-picker"></div></div></div>');
|
|
1637
|
+
calendar.monthPickerPopover = app.popover.create({
|
|
1638
|
+
el: $el.find('.calendar-month-picker-popover'),
|
|
1639
|
+
targetEl: $el.find('.calendar-month-selector'),
|
|
1640
|
+
backdrop: true,
|
|
1641
|
+
backdropUnique: true,
|
|
1642
|
+
on: {
|
|
1643
|
+
close() {
|
|
1644
|
+
calendar.closeMonthPicker();
|
|
1645
|
+
},
|
|
1646
|
+
|
|
1647
|
+
closed() {
|
|
1648
|
+
if (calendar.monthPickerPopover.$el) calendar.monthPickerPopover.$el.remove();
|
|
1649
|
+
calendar.monthPickerPopover.destroy();
|
|
1650
|
+
|
|
1651
|
+
if (calendar.monthPickerInstance) {
|
|
1652
|
+
calendar.monthPickerInstance.close();
|
|
1653
|
+
calendar.monthPickerInstance.destroy();
|
|
1654
|
+
}
|
|
1655
|
+
|
|
1656
|
+
delete calendar.monthPickerInstance;
|
|
1657
|
+
delete calendar.monthPickerPopover;
|
|
1658
|
+
}
|
|
1659
|
+
|
|
1660
|
+
}
|
|
1661
|
+
});
|
|
1662
|
+
calendar.monthPickerPopover.open();
|
|
1663
|
+
const localeMonth = parseInt(calendar.$el.find('.calendar-month-current').attr('data-locale-month'), 10);
|
|
1664
|
+
const values = [];
|
|
1665
|
+
const displayValues = [];
|
|
1666
|
+
calendar.monthNames.forEach((m, index) => {
|
|
1667
|
+
values.push(index);
|
|
1668
|
+
displayValues.push(m);
|
|
1669
|
+
});
|
|
1670
|
+
calendar.monthPickerInstance = app.picker.create({
|
|
1671
|
+
containerEl: calendar.monthPickerPopover.$el.find('.calendar-month-picker'),
|
|
1672
|
+
value: [localeMonth],
|
|
1673
|
+
toolbar: false,
|
|
1674
|
+
rotateEffect: false,
|
|
1675
|
+
toolbarCloseText: calendar.params.toolbarCloseText,
|
|
1676
|
+
cols: [{
|
|
1677
|
+
values,
|
|
1678
|
+
displayValues
|
|
1679
|
+
}]
|
|
1680
|
+
});
|
|
1681
|
+
}
|
|
1682
|
+
|
|
1683
|
+
closeMonthPicker() {
|
|
1684
|
+
const calendar = this;
|
|
1685
|
+
if (calendar.monthPickerPopover && calendar.monthPickerPopover.opened) calendar.monthPickerPopover.close();
|
|
1686
|
+
const index = calendar.monthPickerInstance.value[0];
|
|
1687
|
+
const localeMonthIndex = parseInt(calendar.$el.find('.calendar-month-current').attr('data-locale-month'), 10);
|
|
1688
|
+
const monthIndex = calendar.currentMonth;
|
|
1689
|
+
const diff = localeMonthIndex - monthIndex;
|
|
1690
|
+
const diffIndex = index - diff;
|
|
1691
|
+
calendar.setYearMonth(calendar.currentYear, diffIndex, 0);
|
|
1692
|
+
}
|
|
1693
|
+
|
|
1694
|
+
openYearPicker() {
|
|
1695
|
+
const calendar = this;
|
|
1696
|
+
const {
|
|
1697
|
+
$el,
|
|
1698
|
+
app
|
|
1699
|
+
} = calendar;
|
|
1700
|
+
if (!$el || !$el.length) return;
|
|
1701
|
+
$el.append('<div class="popover calendar-popover calendar-year-picker-popover"><div class="popover-inner"><div class="calendar-year-picker"></div></div></div>');
|
|
1702
|
+
calendar.yearPickerPopover = app.popover.create({
|
|
1703
|
+
el: $el.find('.calendar-year-picker-popover'),
|
|
1704
|
+
targetEl: $el.find('.calendar-year-selector'),
|
|
1705
|
+
backdrop: true,
|
|
1706
|
+
backdropUnique: true,
|
|
1707
|
+
on: {
|
|
1708
|
+
close() {
|
|
1709
|
+
calendar.closeYearPicker();
|
|
1710
|
+
},
|
|
1711
|
+
|
|
1712
|
+
closed() {
|
|
1713
|
+
if (calendar.yearPickerPopover.$el) calendar.yearPickerPopover.$el.remove();
|
|
1714
|
+
calendar.yearPickerPopover.destroy();
|
|
1715
|
+
|
|
1716
|
+
if (calendar.yearPickerInstance) {
|
|
1717
|
+
calendar.yearPickerInstance.close();
|
|
1718
|
+
calendar.yearPickerInstance.destroy();
|
|
1719
|
+
}
|
|
1720
|
+
|
|
1721
|
+
delete calendar.yearPickerInstance;
|
|
1722
|
+
delete calendar.yearPickerPopover;
|
|
1723
|
+
}
|
|
1724
|
+
|
|
1725
|
+
}
|
|
1726
|
+
});
|
|
1727
|
+
calendar.yearPickerPopover.open();
|
|
1728
|
+
const currentYear = calendar.currentYear;
|
|
1729
|
+
let yearMin = calendar.params.yearPickerMin || new Date().getFullYear() - 100;
|
|
1730
|
+
|
|
1731
|
+
if (calendar.params.minDate) {
|
|
1732
|
+
yearMin = Math.max(yearMin, new Date(calendar.params.minDate).getFullYear());
|
|
1733
|
+
}
|
|
1734
|
+
|
|
1735
|
+
let yearMax = calendar.params.yearPickerMax || new Date().getFullYear() + 100;
|
|
1736
|
+
|
|
1737
|
+
if (calendar.params.maxDate) {
|
|
1738
|
+
yearMax = Math.min(yearMax, new Date(calendar.params.maxDate).getFullYear());
|
|
1739
|
+
}
|
|
1740
|
+
|
|
1741
|
+
const years = [];
|
|
1742
|
+
|
|
1743
|
+
for (let i = yearMin; i <= yearMax; i += 1) {
|
|
1744
|
+
years.push(i);
|
|
1745
|
+
}
|
|
1746
|
+
|
|
1747
|
+
calendar.yearPickerInstance = app.picker.create({
|
|
1748
|
+
containerEl: calendar.yearPickerPopover.$el.find('.calendar-year-picker'),
|
|
1749
|
+
value: [currentYear],
|
|
1750
|
+
toolbar: false,
|
|
1751
|
+
rotateEffect: false,
|
|
1752
|
+
toolbarCloseText: calendar.params.toolbarCloseText,
|
|
1753
|
+
cols: [{
|
|
1754
|
+
values: years
|
|
1755
|
+
}]
|
|
1756
|
+
});
|
|
1757
|
+
}
|
|
1758
|
+
|
|
1759
|
+
closeYearPicker() {
|
|
1760
|
+
const calendar = this;
|
|
1761
|
+
if (calendar.yearPickerPopover && calendar.yearPickerPopover.opened) calendar.yearPickerPopover.close();
|
|
1762
|
+
calendar.setYearMonth(calendar.yearPickerInstance.value[0], undefined, 0);
|
|
1763
|
+
}
|
|
1764
|
+
|
|
1700
1765
|
openTimePicker() {
|
|
1701
1766
|
const calendar = this;
|
|
1702
1767
|
const {
|
|
@@ -1705,7 +1770,7 @@ class Calendar extends Framework7Class {
|
|
|
1705
1770
|
is12HoursFormat
|
|
1706
1771
|
} = calendar;
|
|
1707
1772
|
if (!$el || !$el.length) return;
|
|
1708
|
-
$el.append('<div class="calendar-time-picker"></div>');
|
|
1773
|
+
$el.append('<div class="popover calendar-popover calendar-time-picker-popover"><div class="popover-inner"><div class="calendar-time-picker"></div></div></div>');
|
|
1709
1774
|
const hoursArr = [];
|
|
1710
1775
|
const minutesArr = [];
|
|
1711
1776
|
const hoursMin = is12HoursFormat ? 1 : 0;
|
|
@@ -1733,10 +1798,36 @@ class Calendar extends Framework7Class {
|
|
|
1733
1798
|
if (value[0] === 0) value[0] = 12;
|
|
1734
1799
|
}
|
|
1735
1800
|
|
|
1801
|
+
calendar.timePickerPopover = app.popover.create({
|
|
1802
|
+
el: $el.find('.calendar-time-picker-popover'),
|
|
1803
|
+
targetEl: $el.find('.calendar-time-selector .link'),
|
|
1804
|
+
backdrop: true,
|
|
1805
|
+
backdropUnique: true,
|
|
1806
|
+
on: {
|
|
1807
|
+
close() {
|
|
1808
|
+
calendar.closeTimePicker();
|
|
1809
|
+
},
|
|
1810
|
+
|
|
1811
|
+
closed() {
|
|
1812
|
+
if (calendar.timePickerPopover.$el) calendar.timePickerPopover.$el.remove();
|
|
1813
|
+
calendar.timePickerPopover.destroy();
|
|
1814
|
+
|
|
1815
|
+
if (calendar.timePickerInstance) {
|
|
1816
|
+
calendar.timePickerInstance.close();
|
|
1817
|
+
calendar.timePickerInstance.destroy();
|
|
1818
|
+
}
|
|
1819
|
+
|
|
1820
|
+
delete calendar.timePickerInstance;
|
|
1821
|
+
delete calendar.timePickerPopover;
|
|
1822
|
+
}
|
|
1823
|
+
|
|
1824
|
+
}
|
|
1825
|
+
});
|
|
1826
|
+
calendar.timePickerPopover.open();
|
|
1736
1827
|
calendar.timePickerInstance = app.picker.create({
|
|
1737
|
-
containerEl:
|
|
1828
|
+
containerEl: calendar.timePickerPopover.$el.find('.calendar-time-picker'),
|
|
1738
1829
|
value,
|
|
1739
|
-
toolbar:
|
|
1830
|
+
toolbar: false,
|
|
1740
1831
|
rotateEffect: false,
|
|
1741
1832
|
toolbarCloseText: calendar.params.toolbarCloseText,
|
|
1742
1833
|
cols: [{
|
|
@@ -1751,7 +1842,6 @@ class Calendar extends Framework7Class {
|
|
|
1751
1842
|
values: ['AM', 'PM']
|
|
1752
1843
|
}] : [])]
|
|
1753
1844
|
});
|
|
1754
|
-
calendar.timePickerInstance.$el.find('.toolbar a').removeClass('sheet-close popover-close').addClass('calendar-time-picker-close');
|
|
1755
1845
|
}
|
|
1756
1846
|
|
|
1757
1847
|
closeTimePicker() {
|
|
@@ -1785,13 +1875,7 @@ class Calendar extends Framework7Class {
|
|
|
1785
1875
|
}
|
|
1786
1876
|
|
|
1787
1877
|
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();
|
|
1878
|
+
if (calendar.timePickerPopover && calendar.timePickerPopover.opened) calendar.timePickerPopover.close();
|
|
1795
1879
|
}
|
|
1796
1880
|
}
|
|
1797
1881
|
|
|
@@ -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%}.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}
|
|
@@ -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;
|