summaryrefslogtreecommitdiff
path: root/crates/material_theme/src/text_editor.rs
diff options
context:
space:
mode:
authorpml68 <contact@pml68.dev>2025-06-26 12:16:52 +0200
committerpml68 <contact@pml68.dev>2025-06-26 12:16:52 +0200
commit00c6cf80cb9c4587700078a062a6b32873b6f8ff (patch)
tree9aad054c784b51d4a0bc97c928b89da7dbcab863 /crates/material_theme/src/text_editor.rs
parentfeat: update for hot reloading support (diff)
downloadiced-builder-00c6cf80cb9c4587700078a062a6b32873b6f8ff.tar.gz
feat: extract `material_theme` into separate repo (`pml68/iced_material`)
Diffstat (limited to 'crates/material_theme/src/text_editor.rs')
-rw-r--r--crates/material_theme/src/text_editor.rs67
1 files changed, 0 insertions, 67 deletions
diff --git a/crates/material_theme/src/text_editor.rs b/crates/material_theme/src/text_editor.rs
deleted file mode 100644
index 14d7104..0000000
--- a/crates/material_theme/src/text_editor.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-use iced_widget::core::{Background, Border, Color, border};
-use iced_widget::text_editor::{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: Border {
- color: surface.on_surface,
- ..active.border
- },
- ..active
- },
- Status::Focused { .. } => Style {
- border: Border {
- color: primary.color,
- width: 2.0,
- ..active.border
- },
- placeholder: primary.color,
- ..active
- },
- Status::Disabled => Style {
- background: Color::TRANSPARENT.into(),
- border: Border {
- color: disabled_container(surface.on_surface),
- width: 1.0,
- radius: border::radius(4),
- },
- icon: disabled_text(surface.on_surface),
- placeholder: disabled_text(surface.on_surface),
- value: disabled_text(surface.on_surface),
- selection: disabled_text(surface.on_surface),
- },
- }
-}