piral-core 1.4.0-beta.6280 → 1.4.0-beta.6287

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 (60) hide show
  1. package/app.codegen +1 -0
  2. package/dist/codegen.js +3 -1
  3. package/esm/RootListener.js +2 -2
  4. package/esm/RootListener.js.map +1 -1
  5. package/esm/components/wrapComponent.js.map +1 -1
  6. package/esm/modules/element.d.ts +0 -12
  7. package/esm/modules/element.js +37 -7
  8. package/esm/modules/element.js.map +1 -1
  9. package/esm/state/withApi.js +6 -1
  10. package/esm/state/withApi.js.map +1 -1
  11. package/esm/tools/codegen.d.ts +1 -0
  12. package/esm/tools/codegen.js +3 -1
  13. package/esm/tools/codegen.js.map +1 -1
  14. package/esm/tools/debugger.js +0 -11
  15. package/esm/tools/debugger.js.map +1 -1
  16. package/esm/types/index.d.ts +1 -0
  17. package/esm/types/index.js +1 -0
  18. package/esm/types/index.js.map +1 -1
  19. package/esm/types/state.d.ts +5 -0
  20. package/esm/types/web.d.ts +47 -0
  21. package/esm/types/web.js +2 -0
  22. package/esm/types/web.js.map +1 -0
  23. package/esm/utils/foreign.d.ts +1 -0
  24. package/esm/utils/foreign.js +1 -0
  25. package/esm/utils/foreign.js.map +1 -1
  26. package/lib/RootListener.js +2 -2
  27. package/lib/RootListener.js.map +1 -1
  28. package/lib/components/wrapComponent.js.map +1 -1
  29. package/lib/modules/element.d.ts +0 -12
  30. package/lib/modules/element.js +36 -6
  31. package/lib/modules/element.js.map +1 -1
  32. package/lib/state/withApi.js +6 -1
  33. package/lib/state/withApi.js.map +1 -1
  34. package/lib/tools/codegen.d.ts +1 -0
  35. package/lib/tools/codegen.js +3 -1
  36. package/lib/tools/codegen.js.map +1 -1
  37. package/lib/tools/debugger.js +0 -11
  38. package/lib/tools/debugger.js.map +1 -1
  39. package/lib/types/index.d.ts +1 -0
  40. package/lib/types/index.js +1 -0
  41. package/lib/types/index.js.map +1 -1
  42. package/lib/types/state.d.ts +5 -0
  43. package/lib/types/web.d.ts +47 -0
  44. package/lib/types/web.js +3 -0
  45. package/lib/types/web.js.map +1 -0
  46. package/lib/utils/foreign.d.ts +1 -0
  47. package/lib/utils/foreign.js +2 -1
  48. package/lib/utils/foreign.js.map +1 -1
  49. package/package.json +4 -4
  50. package/src/RootListener.tsx +2 -2
  51. package/src/components/wrapComponent.tsx +1 -6
  52. package/src/modules/element.ts +51 -24
  53. package/src/state/withApi.test.tsx +6 -1
  54. package/src/state/withApi.tsx +11 -3
  55. package/src/tools/codegen.ts +5 -2
  56. package/src/tools/debugger.ts +0 -11
  57. package/src/types/index.ts +1 -0
  58. package/src/types/state.ts +5 -0
  59. package/src/types/web.ts +53 -0
  60. package/src/utils/foreign.ts +1 -0
@@ -16,9 +16,14 @@ function getWrapper(wrappers, wrapperType) {
16
16
  return WrapType || WrapAll || DefaultWrapper;
17
17
  }
