diff options
| author | pml68 <contact@pml68.dev> | 2025-06-26 12:16:52 +0200 |
|---|---|---|
| committer | pml68 <contact@pml68.dev> | 2025-06-26 12:16:52 +0200 |
| commit | 00c6cf80cb9c4587700078a062a6b32873b6f8ff (patch) | |
| tree | 9aad054c784b51d4a0bc97c928b89da7dbcab863 /crates/material_theme/src/text_input.rs | |
| parent | feat: update for hot reloading support (diff) | |
| download | iced-builder-00c6cf80cb9c4587700078a062a6b32873b6f8ff.tar.gz | |
feat: extract `material_theme` into separate repo (`pml68/iced_material`)
Diffstat (limited to 'crates/material_theme/src/text_input.rs')
| -rw-r--r-- | crates/material_theme/src/text_input.rs | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/crates/material_theme/src/text_input.rs b/crates/material_theme/src/text_input.rs deleted file mode 100644 index 4db220b..0000000 --- a/crates/material_theme/src/text_input.rs +++ /dev/null @@ -1,63 +0,0 @@ -use iced_widget::core::{Background, Border, Color}; -use iced_widget::text_input::{Catalog, Status, Style, StyleFn}; - -use super::Theme; -use crate::utils::{disabled_container, disabled_text}; - -impl Catalog for Theme { - type Class<'a> = StyleFn<'a, Self>; - - fn default<'a>() -> Self::Class<'a> { - Box::new(default) - } - - fn style(&self, class: &Self::Class<'_>, status: Status) -> Style { - class(self, status) - } -} - -pub fn default(theme: &Theme, status: Status) -> Style { - let surface = theme.colors().surface; - let primary = theme.colors().primary; - - let active = Style { - background: Background::Color(surface.surface_container.highest), - border: Border { - 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: disabled_text(primary.color), - }; - - match status { - Status::Active => active, - Status::Hovered => Style { - border: active.border.color(surface.on_surface), - ..active - }, - Status::Disabled => Style { - background: Color::TRANSPARENT.into(), - border: Border { - color: disabled_container(surface.on_surface), - ..active.border - }, - 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 { - color: primary.color, - width: 2.0, - ..active.border - }, - placeholder: primary.color, - ..active - }, - } -} |
