1use gpui::{Div, Render};
2use story::Story;
3
4use crate::{prelude::*, ListHeader, ListSeparator, ListSubHeader};
5use crate::{List, ListItem};
6
7pub struct ListStory;
8
9impl Render for ListStory {
10 type Element = Div;
11
12 fn render(&mut self, _cx: &mut ViewContext<Self>) -> Self::Element {
13 Story::container()
14 .child(Story::title_for::<List>())
15 .child(Story::label("Default"))
16 .child(
17 List::new()
18 .child(ListItem::new("apple").child("Apple"))
19 .child(ListItem::new("banana").child("Banana"))
20 .child(ListItem::new("cherry").child("Cherry")),
21 )
22 .child(Story::label("With sections"))
23 .child(
24 List::new()
25 .header(ListHeader::new("Produce"))
26 .child(ListSubHeader::new("Fruits"))
27 .child(ListItem::new("apple").child("Apple"))
28 .child(ListItem::new("banana").child("Banana"))
29 .child(ListItem::new("cherry").child("Cherry"))
30 .child(ListSeparator)
31 .child(ListSubHeader::new("Root Vegetables"))
32 .child(ListItem::new("carrot").child("Carrot"))
33 .child(ListItem::new("potato").child("Potato"))
34 .child(ListSubHeader::new("Leafy Vegetables"))
35 .child(ListItem::new("kale").child("Kale")),
36 )
37 }
38}