list_header.rs

 1use gpui::{Div, Render};
 2use story::Story;
 3
 4use crate::{prelude::*, IconButton};
 5use crate::{Icon, ListHeader};
 6
 7pub struct ListHeaderStory;
 8
 9impl Render for ListHeaderStory {
10    type Element = Div;
11
12    fn render(&mut self, _cx: &mut ViewContext<Self>) -> Self::Element {
13        Story::container()
14            .child(Story::title_for::<ListHeader>())
15            .child(Story::label("Default"))
16            .child(ListHeader::new("Section 1"))
17            .child(Story::label("With left icon"))
18            .child(ListHeader::new("Section 2").left_icon(Icon::Bell))
19            .child(Story::label("With left icon and meta"))
20            .child(
21                ListHeader::new("Section 3")
22                    .left_icon(Icon::BellOff)
23                    .meta(IconButton::new("action_1", Icon::Bolt)),
24            )
25            .child(Story::label("With multiple meta"))
26            .child(
27                ListHeader::new("Section 4")
28                    .meta(IconButton::new("action_1", Icon::Bolt))
29                    .meta(IconButton::new("action_2", Icon::ExclamationTriangle))
30                    .meta(IconButton::new("action_3", Icon::Plus)),
31            )
32    }
33}