UNPKG

coherent-gameface-interaction-manager

Version:
26 lines (24 loc) 1.15 kB
/** * * @param {number} diffX - Difference in X axis * @param {number} diffY - Difference in Y axis * @returns {string} */ export function getDirection(diffX, diffY) { const MIN_SWIPE_OFFSET = 200; if (diffY < 0 && diffX > -MIN_SWIPE_OFFSET && diffX < MIN_SWIPE_OFFSET) return 'top'; if (diffY > 0 && diffX > -MIN_SWIPE_OFFSET && diffX < MIN_SWIPE_OFFSET) return 'bottom'; if (diffX < 0 && diffY > -MIN_SWIPE_OFFSET && diffY < MIN_SWIPE_OFFSET) return 'left'; if (diffX > 0 && diffY > -MIN_SWIPE_OFFSET && diffY < MIN_SWIPE_OFFSET) return 'right'; if (diffX <= -MIN_SWIPE_OFFSET && diffY <= -MIN_SWIPE_OFFSET) return 'top-left'; if (diffX >= MIN_SWIPE_OFFSET && diffY <= -MIN_SWIPE_OFFSET) return 'top-right'; if (diffX <= -MIN_SWIPE_OFFSET && diffY >= MIN_SWIPE_OFFSET) return 'bottom-left'; if (diffX >= MIN_SWIPE_OFFSET && diffY >= MIN_SWIPE_OFFSET) return 'bottom-right'; } /** * @param {HTMLElement|string} element * @returns {HTMLElement} */ export function getElement(element) { return element instanceof HTMLElement ? element : document.querySelector(element); }