2 Appearance factorization
5 .calendar-dayeventcell,
17 .calendar-dayeventcell-inner,
19 border: solid var(--color-alt);
20 border-block-start-width: 1px;
21 border-block-end-width: 1px;
22 border-inline-start-width: 5px;
23 border-inline-end-width: 1px;
25 padding-inline: em(3);
26 border-radius: var(--border-radius-sm);
27 background-color: var(--color-main);
28 color: var(--foreground);
30 opacity: var(--opacity);
33 opacity 0.5s ease-out,
34 background-color 0.15s ease-in-out;
35 animation: loadingEvent 1s easing(ease-in-quint) infinite alternate;
38 transition: opacity 0.1s ease-out;
54 border-color: var(--color-alt);
55 background-color: var(--background-norm);
57 text-decoration: line-through;
61 border-color: var(--color-alpha);
62 border-inline-start-color: var(--color-alt);
63 background-color: var(--background-norm);
64 background-image: linear-gradient(
67 var(--color-alpha) 42%,
68 var(--color-alpha) 48%,
71 var(--color-alpha) 92%,
72 var(--color-alpha) 100%
74 background-size: 5.18px 19.32px;
79 border-color: rgb(0 0 0 / 0.1);
80 border-inline-start-color: var(--color-alt);
81 background: var(--background-strong);
84 &:not(.isSelected) > * {
91 border-color: rgb(0 0 0 / 0.4);
92 box-shadow: var(--shadow-norm);
98 border-inline-start-color: var(--color-alt);
103 @keyframes loadingEvent {
105 opacity: var(--opacity);
109 opacity: calc(var(--opacity) - 0.4);
117 .calendar-dayeventcell {
118 padding-inline-end: $calendar-gridcell-margin;
119 padding-block-start: $calendar-gridcell-gutter;
124 min-block-size: 100%;
126 padding-inline: 0.5em;
132 &:not(.isUnanswered) {
139 background-color: var(--interaction-default-hover);
143 background-color: var(--interaction-default-active);
148 &.isOutsideStart &-inner {
149 padding-inline-start: 0;
153 &.isOutsideEnd &-inner {
154 padding-inline-end: 0;
158 color: var(--background-strong);
161 &-inner.isLoaded &-circle {
162 color: var(--color-main);
166 transform: translateY(-0.125em); // Magic number to visually align it -_-v
170 margin-inline-end: 0.25em;
174 font-weight: var(--font-weight-semibold);
182 .calendar-eventcell {
187 /* stylelint-disable-next-line */
188 display: -webkit-box;
189 /* stylelint-disable-next-line */
190 -webkit-box-orient: vertical;
192 -webkit-line-clamp: max(calc(var(--line-number) - 1), 1);
193 font-weight: var(--font-weight-semibold);
194 word-break: break-word;
197 // in this case, we remove 2 lines ellipsis for a simple ellipsis
198 // because it's creating bad truncation of content in some cases
199 &--title-small-fit &-title {
201 /* stylelint-disable-next-line */
202 -webkit-box-orient: unset;
203 /* stylelint-disable-next-line */
204 -webkit-line-clamp: unset;
205 text-overflow: ellipsis;
209 @include media('<=small') {
217 * Adaptations for small sizes, meaning below 30 minutes events
219 $line-height: calc(var(--line-height) * 1px - 2px); // 2px for borders
221 &:is(#{&}--sm, #{&}--xs, #{&}--2xs) {
223 line-height: $line-height;
226 &:is(#{&}--sm, #{&}--xs, #{&}--2xs) &-lock-icon {
227 inline-size: min(#{$line-height}, #{rem(16)});
228 block-size: min(#{$line-height}, #{rem(16)});
232 padding-block-start: 0;
237 padding-block-start: 0;
242 padding-block-start: 0;
243 font-size: rem(9.6); // design value