{"version":3,"names":["globalPosition","e","pt","clientX","clientY","elementsUnder","pos","elements","Array","from","document","elementsFromPoint","result","filter","ea","isMetaNode","reverse","shadowRoot","unshift","find","tagName","match","distanceTo","yDist","Math","abs","y","xDist","x","sqrt","getTargetNode","target","body","noticableDistanceTo","offset","nodes"],"sources":["event-helpers.js"],"sourcesContent":["import * as nodes from './node-helpers.js';\nimport {pt} from '../graphics.js';\n\n// todo: export class wrappers\n\n/**\nEvent(e).globalPosition();\n*/\n\nvar offset = 30;\n\nexport function globalPosition(e) {\n  return pt(e.clientX, e.clientY)\n}\n\nexport function elementsUnder(e) {\n  \n  var pos = globalPosition(e);\n  var elements = Array.from(document.elementsFromPoint(e.clientX, e.clientY));\n  \n  var result = Array.from(elements).filter(ea => !ea.isMetaNode)\n  // go deep one level #ContinueHere\n  for(var ea of elements.reverse()) {\n    if (ea.shadowRoot && ea.shadowRoot.elementsFromPoint) {\n      result.unshift(...Array.from(ea.shadowRoot.elementsFromPoint(e.clientX, e.clientY)).filter(ea => !ea.isMetaNode))\n      \n    }\n  }\n  if (result.find(ea => ea.tagName && ea.tagName.match(\"HALO\"))) {\n      debugger\n  }\n                  \n  return result\n}\n\nexport function distanceTo(e, pos) {\n  var yDist = Math.abs(pos.y - globalPosition(e).y);\n  var xDist = Math.abs(pos.x - globalPosition(e).x);\n  return Math.sqrt((xDist * xDist) + (yDist * yDist))\n}\n\nexport function getTargetNode(e) {\n  var target = elementsUnder(e)[0];\n  return document.body === target ? null : target;\n}\n\nexport function noticableDistanceTo(e, pos) {\n  return distanceTo(e, pos) > offset;\n}\n"],"mappings":";;;;EAWO,SAASA,cAAc,CAACC,CAAC,EAAE;IAChC,OAAOC,EAAE,CAACD,CAAC,CAACE,OAAO,EAAEF,CAAC,CAACG,OAAO,CAAC;EACjC;EAEO,SAASC,aAAa,CAACJ,CAAC,EAAE;IAE/B,IAAIK,GAAG,GAAGN,cAAc,CAACC,CAAC,CAAC;IAC3B,IAAIM,QAAQ,GAAGC,KAAK,CAACC,IAAI,CAACC,QAAQ,CAACC,iBAAiB,CAACV,CAAC,CAACE,OAAO,EAAEF,CAAC,CAACG,OAAO,CAAC,CAAC;IAE3E,IAAIQ,MAAM,GAAGJ,KAAK,CAACC,IAAI,CAACF,QAAQ,CAAC,CAACM,MAAM,CAACC,EAAE,IAAI,CAACA,EAAE,CAACC,UAAU,CAAC;IAC9D;IACA,KAAI,IAAID,EAAE,IAAIP,QAAQ,CAACS,OAAO,EAAE,EAAE;MAChC,IAAIF,EAAE,CAACG,UAAU,IAAIH,EAAE,CAACG,UAAU,CAACN,iBAAiB,EAAE;QACpDC,MAAM,CAACM,OAAO,CAAC,GAAGV,KAAK,CAACC,IAAI,CAACK,EAAE,CAACG,UAAU,CAACN,iBAAiB,CAACV,CAAC,CAACE,OAAO,EAAEF,CAAC,CAACG,OAAO,CAAC,CAAC,CAACS,MAAM,CAACC,EAAE,IAAI,CAACA,EAAE,CAACC,UAAU,CAAC,CAAC;MAEnH;IACF;IACA,IAAIH,MAAM,CAACO,IAAI,CAACL,EAAE,IAAIA,EAAE,CAACM,OAAO,IAAIN,EAAE,CAACM,OAAO,CAACC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;MAC3D;IACJ;IAEA,OAAOT,MAAM;EACf;EAEO,SAASU,UAAU,CAACrB,CAAC,EAAEK,GAAG,EAAE;IACjC,IAAIiB,KAAK,GAAGC,IAAI,CAACC,GAAG,CAACnB,GAAG,CAACoB,CAAC,GAAG1B,cAAc,CAACC,CAAC,CAAC,CAACyB,CAAC,CAAC;IACjD,IAAIC,KAAK,GAAGH,IAAI,CAACC,GAAG,CAACnB,GAAG,CAACsB,CAAC,GAAG5B,cAAc,CAACC,CAAC,CAAC,CAAC2B,CAAC,CAAC;IACjD,OAAOJ,IAAI,CAACK,IAAI,CAAEF,KAAK,GAAGA,KAAK,GAAKJ,KAAK,GAAGA,KAAM,CAAC;EACrD;EAEO,SAASO,aAAa,CAAC7B,CAAC,EAAE;IAC/B,IAAI8B,MAAM,GAAG1B,aAAa,CAACJ,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,OAAOS,QAAQ,CAACsB,IAAI,KAAKD,MAAM,GAAG,IAAI,GAAGA,MAAM;EACjD;EAEO,SAASE,mBAAmB,CAAChC,CAAC,EAAEK,GAAG,EAAE;IAC1C,OAAOgB,UAAU,CAACrB,CAAC,EAAEK,GAAG,CAAC,GAAG4B,MAAM;EACpC;EAAC;IAAA,gBArCelC,cAAc;IAAA,eAIdK,aAAa;IAAA,YAoBbiB,UAAU;IAAA,eAMVQ,aAAa;IAAA,qBAKbG;EAAmB;EAAA;IAAA;MA9CvBE,KAAK;IAAA;MACTjC,EAAE,eAAFA,EAAE;IAAA;IAAA;MAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,+BA6CM+B,oDAAmB;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,yBALnBH,8CAAa;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,sBANbR,2CAAU;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,yBApBVjB,8CAAa;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,0BAJbL,+CAAc;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAXlBmC,sCAAK;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UACTjC,mCAAE;UAAA;QAAA;QAAA;QAAA;MAAA;MAEV;MAEA;AACA;AACA;MAEIgC,MAAM,GAAG,EAAE;MAAA;QAAA;UAAA;QAAA;QAAA;UAAXA,uCAAM;UAAA;QAAA;QAAA;QAAA;MAAA;IAAA;EAAA;AAAA"}