mirror of
https://github.com/luneko/SweetTokyoNight.git
synced 2025-12-13 15:29:53 +01:00
Gtk-4: Add initial suppport to gtk v4
This commit is contained in:
139
gtk-4.0/widgets/_color-chooser.scss
Normal file
139
gtk-4.0/widgets/_color-chooser.scss
Normal file
@@ -0,0 +1,139 @@
|
||||
/*****************
|
||||
* Color Chooser *
|
||||
*****************/
|
||||
colorswatch {
|
||||
// This widget is made of two boxes one on top of the other, the lower box is colorswatch {} the other one
|
||||
// is colorswatch overlay {}, colorswatch has the programmatically set background, so most of the style is
|
||||
// applied to the overlay box.
|
||||
|
||||
&, &:drop(active) { border-style: none; } // FIXME: implement a proper drop(active) state
|
||||
|
||||
$_colorswatch_radius: 5px;
|
||||
$_colorswatch_overlay_shadow: if($variant == 'light', inset 0 2px 2px -3px transparentize(black, 0.3),
|
||||
inset 0 3px 2px -2px transparentize(black, 0.5));
|
||||
|
||||
// base color corners rounding
|
||||
// to avoid the artifacts caused by rounded corner anti-aliasing the base color
|
||||
// sports a bigger radius.
|
||||
// nth-child is needed by the custom color strip.
|
||||
|
||||
&.top {
|
||||
border-top-left-radius: $_colorswatch_radius + 0.5px;
|
||||
border-top-right-radius: $_colorswatch_radius + 0.5px;
|
||||
|
||||
overlay {
|
||||
border-top-left-radius: $_colorswatch_radius;
|
||||
border-top-right-radius: $_colorswatch_radius;
|
||||
}
|
||||
}
|
||||
|
||||
&.bottom {
|
||||
border-bottom-left-radius: $_colorswatch_radius + 0.5px;
|
||||
border-bottom-right-radius: $_colorswatch_radius + 0.5px;
|
||||
|
||||
overlay {
|
||||
border-bottom-left-radius: $_colorswatch_radius;
|
||||
border-bottom-right-radius: $_colorswatch_radius;
|
||||
}
|
||||
}
|
||||
|
||||
&.left,
|
||||
&:first-child:not(.top) {
|
||||
border-top-left-radius: $_colorswatch_radius + 0.5px;
|
||||
border-bottom-left-radius: $_colorswatch_radius + 0.5px;
|
||||
|
||||
overlay {
|
||||
border-top-left-radius: $_colorswatch_radius;
|
||||
border-bottom-left-radius: $_colorswatch_radius;
|
||||
}
|
||||
}
|
||||
|
||||
&.right,
|
||||
&:last-child:not(.bottom) {
|
||||
border-top-right-radius: $_colorswatch_radius + 0.5px;
|
||||
border-bottom-right-radius: $_colorswatch_radius + 0.5px;
|
||||
|
||||
overlay {
|
||||
border-top-right-radius: $_colorswatch_radius;
|
||||
border-bottom-right-radius: $_colorswatch_radius;
|
||||
}
|
||||
}
|
||||
|
||||
&.dark overlay {
|
||||
color: $selected_fg_color;
|
||||
|
||||
&:hover { border-color: if($variant == 'light', transparentize(black, 0.2), $borders_color); }
|
||||
|
||||
&:backdrop { color: $backdrop_selected_fg_color; }
|
||||
}
|
||||
|
||||
&.light overlay {
|
||||
color: $text_color;
|
||||
|
||||
&:hover { border-color: if($variant == 'light', transparentize(black, 0.5), $borders_color); }
|
||||
|
||||
&:backdrop { color: $backdrop_text_color; }
|
||||
}
|
||||
|
||||
&:drop(active) {
|
||||
box-shadow: none;
|
||||
|
||||
&.light overlay {
|
||||
border-color: $drop_target_color;
|
||||
box-shadow: inset 0 0 0 2px if($variant == 'light', darken($drop_target_color, 7%), $borders_color),
|
||||
inset 0 0 0 1px $drop_target_color;
|
||||
}
|
||||
|
||||
&.dark overlay {
|
||||
border-color: $drop_target_color;
|
||||
box-shadow: inset 0 0 0 2px if($variant == 'light', transparentize(black, 0.7), $borders_color),
|
||||
inset 0 0 0 1px $drop_target_color;
|
||||
}
|
||||
}
|
||||
|
||||
overlay {
|
||||
box-shadow: $_colorswatch_overlay_shadow;
|
||||
border: 1px solid if($variant == 'light', transparentize(black, 0.7), $borders_color);
|
||||
|
||||
&:hover { box-shadow: inset 0 1px transparentize(white, 0.7); }
|
||||
|
||||
&:backdrop, &:backdrop:hover {
|
||||
border-color: if($variant == 'light', transparentize(black, 0.7), $borders_color);
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
&#add-color-button {
|
||||
border-radius: $_colorswatch_radius $_colorswatch_radius 0 0;
|
||||
|
||||
&:only-child { border-radius: $_colorswatch_radius; }
|
||||
|
||||
overlay {
|
||||
@include button(normal);
|
||||
|
||||
&:hover { @include button(hover); }
|
||||
|
||||
&:backdrop { @include button(backdrop); }
|
||||
}
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
opacity: 0.5;
|
||||
|
||||
overlay {
|
||||
border-color: transparentize(black, 0.4);
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
row:selected & { box-shadow: 0 0 0 2px $selected_fg_color; }
|
||||
|
||||
&#editor-color-sample {
|
||||
border-radius: 4px;
|
||||
|
||||
overlay { border-radius: 4.5px; }
|
||||
}
|
||||
}
|
||||
|
||||
// colorscale popup
|
||||
colorchooser .popover.osd { border-radius: 5px; }
|
||||
Reference in New Issue
Block a user