@emkodev/emroute 1.8.0 → 1.8.2-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +1 -1
  2. package/core/renderer/html.renderer.ts +1 -1
  3. package/core/renderer/md.renderer.ts +1 -1
  4. package/core/renderer/ssr.renderer.ts +21 -1
  5. package/core/server/emroute.server.ts +45 -52
  6. package/core/util/widget-resolve.util.ts +2 -2
  7. package/core/widget/widget.registry.ts +29 -2
  8. package/dist/core/renderer/html.renderer.js +1 -1
  9. package/dist/core/renderer/html.renderer.js.map +1 -1
  10. package/dist/core/renderer/md.renderer.js +1 -1
  11. package/dist/core/renderer/md.renderer.js.map +1 -1
  12. package/dist/core/renderer/ssr.renderer.d.ts +4 -1
  13. package/dist/core/renderer/ssr.renderer.js +20 -0
  14. package/dist/core/renderer/ssr.renderer.js.map +1 -1
  15. package/dist/core/server/emroute.server.d.ts +0 -2
  16. package/dist/core/server/emroute.server.js +36 -47
  17. package/dist/core/server/emroute.server.js.map +1 -1
  18. package/dist/core/util/widget-resolve.util.d.ts +1 -3
  19. package/dist/core/util/widget-resolve.util.js +2 -2
  20. package/dist/core/util/widget-resolve.util.js.map +1 -1
  21. package/dist/core/widget/widget.registry.d.ts +8 -0
  22. package/dist/core/widget/widget.registry.js +28 -2
  23. package/dist/core/widget/widget.registry.js.map +1 -1
  24. package/dist/emroute.js +227 -66
  25. package/dist/emroute.js.map +13 -13
  26. package/dist/runtime/abstract.runtime.js +7 -3
  27. package/dist/runtime/abstract.runtime.js.map +1 -1
  28. package/dist/runtime/fetch.runtime.js +7 -1
  29. package/dist/runtime/fetch.runtime.js.map +1 -1
  30. package/dist/server/build.util.d.ts +1 -1
  31. package/dist/server/build.util.js +10 -28
  32. package/dist/server/build.util.js.map +1 -1
  33. package/dist/src/element/component.element.d.ts +4 -1
  34. package/dist/src/element/component.element.js +4 -1
  35. package/dist/src/element/component.element.js.map +1 -1
  36. package/dist/src/overlay/mod.d.ts +1 -1
  37. package/dist/src/overlay/overlay.service.js +136 -6
  38. package/dist/src/overlay/overlay.service.js.map +1 -1
  39. package/dist/src/overlay/overlay.type.d.ts +28 -4
  40. package/dist/src/renderer/spa/emroute.app.d.ts +3 -0
  41. package/dist/src/renderer/spa/emroute.app.js +18 -3
  42. package/dist/src/renderer/spa/emroute.app.js.map +1 -1
  43. package/package.json +2 -2
  44. package/runtime/abstract.runtime.ts +11 -5
  45. package/runtime/fetch.runtime.ts +6 -1
  46. package/server/build.util.ts +10 -30
  47. package/src/element/component.element.ts +4 -1
  48. package/src/overlay/mod.ts +1 -1
  49. package/src/overlay/overlay.service.ts +158 -8
  50. package/src/overlay/overlay.type.ts +27 -2
  51. package/src/renderer/spa/emroute.app.ts +20 -3
