pikax / vue-composable

Vue composition-api composable components. i18n, validation, pagination, fetch, etc. +50 different composables
https://pikax.me/vue-composable/
MIT License
1.17k stars 67 forks source link

It would be better with element.getBoundingClientRect() #1032

Open mihalcea-bogdan-daniel opened 1 year ago

mihalcea-bogdan-daniel commented 1 year ago

https://github.com/pikax/vue-composable/blob/879528a1aa7633b9c594021d196ab9df37c41ddd/packages/vue-composable/src/dom/mouseDistanceFromElement.ts#L54

I don't have time right now to fork-fix-pull request. I will do it in 1 week from now if you want.

Awesome repository! ❤️

mihalcea-bogdan-daniel commented 1 year ago

Something like this I did.

export interface BoundingClientRect {
  bottom: number,
  left: number,
  right: number,
  height: number,
  top: number,
  width: number,
  x: number,
  y: number
}

const rect:BoundingClientRect = elem.$el.getBoundingClientRect();
      return Math.floor(
        Math.sqrt(
          Math.pow(pageX.value - (rect.left + rect.width / 2), 2) +
            Math.pow(pageY.value - (rect.top + rect.height / 2), 2)
        )
      );