1use gpui::{Div, Render, ViewContext};
2use story::Story;
3
4use crate::prelude::*;
5use crate::{h_stack, Checkbox};
6
7pub struct CheckboxStory;
8
9impl Render for CheckboxStory {
10 type Element = Div;
11
12 fn render(&mut self, cx: &mut ViewContext<Self>) -> Self::Element {
13 Story::container()
14 .child(Story::title_for::<Checkbox>())
15 .child(Story::label("Default"))
16 .child(
17 h_stack()
18 .p_2()
19 .gap_2()
20 .rounded_md()
21 .border()
22 .border_color(cx.theme().colors().border)
23 .child(Checkbox::new("checkbox-enabled", Selection::Unselected))
24 .child(Checkbox::new(
25 "checkbox-intermediate",
26 Selection::Indeterminate,
27 ))
28 .child(Checkbox::new("checkbox-selected", Selection::Selected)),
29 )
30 .child(Story::label("Disabled"))
31 .child(
32 h_stack()
33 .p_2()
34 .gap_2()
35 .rounded_md()
36 .border()
37 .border_color(cx.theme().colors().border)
38 .child(Checkbox::new("checkbox-disabled", Selection::Unselected).disabled(true))
39 .child(
40 Checkbox::new("checkbox-disabled-intermediate", Selection::Indeterminate)
41 .disabled(true),
42 )
43 .child(
44 Checkbox::new("checkbox-disabled-selected", Selection::Selected)
45 .disabled(true),
46 ),
47 )
48 }
49}