@@ -1 +1 @@
1
- {"version":3,"file":"emroute.server.js","sourceRoot":"","sources":["../../../core/server/emroute.server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emroute.server.js","sourceRoot":"","sources":["../../../core/server/emroute.server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKpD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AAG3E,MAAM,OAAO,OAAO;IASC;IACA;IACA;IACA;IACA;IACA;IAbV,YAAY,CAAyB;IACrC,UAAU,CAAuB;IACjC,KAAK,CAAS;IAEvB,YACE,YAAoC,EACpC,UAAgC,EAChC,KAAa,EACI,OAAgB,EAChB,QAAgB,EAChB,MAAc,EACd,OAAe,EACf,GAAW,EACX,KAAa;QALb,YAAO,GAAP,OAAO,CAAS;QAChB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAQ;QACf,QAAG,GAAH,GAAG,CAAQ;QACX,UAAK,GAAL,KAAK,CAAQ;QAE9B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,MASC,EACD,OAAgB;QAEhB,MAAM,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;QAChC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,iBAAiB,CAAC;QAE1F,qEAAqE;QAErE,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnE,IAAI,gBAAgB,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,aAAa,oBAAoB,yBAAyB;gBACxD,gEAAgE,CACnE,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,IAAI,gBAAgB,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxD,MAAM,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE;gBAC1C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;aACvC,CAAC,CAAC;QACL,CAAC;QAED,qEAAqE;QAErE,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC;YAC5B,OAAO;YACP,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QAEH,qEAAqE;QAErE,IAAI,OAAmC,CAAC;QAExC,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACnE,IAAI,eAAe,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACnC,MAAM,OAAO,GAA0B,MAAM,eAAe,CAAC,IAAI,EAAE,CAAC;YACpE,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;YAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO;gBAAE,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;YAC7C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,qEAAqE;QAErE,IAAI,eAAe,GAA2B,IAAI,CAAC;QACnD,IAAI,aAAa,GAAyB,IAAI,CAAC;QAE/C,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,eAAe,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE;gBAC9C,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChC,CAAC,CAAC;YAEH,aAAa,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE;gBAC1C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChC,CAAC,CAAC;QACL,CAAC;QAED,qEAAqE;QAErE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;QACxC,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAEzE,OAAO,IAAI,OAAO,CAChB,eAAe,EACf,aAAa,EACb,KAAK,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,EACP,GAAG,EACH,KAAK,CACN,CAAC;IACJ,CAAC;IAED,qEAAqE;IAErE,KAAK,CAAC,aAAa,CAAC,GAAY;QAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QAErC,sBAAsB;QACtB,IACE,IAAI,CAAC,UAAU;YACf,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,EAC3D,CAAC;YACD,MAAM,SAAS,GAAG,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBAC5E,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzF,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAC5E,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;gBAChE,CAAC;gBACD,OAAO,IAAI,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;oBACtF,MAAM;oBACN,OAAO,EAAE,EAAE,cAAc,EAAE,kDAAkD,EAAE;iBAChF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,6BAA6B,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC3D,OAAO,IAAI,QAAQ,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,IACE,IAAI,CAAC,YAAY;YACjB,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,EAC/D,CAAC;YACD,MAAM,SAAS,GAAG,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC1F,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBAC9E,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACnG,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvE,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;gBAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACtF,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACxB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,OAAO,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE;iBACxD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,6BAA6B,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC3D,OAAO,IAAI,QAAQ,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,SAAS;QACT,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YAChE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;gBAC9B,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE;aACxD,CAAC,CAAC;QACL,CAAC;QAED,yDAAyD;QACzD,IACE,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ;YAC7D,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM,EACzD,CAAC;YACD,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACtF,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;oBACpE,CAAC,CAAC,GAAG,CAAC;YACR,OAAO,QAAQ,CAAC,QAAQ,CACtB,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,SAAS,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAClE,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,eAAe;QACf,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACpD,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG;gBAAE,OAAO,YAAY,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,wBAAwB;QACxB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzF,MAAM,IAAI,GAAG,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1E,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;IACxE,CAAC;IAED,qEAAqE;IAE7D,MAAM,CAAC,KAAK,CAAC,cAAc,CACjC,OAAgB,EAChB,KAAa,EACb,QAAgB,EAChB,GAAY;QAEZ,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,mBAAmB,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7E,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACtD,MAAM,GAAG,8CAA8C,CAAC;QAC1D,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,KAAK,MAAM,CAAC;QAE/B,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC3D,IAAI,WAAW,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC3C,aAAa,GAAG,kCAAkC,SAAS,eAAe,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC/D,UAAU,GAAG,mDAAmD,CAAC;QACnE,CAAC;QAED,OAAO;;QAEH,OAAO;;;WAGJ,UAAU,CAAC,KAAK,CAAC;4FACgE,MAAM;;;+BAGnE,aAAa,GAAG,UAAU;;QAEjD,CAAC;IACP,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAC7B,IAAY,EACZ,OAAe,EACf,KAAyB,EACzB,QAAiB;QAEjB,MAAM,WAAW,GAAG,yCAAyC,CAAC;QAC9D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,oBAAoB,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,OAAO,IAAI,OAAO,gBAAgB,CAAC,CAAC;QAEpF,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,UAAU,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY,CAC/B,OAAgB,EAChB,KAAa,EACb,QAAgB,EAChB,GAAY;QAEZ,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1D,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC;CACF"}
@@ -17,9 +17,7 @@ export declare function resolveRecursively<T>(content: string, parse: (content:
17
17
  /**
18
18
  * Resolve <widget-*> tags in HTML by calling getData() + renderHTML().
19
19
  */
20
- export declare function resolveWidgetTags(html: string, registry: {
21
- get(name: string): Component | undefined;
22
- }, routeInfo: RouteInfo, loadFiles?: (widgetName: string) => Promise<{
20
+ export declare function resolveWidgetTags(html: string, getWidget: (name: string) => Promise<Component | undefined>, routeInfo: RouteInfo, loadFiles?: (widgetName: string) => Promise<{
23
21
  html?: string;
24
22
  md?: string;
25
23
  css?: string;
@@ -31,7 +31,7 @@ export async function resolveRecursively(content, parse, resolve, replace, depth
31
31
  /**
32
32
  * Resolve <widget-*> tags in HTML by calling getData() + renderHTML().
33
33
  */
34
- export function resolveWidgetTags(html, registry, routeInfo, loadFiles, contextProvider, logger = defaultLogger) {
34
+ export function resolveWidgetTags(html, getWidget, routeInfo, loadFiles, contextProvider, logger = defaultLogger) {
35
35
  const tagPattern = /<widget-(?<name>[a-z][a-z0-9-]*)(?<attrs>\s[^>]*)?>(?<content>.*?)<\/widget-\k<name>>/gis;
36
36
  const wrappers = new Map();
37
37
  const ssrAttrPattern = new RegExp(`\\s${SSR_ATTR}(?:\\s|=|$)`);
@@ -45,7 +45,7 @@ export function resolveWidgetTags(html, registry, routeInfo, loadFiles, contextP
45
45
  const resolve = async (match) => {
46
46
  const widgetName = match.groups.name;
47
47
  const attrsString = match.groups.attrs?.trim() ?? '';
48
- const widget = registry.get(widgetName);
48
+ const widget = await getWidget(widgetName);
49
49
  if (!widget)
50
50
  return match[0];
51
51
  const params = parseAttrsToParams(attrsString);
@@ -1 +1 @@
1
- {"version":3,"file":"widget-resolve.util.js","sourceRoot":"","sources":["../../../core/util/widget-resolve.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"widget-resolve.util.js","sourceRoot":"","sources":["../../../core/util/widget-resolve.util.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,20 @@
3
3
  *
4
4
  * Name → Component lookup. Used by all renderers.
5
5
  * Pages are NOT in this registry — they live in the routes manifest.
6
+ *
7
+ * Supports eager entries (widget instance) and lazy entries (module path only).
8
+ * Lazy entries are resolved on demand by the renderer via Pipeline → Runtime.
6
9
  */
7
10
  import type { WidgetComponent } from '../component/widget.component.ts';
8
11
  export declare class WidgetRegistry {
9
12
  private entries;
13
+ /** Register a widget instance (eager). */
10
14
  add(widget: WidgetComponent, modulePath?: string): void;
15
+ /** Register a widget by name and module path (lazy — resolved on demand by renderer). */
16
+ addLazy(name: string, modulePath: string): void;
11
17
  get(name: string): WidgetComponent | undefined;
12
18
  getModulePath(name: string): string | undefined;
13
19
  [Symbol.iterator](): IterableIterator<WidgetComponent>;
14
20
  }
21
+ /** Extract a WidgetComponent from a loaded module's exports. */
22
+ export declare function extractWidgetExport(mod: Record<string, unknown>): WidgetComponent | null;
@@ -3,12 +3,22 @@
3
3
  *
4
4
  * Name → Component lookup. Used by all renderers.
5
5
  * Pages are NOT in this registry — they live in the routes manifest.
6
+ *
7
+ * Supports eager entries (widget instance) and lazy entries (module path only).
8
+ * Lazy entries are resolved on demand by the renderer via Pipeline → Runtime.
6
9
  */
7
10
  export class WidgetRegistry {
8
11
  entries = new Map();
12
+ /** Register a widget instance (eager). */
9
13
  add(widget, modulePath) {
10
14
  this.entries.set(widget.name, { widget, modulePath });
11
15
  }
16
+ /** Register a widget by name and module path (lazy — resolved on demand by renderer). */
17
+ addLazy(name, modulePath) {
18
+ if (!this.entries.has(name)) {
19
+ this.entries.set(name, { modulePath });
20
+ }
21
+ }
12
22
  get(name) {
13
23
  return this.entries.get(name)?.widget;
14
24
  }
@@ -18,9 +28,25 @@ export class WidgetRegistry {
18
28
  [Symbol.iterator]() {
19
29
  const entries = this.entries.values();
20
30
  return (function* () {
21
- for (const entry of entries)
22
- yield entry.widget;
31
+ for (const entry of entries) {
32
+ if (entry.widget)
33
+ yield entry.widget;
34
+ }
23
35
  })();
24
36
  }
25
37
  }
38
+ /** Extract a WidgetComponent from a loaded module's exports. */
39
+ export function extractWidgetExport(mod) {
40
+ for (const value of Object.values(mod)) {
41
+ if (!value)
42
+ continue;
43
+ if (typeof value === 'object' && 'getData' in value) {
44
+ return value;
45
+ }
46
+ if (typeof value === 'function' && value.prototype?.getData) {
47
+ return new value();
48
+ }
49
+ }
50
+ return null;
51
+ }
26
52
  //# sourceMappingURL=widget.registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget.registry.js","sourceRoot":"","sources":["../../../core/widget/widget.registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,OAAO,cAAc;IACjB,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEnD,GAAG,CAAC,MAAuB,EAAE,UAAmB;QAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACxC,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC5C,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO,CAAC,QAAQ,CAAC;YACf,KAAK,MAAM,KAAK,IAAI,OAAO;gBAAE,MAAM,KAAK,CAAC,MAAM,CAAC;QAClD,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;CACF"}
1
+ {"version":3,"file":"widget.registry.js","sourceRoot":"","sources":["../../../core/widget/widget.registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,MAAM,OAAO,cAAc;IACjB,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEnD,0CAA0C;IAC1C,GAAG,CAAC,MAAuB,EAAE,UAAmB;QAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,yFAAyF;IACzF,OAAO,CAAC,IAAY,EAAE,UAAkB;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACxC,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC5C,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO,CAAC,QAAQ,CAAC;YACf,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,MAAM;oBAAE,MAAM,KAAK,CAAC,MAAM,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;CACF;AAED,gEAAgE;AAChE,MAAM,UAAU,mBAAmB,CAAC,GAA4B;IAC9D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YACpD,OAAO,KAAwB,CAAC;QAClC,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;YAC5D,OAAO,IAAK,KAAmC,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/emroute.js CHANGED
@@ -478,6 +478,11 @@ class WidgetRegistry {
478
478
  add(widget, modulePath) {
479
479
  this.entries.set(widget.name, { widget, modulePath });
480
480
  }
481
+ addLazy(name, modulePath) {
482
+ if (!this.entries.has(name)) {
483
+ this.entries.set(name, { modulePath });
484
+ }
485
+ }
481
486
  get(name) {
482
487
  return this.entries.get(name)?.widget;
483
488
  }
@@ -487,11 +492,26 @@ class WidgetRegistry {
487
492
  [Symbol.iterator]() {
488
493
  const entries = this.entries.values();
489
494
  return function* () {
490
- for (const entry of entries)
491
- yield entry.widget;
495
+ for (const entry of entries) {
496
+ if (entry.widget)
497
+ yield entry.widget;
498
+ }
492
499
  }();
493
500
  }
494
501
  }
502
+ function extractWidgetExport(mod) {
503
+ for (const value of Object.values(mod)) {
504
+ if (!value)
505
+ continue;
506
+ if (typeof value === "object" && "getData" in value) {
507
+ return value;
508
+ }
509
+ if (typeof value === "function" && value.prototype?.getData) {
510
+ return new value;
511
+ }
512
+ }
513
+ return null;
514
+ }
495
515
 
496
516
  // dist/core/router/route.trie.js
497
517
  class RouteTrie {
@@ -806,7 +826,7 @@ async function resolveRecursively(content, parse, resolve, replace, depth = 0, l
806
826
  }));
807
827
  return replace(content, replacements);
808
828
  }
809
- function resolveWidgetTags(html, registry, routeInfo, loadFiles, contextProvider, logger = defaultLogger) {
829
+ function resolveWidgetTags(html, getWidget, routeInfo, loadFiles, contextProvider, logger = defaultLogger) {
810
830
  const tagPattern = /<widget-(?<name>[a-z][a-z0-9-]*)(?<attrs>\s[^>]*)?>(?<content>.*?)<\/widget-\k<name>>/gis;
811
831
  const wrappers = new Map;
812
832
  const ssrAttrPattern = new RegExp(`\\s${SSR_ATTR}(?:\\s|=|$)`);
@@ -820,7 +840,7 @@ function resolveWidgetTags(html, registry, routeInfo, loadFiles, contextProvider
820
840
  const resolve = async (match) => {
821
841
  const widgetName = match.groups.name;
822
842
  const attrsString = match.groups.attrs?.trim() ?? "";
823
- const widget = registry.get(widgetName);
843
+ const widget = await getWidget(widgetName);
824
844
  if (!widget)
825
845
  return match[0];
826
846
  const params = parseAttrsToParams(attrsString);
@@ -1027,6 +1047,23 @@ class SsrRenderer {
1027
1047
  this.logger = pipeline.logger;
1028
1048
  this.widgets = options.widgets ?? null;
1029
1049
  }
1050
+ async resolveWidget(name) {
1051
+ if (!this.widgets)
1052
+ return;
1053
+ const widget = this.widgets.get(name);
1054
+ if (widget)
1055
+ return widget;
1056
+ const path = this.widgets.getModulePath(name);
1057
+ if (!path)
1058
+ return;
1059
+ try {
1060
+ const mod = await this.pipeline.loadModule(path);
1061
+ return extractWidgetExport(mod) ?? undefined;
1062
+ } catch (e) {
1063
+ this.logger.error(`[${this.label}] Failed to load widget "${name}"`, e instanceof Error ? e : undefined);
1064
+ return;
1065
+ }
1066
+ }
1030
1067
  async render(url, signal) {
1031
1068
  const matched = await this.pipeline.match(url);
1032
1069
  if (!matched) {
@@ -1191,7 +1228,7 @@ class SsrHtmlRenderer extends SsrRenderer {
1191
1228
  content = await this.expandMarkdown(content);
1192
1229
  content = this.attributeSlots(content, route.pattern);
1193
1230
  if (this.widgets) {
1194
- content = await resolveWidgetTags(content, this.widgets, routeInfo, async (name) => {
1231
+ content = await resolveWidgetTags(content, (name) => this.resolveWidget(name), routeInfo, async (name) => {
1195
1232
  const modulePath = this.widgets.getModulePath(name);
1196
1233
  if (modulePath) {
1197
1234
  const mod = await this.pipeline.loadModule(modulePath);
@@ -1339,7 +1376,7 @@ Path: \`${url.pathname}\``;
1339
1376
  if (block.parseError || !block.params) {
1340
1377
  return `> **Error** (\`${block.widgetName}\`): ${block.parseError}`;
1341
1378
  }
1342
- const widget = this.widgets.get(block.widgetName);
1379
+ const widget = await this.resolveWidget(block.widgetName);
1343
1380
  if (!widget) {
1344
1381
  return `> **Error**: Unknown widget \`${block.widgetName}\``;
1345
1382
  }
@@ -1430,14 +1467,21 @@ class Emroute {
1430
1467
  ...config.extendContext ? { contextProvider: config.extendContext } : {},
1431
1468
  ...config.moduleLoaders ? { moduleLoaders: config.moduleLoaders } : {}
1432
1469
  });
1433
- let widgets = config.widgets;
1470
+ let widgets;
1434
1471
  const widgetsResponse = await runtime.query(WIDGETS_MANIFEST_PATH);
1435
1472
  if (widgetsResponse.status !== 404) {
1436
1473
  const entries = await widgetsResponse.json();
1437
- if (!config.widgets) {
1438
- widgets = await Emroute.importWidgets(entries, runtime);
1474
+ widgets = new WidgetRegistry;
1475
+ for (const entry of entries) {
1476
+ widgets.addLazy(entry.name, entry.modulePath);
1439
1477
  }
1440
1478
  }
1479
+ if (config.widgets) {
1480
+ if (!widgets)
1481
+ widgets = new WidgetRegistry;
1482
+ for (const w of config.widgets)
1483
+ widgets.add(w);
1484
+ }
1441
1485
  let ssrHtmlRenderer = null;
1442
1486
  let ssrMdRenderer = null;
1443
1487
  if (spa !== "only") {
@@ -1451,11 +1495,7 @@ class Emroute {
1451
1495
  }
1452
1496
  const title = config.title ?? "emroute";
1453
1497
  const shellBase = spa === "root" || spa === "only" ? appBase : htmlBase;
1454
- let shell = await Emroute.resolveShell(runtime, title, shellBase);
1455
- if ((await runtime.query("/main.css")).status !== 404) {
1456
- shell = shell.replace("</head>", ` <link rel="stylesheet" href="/main.css">
1457
- </head>`);
1458
- }
1498
+ const shell = await Emroute.resolveShell(runtime, title, shellBase, spa);
1459
1499
  return new Emroute(ssrHtmlRenderer, ssrMdRenderer, shell, runtime, htmlBase, mdBase, appBase, spa, title);
1460
1500
  }
1461
1501
  async handleRequest(req) {
@@ -1517,10 +1557,8 @@ class Emroute {
1517
1557
  });
1518
1558
  }
1519
1559
  if (pathname.startsWith(htmlPrefix) || pathname === this.htmlBase || pathname.startsWith(mdPrefix) || pathname === this.mdBase) {
1520
- return new Response(this.shell, {
1521
- status: 200,
1522
- headers: { "Content-Type": "text/html; charset=utf-8" }
1523
- });
1560
+ const routePath = pathname.startsWith(htmlPrefix) ? pathname.slice(this.htmlBase.length) : pathname.startsWith(mdPrefix) ? pathname.slice(this.mdBase.length) : "/";
1561
+ return Response.redirect(new URL(this.appBase + routePath + (url.search || ""), url.origin), 302);
1524
1562
  }
1525
1563
  const lastSegment = pathname.split("/").pop() ?? "";
1526
1564
  if (lastSegment.includes(".")) {
@@ -1533,48 +1571,41 @@ class Emroute {
1533
1571
  const bare = pathname === "/" ? "" : pathname.slice(1).replace(/\/$/, "");
1534
1572
  return Response.redirect(new URL(`${base}/${bare}`, url.origin), 302);
1535
1573
  }
1536
- static extractWidgetExport(mod) {
1537
- for (const value of Object.values(mod)) {
1538
- if (!value)
1539
- continue;
1540
- if (typeof value === "object" && "getData" in value) {
1541
- return value;
1542
- }
1543
- if (typeof value === "function" && value.prototype?.getData) {
1544
- return new value;
1545
- }
1546
- }
1547
- return null;
1548
- }
1549
- static async importWidgets(entries, runtime) {
1550
- const registry = new WidgetRegistry;
1551
- for (const entry of entries) {
1552
- try {
1553
- const runtimePath = entry.modulePath.startsWith("/") ? entry.modulePath : `/${entry.modulePath}`;
1554
- const mod = await runtime.loadModule(runtimePath);
1555
- const instance = Emroute.extractWidgetExport(mod);
1556
- if (!instance)
1557
- continue;
1558
- registry.add(instance, runtimePath);
1559
- } catch (e) {
1560
- console.error(`[emroute] Failed to load widget ${entry.modulePath}:`, e);
1561
- }
1574
+ static async buildHtmlShell(runtime, title, basePath, spa) {
1575
+ const baseTag = basePath ? `
1576
+ <base href="${escapeHtml(basePath)}/">` : "";
1577
+ let cssTag = "";
1578
+ if ((await runtime.query("/main.css")).status !== 404) {
1579
+ cssTag = `
1580
+ <link rel="stylesheet" href="/main.css">`;
1581
+ }
1582
+ const needsJs = spa !== "none";
1583
+ let importMapHtml = "";
1584
+ if (needsJs) {
1585
+ const mapResponse = await runtime.query("/importmap.json");
1586
+ if (mapResponse.status !== 404) {
1587
+ const importMap = await mapResponse.text();
1588
+ importMapHtml = `
1589
+ <script type="importmap">
1590
+ ${importMap}
1591
+ </script>`;
1592
+ }
1593
+ }
1594
+ let scriptHtml = "";
1595
+ if (needsJs && (await runtime.query("/app.js")).status !== 404) {
1596
+ scriptHtml = `
1597
+ <script type="module" src="/app.js"></script>`;
1562
1598
  }
1563
- return registry;
1564
- }
1565
- static buildHtmlShell(title, htmlBase) {
1566
- const baseTag = htmlBase ? `
1567
- <base href="${escapeHtml(htmlBase)}/">` : "";
1568
1599
  return `<!DOCTYPE html>
1569
1600
  <html>
1570
1601
  <head>${baseTag}
1571
1602
  <meta charset="utf-8">
1572
1603
  <meta name="viewport" content="width=device-width, initial-scale=1">
1573
1604
  <title>${escapeHtml(title)}</title>
1574
- <style>@view-transition { navigation: auto; } router-slot { display: contents; }</style>
1605
+ <style>@view-transition { navigation: auto; } router-slot { display: contents; }</style>${cssTag}
1575
1606
  </head>
1576
1607
  <body>
1577
- <router-slot></router-slot>
1608
+ <router-slot></router-slot>${importMapHtml}${scriptHtml}
1578
1609
  </body>
1579
1610
  </html>`;
1580
1611
  }
@@ -1589,11 +1620,11 @@ class Emroute {
1589
1620
  }
1590
1621
  return html;
1591
1622
  }
1592
- static async resolveShell(runtime, title, htmlBase) {
1623
+ static async resolveShell(runtime, title, basePath, spa) {
1593
1624
  const response = await runtime.query("/index.html");
1594
1625
  if (response.status !== 404)
1595
1626
  return await response.text();
1596
- return Emroute.buildHtmlShell(title, htmlBase);
1627
+ return Emroute.buildHtmlShell(runtime, title, basePath, spa);
1597
1628
  }
1598
1629
  }
1599
1630
 
@@ -2153,11 +2184,15 @@ export const __files = { ${entries} };
2153
2184
  };
2154
2185
  const files = {};
2155
2186
  let hasFiles = false;
2156
- for (const ext of COMPANION_EXTENSIONS) {
2187
+ const companionResults = await Promise.all(COMPANION_EXTENSIONS.map(async (ext) => {
2157
2188
  const companionFile = `${name}.widget.${ext}`;
2158
2189
  const companionPath = `${trailingDir}${name}/${companionFile}`;
2159
- if ((await this.query(companionPath)).status !== 404) {
2160
- files[ext] = `${prefix}${name}/${companionFile}`;
2190
+ const exists = (await this.query(companionPath)).status !== 404;
2191
+ return { ext, exists, path: `${prefix}${name}/${companionFile}` };
2192
+ }));
2193
+ for (const { ext, exists, path } of companionResults) {
2194
+ if (exists) {
2195
+ files[ext] = path;
2161
2196
  hasFiles = true;
2162
2197
  }
2163
2198
  }
@@ -2232,7 +2267,12 @@ class FetchRuntime extends Runtime {
2232
2267
  const response = await fetch(url);
2233
2268
  const js = await response.text();
2234
2269
  const blob = new Blob([js], { type: "application/javascript" });
2235
- return import(__rewriteRelativeImportExtension(URL.createObjectURL(blob)));
2270
+ const objectUrl = URL.createObjectURL(blob);
2271
+ try {
2272
+ return await import(__rewriteRelativeImportExtension(objectUrl));
2273
+ } finally {
2274
+ URL.revokeObjectURL(objectUrl);
2275
+ }
2236
2276
  }
2237
2277
  toUrl(resource) {
2238
2278
  if (typeof resource === "string")
@@ -2250,9 +2290,15 @@ class EmrouteApp {
2250
2290
  slot = null;
2251
2291
  abortController = null;
2252
2292
  constructor(server, options) {
2253
- const bp = options?.basePath ?? DEFAULT_BASE_PATH;
2254
2293
  this.server = server;
2255
- this.appBase = bp.app;
2294
+ if (options?.basePath) {
2295
+ this.appBase = options.basePath.app;
2296
+ } else if (typeof document !== "undefined") {
2297
+ const base = document.querySelector("base")?.getAttribute("href");
2298
+ this.appBase = base ? base.replace(/\/$/, "") : DEFAULT_BASE_PATH.app;
2299
+ } else {
2300
+ this.appBase = DEFAULT_BASE_PATH.app;
2301
+ }
2256
2302
  }
2257
2303
  async initialize(slotSelector = "router-slot") {
2258
2304
  this.slot = document.querySelector(slotSelector);
@@ -2382,6 +2428,7 @@ async function bootEmrouteApp(options) {
2382
2428
  const moduleLoaders = buildLazyLoaders(routeTree, widgetEntries, elementEntries, runtime);
2383
2429
  const widgets = new WidgetRegistry;
2384
2430
  for (const entry of widgetEntries) {
2431
+ widgets.addLazy(entry.name, entry.modulePath);
2385
2432
  ComponentElement.registerLazy(entry.name, moduleLoaders[entry.modulePath]);
2386
2433
  }
2387
2434
  for (const entry of elementEntries) {
@@ -2397,12 +2444,16 @@ async function bootEmrouteApp(options) {
2397
2444
  });
2398
2445
  }
2399
2446
  }
2447
+ if (options?.extendContext) {
2448
+ ComponentElement.setContextProvider(options.extendContext);
2449
+ }
2400
2450
  const mdRenderer = MarkdownElement.getConfiguredRenderer();
2401
2451
  const server = await Emroute.create({
2402
2452
  routeTree,
2403
2453
  widgets,
2404
2454
  moduleLoaders,
2405
- ...mdRenderer ? { markdownRenderer: mdRenderer } : {}
2455
+ ...mdRenderer ? { markdownRenderer: mdRenderer } : {},
2456
+ ...options?.extendContext ? { extendContext: options.extendContext } : {}
2406
2457
  }, runtime);
2407
2458
  return createEmrouteApp(server, options);
2408
2459
  }
@@ -2640,6 +2691,62 @@ function animateDismiss(el, onDone) {
2640
2691
  el.addEventListener("transitionend", finish, { once: true });
2641
2692
  setTimeout(finish, ANIMATION_SAFETY_TIMEOUT);
2642
2693
  }
2694
+ function fillTemplate(el, options, onConfirm, onReject) {
2695
+ const msgEl = el.querySelector("[data-toast-message]");
2696
+ if (msgEl && options.message) {
2697
+ msgEl.textContent = options.message;
2698
+ }
2699
+ if (options.type) {
2700
+ el.setAttribute("data-toast-type", options.type);
2701
+ }
2702
+ const confirmBtn = el.querySelector("[data-toast-confirm]");
2703
+ if (confirmBtn) {
2704
+ if (options.confirm) {
2705
+ confirmBtn.textContent = options.confirm;
2706
+ confirmBtn.hidden = false;
2707
+ if (onConfirm)
2708
+ confirmBtn.addEventListener("click", onConfirm, { once: true });
2709
+ } else {
2710
+ confirmBtn.hidden = true;
2711
+ }
2712
+ }
2713
+ const rejectBtn = el.querySelector("[data-toast-reject]");
2714
+ if (rejectBtn) {
2715
+ if (options.reject) {
2716
+ rejectBtn.textContent = options.reject;
2717
+ rejectBtn.hidden = false;
2718
+ if (onReject)
2719
+ rejectBtn.addEventListener("click", onReject, { once: true });
2720
+ } else {
2721
+ rejectBtn.hidden = true;
2722
+ }
2723
+ }
2724
+ }
2725
+ function buildFallback(el, options, onConfirm, onReject) {
2726
+ if (options.type) {
2727
+ el.setAttribute("data-toast-type", options.type);
2728
+ }
2729
+ const span = document.createElement("span");
2730
+ span.setAttribute("data-toast-message", "");
2731
+ span.textContent = options.message ?? "";
2732
+ el.appendChild(span);
2733
+ if (options.confirm) {
2734
+ const btn = document.createElement("button");
2735
+ btn.setAttribute("data-toast-confirm", "");
2736
+ btn.textContent = options.confirm;
2737
+ if (onConfirm)
2738
+ btn.addEventListener("click", onConfirm, { once: true });
2739
+ el.appendChild(btn);
2740
+ }
2741
+ if (options.reject) {
2742
+ const btn = document.createElement("button");
2743
+ btn.setAttribute("data-toast-reject", "");
2744
+ btn.textContent = options.reject;
2745
+ if (onReject)
2746
+ btn.addEventListener("click", onReject, { once: true });
2747
+ el.appendChild(btn);
2748
+ }
2749
+ }
2643
2750
  function createOverlayService() {
2644
2751
  let styleInjected = false;
2645
2752
  let dialog = null;
@@ -2744,23 +2851,77 @@ function createOverlayService() {
2744
2851
  clearDeadToasts(container);
2745
2852
  const el = document.createElement("div");
2746
2853
  el.setAttribute("data-overlay-toast", "");
2747
- const timeout = options.timeout ?? 0;
2854
+ const isConfirmation = !!(options.confirm || options.reject);
2855
+ const timeout = isConfirmation ? 0 : options.timeout ?? 0;
2748
2856
  if (timeout === 0) {
2749
2857
  el.setAttribute("data-toast-manual", "");
2750
2858
  } else {
2751
2859
  el.style.setProperty("--overlay-toast-duration", `${timeout}ms`);
2752
2860
  }
2753
- options.render(el);
2861
+ let confirmResolve;
2862
+ let confirmPromise;
2863
+ if (isConfirmation) {
2864
+ const resolvers = Promise.withResolvers();
2865
+ confirmResolve = resolvers.resolve;
2866
+ confirmPromise = resolvers.promise;
2867
+ }
2868
+ const onConfirm = confirmResolve ? () => {
2869
+ confirmResolve(true);
2870
+ dismiss();
2871
+ } : undefined;
2872
+ const onReject = confirmResolve ? () => {
2873
+ confirmResolve(false);
2874
+ dismiss();
2875
+ } : undefined;
2876
+ if (options.render) {
2877
+ options.render(el);
2878
+ } else {
2879
+ const template = document.querySelector("#overlay-toast");
2880
+ if (template) {
2881
+ const clone = template.content.cloneNode(true);
2882
+ el.appendChild(clone);
2883
+ fillTemplate(el, options, onConfirm, onReject);
2884
+ } else {
2885
+ buildFallback(el, options, onConfirm, onReject);
2886
+ }
2887
+ }
2754
2888
  container.appendChild(el);
2889
+ const id = performance.now();
2755
2890
  let dismissed = false;
2756
- const dismiss = () => {
2891
+ function dismiss() {
2757
2892
  if (dismissed)
2758
2893
  return;
2759
2894
  dismissed = true;
2760
2895
  el.setAttribute("data-dismissing", "");
2761
- };
2762
- return { dismiss };
2896
+ }
2897
+ function update(opts) {
2898
+ if (opts.message !== undefined) {
2899
+ const msgEl = el.querySelector("[data-toast-message]");
2900
+ if (msgEl)
2901
+ msgEl.textContent = opts.message;
2902
+ }
2903
+ if (opts.type !== undefined) {
2904
+ el.setAttribute("data-toast-type", opts.type);
2905
+ }
2906
+ if (opts.timeout !== undefined) {
2907
+ el.style.setProperty("--overlay-toast-duration", `${opts.timeout}ms`);
2908
+ if (opts.timeout === 0) {
2909
+ el.setAttribute("data-toast-manual", "");
2910
+ } else {
2911
+ el.removeAttribute("data-toast-manual");
2912
+ }
2913
+ }
2914
+ }
2915
+ const handle = { id, dismiss, update };
2916
+ if (confirmPromise) {
2917
+ handle.then = confirmPromise.then.bind(confirmPromise);
2918
+ }
2919
+ return handle;
2763
2920
  }
2921
+ toast.success = (message, timeout) => toast({ message, type: "success", timeout: timeout ?? 5000 });
2922
+ toast.error = (message, timeout) => toast({ message, type: "error", timeout: timeout ?? 5000 });
2923
+ toast.warning = (message, timeout) => toast({ message, type: "warning", timeout: timeout ?? 5000 });
2924
+ toast.info = (message, timeout) => toast({ message, type: "info", timeout: timeout ?? 5000 });
2764
2925
  function popover(options) {
2765
2926
  const el = ensurePopover();
2766
2927
  cleanupPopoverAnchorObserver();
@@ -2966,5 +3127,5 @@ export {
2966
3127
  BreadcrumbWidget
2967
3128
  };
2968
3129
 
2969
- //# debugId=17326B11EDF4A5C864756E2164756E21
3130
+ //# debugId=BD93EBE5532178BB64756E2164756E21
2970
3131
  //# sourceMappingURL=emroute.js.map