@veloceapps/sdk 2.0.0 → 2.0.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 (84) hide show
  1. package/bundles/veloce-sdk-cms.umd.js +279 -83
  2. package/bundles/veloce-sdk-cms.umd.js.map +1 -1
  3. package/bundles/veloce-sdk-runtime.umd.js +146 -146
  4. package/bundles/veloce-sdk-runtime.umd.js.map +1 -1
  5. package/bundles/veloce-sdk.umd.js.map +1 -1
  6. package/cms/components/federated/federated.component.d.ts +36 -0
  7. package/cms/components/federated/federated.module.d.ts +7 -0
  8. package/cms/injection-tokens.d.ts +1 -0
  9. package/cms/plugins/script.plugin.d.ts +2 -0
  10. package/cms/utils/element.utils.d.ts +1 -0
  11. package/cms/utils/elements-resolver.d.ts +1 -0
  12. package/cms/utils/federated.util.d.ts +6 -0
  13. package/esm2015/cms/components/element-children/element-children.component.js +3 -3
  14. package/esm2015/cms/components/element-children/element-children.module.js +4 -4
  15. package/esm2015/cms/components/element-renderer/element-renderer.component.js +3 -3
  16. package/esm2015/cms/components/element-renderer/element-renderer.module.js +4 -4
  17. package/esm2015/cms/components/federated/federated.component.js +81 -0
  18. package/esm2015/cms/components/federated/federated.module.js +16 -0
  19. package/esm2015/cms/components/plugin.component.js +3 -3
  20. package/esm2015/cms/components/preview/preview.component.js +3 -3
  21. package/esm2015/cms/components/preview/preview.module.js +4 -4
  22. package/esm2015/cms/directives/custom-template.directive.js +3 -3
  23. package/esm2015/cms/injection-tokens.js +2 -1
  24. package/esm2015/cms/launcher.module.js +4 -4
  25. package/esm2015/cms/modules/configuration/configuration.module.js +4 -4
  26. package/esm2015/cms/modules/configuration/services/configuration.service.js +3 -3
  27. package/esm2015/cms/plugins/configuration.plugin.js +3 -3
  28. package/esm2015/cms/plugins/io.plugin.js +3 -3
  29. package/esm2015/cms/plugins/script.plugin.js +31 -24
  30. package/esm2015/cms/services/dynamic-module.service.js +3 -3
  31. package/esm2015/cms/services/element-context.service.js +3 -3
  32. package/esm2015/cms/services/io-provider.service.js +3 -3
  33. package/esm2015/cms/services/launcher.service.js +6 -5
  34. package/esm2015/cms/services/templates.service.js +3 -3
  35. package/esm2015/cms/utils/element.utils.js +22 -1
  36. package/esm2015/cms/utils/elements-resolver.js +13 -6
  37. package/esm2015/cms/utils/federated.util.js +37 -0
  38. package/esm2015/runtime/components/component-preview/component-preview.component.js +3 -3
  39. package/esm2015/runtime/components/section-renderer/section-renderer.component.js +3 -3
  40. package/esm2015/runtime/components/ui-runtime/runtime.component.js +3 -3
  41. package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +3 -3
  42. package/esm2015/runtime/execution/components/children-placeholder/children-placeholder.component.js +6 -6
  43. package/esm2015/runtime/execution/components/context-provider/context-provider.component.js +3 -3
  44. package/esm2015/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.js +3 -3
  45. package/esm2015/runtime/execution/components/federated/federated.component.js +3 -3
  46. package/esm2015/runtime/execution/components/velo-attribute/velo-attribute.component.js +3 -3
  47. package/esm2015/runtime/execution/components/velo-multiselect/velo-multiselect.component.js +3 -3
  48. package/esm2015/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.js +3 -3
  49. package/esm2015/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.js +3 -3
  50. package/esm2015/runtime/execution/components/velo-port-radio/velo-port-radio.component.js +3 -3
  51. package/esm2015/runtime/execution/components/velo-type/velo-type.component.js +3 -3
  52. package/esm2015/runtime/execution/directives/section-script.directive.js +3 -3
  53. package/esm2015/runtime/execution/directives/sf-query.directive.js +3 -3
  54. package/esm2015/runtime/execution/directives/velo-attribute.directive.js +3 -3
  55. package/esm2015/runtime/execution/directives/velo-port.directive.js +18 -18
  56. package/esm2015/runtime/execution/directives/vl-approval.directive.js +3 -3
  57. package/esm2015/runtime/execution/directives/vl-document-attachments.directive.js +3 -3
  58. package/esm2015/runtime/execution/directives/vl-document-templates.directive.js +3 -3
  59. package/esm2015/runtime/execution/directives/vl-quote.directive.js +3 -3
  60. package/esm2015/runtime/execution/directives/vl-ramp.directive.js +3 -3
  61. package/esm2015/runtime/execution/runtime-execution.module.js +4 -4
  62. package/esm2015/runtime/runtime.module.js +4 -4
  63. package/esm2015/runtime/services/cart.service.js +3 -3
  64. package/esm2015/runtime/services/collapsible-state.service.js +3 -3
  65. package/esm2015/runtime/services/configuration.service.js +3 -3
  66. package/esm2015/runtime/services/context.service.js +3 -3
  67. package/esm2015/runtime/services/current-state.service.js +3 -3
  68. package/esm2015/runtime/services/flow.service.js +3 -3
  69. package/esm2015/runtime/services/form-scope.service.js +3 -3
  70. package/esm2015/runtime/services/product-model-cache.service.js +3 -3
  71. package/esm2015/runtime/services/quote.service.js +3 -3
  72. package/esm2015/runtime/services/runtime-context.service.js +3 -3
  73. package/esm2015/runtime/services/runtime-form.service.js +3 -3
  74. package/esm2015/runtime/services/runtime.service.js +3 -3
  75. package/esm2015/runtime/services/section-helper.service.js +3 -3
  76. package/esm2015/runtime/services/section-scope.service.js +3 -3
  77. package/esm2015/runtime/services/section-store.service.js +3 -3
  78. package/esm2015/runtime/services/section.service.js +6 -6
  79. package/fesm2015/veloce-sdk-cms.js +251 -86
  80. package/fesm2015/veloce-sdk-cms.js.map +1 -1
  81. package/fesm2015/veloce-sdk-runtime.js +146 -146
  82. package/fesm2015/veloce-sdk-runtime.js.map +1 -1
  83. package/fesm2015/veloce-sdk.js.map +1 -1
  84. package/package.json +1 -1
@@ -14,9 +14,9 @@ import * as i1 from "./section-store.service";
14
14
  const SHA1 = UUID.SHA1();
15
15
  export class BaseSectionComponent {
16
16
  }
