From 11807bb82db910e6ac0f09246b4c14b991845fe4 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Wed, 20 Dec 2023 18:47:22 -0500 Subject: [PATCH] Add large variant for buttons --- crates/search2/src/buffer_search.rs | 2 ++ crates/ui2/src/components/button/button_like.rs | 3 +++ crates/ui2/src/components/stories/toggle_button.rs | 8 ++++++++ 3 files changed, 13 insertions(+) diff --git a/crates/search2/src/buffer_search.rs b/crates/search2/src/buffer_search.rs index f4f350893a484185759e8011266923d1b2eac83d..eae741afde5ff114198c9ff10a4969d9e81fae88 100644 --- a/crates/search2/src/buffer_search.rs +++ b/crates/search2/src/buffer_search.rs @@ -255,6 +255,7 @@ impl Render for BufferSearchBar { .child( ToggleButton::new("search-mode-text", SearchMode::Text.label()) .style(ButtonStyle::Filled) + .size(ButtonSize::Large) .selected(self.current_mode == SearchMode::Text) .on_click(cx.listener(move |_, _event, cx| { cx.dispatch_action(SearchMode::Text.action()) @@ -271,6 +272,7 @@ impl Render for BufferSearchBar { .child( ToggleButton::new("search-mode-regex", SearchMode::Regex.label()) .style(ButtonStyle::Filled) + .size(ButtonSize::Large) .selected(self.current_mode == SearchMode::Regex) .on_click(cx.listener(move |_, _event, cx| { cx.dispatch_action(SearchMode::Regex.action()) diff --git a/crates/ui2/src/components/button/button_like.rs b/crates/ui2/src/components/button/button_like.rs index b25ac1d1ecf64dab50af7c4c3ca8e1d188968e7c..44e18e850d8496c7994c84abaedf8ef650602229 100644 --- a/crates/ui2/src/components/button/button_like.rs +++ b/crates/ui2/src/components/button/button_like.rs @@ -233,6 +233,7 @@ impl ButtonStyle { /// that are consistently sized with buttons. #[derive(Default, PartialEq, Clone, Copy)] pub enum ButtonSize { + Large, #[default] Default, Compact, @@ -242,6 +243,7 @@ pub enum ButtonSize { impl ButtonSize { fn height(self) -> Rems { match self { + ButtonSize::Large => rems(32. / 16.), ButtonSize::Default => rems(22. / 16.), ButtonSize::Compact => rems(18. / 16.), ButtonSize::None => rems(16. / 16.), @@ -377,6 +379,7 @@ impl RenderOnce for ButtonLike { }) .gap_1() .map(|this| match self.size { + ButtonSize::Large => this.px_2(), ButtonSize::Default | ButtonSize::Compact => this.px_1(), ButtonSize::None => this, }) diff --git a/crates/ui2/src/components/stories/toggle_button.rs b/crates/ui2/src/components/stories/toggle_button.rs index 6fe741ada3b8059aa0d946025e4abdddeb443335..0a4ea5f83eb968a94aaf97ad611a0a561d6cbc63 100644 --- a/crates/ui2/src/components/stories/toggle_button.rs +++ b/crates/ui2/src/components/stories/toggle_button.rs @@ -31,21 +31,25 @@ impl Render for ToggleButtonStory { .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(), ), ) @@ -61,22 +65,26 @@ impl Render for ToggleButtonStory { .child( ToggleButton::new(1, "Apple") .style(ButtonStyle::Filled) + .size(ButtonSize::Large) .first(), ) .child( ToggleButton::new(2, "Banana") .style(ButtonStyle::Filled) + .size(ButtonSize::Large) .selected(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(), ), )