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 .size(ButtonSize::Large)
35 .first(),
36 )
37 .child(
38 ToggleButton::new(2, "Banana")
39 .style(ButtonStyle::Filled)
40 .size(ButtonSize::Large)
41 .middle(),
42 )
43 .child(
44 ToggleButton::new(3, "Cherry")
45 .style(ButtonStyle::Filled)
46 .size(ButtonSize::Large)
47 .middle(),
48 )
49 .child(
50 ToggleButton::new(4, "Dragonfruit")
51 .style(ButtonStyle::Filled)
52 .size(ButtonSize::Large)
53 .last(),
54 ),
55 )
56 .description("Displays a group of toggle buttons.")
57 .usage(""),
58 ),
59 )
60 .child(
61 StorySection::new().child(
62 StoryItem::new(
63 "Toggle button group with selection",
64 h_stack()
65 .child(
66 ToggleButton::new(1, "Apple")
67 .style(ButtonStyle::Filled)
68 .size(ButtonSize::Large)
69 .first(),
70 )
71 .child(
72 ToggleButton::new(2, "Banana")
73 .style(ButtonStyle::Filled)
74 .size(ButtonSize::Large)
75 .selected(true)
76 .middle(),
77 )
78 .child(
79 ToggleButton::new(3, "Cherry")
80 .style(ButtonStyle::Filled)
81 .size(ButtonSize::Large)
82 .middle(),
83 )
84 .child(
85 ToggleButton::new(4, "Dragonfruit")
86 .style(ButtonStyle::Filled)
87 .size(ButtonSize::Large)
88 .last(),
89 ),
90 )
91 .description("Displays a group of toggle buttons.")
92 .usage(""),
93 ),
94 )
95 .into_element()
96 }
97}