fix(button): unfocus on click to prevent multiple focused buttons

This commit is contained in:
Michael Aaron Murphy 2025-03-24 04:27:41 +01:00
parent ae5bb40d6e
commit d011be6feb
No known key found for this signature in database
GPG key ID: B2732D4240C9212C

View file

@ -724,12 +724,14 @@ pub fn update<'a, Message: Clone>(
match event {
Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left))
| Event::Touch(touch::Event::FingerPressed { .. }) => {
// Unfocus the button on clicks in case another widget was clicked.
let state = state();
state.unfocus();
if on_press.is_some() || on_press_down.is_some() {
let bounds = layout.bounds();
if cursor.is_over(bounds) {
let state = state();
state.is_pressed = true;
if let Some(on_press_down) = on_press_down {