17
- BaseSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- BaseSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: BaseSectionComponent, selector: "ng-component", inputs: { form: "form", section: "section" }, viewQueries: [{ propertyName: "templates", predicate: ["customTemplate"], descendants: true }], ngImport: i0, template: '', isInline: true });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseSectionComponent, decorators: [{
17
+ BaseSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BaseSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
+ BaseSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: BaseSectionComponent, selector: "ng-component", inputs: { form: "form", section: "section" }, viewQueries: [{ propertyName: "templates", predicate: ["customTemplate"], descendants: true }], ngImport: i0, template: '', isInline: true });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BaseSectionComponent, decorators: [{
20
20
  type: Component,
21
21
  args: [{ template: '' }]
22
22
  }], propDecorators: { form: [{
@@ -116,9 +116,9 @@ export class SectionsService {
116
116
  return template;
117
117
  }
118
118
  }
119
- SectionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SectionsService, deps: [{ token: i0.Compiler }, { token: i0.NgModuleRef }, { token: i1.SectionStoreService }], target: i0.ɵɵFactoryTarget.Injectable });
120
- SectionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SectionsService });
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SectionsService, decorators: [{
119
+ SectionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SectionsService, deps: [{ token: i0.Compiler }, { token: i0.NgModuleRef }, { token: i1.SectionStoreService }], target: i0.ɵɵFactoryTarget.Injectable });
120
+ SectionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SectionsService });
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SectionsService, decorators: [{
122
122
  type: Injectable
123
123
  }], ctorParameters: function () { return [{ type: i0.Compiler }, { type: i0.NgModuleRef }, { type: i1.SectionStoreService }]; } });
