diff --git a/Cargo.lock b/Cargo.lock index 3cced78c4272e5fc9f571d8023719a1ea56d06d2..05b29aabf400e9843dc45041c956044c3bb7658c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7397,6 +7397,7 @@ dependencies = [ "settings", "simplelog", "theme", + "ui", "util", ] @@ -8599,6 +8600,17 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +[[package]] +name = "ui" +version = "0.1.0" +dependencies = [ + "anyhow", + "gpui2", + "serde", + "settings", + "theme", +] + [[package]] name = "unicase" version = "2.7.0" diff --git a/Cargo.toml b/Cargo.toml index c1876434ad46fc7f8c5eddf59d46255fcde4136e..b9622a1c3e3b1970cdae4bd1cb24bdcf96430301 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -69,6 +69,7 @@ members = [ "crates/text", "crates/theme", "crates/theme_selector", + "crates/ui", "crates/util", "crates/semantic_index", "crates/vim", diff --git a/crates/storybook/Cargo.toml b/crates/storybook/Cargo.toml index f634ea4eca1cb58056f9a14769dfadfcba83a118..c1096a87babed86dd08e513ffbd2f629d6e44c90 100644 --- a/crates/storybook/Cargo.toml +++ b/crates/storybook/Cargo.toml @@ -17,6 +17,7 @@ serde.workspace = true settings = { path = "../settings" } simplelog = "0.9" theme = { path = "../theme" } +ui = { path = "../ui" } util = { path = "../util" } [dev-dependencies] diff --git a/crates/storybook/src/collab_panel.rs b/crates/storybook/src/collab_panel.rs index 87fd536391609c91a1e277015780114d53ef94fc..30d15a5b0400c653dc41a9b65d546b05bb1eed72 100644 --- a/crates/storybook/src/collab_panel.rs +++ b/crates/storybook/src/collab_panel.rs @@ -1,10 +1,10 @@ -use crate::theme::{theme, Theme}; use gpui2::{ elements::{div, div::ScrollState, img, svg}, style::{StyleHelpers, Styleable}, ArcCow, Element, IntoElement, ParentElement, ViewContext, }; use std::marker::PhantomData; +use ui::{theme, Theme}; #[derive(Element)] pub struct CollabPanelElement { diff --git a/crates/storybook/src/storybook.rs b/crates/storybook/src/storybook.rs index df1db7b8c21d0b6e9083ec2c974b56e7bf99cbeb..92d178fad2728cb1e5e3a5d44caaaf3a5b2347be 100644 --- a/crates/storybook/src/storybook.rs +++ b/crates/storybook/src/storybook.rs @@ -1,20 +1,14 @@ #![allow(dead_code, unused_variables)] -use crate::theme::Theme; use ::theme as legacy_theme; -use element_ext::ElementExt; use gpui2::{serde_json, vec2f, view, Element, RectF, ViewContext, WindowBounds}; use legacy_theme::ThemeSettings; use log::LevelFilter; use settings::{default_settings, SettingsStore}; use simplelog::SimpleLogger; +use ui::{ElementExt, Theme}; mod collab_panel; -mod components; -mod element_ext; -mod prelude; -mod theme; -mod ui; mod workspace; gpui2::actions! { diff --git a/crates/storybook/src/ui.rs b/crates/storybook/src/ui.rs deleted file mode 100644 index f8f0e7a65f45bbfc70c4b96fea2d90f41fc0707f..0000000000000000000000000000000000000000 --- a/crates/storybook/src/ui.rs +++ /dev/null @@ -1,7 +0,0 @@ -mod component; -mod element; -mod module; - -pub use component::*; -pub use element::*; -pub use module::*; diff --git a/crates/storybook/src/ui/component.rs b/crates/storybook/src/ui/component.rs deleted file mode 100644 index 26fa01584761da227b4c6be6ea185ceb2b5a141a..0000000000000000000000000000000000000000 --- a/crates/storybook/src/ui/component.rs +++ /dev/null @@ -1,9 +0,0 @@ -mod facepile; -mod follow_group; -mod list_item; -mod tab; - -pub use facepile::*; -pub use follow_group::*; -pub use list_item::*; -pub use tab::*; diff --git a/crates/storybook/src/workspace.rs b/crates/storybook/src/workspace.rs index 3127bcf837cc24694e78759fbeec8b6788634b78..95152ec8328f26e0749215a7fe55694f7247da2f 100644 --- a/crates/storybook/src/workspace.rs +++ b/crates/storybook/src/workspace.rs @@ -1,12 +1,9 @@ -use crate::{ - theme::theme, - ui::{chat_panel, project_panel, status_bar, tab_bar, title_bar}, -}; use gpui2::{ elements::{div, div::ScrollState}, style::StyleHelpers, Element, IntoElement, ParentElement, ViewContext, }; +use ui::{chat_panel, project_panel, status_bar, tab_bar, theme, title_bar}; #[derive(Element, Default)] struct WorkspaceElement { diff --git a/crates/ui/Cargo.toml b/crates/ui/Cargo.toml new file mode 100644 index 0000000000000000000000000000000000000000..5018a9173988203d61e26efc2ccbbac2db1e796f --- /dev/null +++ b/crates/ui/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "ui" +version = "0.1.0" +edition = "2021" +publish = false + +[dependencies] +anyhow.workspace = true +gpui2 = { path = "../gpui2" } +serde.workspace = true +settings = { path = "../settings" } +theme = { path = "../theme" } diff --git a/crates/storybook/src/components.rs b/crates/ui/src/components.rs similarity index 85% rename from crates/storybook/src/components.rs rename to crates/ui/src/components.rs index 1aafefc1a6a0a89728f64b6c6299e8c68ef1cc20..a82d28eb8cb2539cef985c12a59ba712b97699ae 100644 --- a/crates/storybook/src/components.rs +++ b/crates/ui/src/components.rs @@ -1,8 +1,21 @@ -use gpui2::{ - elements::div, interactive::Interactive, platform::MouseButton, style::StyleHelpers, ArcCow, - Element, EventContext, IntoElement, ParentElement, ViewContext, -}; -use std::{marker::PhantomData, rc::Rc}; +mod facepile; +mod follow_group; +mod list_item; +mod tab; + +pub use facepile::*; +pub use follow_group::*; +pub use list_item::*; +pub use tab::*; + +use std::marker::PhantomData; +use std::rc::Rc; + +use gpui2::elements::div; +use gpui2::interactive::Interactive; +use gpui2::platform::MouseButton; +use gpui2::style::StyleHelpers; +use gpui2::{ArcCow, Element, EventContext, IntoElement, ParentElement, ViewContext}; struct ButtonHandlers { click: Option)>>, diff --git a/crates/storybook/src/ui/component/facepile.rs b/crates/ui/src/components/facepile.rs similarity index 84% rename from crates/storybook/src/ui/component/facepile.rs rename to crates/ui/src/components/facepile.rs index 73ab231c07fe6b28742831fd5120d5ae9d257020..d9566c216cfbf82fc0dce336b3da0dc2bf67e6c6 100644 --- a/crates/storybook/src/ui/component/facepile.rs +++ b/crates/ui/src/components/facepile.rs @@ -1,7 +1,8 @@ -use crate::{theme::theme, ui::Avatar}; +use gpui2::elements::div; use gpui2::style::StyleHelpers; -use gpui2::{elements::div, IntoElement}; -use gpui2::{Element, ParentElement, ViewContext}; +use gpui2::{Element, IntoElement, ParentElement, ViewContext}; + +use crate::{theme, Avatar}; #[derive(Element)] pub struct Facepile { diff --git a/crates/storybook/src/ui/component/follow_group.rs b/crates/ui/src/components/follow_group.rs similarity index 88% rename from crates/storybook/src/ui/component/follow_group.rs rename to crates/ui/src/components/follow_group.rs index 5d79b8fc06fb3bdab9ddaf83832aa00d685ae676..75e24e9135a93576b63dd65f90dd5e617c26fc37 100644 --- a/crates/storybook/src/ui/component/follow_group.rs +++ b/crates/ui/src/components/follow_group.rs @@ -1,8 +1,8 @@ -use crate::theme::theme; -use crate::ui::{facepile, indicator, Avatar}; +use gpui2::elements::div; use gpui2::style::StyleHelpers; -use gpui2::{elements::div, IntoElement}; -use gpui2::{Element, ParentElement, ViewContext}; +use gpui2::{Element, IntoElement, ParentElement, ViewContext}; + +use crate::{facepile, indicator, theme, Avatar}; #[derive(Element)] pub struct FollowGroup { diff --git a/crates/storybook/src/ui/component/list_item.rs b/crates/ui/src/components/list_item.rs similarity index 92% rename from crates/storybook/src/ui/component/list_item.rs rename to crates/ui/src/components/list_item.rs index 46df86bfa1e5985a6e28aba6d5aea79e2269a093..868b58e449f778d8356a1823c91f3312328ab4aa 100644 --- a/crates/storybook/src/ui/component/list_item.rs +++ b/crates/ui/src/components/list_item.rs @@ -1,10 +1,10 @@ -use crate::prelude::{InteractionState, ToggleState}; -use crate::theme::theme; -use crate::ui::{icon, IconAsset, Label}; +use gpui2::elements::div; use gpui2::geometry::rems; use gpui2::style::{StyleHelpers, Styleable}; -use gpui2::{elements::div, IntoElement}; -use gpui2::{Element, ParentElement, ViewContext}; +use gpui2::{Element, IntoElement, ParentElement, ViewContext}; + +use crate::prelude::*; +use crate::{icon, theme, IconAsset, Label}; #[derive(Element)] pub struct ListItem { diff --git a/crates/storybook/src/ui/component/tab.rs b/crates/ui/src/components/tab.rs similarity index 92% rename from crates/storybook/src/ui/component/tab.rs rename to crates/ui/src/components/tab.rs index 8237aac0041254c1754d7ba4fd7ea0037597244f..e812a26cd51a024d27036ea8fecf2f83fa796923 100644 --- a/crates/storybook/src/ui/component/tab.rs +++ b/crates/ui/src/components/tab.rs @@ -1,7 +1,8 @@ -use crate::theme::theme; +use gpui2::elements::div; use gpui2::style::{StyleHelpers, Styleable}; -use gpui2::{elements::div, IntoElement}; -use gpui2::{Element, ParentElement, ViewContext}; +use gpui2::{Element, IntoElement, ParentElement, ViewContext}; + +use crate::theme; #[derive(Element)] pub struct Tab { diff --git a/crates/storybook/src/element_ext.rs b/crates/ui/src/element_ext.rs similarity index 99% rename from crates/storybook/src/element_ext.rs rename to crates/ui/src/element_ext.rs index 72ec5b328af00279427795a13e12cd969c34688c..67352f0779774527af4067b37bda662b1fcfdb2c 100644 --- a/crates/storybook/src/element_ext.rs +++ b/crates/ui/src/element_ext.rs @@ -1,7 +1,9 @@ -use crate::theme::{Theme, Themed}; -use gpui2::Element; use std::marker::PhantomData; +use gpui2::Element; + +use crate::theme::{Theme, Themed}; + pub trait ElementExt: Element { fn themed(self, theme: Theme) -> Themed where diff --git a/crates/storybook/src/ui/element.rs b/crates/ui/src/elements.rs similarity index 100% rename from crates/storybook/src/ui/element.rs rename to crates/ui/src/elements.rs diff --git a/crates/storybook/src/ui/element/avatar.rs b/crates/ui/src/elements/avatar.rs similarity index 87% rename from crates/storybook/src/ui/element/avatar.rs rename to crates/ui/src/elements/avatar.rs index 83edc73deba7d6d08539c3dec3b66ad9697860c6..068ec7a28a99472775f887a71d79e83de0459114 100644 --- a/crates/storybook/src/ui/element/avatar.rs +++ b/crates/ui/src/elements/avatar.rs @@ -1,9 +1,9 @@ -use crate::prelude::Shape; -use crate::theme::theme; use gpui2::elements::img; use gpui2::style::StyleHelpers; -use gpui2::{ArcCow, IntoElement}; -use gpui2::{Element, ViewContext}; +use gpui2::{ArcCow, Element, IntoElement, ViewContext}; + +use crate::prelude::*; +use crate::theme; #[derive(Element, Clone)] pub struct Avatar { diff --git a/crates/storybook/src/ui/element/details.rs b/crates/ui/src/elements/details.rs similarity index 88% rename from crates/storybook/src/ui/element/details.rs rename to crates/ui/src/elements/details.rs index 5d06862439cd4b8c4ba177f9302b8f4d4f81e65d..f156199f9e8556a1212f8439f6c71cd20725fff9 100644 --- a/crates/storybook/src/ui/element/details.rs +++ b/crates/ui/src/elements/details.rs @@ -1,8 +1,8 @@ -use crate::theme::theme; use gpui2::elements::div; use gpui2::style::StyleHelpers; -use gpui2::{Element, ViewContext}; -use gpui2::{IntoElement, ParentElement}; +use gpui2::{Element, IntoElement, ParentElement, ViewContext}; + +use crate::theme; #[derive(Element, Clone)] pub struct Details { diff --git a/crates/storybook/src/ui/element/icon.rs b/crates/ui/src/elements/icon.rs similarity index 95% rename from crates/storybook/src/ui/element/icon.rs rename to crates/ui/src/elements/icon.rs index 5a9e8fb6cb7769f1e951d77a216d6d15646f8dad..dbe30cb4f941c9b4cfb2bf1d3386f768c35c43da 100644 --- a/crates/storybook/src/ui/element/icon.rs +++ b/crates/ui/src/elements/icon.rs @@ -1,8 +1,8 @@ -use crate::theme::theme; use gpui2::elements::svg; use gpui2::style::StyleHelpers; -use gpui2::IntoElement; -use gpui2::{Element, ViewContext}; +use gpui2::{Element, IntoElement, ViewContext}; + +use crate::theme; // Icon::Hash // icon(IconAsset::Hash).color(IconColor::Warning) diff --git a/crates/storybook/src/ui/element/icon_button.rs b/crates/ui/src/elements/icon_button.rs similarity index 88% rename from crates/storybook/src/ui/element/icon_button.rs rename to crates/ui/src/elements/icon_button.rs index f82979ab7c6fb871e56ccbf67f23fcde06c1ebbf..4270e0ca5daa3e1dd3655dd54a9e3f48028c7d1c 100644 --- a/crates/storybook/src/ui/element/icon_button.rs +++ b/crates/ui/src/elements/icon_button.rs @@ -1,9 +1,9 @@ -use crate::prelude::{ButtonVariant, InteractionState}; -use crate::theme::theme; -use gpui2::elements::svg; +use gpui2::elements::{div, svg}; use gpui2::style::{StyleHelpers, Styleable}; -use gpui2::{elements::div, IntoElement}; -use gpui2::{Element, ParentElement, ViewContext}; +use gpui2::{Element, IntoElement, ParentElement, ViewContext}; + +use crate::prelude::*; +use crate::theme; #[derive(Element)] pub struct IconButton { diff --git a/crates/storybook/src/ui/element/indicator.rs b/crates/ui/src/elements/indicator.rs similarity index 86% rename from crates/storybook/src/ui/element/indicator.rs rename to crates/ui/src/elements/indicator.rs index b905892f1a592cf460a8ab16e408f7aa76e69c1f..2ee40a57ac67de5740dc3db47be9c23949f941bd 100644 --- a/crates/storybook/src/ui/element/indicator.rs +++ b/crates/ui/src/elements/indicator.rs @@ -1,7 +1,8 @@ -use crate::theme::theme; +use gpui2::elements::div; use gpui2::style::StyleHelpers; -use gpui2::{elements::div, IntoElement}; -use gpui2::{Element, ViewContext}; +use gpui2::{Element, IntoElement, ViewContext}; + +use crate::theme; #[derive(Element)] pub struct Indicator { diff --git a/crates/storybook/src/ui/element/input.rs b/crates/ui/src/elements/input.rs similarity index 94% rename from crates/storybook/src/ui/element/input.rs rename to crates/ui/src/elements/input.rs index 310287797cfff956650080115059405372c69667..5a3da16fdd5caf24b1a83a8e1f973c29754fa111 100644 --- a/crates/storybook/src/ui/element/input.rs +++ b/crates/ui/src/elements/input.rs @@ -1,8 +1,9 @@ -use crate::prelude::{InputVariant, InteractionState}; -use crate::theme::theme; +use gpui2::elements::div; use gpui2::style::{StyleHelpers, Styleable}; -use gpui2::{elements::div, IntoElement}; -use gpui2::{Element, ParentElement, ViewContext}; +use gpui2::{Element, IntoElement, ParentElement, ViewContext}; + +use crate::prelude::*; +use crate::theme; #[derive(Element)] pub struct Input { diff --git a/crates/storybook/src/ui/element/label.rs b/crates/ui/src/elements/label.rs similarity index 92% rename from crates/storybook/src/ui/element/label.rs rename to crates/ui/src/elements/label.rs index bbbedd0b10879a2183f67e0b0f433695870d09d0..d3e94297ad891f2670a35c76aaf28ab69f0e5de1 100644 --- a/crates/storybook/src/ui/element/label.rs +++ b/crates/ui/src/elements/label.rs @@ -1,8 +1,8 @@ -use crate::theme::theme; use gpui2::elements::div; use gpui2::style::StyleHelpers; -use gpui2::{Element, ViewContext}; -use gpui2::{IntoElement, ParentElement}; +use gpui2::{Element, IntoElement, ParentElement, ViewContext}; + +use crate::theme; #[derive(Default, PartialEq, Copy, Clone)] pub enum LabelColor { diff --git a/crates/storybook/src/ui/element/text_button.rs b/crates/ui/src/elements/text_button.rs similarity index 93% rename from crates/storybook/src/ui/element/text_button.rs rename to crates/ui/src/elements/text_button.rs index 24fd1eb5d35898511694a90dde9f101e3f88195b..851efdd4f691db8dbd5f836cf89cb487d9d71920 100644 --- a/crates/storybook/src/ui/element/text_button.rs +++ b/crates/ui/src/elements/text_button.rs @@ -1,8 +1,9 @@ -use crate::prelude::{ButtonVariant, InteractionState}; -use crate::theme::theme; +use gpui2::elements::div; use gpui2::style::{StyleHelpers, Styleable}; -use gpui2::{elements::div, IntoElement}; -use gpui2::{Element, ParentElement, ViewContext}; +use gpui2::{Element, IntoElement, ParentElement, ViewContext}; + +use crate::prelude::*; +use crate::theme; #[derive(Element)] pub struct TextButton { diff --git a/crates/storybook/src/ui/element/tool_divider.rs b/crates/ui/src/elements/tool_divider.rs similarity index 78% rename from crates/storybook/src/ui/element/tool_divider.rs rename to crates/ui/src/elements/tool_divider.rs index a923628defbd3d6622e61b17b660cc8bd986a6d6..2ef29b225f235031974a6fde0728ef95360282f4 100644 --- a/crates/storybook/src/ui/element/tool_divider.rs +++ b/crates/ui/src/elements/tool_divider.rs @@ -1,7 +1,8 @@ -use crate::theme::theme; +use gpui2::elements::div; use gpui2::style::StyleHelpers; -use gpui2::{elements::div, IntoElement}; -use gpui2::{Element, ViewContext}; +use gpui2::{Element, IntoElement, ViewContext}; + +use crate::theme; #[derive(Element)] pub struct ToolDivider {} diff --git a/crates/ui/src/lib.rs b/crates/ui/src/lib.rs new file mode 100644 index 0000000000000000000000000000000000000000..415cdcbaf383c95b4986c7f54378571b1494e239 --- /dev/null +++ b/crates/ui/src/lib.rs @@ -0,0 +1,14 @@ +#![allow(dead_code, unused_variables)] + +mod components; +mod element_ext; +mod elements; +mod modules; +pub mod prelude; +mod theme; + +pub use components::*; +pub use element_ext::*; +pub use elements::*; +pub use modules::*; +pub use theme::*; diff --git a/crates/storybook/src/ui/module.rs b/crates/ui/src/modules.rs similarity index 100% rename from crates/storybook/src/ui/module.rs rename to crates/ui/src/modules.rs diff --git a/crates/storybook/src/ui/module/chat_panel.rs b/crates/ui/src/modules/chat_panel.rs similarity index 91% rename from crates/storybook/src/ui/module/chat_panel.rs rename to crates/ui/src/modules/chat_panel.rs index de4428826b9074f643326fbc0e643194338f6be0..77c5b2ef20ba8a2de7cc47fead7d715b1b055706 100644 --- a/crates/storybook/src/ui/module/chat_panel.rs +++ b/crates/ui/src/modules/chat_panel.rs @@ -1,11 +1,11 @@ use std::marker::PhantomData; -use crate::theme::theme; -use crate::ui::icon_button; +use gpui2::elements::div; use gpui2::elements::div::ScrollState; use gpui2::style::StyleHelpers; -use gpui2::{elements::div, IntoElement}; -use gpui2::{Element, ParentElement, ViewContext}; +use gpui2::{Element, IntoElement, ParentElement, ViewContext}; + +use crate::{icon_button, theme}; #[derive(Element)] pub struct ChatPanel { diff --git a/crates/storybook/src/ui/module/project_panel.rs b/crates/ui/src/modules/project_panel.rs similarity index 93% rename from crates/storybook/src/ui/module/project_panel.rs rename to crates/ui/src/modules/project_panel.rs index 5a9608d3e3db7bdfa923b1a35e12f2127e390a3e..e17ff4c8edf425801731a37f60d1e05d65f61186 100644 --- a/crates/storybook/src/ui/module/project_panel.rs +++ b/crates/ui/src/modules/project_panel.rs @@ -1,16 +1,13 @@ -use crate::{ - prelude::{InteractionState, ToggleState}, - theme::theme, - ui::{details, input, label, list_item, IconAsset, LabelColor}, -}; -use gpui2::{ - elements::{div, div::ScrollState}, - style::StyleHelpers, - ParentElement, ViewContext, -}; -use gpui2::{Element, IntoElement}; use std::marker::PhantomData; +use gpui2::elements::div; +use gpui2::elements::div::ScrollState; +use gpui2::style::StyleHelpers; +use gpui2::{Element, IntoElement, ParentElement, ViewContext}; + +use crate::prelude::*; +use crate::{details, input, label, list_item, theme, IconAsset, LabelColor}; + #[derive(Element)] pub struct ProjectPanel { view_type: PhantomData, diff --git a/crates/storybook/src/ui/module/status_bar.rs b/crates/ui/src/modules/status_bar.rs similarity index 96% rename from crates/storybook/src/ui/module/status_bar.rs rename to crates/ui/src/modules/status_bar.rs index f34cfa88efd44f63692acd9c295714ddb6ed9e73..763a585176128fa1e832bfc35fa35e670aeb5e41 100644 --- a/crates/storybook/src/ui/module/status_bar.rs +++ b/crates/ui/src/modules/status_bar.rs @@ -1,10 +1,11 @@ use std::marker::PhantomData; -use crate::theme::{theme, Theme}; -use crate::ui::{icon_button, text_button, tool_divider}; +use gpui2::elements::div; use gpui2::style::StyleHelpers; -use gpui2::{elements::div, IntoElement}; -use gpui2::{Element, ParentElement, ViewContext}; +use gpui2::{Element, IntoElement, ParentElement, ViewContext}; + +use crate::theme::{theme, Theme}; +use crate::{icon_button, text_button, tool_divider}; #[derive(Default, PartialEq)] pub enum Tool { diff --git a/crates/storybook/src/ui/module/tab_bar.rs b/crates/ui/src/modules/tab_bar.rs similarity index 95% rename from crates/storybook/src/ui/module/tab_bar.rs rename to crates/ui/src/modules/tab_bar.rs index 9b96171f2f3591997aa31c408e50849382ce08b8..08caad310729f66b1f723366994a73c660b447a3 100644 --- a/crates/storybook/src/ui/module/tab_bar.rs +++ b/crates/ui/src/modules/tab_bar.rs @@ -1,12 +1,12 @@ use std::marker::PhantomData; -use crate::prelude::InteractionState; -use crate::theme::theme; -use crate::ui::{icon_button, tab}; +use gpui2::elements::div; use gpui2::elements::div::ScrollState; use gpui2::style::StyleHelpers; -use gpui2::{elements::div, IntoElement}; -use gpui2::{Element, ParentElement, ViewContext}; +use gpui2::{Element, IntoElement, ParentElement, ViewContext}; + +use crate::prelude::InteractionState; +use crate::{icon_button, tab, theme}; #[derive(Element)] pub struct TabBar { diff --git a/crates/storybook/src/ui/module/title_bar.rs b/crates/ui/src/modules/title_bar.rs similarity index 95% rename from crates/storybook/src/ui/module/title_bar.rs rename to crates/ui/src/modules/title_bar.rs index a41d56476f1dae379fc93176c3d8ebcfe8377f03..705d0d8866dc757f488cf52e5d162121a2abd0be 100644 --- a/crates/storybook/src/ui/module/title_bar.rs +++ b/crates/ui/src/modules/title_bar.rs @@ -1,11 +1,11 @@ use std::marker::PhantomData; -use crate::prelude::Shape; -use crate::theme::theme; -use crate::ui::{avatar, follow_group, icon_button, text_button, tool_divider}; +use gpui2::elements::div; use gpui2::style::StyleHelpers; -use gpui2::{elements::div, IntoElement}; -use gpui2::{Element, ParentElement, ViewContext}; +use gpui2::{Element, IntoElement, ParentElement, ViewContext}; + +use crate::prelude::Shape; +use crate::{avatar, follow_group, icon_button, text_button, theme, tool_divider}; #[derive(Element)] pub struct TitleBar { diff --git a/crates/storybook/src/prelude.rs b/crates/ui/src/prelude.rs similarity index 100% rename from crates/storybook/src/prelude.rs rename to crates/ui/src/prelude.rs diff --git a/crates/storybook/src/theme.rs b/crates/ui/src/theme.rs similarity index 94% rename from crates/storybook/src/theme.rs rename to crates/ui/src/theme.rs index 0a86a61499f6d1d642d56b25cab3caaa0bb509ed..71235625d6dfc3cc7faa9c1f143688b5cb68fa20 100644 --- a/crates/storybook/src/theme.rs +++ b/crates/ui/src/theme.rs @@ -1,9 +1,12 @@ -use gpui2::{ - color::Hsla, element::Element, serde_json, AppContext, IntoElement, Vector2F, ViewContext, - WindowContext, -}; -use serde::{de::Visitor, Deserialize, Deserializer}; -use std::{collections::HashMap, fmt, marker::PhantomData}; +use std::collections::HashMap; +use std::fmt; +use std::marker::PhantomData; + +use gpui2::color::Hsla; +use gpui2::element::Element; +use gpui2::{serde_json, AppContext, IntoElement, Vector2F, ViewContext, WindowContext}; +use serde::de::Visitor; +use serde::{Deserialize, Deserializer}; use theme::ThemeSettings; #[derive(Deserialize, Clone, Default, Debug)] diff --git a/crates/storybook/src/ui/tracker.md b/crates/ui/tracker.md similarity index 100% rename from crates/storybook/src/ui/tracker.md rename to crates/ui/tracker.md