Interactive state doesn't reset after overlay is closed

Yes I know this topic has been raised before, but I would like to raise it again, since it is breaking the core interaction in my design system. Is Figma even aware of this issue? Since the last discussion about it is ~2years ago, and this issue still exists.

Steps:

  • Create a Button component set with 2 variants: Default, On Press
  • Add interactions in the variant: “Default” → While pressing → Change to “On Press”
  • Insert an instance of the “Default” button into a new Frame
  • Add interactions to the button: On Click → Open overlay. Check the “Close when clicking outside” box.
  • Test the prototype

Results

  • When you click the button, the button change to “On Press”, the overlay opens, but when clicking outside the overlay to close it, the button does not reset back to “Default”.

Expected:
The button should reset to “Default”.

4 Likes

Hi, do you have any updates on this issue? I have exact the same problem. »While pressing« stops working and the pressed state doesn’t switch to default.

Thank you for posting this. I am having the same issue, and I have not found a workaround. On PC, I was able to add a mouse leave interaction to reset it, but on mobile, it stays in my pressed state. This is very frustrating.

I’ve read this article but it doesn’t seem to help here: https://help.figma.com/hc/en-us/articles/14397859494295-State-management-for-prototypes

Enabling Reset Component State doesn’t work. I’m guessing that is because the overlay doesn’t contain the component. I believe that setting is meant for navigating between frames that have matching objects.

One possible workaround would be to enable that option and add a matching object to the overlay but make it hidden. I’ll try that tomorrow.

Yeah, I also tried it with Mouse Leave, but even then, you’ll actually have to Re-enter your mouse on to it then leave. Only then it will switch back the normal state.

My only workaround for now is to set a 2000ms After Delay on the pressed state. At least then it won’t be stuck forever…

1 Like

Thanks for the idea on the delay on the pressed state. I have updated my prototype as well. I checked on the reset component state, but that doesn’t appear to work either. It appears to work if that object is visible on the overlay frame, but if I hide that object, then it doesn’t work which obviously does me no good.

It would seem this whole behavior is a bug that Figma needs to address. The overlay interaction should not be preserving a state that is triggered “while hovering” or “while pressed”.