diff --git a/core/src/theme/palette.rs b/core/src/theme/palette.rs index 86dc61ca..88c843b0 100644 --- a/core/src/theme/palette.rs +++ b/core/src/theme/palette.rs @@ -529,9 +529,11 @@ pub struct Secondary { impl Secondary { /// Generates a set of [`Secondary`] colors from the base and text colors. pub fn generate(base: Color, text: Color) -> Self { - let weak = mix(deviate(base, 0.1), text, 0.2); - let strong = mix(deviate(base, 0.3), text, 0.2); - let base = mix(deviate(base, 0.2), text, 0.2); + let factor = if is_dark(base) { 0.2 } else { 0.4 }; + + let weak = mix(deviate(base, 0.1), text, factor); + let strong = mix(deviate(base, 0.3), text, factor); + let base = mix(deviate(base, 0.2), text, factor); Self { base: Pair::new(base, text),