{"version":3,"sources":["https://lively-kernel.org/lively4/swd21-event-sourcing/src/client/morphic/node-helpers.js"],"names":["pt","rect","globalPosition","getBounds","setExtent","getExtent","getPosition","setPosition","node","pos","lively","bounds","getBoundingClientRect","width","height","extent","style","x","y","addPt","left","top","document","body","offsetLeft","offsetTop","offsetParent"],"mappings":";;;;;;AAAQA,Q,eAAAA,E;AAAGC,U,eAAAA,I;;;;;;;;;;;oCAyBKC,+C;;;;;;;;;;;;;;+BALAC,0C;;;;;;;;;;;;;;+BALAC,0C;;;;;;;;;;;;;;+BALAC,0C;;;;;;;;;;;;;;iCAJAC,4C;;;;;;;;;;;;;;iCAJAC,4C;;;;;;;;;;;;;;AAFLN,+C;;;;;;;;;;;;;AAAHD,6C;;;;;;;AAED,eAASO,WAAT,CAAqBC,IAArB,EAA2BC,GAA3B,EAAgC;AACrC,eAAOC,OAAOH,WAAP,CAAmBC,IAAnB,EAAyBC,GAAzB,CAAP;AACD;;;;AAEM,eAASH,WAAT,CAAqBE,IAArB,EAA2B;AAChC,eAAOE,OAAOJ,WAAP,CAAmBE,IAAnB,CAAP;AACD;;;;AAEM,eAASH,SAAT,CAAmBG,IAAnB,EAAyB;AAC9B,YAAIG,SAASH,KAAKI,qBAAL,EAAb;AACA,eAAOZ,GAAGW,OAAOE,KAAV,EAAiBF,OAAOG,MAAxB,CAAP;AACD;;;;AAEM,eAASV,SAAT,CAAmBI,IAAnB,EAAyBO,MAAzB,EAAiC;AACtCP,aAAKQ,KAAL,CAAWH,KAAX,GAAmB,KAAKE,OAAOE,CAAZ,GAAgB,IAAnC;AACAT,aAAKQ,KAAL,CAAWF,MAAX,GAAoB,KAAKC,OAAOG,CAAZ,GAAgB,IAApC;AACD;;;;AAEM,eAASf,SAAT,CAAmBK,IAAnB,EAAyB;AAC9B,YAAIC,MAAMH,YAAYE,IAAZ,CAAV;AACA,eAAOP,KAAKQ,GAAL,EAAUA,IAAIU,KAAJ,CAAUd,UAAUG,IAAV,CAAV,CAAV,CAAP;AACD;;;;AAEM,eAASN,cAAT,CAAwBM,IAAxB,EAA8B;AACnC,YAAIY,OAAO,CAAX;AACA,YAAIC,MAAM,CAAV;AACA,eAAOb,QAAQA,SAASc,SAASC,IAAjC,EAAuC;AACrCH,kBAAQZ,KAAKgB,UAAb;AACAH,iBAAOb,KAAKiB,SAAZ;AACAjB,iBAAOA,KAAKkB,YAAZ;AACD;AACD,eAAO1B,GAAGoB,IAAH,EAASC,GAAT,CAAP;AACD","file":"node-helpers.js","sourcesContent":["import {pt,rect} from '../graphics.js'\n\nexport function setPosition(node, pos) {\n  return lively.setPosition(node, pos)\n}\n\nexport function getPosition(node) {\n  return lively.getPosition(node)\n}\n\nexport function getExtent(node) {\n  var bounds = node.getBoundingClientRect()\n  return pt(bounds.width, bounds.height)\n}\n\nexport function setExtent(node, extent) {\n  node.style.width = '' + extent.x + 'px';\n  node.style.height = '' + extent.y + 'px';\n}\n\nexport function getBounds(node) {\n  var pos = getPosition(node)\n  return rect(pos, pos.addPt(getExtent(node)))\n}\n\nexport function globalPosition(node) {\n  var left = 0;\n  var top = 0;\n  while (node && node !== document.body) {\n    left += node.offsetLeft;\n    top += node.offsetTop;\n    node = node.offsetParent;\n  }\n  return pt(left, top)\n}\n"]}