checkbox.rs

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