checkbox.rs

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