{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-constraints/src/client/morphic/node-helpers.js"],"names":["pt","rect","setPosition","node","pos","lively","getPosition","getExtent","bounds","getBoundingClientRect","width","height","setExtent","extent","style","x","y","getBounds","addPt","globalPosition","left","top","document","body","offsetLeft","offsetTop","offsetParent"],"mappings":";;;;;;AAAQA,Q,eAAAA,E;AAAGC,U,eAAAA,I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEJ,eAASC,WAAT,CAAqBC,IAArB,EAA2BC,GAA3B,EAAgC;AACrC,eAAOC,OAAOH,WAAP,CAAmBC,IAAnB,EAAyBC,GAAzB,CAAP;AACD;;;;AAEM,eAASE,WAAT,CAAqBH,IAArB,EAA2B;AAChC,eAAOE,OAAOC,WAAP,CAAmBH,IAAnB,CAAP;AACD;;;;AAEM,eAASI,SAAT,CAAmBJ,IAAnB,EAAyB;AAC9B,YAAIK,SAASL,KAAKM,qBAAL,EAAb;AACA,eAAOT,GAAGQ,OAAOE,KAAV,EAAiBF,OAAOG,MAAxB,CAAP;AACD;;;;AAEM,eAASC,SAAT,CAAmBT,IAAnB,EAAyBU,MAAzB,EAAiC;AACtCV,aAAKW,KAAL,CAAWJ,KAAX,GAAmB,KAAKG,OAAOE,CAAZ,GAAgB,IAAnC;AACAZ,aAAKW,KAAL,CAAWH,MAAX,GAAoB,KAAKE,OAAOG,CAAZ,GAAgB,IAApC;AACD;;;;AAEM,eAASC,SAAT,CAAmBd,IAAnB,EAAyB;AAC9B,YAAIC,MAAME,YAAYH,IAAZ,CAAV;AACA,eAAOF,KAAKG,GAAL,EAAUA,IAAIc,KAAJ,CAAUX,UAAUJ,IAAV,CAAV,CAAV,CAAP;AACD;;;;AAEM,eAASgB,cAAT,CAAwBhB,IAAxB,EAA8B;AACnC,YAAIiB,OAAO,CAAX;AACA,YAAIC,MAAM,CAAV;AACA,eAAOlB,QAAQA,SAASmB,SAASC,IAAjC,EAAuC;AACrCH,kBAAQjB,KAAKqB,UAAb;AACAH,iBAAOlB,KAAKsB,SAAZ;AACAtB,iBAAOA,KAAKuB,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"]}