UNPKG

preact-material-design

Version:
42 lines 1.18 kB
var Coord2d = (function () { function Coord2d(x, y) { this.x = x; this.y = y; } Coord2d.fromXY = function (x, y) { return new Coord2d(x, y); }; Coord2d.fromMouseEvent = function (evt, strategy, target) { if (strategy === void 0) { strategy = 'offset'; } if (strategy === 'offset' && target) { var offset = calculateOffset(evt, target); return new Coord2d(offset.x, offset.y); } return new Coord2d(evt[strategy + "X"], evt[strategy + "Y"]); }; return Coord2d; }()); export { Coord2d }; function calculateOffset(evt, target) { var offset = { x: evt.offsetX, y: evt.offsetY, }; if (evt.target === target) { return offset; } var element = evt.target; var guard = 0; while (element !== target) { guard++; offset.x += element.offsetLeft; offset.y += element.offsetTop; element = element.offsetParent; if (guard > 20) { // Prevent infinite looping break; } } return offset; } //# sourceMappingURL=types.js.map