124
124
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9zZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxlQUFlLElBQUksMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLFFBQVEsRUFLUixZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFXLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBR2hFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUd6QixNQUFNLE9BQU8sb0JBQW9COztrSEFBcEIsb0JBQW9CO3NHQUFwQixvQkFBb0Isa01BRFYsRUFBRTs0RkFDWixvQkFBb0I7a0JBRGhDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQUd6QixJQUFJO3NCQURILEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUdvQyxTQUFTO3NCQUFsRCxZQUFZO3VCQUFDLGdCQUFnQjs7QUFZ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QUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRXRFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDckYsUUFBUSxHQUFHLG1DQUFtQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNqRTtRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7OzZHQXBHVSxlQUFlO2lIQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSBhcyBFeHBlcmltZW50YWxTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGstZXhwZXJpbWVudGFsL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgJ0Bhbmd1bGFyL2NvbXBpbGVyJztcbmltcG9ydCB7XG4gIENvbXBpbGVyLFxuICBDb21wb25lbnQsXG4gIEluamVjdGFibGUsXG4gIElucHV0LFxuICBNb2R1bGVXaXRoQ29tcG9uZW50RmFjdG9yaWVzLFxuICBOZ01vZHVsZSxcbiAgTmdNb2R1bGVSZWYsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSwgRW50aXR5VXRpbCwgU2VjdGlvbiwgVVVJRCB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBWZWxvY2VFbGVtZW50c01vZHVsZSB9IGZyb20gJ0B2ZWxvY2UvZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUnVudGltZUV4ZWN1dGlvbk1vZHVsZSB9IGZyb20gJy4uL2V4ZWN1dGlvbi9ydW50aW1lLWV4ZWN1dGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgU2VjdGlvbkhlbHBlclNlcnZpY2UgfSBmcm9tICcuL3NlY3Rpb24taGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VjdGlvblN0b3JlU2VydmljZSB9IGZyb20gJy4vc2VjdGlvbi1zdG9yZS5zZXJ2aWNlJztcblxuY29uc3QgU0hBMSA9IFVVSUQuU0hBMSgpO1xuXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXG5leHBvcnQgY2xhc3MgQmFzZVNlY3Rpb25Db21wb25lbnQge1xuICBASW5wdXQoKVxuICBmb3JtITogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIHNlY3Rpb24hOiBTZWN0aW9uO1xuXG4gIEBWaWV3Q2hpbGRyZW4oJ2N1c3RvbVRlbXBsYXRlJykgcHJvdGVjdGVkIHRlbXBsYXRlcyE6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxhbnk+PjtcblxuICAvLyBDdXJyZW50bHkgdGhlcmUncyBubyB3YXkgdG8gaW5qZWN0IHZpYSBjb25zdHJ1Y3Rvci4gT3RoZXJ3aXNlIFJ1bnRpbWUganVzdCBjcmFzaGVzXG4gIC8vIFRPRE86IGludmVzdGlnYXRlIGhvdyB3ZSBjYW4gaW5qZWN0IHNlcnZpY2VzIGludG8gdGhlIGNvbXBvbmVudFxuXG4gIC8vIGNvbnN0cnVjdG9yKFxuICAvLyAgIEBJbmplY3QoRm9ybVNjb3BlU2VydmljZSkgcHJpdmF0ZSBmb3JtU2NvcGU6IEZvcm1TY29wZVNlcnZpY2UsXG4gIC8vICAgQEluamVjdChTZWN0aW9uSGVscGVyU2VydmljZSkgcHJpdmF0ZSBzZWN0aW9uQXBpOiBTZWN0aW9uSGVscGVyU2VydmljZSxcbiAgLy8gKSB7fVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2VjdGlvbnNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtb2R1bGVUeXBlOiBUeXBlPGFueT4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBtb2R1bGVJbnN0YW5jZTogTW9kdWxlV2l0aENvbXBvbmVudEZhY3Rvcmllczxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb21waWxlcjogQ29tcGlsZXIsIHByaXZhdGUgbTogTmdNb2R1bGVSZWY8YW55PiwgcHJpdmF0ZSBzZWN0aW9uU3RvcmU6IFNlY3Rpb25TdG9yZVNlcnZpY2UpIHt9XG5cbiAgY29tcGlsZU1vZHVsZShzZWN0aW9uczogU2VjdGlvbltdLCBpc1ZpZXdFbmNhcHN1bGF0ZWQ/OiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3QgdW5pcXVlU2VjdGlvbnMgPSB0aGlzLmdldFVuaXF1ZVNlY3Rpb25zKHNlY3Rpb25zKTtcblxuICAgIHRoaXMubW9kdWxlVHlwZSA9IHRoaXMuZ2V0TW9kdWxlVHlwZSh1bmlxdWVTZWN0aW9ucywgaXNWaWV3RW5jYXBzdWxhdGVkKTtcbiAgICB0aGlzLm1vZHVsZUluc3RhbmNlID0gdGhpcy5jb21waWxlci5jb21waWxlTW9kdWxlQW5kQWxsQ29tcG9uZW50c1N5bmModGhpcy5tb2R1bGVUeXBlKTtcblxuICAgIHRoaXMuc2VjdGlvblN0b3JlLmNvbXBvbmVudEZhY3RvcmllcyA9IHRoaXMubW9kdWxlSW5zdGFuY2UuY29tcG9uZW50RmFjdG9yaWVzO1xuICB9XG5cbiAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2R1bGVJbnN0YW5jZSkge1xuICAgICAgdGhpcy5zZWN0aW9uU3RvcmUuY29tcG9uZW50RmFjdG9yaWVzID0gW107XG4gICAgICB0aGlzLm1vZHVsZUluc3RhbmNlID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tb2R1bGVUeXBlKSB7XG4gICAgICB0aGlzLmNvbXBpbGVyLmNsZWFyQ2FjaGVGb3IodGhpcy5tb2R1bGVUeXBlKTtcbiAgICAgIHRoaXMubW9kdWxlVHlwZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWNvcmF0ZWRDb21wb25lbnRzKHNlY3Rpb25zOiBTZWN0aW9uW10sIGlzVmlld0VuY2Fwc3VsYXRlZDogYm9vbGVhbiA9IGZhbHNlKTogYW55W10ge1xuICAgIGNvbnN0IHJlc3VsdDogYW55W10gPSBbXTtcblxuICAgIHNlY3Rpb25zLmZvckVhY2goc2VjdGlvbiA9PiB7XG4gICAgICBjb25zdCB0cmFuc3BpbGVkVGVtcGxhdGUgPSB0aGlzLmdldFRyYW5zcGlsZWRUZW1wbGF0ZShzZWN0aW9uKTtcblxuICAgICAgY29uc3QgRHluYW1pY0NvbXBvbmVudCA9IENvbXBvbmVudCh7XG4gICAgICAgIHNlbGVjdG9yOiBzZWN0aW9uLmR5bmFtaWNTZWxlY3RvcixcbiAgICAgICAgdGVtcGxhdGU6IHRyYW5zcGlsZWRUZW1wbGF0ZSxcbiAgICAgICAgc3R5bGVzOiBbYXRvYihzZWN0aW9uLnN0eWxlcyB8fCAnJyldLFxuICAgICAgICBwcm92aWRlcnM6IFtTZWN0aW9uSGVscGVyU2VydmljZV0sXG4gICAgICAgIGVuY2Fwc3VsYXRpb246IGlzVmlld0VuY2Fwc3VsYXRlZCA/IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbSA6IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICAgICAgICBqaXQ6IHRydWUsXG4gICAgICB9KShjbGFzcyBDIGV4dGVuZHMgQmFzZVNlY3Rpb25Db21wb25lbnQge30pO1xuXG4gICAgICB0aGlzLmFwcGx5U2VsZWN0b3JGaWVsZChEeW5hbWljQ29tcG9uZW50LCBzZWN0aW9uLmR5bmFtaWNTZWxlY3RvciA/PyAnJyk7XG4gICAgICByZXN1bHQucHVzaChEeW5hbWljQ29tcG9uZW50KTtcbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZHVsZVR5cGUoc2VjdGlvbnM6IFNlY3Rpb25bXSwgaXNWaWV3RW5jYXBzdWxhdGVkPzogYm9vbGVhbik6IFR5cGU8YW55PiB7XG4gICAgY29uc3QgZGVjb3JhdGVkQ29tcG9uZW50cyA9IHRoaXMuZ2V0RGVjb3JhdGVkQ29tcG9uZW50cyhzZWN0aW9ucywgaXNWaWV3RW5jYXBzdWxhdGVkKTtcblxuICAgIEBOZ01vZHVsZSh7XG4gICAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUnVudGltZUV4ZWN1dGlvbk1vZHVsZSxcbiAgICAgICAgQ29yZU1vZHVsZSxcbiAgICAgICAgVmVsb2NlRWxlbWVudHNNb2R1bGUsXG4gICAgICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgICAgICAgRXhwZXJpbWVudGFsU2Nyb2xsaW5nTW9kdWxlLFxuICAgICAgXSxcbiAgICAgIGRlY2xhcmF0aW9uczogW2RlY29yYXRlZENvbXBvbmVudHNdLFxuICAgICAgaml0OiB0cnVlLFxuICAgIH0pXG4gICAgY2xhc3MgRHluYW1pY01vZHVsZSB7fVxuXG4gICAgcmV0dXJuIER5bmFtaWNNb2R1bGU7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5U2VsZWN0b3JGaWVsZCh0YXJnZXQ6IGFueSwgZHluYW1pY1NlbGVjdG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBfLnNldCh0YXJnZXQsICckJGR5bmFtaWNTZWxlY3RvcicsIGR5bmFtaWNTZWxlY3Rvcik7XG4gIH1cblxuICBwcml2YXRlIGdldFVuaXF1ZVNlY3Rpb25zKHNlY3Rpb25zOiBTZWN0aW9uW10pOiBTZWN0aW9uW10ge1xuICAgIGNvbnN0IHVuaXF1ZVNlY3Rpb25zOiB7IFtpbmRleDogc3RyaW5nXTogU2VjdGlvbiB9ID0ge307XG5cbiAgICBzZWN0aW9ucy5mb3JFYWNoKHNlY3Rpb24gPT4ge1xuICAgICAgc2VjdGlvbi5oYXNoID0gU0hBMS5oZXgoc2VjdGlvbi50ZW1wbGF0ZSk7XG5cbiAgICAgIGNvbnN0IGV4aXN0aW5nU2VjdGlvbiA9IHNlY3Rpb24uaGFzaCA/IHVuaXF1ZVNlY3Rpb25zW3NlY3Rpb24uaGFzaF0gOiB1bmRlZmluZWQ7XG4gICAgICBpZiAoZXhpc3RpbmdTZWN0aW9uICYmIGV4aXN0aW5nU2VjdGlvbi50ZW1wbGF0ZSA9PT0gc2VjdGlvbi50ZW1wbGF0ZSkge1xuICAgICAgICBzZWN0aW9uLmR5bmFtaWNTZWxlY3RvciA9IGV4aXN0aW5nU2VjdGlvbi5keW5hbWljU2VsZWN0b3I7XG4gICAgICB9IGVsc2UgaWYgKHNlY3Rpb24uaGFzaCkge1xuICAgICAgICBzZWN0aW9uLmR5bmFtaWNTZWxlY3RvciA9IGBzZWN0aW9uLSR7c2VjdGlvbi5pZH1gO1xuXG4gICAgICAgIHVuaXF1ZVNlY3Rpb25zW3NlY3Rpb24uaGFzaF0gPSBzZWN0aW9uO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIF8udmFsdWVzKHVuaXF1ZVNlY3Rpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHJhbnNwaWxlZFRlbXBsYXRlKHNlY3Rpb246IFNlY3Rpb24pOiBzdHJpbmcge1xuICAgIGxldCB0ZW1wbGF0ZTogc3RyaW5nID0gc2VjdGlvbi50ZW1wbGF0ZSA/IGF0b2Ioc2VjdGlvbi50ZW1wbGF0ZSkgOiAnJztcblxuICAgIGlmICghRW50aXR5VXRpbC5pc0VtcHR5KHNlY3Rpb24uc2NyaXB0KSAmJiB0ZW1wbGF0ZS5pbmRleE9mKCc8c2VjdGlvbi1zY3JpcHQnKSA9PT0gLTEpIHtcbiAgICAgIHRlbXBsYXRlID0gYDxzZWN0aW9uLXNjcmlwdD48L3NlY3Rpb24tc2NyaXB0PmAuY29uY2F0KHRlbXBsYXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGVtcGxhdGU7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
- import { __decorate, __param, __rest } from 'tslib';
1
+ import { __decorate, __param, __awaiter, __rest } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, Component, ChangeDetectionStrategy, Inject, Injector, Injectable, ViewContainerRef, SkipSelf, ViewChild, Input, Directive, NgModule } from '@angular/core';
3
+ import { InjectionToken, Component, ChangeDetectionStrategy, Inject, Injector, Injectable, ViewContainerRef, SkipSelf, ViewChild, Input, Directive, EventEmitter, TemplateRef, Output, NgModule } from '@angular/core';
4
4
  import * as rxjs from 'rxjs';
