@event-calendar/core
Version:
Full-sized drag & drop event calendar with resource & timeline views
129 lines (106 loc) • 2.78 kB
CSS
@import "./theme.css";
@import "./days.css";
@import "./toolbar.css";
@import "./sidebar.css";
@import "./slots.css";
@import "./events.css";
@import "./now-indicator.css";
@import "./popup.css";
@import "./scrollbars.css";
.ec {
display: flex;
flex-direction: column;
}
.ec-main {
display: grid;
border: 1px solid var(--ec-border-color);
overflow: auto;
/*scrollbar-width: thin;*/
.ec-time-grid & {
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-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-uniform {
--ec-row-height: minmax(0, 1fr);
overflow: hidden;
flex-grow: 1;
}
}
.ec-timeline & {
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 & {
grid-template-columns: max-content repeat(var(--ec-grid-cols), var(--ec-col-width));
}
.ec-list & {
}
}
.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 & {
grid-template-rows: subgrid;
}
.ec-time-grid &,
.ec-timeline & {
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;
&.ec-today {
background-color: var(--ec-today-bg-color);
}
&.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;
}