diff --git a/crates/storybook2/src/collab_panel.rs b/crates/storybook2/src/collab_panel.rs index 5c16da5f20..97dd8e83ed 100644 --- a/crates/storybook2/src/collab_panel.rs +++ b/crates/storybook2/src/collab_panel.rs @@ -1,8 +1,8 @@ -use crate::theme::{theme, Theme}; use gpui3::{ div, img, svg, view, AppContext, Context, Element, IntoAnyElement, ParentElement, ScrollState, SharedString, StyleHelpers, View, ViewContext, WindowContext, }; +use ui::{theme, Theme}; pub struct CollabPanel { scroll_state: ScrollState, diff --git a/crates/storybook2/src/stories/components/panel.rs b/crates/storybook2/src/stories/components/panel.rs index ed317115fb..9470bda4bd 100644 --- a/crates/storybook2/src/stories/components/panel.rs +++ b/crates/storybook2/src/stories/components/panel.rs @@ -1,7 +1,7 @@ use std::marker::PhantomData; -use crate::ui::prelude::*; -use crate::ui::{Label, Panel}; +use ui::prelude::*; +use ui::{Label, Panel}; use crate::story::Story; diff --git a/crates/storybook2/src/stories/elements/avatar.rs b/crates/storybook2/src/stories/elements/avatar.rs index 0d1fff568f..36fc841b9f 100644 --- a/crates/storybook2/src/stories/elements/avatar.rs +++ b/crates/storybook2/src/stories/elements/avatar.rs @@ -1,7 +1,7 @@ use std::marker::PhantomData; -use crate::ui::prelude::*; -use crate::ui::Avatar; +use ui::prelude::*; +use ui::Avatar; use crate::story::Story; diff --git a/crates/storybook2/src/stories/elements/icon.rs b/crates/storybook2/src/stories/elements/icon.rs index 46073fb394..ada454297f 100644 --- a/crates/storybook2/src/stories/elements/icon.rs +++ b/crates/storybook2/src/stories/elements/icon.rs @@ -1,9 +1,8 @@ use std::marker::PhantomData; use strum::IntoEnumIterator; - -use crate::ui::prelude::*; -use crate::ui::{Icon, IconElement}; +use ui::prelude::*; +use ui::{Icon, IconElement}; use crate::story::Story; diff --git a/crates/storybook2/src/stories/elements/label.rs b/crates/storybook2/src/stories/elements/label.rs index f4f5649f16..0f6ebcc292 100644 --- a/crates/storybook2/src/stories/elements/label.rs +++ b/crates/storybook2/src/stories/elements/label.rs @@ -1,7 +1,7 @@ use std::marker::PhantomData; -use crate::ui::prelude::*; -use crate::ui::Label; +use ui::prelude::*; +use ui::Label; use crate::story::Story; diff --git a/crates/storybook2/src/stories/kitchen_sink.rs b/crates/storybook2/src/stories/kitchen_sink.rs index c6cc4adcb1..325e84847f 100644 --- a/crates/storybook2/src/stories/kitchen_sink.rs +++ b/crates/storybook2/src/stories/kitchen_sink.rs @@ -1,10 +1,10 @@ use std::marker::PhantomData; use strum::IntoEnumIterator; +use ui::prelude::*; use crate::story::Story; use crate::story_selector::{ComponentStory, ElementStory}; -use crate::ui::prelude::*; #[derive(Element)] pub struct KitchenSinkStory { diff --git a/crates/storybook2/src/story.rs b/crates/storybook2/src/story.rs index 2b35274240..3c358f23ba 100644 --- a/crates/storybook2/src/story.rs +++ b/crates/storybook2/src/story.rs @@ -1,6 +1,6 @@ -use crate::theme::theme; -use crate::ui::prelude::*; use gpui3::Div; +use ui::prelude::*; +use ui::theme; pub struct Story {} diff --git a/crates/storybook2/src/story_selector.rs b/crates/storybook2/src/story_selector.rs index 289a98c698..1bf4b8d77a 100644 --- a/crates/storybook2/src/story_selector.rs +++ b/crates/storybook2/src/story_selector.rs @@ -7,7 +7,7 @@ use clap::ValueEnum; use gpui3::AnyElement; use strum::{EnumIter, EnumString, IntoEnumIterator}; -use crate::ui::prelude::*; +use ui::prelude::*; #[derive(Debug, PartialEq, Eq, Clone, Copy, strum::Display, EnumString, EnumIter)] #[strum(serialize_all = "snake_case")] diff --git a/crates/storybook2/src/storybook2.rs b/crates/storybook2/src/storybook2.rs index b10998ae37..e371001d2d 100644 --- a/crates/storybook2/src/storybook2.rs +++ b/crates/storybook2/src/storybook2.rs @@ -5,9 +5,7 @@ mod collab_panel; mod stories; mod story; mod story_selector; -mod theme; mod themes; -mod ui; mod workspace; use std::sync::Arc; @@ -18,12 +16,12 @@ use gpui3::{ }; use log::LevelFilter; use simplelog::SimpleLogger; +use ui::prelude::*; +use ui::themed; use crate::assets::Assets; use crate::story_selector::StorySelector; -use crate::theme::themed; use crate::themes::rose_pine_dawn; -use crate::ui::prelude::*; use crate::workspace::workspace; // gpui2::actions! { diff --git a/crates/storybook2/src/themes/rose_pine.rs b/crates/storybook2/src/themes/rose_pine.rs index 74a957f04f..1cb45c73ff 100644 --- a/crates/storybook2/src/themes/rose_pine.rs +++ b/crates/storybook2/src/themes/rose_pine.rs @@ -1,5 +1,5 @@ -use crate::theme::Theme; use gpui3::serde_json::{self, json}; +use ui::Theme; pub fn rose_pine() -> Theme { serde_json::from_value(json! { diff --git a/crates/storybook2/src/ui.rs b/crates/storybook2/src/ui.rs deleted file mode 100644 index b74ac0641a..0000000000 --- a/crates/storybook2/src/ui.rs +++ /dev/null @@ -1,12 +0,0 @@ -mod children; -mod components; -mod element_ext; -mod elements; -pub mod prelude; -mod tokens; - -pub use children::*; -pub use components::*; -pub use element_ext::*; -pub use elements::*; -pub use tokens::*; diff --git a/crates/storybook2/src/workspace.rs b/crates/storybook2/src/workspace.rs index 65e9d82c1a..b0f9c97dc2 100644 --- a/crates/storybook2/src/workspace.rs +++ b/crates/storybook2/src/workspace.rs @@ -1,14 +1,14 @@ -use crate::ui::prelude::*; -use crate::ui::{Panel, Stack}; -use crate::{ - collab_panel::{collab_panel, CollabPanel}, - theme::{theme, themed}, - themes::rose_pine_dawn, -}; use gpui3::{ div, img, svg, view, Context, Element, ParentElement, RootView, StyleHelpers, View, ViewContext, WindowContext, }; +use ui::prelude::*; +use ui::{theme, themed, Panel, Stack}; + +use crate::{ + collab_panel::{collab_panel, CollabPanel}, + themes::rose_pine_dawn, +}; pub struct Workspace { left_panel: View, diff --git a/crates/storybook2/src/ui/children.rs b/crates/ui2/src/children.rs similarity index 100% rename from crates/storybook2/src/ui/children.rs rename to crates/ui2/src/children.rs diff --git a/crates/storybook2/src/ui/components.rs b/crates/ui2/src/components.rs similarity index 100% rename from crates/storybook2/src/ui/components.rs rename to crates/ui2/src/components.rs diff --git a/crates/storybook2/src/ui/components/list.rs b/crates/ui2/src/components/list.rs similarity index 99% rename from crates/storybook2/src/ui/components/list.rs rename to crates/ui2/src/components/list.rs index 02f480c37f..d6a76d829a 100644 --- a/crates/storybook2/src/ui/components/list.rs +++ b/crates/ui2/src/components/list.rs @@ -3,8 +3,8 @@ use std::marker::PhantomData; use gpui3::{div, Div, Hsla, WindowContext}; use crate::theme::theme; -use crate::ui::prelude::*; -use crate::ui::{ +use crate::prelude::*; +use crate::{ h_stack, token, v_stack, Avatar, Icon, IconColor, IconElement, IconSize, Label, LabelColor, LabelSize, }; diff --git a/crates/storybook2/src/ui/components/panel.rs b/crates/ui2/src/components/panel.rs similarity index 96% rename from crates/storybook2/src/ui/components/panel.rs rename to crates/ui2/src/components/panel.rs index e6847fa78b..1a6b333a2c 100644 --- a/crates/storybook2/src/ui/components/panel.rs +++ b/crates/ui2/src/components/panel.rs @@ -2,9 +2,8 @@ use std::marker::PhantomData; use gpui3::AbsoluteLength; -use crate::themes::rose_pine_dawn; -use crate::ui::prelude::*; -use crate::ui::{token, v_stack}; +use crate::{prelude::*, theme}; +use crate::{token, v_stack}; #[derive(Default, Debug, PartialEq, Eq, Hash, Clone, Copy)] pub enum PanelAllowedSides { @@ -103,7 +102,7 @@ impl Panel { fn render(&mut self, cx: &mut ViewContext) -> impl Element { let token = token(); - let theme = rose_pine_dawn(); + let theme = theme(cx); let panel_base; let current_width = self.width.unwrap_or(self.initial_width); diff --git a/crates/storybook2/src/ui/element_ext.rs b/crates/ui2/src/element_ext.rs similarity index 100% rename from crates/storybook2/src/ui/element_ext.rs rename to crates/ui2/src/element_ext.rs diff --git a/crates/storybook2/src/ui/elements.rs b/crates/ui2/src/elements.rs similarity index 100% rename from crates/storybook2/src/ui/elements.rs rename to crates/ui2/src/elements.rs diff --git a/crates/storybook2/src/ui/elements/avatar.rs b/crates/ui2/src/elements/avatar.rs similarity index 97% rename from crates/storybook2/src/ui/elements/avatar.rs rename to crates/ui2/src/elements/avatar.rs index e86a0e1710..efc7462c2f 100644 --- a/crates/storybook2/src/ui/elements/avatar.rs +++ b/crates/ui2/src/elements/avatar.rs @@ -3,7 +3,7 @@ use std::marker::PhantomData; use gpui3::{img, ArcCow}; use crate::theme::theme; -use crate::ui::prelude::*; +use crate::prelude::*; #[derive(Element, Clone)] pub struct Avatar { diff --git a/crates/storybook2/src/ui/elements/icon.rs b/crates/ui2/src/elements/icon.rs similarity index 99% rename from crates/storybook2/src/ui/elements/icon.rs rename to crates/ui2/src/elements/icon.rs index 539cb5a227..fd32e36b04 100644 --- a/crates/storybook2/src/ui/elements/icon.rs +++ b/crates/ui2/src/elements/icon.rs @@ -5,7 +5,7 @@ use gpui3::{svg, Hsla}; use strum::EnumIter; use crate::theme::{theme, Theme}; -use crate::ui::prelude::*; +use crate::prelude::*; #[derive(Default, PartialEq, Copy, Clone)] pub enum IconSize { diff --git a/crates/storybook2/src/ui/elements/label.rs b/crates/ui2/src/elements/label.rs similarity index 99% rename from crates/storybook2/src/ui/elements/label.rs rename to crates/ui2/src/elements/label.rs index d87587a529..3b1be6fd69 100644 --- a/crates/storybook2/src/ui/elements/label.rs +++ b/crates/ui2/src/elements/label.rs @@ -4,7 +4,7 @@ use gpui3::{Hsla, WindowContext}; use smallvec::SmallVec; use crate::theme::theme; -use crate::ui::prelude::*; +use crate::prelude::*; #[derive(Default, PartialEq, Copy, Clone)] pub enum LabelColor { diff --git a/crates/storybook2/src/ui/elements/stack.rs b/crates/ui2/src/elements/stack.rs similarity index 95% rename from crates/storybook2/src/ui/elements/stack.rs rename to crates/ui2/src/elements/stack.rs index e796297159..e8e547e006 100644 --- a/crates/storybook2/src/ui/elements/stack.rs +++ b/crates/ui2/src/elements/stack.rs @@ -1,6 +1,6 @@ use gpui3::{div, Div}; -use crate::ui::prelude::*; +use crate::prelude::*; pub trait Stack: StyleHelpers { /// Horizontally stacks elements. diff --git a/crates/ui2/src/lib.rs b/crates/ui2/src/lib.rs index 7d12d9af81..1d46b8ba98 100644 --- a/crates/ui2/src/lib.rs +++ b/crates/ui2/src/lib.rs @@ -1,14 +1,18 @@ -pub fn add(left: usize, right: usize) -> usize { - left + right -} +#![allow(dead_code, unused_variables)] -#[cfg(test)] -mod tests { - use super::*; +mod children; +mod components; +mod element_ext; +mod elements; +pub mod prelude; +mod theme; +mod tokens; - #[test] - fn it_works() { - let result = add(2, 2); - assert_eq!(result, 4); - } -} +pub use children::*; +pub use components::*; +pub use element_ext::*; +pub use elements::*; +pub use prelude::*; +pub use tokens::*; + +pub use crate::theme::*; diff --git a/crates/storybook2/src/ui/prelude.rs b/crates/ui2/src/prelude.rs similarity index 98% rename from crates/storybook2/src/ui/prelude.rs rename to crates/ui2/src/prelude.rs index 252ef42853..9fab5a42cc 100644 --- a/crates/storybook2/src/ui/prelude.rs +++ b/crates/ui2/src/prelude.rs @@ -3,7 +3,7 @@ pub use gpui3::{ WindowContext, }; -pub use crate::ui::{HackyChildren, HackyChildrenPayload, ElementExt}; +pub use crate::{HackyChildren, HackyChildrenPayload, ElementExt}; use gpui3::{hsla, rgb, Hsla}; use strum::EnumIter; diff --git a/crates/storybook2/src/theme.rs b/crates/ui2/src/theme.rs similarity index 89% rename from crates/storybook2/src/theme.rs rename to crates/ui2/src/theme.rs index 785cf05c3b..e8b8b9c2c8 100644 --- a/crates/storybook2/src/theme.rs +++ b/crates/ui2/src/theme.rs @@ -1,5 +1,6 @@ +use std::collections::HashMap; +use std::fmt; use std::sync::Arc; -use std::{collections::HashMap, fmt}; use gpui3::{ BorrowAppContext, Bounds, Element, Hsla, LayoutId, Pixels, Result, ViewContext, WindowContext, @@ -176,22 +177,6 @@ impl Element for Themed { } } -// fn preferred_theme(cx: &AppContext) -> Theme { -// settings::get::(cx) -// .theme -// .deserialized_base_theme -// .lock() -// .get_or_insert_with(|| { -// let theme: Theme = -// serde_json::from_value(settings::get::(cx).theme.base_theme.clone()) -// .unwrap(); -// Box::new(theme) -// }) -// .downcast_ref::() -// .unwrap() -// .clone() -// } - pub fn theme(cx: &WindowContext) -> Arc { Arc::new(cx.state::().clone()) } diff --git a/crates/storybook2/src/ui/tokens.rs b/crates/ui2/src/tokens.rs similarity index 100% rename from crates/storybook2/src/ui/tokens.rs rename to crates/ui2/src/tokens.rs