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}