@event-calendar/build 5.3.3 → 5.4.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
CHANGED
|
@@ -5,7 +5,7 @@ See [demo](https://vkurko.github.io/calendar/) and [changelog](CHANGELOG.md).
|
|
|
5
5
|
Full-sized drag & drop JavaScript event calendar with resource & timeline views:
|
|
6
6
|
|
|
7
7
|
* Lightweight (35kb [br](https://en.wikipedia.org/wiki/Brotli) compressed)
|
|
8
|
-
*
|
|
8
|
+
* Minimal DOM structure (thanks to [CSS Grid](https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Grid_layout))
|
|
9
9
|
* Zero-dependency (standalone bundle)
|
|
10
10
|
* Used on over 70,000 websites with [Bookly](https://wordpress.org/plugins/bookly-responsive-appointment-booking-tool/)
|
|
11
11
|
|
|
@@ -68,9 +68,9 @@ Inspired by [FullCalendar](https://fullcalendar.io/), it implements similar opti
|
|
|
68
68
|
- [eventDragStart](#eventdragstart)
|
|
69
69
|
- [eventDragStop](#eventdragstop)
|
|
70
70
|
- [eventDrop](#eventdrop)
|
|
71
|
+
- [eventDurationEditable](#eventdurationeditable)
|
|
71
72
|
</td><td>
|
|
72
73
|
|
|
73
|
-
- [eventDurationEditable](#eventdurationeditable)
|
|
74
74
|
- [eventFilter](#eventfilter)
|
|
75
75
|
- [eventLongPressDelay](#eventlongpressdelay)
|
|
76
76
|
- [eventMouseEnter](#eventmouseenter)
|
|
@@ -92,6 +92,7 @@ Inspired by [FullCalendar](https://fullcalendar.io/), it implements similar opti
|
|
|
92
92
|
- [height](#height)
|
|
93
93
|
- [hiddenDays](#hiddendays)
|
|
94
94
|
- [highlightedDates](#highlighteddates)
|
|
95
|
+
- [icons](#icons)
|
|
95
96
|
- [lazyFetching](#lazyfetching)
|
|
96
97
|
- [listDayFormat](#listdayformat)
|
|
97
98
|
- [listDaySideFormat](#listdaysideformat)
|
|
@@ -102,11 +103,12 @@ Inspired by [FullCalendar](https://fullcalendar.io/), it implements similar opti
|
|
|
102
103
|
- [noEventsClick](#noeventsclick)
|
|
103
104
|
- [noEventsContent](#noeventscontent)
|
|
104
105
|
- [nowIndicator](#nowindicator)
|
|
106
|
+
- [pointer](#pointer)
|
|
105
107
|
</td><td>
|
|
106
108
|
|
|
107
|
-
- [pointer](#pointer)
|
|
108
109
|
- [refetchResourcesOnNavigate](#refetchresourcesonnavigate)
|
|
109
110
|
- [resizeConstraint](#resizeconstraint)
|
|
111
|
+
- [resourceExpand](#resourceexpand)
|
|
110
112
|
- [resources](#resources)
|
|
111
113
|
- [resourceLabelContent](#resourcelabelcontent)
|
|
112
114
|
- [resourceLabelDidMount](#resourcelabeldidmount)
|
|
@@ -251,8 +253,8 @@ This bundle contains a version of the calendar that includes all plugins and is
|
|
|
251
253
|
|
|
252
254
|
The first step is to include the following lines of code in the `<head>` section of your page:
|
|
253
255
|
```html
|
|
254
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@event-calendar/build@5.
|
|
255
|
-
<script src="https://cdn.jsdelivr.net/npm/@event-calendar/build@5.
|
|
256
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@event-calendar/build@5.4.1/dist/event-calendar.min.css">
|
|
257
|
+
<script src="https://cdn.jsdelivr.net/npm/@event-calendar/build@5.4.1/dist/event-calendar.min.js"></script>
|
|
256
258
|
```
|
|
257
259
|
|
|
258
260
|
<details>
|
|
@@ -347,7 +349,7 @@ When hidden with `false`, all-day events will not be displayed in `timeGrid`/`re
|
|
|
347
349
|
<details>
|
|
348
350
|
<summary>Default</summary>
|
|
349
351
|
|
|
350
|
-
`{close: 'Close', dayGridDay: 'day', dayGridMonth: 'month', dayGridWeek: 'week', listDay: 'list', listMonth: 'list', listWeek: 'list', listYear: 'list', resourceTimeGridDay: 'resources', resourceTimeGridWeek: 'resources', resourceTimelineDay: 'timeline', resourceTimelineMonth: 'timeline', resourceTimelineWeek: 'timeline', timeGridDay: 'day', timeGridWeek: 'week', today: 'today'}`
|
|
352
|
+
`{collapse: 'Collapse', close: 'Close', dayGridDay: 'day', dayGridMonth: 'month', dayGridWeek: 'week', expand: 'Expand', listDay: 'list', listMonth: 'list', listWeek: 'list', listYear: 'list', resourceTimeGridDay: 'resources', resourceTimeGridWeek: 'resources', resourceTimelineDay: 'timeline', resourceTimelineMonth: 'timeline', resourceTimelineWeek: 'timeline', timeGridDay: 'day', timeGridWeek: 'week', today: 'today'}`
|
|
351
353
|
> Views override the default value as follows:
|
|
352
354
|
> - dayGridDay `text => ({...text, next: 'Next day', prev: 'Previous day'})`
|
|
353
355
|
> - dayGridMonth `text => ({...text, next: 'Next month', prev: 'Previous month'})`
|
|
@@ -1829,6 +1831,31 @@ Array of dates that need to be highlighted in the calendar.
|
|
|
1829
1831
|
|
|
1830
1832
|
Each date can be either an ISO8601 date string like `'2026-12-31'`, or a JavaScript Date object.
|
|
1831
1833
|
|
|
1834
|
+
### icons
|
|
1835
|
+
- Type `object`
|
|
1836
|
+
- Default `{collapse: {html: '−'}, expand: {html: '+'}}`
|
|
1837
|
+
|
|
1838
|
+
Defines icons used in some buttons, such as those for expanding nested resources in `resourceTimeline` views.
|
|
1839
|
+
|
|
1840
|
+
Each icon is specified as a [Content](#content) value.
|
|
1841
|
+
|
|
1842
|
+
This option can be either a plain object with all necessary properties, or a callback function that receives default icons object and should return a new one:
|
|
1843
|
+
|
|
1844
|
+
```js
|
|
1845
|
+
function (icons) {
|
|
1846
|
+
// return new icons object
|
|
1847
|
+
}
|
|
1848
|
+
```
|
|
1849
|
+
<table>
|
|
1850
|
+
<tr>
|
|
1851
|
+
<td>
|
|
1852
|
+
|
|
1853
|
+
`icons`
|
|
1854
|
+
</td>
|
|
1855
|
+
<td>An object with default icons</td>
|
|
1856
|
+
</tr>
|
|
1857
|
+
</table>
|
|
1858
|
+
|
|
1832
1859
|
### lazyFetching
|
|
1833
1860
|
- Type `boolean`
|
|
1834
1861
|
- Default `true`
|
|
@@ -2029,6 +2056,47 @@ Callback function that limits the date/time range within which the event is allo
|
|
|
2029
2056
|
|
|
2030
2057
|
The function is triggered during resizing for each cursor movement and takes the same parameters as [eventResize](#eventresize). The function should return `true` if the new size is allowed, and `false` otherwise.
|
|
2031
2058
|
|
|
2059
|
+
### resourceExpand
|
|
2060
|
+
- Type `function`
|
|
2061
|
+
- Default `undefined`
|
|
2062
|
+
|
|
2063
|
+
Callback function that is triggered when a resource with nested children is expanded or collapsed in `resourceTimeline` views.
|
|
2064
|
+
|
|
2065
|
+
|
|
2066
|
+
```js
|
|
2067
|
+
function (info) { }
|
|
2068
|
+
```
|
|
2069
|
+
`info` is an object with the following properties:
|
|
2070
|
+
<table>
|
|
2071
|
+
<tr>
|
|
2072
|
+
<td>
|
|
2073
|
+
|
|
2074
|
+
`resource`
|
|
2075
|
+
</td>
|
|
2076
|
+
<td>
|
|
2077
|
+
|
|
2078
|
+
The associated [Resource](#resource-object) object
|
|
2079
|
+
</td>
|
|
2080
|
+
</tr>
|
|
2081
|
+
<tr>
|
|
2082
|
+
<td>
|
|
2083
|
+
|
|
2084
|
+
`jsEvent`
|
|
2085
|
+
</td>
|
|
2086
|
+
<td>JavaScript native event object with low-level information such as click coordinates</td>
|
|
2087
|
+
</tr>
|
|
2088
|
+
<tr>
|
|
2089
|
+
<td>
|
|
2090
|
+
|
|
2091
|
+
`view`
|
|
2092
|
+
</td>
|
|
2093
|
+
<td>
|
|
2094
|
+
|
|
2095
|
+
The current [View](#view-object) object
|
|
2096
|
+
</td>
|
|
2097
|
+
</tr>
|
|
2098
|
+
</table>
|
|
2099
|
+
|
|
2032
2100
|
### resources
|
|
2033
2101
|
- Type `array`, `object` or `function`
|
|
2034
2102
|
- Default `[]`
|
|
@@ -3263,6 +3331,16 @@ The title of the resource. See [Content](#content)
|
|
|
3263
3331
|
<tr>
|
|
3264
3332
|
<td>
|
|
3265
3333
|
|
|
3334
|
+
`expanded`
|
|
3335
|
+
</td>
|
|
3336
|
+
<td>
|
|
3337
|
+
|
|
3338
|
+
A flag indicating whether the resource is expanded or collapsed if it has nested children
|
|
3339
|
+
</td>
|
|
3340
|
+
</tr>
|
|
3341
|
+
<tr>
|
|
3342
|
+
<td>
|
|
3343
|
+
|
|
3266
3344
|
`extendedProps`
|
|
3267
3345
|
</td>
|
|
3268
3346
|
<td>
|
|
@@ -3320,6 +3398,16 @@ Here are all admissible fields for the resource’s input object:
|
|
|
3320
3398
|
<tr>
|
|
3321
3399
|
<td>
|
|
3322
3400
|
|
|
3401
|
+
`expanded`
|
|
3402
|
+
</td>
|
|
3403
|
+
<td>
|
|
3404
|
+
|
|
3405
|
+
`boolean` Specifies whether the resource with nested children will be expanded or collapsed. Default `true`
|
|
3406
|
+
</td>
|
|
3407
|
+
</tr>
|
|
3408
|
+
<tr>
|
|
3409
|
+
<td>
|
|
3410
|
+
|
|
3323
3411
|
`extendedProps`
|
|
3324
3412
|
</td>
|
|
3325
3413
|
<td>
|
|
@@ -3336,7 +3424,7 @@ Here are all admissible fields for the resource’s input object:
|
|
|
3336
3424
|
</tr>
|
|
3337
3425
|
</table>
|
|
3338
3426
|
|
|
3339
|
-
The `
|
|
3427
|
+
The `resourceTimeline` views support displaying nested resources. Nested resources can be collapsed or expanded using an additional button that appears before the parent resource name. To pass nested resources, use the `children` field:
|
|
3340
3428
|
|
|
3341
3429
|
```js
|
|
3342
3430
|
resources: [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* EventCalendar v5.
|
|
2
|
+
* EventCalendar v5.4.1
|
|
3
3
|
* https://github.com/vkurko/calendar
|
|
4
4
|
*/
|
|
5
5
|
.ec{color-scheme:light;--ec-color-400: oklch(70.8% 0 0);--ec-color-300: oklch(87% 0 0);--ec-color-200: oklch(92.2% 0 0);--ec-color-100: oklch(97% 0 0);--ec-color-50: oklch(98.5% 0 0);--ec-bg-color: #fff;--ec-text-color: currentcolor;--ec-border-color: var(--ec-color-300);--ec-button-bg-color: var(--ec-bg-color);--ec-button-border-color: var(--ec-border-color);--ec-button-text-color: var(--ec-text-color);--ec-button-active-bg-color: var(--ec-color-200);--ec-button-active-border-color: var(--ec-color-400);--ec-button-active-text-color: var(--ec-button-text-color);--ec-today-bg-color: oklch(98.7% .026 102.212);--ec-highlight-color: oklch(98.4% .019 200.873);--ec-event-bg-color: oklch(70.7% .165 254.624);--ec-event-text-color: #fff;--ec-bg-event-color: var(--ec-color-300);--ec-bg-event-opacity: .3;--ec-event-col-gap: .375rem;--ec-now-indicator-color: oklch(63.7% .237 25.331);--ec-popup-bg-color: var(--ec-bg-color)}.ec-dark .ec{color-scheme:dark;--ec-color-400: oklch(43.9% 0 0);--ec-color-300: oklch(37.1% 0 0);--ec-color-200: oklch(26.9% 0 0);--ec-color-100: oklch(20.5% 0 0);--ec-color-50: oklch(14.5% 0 0);--ec-bg-color: var(--ec-color-100);--ec-today-bg-color: oklch(28.6% .066 53.813);--ec-highlight-color: oklch(30.2% .056 229.695);--ec-bg-event-opacity: .5}@media(prefers-color-scheme:dark){.ec-auto-dark .ec{color-scheme:dark;--ec-color-400: oklch(43.9% 0 0);--ec-color-300: oklch(37.1% 0 0);--ec-color-200: oklch(26.9% 0 0);--ec-color-100: oklch(20.5% 0 0);--ec-color-50: oklch(14.5% 0 0);--ec-bg-color: var(--ec-color-100);--ec-today-bg-color: oklch(28.6% .066 53.813);--ec-highlight-color: oklch(30.2% .056 229.695);--ec-bg-event-opacity: .5}}.ec-day{--ec-day-bg-color: var(--ec-bg-color);background-color:var(--ec-day-bg-color);border:1px solid var(--ec-border-color);border-block-start:none;border-inline-start:none}.ec-day.ec-today{--ec-day-bg-color: var(--ec-today-bg-color)}.ec-day.ec-highlight{--ec-day-bg-color: var(--ec-highlight-color)}.ec-time-grid .ec-body .ec-day{background-image:linear-gradient(to top,var(--ec-day-bg-color) 1px,transparent 1px),linear-gradient(to top,var(--ec-border-color) 1px,transparent 1px),linear-gradient(to right,var(--ec-day-bg-color) 1px,transparent 1px),linear-gradient(to top,var(--ec-border-color) 1px,transparent 1px);background-size:100% 100%,100% calc(var(--ec-slot-height) * var(--ec-slot-label-periodicity)),2px 100%,100% var(--ec-slot-height)}.ec-timeline:not(.ec-month-view) .ec-body .ec-day{--ec-last-line-color: transparent;--ec-direction: to left;background-image:linear-gradient(var(--ec-direction),var(--ec-last-line-color) 1px,transparent 1px),linear-gradient(var(--ec-direction),var(--ec-border-color) 1px,transparent 1px),linear-gradient(var(--ec-day-bg-color) 1px,transparent 1px),linear-gradient(var(--ec-direction),var(--ec-border-color) 1px,transparent 1px);background-size:100% 100%,calc(var(--ec-slot-width) * var(--ec-slot-label-periodicity)) 100%,100% 2px,var(--ec-slot-width) 100%;border-inline:none}[dir=rtl] :is(.ec-timeline:not(.ec-month-view) .ec-body .ec-day){--ec-direction: to right}.ec-timeline:not(.ec-month-view) .ec-body .ec-day.ec-no-ieb{--ec-last-line-color: var(--ec-day-bg-color)}.ec-day-grid .ec-day{display:flex;flex-direction:column;justify-content:space-between;min-block-size:5em}.ec-day-grid .ec-uniform .ec-day{min-block-size:auto}.ec-list .ec-day{border-inline:none}.ec-list .ec-day:last-child{border:none}.ec-day.ec-no-ieb{border-inline-end:none}.ec-day.ec-no-beb{border-block-end:none}.ec-day-head{display:flex;flex-direction:row-reverse;justify-content:space-between}.ec-day-grid.ec-month-view .ec-day-head{padding:.375rem}.ec-day.ec-other-month .ec-day-head time{opacity:.3}.ec-list .ec-day-head{background-color:var(--ec-day-bg-color);border-block-end:1px solid var(--ec-border-color);flex-direction:unset;margin:0 0 -1px;padding:.5em 1.5em;position:sticky;inset-block-start:0;z-index:2}.ec-day-foot{padding:.18rem;font-size:.85em}.ec-day-foot a{cursor:pointer}.ec-disabled{position:relative}.ec-disabled:after{content:"";position:absolute;inset:0;background-color:var(--ec-bg-event-color);opacity:var(--ec-bg-event-opacity)}.ec-toolbar{display:flex;justify-content:space-between;align-items:center;margin-block-end:1em}.ec-toolbar>*{display:inline-flex;flex-wrap:wrap;column-gap:.75rem;row-gap:.5rem}.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;vertical-align:top}.ec-button-group .ec-button:not(:first-child){border-start-start-radius:0;border-end-start-radius:0;margin-inline-start:-1px}.ec-button-group .ec-button:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.ec-icon{display:inline-block;inline-size:1em}.ec-icon.ec-prev:after,.ec-icon.ec-next:after{content:"";position:relative;inline-size:.5em;block-size:.5em;border-block-start:2px solid currentcolor;border-inline-end:2px solid currentcolor;display:inline-block}.ec-icon.ec-prev:after{inset-inline-start:3px;rotate:-135deg}[dir=rtl] .ec-icon.ec-prev:after{rotate:135deg}.ec-icon.ec-next:after{inset-inline-start:-3px;rotate:45deg}[dir=rtl] .ec-icon.ec-next:after{rotate:-45deg}.ec-sidebar{position:sticky;inset-inline-start:0;z-index:1;background-color:var(--ec-bg-color);border-inline-end:1px solid var(--ec-border-color);text-align:end;overflow:clip}.ec-header .ec-sidebar{border-block-end:1px solid var(--ec-border-color);padding-block:.375rem}.ec-time-grid .ec-sidebar{padding-inline:.75rem}.ec-time-grid .ec-body .ec-sidebar{--ec-direction: to left;background-image:linear-gradient(var(--ec-direction),transparent .375rem,var(--ec-bg-color) .375rem),linear-gradient(to top,var(--ec-bg-color) 1px,transparent 1px),linear-gradient(to top,var(--ec-border-color) 1px,transparent 1px),linear-gradient(to right,var(--ec-bg-color) 1px,transparent 1px),linear-gradient(to top,var(--ec-border-color) 1px,transparent 1px);background-size:100% 100%,100% 100%,100% calc(var(--ec-slot-height) * var(--ec-slot-label-periodicity)),2px 100%,100% var(--ec-slot-height)}[dir=rtl] :is(.ec-time-grid .ec-body .ec-sidebar){--ec-direction: to right}.ec-timeline .ec-body .ec-sidebar{grid-area:1 / 1 / -1 / 2;display:grid;grid-template-rows:subgrid}.ec-row-head{display:flex;border-block-end:1px solid var(--ec-border-color);padding:.375em .75rem;min-block-size:1.5em}.ec-row-head:last-child{border:none}.ec-expander{inline-size:1.25em;margin-inline-end:.25em;margin-block-start:-1px}.ec-expander .ec-button{line-height:normal;padding:0;aspect-ratio:1;block-size:1.25em}.ec-slot{white-space:nowrap}.ec-time-grid .ec-slot{block-size:calc(var(--ec-slot-height) * var(--ec-slot-label-periodicity));position:relative;inset-block-start:-.5lh}.ec-timeline .ec-slot{grid-column:span var(--ec-slot-label-periodicity);font-size:.95em;padding:.18rem 0;overflow:clip;text-overflow:ellipsis}.ec-slots{display:grid;grid-auto-flow:column;grid-auto-columns:var(--ec-slot-width);text-align:center;--ec-day-bg-color: var(--ec-bg-color);background-color:var(--ec-day-bg-color);border-block-end:1px solid var(--ec-border-color);--ec-last-line-color: transparent;--ec-direction: to left;background-image:linear-gradient(var(--ec-direction),var(--ec-last-line-color) 1px,transparent 1px),linear-gradient(var(--ec-direction),var(--ec-border-color) 1px,transparent 1px);background-size:100% 100%,calc(var(--ec-slot-width) * var(--ec-slot-label-periodicity)) 100%}.ec-slots.ec-today{--ec-day-bg-color: var(--ec-today-bg-color)}.ec-slots.ec-highlight{--ec-day-bg-color: var(--ec-highlight-color)}[dir=rtl] .ec-slots{--ec-direction: to right}.ec-slots:last-child{--ec-last-line-color: var(--ec-day-bg-color)}.ec-events{grid-area:1 / 2 / -1 / -1;display:grid;grid-template:subgrid / subgrid;isolation:isolate;pointer-events:none}.ec-day-grid .ec-events{grid-column-start:1}.ec-event{display:flex;position:relative;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;pointer-events:all;inline-size:calc(100% - var(--ec-event-col-gap))}.ec-time-grid .ec-event{grid-row:1}.ec-day-grid .ec-event,.ec-all-day .ec-event,.ec-timeline .ec-event{block-size:max-content;margin-block-end:var(--ec-event-col-gap)}.ec-list .ec-event{flex-direction:row;padding:.5em 1.5em;color:inherit;background-color:var(--ec-day-bg-color);border-radius:0}.ec-event.ec-preview{z-index:1000;-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;z-index:0;box-shadow:none}.ec-bg-event{grid-row:1;position:relative;background-color:var(--ec-bg-event-color);opacity:var(--ec-bg-event-opacity)}.ec-draggable{cursor:pointer;-webkit-user-select:none;user-select:none}.ec-ghost{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none}.ec-event-body{display:flex;flex-direction:column;inline-size:100%}.ec-day-grid .ec-event-body,.ec-all-day .ec-event-body,.ec-timeline .ec-event-body{flex-direction:row}.ec-event-tag{inline-size:4px;border-radius:2px;margin-inline-end:8px}.ec-event-time{overflow:hidden;white-space:nowrap;margin:0 0 1px;flex-shrink:0;max-block-size:100%}.ec-day-grid .ec-event-time,.ec-timeline .ec-event-time{margin:0 3px 0 0;max-inline-size:100%;text-overflow:ellipsis}.ec-event-title{overflow:hidden;margin:0;font-weight:inherit}.ec-time-grid .ec-event-title{position:sticky;inset-block-start:var(--ec-header-height)}.ec-day-grid .ec-event-title,.ec-all-day .ec-event-title,.ec-timeline .ec-event-title{min-block-size:1.5em;white-space:nowrap;text-overflow:ellipsis;position:sticky;inset-inline-start:calc(var(--ec-sidebar-width) + .18em)}.ec-list .ec-event-title{font-size:1rem}.ec-resizer{position:absolute;-webkit-user-select:none;user-select:none}.ec-time-grid .ec-body .ec-resizer{inset:auto 0 0;block-size:50%;max-block-size:8px;cursor:ns-resize}.ec-time-grid .ec-body .ec-resizer.ec-start{inset:0 0 auto}.ec-day-grid .ec-resizer,.ec-all-day .ec-resizer,.ec-timeline .ec-resizer{inset:0 0 0 auto;inline-size:50%;max-inline-size:8px;cursor:ew-resize}:is(.ec-day-grid .ec-resizer,.ec-all-day .ec-resizer,.ec-timeline .ec-resizer).ec-start{inset:0 auto 0 0}.ec-dragging,.ec-dragging *{cursor:pointer!important}.ec-resizing-y,.ec-resizing-y *{cursor:ns-resize!important}.ec-resizing-x,.ec-resizing-x *{cursor:ew-resize!important}.ec-no-events{text-align:center;padding:5em 0;background-color:var(--ec-bg-color)}.ec-now-indicator{grid-row:2;position:relative;pointer-events:none;will-change:inset}.ec-time-grid .ec-now-indicator{inline-size:100%;block-size:0;border-block-start:var(--ec-now-indicator-color) solid 2px}.ec-timeline .ec-now-indicator{inline-size:0;border-inline-start:var(--ec-now-indicator-color) solid 2px}.ec-timeline .ec-now-indicator:before{inset-block-start:calc(var(--ec-header-height) - 6.5px);z-index:2}.ec-now-indicator:before{background:var(--ec-now-indicator-color);border-radius:50%;content:"";display:block;block-size:12px;inline-size:12px;margin-block-start:-7px;margin-inline-start:-7px;position:sticky;inset-inline-start:calc(var(--ec-sidebar-width) - 6.5px);z-index:1}.ec-popup{position:relative;display:flex;flex-direction:column;box-sizing:border-box;block-size:max-content;inline-size:125%;min-block-size:8em;min-inline-size:12em;padding:.375rem .75rem .75rem;background-color:var(--ec-popup-bg-color);border:1px solid var(--ec-border-color);border-radius:.25rem;box-shadow:var(--ec-color-300) 0 10px 15px -3px,var(--ec-color-300) 0 4px 6px -4px}.ec-popup .ec-day-head{flex-direction:row;padding-inline:0}.ec-popup .ec-day-head a{cursor:pointer;font-size:1.5em;line-height:.8}.ec-popup .ec-events{--ec-event-col-gap: 0;display:block;overflow-y:auto;pointer-events:auto}.ec-custom-scrollbars .ec-main::-webkit-scrollbar{background-color:transparent}.ec-custom-scrollbars .ec-main::-webkit-scrollbar-thumb{border:4px solid transparent;box-shadow:none;background-color:var(--ec-border-color);background-clip:padding-box;border-radius:8px}.ec-custom-scrollbars .ec-main::-webkit-scrollbar-thumb:hover{background-color:var(--ec-color-400)}.ec{display:flex;flex-direction:column}.ec-main{display:grid;border:1px solid var(--ec-border-color);overflow:auto}.ec-time-grid .ec-main{grid-template-columns:max-content repeat(var(--ec-grid-cols),var(--ec-col-width));grid-template-rows:repeat(2,max-content)}.ec-day-grid .ec-main{--ec-row-height: auto;grid-template-columns:repeat(var(--ec-grid-cols),minmax(0,1fr));grid-template-rows:max-content repeat(var(--ec-grid-rows),var(--ec-row-height))}.ec-day-grid .ec-main.ec-uniform{--ec-row-height: minmax(0, 1fr);overflow:hidden;flex-grow:1}.ec-timeline .ec-main{grid-template-columns:max-content repeat(var(--ec-grid-cols),min-content);grid-template-rows:max-content var(--ec-grid-rows);flex-grow:1}.ec-timeline.ec-month-view .ec-main{grid-template-columns:max-content repeat(var(--ec-grid-cols),var(--ec-col-width))}.ec-header{grid-area:1 / 1 / 2 / -1;display:grid;grid-template-columns:subgrid;position:sticky;inset-block-start:0;z-index:2}.ec-grid{grid-area:1 / 1 / -1 / -1;display:grid;grid-template-columns:subgrid}.ec-body .ec-grid{grid-template-rows:subgrid}.ec-time-grid .ec-grid,.ec-timeline .ec-grid{grid-column-start:2}.ec-all-day{grid-area:2 / 1 / auto / -1;display:grid;grid-template-columns:subgrid;min-block-size:var(--ec-slot-height)}.ec-col-group{grid-column:span var(--ec-col-group-span)}.ec-col-group,.ec-col-head{text-align:center;padding:.375rem .18em;background-color:var(--ec-bg-color);border:1px solid var(--ec-border-color);border-block-start:none;border-inline-start:none;overflow:clip;text-overflow:ellipsis}:is(.ec-col-group,.ec-col-head).ec-today{background-color:var(--ec-today-bg-color)}:is(.ec-col-group,.ec-col-head).ec-highlight{background-color:var(--ec-highlight-color)}.ec-col-group:nth-last-child(1 of.ec-col-group),.ec-col-head:nth-last-child(1 of.ec-col-head){border-inline-end:none}.ec-col-group>*,.ec-timeline .ec-col-head>*{position:sticky;inset-inline-start:calc(var(--ec-sidebar-width) + .18em)}.ec-body{grid-area:2 / 1 / -1 / -1;display:grid;grid-template:subgrid / subgrid}.ec-hidden{visibility:hidden}
|