5
5
  import { BehaviorSubject, combineLatest, of, shareReplay, throwError, Subject, takeUntil, map as map$1, from, tap as tap$1, forkJoin, catchError as catchError$1 } from 'rxjs';
6
6
  import { EntityUtil, UUID, ConfigurationMode, ConfigurationContextMode, RuntimeModel, CoreModule } from '@veloce/core';
@@ -24,6 +24,7 @@ import { LoaderModule } from '@veloce/components';
24
24
  const DEFAULT_PLUGINS_TOKEN = new InjectionToken('DEFAULT_PLUGINS_TOKEN');
25
25
  const UI_DEFINITION_METADATA = new InjectionToken('UI_DEFINITION_METADATA_TOKEN');
26
26
  const ELEMENT_METADATA = new InjectionToken('ELEMENT_METADATA_TOKEN');
27
+ const SHARED_ELEMENT_METADATA = new InjectionToken('SHARED_ELEMENT_METADATA_TOKEN');
27
28
  const ELEMENT_CONFIG = new InjectionToken('ELEMENT_CONFIG_TOKEN');
28
29
 
29
30
  var vlInjectionTokens = /*#__PURE__*/Object.freeze({
@@ -31,6 +32,7 @@ var vlInjectionTokens = /*#__PURE__*/Object.freeze({
31
32
  DEFAULT_PLUGINS_TOKEN: DEFAULT_PLUGINS_TOKEN,
32
33
  UI_DEFINITION_METADATA: UI_DEFINITION_METADATA,
33
34
  ELEMENT_METADATA: ELEMENT_METADATA,
35
+ SHARED_ELEMENT_METADATA: SHARED_ELEMENT_METADATA,
34
36
  ELEMENT_CONFIG: ELEMENT_CONFIG
35
37
  });
36
38
 
@@ -313,9 +315,9 @@ class ConfigurationService {
313
315
  };
314
316
  }
315
317
  }
316
- ConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationService, deps: [{ token: i1.ConfigurationApiService }, { token: i2.ContextService }, { token: i1.ConfigurationApiService }, { token: i3.MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
317
- ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationService });
318
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationService, decorators: [{
318
+ ConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationService, deps: [{ token: i1.ConfigurationApiService }, { token: i2.ContextService }, { token: i1.ConfigurationApiService }, { token: i3.MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
319
+ ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationService });
320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationService, decorators: [{
319
321
  type: Injectable
320
322
  }], ctorParameters: function () { return [{ type: i1.ConfigurationApiService }, { type: i2.ContextService }, { type: i1.ConfigurationApiService }, { type: i3.MessageService }]; } });
321
323
 
@@ -396,9 +398,9 @@ class DynamicModuleService {
396
398
  this.componentFactories = [];
397
399
  }
398
400
  }
399
- DynamicModuleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DynamicModuleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
400
- DynamicModuleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DynamicModuleService });
401
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DynamicModuleService, decorators: [{
401
+ DynamicModuleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DynamicModuleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
402
+ DynamicModuleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DynamicModuleService });
403
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DynamicModuleService, decorators: [{
402
404
  type: Injectable
403
405
  }] });
404
406
 
@@ -437,9 +439,9 @@ class IOProviderService {
437
439
  return this.inputs[path][name];
438
440
  }
439
441
  }
440
- IOProviderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IOProviderService, deps: [{ token: DynamicModuleService }], target: i0.ɵɵFactoryTarget.Injectable });
441
- IOProviderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IOProviderService });
442
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IOProviderService, decorators: [{
442
+ IOProviderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IOProviderService, deps: [{ token: DynamicModuleService }], target: i0.ɵɵFactoryTarget.Injectable });
443
+ IOProviderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IOProviderService });
444
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IOProviderService, decorators: [{
443
445
  type: Injectable
444
446
  }], ctorParameters: function () { return [{ type: DynamicModuleService }]; } });
445
447
 
@@ -454,9 +456,9 @@ class TemplatesService {
454
456
  return this.templates[name];
455
457
  }
456
458
  }
457
- TemplatesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TemplatesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
458
- TemplatesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TemplatesService });
459
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TemplatesService, decorators: [{
459
+ TemplatesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TemplatesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
460
+ TemplatesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TemplatesService });
461
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TemplatesService, decorators: [{
460
462
  type: Injectable
461
463
  }] });
462
464
 
@@ -476,6 +478,27 @@ const elementToMetadata = (el, parentPath) => {
476
478
  return Object.assign(Object.assign({}, elementMetadata), { path, script: script === null || script === void 0 ? void 0 : script.replace(METADATA_DECORATOR_REGEX, 'export class'), template,
477
479
  styles, children: el.children.map(child => elementToMetadata(child, path)) });
478
480
  };
481
+ const metadataToElement = (metadata) => {
482
+ const elMetadata = {
483
+ name: metadata.name,
484
+ type: metadata.type,
485
+ model: metadata.model,
486
+ module: metadata.module,
487
+ inputs: metadata.inputs,
488
+ outputs: metadata.outputs,
489
+ children: metadata.children.map(({ name }) => name),
490
+ };
491
+ const script = metadata.script &&
492
+ window.btoa(metadata.script.replace(EXPORTED_CLASS_REGEX, `@ElementDefinition(${JSON.stringify(elMetadata)}) export class Script `));
493
+ const template = metadata.template && window.btoa(metadata.template);
494
+ const styles = metadata.styles && window.btoa(metadata.styles);
495
+ return {
496
+ script,
497
+ template,
498
+ styles,
499
+ children: metadata.children.map(meta => metadataToElement(meta)),
500
+ };
501
+ };
479
502
  const extractElementMetadata = (script) => {
480
503
  var _a;
481
504
  const metadataString = ((_a = METADATA_DECORATOR_REGEX.exec(script)) !== null && _a !== void 0 ? _a : [])[1];
@@ -497,9 +520,9 @@ const extendElementMetadata = (script, extend) => {
497
520
 
498
521
  class ElementContextService {
499
522
  }
500
- ElementContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
501
- ElementContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementContextService });
502
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementContextService, decorators: [{
523
+ ElementContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
524
+ ElementContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementContextService });
525
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementContextService, decorators: [{
503
526
  type: Injectable
504
527
  }] });
