From dac7e82e0bff128097653fe05829b2d576fcdb2f Mon Sep 17 00:00:00 2001 From: pml68 Date: Mon, 28 Apr 2025 10:56:49 +0200 Subject: refactor(material_theme)!: make `Theme` an enum with `Custom` variant --- crates/material_theme/src/text_input.rs | 38 +++++++++------------------------ 1 file changed, 10 insertions(+), 28 deletions(-) (limited to 'crates/material_theme/src/text_input.rs') diff --git a/crates/material_theme/src/text_input.rs b/crates/material_theme/src/text_input.rs index 5de5993..ed5e02a 100644 --- a/crates/material_theme/src/text_input.rs +++ b/crates/material_theme/src/text_input.rs @@ -2,7 +2,7 @@ use iced_widget::core::{Background, Border, Color}; use iced_widget::text_input::{Catalog, Status, Style, StyleFn}; use super::Theme; -use crate::utils::{DISABLED_CONTAINER_OPACITY, DISABLED_TEXT_OPACITY}; +use crate::utils::{disabled_container, disabled_text}; impl Catalog for Theme { type Class<'a> = StyleFn<'a, Self>; @@ -17,23 +17,20 @@ impl Catalog for Theme { } pub fn default(theme: &Theme, status: Status) -> Style { - let surface = theme.colorscheme.surface; - let primary = theme.colorscheme.primary; + let surface = theme.colors().surface; + let primary = theme.colors().primary; let active = Style { background: Background::Color(surface.surface_container.highest), border: Border { - color: theme.colorscheme.outline.color, + color: theme.colors().outline.color, width: 1.0, radius: 4.into(), }, icon: surface.on_surface_variant, placeholder: surface.on_surface_variant, value: surface.on_surface, - selection: Color { - a: DISABLED_TEXT_OPACITY, - ..primary.color - }, + selection: disabled_text(primary.color), }; match status { @@ -48,28 +45,13 @@ pub fn default(theme: &Theme, status: Status) -> Style { Status::Disabled => Style { background: Color::TRANSPARENT.into(), border: Border { - color: Color { - a: DISABLED_CONTAINER_OPACITY, - ..surface.on_surface - }, + color: disabled_container(surface.on_surface), ..active.border }, - icon: Color { - a: DISABLED_TEXT_OPACITY, - ..surface.on_surface - }, - placeholder: Color { - a: DISABLED_TEXT_OPACITY, - ..surface.on_surface - }, - value: Color { - a: DISABLED_TEXT_OPACITY, - ..surface.on_surface - }, - selection: Color { - a: DISABLED_TEXT_OPACITY, - ..surface.on_surface - }, + icon: disabled_text(surface.on_surface), + placeholder: disabled_text(surface.on_surface), + value: disabled_text(surface.on_surface), + selection: disabled_text(surface.on_surface), }, Status::Focused { .. } => Style { border: Border { -- cgit v1.2.3