style: Use CSS variables for event widget styling

This vastly simplifies the code!
This commit is contained in:
Georges Basile Stavracas Neto
2024-06-11 17:22:35 -03:00
parent 00919f6305
commit de5f663373
5 changed files with 223 additions and 300 deletions
+219
View File
@@ -0,0 +1,219 @@
event {
margin: 1px;
font-size: 0.9rem;
background-color: var(--event-bg-color);
}
event.timed {
background-color: color-mix(in srgb, var(--event-bg-color) 17%, transparent);
}
event widget.content {
margin: 4px;
}
event.timed widget.edge {
background-color: var(--event-bg-color);
}
event.timed,
event:not(.slanted):not(.slanted-start):not(.slanted-end) {
border-radius: 2.5px;
}
event.timed widget.edge {
border-radius: 2.5px;
min-width: 5px;
}
event.slanted,
event.slanted-start,
event.slanted-end:dir(rtl) {
padding-left: 16px;
border-radius: 0 2.5px 2.5px 0;
}
event.slanted,
event.slanted-end,
event.slanted-start:dir(rtl) {
padding-right: 16px;
border-radius: 2.5px 0 0 2.5px;
}
event:not(.timed).color-dark {
/* Keep in symc with the dark style's event.timed colors */
color: @light_1;
outline-color: rgba(0, 0, 0, 0.3);
}
event.timed,
event:not(.timed).color-light {
color: alpha(@dark_5, 0.8);
outline-color: rgba(255, 255, 255, 0.5);
}
event.slanted {
background-color: transparent;
background-image: linear-gradient(100deg, /* left edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px),
linear-gradient(280deg, /* right edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px);
background-size: 50% 100%, 50% 100%, 50% 100%, 50% 100%;
background-position: left bottom, right bottom, left bottom, right bottom;
background-repeat: no-repeat;
background-origin: padding-box, padding-box, border-box, border-box;
background-clip: padding-box, padding-box, border-box, border-box;
}
event.slanted:backdrop {
background-image: linear-gradient(100deg, /* left edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px),
linear-gradient(280deg, /* right edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px);
}
event.slanted:dir(rtl) {
background-image: linear-gradient(80deg, /* left edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px),
linear-gradient(260deg, /* right edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px);
}
event.slanted:dir(rtl):backdrop {
background-image: linear-gradient(80deg, /* left edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px),
linear-gradient(260deg, /* right edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px);
}
event.slanted-start {
background-color: transparent;
background-image: linear-gradient(100deg, /* left edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px);
background-position: left bottom, left bottom;
background-size: 100% 100%, 100% 100%;
background-origin: padding-box, border-box;
background-clip: padding-box, border-box;
}
event.slanted-start:backdrop {
background-image: linear-gradient(100deg, /* left edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px);
}
event.slanted-start:dir(rtl) {
background-image: linear-gradient(260deg, /* right edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px);
background-position: right bottom, right bottom;
}
event.slanted-start:dir(rtl):backdrop {
background-image: linear-gradient(260deg, /* right edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px);
}
event.slanted-end {
background-color: transparent;
background-image: linear-gradient(280deg, /* right edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px);
background-position: right bottom, right bottom;
background-size: 100% 100%, 100% 100%;
background-origin: padding-box, border-box;
background-clip: padding-box, border-box;
}
event.slanted-end:backdrop {
background-image: linear-gradient(280deg, /* right edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px);
}
event.slanted-end:dir(rtl) {
background-image: linear-gradient(80deg, /* left edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px);
background-position: left bottom, left bottom;
}
event.slanted-end:dir(rtl):backdrop {
background-image: linear-gradient(80deg, /* left edge */
transparent 5px,
var(--event-bg-color) 6px,
var(--event-bg-color) 9px,
transparent 10px,
transparent 16px,
var(--event-bg-color) 17px);
}
+2 -50
View File
@@ -1,3 +1,5 @@
@import 'events.css';
@define-color month_separator_color mix(@borders, @dark_5, 0.09);
@define-color month_today_color alpha(@accent_bg_color, 0.15);
@define-color month_today_hover_color alpha(@accent_bg_color, 0.25);
@@ -71,56 +73,6 @@ popover.events button {
}
/*
* Event widget
*/
event {
margin: 1px;
font-size: 0.9rem;
}
event widget.content {
margin: 4px;
}
event.timed,
event:not(.slanted):not(.slanted-start):not(.slanted-end) {
border-radius: 2.5px;
}
event.timed widget.edge {
border-radius: 2.5px;
min-width: 5px;
}
event.slanted,
event.slanted-start,
event.slanted-end:dir(rtl) {
padding-left: 16px;
border-radius: 0 2.5px 2.5px 0;
}
event.slanted,
event.slanted-end,
event.slanted-start:dir(rtl) {
padding-right: 16px;
border-radius: 2.5px 0 0 2.5px;
}
event:not(.timed).color-dark {
/* Keep in symc with the dark style's event.timed colors */
color: @light_1;
outline-color: rgba(0, 0, 0, 0.3);
}
event.timed,
event:not(.timed).color-light {
color: alpha(@dark_5, 0.8);
outline-color: rgba(255, 255, 255, 0.5);
}
/* Event Popover */
popover.event-popover,
popover.event-popover > contents {
+1
View File
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gnome/calendar">
<file>events.css</file>
<file>style.css</file>
<file>style-dark.css</file>
<file>style-hc.css</file>