@event-calendar/build 0.11.2 → 0.13.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
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 (54kb [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,12 +40,13 @@ 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)
|
|
47
45
|
- [eventDrop](#eventdrop)
|
|
46
|
+
</td><td>
|
|
47
|
+
|
|
48
48
|
- [eventDurationEditable](#eventdurationeditable)
|
|
49
|
+
- [eventLongPressDelay](#eventlongpressdelay)
|
|
49
50
|
- [eventMouseEnter](#eventmouseenter)
|
|
50
51
|
- [eventMouseLeave](#eventmouseleave)
|
|
51
52
|
- [eventResize](#eventresize)
|
|
@@ -63,18 +64,24 @@ Inspired by [FullCalendar](https://fullcalendar.io/), implements similar options
|
|
|
63
64
|
- [highlightedDates](#highlighteddates)
|
|
64
65
|
- [lazyFetching](#lazyfetching)
|
|
65
66
|
- [listDayFormat](#listdayformat)
|
|
66
|
-
</td><td>
|
|
67
|
-
|
|
68
67
|
- [listDaySideFormat](#listdaysideformat)
|
|
69
68
|
- [loading](#loading)
|
|
70
69
|
- [locale](#locale)
|
|
70
|
+
- [longPressDelay](#longpressdelay)
|
|
71
71
|
- [monthMode](#monthmode)
|
|
72
|
+
</td><td>
|
|
73
|
+
|
|
72
74
|
- [moreLinkContent](#morelinkcontent)
|
|
73
75
|
- [noEventsClick](#noeventsclick)
|
|
74
76
|
- [noEventsContent](#noeventscontent)
|
|
75
77
|
- [nowIndicator](#nowindicator)
|
|
76
78
|
- [pointer](#pointer)
|
|
77
79
|
- [resources](#resources)
|
|
80
|
+
- [select](#select)
|
|
81
|
+
- [selectable](#selectable)
|
|
82
|
+
- [selectBackgroundColor](#selectbackgroundcolor)
|
|
83
|
+
- [selectLongPressDelay](#selectlongpressdelay)
|
|
84
|
+
- [selectMinDistance](#selectmindistance)
|
|
78
85
|
- [scrollTime](#scrolltime)
|
|
79
86
|
- [slotDuration](#slotduration)
|
|
80
87
|
- [slotHeight](#slotheight)
|
|
@@ -82,6 +89,10 @@ Inspired by [FullCalendar](https://fullcalendar.io/), implements similar options
|
|
|
82
89
|
- [slotMaxTime](#slotmaxtime)
|
|
83
90
|
- [slotMinTime](#slotmintime)
|
|
84
91
|
- [theme](#theme)
|
|
92
|
+
- [titleFormat](#titleformat)
|
|
93
|
+
- [unselect](#unselect)
|
|
94
|
+
- [unselectAuto](#unselectauto)
|
|
95
|
+
- [unselectCancel](#unselectcancel)
|
|
85
96
|
- [view](#view)
|
|
86
97
|
- [viewDidMount](#viewdidmount)
|
|
87
98
|
- [views](#views)
|
|
@@ -104,6 +115,9 @@ Inspired by [FullCalendar](https://fullcalendar.io/), implements similar options
|
|
|
104
115
|
</td><td>
|
|
105
116
|
|
|
106
117
|
- [getView](#getview)
|
|
118
|
+
</td><td>
|
|
119
|
+
|
|
120
|
+
- [unselect](#unselect-1)
|
|
107
121
|
</td></tr>
|
|
108
122
|
</table>
|
|
109
123
|
- [Event object](#event-object)
|
|
@@ -811,6 +825,14 @@ The current [View](#view-object) object
|
|
|
811
825
|
|
|
812
826
|
Determines whether calendar events can be resized.
|
|
813
827
|
|
|
828
|
+
### eventLongPressDelay
|
|
829
|
+
- Type `integer`
|
|
830
|
+
- Default `undefined`
|
|
831
|
+
|
|
832
|
+
For touch devices, the amount of time (in milliseconds) the user must hold down a tap before the event becomes draggable/resizable.
|
|
833
|
+
|
|
834
|
+
If not specified, it falls back to [longPressDelay](#longpressdelay).
|
|
835
|
+
|
|
814
836
|
### eventMouseEnter
|
|
815
837
|
- Type `function`
|
|
816
838
|
- Default `undefined`
|
|
@@ -1356,6 +1378,14 @@ function (isLoading) { }
|
|
|
1356
1378
|
|
|
1357
1379
|
Defines the `locales` parameter for the native JavaScript [Intl.DateTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat) object that the Event Calendar uses to format date and time strings in options such as [dayHeaderFormat](#dayheaderformat), [eventTimeFormat](#eventtimeformat), etc.
|
|
1358
1380
|
|
|
1381
|
+
### longPressDelay
|
|
1382
|
+
- Type `integer`
|
|
1383
|
+
- Default `1000`
|
|
1384
|
+
|
|
1385
|
+
For touch devices, the amount of time (in milliseconds) the user must hold down a tap before the event becomes draggable/resizable or the date becomes selectable.
|
|
1386
|
+
|
|
1387
|
+
For a more granular configuration, see [eventLongPressDelay](#eventlongpressdelay) and [selectLongPressDelay](#selectlongpressdelay).
|
|
1388
|
+
|
|
1359
1389
|
### monthMode
|
|
1360
1390
|
- Type `boolean`
|
|
1361
1391
|
- Default `false`
|
|
@@ -1460,6 +1490,111 @@ Enables mouse cursor pointer in `timeGrid`/`resourceTimeGrid` views.
|
|
|
1460
1490
|
|
|
1461
1491
|
Array of plain objects that will be parsed into [Resource](#resource-object) objects for displaying in the resource view.
|
|
1462
1492
|
|
|
1493
|
+
### select
|
|
1494
|
+
- Type `function`
|
|
1495
|
+
- Default `undefined`
|
|
1496
|
+
|
|
1497
|
+
Callback function that is triggered when a date/time selection is made.
|
|
1498
|
+
|
|
1499
|
+
```js
|
|
1500
|
+
function (selectInfo) { }
|
|
1501
|
+
```
|
|
1502
|
+
`selectInfo` is an object with the following properties:
|
|
1503
|
+
<table>
|
|
1504
|
+
<tr>
|
|
1505
|
+
<td>
|
|
1506
|
+
|
|
1507
|
+
`start`
|
|
1508
|
+
</td>
|
|
1509
|
+
<td>JavaScript Date object indicating the start of the selection</td>
|
|
1510
|
+
</tr>
|
|
1511
|
+
<tr>
|
|
1512
|
+
<td>
|
|
1513
|
+
|
|
1514
|
+
`end`
|
|
1515
|
+
</td>
|
|
1516
|
+
<td>JavaScript Date object indicating the end of the selection</td>
|
|
1517
|
+
</tr>
|
|
1518
|
+
<tr>
|
|
1519
|
+
<td>
|
|
1520
|
+
|
|
1521
|
+
`startStr`
|
|
1522
|
+
</td>
|
|
1523
|
+
<td>ISO8601 string representation of the start date</td>
|
|
1524
|
+
</tr>
|
|
1525
|
+
<tr>
|
|
1526
|
+
<td>
|
|
1527
|
+
|
|
1528
|
+
`endStr`
|
|
1529
|
+
</td>
|
|
1530
|
+
<td>ISO8601 string representation of the end date</td>
|
|
1531
|
+
</tr>
|
|
1532
|
+
<tr>
|
|
1533
|
+
<td>
|
|
1534
|
+
|
|
1535
|
+
`allDay`
|
|
1536
|
+
</td>
|
|
1537
|
+
<td>
|
|
1538
|
+
|
|
1539
|
+
Boolean (`true` or `false`). Determines if the selection has occurred in the `all-day` slot</td>
|
|
1540
|
+
</tr>
|
|
1541
|
+
<tr>
|
|
1542
|
+
<td>
|
|
1543
|
+
|
|
1544
|
+
`jsEvent`
|
|
1545
|
+
</td>
|
|
1546
|
+
<td>JavaScript native event object with low-level information such as click coordinates</td>
|
|
1547
|
+
</tr>
|
|
1548
|
+
<tr>
|
|
1549
|
+
<td>
|
|
1550
|
+
|
|
1551
|
+
`view`
|
|
1552
|
+
</td>
|
|
1553
|
+
<td>
|
|
1554
|
+
|
|
1555
|
+
The current [View](#view-object) object
|
|
1556
|
+
</td>
|
|
1557
|
+
</tr>
|
|
1558
|
+
<tr>
|
|
1559
|
+
<td>
|
|
1560
|
+
|
|
1561
|
+
`resource`
|
|
1562
|
+
</td>
|
|
1563
|
+
<td>
|
|
1564
|
+
|
|
1565
|
+
If the current view is a resource view, the [Resource](#resource-object) object that was selected
|
|
1566
|
+
</td>
|
|
1567
|
+
</tr>
|
|
1568
|
+
</table>
|
|
1569
|
+
|
|
1570
|
+
### selectable
|
|
1571
|
+
- Type `boolean`
|
|
1572
|
+
- Default `false`
|
|
1573
|
+
|
|
1574
|
+
Determines whether the user is allowed to highlight multiple days or time slots by clicking and moving the pointer.
|
|
1575
|
+
|
|
1576
|
+
### selectBackgroundColor
|
|
1577
|
+
- Type `string`
|
|
1578
|
+
- Default `undefined`
|
|
1579
|
+
|
|
1580
|
+
Sets the background color for the event indicating the current selection. See [selectable](#selectable).
|
|
1581
|
+
|
|
1582
|
+
You can use any of the CSS color formats such `'#f00'`, `'#ff0000'`, `'rgb(255,0,0)'`, or `'red'`.
|
|
1583
|
+
|
|
1584
|
+
### selectLongPressDelay
|
|
1585
|
+
- Type `integer`
|
|
1586
|
+
- Default `undefined`
|
|
1587
|
+
|
|
1588
|
+
For touch devices, the amount of time (in milliseconds) the user must hold down a tap before the date becomes selectable.
|
|
1589
|
+
|
|
1590
|
+
If not specified, it falls back to [longPressDelay](#longpressdelay).
|
|
1591
|
+
|
|
1592
|
+
### selectMinDistance
|
|
1593
|
+
- Type `integer`
|
|
1594
|
+
- Default `0`
|
|
1595
|
+
|
|
1596
|
+
Defines how many pixels the user’s mouse must move before the selection begins.
|
|
1597
|
+
|
|
1463
1598
|
### scrollTime
|
|
1464
1599
|
- Type `string`, `integer` or `object`
|
|
1465
1600
|
- Default `'06:00:00'`
|
|
@@ -1576,6 +1711,61 @@ function (date) {
|
|
|
1576
1711
|
</tr>
|
|
1577
1712
|
</table>
|
|
1578
1713
|
|
|
1714
|
+
### unselect
|
|
1715
|
+
- Type `function`
|
|
1716
|
+
- Default `undefined`
|
|
1717
|
+
|
|
1718
|
+
Callback function that is triggered when the current selection is cleared.
|
|
1719
|
+
|
|
1720
|
+
A selection can be cleared for a number of reasons:
|
|
1721
|
+
|
|
1722
|
+
- The user clicks away from the current selection (this does not happen when [unselectAuto](#unselectauto) is `false`).
|
|
1723
|
+
- The user makes a new selection. The unselect callback will be fired before the new selection occurs.
|
|
1724
|
+
- The user navigates forward or backward in the current view, or switches to a new view.
|
|
1725
|
+
- The [unselect](#unselect-1) method is called via the API.
|
|
1726
|
+
|
|
1727
|
+
```js
|
|
1728
|
+
function (info) { }
|
|
1729
|
+
```
|
|
1730
|
+
`info` is an object with the following properties:
|
|
1731
|
+
<table>
|
|
1732
|
+
<tr>
|
|
1733
|
+
<td>
|
|
1734
|
+
|
|
1735
|
+
`jsEvent`
|
|
1736
|
+
</td>
|
|
1737
|
+
<td>
|
|
1738
|
+
|
|
1739
|
+
JavaScript native event object with low-level information such as click coordinates.
|
|
1740
|
+
|
|
1741
|
+
If unselect has been triggered via the [unselect](#unselect-1) method, jsEvent will be `undefined`</td>
|
|
1742
|
+
</tr>
|
|
1743
|
+
<tr>
|
|
1744
|
+
<td>
|
|
1745
|
+
|
|
1746
|
+
`view`
|
|
1747
|
+
</td>
|
|
1748
|
+
<td>
|
|
1749
|
+
|
|
1750
|
+
The current [View](#view-object) object
|
|
1751
|
+
</td>
|
|
1752
|
+
</tr>
|
|
1753
|
+
</table>
|
|
1754
|
+
|
|
1755
|
+
### unselectAuto
|
|
1756
|
+
- Type `boolean`
|
|
1757
|
+
- Default `true`
|
|
1758
|
+
|
|
1759
|
+
Determines whether clicking elsewhere on the page will clear the current selection. See [selectable](#selectable).
|
|
1760
|
+
|
|
1761
|
+
### unselectCancel
|
|
1762
|
+
- Type `string`
|
|
1763
|
+
- Default `''`
|
|
1764
|
+
|
|
1765
|
+
A CSS selector that specifies elements that will ignore the [unselectAuto](#unselectauto) option.
|
|
1766
|
+
|
|
1767
|
+
Clicking on elements that match this CSS selector will prevent the current selection from being cleared (because of the [unselectAuto](#unselectauto) option).
|
|
1768
|
+
|
|
1579
1769
|
### view
|
|
1580
1770
|
- Type `string`
|
|
1581
1771
|
- Default `'resourceTimeGridWeek'`
|
|
@@ -1706,6 +1896,11 @@ Refetches events from all sources.
|
|
|
1706
1896
|
|
|
1707
1897
|
Returns the [View](#view-object) object for the current view.
|
|
1708
1898
|
|
|
1899
|
+
### unselect()
|
|
1900
|
+
- Return value `EventCalendar` The calendar instance for chaining
|
|
1901
|
+
|
|
1902
|
+
Clears the current selection. See [selectable](#selectable).
|
|
1903
|
+
|
|
1709
1904
|
## Event object
|
|
1710
1905
|
This is a JavaScript object that the Event Calendar uses to store information about a calendar event.
|
|
1711
1906
|
|
|
@@ -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;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
|
|
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;-webkit-tap-highlight-color:rgba(0,0,0,0)}.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}.ec-ghost{opacity:.5;-webkit-user-select:none;user-select: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}
|