Put date instead of current desktop on dashboard Date is more useful imo (especially for vertical bar)
1110 lines
28 KiB
SCSS
1110 lines
28 KiB
SCSS
@use "sass:color";
|
|
@use "sass:list";
|
|
@use "scheme";
|
|
@use "lib";
|
|
@use "font";
|
|
|
|
@mixin notification($accent) {
|
|
.separator {
|
|
background-color: $accent;
|
|
}
|
|
|
|
.image {
|
|
@include lib.border($accent, 0.05);
|
|
}
|
|
}
|
|
|
|
@mixin button {
|
|
@include lib.element-decel;
|
|
|
|
background-color: color.change(scheme.$surface1, $alpha: 0.5);
|
|
|
|
&:hover,
|
|
&:focus {
|
|
background-color: color.change(scheme.$surface2, $alpha: 0.5);
|
|
}
|
|
|
|
&:active {
|
|
background-color: color.change(scheme.$overlay0, $alpha: 0.5);
|
|
}
|
|
|
|
&:disabled {
|
|
color: scheme.$subtext0;
|
|
}
|
|
}
|
|
|
|
@mixin button-active {
|
|
@include lib.element-decel;
|
|
|
|
background-color: color.change(color.mix(scheme.$surface1, scheme.$primary, 50%), $alpha: 0.5);
|
|
|
|
&:hover,
|
|
&:focus {
|
|
background-color: color.change(color.mix(scheme.$surface1, scheme.$primary, 30%), $alpha: 0.5);
|
|
}
|
|
|
|
&:active {
|
|
background-color: color.change(color.mix(scheme.$surface1, scheme.$primary, 20%), $alpha: 0.5);
|
|
}
|
|
}
|
|
|
|
@mixin media-button {
|
|
@include lib.element-decel;
|
|
|
|
&:disabled {
|
|
color: color.change(scheme.$overlay2, $alpha: 1);
|
|
}
|
|
|
|
&:hover,
|
|
&:focus {
|
|
color: color.mix(scheme.$subtext1, scheme.$subtext0, 50%);
|
|
}
|
|
|
|
&:active {
|
|
color: scheme.$subtext0;
|
|
}
|
|
}
|
|
|
|
.sidebar {
|
|
@include font.mono;
|
|
|
|
background-color: scheme.$mantle;
|
|
color: scheme.$text;
|
|
padding: lib.s(18) lib.s(20);
|
|
min-width: lib.s(380);
|
|
|
|
.pane {
|
|
@include lib.spacing(20, true);
|
|
}
|
|
|
|
.separator {
|
|
background-color: if(scheme.$light, scheme.$surface1, scheme.$overlay0);
|
|
margin: 0 lib.s(10);
|
|
}
|
|
|
|
.header-bar {
|
|
margin-bottom: lib.s(10);
|
|
|
|
@include lib.spacing;
|
|
|
|
& > :not(button) {
|
|
font-weight: bold;
|
|
font-size: lib.s(16);
|
|
}
|
|
|
|
& > button {
|
|
@include lib.element-decel;
|
|
@include lib.rounded(10);
|
|
|
|
padding: lib.s(3) lib.s(8);
|
|
|
|
&:disabled {
|
|
color: color.change(scheme.$overlay0, $alpha: 1);
|
|
}
|
|
|
|
&:hover,
|
|
&:focus {
|
|
color: scheme.$subtext0;
|
|
}
|
|
|
|
&:active {
|
|
color: color.change(scheme.$overlay2, $alpha: 1);
|
|
}
|
|
|
|
&.enabled {
|
|
$-base: color.change(scheme.$base, $alpha: 1);
|
|
|
|
background-color: scheme.$primary;
|
|
color: $-base;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
background-color: color.mix(scheme.$primary, $-base, 80%);
|
|
}
|
|
|
|
&:active {
|
|
background-color: color.mix(scheme.$primary, $-base, 70%);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.empty {
|
|
color: scheme.$subtext0;
|
|
font-size: lib.s(18);
|
|
|
|
.icon {
|
|
font-size: lib.s(48);
|
|
}
|
|
}
|
|
|
|
.user {
|
|
@include lib.spacing(15);
|
|
|
|
.face {
|
|
@include lib.rounded(10);
|
|
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
background-size: cover;
|
|
min-width: lib.s(96);
|
|
min-height: lib.s(96);
|
|
font-size: lib.s(48);
|
|
font-weight: bold;
|
|
background-color: scheme.$base;
|
|
}
|
|
|
|
.details {
|
|
font-size: lib.s(14);
|
|
|
|
@include lib.spacing(8, true);
|
|
|
|
.name {
|
|
font-size: lib.s(18);
|
|
color: scheme.$text;
|
|
margin-bottom: lib.s(10);
|
|
}
|
|
|
|
$-colours: scheme.$yellow, scheme.$blue;
|
|
@for $i from 1 through list.length($-colours) {
|
|
:nth-child(#{$i + 1}) {
|
|
color: list.nth($-colours, $i);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.media {
|
|
@include lib.spacing(15);
|
|
|
|
.cover-art {
|
|
@include lib.rounded(10);
|
|
@include lib.element-decel;
|
|
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
background-size: cover;
|
|
min-width: lib.s(128);
|
|
min-height: lib.s(128);
|
|
font-size: lib.s(64);
|
|
font-weight: bold;
|
|
background-color: scheme.$base;
|
|
color: scheme.$subtext0;
|
|
}
|
|
|
|
.details {
|
|
font-size: lib.s(14);
|
|
|
|
.title {
|
|
font-size: lib.s(16);
|
|
color: scheme.$text;
|
|
}
|
|
|
|
.artist {
|
|
color: scheme.$green;
|
|
}
|
|
|
|
.controls {
|
|
margin-top: lib.s(20);
|
|
margin-bottom: lib.s(5);
|
|
font-size: lib.s(24);
|
|
|
|
& > button {
|
|
@include media-button;
|
|
}
|
|
}
|
|
|
|
.slider {
|
|
@include lib.rounded(5);
|
|
@include lib.fluent-decel(1000ms);
|
|
|
|
min-height: lib.s(8);
|
|
background-color: scheme.$overlay0;
|
|
color: scheme.$subtext1;
|
|
}
|
|
|
|
.time {
|
|
margin-top: lib.s(5);
|
|
font-size: lib.s(13);
|
|
color: scheme.$subtext0;
|
|
}
|
|
}
|
|
}
|
|
|
|
.notification {
|
|
.wrapper {
|
|
padding-bottom: lib.s(10);
|
|
}
|
|
|
|
.inner {
|
|
@include lib.rounded(20);
|
|
|
|
background-color: color.change(scheme.$surface1, $alpha: 0.4);
|
|
|
|
&.low {
|
|
@include notification(if(scheme.$light, scheme.$surface1, scheme.$overlay0));
|
|
|
|
@if not scheme.$borders {
|
|
background-color: color.change(scheme.$surface0, $alpha: 0.4);
|
|
}
|
|
}
|
|
|
|
&.normal {
|
|
@include lib.border(scheme.$primary, if(scheme.$light, 0.5, 0.3));
|
|
@include notification(scheme.$primary);
|
|
}
|
|
|
|
&.critical {
|
|
@include lib.border(scheme.$error, 0.8);
|
|
@include notification(scheme.$error);
|
|
|
|
@if not scheme.$borders {
|
|
background-color: color.change(color.mix(scheme.$surface1, scheme.$error, 80%), $alpha: 0.4);
|
|
}
|
|
}
|
|
}
|
|
|
|
.actions {
|
|
@include lib.spacing;
|
|
|
|
& > button {
|
|
@include button;
|
|
@include lib.rounded(10);
|
|
|
|
padding: lib.s(5) lib.s(10);
|
|
}
|
|
}
|
|
}
|
|
|
|
.upcoming {
|
|
.list {
|
|
min-height: lib.s(300);
|
|
}
|
|
|
|
.day {
|
|
@include lib.spacing($vertical: true);
|
|
|
|
&:not(:first-child) {
|
|
margin-top: lib.s(20);
|
|
}
|
|
|
|
.date {
|
|
margin-left: lib.s(10);
|
|
}
|
|
|
|
.sublabel {
|
|
font-size: lib.s(14);
|
|
color: scheme.$subtext0;
|
|
}
|
|
|
|
.events {
|
|
@include lib.rounded(20);
|
|
|
|
background-color: color.change(scheme.$surface1, $alpha: 0.4);
|
|
padding: lib.s(10) lib.s(15);
|
|
|
|
@include lib.spacing(10, true);
|
|
}
|
|
|
|
.event {
|
|
@include lib.spacing(8);
|
|
}
|
|
|
|
.calendar-indicator {
|
|
@include lib.rounded(5);
|
|
|
|
min-width: lib.s(1);
|
|
|
|
$-colours: scheme.$red, scheme.$sapphire, scheme.$flamingo, scheme.$maroon, scheme.$pink, scheme.$sky,
|
|
scheme.$peach, scheme.$yellow, scheme.$green, scheme.$rosewater, scheme.$mauve, scheme.$teal,
|
|
scheme.$blue;
|
|
@for $i from 1 through list.length($-colours) {
|
|
&.calendar-#{$i} {
|
|
background-color: list.nth($-colours, $i);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.players {
|
|
.player {
|
|
@include lib.spacing(40, true);
|
|
|
|
.cover-art {
|
|
@include lib.rounded(10);
|
|
@include lib.element-decel;
|
|
@include lib.shadow(scheme.$mantle, $blur: 5, $spread: 2);
|
|
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
background-size: cover;
|
|
min-width: lib.s(256);
|
|
min-height: lib.s(256);
|
|
font-size: lib.s(96);
|
|
font-weight: bold;
|
|
background-color: scheme.$base;
|
|
color: scheme.$subtext0;
|
|
margin-top: lib.s(20);
|
|
}
|
|
|
|
.progress {
|
|
margin: 0 lib.s(40);
|
|
|
|
.slider {
|
|
@include lib.rounded(8);
|
|
@include lib.fluent-decel(1000ms);
|
|
|
|
min-height: lib.s(15);
|
|
background-color: scheme.$overlay0;
|
|
color: scheme.$subtext1;
|
|
}
|
|
|
|
.time {
|
|
margin-top: lib.s(5);
|
|
font-size: lib.s(13);
|
|
color: scheme.$subtext1;
|
|
}
|
|
}
|
|
|
|
.details {
|
|
font-size: lib.s(14);
|
|
margin-top: lib.s(20);
|
|
|
|
@include lib.spacing(3, true);
|
|
|
|
.title {
|
|
font-size: lib.s(18);
|
|
color: scheme.$text;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.artist {
|
|
color: scheme.$green;
|
|
}
|
|
|
|
.album {
|
|
color: scheme.$subtext0;
|
|
}
|
|
}
|
|
|
|
.controls {
|
|
margin-top: lib.s(-20);
|
|
margin-bottom: lib.s(5);
|
|
|
|
button {
|
|
@include media-button;
|
|
|
|
// Cause some nerd font icons don't have the correct width
|
|
&.needs-adjustment {
|
|
padding-right: lib.s(5);
|
|
}
|
|
}
|
|
|
|
.playback {
|
|
font-size: lib.s(32);
|
|
|
|
@include lib.spacing(40);
|
|
}
|
|
|
|
.options {
|
|
margin: 0 lib.s(40);
|
|
margin-top: lib.s(-10);
|
|
font-size: lib.s(20);
|
|
|
|
@include lib.spacing(20);
|
|
}
|
|
}
|
|
}
|
|
|
|
.indicators {
|
|
@include lib.spacing(10);
|
|
|
|
& > button {
|
|
@include lib.rounded(1000);
|
|
@include lib.element-decel;
|
|
|
|
min-width: lib.s(10);
|
|
min-height: lib.s(10);
|
|
|
|
background-color: color.change(scheme.$overlay0, $alpha: 0.5);
|
|
|
|
&:hover,
|
|
&:focus {
|
|
background-color: color.change(scheme.$overlay1, $alpha: 0.5);
|
|
}
|
|
|
|
&:active {
|
|
background-color: color.change(scheme.$overlay2, $alpha: 0.5);
|
|
}
|
|
|
|
&.active {
|
|
background-color: color.change(scheme.$primary, $alpha: 0.9);
|
|
|
|
&:hover,
|
|
&:focus {
|
|
background-color: color.change(scheme.$primary, $alpha: 0.7);
|
|
}
|
|
|
|
&:active {
|
|
background-color: color.change(scheme.$primary, $alpha: 0.6);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.no-wp-prompt {
|
|
font-size: lib.s(16);
|
|
color: scheme.$error;
|
|
margin-top: lib.s(8);
|
|
}
|
|
|
|
.streams {
|
|
.list {
|
|
@include lib.spacing(10, true);
|
|
}
|
|
|
|
.stream {
|
|
@include lib.rounded(20);
|
|
@include lib.element-decel;
|
|
|
|
background-color: color.change(scheme.$surface1, $alpha: 0.4);
|
|
padding: lib.s(10) lib.s(15);
|
|
|
|
@include lib.spacing(5);
|
|
|
|
&.playing {
|
|
background-color: color.change(color.mix(scheme.$surface1, scheme.$primary, 50%), $alpha: 0.4);
|
|
}
|
|
|
|
.icon {
|
|
font-size: lib.s(28);
|
|
margin-right: lib.s(12);
|
|
}
|
|
|
|
.sublabel {
|
|
font-size: lib.s(14);
|
|
color: scheme.$subtext0;
|
|
}
|
|
|
|
trough {
|
|
@include lib.rounded(10);
|
|
|
|
min-width: lib.s(100);
|
|
min-height: lib.s(10);
|
|
background-color: color.change(scheme.$error, $alpha: 0.3);
|
|
|
|
fill {
|
|
@include lib.rounded(10);
|
|
|
|
background-color: color.change(scheme.$overlay0, $alpha: 1);
|
|
}
|
|
|
|
highlight {
|
|
@include lib.rounded(10);
|
|
|
|
background-color: scheme.$subtext1;
|
|
}
|
|
}
|
|
|
|
& > button {
|
|
@include media-button;
|
|
|
|
font-size: lib.s(18);
|
|
min-width: lib.s(20);
|
|
min-height: lib.s(20);
|
|
}
|
|
}
|
|
}
|
|
|
|
.device-selector {
|
|
@include lib.spacing(10, true);
|
|
|
|
.selector {
|
|
@include lib.rounded(20);
|
|
|
|
background-color: color.change(scheme.$surface1, $alpha: 0.4);
|
|
padding: lib.s(10) lib.s(15);
|
|
|
|
.icon {
|
|
font-size: lib.s(20);
|
|
}
|
|
|
|
.separator {
|
|
margin-bottom: lib.s(8);
|
|
margin-top: lib.s(5);
|
|
background-color: if(scheme.$light, scheme.$overlay1, scheme.$overlay0);
|
|
}
|
|
|
|
.list {
|
|
color: scheme.$subtext0;
|
|
|
|
@include lib.spacing(3, true);
|
|
}
|
|
|
|
.device {
|
|
@include lib.spacing;
|
|
}
|
|
|
|
.selected {
|
|
color: scheme.$text;
|
|
|
|
@include lib.spacing(10);
|
|
|
|
.icon {
|
|
font-size: lib.s(32);
|
|
}
|
|
|
|
.sublabel {
|
|
color: scheme.$subtext0;
|
|
}
|
|
}
|
|
|
|
button {
|
|
@include lib.element-decel;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
color: scheme.$subtext1;
|
|
}
|
|
|
|
&:active {
|
|
color: scheme.$text;
|
|
}
|
|
}
|
|
}
|
|
|
|
.stream {
|
|
@include lib.rounded(20);
|
|
@include lib.element-decel;
|
|
|
|
background-color: color.change(scheme.$surface1, $alpha: 0.4);
|
|
padding: lib.s(10) lib.s(15);
|
|
|
|
@include lib.spacing(5);
|
|
|
|
&.playing {
|
|
background-color: color.change(color.mix(scheme.$surface1, scheme.$primary, 50%), $alpha: 0.4);
|
|
}
|
|
|
|
.icon {
|
|
font-size: lib.s(28);
|
|
margin-right: lib.s(12);
|
|
}
|
|
|
|
.sublabel {
|
|
font-size: lib.s(14);
|
|
color: scheme.$subtext0;
|
|
}
|
|
|
|
trough {
|
|
@include lib.rounded(10);
|
|
|
|
min-width: lib.s(100);
|
|
min-height: lib.s(10);
|
|
background-color: color.change(scheme.$error, $alpha: 0.3);
|
|
|
|
fill {
|
|
@include lib.rounded(10);
|
|
|
|
background-color: color.change(scheme.$overlay0, $alpha: 1);
|
|
}
|
|
|
|
highlight {
|
|
@include lib.rounded(10);
|
|
|
|
background-color: scheme.$subtext1;
|
|
}
|
|
}
|
|
|
|
& > button {
|
|
@include media-button;
|
|
|
|
font-size: lib.s(18);
|
|
min-width: lib.s(20);
|
|
min-height: lib.s(20);
|
|
}
|
|
}
|
|
}
|
|
|
|
.networks {
|
|
.list {
|
|
@include lib.spacing(10, true);
|
|
}
|
|
|
|
.network {
|
|
@include lib.rounded(20);
|
|
@include lib.element-decel;
|
|
|
|
background-color: color.change(scheme.$surface1, $alpha: 0.4);
|
|
padding: lib.s(10) lib.s(15);
|
|
|
|
@include lib.spacing(5);
|
|
|
|
&.connected {
|
|
background-color: color.change(color.mix(scheme.$surface1, scheme.$primary, 50%), $alpha: 0.4);
|
|
|
|
& > button {
|
|
@include button-active;
|
|
}
|
|
}
|
|
|
|
.icon {
|
|
font-size: lib.s(28);
|
|
margin-right: lib.s(12);
|
|
}
|
|
|
|
.sublabel {
|
|
font-size: lib.s(14);
|
|
color: scheme.$subtext0;
|
|
}
|
|
|
|
& > button {
|
|
@include button;
|
|
@include lib.rounded(1000);
|
|
@include font.icon;
|
|
|
|
font-size: lib.s(18);
|
|
min-width: lib.s(30);
|
|
min-height: lib.s(30);
|
|
}
|
|
}
|
|
}
|
|
|
|
.bluetooth {
|
|
.list {
|
|
@include lib.spacing(10, true);
|
|
}
|
|
|
|
.device {
|
|
@include lib.rounded(20);
|
|
@include lib.element-decel;
|
|
|
|
background-color: color.change(scheme.$surface1, $alpha: 0.4);
|
|
padding: lib.s(10) lib.s(15);
|
|
|
|
@include lib.spacing(5);
|
|
|
|
&.connected {
|
|
background-color: color.change(color.mix(scheme.$surface1, scheme.$primary, 50%), $alpha: 0.4);
|
|
|
|
& > button {
|
|
@include button-active;
|
|
}
|
|
}
|
|
|
|
.icon {
|
|
font-size: lib.s(28);
|
|
margin-right: lib.s(12);
|
|
}
|
|
|
|
.sublabel {
|
|
font-size: lib.s(14);
|
|
color: scheme.$subtext0;
|
|
}
|
|
|
|
& > button {
|
|
@include button;
|
|
@include lib.rounded(1000);
|
|
@include font.icon;
|
|
|
|
font-size: lib.s(18);
|
|
min-width: lib.s(30);
|
|
min-height: lib.s(30);
|
|
}
|
|
}
|
|
}
|
|
|
|
.updates {
|
|
.list {
|
|
@include lib.spacing(10, true);
|
|
}
|
|
|
|
.repo {
|
|
@include lib.rounded(20);
|
|
@include lib.element-decel;
|
|
|
|
background-color: color.change(scheme.$surface1, $alpha: 0.4);
|
|
padding: lib.s(10) lib.s(15);
|
|
|
|
@include lib.spacing(5);
|
|
|
|
.icon {
|
|
font-size: lib.s(28);
|
|
|
|
&:not(:last-child) {
|
|
margin-right: lib.s(12);
|
|
}
|
|
}
|
|
|
|
.sublabel {
|
|
font-size: lib.s(14);
|
|
color: scheme.$subtext0;
|
|
}
|
|
|
|
.body {
|
|
margin-top: lib.s(10);
|
|
font-size: lib.s(14);
|
|
}
|
|
}
|
|
}
|
|
|
|
.news {
|
|
min-height: lib.s(200);
|
|
|
|
.empty {
|
|
margin-top: lib.s(40);
|
|
}
|
|
|
|
.list {
|
|
@include lib.spacing(10, true);
|
|
}
|
|
|
|
.article {
|
|
@include lib.rounded(20);
|
|
@include lib.element-decel;
|
|
|
|
background-color: color.change(scheme.$surface1, $alpha: 0.4);
|
|
padding: lib.s(10) lib.s(15);
|
|
|
|
@include lib.spacing(5);
|
|
|
|
.icon {
|
|
font-size: lib.s(28);
|
|
|
|
&:not(:last-child) {
|
|
margin-right: lib.s(12);
|
|
}
|
|
}
|
|
|
|
.sublabel {
|
|
font-size: lib.s(14);
|
|
color: scheme.$subtext0;
|
|
}
|
|
|
|
.body {
|
|
margin-top: lib.s(10);
|
|
font-size: lib.s(14);
|
|
}
|
|
}
|
|
}
|
|
|
|
.headlines {
|
|
min-height: lib.s(200);
|
|
|
|
.empty {
|
|
margin-top: lib.s(40);
|
|
}
|
|
|
|
.list {
|
|
@include lib.spacing(10, true);
|
|
}
|
|
|
|
.category {
|
|
@include lib.rounded(20);
|
|
@include lib.element-decel;
|
|
|
|
background-color: color.change(scheme.$surface0, $alpha: 0.5);
|
|
padding: lib.s(10) lib.s(15);
|
|
|
|
@include lib.spacing(5);
|
|
|
|
.icon {
|
|
font-size: lib.s(28);
|
|
|
|
&:not(:last-child) {
|
|
margin-right: lib.s(12);
|
|
}
|
|
}
|
|
|
|
.sublabel {
|
|
font-size: lib.s(14);
|
|
color: scheme.$subtext0;
|
|
}
|
|
|
|
.body {
|
|
margin-top: lib.s(10);
|
|
font-size: lib.s(14);
|
|
|
|
@include lib.spacing(8, true);
|
|
}
|
|
}
|
|
|
|
.article {
|
|
@include lib.rounded(20);
|
|
@include lib.element-decel;
|
|
|
|
background-color: color.change(scheme.$surface1, $alpha: 0.3);
|
|
padding: lib.s(10) lib.s(15);
|
|
|
|
.article-body {
|
|
@include font.reading;
|
|
@include lib.element-decel;
|
|
|
|
font-size: lib.s(15);
|
|
margin-top: lib.s(10);
|
|
color: scheme.$subtext1;
|
|
|
|
& > :last-child {
|
|
margin-top: lib.s(8);
|
|
}
|
|
}
|
|
|
|
button:hover .article-body,
|
|
button:focus .article-body {
|
|
color: color.mix(scheme.$subtext0, scheme.$blue, 60%);
|
|
}
|
|
}
|
|
}
|
|
|
|
.time-date {
|
|
padding: lib.s(12) lib.s(8);
|
|
font-size: lib.s(48);
|
|
font-weight: bold;
|
|
color: scheme.$primary;
|
|
|
|
& > * {
|
|
@include lib.spacing(3);
|
|
}
|
|
|
|
.ampm {
|
|
font-size: lib.s(24);
|
|
font-weight: normal;
|
|
margin-top: lib.s(18);
|
|
color: scheme.$secondary;
|
|
}
|
|
|
|
.date {
|
|
font-size: lib.s(20);
|
|
color: scheme.$tertiary;
|
|
}
|
|
}
|
|
|
|
.calendar {
|
|
@include lib.rounded(20);
|
|
|
|
background-color: color.change(scheme.$surface1, $alpha: 0.4);
|
|
padding: lib.s(15);
|
|
|
|
.calendar-view {
|
|
@include lib.spacing(10, true);
|
|
|
|
.header {
|
|
@include lib.spacing(10);
|
|
|
|
& > button {
|
|
@include lib.rounded(1000);
|
|
@include lib.element-decel;
|
|
|
|
background-color: color.change(scheme.$surface2, $alpha: 0.4);
|
|
min-width: lib.s(28);
|
|
min-height: lib.s(28);
|
|
font-size: lib.s(18);
|
|
|
|
&:first-child {
|
|
padding: 0 lib.s(10);
|
|
}
|
|
|
|
&:hover,
|
|
&:focus {
|
|
background-color: color.change(scheme.$surface2, $alpha: 0.6);
|
|
}
|
|
|
|
&:active {
|
|
background-color: color.change(scheme.$surface2, $alpha: 0.8);
|
|
}
|
|
}
|
|
}
|
|
|
|
.weekdays {
|
|
@include lib.spacing(10);
|
|
|
|
& > label {
|
|
min-width: lib.s(40);
|
|
font-weight: bold;
|
|
color: scheme.$subtext1;
|
|
}
|
|
}
|
|
|
|
.month {
|
|
@include lib.spacing(10, true);
|
|
}
|
|
|
|
.week {
|
|
@include lib.spacing(10);
|
|
}
|
|
|
|
.day {
|
|
@include lib.rounded(1000);
|
|
@include lib.element-decel;
|
|
|
|
min-width: lib.s(40);
|
|
min-height: lib.s(40);
|
|
|
|
&.dim {
|
|
color: scheme.$subtext0;
|
|
}
|
|
|
|
&.today:not(.dim) {
|
|
background-color: scheme.$primary;
|
|
color: color.change(scheme.$base, $alpha: 1);
|
|
}
|
|
|
|
&:hover,
|
|
&:focus {
|
|
color: scheme.$subtext0;
|
|
}
|
|
|
|
&:active {
|
|
color: color.change(scheme.$overlay2, $alpha: 1);
|
|
}
|
|
|
|
&.dim {
|
|
color: scheme.$subtext0;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
color: color.change(scheme.$overlay2, $alpha: 1);
|
|
}
|
|
|
|
&:active {
|
|
color: color.change(scheme.$overlay1, $alpha: 1);
|
|
}
|
|
}
|
|
|
|
&.today:not(.dim) {
|
|
background-color: scheme.$primary;
|
|
color: color.change(scheme.$base, $alpha: 1);
|
|
|
|
&:hover,
|
|
&:focus {
|
|
background-color: color.mix(scheme.$primary, scheme.$base, 80%);
|
|
}
|
|
|
|
&:active {
|
|
background-color: color.mix(scheme.$primary, scheme.$base, 70%);
|
|
}
|
|
}
|
|
|
|
label {
|
|
margin-top: lib.s(8);
|
|
}
|
|
|
|
.indicator {
|
|
@include lib.rounded(10);
|
|
@include lib.element-decel;
|
|
|
|
min-height: lib.s(3);
|
|
margin: 0 lib.s(8);
|
|
}
|
|
|
|
$-max: 5;
|
|
@for $i from 1 through $-max {
|
|
&.events-#{$i} {
|
|
$-colour: color.mix(scheme.$red, scheme.$green, calc(100% / $-max) * $i);
|
|
|
|
.indicator {
|
|
background-color: $-colour;
|
|
}
|
|
|
|
&:hover .indicator,
|
|
&:focus .indicator {
|
|
background-color: color.mix($-colour, scheme.$base, 80%);
|
|
}
|
|
|
|
&:active .indicator {
|
|
background-color: color.mix($-colour, scheme.$base, 70%);
|
|
}
|
|
|
|
&.dim .indicator {
|
|
background-color: color.mix($-colour, scheme.$base, 60%);
|
|
}
|
|
|
|
&.today:not(.dim) {
|
|
$-colour: color.mix($-colour, color.complement(scheme.$primary), 50%);
|
|
|
|
.indicator {
|
|
background-color: $-colour;
|
|
}
|
|
|
|
&:hover .indicator,
|
|
&:focus .indicator {
|
|
background-color: color.mix($-colour, scheme.$base, 80%);
|
|
}
|
|
|
|
&:active .indicator {
|
|
background-color: color.mix($-colour, scheme.$base, 70%);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.events {
|
|
@include lib.spacing(10, true);
|
|
|
|
.header {
|
|
font-weight: bold;
|
|
|
|
@include lib.spacing(10);
|
|
|
|
& > button {
|
|
@include lib.rounded(1000);
|
|
@include lib.element-decel;
|
|
|
|
min-width: lib.s(24);
|
|
min-height: lib.s(24);
|
|
|
|
&:hover,
|
|
&:focus {
|
|
color: scheme.$subtext0;
|
|
}
|
|
|
|
&:active {
|
|
color: color.change(scheme.$overlay2, $alpha: 1);
|
|
}
|
|
}
|
|
}
|
|
|
|
scrollable {
|
|
min-height: lib.s(315);
|
|
}
|
|
|
|
.date {
|
|
margin-left: lib.s(10);
|
|
}
|
|
|
|
.sublabel {
|
|
font-size: lib.s(14);
|
|
color: scheme.$subtext0;
|
|
}
|
|
|
|
.list {
|
|
padding: lib.s(5);
|
|
|
|
@include lib.spacing(10, true);
|
|
}
|
|
|
|
.event {
|
|
@include lib.spacing(8);
|
|
}
|
|
|
|
.calendar-indicator {
|
|
@include lib.rounded(5);
|
|
|
|
min-width: lib.s(1);
|
|
|
|
$-colours: scheme.$red, scheme.$sapphire, scheme.$flamingo, scheme.$maroon, scheme.$pink, scheme.$sky,
|
|
scheme.$peach, scheme.$yellow, scheme.$green, scheme.$rosewater, scheme.$mauve, scheme.$teal,
|
|
scheme.$blue;
|
|
@for $i from 1 through list.length($-colours) {
|
|
&.calendar-#{$i} {
|
|
background-color: list.nth($-colours, $i);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|