505
528
 
@@ -615,9 +638,9 @@ class ElementRendererComponent {
615
638
  this.refs = {};
616
639
  }
617
640
  }
618
- ElementRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementRendererComponent, deps: [{ token: i0.Injector, skipSelf: true }, { token: DynamicModuleService }, { token: ElementContextService }, { token: IOProviderService }, { token: ConfigurationService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
619
- ElementRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ElementRendererComponent, selector: "vl-cms-element-renderer", inputs: { meta: "meta" }, providers: [ElementContextService], viewQueries: [{ propertyName: "el", first: true, predicate: ["el"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-template #el></ng-template>\n", styles: [":host{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
620
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementRendererComponent, decorators: [{
641
+ ElementRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementRendererComponent, deps: [{ token: i0.Injector, skipSelf: true }, { token: DynamicModuleService }, { token: ElementContextService }, { token: IOProviderService }, { token: ConfigurationService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
642
+ ElementRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: ElementRendererComponent, selector: "vl-cms-element-renderer", inputs: { meta: "meta" }, providers: [ElementContextService], viewQueries: [{ propertyName: "el", first: true, predicate: ["el"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-template #el></ng-template>\n", styles: [":host{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
643
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementRendererComponent, decorators: [{
621
644
  type: Component,
622
645
  args: [{
623
646
  selector: 'vl-cms-element-renderer',
@@ -641,9 +664,9 @@ class ElementChildrenComponent {
641
664
  this.metadata = this.elementContext.metadata;
642
665
  }
643
666
  }
644
- ElementChildrenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementChildrenComponent, deps: [{ token: ElementContextService }], target: i0.ɵɵFactoryTarget.Component });
645
- ElementChildrenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ElementChildrenComponent, selector: "element-children", ngImport: i0, template: "<ng-container *ngIf=\"metadata?.children.length\">\n <ng-container *ngFor=\"let child of metadata.children\">\n <vl-cms-element-renderer [meta]=\"child\"></vl-cms-element-renderer>\n </ng-container>\n</ng-container>\n", styles: [":host{display:contents}\n"], components: [{ type: ElementRendererComponent, selector: "vl-cms-element-renderer", inputs: ["meta"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
646
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementChildrenComponent, decorators: [{
667
+ ElementChildrenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementChildrenComponent, deps: [{ token: ElementContextService }], target: i0.ɵɵFactoryTarget.Component });
668
+ ElementChildrenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: ElementChildrenComponent, selector: "element-children", ngImport: i0, template: "<ng-container *ngIf=\"metadata?.children.length\">\n <ng-container *ngFor=\"let child of metadata.children\">\n <vl-cms-element-renderer [meta]=\"child\"></vl-cms-element-renderer>\n </ng-container>\n</ng-container>\n", styles: [":host{display:contents}\n"], components: [{ type: ElementRendererComponent, selector: "vl-cms-element-renderer", inputs: ["meta"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
669
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementChildrenComponent, decorators: [{
647
670
  type: Component,
648
671
  args: [{
649
672
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -667,9 +690,9 @@ class CustomTemplateDirective {
667
690
  this.templatesService.register(this.customTemplate, this.templateRef);
668
691
  }
669
692
  }
670
- CustomTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CustomTemplateDirective, deps: [{ token: i0.TemplateRef }, { token: TemplatesService }], target: i0.ɵɵFactoryTarget.Directive });
671
- CustomTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: CustomTemplateDirective, selector: "[customTemplate]", inputs: { customTemplate: "customTemplate" }, ngImport: i0 });
672
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CustomTemplateDirective, decorators: [{
693
+ CustomTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CustomTemplateDirective, deps: [{ token: i0.TemplateRef }, { token: TemplatesService }], target: i0.ɵɵFactoryTarget.Directive });
694
+ CustomTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.15", type: CustomTemplateDirective, selector: "[customTemplate]", inputs: { customTemplate: "customTemplate" }, ngImport: i0 });
695
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CustomTemplateDirective, decorators: [{
673
696
  type: Directive,
674
697
  args: [{ selector: '[customTemplate]' }]
675
698
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: TemplatesService }]; }, propDecorators: { customTemplate: [{
@@ -760,9 +783,9 @@ class ConfigurationPlugin {
760
783
  return this.host;
761
784
  }
762
785
  }
763
- ConfigurationPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationPlugin, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
764
- ConfigurationPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: ConfigurationPlugin, ngImport: i0 });
765
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationPlugin, decorators: [{
786
+ ConfigurationPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationPlugin, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
787
+ ConfigurationPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.15", type: ConfigurationPlugin, ngImport: i0 });
788
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationPlugin, decorators: [{
766
789
  type: Directive
767
790
  }], ctorParameters: function () { return [{ type: undefined }]; } });
768
791
 
@@ -775,6 +798,7 @@ var vlCmsModules = /*#__PURE__*/Object.freeze({
775
798
  var vlCmsUtils = /*#__PURE__*/Object.freeze({
776
799
  __proto__: null,
777
800
  elementToMetadata: elementToMetadata,
801
+ metadataToElement: metadataToElement,
778
802
  extractElementMetadata: extractElementMetadata,
779
803
  extendElementMetadata: extendElementMetadata,
780
804
  parseBoundPath: parseBoundPath,
@@ -807,34 +831,41 @@ const normalizeImports = (script) => {
807
831
  class ScriptPlugin {
808
832
  constructor(host) {
809
833
  this.host = host;
810
- const document = this.host.injector.get(DOCUMENT);
834
+ this.document = this.host.injector.get(DOCUMENT);
811
835
  const elementMetadata = this.host.injector.get(ELEMENT_METADATA);
836
+ const sharedElementMetadata = this.host.injector.get(SHARED_ELEMENT_METADATA);
837
+ if (sharedElementMetadata === null || sharedElementMetadata === void 0 ? void 0 : sharedElementMetadata.script) {
838
+ this.addScript(sharedElementMetadata.script);
839
+ }
812
840
  if (elementMetadata.script) {
813
- const id = btoa(UUID.UUID());
814
- const script = document.createElement('script');
815
- script.type = `text/javascript`;
816
- let scriptContent = normalizeImports(elementMetadata.script);
817
- const classMatch = /export class (\S+)/.exec(scriptContent);
818
- const className = classMatch === null || classMatch === void 0 ? void 0 : classMatch[1];
819
- if (!classMatch || !className) {
820
- console.error("Script doesn't have exported class");
821
- return;
822
- }
823
- scriptContent = scriptContent.replace(classMatch[0], `class ${className}`);
824
- script.text = `var ${id} = function(vendor) {${scriptContent}
841
+ this.addScript(elementMetadata.script);
842
+ }
843
+ }
844
+ addScript(scriptStr) {
845
+ const id = btoa(UUID.UUID());
846
+ const script = this.document.createElement('script');
847
+ script.type = `text/javascript`;
848
+ let scriptContent = normalizeImports(scriptStr);
849
+ const classMatch = /export class (\S+)/.exec(scriptContent);
850
+ const className = classMatch === null || classMatch === void 0 ? void 0 : classMatch[1];
851
+ if (!classMatch || !className) {
852
+ console.error("Script doesn't have exported class");
853
+ return;
854
+ }
855
+ scriptContent = scriptContent.replace(classMatch[0], `class ${className}`);
856
+ script.text = `var ${id} = function(vendor) {${scriptContent}
825
857
  return ${className}; };`;
826
- document.body.appendChild(script);
827
- const ScriptClass = window[id](vendorMap);
828
- if (ScriptClass instanceof Object) {
829
- this.host.registerPlugin(new ScriptClass(this.host));
830
- }
831
- document.body.removeChild(script);
858
+ this.document.body.appendChild(script);
859
+ const ScriptClass = window[id](vendorMap);
860
+ if (ScriptClass instanceof Object) {
861
+ this.host.registerPlugin(new ScriptClass(this.host));
832
862
  }
863
+ this.document.body.removeChild(script);
833
864
  }
834
865
  }
835
- ScriptPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ScriptPlugin, deps: [{ token: ElementComponent }], target: i0.ɵɵFactoryTarget.Directive });
836
- ScriptPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: ScriptPlugin, ngImport: i0 });
837
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ScriptPlugin, decorators: [{
866
+ ScriptPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ScriptPlugin, deps: [{ token: ElementComponent }], target: i0.ɵɵFactoryTarget.Directive });
867
+ ScriptPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.15", type: ScriptPlugin, ngImport: i0 });
868
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ScriptPlugin, decorators: [{
838
869
  type: Directive
839
870
  }], ctorParameters: function () { return [{ type: ElementComponent }]; } });
840
871
 
@@ -869,9 +900,9 @@ class IOPlugin {
869
900
  });
870
901
  }
871
902
  }
872
- IOPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IOPlugin, deps: [{ token: ElementComponent }], target: i0.ɵɵFactoryTarget.Directive });
873
- IOPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: IOPlugin, ngImport: i0 });
874
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IOPlugin, decorators: [{
903
+ IOPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IOPlugin, deps: [{ token: ElementComponent }], target: i0.ɵɵFactoryTarget.Directive });
904
+ IOPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.15", type: IOPlugin, ngImport: i0 });
905
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IOPlugin, decorators: [{
875
906
  type: Directive
876
907
  }], ctorParameters: function () { return [{ type: ElementComponent }]; } });
877
908
 
@@ -932,19 +963,25 @@ class ElementsResolver {
932
963
  isSharedElement(el) {
933
964
  return Boolean(el.reference) && el.type !== 'REFERENCE';
934
965
  }
935
- processElementMetadata(element) {
966
+ getSharedElement(element) {
967
+ if (element.type !== 'REFERENCE') {
968
+ return;
969
+ }
970
+ return this.sharedElements.find(el => element.reference === el.name);
971
+ }
972
+ processElementMetadata(element, sharedElement) {
936
973
  if (element.type === 'REFERENCE') {
937
- const sharedElement = this.sharedElements.find(el => element.reference === el.name);
938
974
  if (!sharedElement) {
939
975
  console.warn(`Shared element "${element.reference}" not found`);
940
976
  return;
941
977
  }
942
- return Object.assign(Object.assign({}, element), { type: sharedElement.type, template: sharedElement.template, script: sharedElement.script, styles: sharedElement.styles, inputs: Object.assign(Object.assign({}, sharedElement.inputs), element.inputs), outputs: Object.assign(Object.assign({}, sharedElement.outputs), element.outputs) });
978
+ return Object.assign(Object.assign({}, element), { type: sharedElement.type, template: sharedElement.template, styles: sharedElement.styles, inputs: Object.assign(Object.assign({}, sharedElement.inputs), element.inputs), outputs: Object.assign(Object.assign({}, sharedElement.outputs), element.outputs) });
943
979
  }
944
980
  return element;
945
981
  }
946
982
  resolveElement(sourceElement) {
947
- const element = this.processElementMetadata(sourceElement);
983
+ const sharedElement = this.getSharedElement(sourceElement);
984
+ const element = this.processElementMetadata(sourceElement, sharedElement);
948
985
  if (!element) {
949
986
  return;
950
987
  }
@@ -958,6 +995,7 @@ class ElementsResolver {
958
995
  { provide: DEFAULT_PLUGINS_TOKEN, useValue: defaultPlugins },
959
996
  { provide: UI_DEFINITION_METADATA, useValue: this.uiDef },
960
997
  { provide: ELEMENT_METADATA, useValue: element },
998
+ { provide: SHARED_ELEMENT_METADATA, useValue: sharedElement },
961
999
  { provide: ELEMENT_CONFIG, useValue: config },
962
1000
  ] });
963
1001
  const cmp = Component(component)(class C extends config.component {
@@ -970,6 +1008,133 @@ class ElementsResolver {
970
1008
  }
971
1009
  }
972
1010
 
1011
+ const moduleMap = {};
1012
+ function loadRemoteEntry(remoteEntry) {
1013
+ return new Promise((resolve, reject) => {
1014
+ if (moduleMap[remoteEntry]) {
1015
+ resolve();
1016
+ return;
1017
+ }
1018
+ const script = document.createElement('script');
1019
+ script.src = remoteEntry;
1020
+ script.onerror = reject;
1021
+ script.onload = () => {
1022
+ moduleMap[remoteEntry] = true;
1023
+ resolve(); // window is the global namespace
1024
+ };
1025
+ document.body.append(script);
1026
+ });
1027
+ }
1028
+ function lookupExposedModule(remoteName, exposedModule) {
1029
+ return __awaiter(this, void 0, void 0, function* () {
1030
+ // Initializes the share scope. This fills it with known provided modules from this build and all remotes
1031
+ yield __webpack_init_sharing__('default');
1032
+ const container = window[remoteName]; // or get the container somewhere else
1033
+ // Initialize the container, it may provide shared modules
1034
+ yield container.init(__webpack_share_scopes__.default);
1035
+ const factory = yield container.get(exposedModule);
1036
+ const Module = factory();
1037
+ return Module;
1038
+ });
1039
+ }
1040
+ function loadRemoteModule(options) {
1041
+ return __awaiter(this, void 0, void 0, function* () {
1042
+ yield loadRemoteEntry(options.remoteEntry);
1043
+ return yield lookupExposedModule(options.remoteName, options.exposedModule);
1044
+ });
1045
+ }
1046
+
1047
+ var IntegrationEvent;
1048
+ (function (IntegrationEvent) {
1049
+ IntegrationEvent["Init"] = "Init";
1050
+ })(IntegrationEvent || (IntegrationEvent = {}));
1051
+ class FederatedComponent {
1052
+ constructor(injector, compiler, appRef, renderer) {
1053
+ this.injector = injector;
1054
+ this.compiler = compiler;
1055
+ this.appRef = appRef;
1056
+ this.renderer = renderer;
1057
+ this.integrationEvent = new EventEmitter();
1058
+ this.moduleReady = false;
1059
+ }
1060
+ ngAfterViewInit() {
1061
+ if (!this.remoteEntry || !this.remoteName || !this.exposedModule) {
1062
+ return;
1063
+ }
1064
+ loadRemoteModule({
1065
+ remoteEntry: this.remoteEntry,
1066
+ remoteName: this.remoteName,
1067
+ exposedModule: this.exposedModule,
1068
+ }).then(federated => {
1069
+ this.compiler.compileModuleAsync(federated[this.exposedModule]).then(moduleFactory => {
1070
+ var _a;
1071
+ const rootModuleRef = moduleFactory.create(this.injector);
1072
+ const rootComponentFactory = rootModuleRef.componentFactoryResolver.resolveComponentFactory(federated[this.exposedModule].rootComponent);
1073
+ const node = document.createElement('div');
1074
+ const { instance, hostView } = rootComponentFactory.create(this.injector, [], node);
1075
+ this.instance = instance;
1076
+ this.instance.data = this.data;
1077
+ this.instance.eventData = this.eventData;
1078
+ this.instance.integrationEvent = this.integrationEvent;
1079
+ this.renderer.appendChild((_a = this.moduleHostRef) === null || _a === void 0 ? void 0 : _a.nativeElement, node);
1080
+ this.appRef.attachView(hostView);
1081
+ });
1082
+ });
1083
+ }
1084
+ ngOnChanges(changes) {
1085
+ if (!this.instance) {
1086
+ return;
1087
+ }
1088
+ this.instance.ngOnChanges(changes);
1089
+ }
1090
+ }
1091
+ FederatedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FederatedComponent, deps: [{ token: i0.Injector }, { token: i0.Compiler }, { token: i0.ApplicationRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1092
+ FederatedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FederatedComponent, selector: "veloce-host-federated", inputs: { remoteEntry: "remoteEntry", remoteName: "remoteName", exposedModule: "exposedModule", data: "data", eventData: "eventData" }, outputs: { integrationEvent: "integrationEvent" }, viewQueries: [{ propertyName: "federatedComponent", first: true, predicate: ["federatedComponent"], descendants: true, read: ViewContainerRef }, { propertyName: "foo", first: true, predicate: ["foo"], descendants: true, read: TemplateRef }, { propertyName: "moduleHostRef", first: true, predicate: ["moduleHost"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #moduleHost></div>\n", styles: [":host{display:block}div{height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1093
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FederatedComponent, decorators: [{
1094
+ type: Component,
1095
+ args: [{
1096
+ // eslint-disable-next-line @angular-eslint/component-selector
1097
+ selector: 'veloce-host-federated',
1098
+ templateUrl: './federated.component.html',
1099
+ styleUrls: ['./federated.component.scss'],
1100
+ changeDetection: ChangeDetectionStrategy.OnPush,
1101
+ }]
1102
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.Compiler }, { type: i0.ApplicationRef }, { type: i0.Renderer2 }]; }, propDecorators: { federatedComponent: [{
1103
+ type: ViewChild,
1104
+ args: ['federatedComponent', { read: ViewContainerRef }]
1105
+ }], foo: [{
1106
+ type: ViewChild,
1107
+ args: ['foo', { read: TemplateRef }]
1108
+ }], moduleHostRef: [{
1109
+ type: ViewChild,
1110
+ args: ['moduleHost', { static: false }]
1111
+ }], remoteEntry: [{
1112
+ type: Input
1113
+ }], remoteName: [{
1114
+ type: Input
1115
+ }], exposedModule: [{
1116
+ type: Input
1117
+ }], data: [{
1118
+ type: Input
1119
+ }], eventData: [{
1120
+ type: Input
1121
+ }], integrationEvent: [{
1122
+ type: Output
1123
+ }] } });
1124
+
1125
+ class FederatedModule {
1126
+ }
1127
+ FederatedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FederatedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1128
+ FederatedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FederatedModule, declarations: [FederatedComponent], exports: [FederatedComponent] });
1129
+ FederatedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FederatedModule });
1130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FederatedModule, decorators: [{
1131
+ type: NgModule,
1132
+ args: [{
1133
+ declarations: [FederatedComponent],
1134
+ exports: [FederatedComponent],
1135
+ }]
1136
+ }] });
1137
+
973
1138
  class LauncherService {
974
1139
  constructor(compiler, dynamicModuleService) {
975
1140
  this.compiler = compiler;
@@ -1000,7 +1165,7 @@ class LauncherService {
1000
1165
  };
1001
1166
  DynamicModule = __decorate([
1002
1167
  NgModule({
1003
- imports: [CommonModule, ReactiveFormsModule],
1168
+ imports: [CommonModule, ReactiveFormsModule, FederatedModule],
1004
1169
  declarations: [...staticComponents, ...elementsResolver.getNgComponents()],
1005
1170
  jit: true,
1006
1171
  })
@@ -1008,9 +1173,9 @@ class LauncherService {
1008
1173
  return DynamicModule;
1009
1174
  }
1010
1175
  }
1011
- LauncherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LauncherService, deps: [{ token: i0.Compiler }, { token: DynamicModuleService }], target: i0.ɵɵFactoryTarget.Injectable });
1012
- LauncherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LauncherService });
1013
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LauncherService, decorators: [{
1176
+ LauncherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LauncherService, deps: [{ token: i0.Compiler }, { token: DynamicModuleService }], target: i0.ɵɵFactoryTarget.Injectable });
1177
+ LauncherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LauncherService });
1178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LauncherService, decorators: [{
1014
1179
  type: Injectable
1015
1180
  }], ctorParameters: function () { return [{ type: i0.Compiler }, { type: DynamicModuleService }]; } });
1016
1181
 
@@ -1058,9 +1223,9 @@ class PreviewComponent {
1058
1223
  .subscribe();
1059
1224
  }
1060
1225
  }
1061
- PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreviewComponent, deps: [{ token: LauncherService }, { token: ConfigurationService }, { token: i3.MessageService }], target: i0.ɵɵFactoryTarget.Component });
1062
- PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PreviewComponent, selector: "vl-cms-preview", inputs: { modelId: "modelId", uiDefinition: "uiDefinition" }, providers: [IOProviderService, ConfigurationService, TemplatesService], ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer *ngFor=\"let el of elements\" [meta]=\"el\"></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{flex-grow:1;display:flex;flex-direction:column;height:100%;all:unset}\n"], components: [{ type: i4.LoaderComponent, selector: "vl-loader", inputs: ["label"] }, { type: ElementRendererComponent, selector: "vl-cms-element-renderer", inputs: ["meta"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1063
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreviewComponent, decorators: [{
1226
+ PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreviewComponent, deps: [{ token: LauncherService }, { token: ConfigurationService }, { token: i3.MessageService }], target: i0.ɵɵFactoryTarget.Component });
1227
+ PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: PreviewComponent, selector: "vl-cms-preview", inputs: { modelId: "modelId", uiDefinition: "uiDefinition" }, providers: [IOProviderService, ConfigurationService, TemplatesService], ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer *ngFor=\"let el of elements\" [meta]=\"el\"></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{flex-grow:1;display:flex;flex-direction:column;height:100%}\n"], components: [{ type: i4.LoaderComponent, selector: "vl-loader", inputs: ["label"] }, { type: ElementRendererComponent, selector: "vl-cms-element-renderer", inputs: ["meta"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreviewComponent, decorators: [{
1064
1229
  type: Component,
1065
1230
  args: [{
1066
1231
  selector: 'vl-cms-preview',
@@ -1077,10 +1242,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1077
1242
 
1078
1243
  class ElementRendererModule {
1079
1244
  }
1080
- ElementRendererModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementRendererModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1081
- ElementRendererModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementRendererModule, declarations: [ElementRendererComponent], exports: [ElementRendererComponent] });
1082
- ElementRendererModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementRendererModule });
1083
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementRendererModule, decorators: [{
1245
+ ElementRendererModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementRendererModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1246
+ ElementRendererModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementRendererModule, declarations: [ElementRendererComponent], exports: [ElementRendererComponent] });
1247
+ ElementRendererModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementRendererModule });
1248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementRendererModule, decorators: [{
1084
1249
  type: NgModule,
1085
1250
  args: [{
1086
1251
  declarations: [ElementRendererComponent],
@@ -1090,10 +1255,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1090
1255
 
1091
1256
  class ElementChildrenModule {
1092
1257
  }
1093
- ElementChildrenModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementChildrenModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1094
- ElementChildrenModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementChildrenModule, declarations: [ElementChildrenComponent], imports: [ElementRendererModule], exports: [ElementChildrenComponent] });
1095
- ElementChildrenModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementChildrenModule, imports: [[ElementRendererModule]] });
1096
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementChildrenModule, decorators: [{
1258
+ ElementChildrenModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementChildrenModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1259
+ ElementChildrenModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementChildrenModule, declarations: [ElementChildrenComponent], imports: [ElementRendererModule], exports: [ElementChildrenComponent] });
1260
+ ElementChildrenModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementChildrenModule, imports: [[ElementRendererModule]] });
1261
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementChildrenModule, decorators: [{
1097
1262
  type: NgModule,
1098
1263
  args: [{
1099
1264
  declarations: [ElementChildrenComponent],
@@ -1104,10 +1269,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1104
1269
 
1105
1270
  class PreviewModule {
1106
1271
  }
1107
- PreviewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreviewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1108
- PreviewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreviewModule, declarations: [PreviewComponent], imports: [CommonModule, LoaderModule, ElementRendererModule, ElementChildrenModule], exports: [PreviewComponent] });
1109
- PreviewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreviewModule, imports: [[CommonModule, LoaderModule, ElementRendererModule, ElementChildrenModule]] });
1110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreviewModule, decorators: [{
1272
+ PreviewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreviewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1273
+ PreviewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreviewModule, declarations: [PreviewComponent], imports: [CommonModule, LoaderModule, ElementRendererModule, ElementChildrenModule], exports: [PreviewComponent] });
1274
+ PreviewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreviewModule, imports: [[CommonModule, LoaderModule, ElementRendererModule, ElementChildrenModule]] });
1275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreviewModule, decorators: [{
1111
1276
  type: NgModule,
1112
1277
  args: [{
1113
1278
  declarations: [PreviewComponent],
@@ -1124,10 +1289,10 @@ function ElementDefinition(definition) {
1124
1289
 
1125
1290
  class ConfigurationModule {
1126
1291
  }
1127
- ConfigurationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1128
- ConfigurationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationModule });
1129
- ConfigurationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationModule, providers: [ContextService, ContextApiService, ProductModelApiService, ConfigurationApiService] });
1130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationModule, decorators: [{
1292
+ ConfigurationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1293
+ ConfigurationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationModule });
1294
+ ConfigurationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationModule, providers: [ContextService, ContextApiService, ProductModelApiService, ConfigurationApiService] });
1295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationModule, decorators: [{
1131
1296
  type: NgModule,
1132
1297
  args: [{
1133
1298
  providers: [ContextService, ContextApiService, ProductModelApiService, ConfigurationApiService],
@@ -1136,10 +1301,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1136
1301
 
1137
1302
  class LauncherModule {
1138
1303
  }
1139
- LauncherModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LauncherModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1140
- LauncherModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LauncherModule, imports: [CommonModule, CoreModule, ConfigurationModule] });
1141
- LauncherModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LauncherModule, providers: [LauncherService, DynamicModuleService], imports: [[CommonModule, CoreModule, ConfigurationModule]] });
1142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LauncherModule, decorators: [{
1304
+ LauncherModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LauncherModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1305
+ LauncherModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LauncherModule, imports: [CommonModule, CoreModule, ConfigurationModule] });
1306
+ LauncherModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LauncherModule, providers: [LauncherService, DynamicModuleService], imports: [[CommonModule, CoreModule, ConfigurationModule]] });
1307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LauncherModule, decorators: [{
1143
1308
  type: NgModule,
1144
1309
  args: [{
1145
1310
  imports: [CommonModule, CoreModule, ConfigurationModule],
@@ -1151,5 +1316,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1151
1316
  * Generated bundle index. Do not edit.
1152
1317
  */
1153
1318
 
1154
- export { ConfigurationService, DEFAULT_PLUGINS_TOKEN, ELEMENT_CONFIG, ELEMENT_METADATA, ElementComponent, ElementDefinition, LauncherModule, LauncherService, LineItemWorker, PreviewComponent, PreviewModule, TemplatesService, UI_DEFINITION_METADATA, elementToMetadata, extendElementMetadata, extractElementMetadata, findLineItem, generateLineItem, getAttributeValue, getAttributes, getDefaultLineItem, getRecommendedPrices, insertLineItem, mapAttributes, parseBoundPath, patchAttributes, removeLineItem, replaceLineItem, upsertAttributes };
1319
+ export { ConfigurationService, DEFAULT_PLUGINS_TOKEN, ELEMENT_CONFIG, ELEMENT_METADATA, ElementComponent, ElementDefinition, LauncherModule, LauncherService, LineItemWorker, PreviewComponent, PreviewModule, SHARED_ELEMENT_METADATA, TemplatesService, UI_DEFINITION_METADATA, elementToMetadata, extendElementMetadata, extractElementMetadata, findLineItem, generateLineItem, getAttributeValue, getAttributes, getDefaultLineItem, getRecommendedPrices, insertLineItem, mapAttributes, metadataToElement, parseBoundPath, patchAttributes, removeLineItem, replaceLineItem, upsertAttributes };
1155
1320
  //# sourceMappingURL=veloce-sdk-cms.js.map