use gpui::Render; use story::{Story, StoryItem, StorySection}; use crate::{ToggleButton, prelude::*}; pub struct ToggleButtonStory; impl Render for ToggleButtonStory { fn render(&mut self, _window: &mut Window, _cx: &mut Context) -> impl IntoElement { Story::container() .child(Story::title_for::()) .child( StorySection::new().child( StoryItem::new( "Default", ToggleButton::new("default_toggle_button", "Hello"), ) .description("Displays a toggle button.") .usage(""), ), ) .child( StorySection::new().child( StoryItem::new( "Toggle button group", h_flex() .child( ToggleButton::new(1, "Apple") .style(ButtonStyle::Filled) .size(ButtonSize::Large) .first(), ) .child( ToggleButton::new(2, "Banana") .style(ButtonStyle::Filled) .size(ButtonSize::Large) .middle(), ) .child( ToggleButton::new(3, "Cherry") .style(ButtonStyle::Filled) .size(ButtonSize::Large) .middle(), ) .child( ToggleButton::new(4, "Dragonfruit") .style(ButtonStyle::Filled) .size(ButtonSize::Large) .last(), ), ) .description("Displays a group of toggle buttons.") .usage(""), ), ) .child( StorySection::new().child( StoryItem::new( "Toggle button group with selection", h_flex() .child( ToggleButton::new(1, "Apple") .style(ButtonStyle::Filled) .size(ButtonSize::Large) .first(), ) .child( ToggleButton::new(2, "Banana") .style(ButtonStyle::Filled) .size(ButtonSize::Large) .toggle_state(true) .middle(), ) .child( ToggleButton::new(3, "Cherry") .style(ButtonStyle::Filled) .size(ButtonSize::Large) .middle(), ) .child( ToggleButton::new(4, "Dragonfruit") .style(ButtonStyle::Filled) .size(ButtonSize::Large) .last(), ), ) .description("Displays a group of toggle buttons.") .usage(""), ), ) .into_element() } }