-
-
Notifications
You must be signed in to change notification settings - Fork 32.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modal root element makes certain types of hover interaction impossible #14345
Comments
@jedwards1211 I deleted your issue because, as you say, you were in a state of anger, and the language reflected that. It seemed more appropriate to be discrete than comment publicly, so I contacted you on gitter to let you know I was deleting your issue, and copied the body if it there so that you could reuse the salient parts when you'd had a chance to relax and reflect. You are right, we are all human, and being on the receiving end of vitriol is not pleasant for anyone, either the recipient, or those close by. |
Oh I see, do I show up on Gitter? I didn't realize because I never use Gitter, but I appreciate that you tried to contact me there. I was being self-centered in asking for sympathy, when obviously the way I said things wasn't pleasant for you all to read. I'm sorry. I guess I should just focus on expressing that I've really suffered from trying to debug/solve an issue. |
Am I correct in my understanding that there's no way to prevent the modal root from blocking pointer events while still allowing the modal itself to receive pointer events? Maybe there's something I overlooked? |
@jedwards1211 Do you have a minimal reproducible example? You can use this codesandbox template as a starting point. |
Adding some research notes:
Work:
Resources: |
I want to make clear that I'm not just talking about the modal backdrop; even with that turned off by |
But that means it would block the button or whatever that was originally hovered to open the top-level menu right? My question is why even use an invisible modal root element or backdrop? Is it to determine if the user clicked outside? |
An example of what I'm trying to do can be found here: The menu opens when the button is hovered. Notice how it stays open while the menu or the button itself is hovered, and closes when neither is hovered. It's not very difficult to do something like this by absolute positioning a |
Okay I discovered that even though I still question the logic of rendering a |
Because Modal creates a screen-filling element, it seems like it's impossible to implement something like opening a submenu whenever a MenuItem is hovered. Either it's impossible to tell if the MenuItem is still being hovered (because it's blocked by the modal root), or the submenu can't get any pointer events, if I disable pointer events on its modal root, so that I can see if a MenuItem is being hovered.
My last issue about this seems to have been deleted because I complained about how difficult this has been. It's been very frustrating for me trying to fix this functionality in
material-ui-popup-state
to help one of the people using my library 😢 Can someone please show some sympathy for my frustration? We are humans, not robots. Only robots should be expected to show no emotion at all.I had edited the issue to soften the language I wrote while angry. But I never called anyone names or used threatening language. I think you should allow me to say that I feel angry, and contend that something was a bad idea when I illustrate problems it's causing.
The text was updated successfully, but these errors were encountered: