{"version":3,"sources":["https://lively-kernel.org/lively4/composed-offset/src/client/preload-components.js"],"names":["preloaWebComponents","tagNames","namesToPreload","difference","Object","keys","lively","components","templates","loadingPromises","map","tagName","tag","document","createElement","style","display","setAttribute","body","append","removeTag","arg","remove","ensureLoadByName","undefined","then","Promise","all"],"mappings":";;;;;;;;;;;;;yBAAe,eAAeA,mBAAf,CAAmCC,QAAnC,EAA6C;AAC1D;AACA,cAAMC,iBAAiBD,SAASE,UAAT,CAAoBC,OAAOC,IAAP,CAAYC,OAAOC,UAAP,CAAkBC,SAA9B,CAApB,CAAvB;;AAEA,cAAMC,kBAAkBP,eAAeQ,GAAf,CAAmBC,WAAW;AACpD,gBAAMC,yBAAMC,SAASC,aAAT,CAAuBH,OAAvB,CAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAN;AACAC,cAAIG,KAAJ,CAAUC,OAAV,GAAoB,MAApB;AACAJ,cAAIK,YAAJ,CAAiB,aAAjB,EAAgC,MAAhC;AACAJ,mBAASK,IAAT,CAAcC,MAAd,CAAqBP,GAArB;AACA,mBAASQ,SAAT,CAAmBC,GAAnB,EAAwB;AACtBT,gBAAIU,MAAJ;AACA,mBAAOD,GAAP;AACD;AACD,iBAAOf,OAAOC,UAAP,CAAkBgB,gBAAlB,CAAmCZ,OAAnC,EAA4Ca,SAA5C,EAAuDZ,GAAvD,EAA4Da,IAA5D,CAAiEL,SAAjE,EAA4EA,SAA5E,CAAP;AACD,SAVuB,CAAxB;AAWA,eAAOM,QAAQC,GAAR,CAAYlB,eAAZ,CAAP;AACD,O","file":"preload-components.js","sourcesContent":["export default async function preloaWebComponents(tagNames) {\n  // check already loaded components\n  const namesToPreload = tagNames.difference(Object.keys(lively.components.templates))\n  \n  const loadingPromises = namesToPreload.map(tagName => {\n    const tag = document.createElement(tagName);\n    tag.style.display = 'none';\n    tag.setAttribute('for-preload', 'true');\n    document.body.append(tag);\n    function removeTag(arg) {\n      tag.remove();\n      return arg;\n    }\n    return lively.components.ensureLoadByName(tagName, undefined, tag).then(removeTag, removeTag);\n  });\n  return Promise.all(loadingPromises);\n}\n"]}