Merge branch 'main' into collab-panel2

This commit is contained in:
Marshall Bowers 2023-11-28 17:07:40 -05:00
commit 5666066db4
4 changed files with 40 additions and 2 deletions

View file

@ -18,6 +18,7 @@ pub enum ComponentStory {
ContextMenu,
Focus,
Icon,
IconButton,
Input,
Keybinding,
Label,
@ -37,6 +38,7 @@ impl ComponentStory {
Self::ContextMenu => cx.build_view(|_| ui::ContextMenuStory).into(),
Self::Focus => FocusStory::view(cx).into(),
Self::Icon => cx.build_view(|_| ui::IconStory).into(),
Self::IconButton => cx.build_view(|_| ui::IconButtonStory).into(),
Self::Input => cx.build_view(|_| ui::InputStory).into(),
Self::Keybinding => cx.build_view(|_| ui::KeybindingStory).into(),
Self::Label => cx.build_view(|_| ui::LabelStory).into(),

View file

@ -65,8 +65,7 @@ impl RenderOnce for IconButton {
}
}
// todo! this extra wrapping div is to work around a bug
// where tooltips otherwise don't show up.
// HACK: Add an additional identified element wrapper to fix tooltips not showing up.
div().id(self.id.clone()).child(button)
}
}

View file

@ -3,6 +3,7 @@ mod button;
mod checkbox;
mod context_menu;
mod icon;
mod icon_button;
mod input;
mod keybinding;
mod label;
@ -13,6 +14,7 @@ pub use button::*;
pub use checkbox::*;
pub use context_menu::*;
pub use icon::*;
pub use icon_button::*;
pub use input::*;
pub use keybinding::*;
pub use label::*;

View file

@ -0,0 +1,35 @@
use gpui::{Div, Render};
use story::Story;
use crate::{prelude::*, Tooltip};
use crate::{Icon, IconButton};
pub struct IconButtonStory;
impl Render for IconButtonStory {
type Element = Div;
fn render(&mut self, _cx: &mut ViewContext<Self>) -> Self::Element {
Story::container()
.child(Story::title_for::<IconButton>())
.child(Story::label("Default"))
.child(div().w_8().child(IconButton::new("icon_a", Icon::Hash)))
.child(Story::label("With `on_click`"))
.child(
div()
.w_8()
.child(
IconButton::new("with_on_click", Icon::Ai).on_click(|_event, _cx| {
println!("Clicked!");
}),
),
)
.child(Story::label("With `tooltip`"))
.child(
div().w_8().child(
IconButton::new("with_tooltip", Icon::MessageBubbles)
.tooltip(|cx| Tooltip::text("Open messages", cx)),
),
)
}
}