scrivito
Version:
Scrivito is a professional, yet easy to use SaaS Enterprise Content Management Service, built for digital agencies and medium to large businesses. It is completely maintenance-free, cost-effective, and has unprecedented performance and security.
18 lines (15 loc) • 411 B
text/typescript
export interface Position {
readonly x: number;
readonly y: number;
}
export function clickPositionWithinElement<T extends HTMLElement>(
clickEvent: React.MouseEvent<T>,
element: T
): Position {
const { clientX: mouseX, clientY: mouseY } = clickEvent;
const { left: elementX, top: elementY } = element.getBoundingClientRect();
return {
x: mouseX - elementX,
y: mouseY - elementY,
};
}