From a39e76acbada8ad8227f55db6e5fdf55e365f27b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Sat, 2 Aug 2025 20:52:31 +0200 Subject: [PATCH] Add `subtle` styling for `button` --- widget/src/button.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/widget/src/button.rs b/widget/src/button.rs index 85f16f59..6227f499 100644 --- a/widget/src/button.rs +++ b/widget/src/button.rs @@ -688,6 +688,29 @@ pub fn text(theme: &Theme, status: Status) -> Style { } } +/// A subtle button using background shades. +pub fn subtle(theme: &Theme, status: Status) -> Style { + let palette = theme.extended_palette(); + let base = styled(palette.background.weakest); + + match status { + Status::Active => base, + Status::Pressed => Style { + background: Some(Background::Color( + palette.background.strongest.color, + )), + ..base + }, + Status::Hovered => Style { + background: Some(Background::Color( + palette.background.strong.color, + )), + ..base + }, + Status::Disabled => disabled(base), + } +} + fn styled(pair: palette::Pair) -> Style { Style { background: Some(Background::Color(pair.color)),