@event-calendar/build 2.7.2 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -13
- 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 +10 -7
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
See [demo](https://vkurko.github.io/calendar/) and [changelog](CHANGELOG.md).
|
|
4
4
|
|
|
5
|
-
Full-sized drag & drop JavaScript event calendar with resource
|
|
5
|
+
Full-sized drag & drop JavaScript event calendar with resource & timeline views:
|
|
6
6
|
|
|
7
|
-
* Lightweight (
|
|
7
|
+
* Lightweight (34kb [br](https://en.wikipedia.org/wiki/Brotli) compressed)
|
|
8
8
|
* Zero-dependency (pre-built bundle)
|
|
9
9
|
* Used on over 70,000 websites with [Bookly](https://wordpress.org/plugins/bookly-responsive-appointment-booking-tool/)
|
|
10
10
|
|
|
@@ -96,6 +96,7 @@ Inspired by [FullCalendar](https://fullcalendar.io/), implements similar options
|
|
|
96
96
|
- [slotLabelFormat](#slotlabelformat)
|
|
97
97
|
- [slotMaxTime](#slotmaxtime)
|
|
98
98
|
- [slotMinTime](#slotmintime)
|
|
99
|
+
- [slotWidth](#slotwidth)
|
|
99
100
|
- [theme](#theme)
|
|
100
101
|
- [titleFormat](#titleformat)
|
|
101
102
|
- [unselect](#unselect)
|
|
@@ -153,6 +154,7 @@ You must use at least one plugin that provides a view. The following plugins are
|
|
|
153
154
|
|
|
154
155
|
* `@event-calendar/day-grid`
|
|
155
156
|
* `@event-calendar/list`
|
|
157
|
+
* `@event-calendar/resource-timeline`
|
|
156
158
|
* `@event-calendar/resource-time-grid`
|
|
157
159
|
* `@event-calendar/time-grid`
|
|
158
160
|
* `@event-calendar/interaction` (doesn't provide a view)
|
|
@@ -200,8 +202,8 @@ import '@event-calendar/core/index.css';
|
|
|
200
202
|
### Pre-built browser ready bundle
|
|
201
203
|
Include the following lines of code in the `<head>` section of your page:
|
|
202
204
|
```html
|
|
203
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@event-calendar/build@
|
|
204
|
-
<script src="https://cdn.jsdelivr.net/npm/@event-calendar/build@
|
|
205
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@event-calendar/build@3.0.1/event-calendar.min.css">
|
|
206
|
+
<script src="https://cdn.jsdelivr.net/npm/@event-calendar/build@3.0.1/event-calendar.min.js"></script>
|
|
205
207
|
```
|
|
206
208
|
|
|
207
209
|
<details>
|
|
@@ -290,13 +292,15 @@ When hidden with `false`, all-day events will not be displayed in `timeGrid`/`re
|
|
|
290
292
|
|
|
291
293
|
### buttonText
|
|
292
294
|
- Type `object` or `function`
|
|
293
|
-
- Default `{close: 'Close', dayGridMonth: 'month', listDay: 'list', listMonth: 'list', listWeek: 'list', listYear: 'list', resourceTimeGridDay: '
|
|
295
|
+
- Default `{close: 'Close', dayGridMonth: 'month', listDay: 'list', listMonth: 'list', listWeek: 'list', listYear: 'list', resourceTimelineDay: 'timeline', resourceTimelineWeek: 'timeline', resourceTimeGridDay: 'resources', resourceTimeGridWeek: 'resources', timeGridDay: 'day', timeGridWeek: 'week', today: 'today'}`
|
|
294
296
|
> Views override the default value as follows:
|
|
295
297
|
> - dayGridMonth `text => ({...text, next: 'Next month', prev: 'Previous month'})`
|
|
296
298
|
> - listDay `text => ({...text, next: 'Next day', prev: 'Previous day'})`
|
|
297
299
|
> - listMonth `text => ({...text, next: 'Next month', prev: 'Previous month'})`
|
|
298
300
|
> - listWeek `text => ({...text, next: 'Next week', prev: 'Previous week'})`
|
|
299
301
|
> - listYear `text => ({...text, next: 'Next year', prev: 'Previous year'})`
|
|
302
|
+
> - resourceTimelineDay `text => ({...text, next: 'Next day', prev: 'Previous day'})`
|
|
303
|
+
> - resourceTimelineWeek `text => ({...text, next: 'Next week', prev: 'Previous week'})`
|
|
300
304
|
> - resourceTimeGridDay `text => ({...text, next: 'Next day', prev: 'Previous day'})`
|
|
301
305
|
> - resourceTimeGridWeek `text => ({...text, next: 'Next week', prev: 'Previous week'})`
|
|
302
306
|
> - timeGridDay `text => ({...text, next: 'Next day', prev: 'Previous day'})`
|
|
@@ -534,6 +538,8 @@ function (date) {
|
|
|
534
538
|
- Default `{dateStyle: 'long'}`
|
|
535
539
|
> Views override the default value as follows:
|
|
536
540
|
> - dayGridMonth `{weekday: 'long'}`
|
|
541
|
+
> - resourceTimelineDay `{dateStyle: 'long', timeStyle: 'short'}`
|
|
542
|
+
> - resourceTimelineWeek `{dateStyle: 'long', timeStyle: 'short'}`
|
|
537
543
|
|
|
538
544
|
Defines the text that is used inside the `aria-label` attribute in calendar column headings.
|
|
539
545
|
|
|
@@ -624,13 +630,11 @@ Determines whether the calendar should automatically scroll during the event dra
|
|
|
624
630
|
> Views override the default value as follows:
|
|
625
631
|
> - dayGridMonth `{months: 1}`
|
|
626
632
|
> - listDay `{days: 1}`
|
|
627
|
-
> - listWeek `{weeks: 1}`
|
|
628
633
|
> - listMonth `{months: 1}`
|
|
629
634
|
> - listYear `{years: 1}`
|
|
635
|
+
> - resourceTimelineDay `{days: 1}`
|
|
630
636
|
> - resourceTimeGridDay `{days: 1}`
|
|
631
|
-
> - resourceTimeGridWeek `{weeks: 1}`
|
|
632
637
|
> - timeGridDay `{days: 1}`
|
|
633
|
-
> - timeGridWeek `{weeks: 1}`
|
|
634
638
|
|
|
635
639
|
Sets the duration of a view.
|
|
636
640
|
|
|
@@ -1786,7 +1790,7 @@ Enables a marker indicating the current time in `timeGrid`/`resourceTimeGrid` vi
|
|
|
1786
1790
|
- Default `false`
|
|
1787
1791
|
- Requires `Interaction` plugin
|
|
1788
1792
|
|
|
1789
|
-
Enables mouse cursor pointer in `timeGrid`/`resourceTimeGrid` views.
|
|
1793
|
+
Enables mouse cursor pointer in `timeGrid`/`resourceTimeGrid` and other views.
|
|
1790
1794
|
|
|
1791
1795
|
### resources
|
|
1792
1796
|
- Type `Array`
|
|
@@ -2003,10 +2007,10 @@ If set to `false`, then intersecting events will be placed next to each other.
|
|
|
2003
2007
|
- Type `integer`
|
|
2004
2008
|
- Default `24`
|
|
2005
2009
|
|
|
2006
|
-
Defines the time slot height in pixels. When changing the setting, you must additionally override the following CSS styles:
|
|
2010
|
+
Defines the time slot height in pixels in the `timeGrid`/`resourceTimeGrid` views. When changing the setting, you must additionally override the following CSS styles:
|
|
2007
2011
|
|
|
2008
2012
|
```css
|
|
2009
|
-
.ec-time, .ec-line {
|
|
2013
|
+
.ec-time-grid .ec-time, .ec-time-grid .ec-line {
|
|
2010
2014
|
height: 24px; /* override this value */
|
|
2011
2015
|
}
|
|
2012
2016
|
```
|
|
@@ -2050,9 +2054,21 @@ Defines the first time slot that will be displayed for each day.
|
|
|
2050
2054
|
|
|
2051
2055
|
This should be a value that can be parsed into a [Duration](#duration-object) object.
|
|
2052
2056
|
|
|
2057
|
+
### slotWidth
|
|
2058
|
+
- Type `integer`
|
|
2059
|
+
- Default `52`
|
|
2060
|
+
|
|
2061
|
+
Defines the time slot width in pixels in `ResourceTimeline` views. When changing the setting, you must additionally override the following CSS styles:
|
|
2062
|
+
|
|
2063
|
+
```css
|
|
2064
|
+
.ec-timeline .ec-time, .ec-timeline .ec-line {
|
|
2065
|
+
width: 52px; /* override this value */
|
|
2066
|
+
}
|
|
2067
|
+
```
|
|
2068
|
+
|
|
2053
2069
|
### theme
|
|
2054
2070
|
- Type `object` or `function`
|
|
2055
|
-
- Default `{
|
|
2071
|
+
- Default `{allDay: 'ec-all-day', active: 'ec-active', bgEvent: 'ec-bg-event', bgEvents: 'ec-bg-events', body: 'ec-body', button: 'ec-button', buttonGroup: 'ec-button-group', calendar: 'ec', compact: 'ec-compact', container: 'ec-container', content: 'ec-content', day: 'ec-day', dayHead: 'ec-day-head', dayFoot: 'ec-day-foot', days: 'ec-days', daySide: 'ec-day-side', draggable: 'ec-draggable', dragging: 'ec-dragging', event: 'ec-event', eventBody: 'ec-event-body', eventTag: 'ec-event-tag', eventTime: 'ec-event-time', eventTitle: 'ec-event-title', events: 'ec-events', extra: 'ec-extra', ghost: 'ec-ghost', handle: 'ec-handle', header: 'ec-header', hiddenScroll: 'ec-hidden-scroll', highlight: 'ec-highlight', icon: 'ec-icon', line: 'ec-line', lines: 'ec-lines', main: 'ec-main', noEvents: 'ec-no-events', nowIndicator: 'ec-now-indicator', otherMonth: 'ec-other-month', pointer: 'ec-pointer', popup: 'ec-popup', preview: 'ec-preview', resizer: 'ec-resizer', resizingX: 'ec-resizing-x', resizingY: 'ec-resizing-y', resource: 'ec-resource', selecting: 'ec-selecting', sidebar: 'ec-sidebar', sidebarTitle: 'ec-sidebar-title', today: 'ec-today', time: 'ec-time', times: 'ec-times', title: 'ec-title', toolbar: 'ec-toolbar', view: 'ec-timeline ec-resource-week-view', weekdays: ['ec-sun', 'ec-mon', 'ec-tue', 'ec-wed', 'ec-thu', 'ec-fri', 'ec-sat'], withScroll: 'ec-with-scroll', uniform: 'ec-uniform'}`
|
|
2056
2072
|
> Views override the default value as follows:
|
|
2057
2073
|
> - dayGridMonth `theme => ({...theme, view: 'ec-day-grid ec-month-view'})`
|
|
2058
2074
|
> - listDay `theme => ({...theme, view: 'ec-list ec-day-view'})`
|
|
@@ -2178,7 +2194,7 @@ Clicking on elements that match this CSS selector will prevent the current selec
|
|
|
2178
2194
|
- Type `string`
|
|
2179
2195
|
- Default `'resourceTimeGridWeek'`
|
|
2180
2196
|
|
|
2181
|
-
The view that is displayed in the calendar. Can be `'dayGridMonth'`, `'listDay'`, `'listWeek'`, `'listMonth'`, `'listYear'`, `'resourceTimeGridDay'`, `'resourceTimeGridWeek'`, `'timeGridDay'` or `'timeGridWeek'`.
|
|
2197
|
+
The view that is displayed in the calendar. Can be `'dayGridMonth'`, `'listDay'`, `'listWeek'`, `'listMonth'`, `'listYear'`, `'resourceTimelineDay'`, `'resourceTimelineWeek'`, `'resourceTimeGridDay'`, `'resourceTimeGridWeek'`, `'timeGridDay'` or `'timeGridWeek'`.
|
|
2182
2198
|
|
|
2183
2199
|
### viewDidMount
|
|
2184
2200
|
- Type `function`
|
package/event-calendar.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.ec{color-scheme:light;--ec-h: 0;--ec-s: 0%;--ec-l-300: 91.00%;--ec-l-500: 83.50%;--ec-l-600: 78.40%;--ec-l-700: 71.40%;--ec-bg-fallback-color: #fff;--ec-hs: var(--ec-h), var(--ec-s);--ec-color-300: hsl(var(--ec-hs), var(--ec-l-300));--ec-color-500: hsl(var(--ec-hs), var(--ec-l-500));--ec-color-600: hsl(var(--ec-hs), var(--ec-l-600));--ec-color-700: hsl(var(--ec-hs), var(--ec-l-700));--ec-border-color: var(--ec-color-500);--ec-accent-color: var(--ec-color-600);--ec-button-bg-color: var(--ec-bg-color);--ec-button-border-color: var(--ec-color-600);--ec-button-text-color: var(--ec-text-color);--ec-button-active-bg-color: var(--ec-color-300);--ec-button-active-border-color: var(--ec-color-700);--ec-button-active-text-color: var(--ec-button-text-color);--ec-event-bg-color: #039be5;--ec-event-text-color: #fff;--ec-bg-event-color: var(--ec-color-500);--ec-bg-event-opacity: 0.3;--ec-list-day-bg-color: var(--ec-bg-color, var(--ec-bg-fallback-color));--ec-today-bg-color: rgba(255, 220, 40, .15);--ec-highlight-color: rgba(188, 232, 241, .3);--ec-popup-bg-color: var(--ec-bg-color, var(--ec-bg-fallback-color));--ec-now-indicator-color: #ea4335}.ec-dark .ec{color-scheme:dark;--ec-h: 215;--ec-s: 15%;--ec-l-300: 25.50%;--ec-l-500: 42.40%;--ec-l-600: 49.80%;--ec-l-700: 57.30%;--ec-bg-fallback-color: #22272e}@media(prefers-color-scheme: dark){.ec-auto-dark .ec{color-scheme:dark;--ec-h: 215;--ec-s: 15%;--ec-l-300: 25.50%;--ec-l-500: 42.40%;--ec-l-600: 49.80%;--ec-l-700: 57.30%;--ec-bg-fallback-color: #22272e}}.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;color:var(--ec-text-color);background-color:var(--ec-bg-color);-webkit-tap-highlight-color:rgba(0,0,0,0)}.ec ::-webkit-scrollbar{background-color:rgba(0,0,0,0)}.ec ::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);box-shadow:none;background-color:var(--ec-border-color);background-clip:padding-box;border-radius:8px;min-height:40px}.ec :hover::-webkit-scrollbar-thumb{background-color:var(--ec-accent-color)}.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:var(--ec-button-bg-color);border:1px solid var(--ec-button-border-color);padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem}.ec-button:not(:disabled){color:var(--ec-button-text-color);cursor:pointer}.ec-button:not(:disabled):hover,.ec-button.ec-active{background-color:var(--ec-button-active-bg-color);border-color:var(--ec-button-active-border-color);color:var(--ec-button-active-text-color);z-index:1}.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 currentcolor;border-right:2px solid currentcolor;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,.ec-list .ec-day-head{border:1px solid var(--ec-border-color)}.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{flex-shrink:0;border-top:none}.ec-all-day .ec-days{border-bottom:none}.ec-all-day .ec-day{padding-bottom:4px}.ec-body{position:relative;overflow-x:hidden;overflow-y:auto}.ec:not(.ec-list) .ec-body{border-top:none}.ec-day-grid .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-day-grid .ec-content{flex-direction:column;height:100%}.ec-day-grid .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-day-grid .ec-days,.ec-resource .ec-days{flex:1 0 auto}.ec-day-grid .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:var(--ec-today-bg-color)}.ec-day.ec-highlight{background-color:var(--ec-highlight-color)}.ec-day-grid .ec-body .ec-day{min-height:5em;position:relative}.ec-day-grid .ec-uniform .ec-day{min-height:0}.ec-day-grid .ec-day:first-child{border-left:none}.ec-day.ec-other-month .ec-day-head{opacity:.3}.ec-list .ec-day{border:none}.ec-day-grid .ec-day-head{display:block;text-align:right;padding:4px 4px 3px}.ec-day-grid .ec-day-foot{position:absolute;bottom:0;padding:2px;font-size:.85em}.ec-day-grid .ec-day-foot a{cursor:pointer}.ec-list .ec-day-head{flex:1 0 auto;background-color:var(--ec-list-day-bg-color);border-style:solid none;margin:-1px 0 0;padding:8px 14px;position:sticky;top:0;z-index:2}.ec-list .ec-day:first-child .ec-day-head{border-top:none}.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-time-grid .ec-events,.ec-events.ec-preview{position:relative}.ec-event{display:flex;padding:2px;color:var(--ec-event-text-color);box-sizing:border-box;box-shadow:0 0 1px 0 var(--ec-border-color);background-color:var(--ec-event-bg-color);border-radius:3px;font-size:.85em;line-height:1.5;z-index:1}.ec-day-grid .ec-event,.ec-all-day .ec-event{position:relative}.ec-time-grid .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-day-grid .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-day-grid .ec-event-time{margin:0 3px 0 0;max-width:100%;text-overflow:ellipsis}.ec-event-title{overflow:hidden;margin:unset;font-weight:inherit}.ec-day-grid .ec-event-title,.ec-all-day .ec-event-title{min-height:1.5em;white-space:nowrap;text-overflow:ellipsis}.ec-time-grid .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;pointer-events:none}.ec-bg-events{position:relative}.ec-bg-event{position:absolute;background-color:var(--ec-bg-event-color);opacity:var(--ec-bg-event-opacity);width:100%;z-index:1}.ec-time,.ec-line{height:24px}.ec-time{position:relative;line-height:24px;top:-12px;text-align:right;white-space:nowrap}.ec-header .ec-time,.ec-all-day .ec-time{visibility:hidden;overflow-y:hidden;height:0}.ec-lines{width:8px}.ec-line:not(:first-child):after{content:"";position:absolute;width:100%;border-bottom:1px solid var(--ec-border-color);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:var(--ec-popup-bg-color);border:1px solid var(--ec-border-color);border-radius:6px;outline:1px solid rgba(0,0,0,0);box-shadow:0 1px 3px 0 hsla(var(--ec-hs), 50%, 0.15),0 4px 8px 3px hsla(var(--ec-hs), 50%, 0.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:var(--ec-now-indicator-color) solid 2px;pointer-events:none}.ec-now-indicator:before{background:var(--ec-now-indicator-color);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-day-grid .ec-resizer,.ec-all-day .ec-resizer{top:0;right:0;bottom:0;width:50%;max-width:8px;cursor:ew-resize}.ec-time-grid .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}
|
|
1
|
+
.ec{color-scheme:light;--ec-h:0;--ec-s:0%;--ec-l-300:91.00%;--ec-l-500:83.50%;--ec-l-600:78.40%;--ec-l-700:71.40%;--ec-bg-fallback-color:#fff;--ec-hs:var(--ec-h),var(--ec-s);--ec-color-300:hsl(var(--ec-hs),var(--ec-l-300));--ec-color-500:hsl(var(--ec-hs),var(--ec-l-500));--ec-color-600:hsl(var(--ec-hs),var(--ec-l-600));--ec-color-700:hsl(var(--ec-hs),var(--ec-l-700));--ec-border-color:var(--ec-color-500);--ec-accent-color:var(--ec-color-600);--ec-button-bg-color:var(--ec-bg-color);--ec-button-border-color:var(--ec-color-600);--ec-button-text-color:var(--ec-text-color);--ec-button-active-bg-color:var(--ec-color-300);--ec-button-active-border-color:var(--ec-color-700);--ec-button-active-text-color:var(--ec-button-text-color);--ec-event-bg-color:#039be5;--ec-event-text-color:#fff;--ec-bg-event-color:var(--ec-color-500);--ec-bg-event-opacity:0.3;--ec-list-day-bg-color:var(--ec-bg-color,var(--ec-bg-fallback-color));--ec-today-bg-color:rgba(255,220,40,.15);--ec-highlight-color:rgba(188,232,241,.3);--ec-popup-bg-color:var(--ec-bg-color,var(--ec-bg-fallback-color));--ec-now-indicator-color:#ea4335}.ec-dark .ec{color-scheme:dark;--ec-h:215;--ec-s:15%;--ec-l-300:25.50%;--ec-l-500:42.40%;--ec-l-600:49.80%;--ec-l-700:57.30%;--ec-bg-fallback-color:#22272e}@media(prefers-color-scheme:dark){.ec-auto-dark .ec{color-scheme:dark;--ec-h:215;--ec-s:15%;--ec-l-300:25.50%;--ec-l-500:42.40%;--ec-l-600:49.80%;--ec-l-700:57.30%;--ec-bg-fallback-color:#22272e}}.ec-timeline .ec-container{display:flex;flex:1 1 0%;min-height:0}.ec-timeline .ec-main{display:flex;flex-direction:column;min-width:0}.ec-timeline .ec-content{flex-direction:column}.ec-timeline .ec-body{flex:1 1 auto;overflow:auto}.ec-timeline .ec-body .ec-content{min-height:100%;min-width:-moz-max-content;min-width:max-content;position:relative}.ec-timeline .ec-body .ec-days{flex-shrink:0}.ec-timeline .ec-body .ec-days:not(:last-child){flex-grow:0}.ec-timeline .ec-header{overflow:hidden}.ec-timeline .ec-header .ec-days{min-width:-moz-max-content;min-width:max-content}.ec-timeline .ec-header .ec-day{display:flex;flex-basis:auto;flex-direction:column}.ec-timeline .ec-day,.ec-timeline .ec-header .ec-day:first-child .ec-day-head,.ec-timeline .ec-header .ec-day:first-child .ec-time:first-child{border:none}.ec-timeline .ec-day-head{border-style:none none none solid}.ec-timeline .ec-times{border-style:solid none none;display:flex}.ec-timeline .ec-time{border-left:1px solid var(--ec-border-color);box-sizing:border-box;min-height:24px;overflow:hidden;text-overflow:ellipsis}.ec-timeline .ec-line,.ec-timeline .ec-time{width:52px}.ec-timeline .ec-events{height:100%;position:relative}.ec-timeline .ec-event{position:absolute}.ec-timeline .ec-bg-event{height:100%;z-index:auto}.ec-timeline .ec-lines{display:flex}.ec-timeline .ec-line:not(:first-child):after{border-left:1px solid var(--ec-border-color);content:"";height:100%;pointer-events:none;position:absolute}.ec-timeline .ec-sidebar{border-right-style:solid;border:1px solid var(--ec-border-color);border-right:1px var(--ec-border-color);padding:0}.ec-timeline .ec-sidebar .ec-sidebar-title{border-bottom:1px solid var(--ec-border-color);flex-shrink:0}.ec-timeline .ec-sidebar .ec-content{flex:1;overflow:hidden}.ec-timeline .ec-sidebar .ec-resource{flex-shrink:0;padding:0 8px}.ec-timeline .ec-sidebar .ec-resource:not(:last-child){border-bottom:1px solid var(--ec-border-color);flex-grow:0}.ec-timeline .ec-sidebar .ec-resource:last-child{flex-basis:100%!important}.ec-timeline .ec-sidebar .ec-resource span{padding-top:8px}.ec-time-grid .ec-body .ec-event{position:absolute}.ec-time-grid .ec-body .ec-event-title{position:sticky;top:0}.ec-time-grid .ec-body .ec-resizer{bottom:0;cursor:ns-resize;height:50%;left:0;max-height:8px;right:0}.ec-time-grid .ec-bg-event{width:100%;z-index:1}.ec-time-grid .ec-time{line-height:24px;position:relative;text-align:right;top:-12px}.ec-time-grid .ec-all-day .ec-time,.ec-time-grid .ec-header .ec-time{height:0;overflow-y:hidden;visibility:hidden}.ec-time-grid .ec-line,.ec-time-grid .ec-time{height:24px}.ec-time-grid .ec-lines{width:8px}.ec-time-grid .ec-line:not(:first-child):after{border-bottom:1px solid var(--ec-border-color);content:"";pointer-events:none;position:absolute;width:100%}.ec-time-grid .ec-body:not(.ec-compact) .ec-line:nth-child(2n):after{border-bottom-style:dotted}.ec-time-grid .ec-sidebar-title{height:0;overflow-y:hidden;text-align:right;visibility:hidden}.ec-time-grid .ec-all-day .ec-sidebar-title{height:auto;padding:8px 0;visibility:visible}.ec-day,.ec-days,.ec-resource{flex:1 1 0;max-width:100%;min-width:0}.ec{background-color:var(--ec-bg-color);color:var(--ec-text-color);display:flex;flex-direction:column;-webkit-tap-highlight-color:rgba(0,0,0,0)}.ec ::-webkit-scrollbar{background-color:transparent}.ec ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--ec-border-color);border:4px solid transparent;border-radius:8px;box-shadow:none;min-height:40px}.ec :hover::-webkit-scrollbar-thumb{background-color:var(--ec-accent-color)}.ec-hidden-scroll{display:none;flex-shrink:0;overflow-y:scroll;visibility:hidden}.ec-with-scroll .ec-hidden-scroll{display:block}.ec-toolbar{align-items:center;display:flex;flex:0 0 auto;justify-content:space-between;margin-bottom:1em}.ec-toolbar>*{margin-bottom:-.5em}.ec-toolbar>*>*{margin-bottom:.5em}.ec-toolbar>*>:not(:last-child){margin-right:.75em}.ec-title{margin:0}.ec-button{background-color:var(--ec-button-bg-color);border:1px solid var(--ec-button-border-color);border-radius:.25rem;font-size:1rem;line-height:1.5;padding:.375rem .75rem}.ec-button:not(:disabled){color:var(--ec-button-text-color);cursor:pointer}.ec-button.ec-active,.ec-button:not(:disabled):hover{background-color:var(--ec-button-active-bg-color);border-color:var(--ec-button-active-border-color);color:var(--ec-button-active-text-color);z-index:1}.ec-button-group{display:inline-flex}.ec-button-group .ec-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.ec-button-group .ec-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.ec-icon{display:inline-block;width:1em}.ec-icon.ec-next:after,.ec-icon.ec-prev:after{border-right:2px solid;border-top:2px solid;content:"";display:inline-block;height:.5em;position:relative;width:.5em}.ec-icon.ec-prev:after{transform:rotate(-135deg) translate(-2px,2px)}.ec-icon.ec-next:after{transform:rotate(45deg) translate(-2px,2px)}.ec-all-day,.ec-body,.ec-day,.ec-day-head,.ec-days,.ec-header,.ec-times{border:1px solid var(--ec-border-color)}.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{line-height:24px;min-height:24px;overflow:hidden;text-align:center;text-overflow:ellipsis}.ec-all-day{border-top:none;flex-shrink:0}.ec-all-day .ec-days{border-bottom:none}.ec-all-day .ec-day{padding-bottom:4px}.ec-body{overflow-x:hidden;overflow-y:auto;position:relative}.ec:not(.ec-list) .ec-body{border-top:none}.ec-day-grid .ec-body{flex:1 1 auto}.ec-sidebar{flex:0 0 auto;flex-direction:column;max-width:100%;padding:0 4px 0 8px;width:auto}.ec-content,.ec-sidebar{display:flex}.ec-day-grid .ec-content{flex-direction:column;height:100%}.ec-day-grid .ec-uniform .ec-content{overflow:hidden}.ec-list .ec-content{flex-direction:column}.ec-days,.ec-resource{display:flex}.ec-days{border-style:none none solid}.ec-days:last-child{border-bottom:none}.ec-day-grid .ec-days,.ec-resource .ec-days{flex:1 0 auto}.ec-day-grid .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:var(--ec-today-bg-color)}.ec-day.ec-highlight{background-color:var(--ec-highlight-color)}.ec-day-grid .ec-body .ec-day{min-height:5em;position:relative}.ec-day-grid .ec-uniform .ec-day{min-height:0}.ec-day-grid .ec-day:first-child{border-left:none}.ec-day.ec-other-month .ec-day-head{opacity:.3}.ec-list .ec-day{border:none}.ec-day-grid .ec-day-head{border:none;display:block;padding:4px 4px 3px;text-align:right}.ec-day-grid .ec-day-foot{bottom:0;font-size:.85em;padding:2px;position:absolute}.ec-day-grid .ec-day-foot a{cursor:pointer}.ec-list .ec-day-head{background-color:var(--ec-list-day-bg-color);border-style:solid none;margin:-1px 0 0;padding:8px 14px;position:sticky;top:0;z-index:2}.ec-list .ec-day:first-child .ec-day-head{border-top:none}.ec-list .ec-day-side{float:right}.ec-list .ec-no-events{padding:5em 0;text-align:center}.ec-events{margin:0 6px 0 0}.ec-events.ec-preview,.ec-time-grid .ec-events{position:relative}.ec-all-day .ec-events,.ec-day-grid .ec-events{display:flow-root}.ec-event{background-color:var(--ec-event-bg-color);border-radius:3px;box-shadow:0 0 1px 0 var(--ec-border-color);box-sizing:border-box;color:var(--ec-event-text-color);display:flex;font-size:.85em;line-height:1.5;padding:2px;z-index:1}.ec-all-day .ec-event,.ec-day-grid .ec-event{position:relative}.ec-list .ec-event{background-color:transparent;border-radius:0;color:inherit;flex-direction:row;padding:8px 14px}.ec-event.ec-preview{opacity:.8;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:1000}.ec-event.ec-pointer{box-shadow:none;color:inherit;display:flex;pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.ec-event-body{display:flex;flex-direction:column;width:100%}.ec-all-day .ec-event-body,.ec-day-grid .ec-event-body,.ec-timeline .ec-event-body{flex-direction:row}.ec-event-tag{border-radius:2px;margin-right:8px;width:4px}.ec-event-time{flex-shrink:0;margin:0 0 1px;overflow:hidden;white-space:nowrap}.ec-day-grid .ec-event-time,.ec-timeline .ec-event-time{margin:0 3px 0 0;max-width:100%;text-overflow:ellipsis}.ec-event-title{font-weight:inherit;margin:unset;overflow:hidden}.ec-all-day .ec-event-title,.ec-day-grid .ec-event-title,.ec-timeline .ec-event-title{min-height:1.5em;text-overflow:ellipsis;white-space:nowrap}.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;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ec-bg-events{position:relative}.ec-bg-event{background-color:var(--ec-bg-event-color);opacity:var(--ec-bg-event-opacity);position:absolute}.ec-time{white-space:nowrap}.ec-popup{background-color:var(--ec-popup-bg-color);border:1px solid var(--ec-border-color);border-radius:6px;box-shadow:0 1px 3px 0 hsla(var(--ec-hs),50%,.15),0 4px 8px 3px hsla(var(--ec-hs),50%,.15);display:flex;flex-direction:column;min-width:180px;outline:1px solid transparent;padding:8px 10px 14px;position:absolute;top:0;width:110%;z-index:1010}.ec-popup .ec-day-head{display:flex;justify-content:space-between;text-align:left}.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{height:100%;margin-left:-6.5px;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ec-now-indicator{border-top:2px solid var(--ec-now-indicator-color);pointer-events:none;position:absolute;width:100%;z-index:1005}.ec-now-indicator:before{background:var(--ec-now-indicator-color);border-radius:50%;content:"";height:12px;margin-top:-7px;pointer-events:none;position:absolute;width:12px}.ec-resizer{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ec-all-day .ec-resizer,.ec-day-grid .ec-resizer,.ec-timeline .ec-resizer{bottom:0;cursor:ew-resize;max-width:8px;right:0;top:0;width:50%}.ec-dragging{cursor:pointer!important}.ec-resizing-y{cursor:ns-resize!important}.ec-resizing-x{cursor:ew-resize!important}
|