Giter VIP home page Giter VIP logo

Comments (3)

alexandertrefz avatar alexandertrefz commented on August 29, 2024 1

The button has the correct location on mousedown, just not on mouseup/click, when (I presume) the function that shows the flyout is being called and the location is currently being queried.

Could the correct location not simply be saved upon mousedown in some local state, and then used when the Flyout is being shown?

Otherwise the approach from the video seems decent, at least as a temporary fix, but at the same time this doesn't seem like an "urgent" issue that needs a temporary fix.

from reshaped.

blvdmitry avatar blvdmitry commented on August 29, 2024 1

Fixed it, I think the lazy part of me was speaking before since all bounds calculations were happening outside the component 😅
Now I'm saving the bounds on mousedown for cases when user might click the trigger and using the old way as a fallback.

Merging it in a bit, going to be officially announced in 3.2 but will appear in one of the upcoming patch releases as well

Screen.Recording.2024-08-15.at.00.03.32.mov

from reshaped.

blvdmitry avatar blvdmitry commented on August 29, 2024

Yes, I can confirm this is happening because of the button scaling.

It seems like the most straightforward way to fix the issue is to temporary drop the transition from the trigger when opening a dropdown. Main tradeoff is that it might not work for all types of transitions (e.g. might be noticeable in case it's used with custom long transition), however it would mean the position is calculated correctly.

Other approach I thought about is to calculate the bounds differently (with offsetTop/Left resolving for example), but that would mean positioning will stop respecting any transforms at all, unless those are calculated manually as well.

An example of the 1st approach, wdyt?

Screen.Recording.2024-08-14.at.00.55.09.mov

from reshaped.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.