Skip to content

Commit 8f8815a

Browse files
committed
refactor(localPoint): Swap node and event arguments and allow node to be optional, defaulting to event.currentTarget ?? event.target if not defined
1 parent 914f0f9 commit 8f8815a

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

.changeset/nice-trainers-chew.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@layerstack/utils': minor
3+
---
4+
5+
refactor(localPoint): Swap `node` and `event` arguments and allow `node` to be optional, defaulting to `event.currentTarget ?? event.target` if not defined

packages/utils/src/lib/dom.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,12 @@ export function isVisibleInScrollParent(node: HTMLElement) {
6969
* Matches event.layerX/Y, but is deprecated (https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/layerX).
7070
* Also similar but not identical to event.offsetX/Y
7171
*/
72-
export function localPoint(node: Element, event: MouseEvent | TouchEvent | PointerEvent) {
73-
if (!node || !event) return null;
72+
export function localPoint(event: MouseEvent | TouchEvent | PointerEvent, node?: Element) {
73+
if (!node) {
74+
node = (event.currentTarget as Element) ?? (event.target as Element);
75+
}
76+
77+
if (!node || !event) return { x: 0, y: 0 };
7478

7579
const coords = getPointFromEvent(event);
7680

0 commit comments

Comments
 (0)