@event-calendar/build 0.17.0 → 0.18.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 +44 -6
- package/event-calendar.min.css +1 -1
- package/event-calendar.min.js +2 -2
- package/event-calendar.min.js.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# Event Calendar [](https://www.jsdelivr.com/package/npm/@event-calendar/build) [](https://www.npmjs.com/package/@event-calendar/core)
|
|
1
|
+
# Event Calendar [](https://www.jsdelivr.com/package/npm/@event-calendar/build) [](https://www.npmjs.com/package/@event-calendar/core)
|
|
2
2
|
|
|
3
3
|
See [demo](https://vkurko.github.io/calendar/) and [changelog](CHANGELOG.md).
|
|
4
4
|
|
|
5
5
|
Full-sized drag & drop JavaScript event calendar with resource view:
|
|
6
6
|
|
|
7
|
-
* Lightweight (
|
|
7
|
+
* Lightweight (38kb [br](https://en.wikipedia.org/wiki/Brotli) compressed)
|
|
8
8
|
* Zero-dependency (pre-built bundle)
|
|
9
|
-
* Used
|
|
9
|
+
* Used on over 60,000 websites with [Bookly](https://wordpress.org/plugins/bookly-responsive-appointment-booking-tool/)
|
|
10
10
|
|
|
11
11
|
Inspired by [FullCalendar](https://fullcalendar.io/), implements similar options.
|
|
12
12
|
|
|
@@ -192,8 +192,8 @@ import '@event-calendar/core/index.css';
|
|
|
192
192
|
### Pre-built browser ready bundle
|
|
193
193
|
Include the following lines of code in the `<head>` section of your page:
|
|
194
194
|
```html
|
|
195
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@event-calendar/build@0.
|
|
196
|
-
<script src="https://cdn.jsdelivr.net/npm/@event-calendar/build@0.
|
|
195
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@event-calendar/build@0.18.0/event-calendar.min.css">
|
|
196
|
+
<script src="https://cdn.jsdelivr.net/npm/@event-calendar/build@0.18.0/event-calendar.min.js"></script>
|
|
197
197
|
```
|
|
198
198
|
|
|
199
199
|
<details>
|
|
@@ -476,6 +476,7 @@ Determines whether to display an event’s end time.
|
|
|
476
476
|
### dragScroll
|
|
477
477
|
- Type `boolean`
|
|
478
478
|
- Default `true`
|
|
479
|
+
- Requires `Interaction` plugin
|
|
479
480
|
|
|
480
481
|
Determines whether the calendar should automatically scroll during the event drag-and-drop when the mouse crosses the edge.
|
|
481
482
|
|
|
@@ -500,6 +501,7 @@ This should be a value that can be parsed into a [Duration](#duration-object) ob
|
|
|
500
501
|
### editable
|
|
501
502
|
- Type `boolean`
|
|
502
503
|
- Default `false`
|
|
504
|
+
- Requires `Interaction` plugin
|
|
503
505
|
|
|
504
506
|
Determines whether the events on the calendar can be dragged and resized (both at the same time).
|
|
505
507
|
|
|
@@ -668,12 +670,14 @@ The current [View](#view-object) object
|
|
|
668
670
|
### eventDragMinDistance
|
|
669
671
|
- Type `integer`
|
|
670
672
|
- Default `5`
|
|
673
|
+
- Requires `Interaction` plugin
|
|
671
674
|
|
|
672
675
|
Defines how many pixels the user’s mouse must move before the event dragging begins.
|
|
673
676
|
|
|
674
677
|
### eventDragStart
|
|
675
678
|
- Type `function`
|
|
676
679
|
- Default `undefined`
|
|
680
|
+
- Requires `Interaction` plugin
|
|
677
681
|
|
|
678
682
|
Callback function that is triggered when the event dragging begins.
|
|
679
683
|
|
|
@@ -714,6 +718,7 @@ The current [View](#view-object) object
|
|
|
714
718
|
### eventDragStop
|
|
715
719
|
- Type `function`
|
|
716
720
|
- Default `undefined`
|
|
721
|
+
- Requires `Interaction` plugin
|
|
717
722
|
|
|
718
723
|
Callback function that is triggered when the event dragging stops.
|
|
719
724
|
|
|
@@ -756,6 +761,7 @@ The current [View](#view-object) object
|
|
|
756
761
|
### eventDrop
|
|
757
762
|
- Type `function`
|
|
758
763
|
- Default `undefined`
|
|
764
|
+
- Requires `Interaction` plugin
|
|
759
765
|
|
|
760
766
|
Callback function that is triggered when dragging stops, and the event has moved to a different day/time.
|
|
761
767
|
|
|
@@ -848,12 +854,14 @@ The current [View](#view-object) object
|
|
|
848
854
|
### eventDurationEditable
|
|
849
855
|
- Type `boolean`
|
|
850
856
|
- Default `true`
|
|
857
|
+
- Requires `Interaction` plugin
|
|
851
858
|
|
|
852
859
|
Determines whether calendar events can be resized.
|
|
853
860
|
|
|
854
861
|
### eventLongPressDelay
|
|
855
862
|
- Type `integer`
|
|
856
863
|
- Default `undefined`
|
|
864
|
+
- Requires `Interaction` plugin
|
|
857
865
|
|
|
858
866
|
For touch devices, the amount of time (in milliseconds) the user must hold down a tap before the event becomes draggable/resizable.
|
|
859
867
|
|
|
@@ -956,6 +964,7 @@ The current [View](#view-object) object
|
|
|
956
964
|
### eventResize
|
|
957
965
|
- Type `function`
|
|
958
966
|
- Default `undefined`
|
|
967
|
+
- Requires `Interaction` plugin
|
|
959
968
|
|
|
960
969
|
Callback function that is triggered when resizing stops, and the duration of the event has changed.
|
|
961
970
|
|
|
@@ -1028,6 +1037,7 @@ The current [View](#view-object) object
|
|
|
1028
1037
|
### eventResizeStart
|
|
1029
1038
|
- Type `function`
|
|
1030
1039
|
- Default `undefined`
|
|
1040
|
+
- Requires `Interaction` plugin
|
|
1031
1041
|
|
|
1032
1042
|
Callback function that is triggered when the event resizing begins.
|
|
1033
1043
|
|
|
@@ -1068,6 +1078,7 @@ The current [View](#view-object) object
|
|
|
1068
1078
|
### eventResizeStop
|
|
1069
1079
|
- Type `function`
|
|
1070
1080
|
- Default `undefined`
|
|
1081
|
+
- Requires `Interaction` plugin
|
|
1071
1082
|
|
|
1072
1083
|
Callback function that is triggered when the event resizing stops.
|
|
1073
1084
|
|
|
@@ -1209,6 +1220,7 @@ Instead of calling `successCallback` and `failureCallback`, you may return the r
|
|
|
1209
1220
|
### eventStartEditable
|
|
1210
1221
|
- Type `boolean`
|
|
1211
1222
|
- Default `true`
|
|
1223
|
+
- Requires `Interaction` plugin
|
|
1212
1224
|
|
|
1213
1225
|
Determines whether the events on the calendar can be dragged.
|
|
1214
1226
|
|
|
@@ -1507,6 +1519,7 @@ Enables a marker indicating the current time in `timeGrid`/`resourceTimeGrid` vi
|
|
|
1507
1519
|
### pointer
|
|
1508
1520
|
- Type `boolean`
|
|
1509
1521
|
- Default `false`
|
|
1522
|
+
- Requires `Interaction` plugin
|
|
1510
1523
|
|
|
1511
1524
|
Enables mouse cursor pointer in `timeGrid`/`resourceTimeGrid` views.
|
|
1512
1525
|
|
|
@@ -1590,6 +1603,7 @@ The associated [Resource](#resource-object) object
|
|
|
1590
1603
|
### select
|
|
1591
1604
|
- Type `function`
|
|
1592
1605
|
- Default `undefined`
|
|
1606
|
+
- Requires `Interaction` plugin
|
|
1593
1607
|
|
|
1594
1608
|
Callback function that is triggered when a date/time selection is made.
|
|
1595
1609
|
|
|
@@ -1667,12 +1681,14 @@ If the current view is a resource view, the [Resource](#resource-object) object
|
|
|
1667
1681
|
### selectable
|
|
1668
1682
|
- Type `boolean`
|
|
1669
1683
|
- Default `false`
|
|
1684
|
+
- Requires `Interaction` plugin
|
|
1670
1685
|
|
|
1671
1686
|
Determines whether the user is allowed to highlight multiple days or time slots by clicking and moving the pointer.
|
|
1672
1687
|
|
|
1673
1688
|
### selectBackgroundColor
|
|
1674
1689
|
- Type `string`
|
|
1675
1690
|
- Default `undefined`
|
|
1691
|
+
- Requires `Interaction` plugin
|
|
1676
1692
|
|
|
1677
1693
|
Sets the background color for the event indicating the current selection. See [selectable](#selectable).
|
|
1678
1694
|
|
|
@@ -1681,6 +1697,7 @@ You can use any of the CSS color formats such `'#f00'`, `'#ff0000'`, `'rgb(255,0
|
|
|
1681
1697
|
### selectLongPressDelay
|
|
1682
1698
|
- Type `integer`
|
|
1683
1699
|
- Default `undefined`
|
|
1700
|
+
- Requires `Interaction` plugin
|
|
1684
1701
|
|
|
1685
1702
|
For touch devices, the amount of time (in milliseconds) the user must hold down a tap before the date becomes selectable.
|
|
1686
1703
|
|
|
@@ -1689,6 +1706,7 @@ If not specified, it falls back to [longPressDelay](#longpressdelay).
|
|
|
1689
1706
|
### selectMinDistance
|
|
1690
1707
|
- Type `integer`
|
|
1691
1708
|
- Default `5`
|
|
1709
|
+
- Requires `Interaction` plugin
|
|
1692
1710
|
|
|
1693
1711
|
Defines how many pixels the user’s mouse must move before the selection begins.
|
|
1694
1712
|
|
|
@@ -1811,6 +1829,7 @@ function (date) {
|
|
|
1811
1829
|
### unselect
|
|
1812
1830
|
- Type `function`
|
|
1813
1831
|
- Default `undefined`
|
|
1832
|
+
- Requires `Interaction` plugin
|
|
1814
1833
|
|
|
1815
1834
|
Callback function that is triggered when the current selection is cleared.
|
|
1816
1835
|
|
|
@@ -1852,12 +1871,14 @@ The current [View](#view-object) object
|
|
|
1852
1871
|
### unselectAuto
|
|
1853
1872
|
- Type `boolean`
|
|
1854
1873
|
- Default `true`
|
|
1874
|
+
- Requires `Interaction` plugin
|
|
1855
1875
|
|
|
1856
1876
|
Determines whether clicking elsewhere on the page will clear the current selection. See [selectable](#selectable).
|
|
1857
1877
|
|
|
1858
1878
|
### unselectCancel
|
|
1859
1879
|
- Type `string`
|
|
1860
1880
|
- Default `''`
|
|
1881
|
+
- Requires `Interaction` plugin
|
|
1861
1882
|
|
|
1862
1883
|
A CSS selector that specifies elements that will ignore the [unselectAuto](#unselectauto) option.
|
|
1863
1884
|
|
|
@@ -2179,7 +2200,7 @@ Here are all admissible fields for the event’s input object:
|
|
|
2179
2200
|
</td>
|
|
2180
2201
|
<td>
|
|
2181
2202
|
|
|
2182
|
-
`boolean` Determines if the event is shown in the all-day slot.
|
|
2203
|
+
`boolean` Determines if the event is shown in the all-day slot. Defaults to `true` if `start` and `end` are both passed without a time part, `false` otherwise
|
|
2183
2204
|
</td>
|
|
2184
2205
|
</tr>
|
|
2185
2206
|
<tr>
|
|
@@ -2360,6 +2381,13 @@ Here are all properties that exist in Resource object:
|
|
|
2360
2381
|
</td>
|
|
2361
2382
|
<td>The HTML version of the title</td>
|
|
2362
2383
|
</tr>
|
|
2384
|
+
<tr>
|
|
2385
|
+
<td>
|
|
2386
|
+
|
|
2387
|
+
`eventBackgroundColor`
|
|
2388
|
+
</td>
|
|
2389
|
+
<td>Default background color for this resource's events</td>
|
|
2390
|
+
</tr>
|
|
2363
2391
|
</table>
|
|
2364
2392
|
|
|
2365
2393
|
### Parsing resource from a plain object
|
|
@@ -2397,6 +2425,16 @@ Here are all admissible fields for the resource’s input object:
|
|
|
2397
2425
|
`string` The HTML version of the title to be displayed instead of the text version. Default `''`
|
|
2398
2426
|
</td>
|
|
2399
2427
|
</tr>
|
|
2428
|
+
<tr>
|
|
2429
|
+
<td>
|
|
2430
|
+
|
|
2431
|
+
`eventBackgroundColor`
|
|
2432
|
+
</td>
|
|
2433
|
+
<td>
|
|
2434
|
+
|
|
2435
|
+
`string` Sets the default background color for this resource's events just like the calendar-wide [eventBackgroundColor](#eventbackgroundcolor) option. Default `undefined`
|
|
2436
|
+
</td>
|
|
2437
|
+
</tr>
|
|
2400
2438
|
</table>
|
|
2401
2439
|
|
|
2402
2440
|
## View object
|
package/event-calendar.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.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:not(.ec-list) .ec-body{border-top:none}.ec-month .ec-body{flex:1 1 auto}.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: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;-moz-user-select:none;user-select:none;opacity:.8}.ec-event.ec-pointer{color:inherit;pointer-events:none;-webkit-user-select:none;-moz-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:sticky;top:0}.ec-list .ec-event-title{font-size:1rem}.ec-draggable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ec-ghost{opacity:.5;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ec-bg-events{position:relative}.ec-bg-event{position:absolute;background-color:#dadce0;opacity:.3;width:100
|
|
1
|
+
.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:not(.ec-list) .ec-body{border-top:none}.ec-month .ec-body{flex:1 1 auto}.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: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;-moz-user-select:none;user-select:none;opacity:.8}.ec-event.ec-pointer{color:inherit;pointer-events:none;-webkit-user-select:none;-moz-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:sticky;top:0}.ec-list .ec-event-title{font-size:1rem}.ec-draggable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ec-ghost{opacity:.5;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ec-bg-events{position:relative}.ec-bg-event{position:absolute;background-color:#dadce0;opacity:.3;width:100%;z-index:1}.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;display:flex;flex-direction:column;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;min-height:0;overflow:auto}.ec-extra{position:relative;height:100%;overflow:hidden;margin-left:-6.5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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;-moz-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}
|