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}