@@ -108,9 +108,10 @@ where
let hovered = self.hovered.clone();
move |_, event: &MouseMoveEvent, phase, cx| {
- if phase == DispatchPhase::Capture {
+ if phase == DispatchPhase::Bubble {
if target_bounds.contains_point(event.position) != hovered.load(SeqCst) {
cx.notify();
+ cx.stop_propagation();
}
}
}
@@ -397,6 +397,7 @@ impl<S: 'static + Send + Sync + Clone> ListEntry<S> {
div()
.relative()
+ .group("")
.fill(color.surface)
.when(self.state == InteractionState::Focused, |this| {
this.border().border_color(color.border_focused)
@@ -411,6 +412,8 @@ impl<S: 'static + Send + Sync + Clone> ListEntry<S> {
.h_full()
.flex()
.justify_center()
+ .group_hover("")
+ .fill(color.border_focused)
.child(
h_stack()
.child(div().w_px().h_full())
@@ -24,6 +24,7 @@ pub struct NotificationToast<S: 'static + Send + Sync + Clone> {
impl<S: 'static + Send + Sync + Clone> NotificationToast<S> {
pub fn new(
+ // TODO: use a `SharedString` here
title: impl Into<String>,
message: impl Into<String>,
primary_action: Button<S>,
@@ -19,7 +19,7 @@ pub struct Token {
impl Default for Token {
fn default() -> Self {
Self {
- list_indent_depth: AbsoluteLength::Rems(rems(0.3)),
+ list_indent_depth: rems(0.3).into(),
default_panel_size: AbsoluteLength::Rems(rems(16.)),
state_hover_background: hsla(0.0, 0.0, 0.0, 0.08),
state_active_background: hsla(0.0, 0.0, 0.0, 0.16),
@@ -74,7 +74,8 @@ pub struct ThemeColor {
/// or tapped on a touch screen.
/// - TODO: Map to step 5.
pub filled_element_active: Hsla,
- /// The background color of a selected element, like a selected tab, a button toggled on, or a checkbox that is checked.
+ /// The background color of a selected element, like a selected tab,
+ /// a button toggled on, or a checkbox that is checked.
pub filled_element_selected: Hsla,
pub filled_element_disabled: Hsla,
pub ghost_element: Hsla,