ngx-input-color
Version:
Angular color input component and color picker (with HSL, HSV, RGB, CMYK, HEX, alpha, eye-dropper, etc)
20 lines • 2.69 kB
JavaScript
export function getOffsetPosition(evt, parent) {
let position = {
x: 0,
y: 0,
};
if (evt instanceof MouseEvent) {
position.x = evt.pageX;
position.y = evt.pageY;
}
else if (evt.touches && evt.touches.length > 0) {
position.x = evt.touches[0].pageX;
position.y = evt.touches[0].pageY;
}
// Adjust for the parent's offset
let parentRect = parent.getBoundingClientRect();
position.x -= parentRect.left + window.scrollX;
position.y -= parentRect.top + window.scrollY;
return position;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW9mZnNldC1wb3NpdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1pbnB1dC1jb2xvci9zcmMvdXRpbHMvZ2V0LW9mZnNldC1wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLEdBQTRCLEVBQzVCLE1BQW1CO0lBRW5CLElBQUksUUFBUSxHQUFHO1FBQ2IsQ0FBQyxFQUFFLENBQUM7UUFDSixDQUFDLEVBQUUsQ0FBQztLQUNMLENBQUM7SUFFRixJQUFJLEdBQUcsWUFBWSxVQUFVLEVBQUUsQ0FBQztRQUM5QixRQUFRLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFDdkIsUUFBUSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUM7U0FBTSxJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakQsUUFBUSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNsQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxpQ0FBaUM7SUFDakMsSUFBSSxVQUFVLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDaEQsUUFBUSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDL0MsUUFBUSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFFOUMsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBnZXRPZmZzZXRQb3NpdGlvbihcclxuICBldnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50LFxyXG4gIHBhcmVudDogSFRNTEVsZW1lbnRcclxuKSB7XHJcbiAgbGV0IHBvc2l0aW9uID0ge1xyXG4gICAgeDogMCxcclxuICAgIHk6IDAsXHJcbiAgfTtcclxuXHJcbiAgaWYgKGV2dCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpIHtcclxuICAgIHBvc2l0aW9uLnggPSBldnQucGFnZVg7XHJcbiAgICBwb3NpdGlvbi55ID0gZXZ0LnBhZ2VZO1xyXG4gIH0gZWxzZSBpZiAoZXZ0LnRvdWNoZXMgJiYgZXZ0LnRvdWNoZXMubGVuZ3RoID4gMCkge1xyXG4gICAgcG9zaXRpb24ueCA9IGV2dC50b3VjaGVzWzBdLnBhZ2VYO1xyXG4gICAgcG9zaXRpb24ueSA9IGV2dC50b3VjaGVzWzBdLnBhZ2VZO1xyXG4gIH1cclxuXHJcbiAgLy8gQWRqdXN0IGZvciB0aGUgcGFyZW50J3Mgb2Zmc2V0XHJcbiAgbGV0IHBhcmVudFJlY3QgPSBwYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgcG9zaXRpb24ueCAtPSBwYXJlbnRSZWN0LmxlZnQgKyB3aW5kb3cuc2Nyb2xsWDtcclxuICBwb3NpdGlvbi55IC09IHBhcmVudFJlY3QudG9wICsgd2luZG93LnNjcm9sbFk7XHJcblxyXG4gIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG4iXX0=