checkbox.rs

 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}