{"version":3,"file":"dom_event.mjs","names":[],"sources":["../../../src/util/dom_event.ts"],"sourcesContent":["import type { TPointerEvent } from '../EventTypeDefs';\nimport { Point } from '../Point';\nimport { getScrollLeftTop } from './dom_misc';\n\nconst touchEvents = ['touchstart', 'touchmove', 'touchend'];\n\nfunction getTouchInfo(event: TouchEvent | MouseEvent): MouseEvent | Touch {\n  const touchProp = (event as TouchEvent).changedTouches;\n  if (touchProp && touchProp[0]) {\n    return touchProp[0];\n  }\n  return event as MouseEvent;\n}\n\nexport const getPointer = (event: TPointerEvent): Point => {\n  const element = event.target as HTMLElement,\n    scroll = getScrollLeftTop(element),\n    _evt = getTouchInfo(event);\n  return new Point(_evt.clientX + scroll.left, _evt.clientY + scroll.top);\n};\n\nexport const isTouchEvent = (event: TPointerEvent) =>\n  touchEvents.includes(event.type) ||\n  (event as PointerEvent).pointerType === 'touch';\n\nexport const stopEvent = (e: Event) => {\n  e.preventDefault();\n  e.stopPropagation();\n};\n"],"mappings":";;;AAIA,MAAM,cAAc;CAAC;CAAc;CAAa;CAAW;AAE3D,SAAS,aAAa,OAAoD;CACxE,MAAM,YAAa,MAAqB;AACxC,KAAI,aAAa,UAAU,GACzB,QAAO,UAAU;AAEnB,QAAO;;AAGT,MAAa,cAAc,UAAgC;CACzD,MAAM,UAAU,MAAM,QACpB,SAAS,iBAAiB,QAAQ,EAClC,OAAO,aAAa,MAAM;AAC5B,QAAO,IAAI,MAAM,KAAK,UAAU,OAAO,MAAM,KAAK,UAAU,OAAO,IAAI;;AAGzE,MAAa,gBAAgB,UAC3B,YAAY,SAAS,MAAM,KAAK,IAC/B,MAAuB,gBAAgB;AAE1C,MAAa,aAAa,MAAa;AACrC,GAAE,gBAAgB;AAClB,GAAE,iBAAiB"}