1use gpui::{Component, Render};
2use story::{StoryContainer, StoryItem, StorySection};
3
4use crate::{prelude::*, ToggleButton};
5
6pub struct ToggleButtonStory;
7
8impl Render for ToggleButtonStory {
9 type Element = Component<StoryContainer>;
10
11 fn render(&mut self, _cx: &mut ViewContext<Self>) -> Self::Element {
12 StoryContainer::new(
13 "Toggle Button",
14 "crates/ui2/src/components/stories/toggle_button.rs",
15 )
16 .child(
17 StorySection::new().child(
18 StoryItem::new(
19 "Default",
20 ToggleButton::new("default_toggle_button", "Hello"),
21 )
22 .description("Displays a toggle button.")
23 .usage(""),
24 ),
25 )
26 .child(
27 StorySection::new().child(
28 StoryItem::new(
29 "Toggle button group",
30 h_stack()
31 .child(
32 ToggleButton::new(1, "Apple")
33 .style(ButtonStyle::Filled)
34 .first(),
35 )
36 .child(
37 ToggleButton::new(2, "Banana")
38 .style(ButtonStyle::Filled)
39 .middle(),
40 )
41 .child(
42 ToggleButton::new(3, "Cherry")
43 .style(ButtonStyle::Filled)
44 .middle(),
45 )
46 .child(
47 ToggleButton::new(4, "Dragonfruit")
48 .style(ButtonStyle::Filled)
49 .last(),
50 ),
51 )
52 .description("Displays a group of toggle buttons.")
53 .usage(""),
54 ),
55 )
56 .child(
57 StorySection::new().child(
58 StoryItem::new(
59 "Toggle button group with selection",
60 h_stack()
61 .child(
62 ToggleButton::new(1, "Apple")
63 .style(ButtonStyle::Filled)
64 .first(),
65 )
66 .child(
67 ToggleButton::new(2, "Banana")
68 .style(ButtonStyle::Filled)
69 .selected(true)
70 .middle(),
71 )
72 .child(
73 ToggleButton::new(3, "Cherry")
74 .style(ButtonStyle::Filled)
75 .middle(),
76 )
77 .child(
78 ToggleButton::new(4, "Dragonfruit")
79 .style(ButtonStyle::Filled)
80 .last(),
81 ),
82 )
83 .description("Displays a group of toggle buttons.")
84 .usage(""),
85 ),
86 )
87 .into_element()
88 }
89}