boltz-ui 0.2.8

High-level reusable GPUI UI components (Label, Button, Input, etc.).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use gpui::{InteractiveElement, SharedString, Styled};

/// A trait for elements that can be made visible on hover by
/// tracking a specific group.
pub trait VisibleOnHover {
    /// Sets the element to only be visible when the specified group is hovered.
    ///
    /// Pass `""` as the `group_name` to use the global group.
    fn visible_on_hover(self, group_name: impl Into<SharedString>) -> Self;
}

impl<E: InteractiveElement + Styled> VisibleOnHover for E {
    fn visible_on_hover(self, group_name: impl Into<SharedString>) -> Self {
        self.invisible()
            .group_hover(group_name, |style| style.visible())
    }
}