nosignal-shell/scss/widgets.scss
2025-02-23 16:48:26 +11:00

201 lines
3.7 KiB
SCSS

@use "sass:color";
@use "scheme";
@use "lib";
@use "font";
label.icon {
@include font.icon;
}
.notification {
.inner {
@include lib.rounded(8);
@include font.main;
background-color: scheme.$base;
color: scheme.$text;
padding: lib.s(10) lib.s(12);
@include lib.spacing($vertical: true);
}
.header,
.content {
padding: 0 lib.s(5);
}
.header {
@include font.mono;
@include lib.spacing(8);
}
.content {
@include lib.spacing(10);
}
.app-icon {
font-size: lib.s(18);
}
.image {
@include lib.rounded(10);
background-size: cover;
background-position: center;
margin-top: lib.s(3);
min-width: lib.s(64);
min-height: lib.s(64);
&.small {
min-width: lib.s(48);
min-height: lib.s(48);
}
}
.summary {
@include font.title;
font-size: lib.s(16);
}
.body {
font-size: lib.s(14);
color: scheme.$subtext0;
}
.actions {
@include lib.spacing;
& > * {
@include lib.rounded(5);
@include lib.element-decel;
padding: lib.s(5) lib.s(10);
background-color: scheme.$surface0;
&:hover,
&:focus {
background-color: scheme.$surface1;
}
&:active {
background-color: scheme.$surface2;
}
}
}
}
separator,
.separator {
@include lib.rounded(2);
min-width: lib.s(0.5);
min-height: lib.s(0.5);
}
@keyframes appear {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@mixin -appear($duration: 100ms) {
animation-name: appear;
animation-duration: $duration;
animation-timing-function: ease-out;
animation-iteration-count: 1;
}
menu {
@include -appear;
@include lib.rounded(10);
@include lib.border(scheme.$blue, 0.4);
@include font.mono;
padding: lib.s(8);
background-color: scheme.$surface0;
color: scheme.$text;
font-size: lib.s(14);
& > menuitem {
@include lib.rounded(8);
padding: lib.s(5) lib.s(8);
background: transparent;
transition: 0.2s ease background-color;
&:hover,
&:focus {
background-color: scheme.$surface1;
}
&:active {
background-color: scheme.$surface2;
}
&:disabled {
color: scheme.$subtext0;
}
& > arrow {
@include lib.rounded(1000);
min-width: lib.s(5);
min-height: lib.s(5);
background-color: scheme.$blue;
&.right {
margin-left: lib.s(12);
}
&.left {
margin-right: lib.s(12);
}
}
}
& > separator {
background-color: color.mix(scheme.$blue, scheme.$surface0, 70%);
margin: lib.s(5) 0;
}
}
tooltip,
.tooltip {
@include lib.rounded(5);
@include lib.border(scheme.$teal, 0.7);
@include font.mono;
background-color: scheme.$surface0;
color: scheme.$text;
padding: lib.s(4) lib.s(8);
}
tooltip {
@include -appear(200ms);
}
scrollbar {
slider {
@include lib.rounded(1000);
@include lib.element-decel;
min-width: lib.s(3);
min-height: lib.s(30);
background-color: color.change(scheme.$overlay0, $alpha: 0.6);
&:hover,
&:focus {
min-width: lib.s(6);
background-color: color.change(scheme.$overlay0, $alpha: 0.7);
}
&:active {
background-color: color.change(scheme.$overlay1, $alpha: 0.8);
}
}
}