{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-active-expression-proxies/test/templates/templates-fixture.js"],"names":["MockEvent","constructor","element","options","srcElement","generatePath","Object","keys","forEach","ea","composedPath","path","push","parentElement","preventDefault","stopPropagation","testWorld","world","document","body","querySelector","createElement","id","isWorld","style","backgroundColor","display","appendChild","createHTML","htmlString","tmp","innerHTML","childNodes","loadComponent","name","component","lively","components","createComponent","isInTesting","openIn","e","console","log","stack","Error"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,YAAMA,SAAN,CAAgB;;AAErBC,oBAAYC,OAAZ,EAAqBC,OAArB,EAA8B;AAC5B,eAAKC,UAAL,GAAkBF,OAAlB;AACA,eAAKG,YAAL,CAAkBH,OAAlB;;AAEA,cAAIC,OAAJ,EAAa;AACXG,mBAAOC,IAAP,CAAYJ,OAAZ,EAAqBK,OAArB,CAA6BC,MAAM;AACjC,mBAAKA,EAAL,IAAWN,QAAQM,EAAR,CAAX;AACD,aAFD;AAGD;AACF;;AAEDC,uBAAe;AACb,iBAAO,KAAKC,IAAZ;AACD;;AAGDN,qBAAaH,OAAb,EAAsB;AACpB,cAAI,CAAC,KAAKS,IAAV,EAAgB,KAAKA,IAAL,GAAY,EAAZ;AAChB,cAAIT,OAAJ,EAAa;AACX,iBAAKS,IAAL,CAAUC,IAAV,CAAeV,OAAf;AACA,iBAAKG,YAAL,CAAkBH,QAAQW,aAA1B;AACD;AACF;;AAEDC,yBAAiB;AACf;AACD;;AAEDC,0BAAkB;AAChB;AACD;;AAhCoB;;;;;;;;;;;;;;;;;;AA0ChB,eAASC,SAAT,GAAqB;AAC1B,YAAIC,QAAQC,SAASC,IAAT,CAAcC,aAAd,CAA4B,YAA5B,CAAZ;AACA,YAAIH,KAAJ,EAAW,OAAOA,KAAP;AACXA,mCAAQC,SAASG,aAAT,CAAuB,KAAvB,CAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACAJ,cAAMK,EAAN,GAAW,WAAX;AACAL,cAAMM,OAAN,GAAgB,IAAhB;AACAN,cAAMO,KAAN,CAAYC,eAAZ,GAA8B,MAA9B;AACAR,cAAMO,KAAN,CAAYE,OAAZ,GAAsB,MAAtB;AACAR,iBAASC,IAAT,CAAcQ,WAAd,CAA0BV,KAA1B;AACA,eAAOA,KAAP;AACD;;;;AAEM,eAASW,UAAT,CAAoBC,UAApB,EAAgC;AACrC,YAAIC,yBAAMZ,SAASG,aAAT,CAAuB,KAAvB,CAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAAJ;AACAS,YAAIC,SAAJ,GAAgBF,UAAhB;AACA,YAAI3B,UAAW4B,IAAIE,UAAJ,CAAe,CAAf,CAAf;AACAhB,oBAAYW,WAAZ,CAAwBzB,OAAxB;AACA,eAAOA,OAAP;AACD;;AAED;;;;AACO,qBAAe+B,aAAf,CAA6BC,IAA7B,EAAmC;;AAExC,YAAIjB,QAAQD,WAAZ;AACA,YAAImB,YAAYC,OAAOC,UAAP,CAAkBC,eAAlB,CAAkCJ,IAAlC,CAAhB;AACAC,kBAAUI,WAAV,GAAwB,IAAxB;;AAEA,YAAI;AACF,iBAAO,MAAMH,OAAOC,UAAP,CAAkBG,MAAlB,CAAyBvB,KAAzB,EAAgCkB,SAAhC,CAAb;AACD,SAFD,CAEE,OAAMM,CAAN,EAAS;AACTC,kBAAQC,GAAR,CAAY,gCAAiCF,EAAEG,KAA/C;AACA,gBAAM,IAAIC,KAAJ,CAAU,yBAAyBX,IAAnC,CAAN;AACD;;AAEC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEH","file":"templates-fixture.js","sourcesContent":["\n\nexport class MockEvent {\n  \n  constructor(element, options) {\n    this.srcElement = element;\n    this.generatePath(element)\n    \n    if (options) {\n      Object.keys(options).forEach(ea => {\n        this[ea] = options[ea]\n      })\n    }\n  }\n  \n  composedPath() {\n    return this.path\n  }\n  \n  \n  generatePath(element) {\n    if (!this.path) this.path = [];\n    if (element) {\n      this.path.push(element)\n      this.generatePath(element.parentElement)\n    }\n  }\n\n  preventDefault() {\n    // nothing to do\n  }\n\n  stopPropagation() {\n    // nothing to do\n  }\n\n  \n  \n}\n\n\n\n\n\nexport function testWorld() {\n  var world = document.body.querySelector(\"#testworld\");\n  if (world) return world;\n  world = document.createElement(\"div\");\n  world.id = \"testworld\";\n  world.isWorld = true\n  world.style.backgroundColor = \"gray\"\n  world.style.display = \"none\";\n  document.body.appendChild(world);\n  return world;\n}\n\nexport function createHTML(htmlString) {\n  var tmp = document.createElement(\"div\")\n  tmp.innerHTML = htmlString\n  var element  = tmp.childNodes[0]\n  testWorld().appendChild(element)\n  return element\n}\n\n// #TODO extract this to lively.components\nexport async function loadComponent(name) {\n\n  var world = testWorld();\n  var component = lively.components.createComponent(name);\n  component.isInTesting = true;\n\n  try {\n    return await lively.components.openIn(world, component);\n  } catch(e) {\n    console.log(\"[test load component] ERRIR\" +  e.stack )\n    throw new Error(\"LoadComponentError: \" + name)\n  }\n  \n    // window.LastRegistered = component; // I don't understand this #TODO #Jens why does it work when this line is in?\n    // component.addEventListener(\"created\", function (evt) {\n    //   console.log(\"[TEST LOAD ] \" + name + \" LOADED \" + evt.path[0].tagName)\n    //   if (evt.path[0] !== component) return; // not me\n    //   console.log(\"created component: \" + name)\n    //   evt.stopPropagation();\n    //   resolve(component);\n    // }); \n    // lively.components.loadByName(name);\n\n}"]}