-
Notifications
You must be signed in to change notification settings - Fork 14
feat: replace custom menu positioning with Floating UI to make it robust #344
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
Conversation
|
Someone is attempting to deploy a commit to the tcaweb Team on Vercel. A member of the Team first needs to authorize it. |
|
Hi @boka-inuits, thanks for your contribution. I'll review it soon. 🙂 |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Also fixes #180 |
|
Deployed in v0.13.0 |
|
I everyone, I just tried updating the library from 0.12.3 to 0.13.0 and while the new positioning feature is working fine in theory, I feel like it's lacking a way of changing styles depending on the menu position (top / bottom)
Working fine
Broken
The easiest way that I can see to fix that issue would be to apply a class to the menu, that would be toggled depending on its positioning, allowing users to set styles that differ depending on the position. This way, the class would allow my example to look fine in both cases, changing the border-radius accordingly. But I don't know if that's something that can be easily done using Floating UI @TotomInc |
|
I see what you mean @thiervoj, I'll consider adding something along Then, you'll be able to use the data-state-position attribute for custom styling. What do you think? |
yes, it's possible to get a position from floating ui. Something like that |
|
Looks perfect to me, thanks @TotomInc ! |


Hi @TotomInc!
This PR is opened to resolve a problem with menu positioning in modals and in general. Those changes will make the user experience better and comfortable.
A link to reproduce issues I wanted to resolve with floating-ui. As you can see, it's not calculating coordinates correctly when using the native dialog or if our modal has a scroll (second example). I was trying to solve it with a fixed position for the menu, but it did not fully resolve the issue. It's problematic for scrollable pages with and without a fixed position.
https://play.vuejs.org/#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
That would be nice if you could merge it. If you don't want to add an extra dep, we can discuss further how to resolve it
That would also resolve #330