nosignal-shell/scss/launcher.scss
2 * r + 2 * t 62602465ce launcher: actions + refactor into multi file
Action prefix is configurable
2025-03-01 16:35:18 +11:00

128 lines
2.5 KiB
SCSS

@use "sass:color";
@use "scheme";
@use "lib";
@use "font";
@mixin launcher($mode, $colour) {
&.#{$mode} {
label.icon {
color: $colour;
}
.search-bar {
.mode {
@include lib.border($colour, $width: 2);
}
.entry {
border-bottom: lib.s(2) solid $colour;
}
}
.mode-switcher .mode {
&.selected {
border-top: lib.s(2) solid $colour;
}
&:hover,
&:focus {
color: $colour;
}
&:active {
color: color.mix($colour, scheme.$base, 80%);
}
}
}
}
.launcher {
@include lib.rounded(10);
@include lib.shadow;
@include font.mono;
background-color: scheme.$base;
color: scheme.$text;
padding: lib.s(14);
font-size: lib.s(16);
min-width: lib.s(700);
min-height: lib.s(420);
@include launcher(apps, scheme.$sapphire);
@include launcher(files, scheme.$peach);
@include launcher(math, scheme.$green);
@include launcher(windows, scheme.$teal);
.search-bar {
margin-bottom: lib.s(15);
@include lib.spacing(10);
.mode {
@include lib.rounded(5);
@include lib.element-decel;
padding: lib.s(5);
}
}
.mode-switcher .mode {
@include lib.element-decel;
border-top: lib.s(2) solid transparent;
padding-top: lib.s(10);
.icon {
font-size: lib.s(24);
}
& > box {
@include lib.spacing(10);
}
}
.result {
@include lib.element-decel;
border-bottom: lib.s(2) solid transparent;
padding-left: lib.s(10);
.icon {
font-size: lib.s(32);
}
.has-sublabel {
padding: lib.s(3) 0;
}
.sublabel {
color: scheme.$subtext0;
font-size: lib.s(14);
}
& > box {
@include lib.spacing(10);
}
&.italic {
font-style: italic;
}
&:hover {
background-color: scheme.$surface0;
}
&:focus {
border-bottom: lib.s(2) solid scheme.$red;
color: scheme.$red;
.sublabel {
color: color.mix(scheme.$red, scheme.$base, 70%);
}
}
&:active {
background-color: scheme.$surface1;
}
}
}