@event-calendar/build 0.11.1 → 0.12.0
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/README.md +174 -6
- package/event-calendar-modern.min.css +1 -1
- package/event-calendar-modern.min.js +5 -1
- package/event-calendar-modern.min.js.map +1 -1
- package/event-calendar.min.css +1 -1
- package/event-calendar.min.js +10 -1
- package/event-calendar.min.js.map +1 -1
- package/package.json +7 -6
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# Event Calendar [](https://www.jsdelivr.com/package/npm/@event-calendar/build) [](https://www.jsdelivr.com/package/npm/@event-calendar/build) [](https://www.npmjs.com/package/@event-calendar/core) [](https://www.paypal.me/vkurko/10usd)
|
|
2
2
|
|
|
3
3
|
See [demo](https://vkurko.github.io/calendar/).
|
|
4
4
|
|
|
5
5
|
Full-sized drag & drop JavaScript event calendar with resource view:
|
|
6
6
|
|
|
7
|
-
* Lightweight (
|
|
7
|
+
* Lightweight (52kb [br](https://en.wikipedia.org/wiki/Brotli) compressed `modern` version)
|
|
8
8
|
* Zero-dependency (pre-built bundle)
|
|
9
9
|
* Used by [Bookly](https://wordpress.org/plugins/bookly-responsive-appointment-booking-tool/)
|
|
10
10
|
|
|
@@ -40,10 +40,10 @@ Inspired by [FullCalendar](https://fullcalendar.io/), implements similar options
|
|
|
40
40
|
- [eventContent](#eventcontent)
|
|
41
41
|
- [eventDidMount](#eventdidmount)
|
|
42
42
|
- [eventDragMinDistance](#eventdragmindistance)
|
|
43
|
-
</td><td>
|
|
44
|
-
|
|
45
43
|
- [eventDragStart](#eventdragstart)
|
|
46
44
|
- [eventDragStop](#eventdragstop)
|
|
45
|
+
</td><td>
|
|
46
|
+
|
|
47
47
|
- [eventDrop](#eventdrop)
|
|
48
48
|
- [eventDurationEditable](#eventdurationeditable)
|
|
49
49
|
- [eventMouseEnter](#eventmouseenter)
|
|
@@ -63,18 +63,22 @@ Inspired by [FullCalendar](https://fullcalendar.io/), implements similar options
|
|
|
63
63
|
- [highlightedDates](#highlighteddates)
|
|
64
64
|
- [lazyFetching](#lazyfetching)
|
|
65
65
|
- [listDayFormat](#listdayformat)
|
|
66
|
-
</td><td>
|
|
67
|
-
|
|
68
66
|
- [listDaySideFormat](#listdaysideformat)
|
|
69
67
|
- [loading](#loading)
|
|
70
68
|
- [locale](#locale)
|
|
71
69
|
- [monthMode](#monthmode)
|
|
70
|
+
</td><td>
|
|
71
|
+
|
|
72
72
|
- [moreLinkContent](#morelinkcontent)
|
|
73
73
|
- [noEventsClick](#noeventsclick)
|
|
74
74
|
- [noEventsContent](#noeventscontent)
|
|
75
75
|
- [nowIndicator](#nowindicator)
|
|
76
76
|
- [pointer](#pointer)
|
|
77
77
|
- [resources](#resources)
|
|
78
|
+
- [select](#select)
|
|
79
|
+
- [selectable](#selectable)
|
|
80
|
+
- [selectBackgroundColor](#selectbackgroundcolor)
|
|
81
|
+
- [selectMinDistance](#selectmindistance)
|
|
78
82
|
- [scrollTime](#scrolltime)
|
|
79
83
|
- [slotDuration](#slotduration)
|
|
80
84
|
- [slotHeight](#slotheight)
|
|
@@ -82,6 +86,10 @@ Inspired by [FullCalendar](https://fullcalendar.io/), implements similar options
|
|
|
82
86
|
- [slotMaxTime](#slotmaxtime)
|
|
83
87
|
- [slotMinTime](#slotmintime)
|
|
84
88
|
- [theme](#theme)
|
|
89
|
+
- [titleFormat](#titleformat)
|
|
90
|
+
- [unselect](#unselect)
|
|
91
|
+
- [unselectAuto](#unselectauto)
|
|
92
|
+
- [unselectCancel](#unselectcancel)
|
|
85
93
|
- [view](#view)
|
|
86
94
|
- [viewDidMount](#viewdidmount)
|
|
87
95
|
- [views](#views)
|
|
@@ -104,6 +112,9 @@ Inspired by [FullCalendar](https://fullcalendar.io/), implements similar options
|
|
|
104
112
|
</td><td>
|
|
105
113
|
|
|
106
114
|
- [getView](#getview)
|
|
115
|
+
</td><td>
|
|
116
|
+
|
|
117
|
+
- [unselect](#unselect-1)
|
|
107
118
|
</td></tr>
|
|
108
119
|
</table>
|
|
109
120
|
- [Event object](#event-object)
|
|
@@ -1460,6 +1471,103 @@ Enables mouse cursor pointer in `timeGrid`/`resourceTimeGrid` views.
|
|
|
1460
1471
|
|
|
1461
1472
|
Array of plain objects that will be parsed into [Resource](#resource-object) objects for displaying in the resource view.
|
|
1462
1473
|
|
|
1474
|
+
### select
|
|
1475
|
+
- Type `function`
|
|
1476
|
+
- Default `undefined`
|
|
1477
|
+
|
|
1478
|
+
Callback function that is triggered when a date/time selection is made.
|
|
1479
|
+
|
|
1480
|
+
```js
|
|
1481
|
+
function (selectInfo) { }
|
|
1482
|
+
```
|
|
1483
|
+
`selectInfo` is an object with the following properties:
|
|
1484
|
+
<table>
|
|
1485
|
+
<tr>
|
|
1486
|
+
<td>
|
|
1487
|
+
|
|
1488
|
+
`start`
|
|
1489
|
+
</td>
|
|
1490
|
+
<td>JavaScript Date object indicating the start of the selection</td>
|
|
1491
|
+
</tr>
|
|
1492
|
+
<tr>
|
|
1493
|
+
<td>
|
|
1494
|
+
|
|
1495
|
+
`end`
|
|
1496
|
+
</td>
|
|
1497
|
+
<td>JavaScript Date object indicating the end of the selection</td>
|
|
1498
|
+
</tr>
|
|
1499
|
+
<tr>
|
|
1500
|
+
<td>
|
|
1501
|
+
|
|
1502
|
+
`startStr`
|
|
1503
|
+
</td>
|
|
1504
|
+
<td>ISO8601 string representation of the start date</td>
|
|
1505
|
+
</tr>
|
|
1506
|
+
<tr>
|
|
1507
|
+
<td>
|
|
1508
|
+
|
|
1509
|
+
`endStr`
|
|
1510
|
+
</td>
|
|
1511
|
+
<td>ISO8601 string representation of the end date</td>
|
|
1512
|
+
</tr>
|
|
1513
|
+
<tr>
|
|
1514
|
+
<td>
|
|
1515
|
+
|
|
1516
|
+
`allDay`
|
|
1517
|
+
</td>
|
|
1518
|
+
<td>
|
|
1519
|
+
|
|
1520
|
+
Boolean (`true` or `false`). Determines if the selection has occurred in the `all-day` slot</td>
|
|
1521
|
+
</tr>
|
|
1522
|
+
<tr>
|
|
1523
|
+
<td>
|
|
1524
|
+
|
|
1525
|
+
`jsEvent`
|
|
1526
|
+
</td>
|
|
1527
|
+
<td>JavaScript native event object with low-level information such as click coordinates</td>
|
|
1528
|
+
</tr>
|
|
1529
|
+
<tr>
|
|
1530
|
+
<td>
|
|
1531
|
+
|
|
1532
|
+
`view`
|
|
1533
|
+
</td>
|
|
1534
|
+
<td>
|
|
1535
|
+
|
|
1536
|
+
The current [View](#view-object) object
|
|
1537
|
+
</td>
|
|
1538
|
+
</tr>
|
|
1539
|
+
<tr>
|
|
1540
|
+
<td>
|
|
1541
|
+
|
|
1542
|
+
`resource`
|
|
1543
|
+
</td>
|
|
1544
|
+
<td>
|
|
1545
|
+
|
|
1546
|
+
If the current view is a resource view, the [Resource](#resource-object) object that was selected
|
|
1547
|
+
</td>
|
|
1548
|
+
</tr>
|
|
1549
|
+
</table>
|
|
1550
|
+
|
|
1551
|
+
### selectable
|
|
1552
|
+
- Type `boolean`
|
|
1553
|
+
- Default `false`
|
|
1554
|
+
|
|
1555
|
+
Determines whether the user is allowed to highlight multiple days or time slots by clicking and moving the pointer.
|
|
1556
|
+
|
|
1557
|
+
### selectBackgroundColor
|
|
1558
|
+
- Type `string`
|
|
1559
|
+
- Default `undefined`
|
|
1560
|
+
|
|
1561
|
+
Sets the background color for the event indicating the current selection. See [selectable](#selectable).
|
|
1562
|
+
|
|
1563
|
+
You can use any of the CSS color formats such `'#f00'`, `'#ff0000'`, `'rgb(255,0,0)'`, or `'red'`.
|
|
1564
|
+
|
|
1565
|
+
### selectMinDistance
|
|
1566
|
+
- Type `integer`
|
|
1567
|
+
- Default `0`
|
|
1568
|
+
|
|
1569
|
+
Defines how many pixels the user’s mouse must move before the selection begins.
|
|
1570
|
+
|
|
1463
1571
|
### scrollTime
|
|
1464
1572
|
- Type `string`, `integer` or `object`
|
|
1465
1573
|
- Default `'06:00:00'`
|
|
@@ -1576,6 +1684,61 @@ function (date) {
|
|
|
1576
1684
|
</tr>
|
|
1577
1685
|
</table>
|
|
1578
1686
|
|
|
1687
|
+
### unselect
|
|
1688
|
+
- Type `function`
|
|
1689
|
+
- Default `undefined`
|
|
1690
|
+
|
|
1691
|
+
Callback function that is triggered when the current selection is cleared.
|
|
1692
|
+
|
|
1693
|
+
A selection can be cleared for a number of reasons:
|
|
1694
|
+
|
|
1695
|
+
- The user clicks away from the current selection (this does not happen when [unselectAuto](#unselectauto) is `false`).
|
|
1696
|
+
- The user makes a new selection. The unselect callback will be fired before the new selection occurs.
|
|
1697
|
+
- The user navigates forward or backward in the current view, or switches to a new view.
|
|
1698
|
+
- The [unselect](#unselect-1) method is called via the API.
|
|
1699
|
+
|
|
1700
|
+
```js
|
|
1701
|
+
function (info) { }
|
|
1702
|
+
```
|
|
1703
|
+
`info` is an object with the following properties:
|
|
1704
|
+
<table>
|
|
1705
|
+
<tr>
|
|
1706
|
+
<td>
|
|
1707
|
+
|
|
1708
|
+
`jsEvent`
|
|
1709
|
+
</td>
|
|
1710
|
+
<td>
|
|
1711
|
+
|
|
1712
|
+
JavaScript native event object with low-level information such as click coordinates.
|
|
1713
|
+
|
|
1714
|
+
If unselect has been triggered via the [unselect](#unselect-1) method, jsEvent will be `undefined`</td>
|
|
1715
|
+
</tr>
|
|
1716
|
+
<tr>
|
|
1717
|
+
<td>
|
|
1718
|
+
|
|
1719
|
+
`view`
|
|
1720
|
+
</td>
|
|
1721
|
+
<td>
|
|
1722
|
+
|
|
1723
|
+
The current [View](#view-object) object
|
|
1724
|
+
</td>
|
|
1725
|
+
</tr>
|
|
1726
|
+
</table>
|
|
1727
|
+
|
|
1728
|
+
### unselectAuto
|
|
1729
|
+
- Type `boolean`
|
|
1730
|
+
- Default `true`
|
|
1731
|
+
|
|
1732
|
+
Determines whether clicking elsewhere on the page will clear the current selection. See [selectable](#selectable).
|
|
1733
|
+
|
|
1734
|
+
### unselectCancel
|
|
1735
|
+
- Type `string`
|
|
1736
|
+
- Default `''`
|
|
1737
|
+
|
|
1738
|
+
A CSS selector that specifies elements that will ignore the [unselectAuto](#unselectauto) option.
|
|
1739
|
+
|
|
1740
|
+
Clicking on elements that match this CSS selector will prevent the current selection from being cleared (because of the [unselectAuto](#unselectauto) option).
|
|
1741
|
+
|
|
1579
1742
|
### view
|
|
1580
1743
|
- Type `string`
|
|
1581
1744
|
- Default `'resourceTimeGridWeek'`
|
|
@@ -1706,6 +1869,11 @@ Refetches events from all sources.
|
|
|
1706
1869
|
|
|
1707
1870
|
Returns the [View](#view-object) object for the current view.
|
|
1708
1871
|
|
|
1872
|
+
### unselect()
|
|
1873
|
+
- Return value `EventCalendar` The calendar instance for chaining
|
|
1874
|
+
|
|
1875
|
+
Clears the current selection. See [selectable](#selectable).
|
|
1876
|
+
|
|
1709
1877
|
## Event object
|
|
1710
1878
|
This is a JavaScript object that the Event Calendar uses to store information about a calendar event.
|
|
1711
1879
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ec-flex{display:flex}.ec-month .ec-body,.ec-days,.ec-day,.ec-day-title,.ec-resource{flex:1 1 0%;min-width:0;max-width:100%}.ec{display:flex;flex-direction:column}.ec ::-webkit-scrollbar{background:#fff}.ec ::-webkit-scrollbar-thumb{border:4px solid #fff;box-shadow:none;background:#dadce0;border-radius:8px;min-height:40px}.ec :hover::-webkit-scrollbar-thumb{background:#bdc1c6}.ec-hidden-scroll{display:none;overflow-y:scroll;visibility:hidden;flex-shrink:0}.ec-with-scroll .ec-hidden-scroll{display:block}.ec-toolbar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;margin-bottom:1em}.ec-toolbar>*{margin-bottom:-0.5em}.ec-toolbar>*>*{margin-bottom:.5em}.ec-toolbar>*>*:not(:last-child){margin-right:.75em}.ec-title{margin:0}.ec-button{background-color:#fff;border:1px solid #ced4da;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem}.ec-button:not(:disabled){color:#212529;cursor:pointer}.ec-button:not(:disabled):hover,.ec-button.ec-active{background-color:#ececec;border-color:#b1bbc4}.ec-button-group{display:inline-flex}.ec-button-group .ec-button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.ec-button-group .ec-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.ec-icon{display:inline-block;width:1em}.ec-icon.ec-prev:after,.ec-icon.ec-next:after{content:"";position:relative;width:.5em;height:.5em;border-top:2px solid #212529;border-right:2px solid #212529;display:inline-block}.ec-icon.ec-prev:after{transform:rotate(-135deg) translate(-2px, 2px)}.ec-icon.ec-next:after{transform:rotate(45deg) translate(-2px, 2px)}.ec-header,.ec-all-day,.ec-body,.ec-days,.ec-day{border:1px solid #dadce0}.ec-header{display:flex;flex-shrink:0}.ec-header .ec-resource{flex-direction:column}.ec-header .ec-resource .ec-days{border-top-style:solid}.ec-header .ec-days{border-bottom:none}.ec-header .ec-day{min-height:24px;line-height:24px;text-align:center;overflow:hidden;text-overflow:ellipsis}.ec-all-day{display:flex;flex-shrink:0;border-top:none}.ec-all-day .ec-days{border-bottom:none}.ec-all-day .ec-day{padding-bottom:4px}.ec-all-day .ec-event-time{display:none}.ec-body{position:relative;overflow-x:hidden;overflow-y:auto}.ec-body:not(.ec-list){border-top:none}.ec-sidebar{flex:0 0 auto;width:auto;max-width:100%;padding:0 4px 0 8px;display:flex;flex-direction:column;justify-content:center}.ec-sidebar-title{visibility:hidden;overflow-y:hidden;height:0}.ec-all-day .ec-sidebar-title{visibility:visible;height:auto;padding:8px 0}.ec-content{display:flex}.ec-month .ec-content{flex-direction:column;height:100%}.ec-month .ec-uniform .ec-content{overflow:hidden}.ec-list .ec-content{flex-direction:column}.ec-resource{display:flex}.ec-days{display:flex;border-style:none none solid}.ec-days:last-child{border-bottom:none}.ec-month .ec-days,.ec-resource .ec-days{flex:1 0 auto}.ec-month .ec-uniform .ec-days{flex:1 1 0%;min-height:0}.ec-day{border-style:none none none solid}.ec-day.ec-today{background-color:#fcf8e3}.ec-day.ec-highlight{background-color:#e5f7fe}.ec-month .ec-body .ec-day{min-height:5em;position:relative}.ec-month .ec-uniform .ec-day{min-height:0}.ec-month .ec-day:first-child{border-left:none}.ec-day.ec-other-month .ec-day-head{opacity:.3}.ec-list .ec-day{flex:1 0 auto;background-color:#fff;border-style:solid none;padding:8px 14px;font-weight:bold;position:-webkit-sticky;position:sticky;top:0;z-index:2}.ec-list .ec-day:first-child{border-top:none}.ec-month .ec-day-head{text-align:right;padding:4px 4px 3px}.ec-month .ec-day-foot{position:absolute;bottom:0;padding:2px;font-size:.85em}.ec-month .ec-day-foot a{cursor:pointer}.ec-list .ec-day-side{float:right}.ec-list .ec-no-events{text-align:center;padding:5em 0}.ec-events{margin:0 6px 0 0}.ec-week .ec-events,.ec-events.ec-preview{position:relative}.ec-event{display:flex;padding:2px;color:#fff;box-sizing:border-box;box-shadow:0 0 1px 0 #dadce0;background-color:#039be5;border-radius:3px;font-size:.85em;line-height:1.5;z-index:1}.ec-month .ec-event,.ec-all-day .ec-event{position:relative
|
|
1
|
+
.ec-flex{display:flex}.ec-month .ec-body,.ec-days,.ec-day,.ec-day-title,.ec-resource{flex:1 1 0%;min-width:0;max-width:100%}.ec{display:flex;flex-direction:column}.ec ::-webkit-scrollbar{background:#fff}.ec ::-webkit-scrollbar-thumb{border:4px solid #fff;box-shadow:none;background:#dadce0;border-radius:8px;min-height:40px}.ec :hover::-webkit-scrollbar-thumb{background:#bdc1c6}.ec-hidden-scroll{display:none;overflow-y:scroll;visibility:hidden;flex-shrink:0}.ec-with-scroll .ec-hidden-scroll{display:block}.ec-toolbar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;margin-bottom:1em}.ec-toolbar>*{margin-bottom:-0.5em}.ec-toolbar>*>*{margin-bottom:.5em}.ec-toolbar>*>*:not(:last-child){margin-right:.75em}.ec-title{margin:0}.ec-button{background-color:#fff;border:1px solid #ced4da;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem}.ec-button:not(:disabled){color:#212529;cursor:pointer}.ec-button:not(:disabled):hover,.ec-button.ec-active{background-color:#ececec;border-color:#b1bbc4}.ec-button-group{display:inline-flex}.ec-button-group .ec-button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.ec-button-group .ec-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.ec-icon{display:inline-block;width:1em}.ec-icon.ec-prev:after,.ec-icon.ec-next:after{content:"";position:relative;width:.5em;height:.5em;border-top:2px solid #212529;border-right:2px solid #212529;display:inline-block}.ec-icon.ec-prev:after{transform:rotate(-135deg) translate(-2px, 2px)}.ec-icon.ec-next:after{transform:rotate(45deg) translate(-2px, 2px)}.ec-header,.ec-all-day,.ec-body,.ec-days,.ec-day{border:1px solid #dadce0}.ec-header{display:flex;flex-shrink:0}.ec-header .ec-resource{flex-direction:column}.ec-header .ec-resource .ec-days{border-top-style:solid}.ec-header .ec-days{border-bottom:none}.ec-header .ec-day{min-height:24px;line-height:24px;text-align:center;overflow:hidden;text-overflow:ellipsis}.ec-all-day{display:flex;flex-shrink:0;border-top:none}.ec-all-day .ec-days{border-bottom:none}.ec-all-day .ec-day{padding-bottom:4px}.ec-all-day .ec-event-time{display:none}.ec-body{position:relative;overflow-x:hidden;overflow-y:auto}.ec-body:not(.ec-list){border-top:none}.ec-sidebar{flex:0 0 auto;width:auto;max-width:100%;padding:0 4px 0 8px;display:flex;flex-direction:column;justify-content:center}.ec-sidebar-title{visibility:hidden;overflow-y:hidden;height:0;text-align:right}.ec-all-day .ec-sidebar-title{visibility:visible;height:auto;padding:8px 0}.ec-content{display:flex}.ec-month .ec-content{flex-direction:column;height:100%}.ec-month .ec-uniform .ec-content{overflow:hidden}.ec-list .ec-content{flex-direction:column}.ec-resource{display:flex}.ec-days{display:flex;border-style:none none solid}.ec-days:last-child{border-bottom:none}.ec-month .ec-days,.ec-resource .ec-days{flex:1 0 auto}.ec-month .ec-uniform .ec-days{flex:1 1 0%;min-height:0}.ec-day{border-style:none none none solid}.ec-day.ec-today{background-color:#fcf8e3}.ec-day.ec-highlight{background-color:#e5f7fe}.ec-month .ec-body .ec-day{min-height:5em;position:relative}.ec-month .ec-uniform .ec-day{min-height:0}.ec-month .ec-day:first-child{border-left:none}.ec-day.ec-other-month .ec-day-head{opacity:.3}.ec-list .ec-day{flex:1 0 auto;background-color:#fff;border-style:solid none;padding:8px 14px;font-weight:bold;position:-webkit-sticky;position:sticky;top:0;z-index:2}.ec-list .ec-day:first-child{border-top:none}.ec-month .ec-day-head{text-align:right;padding:4px 4px 3px}.ec-month .ec-day-foot{position:absolute;bottom:0;padding:2px;font-size:.85em}.ec-month .ec-day-foot a{cursor:pointer}.ec-list .ec-day-side{float:right}.ec-list .ec-no-events{text-align:center;padding:5em 0}.ec-events{margin:0 6px 0 0}.ec-week .ec-events,.ec-events.ec-preview{position:relative}.ec-event{display:flex;padding:2px;color:#fff;box-sizing:border-box;box-shadow:0 0 1px 0 #dadce0;background-color:#039be5;border-radius:3px;font-size:.85em;line-height:1.5;z-index:1}.ec-month .ec-event,.ec-all-day .ec-event{position:relative}.ec-week .ec-body .ec-event{position:absolute}.ec-list .ec-event{flex-direction:row;padding:8px 14px;color:inherit;background-color:rgba(0,0,0,0);border-radius:0}.ec-event.ec-preview{position:absolute;z-index:1000;width:100%;-webkit-user-select:none;user-select:none;opacity:.8}.ec-event.ec-pointer{color:inherit;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;z-index:0;box-shadow:none;display:none}.ec-day:hover .ec-event.ec-pointer{display:flex}.ec-event-body{display:flex;flex-direction:column;width:100%}.ec-month .ec-event-body,.ec-all-day .ec-event-body{flex-direction:row}.ec-event-tag{width:4px;border-radius:2px;margin-right:8px}.ec-event-time{overflow:hidden;white-space:nowrap;margin:0 0 1px 0;flex-shrink:0}.ec-month .ec-event-time{margin:0 3px 0 0;max-width:100%;text-overflow:ellipsis}.ec-event-title{overflow:hidden}.ec-month .ec-event-title,.ec-all-day .ec-event-title{min-height:1.5em;white-space:nowrap;text-overflow:ellipsis}.ec-week .ec-body .ec-event-title{position:-webkit-sticky;position:sticky;top:0}.ec-list .ec-event-title{font-size:1rem}.ec-draggable{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none}.ec-ghost{opacity:.5;-webkit-user-select:none;user-select:none;touch-action:none}.ec-bg-events{position:relative}.ec-bg-event{position:absolute;background-color:#dadce0;opacity:.3;width:100%}.ec-hidden-times{visibility:hidden;overflow-y:hidden;height:0}.ec-time,.ec-line{height:24px}.ec-time{position:relative;line-height:24px;top:-12px;text-align:right;white-space:nowrap}.ec-lines{width:8px}.ec-line:not(:first-child):after{content:"";position:absolute;width:100%;border-bottom:1px solid #dadce0;pointer-events:none}.ec-body:not(.ec-compact) .ec-line:nth-child(even):after{border-bottom-style:dotted}.ec-popup{position:absolute;top:0;width:110%;min-width:180px;z-index:1010;padding:8px 10px 14px;background-color:#fff;border-radius:6px;outline:1px solid rgba(0,0,0,0);box-shadow:0 1px 3px 0 rgba(60,64,67,.3),0 4px 8px 3px rgba(60,64,67,.15)}.ec-popup .ec-day-head{text-align:left;display:flex;justify-content:space-between}.ec-popup .ec-day-head a{cursor:pointer;font-size:1.5em;line-height:.8}.ec-popup .ec-events{margin:0}.ec-extra{position:relative;height:100%;overflow:hidden;margin-left:-6.5px}.ec-now-indicator{position:absolute;z-index:1005;width:100%;border-top:#ea4335 solid 2px;pointer-events:none}.ec-now-indicator:before{background:#ea4335;border-radius:50%;content:"";position:absolute;height:12px;margin-top:-7px;width:12px;pointer-events:none}.ec-resizer{position:absolute;-webkit-user-select:none;user-select:none}.ec-month .ec-resizer,.ec-all-day .ec-resizer{top:0;right:0;bottom:0;width:50%;max-width:8px;cursor:ew-resize}.ec-week .ec-body .ec-resizer{left:0;right:0;bottom:0;height:50%;max-height:8px;cursor:ns-resize}.ec-dragging{cursor:pointer !important}.ec-resizing-y{cursor:ns-resize !important}.ec-resizing-x{cursor:ew-resize !important}
|