18
18
  function makeWrapper(context, outerProps, wrapperType, errorType) {
19
+ const wrapped = context.readState((m) => m.app.wrap);
19
20
  const OuterWrapper = context.readState((m) => getWrapper(m.registry.wrappers, wrapperType));
20
- return (props) => (React.createElement(OuterWrapper, { ...outerProps, ...props },
21
+ const Wrapper = (props) => (React.createElement(OuterWrapper, { ...outerProps, ...props },
21
22
  React.createElement(components_1.ErrorBoundary, { ...outerProps, ...props, errorType: errorType }, props.children)));
23
+ return wrapped
24
+ ? (props) => (React.createElement("piral-component", { origin: outerProps.piral.meta.name },
25
+ React.createElement(Wrapper, { ...props })))
26
+ : Wrapper;
22
27
  }
23
28
  function withApi(context, component, piral, errorType, wrapperType = errorType, captured = {}) {
24
29
  const outerProps = { ...captured, piral };
@@ -1 +1 @@
1
- {"version":3,"file":"withApi.js","sourceRoot":"","sources":["../../src/state/withApi.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,8CAA6D;AAC7D,oCAAyC;AAGzC,MAAM,cAAc,GAA0C,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,qBAAa,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAEvG,SAAS,UAAU,CAAC,QAAkD,EAAE,WAAmB;IACzF,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEvC,IAAI,OAAO,IAAI,QAAQ,EAAE;QACvB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAChB,oBAAC,OAAO,OAAK,KAAK;YAChB,oBAAC,QAAQ,OAAK,KAAK,GAAI,CACf,CACX,CAAC;KACH;IAED,OAAO,QAAQ,IAAI,OAAO,IAAI,cAAc,CAAC;AAC/C,CAAC;AAED,SAAS,WAAW,CAClB,OAA2B,EAC3B,UAAe,EACf,WAAmB,EACnB,SAAuB;IAEvB,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAE5F,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAChB,oBAAC,YAAY,OAAK,UAAU,KAAM,KAAK;QACrC,oBAAC,0BAAa,OAAK,UAAU,KAAM,KAAK,EAAE,SAAS,EAAE,SAAS,IAC3D,KAAK,CAAC,QAAQ,CACD,CACH,CAChB,CAAC;AACJ,CAAC;AAED,SAAgB,OAAO,CACrB,OAA2B,EAC3B,SAAoD,EACpD,KAAe,EACf,SAAuB,EACvB,cAAsB,SAAS,EAC/B,QAAQ,GAAG,EAAE;IAEb,MAAM,UAAU,GAAG,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,OAAO,GAAG,WAAW,CAAS,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACjF,OAAO,IAAA,0BAAa,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AAZD,0BAYC"}
1
+ {"version":3,"file":"withApi.js","sourceRoot":"","sources":["../../src/state/withApi.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,8CAA6D;AAC7D,oCAAyC;AAGzC,MAAM,cAAc,GAA0C,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,qBAAa,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAEvG,SAAS,UAAU,CAAC,QAAkD,EAAE,WAAmB;IACzF,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEvC,IAAI,OAAO,IAAI,QAAQ,EAAE;QACvB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAChB,oBAAC,OAAO,OAAK,KAAK;YAChB,oBAAC,QAAQ,OAAK,KAAK,GAAI,CACf,CACX,CAAC;KACH;IAED,OAAO,QAAQ,IAAI,OAAO,IAAI,cAAc,CAAC;AAC/C,CAAC;AAED,SAAS,WAAW,CAClB,OAA2B,EAC3B,UAA8B,EAC9B,WAAmB,EACnB,SAAuB;IAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5F,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CACzB,oBAAC,YAAY,OAAK,UAAU,KAAM,KAAK;QACrC,oBAAC,0BAAa,OAAK,UAAU,KAAM,KAAK,EAAE,SAAS,EAAE,SAAS,IAC3D,KAAK,CAAC,QAAQ,CACD,CACH,CAChB,CAAC;IAEF,OAAO,OAAO;QACZ,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACT,yCAAiB,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI;YACjD,oBAAC,OAAO,OAAK,KAAK,GAAI,CACN,CACnB;QACH,CAAC,CAAC,OAAO,CAAC;AACd,CAAC;AAED,SAAgB,OAAO,CACrB,OAA2B,EAC3B,SAAoD,EACpD,KAAe,EACf,SAAuB,EACvB,cAAsB,SAAS,EAC/B,QAAQ,GAAG,EAAE;IAEb,MAAM,UAAU,GAAG,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,OAAO,GAAG,WAAW,CAAS,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACjF,OAAO,IAAA,0BAAa,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AAZD,0BAYC"}
@@ -5,6 +5,7 @@ interface CodegenOptions {
5
5
  appName: string;
6
6
  externals: Array<string>;
7
7
  publicPath: string;
8
+ isolation: 'classic' | 'modern';
8
9
  debug?: {
9
10
  viewState?: boolean;
10
11
  loadPilets?: boolean;
@@ -106,8 +106,9 @@ function createDependencies(imports, exports, opts) {
106
106
  }
107
107
  exports.createDependencies = createDependencies;
108
108
  function createDefaultState(imports, exports, opts) {
109
- const { root, cat, publicPath } = opts;
109
+ const { root, cat, publicPath, isolation } = opts;
110
110
  const routerVersion = getRouterVersion(root);
111
+ const wrap = isolation === 'modern' ? 'true' : 'false';
111
112
  imports.push(`import { DefaultErrorInfo } from 'piral-core/${cat}/defaults/DefaultErrorInfo';`, `import { DefaultLoadingIndicator } from 'piral-core/${cat}/defaults/DefaultLoadingIndicator';`, `import { DefaultLayout } from 'piral-core/${cat}/defaults/DefaultLayout';`);
112
113
  if (routerVersion < 6) {
113
114
  imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v5';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v5';`, `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v5'`);
@@ -127,6 +128,7 @@ function createDefaultState(imports, exports, opts) {
127
128
  app: {
128
129
  error: undefined,
129
130
  loading: typeof window !== 'undefined',
131
+ wrap: ${wrap},
130
132
  },
131
133
  components: {
132
134
  ErrorInfo: DefaultErrorInfo,
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/tools/codegen.ts"],"names":[],"mappings":";;;AAAA,yFAAyF;AACzF,4DAA+D;AAC/D,2BAA8C;AAC9C,+BAA8D;AAE9D,SAAS,eAAe,CAAC,SAAiB;IACxC,MAAM,WAAW,GAAG,cAAc,CAAC;IACnC,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAEpD,IAAI,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE;QAC3B,OAAO,WAAW,CAAC;KACpB;IAED,MAAM,MAAM,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAExC,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;KAChC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,WAAmB;IACvD,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,IAAA,uBAAa,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAE5D,IAAI;QACF,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAClC;IAAC,MAAM;QACN,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,MAAM,GAAG,cAAc,CAAC;IAE9B,IAAI;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KAC5B;IAAC,MAAM;QACN,OAAO,CAAC,IAAI,CAAC,oCAAoC,MAAM,uBAAuB,CAAC,CAAC;QAChF,OAAO,CAAC,CAAC;KACV;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,WAAmB;IACvD,MAAM,WAAW,GAAG,CAAC,WAAW,CAAC,CAAC;IAElC,IAAI;QACF,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAElD,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAEtD,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE;gBAChD,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;aACxD;SACF;KACF;IAAC,MAAM,GAAE;IAEV,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY,EAAE,MAAc,EAAE,IAAY;IACxE,IAAI;QACF,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAA,eAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE1C,0DAA0D;QAC1D,gEAAgE;QAChE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,UAAG,CAAC,CAAC,IAAI,CAAC,YAAK,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;KACb;IAAC,MAAM;QACN,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAoBD,SAAgB,kBAAkB,CAAC,OAAsB,EAAE,OAAsB,EAAE,IAAoB;IACrG,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD,MAAM,WAAW,GAAkB,EAAE,CAAC;IACtC,MAAM,gBAAgB,GAAkB,EAAE,CAAC;IAE3C,IAAI,OAAO,EAAE;QACX,WAAW,CAAC,IAAI,CAAC,SAAS,OAAO,OAAO,CAAC,CAAC;KAC3C;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAExD,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE;gBAC5B,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvG;SACF;aAAM;YACL,MAAM,IAAI,GAAG,QAAQ,CAAC;YACtB,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,eAAe,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEhE,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE;gBAC5B,WAAW,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;aACxD;SACF;KACF;IAED,IAAI,gBAAgB,CAAC,MAAM,EAAE;QAC3B,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC5D,WAAW,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;KAEvC;IAED,OAAO,CAAC,IAAI,CAAC;;QAEP,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;;GAE1B,CAAC,CAAC;AACL,CAAC;AA1CD,gDA0CC;AAED,SAAgB,kBAAkB,CAAC,OAAsB,EAAE,OAAsB,EAAE,IAAoB;IACrG,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IACvC,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAE7C,OAAO,CAAC,IAAI,CACV,gDAAgD,GAAG,8BAA8B,EACjF,uDAAuD,GAAG,qCAAqC,EAC/F,6CAA6C,GAAG,2BAA2B,CAC5E,CAAC;IAEF,IAAI,aAAa,GAAG,CAAC,EAAE;QACrB,OAAO,CAAC,IAAI,CACV,6CAA6C,GAAG,8BAA8B,EAC9E,kDAAkD,GAAG,mCAAmC,EACxF,wGAAwG,GAAG,yBAAyB,CACrI,CAAC;KACH;SAAM;QACL,OAAO,CAAC,IAAI,CACV,6CAA6C,GAAG,8BAA8B,EAC9E,kDAAkD,GAAG,mCAAmC,EACxF,wGAAwG,GAAG,yBAAyB,CACrI,CAAC;KACH;IAED,OAAO,CAAC,IAAI,CAAC;;GAEZ,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC;gCACiB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;GACvD,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BZ,CAAC,CAAC;AACL,CAAC;AA3DD,gDA2DC;AAED,SAAgB,kBAAkB,CAAC,OAAsB,EAAE,OAAsB,EAAE,IAAoB;IACrG,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAEtC,oEAAoE;IACpE,IAAI,KAAK,EAAE;QACT,MAAM,YAAY,GAAG,yDAAyD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC;QACnH,OAAO,CAAC,IAAI,CAAC,qEAAqE,GAAG,kBAAkB,CAAC,CAAC;QACzG,OAAO,CAAC,IAAI,CAAC,uEAAuE,YAAY,KAAK,CAAC,CAAC;KACxG;SAAM;QACL,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;KACxD;IAED,gEAAgE;IAChE,IAAI,QAAQ,EAAE;QACZ,OAAO,CAAC,IAAI,CAAC,iDAAiD,GAAG,kBAAkB,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;KAC9C;SAAM;QACL,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;KACxD;AACH,CAAC;AAnBD,gDAmBC;AAED,SAAgB,kBAAkB,CAAC,OAAsB,EAAE,OAAsB,EAAE,IAAoB;IACrG,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC/B,MAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,OAAO,CAAC,IAAI,CAAC,qDAAqD,GAAG,sBAAsB,CAAC,CAAC;IAE7F,WAAW,CAAC,IAAI,CAAC;;GAEhB,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE;QACZ,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QACzE,WAAW,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;KACxD;SAAM;QACL,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KACnC;IAED,OAAO,CAAC,IAAI,CAAC;;QAEP,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;;GAE3B,CAAC,CAAC;AACL,CAAC;AAtBD,gDAsBC"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/tools/codegen.ts"],"names":[],"mappings":"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"}
@@ -47,21 +47,10 @@ function integrateDebugger(context, options, debug = {}) {
47
47
  integrate(dbg) {
48
48
  context.dispatch((s) => ({
49
49
  ...s,
50
- components: {
51
- ...s.components,
52
- ...dbg.components,
53
- },
54
50
  routes: {
55
51
  ...s.routes,
56
52
  ...dbg.routes,
57
53
  },
58
- registry: {
59
- ...s.registry,
60
- wrappers: {
61
- ...s.registry.wrappers,
62
- ...dbg.wrappers,
63
- },
64
- },
65
54
  }));
66
55
  context.state.subscribe((current, previous) => {
67
56
  const pilets = current.modules !== previous.modules;
@@ -1 +1 @@
1
- {"version":3,"file":"debugger.js","sourceRoot":"","sources":["../../src/tools/debugger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debugger.js","sourceRoot":"","sources":["../../src/tools/debugger.ts"],"names":[],"mappings":"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"}
@@ -11,3 +11,4 @@ export * from './navigation';
11
11
  export * from './plugin';
12
12
  export * from './state';
13
13
  export * from './utils';
14
+ export * from './web';
@@ -14,4 +14,5 @@ tslib_1.__exportStar(require("./navigation"), exports);
14
14
  tslib_1.__exportStar(require("./plugin"), exports);
15
15
  tslib_1.__exportStar(require("./state"), exports);
16
16
  tslib_1.__exportStar(require("./utils"), exports);
17
+ tslib_1.__exportStar(require("./web"), exports);
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB;AACtB,mDAAyB;AACzB,uDAA6B;AAC7B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,sDAA4B;AAC5B,qDAA2B;AAC3B,mDAAyB;AACzB,uDAA6B;AAC7B,mDAAyB;AACzB,kDAAwB;AACxB,kDAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB;AACtB,mDAAyB;AACzB,uDAA6B;AAC7B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,sDAA4B;AAC5B,qDAA2B;AAC3B,mDAAyB;AACzB,uDAA6B;AAC7B,mDAAyB;AACzB,kDAAwB;AACxB,kDAAwB;AACxB,gDAAsB"}
@@ -94,6 +94,11 @@ export interface AppState {
94
94
  * Gets an unrecoverable application error, if any.
95
95
  */
96
96
  error: Error | undefined;
97
+ /**
98
+ * Gets if the components from the micro frontends should be wrapped
99
+ * in a piral-component element.
100
+ */
101
+ wrap: boolean;
97
102
  }
98
103
  /**
99
104
  * The Piral global app sub-state container for component registrations.
@@ -0,0 +1,47 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ export interface PiralComponentProps extends HTMLAttributes<{}> {
3
+ name?: string;
4
+ origin: string;
5
+ }
6
+ export interface PiralExtensionProps extends HTMLAttributes<{}> {
7
+ name: string;
8
+ params: string;
9
+ }
10
+ export interface PiralPortalProps extends HTMLAttributes<{}> {
11
+ pid: string;
12
+ }
13
+ export interface PiralSlotProps extends HTMLAttributes<{}> {
14
+ }
15
+ declare global {
16
+ namespace JSX {
17
+ interface IntrinsicElements {
18
+ 'piral-component': React.DetailedHTMLProps<PiralComponentProps, {}>;
19
+ 'piral-extension': React.DetailedHTMLProps<PiralExtensionProps, {}>;
20
+ 'piral-portal': React.DetailedHTMLProps<PiralPortalProps, {}>;
21
+ 'piral-slot': React.DetailedHTMLProps<PiralSlotProps, {}>;
22
+ }
23
+ }
24
+ interface Window {
25
+ /**
26
+ * Assigns content in form a ReactChild to be rendered later
27
+ * from a foreign container / element in an piral-content
28
+ * child.
29
+ * @param cid The ID of the piral-content node.
30
+ * @param content The ReactChild to be rendered.
31
+ */
32
+ assignContent(cid: string, content: any): void;
33
+ }
34
+ interface HTMLElementTagNameMap {
35
+ 'piral-component': HTMLElement & {
36
+ name?: string;
37
+ origin: string;
38
+ };
39
+ 'piral-extension': HTMLElement & {
40
+ params: any;
41
+ name: string;
42
+ empty: any;
43
+ };
44
+ 'piral-portal': HTMLElement;
45
+ 'piral-slot': HTMLElement;
46
+ }
47
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/types/web.ts"],"names":[],"mappings":""}
@@ -1,6 +1,7 @@
1
1
  import { ComponentType, ReactPortal } from 'react';
2
2
  import { GlobalStateContext, ForeignComponent } from '../types';
3
3
  export declare const extensionName = "piral-extension";
4
+ export declare const componentName = "piral-component";
4
5
  export declare const contentName = "piral-content";
5
6
  export declare const portalName = "piral-portal";
6
7
  export declare const slotName = "piral-slot";
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.renderInDom = exports.convertComponent = exports.changeDomPortal = exports.attachDomPortal = exports.slotName = exports.portalName = exports.contentName = exports.extensionName = void 0;
3
+ exports.renderInDom = exports.convertComponent = exports.changeDomPortal = exports.attachDomPortal = exports.slotName = exports.portalName = exports.contentName = exports.componentName = exports.extensionName = void 0;
4
4
  const react_1 = require("react");
5
5
  const react_dom_1 = require("react-dom");
6
6
  exports.extensionName = 'piral-extension';
7
+ exports.componentName = 'piral-component';
7
8
  exports.contentName = 'piral-content';
8
9
  exports.portalName = 'piral-portal';
9
10
  exports.slotName = 'piral-slot';
@@ -1 +1 @@
1
- {"version":3,"file":"foreign.js","sourceRoot":"","sources":["../../src/utils/foreign.ts"],"names":[],"mappings":";;;AAAA,iCAAkE;AAClE,yCAAyC;AAG5B,QAAA,aAAa,GAAG,iBAAiB,CAAC;AAClC,QAAA,WAAW,GAAG,eAAe,CAAC;AAC9B,QAAA,UAAU,GAAG,cAAc,CAAC;AAC5B,QAAA,QAAQ,GAAG,YAAY,CAAC;AAErC,SAAgB,eAAe,CAC7B,EAAU,EACV,OAA2B,EAC3B,OAAiC,EACjC,SAAgC,EAChC,KAAa;IAEb,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,IAAA,qBAAa,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAsB,CAAC,CAAC;IACrF,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACtB,CAAC;AAVD,0CAUC;AAED,SAAgB,eAAe,CAC7B,EAAU,EACV,OAAoB,EACpB,OAA2B,EAC3B,OAAiC,EACjC,SAAgC,EAChC,KAAa;IAEb,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,IAAA,qBAAa,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAsB,CAAC,CAAC;IACnF,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACpB,CAAC;AAXD,0CAWC;AAED,SAAgB,gBAAgB,CAC9B,SAAgD,EAChD,SAAY;IAEZ,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,uCAAuC,SAAS,CAAC,IAAI,eAAe,CAAC,CAAC;KACvF;IAED,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AAC9B,CAAC;AATD,4CASC;AAED,SAAgB,WAAW,CACzB,OAA2B,EAC3B,OAAiC,EACjC,SAAgC,EAChC,KAAa;IAEb,MAAM,QAAQ,GAAG,KAAK,CAAC;IACvB,IAAI,MAAM,GAAS,OAAO,CAAC;IAE3B,OAAO,MAAM,EAAE;QACb,IAAI,MAAM,YAAY,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,kBAAU,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;YACjG,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACzC,OAAO,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;SAChE;QAED,MAAM,GAAG,MAAM,CAAC,UAAU,IAAK,MAAqB,CAAC,IAAI,CAAC;KAC3D;IAED,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACrE,CAAC;AAnBD,kCAmBC"}
1
+ {"version":3,"file":"foreign.js","sourceRoot":"","sources":["../../src/utils/foreign.ts"],"names":[],"mappings":";;;AAAA,iCAAkE;AAClE,yCAAyC;AAG5B,QAAA,aAAa,GAAG,iBAAiB,CAAC;AAClC,QAAA,aAAa,GAAG,iBAAiB,CAAC;AAClC,QAAA,WAAW,GAAG,eAAe,CAAC;AAC9B,QAAA,UAAU,GAAG,cAAc,CAAC;AAC5B,QAAA,QAAQ,GAAG,YAAY,CAAC;AAErC,SAAgB,eAAe,CAC7B,EAAU,EACV,OAA2B,EAC3B,OAAiC,EACjC,SAAgC,EAChC,KAAa;IAEb,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,IAAA,qBAAa,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAsB,CAAC,CAAC;IACrF,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACtB,CAAC;AAVD,0CAUC;AAED,SAAgB,eAAe,CAC7B,EAAU,EACV,OAAoB,EACpB,OAA2B,EAC3B,OAAiC,EACjC,SAAgC,EAChC,KAAa;IAEb,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,IAAA,qBAAa,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAsB,CAAC,CAAC;IACnF,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACpB,CAAC;AAXD,0CAWC;AAED,SAAgB,gBAAgB,CAC9B,SAAgD,EAChD,SAAY;IAEZ,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,uCAAuC,SAAS,CAAC,IAAI,eAAe,CAAC,CAAC;KACvF;IAED,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AAC9B,CAAC;AATD,4CASC;AAED,SAAgB,WAAW,CACzB,OAA2B,EAC3B,OAAiC,EACjC,SAAgC,EAChC,KAAa;IAEb,MAAM,QAAQ,GAAG,KAAK,CAAC;IACvB,IAAI,MAAM,GAAS,OAAO,CAAC;IAE3B,OAAO,MAAM,EAAE;QACb,IAAI,MAAM,YAAY,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,kBAAU,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;YACjG,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACzC,OAAO,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;SAChE;QAED,MAAM,GAAG,MAAM,CAAC,UAAU,IAAK,MAAqB,CAAC,IAAI,CAAC;KAC3D;IAED,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACrE,CAAC;AAnBD,kCAmBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-core",
3
- "version": "1.4.0-beta.6280",
3
+ "version": "1.4.0-beta.6287",
4
4
  "description": "The core library for creating a Piral instance.",
5
5
  "keywords": [
6
6
  "portal",
@@ -73,8 +73,8 @@
73
73
  },
74
74
  "dependencies": {
75
75
  "path-to-regexp": "^1.8.0",
76
- "piral-base": "1.4.0-beta.6280",
77
- "piral-debug-utils": "1.4.0-beta.6280",
76
+ "piral-base": "1.4.0-beta.6287",
77
+ "piral-debug-utils": "1.4.0-beta.6287",
78
78
  "zustand": "^3.0.0"
79
79
  },
80
80
  "devDependencies": {
@@ -94,5 +94,5 @@
94
94
  "react-router-dom",
95
95
  "tslib"
96
96
  ],
97
- "gitHead": "8402e4d3d6f5de2e76c48bcc5ce79279a3c957e4"
97
+ "gitHead": "7aa3284b55970365eae54d79191975b6d0a05607"
98
98
  }
@@ -24,11 +24,11 @@ export const RootListener: React.FC = () => {
24
24
  target.dispose = dispose;
25
25
  };
26
26
  document.body.addEventListener('render-html', renderHtml, false);
27
- document.body.addEventListener('render-content', renderContent, false);
27
+ window.addEventListener('render-content', renderContent, false);
28
28
 
29
29
  return () => {
30
30
  document.body.removeEventListener('render-html', renderHtml, false);
31
- document.body.removeEventListener('render-content', renderContent, false);
31
+ window.removeEventListener('render-content', renderContent, false);
32
32
  };
33
33
  }
34
34
  }, [context]);
@@ -44,12 +44,7 @@ function wrapForeignComponent<T>(
44
44
  return (
45
45
  <Wrapper {...props}>
46
46
  <PortalRenderer id={id} />
47
- <ForeignComponentContainer
48
- innerProps={innerProps}
49
- $portalId={id}
50
- $component={component}
51
- $context={context}
52
- />
47
+ <ForeignComponentContainer innerProps={innerProps} $portalId={id} $component={component} $context={context} />
53
48
  </Wrapper>
54
49
  );
55
50
  });
@@ -11,26 +11,16 @@ import {
11
11
  slotName,
12
12
  isSame,
13
13
  contentName,
14
+ componentName,
14
15
  } from '../utils';
15
16
 
16
17
  export interface Updatable {
17
18
  (newProps: any): void;
18
19
  }
19
20
 
20
- declare global {
21
- interface Window {
22
- /**
23
- * Assigns content in form a ReactChild to be rendered later
24
- * from a foreign container / element in an piral-content
25
- * child.
26
- * @param cid The ID of the piral-content node.
27
- * @param content The ReactChild to be rendered.
28
- */
29
- assignContent(cid: string, content: any): void;
30
- }
31
- }
32
-
33
21
  if (typeof window !== 'undefined' && 'customElements' in window) {
22
+ const contents = 'contents';
23
+
34
24
  /**
35
25
  * This is a nice abstraction allowing anyone to actually use the extension system
36
26
  * brought by Piral. Not all props of the extension system are actually exposed.
@@ -122,7 +112,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
122
112
  }
123
113
 
124
114
  connectedCallback() {
125
- this.style.display = 'contents';
115
+ this.style.display = contents;
126
116
 
127
117
  if (this.isConnected) {
128
118
  this.dispatchEvent(
@@ -177,7 +167,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
177
167
  */
178
168
  class PiralPortal extends HTMLElement {
179
169
  connectedCallback() {
180
- this.style.display = 'contents';
170
+ this.style.display = contents;
181
171
  }
182
172
  }
183
173
 
@@ -196,7 +186,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
196
186
  */
197
187
  class PiralSlot extends HTMLElement {
198
188
  connectedCallback() {
199
- this.style.display = 'contents';
189
+ this.style.display = contents;
200
190
  }
201
191
  }
202
192
 
@@ -205,7 +195,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
205
195
  /**
206
196
  * This is a virtual element to render children defined in React / by Piral in other
207
197
  * frameworks.
208
- *
198
+ *
209
199
  * Internally, you can use the assignContent function to populate the content to be
210
200
  * rendered once the element is attached / mounted in the DOM.
211
201
  *
@@ -214,13 +204,13 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
214
204
  * ```
215
205
  * <piral-content cid="123"></piral-content>
216
206
  * ```
217
- *
207
+ *
218
208
  * where you'd
219
- *
209
+ *
220
210
  * ```
221
211
  * window.assignContent("123", myReactContent)
222
212
  * ```
223
- *
213
+ *
224
214
  * beforehand.
225
215
  */
226
216
  class PiralContent extends HTMLElement {
@@ -229,16 +219,18 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
229
219
  static contentAssignments = {};
230
220
 
231
221
  connectedCallback() {
232
- this.style.display = 'contents';
222
+ this.style.display = contents;
233
223
  const cid = this.getAttribute('cid');
234
224
  const content = PiralContent.contentAssignments[cid];
235
225
  const portal = this.closest('piral-portal');
236
226
 
237
227
  if (content && portal) {
238
228
  const portalId = portal.getAttribute('pid');
239
- document.body.dispatchEvent(new CustomEvent('render-content', {
240
- detail: { target: this, content, portalId }
241
- }));
229
+ window.dispatchEvent(
230
+ new CustomEvent('render-content', {
231
+ detail: { target: this, content, portalId },
232
+ }),
233
+ );
242
234
  }
243
235
  }
244
236
 
@@ -253,6 +245,41 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
253
245
  };
254
246
 
255
247
  customElements.define(contentName, PiralContent);
248
+
249
+ /**
250
+ * This is a virtual element to indicate that the contained content is
251
+ * rendered from a micro frontend's component. It will be used by the
252
+ * orchestrator, so there is nothing you will need to do with it.
253
+ *
254
+ * Right now this is only used when you opt-in in the createInstance.
255
+ */
256
+ class PiralComponent extends HTMLElement {
257
+ get name() {
258
+ return this.getAttribute('name');
259
+ }
260
+
261
+ get origin() {
262
+ return this.getAttribute('origin');
263
+ }
264
+
265
+ connectedCallback() {
266
+ this.style.display = contents;
267
+ this.deferEvent('add-component');
268
+ }
269
+
270
+ disconnectedCallback() {
271
+ this.deferEvent('remove-component');
272
+ }
273
+
274
+ deferEvent(eventName: string) {
275
+ const ev = new CustomEvent(eventName, {
276
+ detail: { name: this.name, origin: this.origin },
277
+ });
278
+ setTimeout(() => window.dispatchEvent(ev), 0);
279
+ }
280
+ }
281
+
282
+ customElements.define(componentName, PiralComponent);
256
283
  }
257
284
 
258
285
  export function renderElement(
@@ -10,7 +10,9 @@ import { StateContext } from '../state';
10
10
 
11
11
  function createMockContainer() {
12
12
  const state = create(() => ({
13
- app: {},
13
+ app: {
14
+ wrap: false,
15
+ },
14
16
  components: {
15
17
  ErrorInfo: StubErrorInfo,
16
18
  },
@@ -50,6 +52,9 @@ function createMockContainerWithNoWrappers() {
50
52
  converters: {},
51
53
  readState(cb) {
52
54
  return cb({
55
+ app: {
56
+ wrap: false,
57
+ },
53
58
  registry: {
54
59
  wrappers: {},
55
60
  },
@@ -22,19 +22,27 @@ function getWrapper(wrappers: Record<string, React.ComponentType<any>>, wrapperT
22
22
 
23
23
  function makeWrapper<TProps>(
24
24
  context: GlobalStateContext,
25
- outerProps: any,
25
+ outerProps: BaseComponentProps,
26
26
  wrapperType: string,
27
27
  errorType: keyof Errors,
28
28
  ): React.FC<React.PropsWithChildren<TProps>> {
29
+ const wrapped = context.readState((m) => m.app.wrap);
29
30
  const OuterWrapper = context.readState((m) => getWrapper(m.registry.wrappers, wrapperType));
30
-
31
- return (props) => (
31
+ const Wrapper = (props) => (
32
32
  <OuterWrapper {...outerProps} {...props}>
33
33
  <ErrorBoundary {...outerProps} {...props} errorType={errorType}>
34
34
  {props.children}
35
35
  </ErrorBoundary>
36
36
  </OuterWrapper>
37
37
  );
38
+
39
+ return wrapped
40
+ ? (props) => (
41
+ <piral-component origin={outerProps.piral.meta.name}>
42
+ <Wrapper {...props} />
43
+ </piral-component>
44
+ )
45
+ : Wrapper;
38
46
  }
39
47
 
40
48
  export function withApi<TProps>(
@@ -67,7 +67,7 @@ function getModulePathOrDefault(root: string, origin: string, name: string) {
67
67
  try {
68
68
  const absPath = getModulePath(root, name);
69
69
  const relPath = relative(origin, absPath);
70
-
70
+
71
71
  // The relative path is to be used in an import statement,
72
72
  // so it should be normalized back to use posix path separators.
73
73
  const path = relPath.split(sep).join(posix.sep);
@@ -84,6 +84,7 @@ interface CodegenOptions {
84
84
  appName: string;
85
85
  externals: Array<string>;
86
86
  publicPath: string;
87
+ isolation: 'classic' | 'modern';
87
88
  debug?: {
88
89
  viewState?: boolean;
89
90
  loadPilets?: boolean;
@@ -140,8 +141,9 @@ export function createDependencies(imports: Array<string>, exports: Array<string
140
141
  }
141
142
 
142
143
  export function createDefaultState(imports: Array<string>, exports: Array<string>, opts: CodegenOptions) {
143
- const { root, cat, publicPath } = opts;
144
+ const { root, cat, publicPath, isolation } = opts;
144
145
  const routerVersion = getRouterVersion(root);
146
+ const wrap = isolation === 'modern' ? 'true' : 'false';
145
147
 
146
148
  imports.push(
147
149
  `import { DefaultErrorInfo } from 'piral-core/${cat}/defaults/DefaultErrorInfo';`,
@@ -177,6 +179,7 @@ export function createDefaultState(imports: Array<string>, exports: Array<string
177
179
  app: {
178
180
  error: undefined,
179
181
  loading: typeof window !== 'undefined',
182
+ wrap: ${wrap},
180
183
  },
181
184
  components: {
182
185
  ErrorInfo: DefaultErrorInfo,
@@ -50,21 +50,10 @@ export function integrateDebugger(
50
50
  integrate(dbg) {
51
51
  context.dispatch((s) => ({
52
52
  ...s,
53
- components: {
54
- ...s.components,
55
- ...dbg.components,
56
- },
57
53
  routes: {
58
54
  ...s.routes,
59
55
  ...dbg.routes,
60
56
  },
61
- registry: {
62
- ...s.registry,
63
- wrappers: {
64
- ...s.registry.wrappers,
65
- ...dbg.wrappers,
66
- },
67
- },
68
57
  }));
69
58
 
70
59
  context.state.subscribe((current, previous) => {
@@ -11,3 +11,4 @@ export * from './navigation';
11
11
  export * from './plugin';
12
12
  export * from './state';
13
13
  export * from './utils';
14
+ export * from './web';
@@ -123,6 +123,11 @@ export interface AppState {
123
123
  * Gets an unrecoverable application error, if any.
124
124
  */
125
125
  error: Error | undefined;
126
+ /**
127
+ * Gets if the components from the micro frontends should be wrapped
128
+ * in a piral-component element.
129
+ */
130
+ wrap: boolean;
126
131
  }
127
132
 
128
133
  /**
@@ -0,0 +1,53 @@
1
+ import type { HTMLAttributes } from 'react';
2
+
3
+ export interface PiralComponentProps extends HTMLAttributes<{}> {
4
+ name?: string;
5
+ origin: string;
6
+ }
7
+
8
+ export interface PiralExtensionProps extends HTMLAttributes<{}> {
9
+ name: string;
10
+ params: string;
11
+ }
12
+
13
+ export interface PiralPortalProps extends HTMLAttributes<{}> {
14
+ pid: string;
15
+ }
16
+
17
+ export interface PiralSlotProps extends HTMLAttributes<{}> {}
18
+
19
+ declare global {
20
+ namespace JSX {
21
+ interface IntrinsicElements {
22
+ 'piral-component': React.DetailedHTMLProps<PiralComponentProps, {}>;
23
+ 'piral-extension': React.DetailedHTMLProps<PiralExtensionProps, {}>;
24
+ 'piral-portal': React.DetailedHTMLProps<PiralPortalProps, {}>;
25
+ 'piral-slot': React.DetailedHTMLProps<PiralSlotProps, {}>;
26
+ }
27
+ }
28
+
29
+ interface Window {
30
+ /**
31
+ * Assigns content in form a ReactChild to be rendered later
32
+ * from a foreign container / element in an piral-content
33
+ * child.
34
+ * @param cid The ID of the piral-content node.
35
+ * @param content The ReactChild to be rendered.
36
+ */
37
+ assignContent(cid: string, content: any): void;
38
+ }
39
+
40
+ interface HTMLElementTagNameMap {
41
+ 'piral-component': HTMLElement & {
42
+ name?: string;
43
+ origin: string;
44
+ };
45
+ 'piral-extension': HTMLElement & {
46
+ params: any;
47
+ name: string;
48
+ empty: any;
49
+ };
50
+ 'piral-portal': HTMLElement;
51
+ 'piral-slot': HTMLElement;
52
+ }
53
+ }
@@ -3,6 +3,7 @@ import { createPortal } from 'react-dom';
3
3
  import { GlobalStateContext, ForeignComponent } from '../types';
4
4
 
5
5
  export const extensionName = 'piral-extension';
6
+ export const componentName = 'piral-component';
6
7
  export const contentName = 'piral-content';
7
8
  export const portalName = 'piral-portal';
8
9
  export const slotName = 'piral-slot';