Add Shape enum to avatar component, refactor UITextSize to styles/typography.rs

Nate Butler created

Change summary

crates/ui2/src/components/avatar.rs |   7 +
crates/ui2/src/prelude.rs           | 140 ------------------------------
crates/ui2/src/styles.rs            |   2 
crates/ui2/src/styles/typography.rs |  27 +++++
4 files changed, 36 insertions(+), 140 deletions(-)

Detailed changes

crates/ui2/src/components/avatar.rs 🔗

@@ -1,6 +1,13 @@
 use crate::prelude::*;
 use gpui::{img, Img, RenderOnce};
 
+#[derive(Debug, Default, PartialEq, Clone)]
+pub enum Shape {
+    #[default]
+    Circle,
+    RoundedRectangle,
+}
+
 #[derive(RenderOnce)]
 pub struct Avatar {
     src: SharedString,

crates/ui2/src/prelude.rs 🔗

@@ -1,5 +1,3 @@
-use gpui::rems;
-use gpui::Rems;
 pub use gpui::{
     div, Component, Element, ElementId, InteractiveElement, ParentElement, SharedString, Styled,
     ViewContext, WindowContext,
@@ -9,107 +7,8 @@ pub use crate::StyledExt;
 pub use crate::{ButtonVariant, TextColor};
 pub use theme2::ActiveTheme;
 
-use gpui::Hsla;
 use strum::EnumIter;
 
-#[derive(Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy, EnumIter)]
-pub enum UITextSize {
-    /// The default size for UI text.
-    ///
-    /// `0.825rem` or `14px` at the default scale of `1rem` = `16px`.
-    ///
-    /// Note: The absolute size of this text will change based on a user's `ui_scale` setting.
-    #[default]
-    Default,
-    /// The small size for UI text.
-    ///
-    /// `0.75rem` or `12px` at the default scale of `1rem` = `16px`.
-    ///
-    /// Note: The absolute size of this text will change based on a user's `ui_scale` setting.
-    Small,
-}
-
-impl UITextSize {
-    pub fn rems(self) -> Rems {
-        match self {
-            Self::Default => rems(0.875),
-            Self::Small => rems(0.75),
-        }
-    }
-}
-
-#[derive(Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy, EnumIter)]
-pub enum FileSystemStatus {
-    #[default]
-    None,
-    Conflict,
-    Deleted,
-}
-
-impl std::fmt::Display for FileSystemStatus {
-    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
-        write!(
-            f,
-            "{}",
-            match self {
-                Self::None => "None",
-                Self::Conflict => "Conflict",
-                Self::Deleted => "Deleted",
-            }
-        )
-    }
-}
-
-#[derive(Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy, EnumIter)]
-pub enum GitStatus {
-    #[default]
-    None,
-    Created,
-    Modified,
-    Deleted,
-    Conflict,
-    Renamed,
-}
-
-impl GitStatus {
-    pub fn hsla(&self, cx: &WindowContext) -> Hsla {
-        match self {
-            Self::None => cx.theme().system().transparent,
-            Self::Created => cx.theme().status().created,
-            Self::Modified => cx.theme().status().modified,
-            Self::Deleted => cx.theme().status().deleted,
-            Self::Conflict => cx.theme().status().conflict,
-            Self::Renamed => cx.theme().status().renamed,
-        }
-    }
-}
-
-impl std::fmt::Display for GitStatus {
-    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
-        write!(
-            f,
-            "{}",
-            match self {
-                Self::None => "None",
-                Self::Created => "Created",
-                Self::Modified => "Modified",
-                Self::Deleted => "Deleted",
-                Self::Conflict => "Conflict",
-                Self::Renamed => "Renamed",
-            }
-        )
-    }
-}
-
-#[derive(Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy, EnumIter)]
-pub enum DiagnosticStatus {
-    #[default]
-    None,
-    Error,
-    Warning,
-    Info,
-}
-
 #[derive(Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy, EnumIter)]
 pub enum IconSide {
     #[default]
@@ -117,45 +16,6 @@ pub enum IconSide {
     Right,
 }
 
-#[derive(Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy, EnumIter)]
-pub enum OrderMethod {
-    #[default]
-    Ascending,
-    Descending,
-    MostRecent,
-}
-
-#[derive(Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy, EnumIter)]
-pub enum Shape {
-    #[default]
-    Circle,
-    RoundedRectangle,
-}
-
-#[derive(Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy, EnumIter)]
-pub enum DisclosureControlVisibility {
-    #[default]
-    OnHover,
-    Always,
-}
-
-#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy, EnumIter)]
-pub enum DisclosureControlStyle {
-    /// Shows the disclosure control only when hovered where possible.
-    ///
-    /// More compact, but not available everywhere.
-    ChevronOnHover,
-    /// Shows an icon where possible, otherwise shows a chevron.
-    ///
-    /// For example, in a file tree a folder or file icon is shown
-    /// instead of a chevron
-    Icon,
-    /// Always shows a chevron.
-    Chevron,
-    /// Completely hides the disclosure control where possible.
-    None,
-}
-
 #[derive(Debug, PartialEq, Eq, Clone, Copy, EnumIter)]
 pub enum OverflowStyle {
     Hidden,

crates/ui2/src/styles/typography.rs 🔗

@@ -0,0 +1,27 @@
+use gpui::{rems, Rems};
+
+#[derive(Debug, Default, Clone)]
+pub enum UITextSize {
+    /// The default size for UI text.
+    ///
+    /// `0.825rem` or `14px` at the default scale of `1rem` = `16px`.
+    ///
+    /// Note: The absolute size of this text will change based on a user's `ui_scale` setting.
+    #[default]
+    Default,
+    /// The small size for UI text.
+    ///
+    /// `0.75rem` or `12px` at the default scale of `1rem` = `16px`.
+    ///
+    /// Note: The absolute size of this text will change based on a user's `ui_scale` setting.
+    Small,
+}
+
+impl UITextSize {
+    pub fn rems(self) -> Rems {
+        match self {
+            Self::Default => rems(0.875),
+            Self::Small => rems(0.75),
+        }
+    }
+}