@zdigambar/ngx-element 4.0.0 → 6.0.0

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.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Supported version
1
+ # Supported Version
2
2
  | ngx-element | Angular |
3
3
  | ------------ | ------- |
4
4
  | 1.x.x | ^10.x.x |
@@ -87,23 +87,19 @@ export class NgxElementComponent {
87
87
  this.ngElementEventsSubscription.unsubscribe();
88
88
  }
89
89
  }
90
- NgxElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementComponent, deps: [{ token: i1.NgxElementService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
91
- NgxElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: NgxElementComponent, selector: "lib-ngx-element", inputs: { selector: "selector" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `
90
+ NgxElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementComponent, deps: [{ token: i1.NgxElementService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
91
+ NgxElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NgxElementComponent, selector: "lib-ngx-element", inputs: { selector: "selector" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `
92
92
  <ng-template #container></ng-template>
93
93
  `, isInline: true });
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementComponent, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementComponent, decorators: [{
95
95
  type: Component,
96
- args: [{
97
- selector: 'lib-ngx-element',
98
- template: `
96
+ args: [{ selector: 'lib-ngx-element', template: `
99
97
  <ng-template #container></ng-template>
100
- `,
101
- styles: []
102
- }]
98
+ ` }]
103
99
  }], ctorParameters: function () { return [{ type: i1.NgxElementService }, { type: i0.ElementRef }]; }, propDecorators: { selector: [{
104
100
  type: Input
105
101
  }], container: [{
106
102
  type: ViewChild,
107
103
  args: ['container', { read: ViewContainerRef }]
108
104
  }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWVsZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVsZW1lbnQvc3JjL2xpYi9uZ3gtZWxlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFJVCxLQUFLLEVBR0wsU0FBUyxFQUNULGdCQUFnQixFQU1oQixrQkFBa0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLEtBQUssRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQVNuQyxNQUFNLE9BQU8sbUJBQW1CO0lBWTlCLFlBQ1UsaUJBQW9DLEVBQ3BDLFVBQXNCO1FBRHRCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUM3QixDQUFDO0lBRUo7OztPQUdHO0lBQ0ssaUJBQWlCLENBQUMsT0FBOEI7UUFDdEQsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUMsRUFBRSxFQUFFO1lBQ3JFLE1BQU0sT0FBTyxHQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBZ0IsQ0FBQyxRQUFRLENBQXNCLENBQUM7WUFDbkYsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxZ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WUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqRCxDQUFDOztnSEFoSFUsbUJBQW1CO29HQUFuQixtQkFBbUIsNEtBSUMsZ0JBQWdCLDZCQVRyQzs7R0FFVDsyRkFHVSxtQkFBbUI7a0JBUC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOztHQUVUO29CQUNELE1BQU0sRUFBRSxFQUFFO2lCQUNYO2lJQUlVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQzRDLFNBQVM7c0JBQTFELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5LFxuICBDb21wb25lbnRSZWYsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIE9uRGVzdHJveSxcbiAgRXZlbnRFbWl0dGVyLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3RvcixcbiAgUmVmbGVjdGl2ZUluamVjdG9yXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ3hFbGVtZW50U2VydmljZX0gZnJvbSAnLi9uZ3gtZWxlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7bWVyZ2UsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbmd4LWVsZW1lbnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZSAjY29udGFpbmVyPjwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIHN0eWxlczogW11cbn0pXG5leHBvcnQgY2xhc3MgTmd4RWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIG5nRWxlbWVudEV2ZW50c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBASW5wdXQoKSBzZWxlY3Rvcjogc3RyaW5nO1xuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZn0pIGNvbnRhaW5lcjtcblxuICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xuICBjb21wb25lbnRUb0xvYWQ6IFR5cGU8YW55PjtcbiAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI7XG4gIGluamVjdG9yOiBJbmplY3RvcjtcbiAgcmVmSW5qZWN0b3I6IFJlZmxlY3RpdmVJbmplY3RvcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5neEVsZW1lbnRTZXJ2aWNlOiBOZ3hFbGVtZW50U2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gZXZlbnQgZW1pdHRlcnMgb2YgYSBsYXp5IGxvYWRlZCBhbmQgZHluYW1pY2FsbHkgaW5zdGFudGlhdGVkIEFuZ3VsYXIgY29tcG9uZW50XG4gICAqIGFuZCBkaXNwYXRjaCB0aGVtIGFzIEN1c3RvbSBFdmVudHMgb24gdGhlIE5neEVsZW1lbnRDb21wb25lbnQgdGhhdCBpcyB1c2VkIGluIGEgdGVtcGxhdGUuXG4gICAqL1xuICBwcml2YXRlIHNldFByb3hpZWRPdXRwdXRzKGZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8YW55Pik6IHZvaWQge1xuICAgIGNvbnN0IGV2ZW50RW1pdHRlcnMgPSBmYWN0b3J5Lm91dHB1dHMubWFwKCh7cHJvcE5hbWUsIHRlbXBsYXRlTmFtZX0pID0+IHtcbiAgICAgIGNvbnN0IGVtaXR0ZXIgPSAodGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgYW55KVtwcm9wTmFtZV0gYXMgRXZlbnRFbWl0dGVyPGFueT47XG4gICAgICByZXR1cm4gZW1pdHRlci5waXBlKG1hcCgodmFsdWU6IGFueSkgPT4gKHtuYW1lOiB0ZW1wbGF0ZU5hbWUsIHZhbHVlfSkpKTtcbiAgICB9KTtcbiAgICBjb25zdCBvdXRwdXRFdmVudHMgPSBtZXJnZSguLi5ldmVudEVtaXR0ZXJzKTtcbiAgICB0aGlzLm5nRWxlbWVudEV2ZW50c1N1YnNjcmlwdGlvbiA9IG91dHB1dEV2ZW50cy5zdWJzY3JpYmUoc3Vic2NyaXB0aW9uID0+IHtcbiAgICAgIGNvbnN0IGN1c3RvbUV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2ZW50Jyk7XG4gICAgICBjdXN0b21FdmVudC5pbml0Q3VzdG9tRXZlbnQoc3Vic2NyaXB0aW9uLm5hbWUsIGZhbHNlLCBmYWxzZSwgc3Vic2NyaXB0aW9uLnZhbHVlKTtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQoY3VzdG9tRXZlbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5uZ3hFbGVtZW50U2VydmljZS5nZXRDb21wb25lbnRUb0xvYWQodGhpcy5zZWxlY3Rvcikuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIHRoaXMuY29tcG9uZW50VG9Mb2FkID0gZXZlbnQuY29tcG9uZW50Q2xhc3M7XG4gICAgICB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciA9IHRoaXMubmd4RWxlbWVudFNlcnZpY2UuZ2V0Q29tcG9uZW50RmFjdG9yeVJlc29sdmVyKHRoaXMuY29tcG9uZW50VG9Mb2FkKTtcbiAgICAgIHRoaXMuaW5qZWN0b3IgPSB0aGlzLm5neEVsZW1lbnRTZXJ2aWNlLmdldEluamVjdG9yKHRoaXMuY29tcG9uZW50VG9Mb2FkKTtcblxuICAgICAgY29uc3QgYXR0cmlidXRlcyA9IHRoaXMuZ2V0RWxlbWVudEF0dHJpYnV0ZXMoKTtcbiAgICAgIHRoaXMuY3JlYXRlQ29tcG9uZW50KGF0dHJpYnV0ZXMpO1xuICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlQ29tcG9uZW50KGF0dHJpYnV0ZXMpIHtcbiAgICB0aGlzLmNvbnRhaW5lci5jbGVhcigpO1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLmNvbXBvbmVudFRvTG9hZCk7XG5cbiAgICB0aGlzLnJlZkluamVjdG9yID0gUmVmbGVjdGl2ZUluamVjdG9yLnJlc29sdmVBbmRDcmVhdGUoXG4gICAgICBbe3Byb3ZpZGU6IHRoaXMuY29tcG9uZW50VG9Mb2FkLCB1c2VWYWx1ZTogdGhpcy5jb21wb25lbnRUb0xvYWR9XSwgdGhpcy5pbmplY3RvclxuICAgICk7XG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSwgMCwgdGhpcy5yZWZJbmplY3Rvcik7XG5cbiAgICB0aGlzLnNldEF0dHJpYnV0ZXMoYXR0cmlidXRlcyk7XG4gICAgdGhpcy5saXN0ZW5Ub0F0dHJpYnV0ZUNoYW5nZXMoKTtcbiAgICB0aGlzLnNldFByb3hpZWRPdXRwdXRzKGZhY3RvcnkpO1xuICB9XG5cbiAgc2V0QXR0cmlidXRlcyhhdHRyaWJ1dGVzKSB7XG4gICAgYXR0cmlidXRlcy5mb3JFYWNoKGF0dHIgPT4ge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2VbYXR0ci5uYW1lXSA9IGF0dHIudmFsdWU7XG4gICAgfSk7XG4gIH1cblxuICBnZXRFbGVtZW50QXR0cmlidXRlcygpIHtcbiAgICBjb25zdCBhdHRycyA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmF0dHJpYnV0ZXM7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IFtdO1xuXG4gICAgZm9yIChsZXQgYXR0ciwgaSA9IDA7IGkgPCBhdHRycy5sZW5ndGg7IGkrKykge1xuICAgICAgYXR0ciA9IGF0dHJzW2ldO1xuXG4gICAgICBpZiAoYXR0ci5ub2RlTmFtZS5tYXRjaCgnXmRhdGEtJykpIHtcbiAgICAgICAgYXR0cmlidXRlcy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiB0aGlzLmNhbWVsQ2FzZUF0dHJpYnV0ZShhdHRyLm5vZGVOYW1lKSxcbiAgICAgICAgICB2YWx1ZTogYXR0ci5ub2RlVmFsdWVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGF0dHJpYnV0ZXM7XG4gIH1cblxuICBjYW1lbENhc2VBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBhdHRyID0gYXR0cmlidXRlLnJlcGxhY2UoJ2RhdGEtJywgJycpO1xuICAgIGNvbnN0IGNodW5rcyA9IGF0dHIuc3BsaXQoJy0nKTtcblxuICAgIGlmIChjaHVua3MubGVuZ3RoID4gMSkge1xuICAgICAgcmV0dXJuIGNodW5rc1swXSArIGNodW5rcy5zbGljZSgxKS5tYXAoY2h1bmsgPT4gY2h1bmsucmVwbGFjZSgvXlxcdy8sIGMgPT4gYy50b1VwcGVyQ2FzZSgpKSkuam9pbignJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF0dHI7XG4gIH1cblxuICBsaXN0ZW5Ub0F0dHJpYnV0ZUNoYW5nZXMoKSB7XG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihtdXRhdGlvbnMgPT4ge1xuICAgICAgbXV0YXRpb25zLmZvckVhY2gobXV0YXRpb24gPT4ge1xuICAgICAgICBpZiAobXV0YXRpb24udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnKSB7XG4gICAgICAgICAgY29uc3QgYXR0cmlidXRlcyA9IHRoaXMuZ2V0RWxlbWVudEF0dHJpYnV0ZXMoKTtcbiAgICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZXMoYXR0cmlidXRlcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgYXR0cmlidXRlczogdHJ1ZVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgIHRoaXMubmdFbGVtZW50RXZlbnRzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn0iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWVsZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVsZW1lbnQvc3JjL2xpYi9uZ3gtZWxlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFJVCxLQUFLLEVBR0wsU0FBUyxFQUNULGdCQUFnQixFQU1oQixrQkFBa0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLEtBQUssRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQVNuQyxNQUFNLE9BQU8sbUJBQW1CO0lBWTlCLFlBQ1UsaUJBQW9DLEVBQ3BDLFVBQXNCO1FBRHRCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUM3QixDQUFDO0lBRUo7OztPQUdHO0lBQ0ssaUJBQWlCLENBQUMsT0FBOEI7UUFDdEQsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUMsRUFBRSxFQUFFO1lBQ3JFLE1BQU0sT0FBTyxHQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBZ0IsQ0FBQyxRQUFRLENBQXNCLENBQUM7WUFDbkYsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxZ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WUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqRCxDQUFDOztpSEFoSFUsbUJBQW1CO3FHQUFuQixtQkFBbUIsNEtBSUMsZ0JBQWdCLDZCQVRyQzs7R0FFVDs0RkFHVSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsaUJBQWlCLFlBQ2pCOztHQUVUO2lJQU1RLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQzRDLFNBQVM7c0JBQTFELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5LFxuICBDb21wb25lbnRSZWYsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIE9uRGVzdHJveSxcbiAgRXZlbnRFbWl0dGVyLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3RvcixcbiAgUmVmbGVjdGl2ZUluamVjdG9yXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ3hFbGVtZW50U2VydmljZX0gZnJvbSAnLi9uZ3gtZWxlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7bWVyZ2UsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbmd4LWVsZW1lbnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZSAjY29udGFpbmVyPjwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIHN0eWxlczogW11cbn0pXG5leHBvcnQgY2xhc3MgTmd4RWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIG5nRWxlbWVudEV2ZW50c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBASW5wdXQoKSBzZWxlY3Rvcjogc3RyaW5nO1xuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZn0pIGNvbnRhaW5lcjtcblxuICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xuICBjb21wb25lbnRUb0xvYWQ6IFR5cGU8YW55PjtcbiAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI7XG4gIGluamVjdG9yOiBJbmplY3RvcjtcbiAgcmVmSW5qZWN0b3I6IFJlZmxlY3RpdmVJbmplY3RvcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5neEVsZW1lbnRTZXJ2aWNlOiBOZ3hFbGVtZW50U2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gZXZlbnQgZW1pdHRlcnMgb2YgYSBsYXp5IGxvYWRlZCBhbmQgZHluYW1pY2FsbHkgaW5zdGFudGlhdGVkIEFuZ3VsYXIgY29tcG9uZW50XG4gICAqIGFuZCBkaXNwYXRjaCB0aGVtIGFzIEN1c3RvbSBFdmVudHMgb24gdGhlIE5neEVsZW1lbnRDb21wb25lbnQgdGhhdCBpcyB1c2VkIGluIGEgdGVtcGxhdGUuXG4gICAqL1xuICBwcml2YXRlIHNldFByb3hpZWRPdXRwdXRzKGZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8YW55Pik6IHZvaWQge1xuICAgIGNvbnN0IGV2ZW50RW1pdHRlcnMgPSBmYWN0b3J5Lm91dHB1dHMubWFwKCh7cHJvcE5hbWUsIHRlbXBsYXRlTmFtZX0pID0+IHtcbiAgICAgIGNvbnN0IGVtaXR0ZXIgPSAodGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgYW55KVtwcm9wTmFtZV0gYXMgRXZlbnRFbWl0dGVyPGFueT47XG4gICAgICByZXR1cm4gZW1pdHRlci5waXBlKG1hcCgodmFsdWU6IGFueSkgPT4gKHtuYW1lOiB0ZW1wbGF0ZU5hbWUsIHZhbHVlfSkpKTtcbiAgICB9KTtcbiAgICBjb25zdCBvdXRwdXRFdmVudHMgPSBtZXJnZSguLi5ldmVudEVtaXR0ZXJzKTtcbiAgICB0aGlzLm5nRWxlbWVudEV2ZW50c1N1YnNjcmlwdGlvbiA9IG91dHB1dEV2ZW50cy5zdWJzY3JpYmUoc3Vic2NyaXB0aW9uID0+IHtcbiAgICAgIGNvbnN0IGN1c3RvbUV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2ZW50Jyk7XG4gICAgICBjdXN0b21FdmVudC5pbml0Q3VzdG9tRXZlbnQoc3Vic2NyaXB0aW9uLm5hbWUsIGZhbHNlLCBmYWxzZSwgc3Vic2NyaXB0aW9uLnZhbHVlKTtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQoY3VzdG9tRXZlbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5uZ3hFbGVtZW50U2VydmljZS5nZXRDb21wb25lbnRUb0xvYWQodGhpcy5zZWxlY3Rvcikuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIHRoaXMuY29tcG9uZW50VG9Mb2FkID0gZXZlbnQuY29tcG9uZW50Q2xhc3M7XG4gICAgICB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciA9IHRoaXMubmd4RWxlbWVudFNlcnZpY2UuZ2V0Q29tcG9uZW50RmFjdG9yeVJlc29sdmVyKHRoaXMuY29tcG9uZW50VG9Mb2FkKTtcbiAgICAgIHRoaXMuaW5qZWN0b3IgPSB0aGlzLm5neEVsZW1lbnRTZXJ2aWNlLmdldEluamVjdG9yKHRoaXMuY29tcG9uZW50VG9Mb2FkKTtcblxuICAgICAgY29uc3QgYXR0cmlidXRlcyA9IHRoaXMuZ2V0RWxlbWVudEF0dHJpYnV0ZXMoKTtcbiAgICAgIHRoaXMuY3JlYXRlQ29tcG9uZW50KGF0dHJpYnV0ZXMpO1xuICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlQ29tcG9uZW50KGF0dHJpYnV0ZXMpIHtcbiAgICB0aGlzLmNvbnRhaW5lci5jbGVhcigpO1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLmNvbXBvbmVudFRvTG9hZCk7XG5cbiAgICB0aGlzLnJlZkluamVjdG9yID0gUmVmbGVjdGl2ZUluamVjdG9yLnJlc29sdmVBbmRDcmVhdGUoXG4gICAgICBbe3Byb3ZpZGU6IHRoaXMuY29tcG9uZW50VG9Mb2FkLCB1c2VWYWx1ZTogdGhpcy5jb21wb25lbnRUb0xvYWR9XSwgdGhpcy5pbmplY3RvclxuICAgICk7XG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSwgMCwgdGhpcy5yZWZJbmplY3Rvcik7XG5cbiAgICB0aGlzLnNldEF0dHJpYnV0ZXMoYXR0cmlidXRlcyk7XG4gICAgdGhpcy5saXN0ZW5Ub0F0dHJpYnV0ZUNoYW5nZXMoKTtcbiAgICB0aGlzLnNldFByb3hpZWRPdXRwdXRzKGZhY3RvcnkpO1xuICB9XG5cbiAgc2V0QXR0cmlidXRlcyhhdHRyaWJ1dGVzKSB7XG4gICAgYXR0cmlidXRlcy5mb3JFYWNoKGF0dHIgPT4ge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2VbYXR0ci5uYW1lXSA9IGF0dHIudmFsdWU7XG4gICAgfSk7XG4gIH1cblxuICBnZXRFbGVtZW50QXR0cmlidXRlcygpIHtcbiAgICBjb25zdCBhdHRycyA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmF0dHJpYnV0ZXM7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IFtdO1xuXG4gICAgZm9yIChsZXQgYXR0ciwgaSA9IDA7IGkgPCBhdHRycy5sZW5ndGg7IGkrKykge1xuICAgICAgYXR0ciA9IGF0dHJzW2ldO1xuXG4gICAgICBpZiAoYXR0ci5ub2RlTmFtZS5tYXRjaCgnXmRhdGEtJykpIHtcbiAgICAgICAgYXR0cmlidXRlcy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiB0aGlzLmNhbWVsQ2FzZUF0dHJpYnV0ZShhdHRyLm5vZGVOYW1lKSxcbiAgICAgICAgICB2YWx1ZTogYXR0ci5ub2RlVmFsdWVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGF0dHJpYnV0ZXM7XG4gIH1cblxuICBjYW1lbENhc2VBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBhdHRyID0gYXR0cmlidXRlLnJlcGxhY2UoJ2RhdGEtJywgJycpO1xuICAgIGNvbnN0IGNodW5rcyA9IGF0dHIuc3BsaXQoJy0nKTtcblxuICAgIGlmIChjaHVua3MubGVuZ3RoID4gMSkge1xuICAgICAgcmV0dXJuIGNodW5rc1swXSArIGNodW5rcy5zbGljZSgxKS5tYXAoY2h1bmsgPT4gY2h1bmsucmVwbGFjZSgvXlxcdy8sIGMgPT4gYy50b1VwcGVyQ2FzZSgpKSkuam9pbignJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF0dHI7XG4gIH1cblxuICBsaXN0ZW5Ub0F0dHJpYnV0ZUNoYW5nZXMoKSB7XG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihtdXRhdGlvbnMgPT4ge1xuICAgICAgbXV0YXRpb25zLmZvckVhY2gobXV0YXRpb24gPT4ge1xuICAgICAgICBpZiAobXV0YXRpb24udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnKSB7XG4gICAgICAgICAgY29uc3QgYXR0cmlidXRlcyA9IHRoaXMuZ2V0RWxlbWVudEF0dHJpYnV0ZXMoKTtcbiAgICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZXMoYXR0cmlidXRlcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgYXR0cmlidXRlczogdHJ1ZVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgIHRoaXMubmdFbGVtZW50RXZlbnRzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn0iXX0=
@@ -22,13 +22,13 @@ export class NgxElementModule {
22
22
  }
23
23
  ngDoBootstrap() { }
24
24
  }
25
- NgxElementModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementModule, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule });
26
- NgxElementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementModule, declarations: [NgxElementComponent] });
27
- NgxElementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementModule });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementModule, decorators: [{
25
+ NgxElementModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementModule, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule });
26
+ NgxElementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NgxElementModule, declarations: [NgxElementComponent] });
27
+ NgxElementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementModule });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementModule, decorators: [{
29
29
  type: NgModule,
30
30
  args: [{
31
31
  declarations: [NgxElementComponent]
32
32
  }]
33
33
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWVsZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVsZW1lbnQvc3JjL2xpYi9uZ3gtZWxlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBaUMsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUtoRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsTUFBTSxVQUFVLEdBQUcsbUJBQW1CLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQWtCO1FBQy9CLE9BQU87WUFDTCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsb0JBQW9CO29CQUM3QixRQUFRLEVBQUUsV0FBVztpQkFDdEI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxLQUFJLENBQUM7OzZHQW5CUCxnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFGVixtQkFBbUI7OEdBRXpCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUg1QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlQ3VzdG9tRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2VsZW1lbnRzJztcbmltcG9ydCB7IE5neEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL25neC1lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMQVpZX0NNUFNfUEFUSF9UT0tFTiB9IGZyb20gJy4vdG9rZW5zJztcblxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW05neEVsZW1lbnRDb21wb25lbnRdXHJcbn0pXG5leHBvcnQgY2xhc3MgTmd4RWxlbWVudE1vZHVsZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBjb25zdCBuZ3hFbGVtZW50ID0gY3JlYXRlQ3VzdG9tRWxlbWVudChOZ3hFbGVtZW50Q29tcG9uZW50LCB7IGluamVjdG9yIH0pO1xuICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnbmd4LWVsZW1lbnQnLCBuZ3hFbGVtZW50KTtcbiAgfVxuXG4gIHN0YXRpYyBmb3JSb290KG1vZHVsZVBhdGhzOiBhbnlbXSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4RWxlbWVudE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmd4RWxlbWVudE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTEFaWV9DTVBTX1BBVEhfVE9LRU4sXG4gICAgICAgICAgdXNlVmFsdWU6IG1vZHVsZVBhdGhzXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgbmdEb0Jvb3RzdHJhcCgpIHt9XG59XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWVsZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWVsZW1lbnQvc3JjL2xpYi9uZ3gtZWxlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBaUMsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUtoRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsTUFBTSxVQUFVLEdBQUcsbUJBQW1CLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQWtCO1FBQy9CLE9BQU87WUFDTCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsb0JBQW9CO29CQUM3QixRQUFRLEVBQUUsV0FBVztpQkFDdEI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxLQUFJLENBQUM7OzhHQW5CUCxnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFGVixtQkFBbUI7K0dBRXpCLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQUg1QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlQ3VzdG9tRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2VsZW1lbnRzJztcbmltcG9ydCB7IE5neEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL25neC1lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMQVpZX0NNUFNfUEFUSF9UT0tFTiB9IGZyb20gJy4vdG9rZW5zJztcblxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW05neEVsZW1lbnRDb21wb25lbnRdXHJcbn0pXG5leHBvcnQgY2xhc3MgTmd4RWxlbWVudE1vZHVsZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBjb25zdCBuZ3hFbGVtZW50ID0gY3JlYXRlQ3VzdG9tRWxlbWVudChOZ3hFbGVtZW50Q29tcG9uZW50LCB7IGluamVjdG9yIH0pO1xuICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnbmd4LWVsZW1lbnQnLCBuZ3hFbGVtZW50KTtcbiAgfVxuXG4gIHN0YXRpYyBmb3JSb290KG1vZHVsZVBhdGhzOiBhbnlbXSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4RWxlbWVudE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmd4RWxlbWVudE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTEFaWV9DTVBTX1BBVEhfVE9LRU4sXG4gICAgICAgICAgdXNlVmFsdWU6IG1vZHVsZVBhdGhzXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgbmdEb0Jvb3RzdHJhcCgpIHt9XG59XG4iXX0=
@@ -121,9 +121,9 @@ export class NgxElementService {
121
121
  }
122
122
  }
123
123
  }
124
- NgxElementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementService, deps: [{ token: LAZY_CMPS_PATH_TOKEN }, { token: i0.Compiler }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
125
- NgxElementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementService, providedIn: 'root' });
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementService, decorators: [{
124
+ NgxElementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementService, deps: [{ token: LAZY_CMPS_PATH_TOKEN }, { token: i0.Compiler }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
125
+ NgxElementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementService, providedIn: 'root' });
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementService, decorators: [{
127
127
  type: Injectable,
128
128
  args: [{
129
129
  providedIn: 'root'
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
132
132
  type: Inject,
133
133
  args: [LAZY_CMPS_PATH_TOKEN]
134
134
  }] }, { type: i0.Compiler }, { type: i0.Injector }]; } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWVsZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1lbGVtZW50L3NyYy9saWIvbmd4LWVsZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQTRCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxvQkFBb0IsRUFBb0IsTUFBTSxVQUFVLENBQUM7QUFFbEUsT0FBTyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLeEMsTUFBTSxPQUFPLGlCQUFpQjtJQVE1QixZQUVFLFdBRUcsRUFDSyxRQUFrQixFQUNsQixRQUFrQjtRQURsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFacEIscUJBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQXFCLENBQUM7UUFDaEQsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBdUMsQ0FBQztRQUV6RSxjQUFTLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7UUFDM0MsOEJBQXlCLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7UUFVekUsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO1FBQ3BELFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDMUIsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsb0JBQW9CLENBQUM7SUFDL0MsQ0FBQztJQUVELGNBQWMsQ0FBQyxTQUFvQixFQUFFLFFBQWtCO1FBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQW9CO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELDJCQUEyQixDQUFDLFNBQW9CO1FBQzlDLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxRQUFnQjtRQUNqQywwRUFBMEU7UUFDMUUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxhQUFhLENBQUMsaUJBQXlCO1FBQ3JDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUMvQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDcEQ7UUFFRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUNoRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN0RSxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7WUFFM0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxPQUFPLENBQXFCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUNyRSxJQUFJLEVBQWdEO3FCQUNsRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRTtvQkFDN0I7Ozs7Ozt1QkFNRztvQkFDSCxJQUFJLHNCQUFzQixZQUFZLGVBQWUsRUFBRTt3QkFDckQsT0FBTyxzQkFBc0IsQ0FBQztxQkFDL0I7eUJBQU07d0JBQ0wsSUFBSTs0QkFDRixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsQ0FBQzt5QkFDakU7d0JBQUMsT0FBTyxHQUFHLEVBQUU7NEJBQ1osbUJBQW1COzRCQUNuQixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBRVosMEJBQTBCOzRCQUMxQixNQUFNLEdBQUcsQ0FBQzt5QkFDWDtxQkFDRjtnQkFDSCxDQUFDLENBQUM7cUJBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO29CQUNsQixNQUFNLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUM3RCxJQUFJLGNBQWMsQ0FBQztvQkFFbkIsSUFBSSxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsS0FBSyxRQUFRLEVBQUU7d0JBQ3hFLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsaUJBQWlCLENBQUMsQ0FBQzt3QkFFckYsSUFBSSxDQUFDLGNBQWMsRUFBRTs0QkFDbkIsNENBQTRDOzRCQUM1QyxNQUFNLHVEQUF1RCxnQkFBZ0I7MEJBQ3JFLGlCQUFpQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDOytIQUNhLENBQUM7eUJBQy9HO3FCQUNGO3lCQUFNO3dCQUNMLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUM7cUJBQ25FO29CQUVELHdDQUF3QztvQkFDeEMsMEZBQTBGO29CQUMxRixNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7b0JBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO29CQUVwRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxDQUFDO29CQUM3RCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO29CQUMvQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7b0JBRWhELE9BQU8sQ0FBQzt3QkFDTixRQUFRLEVBQUUsaUJBQWlCO3dCQUMzQixjQUFjO3FCQUNmLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUM7cUJBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNYLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7b0JBQy9DLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ3pELE9BQU8sV0FBVyxDQUFDO1NBRXBCO2FBQU0sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDdkQsMkJBQTJCO1lBQzNCLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzNCLE9BQU8sQ0FBQztvQkFDTixRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixjQUFjLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDN0QsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FDYiwyQkFBMkIsaUJBQWlCLHlEQUF5RCxDQUN0RyxDQUFDO1NBQ0g7SUFDSCxDQUFDOzs4R0EzSVUsaUJBQWlCLGtCQVNsQixvQkFBb0I7a0hBVG5CLGlCQUFpQixjQUZoQixNQUFNOzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVVJLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBOZ01vZHVsZUZhY3RvcnksIFR5cGUsIENvbXBpbGVyLCBJbmplY3RvciwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMQVpZX0NNUFNfUEFUSF9UT0tFTiwgTGF6eUNvbXBvbmVudERlZiB9IGZyb20gJy4vdG9rZW5zJztcbmltcG9ydCB7IExhenlDbXBMb2FkZWRFdmVudCB9IGZyb20gJy4vbGF6eS1jb21wb25lbnQtbG9hZGVkLWV2ZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20gfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTmd4RWxlbWVudFNlcnZpY2Uge1xuICBwcml2YXRlIGNvbXBvbmVudHNUb0xvYWQ6IE1hcDxzdHJpbmcsIExhenlDb21wb25lbnREZWY+O1xuICBwcml2YXRlIGxvYWRlZENvbXBvbmVudHMgPSBuZXcgTWFwPHN0cmluZywgVHlwZTxhbnk+PigpO1xuICBwcml2YXRlIGVsZW1lbnRzTG9hZGluZyA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPExhenlDbXBMb2FkZWRFdmVudD4+KCk7XG5cbiAgaW5qZWN0b3JzID0gbmV3IE1hcDxUeXBlPGFueT4sIEluamVjdG9yPigpO1xuICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJzID0gbmV3IE1hcDxUeXBlPGFueT4sIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KExBWllfQ01QU19QQVRIX1RPS0VOKVxuICAgIG1vZHVsZVBhdGhzOiB7XG4gICAgICBzZWxlY3Rvcjogc3RyaW5nXG4gICAgfVtdLFxuICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuICAgIGNvbnN0IEVMRU1FTlRfTU9EVUxFX1BBVEhTID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcbiAgICBtb2R1bGVQYXRocy5mb3JFYWNoKHJvdXRlID0+IHtcbiAgICAgIEVMRU1FTlRfTU9EVUxFX1BBVEhTLnNldChyb3V0ZS5zZWxlY3Rvciwgcm91dGUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb21wb25lbnRzVG9Mb2FkID0gRUxFTUVOVF9NT0RVTEVfUEFUSFM7XG4gIH1cblxuICByZWNlaXZlQ29udGV4dChjb21wb25lbnQ6IFR5cGU8YW55PiwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5pbmplY3RvcnMuc2V0KGNvbXBvbmVudCwgaW5qZWN0b3IpO1xuICAgIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVycy5zZXQoY29tcG9uZW50LCBpbmplY3Rvci5nZXQoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSk7XG4gIH1cblxuICBnZXRJbmplY3Rvcihjb21wb25lbnQ6IFR5cGU8YW55Pik6IEluamVjdG9yIHtcbiAgICByZXR1cm4gdGhpcy5pbmplY3RvcnMuZ2V0KGNvbXBvbmVudCk7XG4gIH1cblxuICBnZXRDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIoY29tcG9uZW50OiBUeXBlPGFueT4pOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcnMuZ2V0KGNvbXBvbmVudCk7XG4gIH1cblxuICBnZXRDb21wb25lbnRzVG9Mb2FkKCkge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudHNUb0xvYWQ7XG4gIH1cblxuICBnZXRDb21wb25lbnRUb0xvYWQoc2VsZWN0b3I6IHN0cmluZyk6IE9ic2VydmFibGU8TGF6eUNtcExvYWRlZEV2ZW50PiB7XG4gICAgLy8gUmV0dXJucyBvYnNlcnZhYmxlIHRoYXQgY29tcGxldGVzIHdoZW4gdGhlIGxhenkgbW9kdWxlIGhhcyBiZWVuIGxvYWRlZC5cbiAgICBjb25zdCByZWdpc3RlcmVkID0gdGhpcy5sb2FkQ29tcG9uZW50KHNlbGVjdG9yKTtcbiAgICByZXR1cm4gZnJvbShyZWdpc3RlcmVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gbGF6eSBsb2FkIGEgY29tcG9uZW50IGdpdmVuIGl0cyBzZWxlY3Rvci5cbiAgICogSWYgdGhlIGNvbXBvbmVudCBzZWxlY3RvciBoYXMgYmVlbiByZWdpc3RlcmVkLCBpdCdzIGFjY29yZGluZyBtb2R1bGVcbiAgICogd2lsbCBiZSBmZXRjaGVkIGxhemlseVxuICAgKiBAcGFyYW0gY29tcG9uZW50VGFnIHNlbGVjdG9yIG9mIHRoZSBjb21wb25lbnQgdG8gbG9hZFxuICAgKi9cbiAgbG9hZENvbXBvbmVudChjb21wb25lbnRTZWxlY3Rvcjogc3RyaW5nKTogUHJvbWlzZTxMYXp5Q21wTG9hZGVkRXZlbnQ+IHtcbiAgICBpZiAodGhpcy5lbGVtZW50c0xvYWRpbmcuaGFzKGNvbXBvbmVudFNlbGVjdG9yKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudHNMb2FkaW5nLmdldChjb21wb25lbnRTZWxlY3Rvcik7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29tcG9uZW50c1RvTG9hZC5oYXMoY29tcG9uZW50U2VsZWN0b3IpKSB7XG4gICAgICBjb25zdCBjbXBSZWdpc3RyeUVudHJ5ID0gdGhpcy5jb21wb25lbnRzVG9Mb2FkLmdldChjb21wb25lbnRTZWxlY3Rvcik7XG4gICAgICBjb25zdCBwYXRoID0gY21wUmVnaXN0cnlFbnRyeS5sb2FkQ2hpbGRyZW47XG5cbiAgICAgIGNvbnN0IGxvYWRQcm9taXNlID0gbmV3IFByb21pc2U8TGF6eUNtcExvYWRlZEV2ZW50PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIChwYXRoKCkgYXMgUHJvbWlzZTxOZ01vZHVsZUZhY3Rvcnk8YW55PiB8IFR5cGU8YW55Pj4pXG4gICAgICAgICAgLnRoZW4oZWxlbWVudE1vZHVsZU9yRmFjdG9yeSA9PiB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdpdGggVmlldyBFbmdpbmUsIHRoZSBOZ01vZHVsZSBmYWN0b3J5IGlzIGNyZWF0ZWQgYW5kIHByb3ZpZGVkIHdoZW4gbG9hZGVkLlxuICAgICAgICAgICAgICogV2l0aCBJdnksIG9ubHkgdGhlIE5nTW9kdWxlIGNsYXNzIGlzIHByb3ZpZGVkIGxvYWRlZCBhbmQgbXVzdCBiZSBjb21waWxlZC5cbiAgICAgICAgICAgICAqIFRoaXMgdXNlcyB0aGUgc2FtZSBtZWNoYW5pc20gYXMgdGhlIGRlcHJlY2F0ZWQgYFN5c3RlbUpzTmdNb2R1bGVMb2FkZXJgIGluXG4gICAgICAgICAgICAgKiBpbiBgcGFja2FnZXMvY29yZS9zcmMvbGlua2VyL3N5c3RlbV9qc19uZ19tb2R1bGVfZmFjdG9yeV9sb2FkZXIudHNgXG4gICAgICAgICAgICAgKiB0byBwYXNzIG9uIHRoZSBOZ01vZHVsZUZhY3RvcnksIG9yIGNvbXBpbGUgdGhlIE5nTW9kdWxlIGFuZCByZXR1cm4gaXRzIE5nTW9kdWxlRmFjdG9yeS5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgaWYgKGVsZW1lbnRNb2R1bGVPckZhY3RvcnkgaW5zdGFuY2VvZiBOZ01vZHVsZUZhY3RvcnkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRNb2R1bGVPckZhY3Rvcnk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBc3luYyhlbGVtZW50TW9kdWxlT3JGYWN0b3J5KTtcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIHRoZSBlcnJvclxuICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuXG4gICAgICAgICAgICAgICAgLy8gYnJlYWsgdGhlIHByb21pc2UgY2hhaW5cbiAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICAgIC50aGVuKG1vZHVsZUZhY3RvcnkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBlbGVtZW50TW9kdWxlUmVmID0gbW9kdWxlRmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG4gICAgICAgICAgICAgIGxldCBjb21wb25lbnRDbGFzcztcblxuICAgICAgICAgICAgICBpZiAodHlwZW9mIGVsZW1lbnRNb2R1bGVSZWYuaW5zdGFuY2UuY3VzdG9tRWxlbWVudENvbXBvbmVudCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRDbGFzcyA9IGVsZW1lbnRNb2R1bGVSZWYuaW5zdGFuY2UuY3VzdG9tRWxlbWVudENvbXBvbmVudFtjb21wb25lbnRTZWxlY3Rvcl07XG5cbiAgICAgICAgICAgICAgICBpZiAoIWNvbXBvbmVudENsYXNzKSB7XG4gICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLXN0cmluZy10aHJvd1xuICAgICAgICAgICAgICAgICAgdGhyb3cgYFlvdSBzcGVjaWZpZWQgbXVsdGlwbGUgY29tcG9uZW50IGVsZW1lbnRzIGluIG1vZHVsZSAke2VsZW1lbnRNb2R1bGVSZWZ9IGJ1dCB0aGVyZSB3YXMgbm8gbWF0Y2ggZm9yIHRhZ1xuICAgICAgICAgICAgICAgICAgICAgICAgJHtjb21wb25lbnRTZWxlY3Rvcn0gaW4gJHtKU09OLnN0cmluZ2lmeShlbGVtZW50TW9kdWxlUmVmLmluc3RhbmNlLmN1c3RvbUVsZW1lbnRDb21wb25lbnQpfS5cbiAgICAgICAgICAgICAgICAgICAgICAgICBNYWtlIHN1cmUgdGhlIHNlbGVjdG9yIGluIHRoZSBtb2R1bGUgaXMgYWxpZ25lZCB3aXRoIHRoZSBvbmUgc3BlY2lmaWVkIGluIHRoZSBsYXp5IG1vZHVsZSBkZWZpbml0aW9uLmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudENsYXNzID0gZWxlbWVudE1vZHVsZVJlZi5pbnN0YW5jZS5jdXN0b21FbGVtZW50Q29tcG9uZW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gUmVnaXN0ZXIgaW5qZWN0b3Igb2YgdGhlIGxhenkgbW9kdWxlLlxuICAgICAgICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBzaGFyZSB0aGUgZW50cnlDb21wb25lbnRzIGJldHdlZW4gdGhlIGxhenkgbW9kdWxlIGFuZCB0aGUgYXBwbGljYXRpb25cbiAgICAgICAgICAgICAgY29uc3QgbW9kdWxlSW5qZWN0b3IgPSBlbGVtZW50TW9kdWxlUmVmLmluamVjdG9yO1xuICAgICAgICAgICAgICB0aGlzLnJlY2VpdmVDb250ZXh0KGNvbXBvbmVudENsYXNzLCBtb2R1bGVJbmplY3Rvcik7XG5cbiAgICAgICAgICAgICAgdGhpcy5sb2FkZWRDb21wb25lbnRzLnNldChjb21wb25lbnRTZWxlY3RvciwgY29tcG9uZW50Q2xhc3MpO1xuICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRzTG9hZGluZy5kZWxldGUoY29tcG9uZW50U2VsZWN0b3IpO1xuICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudHNUb0xvYWQuZGVsZXRlKGNvbXBvbmVudFNlbGVjdG9yKTtcblxuICAgICAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgICAgICBzZWxlY3RvcjogY29tcG9uZW50U2VsZWN0b3IsXG4gICAgICAgICAgICAgICAgY29tcG9uZW50Q2xhc3NcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudHNMb2FkaW5nLmRlbGV0ZShjb21wb25lbnRTZWxlY3Rvcik7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmVsZW1lbnRzTG9hZGluZy5zZXQoY29tcG9uZW50U2VsZWN0b3IsIGxvYWRQcm9taXNlKTtcbiAgICAgIHJldHVybiBsb2FkUHJvbWlzZTtcblxuICAgIH0gZWxzZSBpZiAodGhpcy5sb2FkZWRDb21wb25lbnRzLmhhcyhjb21wb25lbnRTZWxlY3RvcikpIHtcbiAgICAgIC8vIGNvbXBvbmVudCBhbHJlYWR5IGxvYWRlZFxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICBzZWxlY3RvcjogY29tcG9uZW50U2VsZWN0b3IsXG4gICAgICAgICAgY29tcG9uZW50Q2xhc3M6IHRoaXMubG9hZGVkQ29tcG9uZW50cy5nZXQoY29tcG9uZW50U2VsZWN0b3IpXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFVucmVjb2duaXplZCBjb21wb25lbnQgXCIke2NvbXBvbmVudFNlbGVjdG9yfVwiLiBNYWtlIHN1cmUgaXQgaXMgcmVnaXN0ZXJlZCBpbiB0aGUgY29tcG9uZW50IHJlZ2lzdHJ5YFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn0iXX0=
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWVsZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1lbGVtZW50L3NyYy9saWIvbmd4LWVsZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQTRCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxvQkFBb0IsRUFBb0IsTUFBTSxVQUFVLENBQUM7QUFFbEUsT0FBTyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLeEMsTUFBTSxPQUFPLGlCQUFpQjtJQVE1QixZQUVFLFdBRUcsRUFDSyxRQUFrQixFQUNsQixRQUFrQjtRQURsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFacEIscUJBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQXFCLENBQUM7UUFDaEQsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBdUMsQ0FBQztRQUV6RSxjQUFTLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7UUFDM0MsOEJBQXlCLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7UUFVekUsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO1FBQ3BELFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDMUIsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsb0JBQW9CLENBQUM7SUFDL0MsQ0FBQztJQUVELGNBQWMsQ0FBQyxTQUFvQixFQUFFLFFBQWtCO1FBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztR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QkFBb0I7bUhBVG5CLGlCQUFpQixjQUZoQixNQUFNOzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVVJLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBOZ01vZHVsZUZhY3RvcnksIFR5cGUsIENvbXBpbGVyLCBJbmplY3RvciwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMQVpZX0NNUFNfUEFUSF9UT0tFTiwgTGF6eUNvbXBvbmVudERlZiB9IGZyb20gJy4vdG9rZW5zJztcbmltcG9ydCB7IExhenlDbXBMb2FkZWRFdmVudCB9IGZyb20gJy4vbGF6eS1jb21wb25lbnQtbG9hZGVkLWV2ZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20gfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTmd4RWxlbWVudFNlcnZpY2Uge1xuICBwcml2YXRlIGNvbXBvbmVudHNUb0xvYWQ6IE1hcDxzdHJpbmcsIExhenlDb21wb25lbnREZWY+O1xuICBwcml2YXRlIGxvYWRlZENvbXBvbmVudHMgPSBuZXcgTWFwPHN0cmluZywgVHlwZTxhbnk+PigpO1xuICBwcml2YXRlIGVsZW1lbnRzTG9hZGluZyA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPExhenlDbXBMb2FkZWRFdmVudD4+KCk7XG5cbiAgaW5qZWN0b3JzID0gbmV3IE1hcDxUeXBlPGFueT4sIEluamVjdG9yPigpO1xuICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJzID0gbmV3IE1hcDxUeXBlPGFueT4sIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KExBWllfQ01QU19QQVRIX1RPS0VOKVxuICAgIG1vZHVsZVBhdGhzOiB7XG4gICAgICBzZWxlY3Rvcjogc3RyaW5nXG4gICAgfVtdLFxuICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuICAgIGNvbnN0IEVMRU1FTlRfTU9EVUxFX1BBVEhTID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcbiAgICBtb2R1bGVQYXRocy5mb3JFYWNoKHJvdXRlID0+IHtcbiAgICAgIEVMRU1FTlRfTU9EVUxFX1BBVEhTLnNldChyb3V0ZS5zZWxlY3Rvciwgcm91dGUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb21wb25lbnRzVG9Mb2FkID0gRUxFTUVOVF9NT0RVTEVfUEFUSFM7XG4gIH1cblxuICByZWNlaXZlQ29udGV4dChjb21wb25lbnQ6IFR5cGU8YW55PiwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5pbmplY3RvcnMuc2V0KGNvbXBvbmVudCwgaW5qZWN0b3IpO1xuICAgIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVycy5zZXQoY29tcG9uZW50LCBpbmplY3Rvci5nZXQoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSk7XG4gIH1cblxuICBnZXRJbmplY3Rvcihjb21wb25lbnQ6IFR5cGU8YW55Pik6IEluamVjdG9yIHtcbiAgICByZXR1cm4gdGhpcy5pbmplY3RvcnMuZ2V0KGNvbXBvbmVudCk7XG4gIH1cblxuICBnZXRDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIoY29tcG9uZW50OiBUeXBlPGFueT4pOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcnMuZ2V0KGNvbXBvbmVudCk7XG4gIH1cblxuICBnZXRDb21wb25lbnRzVG9Mb2FkKCkge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudHNUb0xvYWQ7XG4gIH1cblxuICBnZXRDb21wb25lbnRUb0xvYWQoc2VsZWN0b3I6IHN0cmluZyk6IE9ic2VydmFibGU8TGF6eUNtcExvYWRlZEV2ZW50PiB7XG4gICAgLy8gUmV0dXJucyBvYnNlcnZhYmxlIHRoYXQgY29tcGxldGVzIHdoZW4gdGhlIGxhenkgbW9kdWxlIGhhcyBiZWVuIGxvYWRlZC5cbiAgICBjb25zdCByZWdpc3RlcmVkID0gdGhpcy5sb2FkQ29tcG9uZW50KHNlbGVjdG9yKTtcbiAgICByZXR1cm4gZnJvbShyZWdpc3RlcmVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gbGF6eSBsb2FkIGEgY29tcG9uZW50IGdpdmVuIGl0cyBzZWxlY3Rvci5cbiAgICogSWYgdGhlIGNvbXBvbmVudCBzZWxlY3RvciBoYXMgYmVlbiByZWdpc3RlcmVkLCBpdCdzIGFjY29yZGluZyBtb2R1bGVcbiAgICogd2lsbCBiZSBmZXRjaGVkIGxhemlseVxuICAgKiBAcGFyYW0gY29tcG9uZW50VGFnIHNlbGVjdG9yIG9mIHRoZSBjb21wb25lbnQgdG8gbG9hZFxuICAgKi9cbiAgbG9hZENvbXBvbmVudChjb21wb25lbnRTZWxlY3Rvcjogc3RyaW5nKTogUHJvbWlzZTxMYXp5Q21wTG9hZGVkRXZlbnQ+IHtcbiAgICBpZiAodGhpcy5lbGVtZW50c0xvYWRpbmcuaGFzKGNvbXBvbmVudFNlbGVjdG9yKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudHNMb2FkaW5nLmdldChjb21wb25lbnRTZWxlY3Rvcik7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29tcG9uZW50c1RvTG9hZC5oYXMoY29tcG9uZW50U2VsZWN0b3IpKSB7XG4gICAgICBjb25zdCBjbXBSZWdpc3RyeUVudHJ5ID0gdGhpcy5jb21wb25lbnRzVG9Mb2FkLmdldChjb21wb25lbnRTZWxlY3Rvcik7XG4gICAgICBjb25zdCBwYXRoID0gY21wUmVnaXN0cnlFbnRyeS5sb2FkQ2hpbGRyZW47XG5cbiAgICAgIGNvbnN0IGxvYWRQcm9taXNlID0gbmV3IFByb21pc2U8TGF6eUNtcExvYWRlZEV2ZW50PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIChwYXRoKCkgYXMgUHJvbWlzZTxOZ01vZHVsZUZhY3Rvcnk8YW55PiB8IFR5cGU8YW55Pj4pXG4gICAgICAgICAgLnRoZW4oZWxlbWVudE1vZHVsZU9yRmFjdG9yeSA9PiB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdpdGggVmlldyBFbmdpbmUsIHRoZSBOZ01vZHVsZSBmYWN0b3J5IGlzIGNyZWF0ZWQgYW5kIHByb3ZpZGVkIHdoZW4gbG9hZGVkLlxuICAgICAgICAgICAgICogV2l0aCBJdnksIG9ubHkgdGhlIE5nTW9kdWxlIGNsYXNzIGlzIHByb3ZpZGVkIGxvYWRlZCBhbmQgbXVzdCBiZSBjb21waWxlZC5cbiAgICAgICAgICAgICAqIFRoaXMgdXNlcyB0aGUgc2FtZSBtZWNoYW5pc20gYXMgdGhlIGRlcHJlY2F0ZWQgYFN5c3RlbUpzTmdNb2R1bGVMb2FkZXJgIGluXG4gICAgICAgICAgICAgKiBpbiBgcGFja2FnZXMvY29yZS9zcmMvbGlua2VyL3N5c3RlbV9qc19uZ19tb2R1bGVfZmFjdG9yeV9sb2FkZXIudHNgXG4gICAgICAgICAgICAgKiB0byBwYXNzIG9uIHRoZSBOZ01vZHVsZUZhY3RvcnksIG9yIGNvbXBpbGUgdGhlIE5nTW9kdWxlIGFuZCByZXR1cm4gaXRzIE5nTW9kdWxlRmFjdG9yeS5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgaWYgKGVsZW1lbnRNb2R1bGVPckZhY3RvcnkgaW5zdGFuY2VvZiBOZ01vZHVsZUZhY3RvcnkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRNb2R1bGVPckZhY3Rvcnk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBc3luYyhlbGVtZW50TW9kdWxlT3JGYWN0b3J5KTtcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIHRoZSBlcnJvclxuICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuXG4gICAgICAgICAgICAgICAgLy8gYnJlYWsgdGhlIHByb21pc2UgY2hhaW5cbiAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICAgIC50aGVuKG1vZHVsZUZhY3RvcnkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBlbGVtZW50TW9kdWxlUmVmID0gbW9kdWxlRmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG4gICAgICAgICAgICAgIGxldCBjb21wb25lbnRDbGFzcztcblxuICAgICAgICAgICAgICBpZiAodHlwZW9mIGVsZW1lbnRNb2R1bGVSZWYuaW5zdGFuY2UuY3VzdG9tRWxlbWVudENvbXBvbmVudCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRDbGFzcyA9IGVsZW1lbnRNb2R1bGVSZWYuaW5zdGFuY2UuY3VzdG9tRWxlbWVudENvbXBvbmVudFtjb21wb25lbnRTZWxlY3Rvcl07XG5cbiAgICAgICAgICAgICAgICBpZiAoIWNvbXBvbmVudENsYXNzKSB7XG4gICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLXN0cmluZy10aHJvd1xuICAgICAgICAgICAgICAgICAgdGhyb3cgYFlvdSBzcGVjaWZpZWQgbXVsdGlwbGUgY29tcG9uZW50IGVsZW1lbnRzIGluIG1vZHVsZSAke2VsZW1lbnRNb2R1bGVSZWZ9IGJ1dCB0aGVyZSB3YXMgbm8gbWF0Y2ggZm9yIHRhZ1xuICAgICAgICAgICAgICAgICAgICAgICAgJHtjb21wb25lbnRTZWxlY3Rvcn0gaW4gJHtKU09OLnN0cmluZ2lmeShlbGVtZW50TW9kdWxlUmVmLmluc3RhbmNlLmN1c3RvbUVsZW1lbnRDb21wb25lbnQpfS5cbiAgICAgICAgICAgICAgICAgICAgICAgICBNYWtlIHN1cmUgdGhlIHNlbGVjdG9yIGluIHRoZSBtb2R1bGUgaXMgYWxpZ25lZCB3aXRoIHRoZSBvbmUgc3BlY2lmaWVkIGluIHRoZSBsYXp5IG1vZHVsZSBkZWZpbml0aW9uLmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudENsYXNzID0gZWxlbWVudE1vZHVsZVJlZi5pbnN0YW5jZS5jdXN0b21FbGVtZW50Q29tcG9uZW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gUmVnaXN0ZXIgaW5qZWN0b3Igb2YgdGhlIGxhenkgbW9kdWxlLlxuICAgICAgICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBzaGFyZSB0aGUgZW50cnlDb21wb25lbnRzIGJldHdlZW4gdGhlIGxhenkgbW9kdWxlIGFuZCB0aGUgYXBwbGljYXRpb25cbiAgICAgICAgICAgICAgY29uc3QgbW9kdWxlSW5qZWN0b3IgPSBlbGVtZW50TW9kdWxlUmVmLmluamVjdG9yO1xuICAgICAgICAgICAgICB0aGlzLnJlY2VpdmVDb250ZXh0KGNvbXBvbmVudENsYXNzLCBtb2R1bGVJbmplY3Rvcik7XG5cbiAgICAgICAgICAgICAgdGhpcy5sb2FkZWRDb21wb25lbnRzLnNldChjb21wb25lbnRTZWxlY3RvciwgY29tcG9uZW50Q2xhc3MpO1xuICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRzTG9hZGluZy5kZWxldGUoY29tcG9uZW50U2VsZWN0b3IpO1xuICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudHNUb0xvYWQuZGVsZXRlKGNvbXBvbmVudFNlbGVjdG9yKTtcblxuICAgICAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgICAgICBzZWxlY3RvcjogY29tcG9uZW50U2VsZWN0b3IsXG4gICAgICAgICAgICAgICAgY29tcG9uZW50Q2xhc3NcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudHNMb2FkaW5nLmRlbGV0ZShjb21wb25lbnRTZWxlY3Rvcik7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmVsZW1lbnRzTG9hZGluZy5zZXQoY29tcG9uZW50U2VsZWN0b3IsIGxvYWRQcm9taXNlKTtcbiAgICAgIHJldHVybiBsb2FkUHJvbWlzZTtcblxuICAgIH0gZWxzZSBpZiAodGhpcy5sb2FkZWRDb21wb25lbnRzLmhhcyhjb21wb25lbnRTZWxlY3RvcikpIHtcbiAgICAgIC8vIGNvbXBvbmVudCBhbHJlYWR5IGxvYWRlZFxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICBzZWxlY3RvcjogY29tcG9uZW50U2VsZWN0b3IsXG4gICAgICAgICAgY29tcG9uZW50Q2xhc3M6IHRoaXMubG9hZGVkQ29tcG9uZW50cy5nZXQoY29tcG9uZW50U2VsZWN0b3IpXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFVucmVjb2duaXplZCBjb21wb25lbnQgXCIke2NvbXBvbmVudFNlbGVjdG9yfVwiLiBNYWtlIHN1cmUgaXQgaXMgcmVnaXN0ZXJlZCBpbiB0aGUgY29tcG9uZW50IHJlZ2lzdHJ5YFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn0iXX0=
@@ -126,9 +126,9 @@ class NgxElementService {
126
126
  }
127
127
  }
128
128
  }
129
- NgxElementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementService, deps: [{ token: LAZY_CMPS_PATH_TOKEN }, { token: i0.Compiler }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
130
- NgxElementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementService, providedIn: 'root' });
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementService, decorators: [{
129
+ NgxElementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementService, deps: [{ token: LAZY_CMPS_PATH_TOKEN }, { token: i0.Compiler }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
130
+ NgxElementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementService, providedIn: 'root' });
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementService, decorators: [{
132
132
  type: Injectable,
133
133
  args: [{
134
134
  providedIn: 'root'
@@ -224,19 +224,15 @@ class NgxElementComponent {
224
224
  this.ngElementEventsSubscription.unsubscribe();
225
225
  }
226
226
  }
227
- NgxElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementComponent, deps: [{ token: NgxElementService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
228
- NgxElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: NgxElementComponent, selector: "lib-ngx-element", inputs: { selector: "selector" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `
227
+ NgxElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementComponent, deps: [{ token: NgxElementService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
228
+ NgxElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NgxElementComponent, selector: "lib-ngx-element", inputs: { selector: "selector" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `
229
229
  <ng-template #container></ng-template>
230
230
  `, isInline: true });
231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementComponent, decorators: [{
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementComponent, decorators: [{
232
232
  type: Component,
233
- args: [{
234
- selector: 'lib-ngx-element',
235
- template: `
233
+ args: [{ selector: 'lib-ngx-element', template: `
236
234
  <ng-template #container></ng-template>
237
- `,
238
- styles: []
239
- }]
235
+ ` }]
240
236
  }], ctorParameters: function () { return [{ type: NgxElementService }, { type: i0.ElementRef }]; }, propDecorators: { selector: [{
241
237
  type: Input
242
238
  }], container: [{
@@ -263,10 +259,10 @@ class NgxElementModule {
263
259
  }
264
260
  ngDoBootstrap() { }
265
261
  }
266
- NgxElementModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementModule, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule });
267
- NgxElementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementModule, declarations: [NgxElementComponent] });
268
- NgxElementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementModule });
269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementModule, decorators: [{
262
+ NgxElementModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementModule, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule });
263
+ NgxElementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NgxElementModule, declarations: [NgxElementComponent] });
264
+ NgxElementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementModule });
265
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementModule, decorators: [{
270
266
  type: NgModule,
271
267
  args: [{
272
268
  declarations: [NgxElementComponent]
@@ -1 +1 @@
1
- {"version":3,"file":"zdigambar-ngx-element.mjs","sources":["../../../projects/ngx-element/src/lib/tokens.ts","../../../projects/ngx-element/src/lib/ngx-element.service.ts","../../../projects/ngx-element/src/lib/ngx-element.component.ts","../../../projects/ngx-element/src/lib/ngx-element.module.ts","../../../projects/ngx-element/src/public-api.ts","../../../projects/ngx-element/src/zdigambar-ngx-element.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { LoadChildrenCallback } from '@angular/router';\n\n/* Injection token to provide the element path modules. */\nexport const LAZY_CMPS_PATH_TOKEN = new InjectionToken('ngx-lazy-cmp-registry');\n\nexport interface LazyComponentDef {\n selector: string;\n loadChildren: LoadChildrenCallback; // prop needs to be named like this\n}\n","import { Injectable, Inject, NgModuleFactory, Type, Compiler, Injector, ComponentFactoryResolver } from '@angular/core';\nimport { LAZY_CMPS_PATH_TOKEN, LazyComponentDef } from './tokens';\nimport { LazyCmpLoadedEvent } from './lazy-component-loaded-event';\nimport { Observable, from } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxElementService {\n private componentsToLoad: Map<string, LazyComponentDef>;\n private loadedComponents = new Map<string, Type<any>>();\n private elementsLoading = new Map<string, Promise<LazyCmpLoadedEvent>>();\n\n injectors = new Map<Type<any>, Injector>();\n componentFactoryResolvers = new Map<Type<any>, ComponentFactoryResolver>();\n\n constructor(\n @Inject(LAZY_CMPS_PATH_TOKEN)\n modulePaths: {\n selector: string\n }[],\n private compiler: Compiler,\n private injector: Injector\n ) {\n const ELEMENT_MODULE_PATHS = new Map<string, any>();\n modulePaths.forEach(route => {\n ELEMENT_MODULE_PATHS.set(route.selector, route);\n });\n\n this.componentsToLoad = ELEMENT_MODULE_PATHS;\n }\n\n receiveContext(component: Type<any>, injector: Injector) {\n this.injectors.set(component, injector);\n this.componentFactoryResolvers.set(component, injector.get(ComponentFactoryResolver));\n }\n\n getInjector(component: Type<any>): Injector {\n return this.injectors.get(component);\n }\n\n getComponentFactoryResolver(component: Type<any>): ComponentFactoryResolver {\n return this.componentFactoryResolvers.get(component);\n }\n\n getComponentsToLoad() {\n return this.componentsToLoad;\n }\n\n getComponentToLoad(selector: string): Observable<LazyCmpLoadedEvent> {\n // Returns observable that completes when the lazy module has been loaded.\n const registered = this.loadComponent(selector);\n return from(registered);\n }\n\n /**\n * Allows to lazy load a component given its selector.\n * If the component selector has been registered, it's according module\n * will be fetched lazily\n * @param componentTag selector of the component to load\n */\n loadComponent(componentSelector: string): Promise<LazyCmpLoadedEvent> {\n if (this.elementsLoading.has(componentSelector)) {\n return this.elementsLoading.get(componentSelector);\n }\n\n if (this.componentsToLoad.has(componentSelector)) {\n const cmpRegistryEntry = this.componentsToLoad.get(componentSelector);\n const path = cmpRegistryEntry.loadChildren;\n\n const loadPromise = new Promise<LazyCmpLoadedEvent>((resolve, reject) => {\n (path() as Promise<NgModuleFactory<any> | Type<any>>)\n .then(elementModuleOrFactory => {\n /**\n * With View Engine, the NgModule factory is created and provided when loaded.\n * With Ivy, only the NgModule class is provided loaded and must be compiled.\n * This uses the same mechanism as the deprecated `SystemJsNgModuleLoader` in\n * in `packages/core/src/linker/system_js_ng_module_factory_loader.ts`\n * to pass on the NgModuleFactory, or compile the NgModule and return its NgModuleFactory.\n */\n if (elementModuleOrFactory instanceof NgModuleFactory) {\n return elementModuleOrFactory;\n } else {\n try {\n return this.compiler.compileModuleAsync(elementModuleOrFactory);\n } catch (err) {\n // return the error\n reject(err);\n\n // break the promise chain\n throw err;\n }\n }\n })\n .then(moduleFactory => {\n const elementModuleRef = moduleFactory.create(this.injector);\n let componentClass;\n\n if (typeof elementModuleRef.instance.customElementComponent === 'object') {\n componentClass = elementModuleRef.instance.customElementComponent[componentSelector];\n\n if (!componentClass) {\n // tslint:disable-next-line: no-string-throw\n throw `You specified multiple component elements in module ${elementModuleRef} but there was no match for tag\n ${componentSelector} in ${JSON.stringify(elementModuleRef.instance.customElementComponent)}.\n Make sure the selector in the module is aligned with the one specified in the lazy module definition.`;\n }\n } else {\n componentClass = elementModuleRef.instance.customElementComponent;\n }\n\n // Register injector of the lazy module.\n // This is needed to share the entryComponents between the lazy module and the application\n const moduleInjector = elementModuleRef.injector;\n this.receiveContext(componentClass, moduleInjector);\n\n this.loadedComponents.set(componentSelector, componentClass);\n this.elementsLoading.delete(componentSelector);\n this.componentsToLoad.delete(componentSelector);\n\n resolve({\n selector: componentSelector,\n componentClass\n });\n })\n .catch(err => {\n this.elementsLoading.delete(componentSelector);\n return Promise.reject(err);\n });\n });\n\n this.elementsLoading.set(componentSelector, loadPromise);\n return loadPromise;\n\n } else if (this.loadedComponents.has(componentSelector)) {\n // component already loaded\n return new Promise(resolve => {\n resolve({\n selector: componentSelector,\n componentClass: this.loadedComponents.get(componentSelector)\n });\n });\n } else {\n throw new Error(\n `Unrecognized component \"${componentSelector}\". Make sure it is registered in the component registry`\n );\n }\n }\n}","import {\n Component,\n ComponentFactory,\n ComponentRef,\n OnInit,\n Input,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n ComponentFactoryResolver,\n OnDestroy,\n EventEmitter,\n ElementRef,\n Injector,\n ReflectiveInjector\n} from '@angular/core';\nimport {NgxElementService} from './ngx-element.service';\nimport {merge, Subscription} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'lib-ngx-element',\n template: `\n <ng-template #container></ng-template>\n `,\n styles: []\n})\nexport class NgxElementComponent implements OnInit, OnDestroy {\n\n private ngElementEventsSubscription: Subscription;\n @Input() selector: string;\n @ViewChild('container', {read: ViewContainerRef}) container;\n\n componentRef: ComponentRef<any>;\n componentToLoad: Type<any>;\n componentFactoryResolver: ComponentFactoryResolver;\n injector: Injector;\n refInjector: ReflectiveInjector;\n\n constructor(\n private ngxElementService: NgxElementService,\n private elementRef: ElementRef\n ) {}\n\n /**\n * Subscribe to event emitters of a lazy loaded and dynamically instantiated Angular component\n * and dispatch them as Custom Events on the NgxElementComponent that is used in a template.\n */\n private setProxiedOutputs(factory: ComponentFactory<any>): void {\n const eventEmitters = factory.outputs.map(({propName, templateName}) => {\n const emitter = (this.componentRef.instance as any)[propName] as EventEmitter<any>;\n return emitter.pipe(map((value: any) => ({name: templateName, value})));\n });\n const outputEvents = merge(...eventEmitters);\n this.ngElementEventsSubscription = outputEvents.subscribe(subscription => {\n const customEvent = document.createEvent('CustomEvent');\n customEvent.initCustomEvent(subscription.name, false, false, subscription.value);\n this.elementRef.nativeElement.dispatchEvent(customEvent);\n });\n }\n\n ngOnInit(): void {\n this.ngxElementService.getComponentToLoad(this.selector).subscribe(event => {\n this.componentToLoad = event.componentClass;\n this.componentFactoryResolver = this.ngxElementService.getComponentFactoryResolver(this.componentToLoad);\n this.injector = this.ngxElementService.getInjector(this.componentToLoad);\n\n const attributes = this.getElementAttributes();\n this.createComponent(attributes);\n });\n }\n\n createComponent(attributes) {\n this.container.clear();\n const factory = this.componentFactoryResolver.resolveComponentFactory(this.componentToLoad);\n\n this.refInjector = ReflectiveInjector.resolveAndCreate(\n [{provide: this.componentToLoad, useValue: this.componentToLoad}], this.injector\n );\n this.componentRef = this.container.createComponent(factory, 0, this.refInjector);\n\n this.setAttributes(attributes);\n this.listenToAttributeChanges();\n this.setProxiedOutputs(factory);\n }\n\n setAttributes(attributes) {\n attributes.forEach(attr => {\n this.componentRef.instance[attr.name] = attr.value;\n });\n }\n\n getElementAttributes() {\n const attrs = this.elementRef.nativeElement.attributes;\n const attributes = [];\n\n for (let attr, i = 0; i < attrs.length; i++) {\n attr = attrs[i];\n\n if (attr.nodeName.match('^data-')) {\n attributes.push({\n name: this.camelCaseAttribute(attr.nodeName),\n value: attr.nodeValue\n });\n }\n }\n\n return attributes;\n }\n\n camelCaseAttribute(attribute: string) {\n const attr = attribute.replace('data-', '');\n const chunks = attr.split('-');\n\n if (chunks.length > 1) {\n return chunks[0] + chunks.slice(1).map(chunk => chunk.replace(/^\\w/, c => c.toUpperCase())).join('');\n }\n\n return attr;\n }\n\n listenToAttributeChanges() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type === 'attributes') {\n const attributes = this.getElementAttributes();\n this.setAttributes(attributes);\n }\n });\n });\n\n observer.observe(this.elementRef.nativeElement, {\n attributes: true\n });\n }\n\n ngOnDestroy() {\n this.componentRef.destroy();\n this.ngElementEventsSubscription.unsubscribe();\n }\n}","import { NgModule, Injector, ModuleWithProviders } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { NgxElementComponent } from './ngx-element.component';\nimport { LAZY_CMPS_PATH_TOKEN } from './tokens';\n\n@NgModule({\r\n declarations: [NgxElementComponent]\r\n})\nexport class NgxElementModule {\n\n constructor(private injector: Injector) {\n const ngxElement = createCustomElement(NgxElementComponent, { injector });\n customElements.define('ngx-element', ngxElement);\n }\n\n static forRoot(modulePaths: any[]): ModuleWithProviders<NgxElementModule> {\n return {\n ngModule: NgxElementModule,\n providers: [\n {\n provide: LAZY_CMPS_PATH_TOKEN,\n useValue: modulePaths\n }\n ]\n };\n }\n\n ngDoBootstrap() {}\n}\n","/*\n * Public API Surface of ngx-element\n */\n\nexport * from './lib/ngx-element.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgxElementService"],"mappings":"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"}
1
+ {"version":3,"file":"zdigambar-ngx-element.mjs","sources":["../../../projects/ngx-element/src/lib/tokens.ts","../../../projects/ngx-element/src/lib/ngx-element.service.ts","../../../projects/ngx-element/src/lib/ngx-element.component.ts","../../../projects/ngx-element/src/lib/ngx-element.module.ts","../../../projects/ngx-element/src/public-api.ts","../../../projects/ngx-element/src/zdigambar-ngx-element.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { LoadChildrenCallback } from '@angular/router';\n\n/* Injection token to provide the element path modules. */\nexport const LAZY_CMPS_PATH_TOKEN = new InjectionToken('ngx-lazy-cmp-registry');\n\nexport interface LazyComponentDef {\n selector: string;\n loadChildren: LoadChildrenCallback; // prop needs to be named like this\n}\n","import { Injectable, Inject, NgModuleFactory, Type, Compiler, Injector, ComponentFactoryResolver } from '@angular/core';\nimport { LAZY_CMPS_PATH_TOKEN, LazyComponentDef } from './tokens';\nimport { LazyCmpLoadedEvent } from './lazy-component-loaded-event';\nimport { Observable, from } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxElementService {\n private componentsToLoad: Map<string, LazyComponentDef>;\n private loadedComponents = new Map<string, Type<any>>();\n private elementsLoading = new Map<string, Promise<LazyCmpLoadedEvent>>();\n\n injectors = new Map<Type<any>, Injector>();\n componentFactoryResolvers = new Map<Type<any>, ComponentFactoryResolver>();\n\n constructor(\n @Inject(LAZY_CMPS_PATH_TOKEN)\n modulePaths: {\n selector: string\n }[],\n private compiler: Compiler,\n private injector: Injector\n ) {\n const ELEMENT_MODULE_PATHS = new Map<string, any>();\n modulePaths.forEach(route => {\n ELEMENT_MODULE_PATHS.set(route.selector, route);\n });\n\n this.componentsToLoad = ELEMENT_MODULE_PATHS;\n }\n\n receiveContext(component: Type<any>, injector: Injector) {\n this.injectors.set(component, injector);\n this.componentFactoryResolvers.set(component, injector.get(ComponentFactoryResolver));\n }\n\n getInjector(component: Type<any>): Injector {\n return this.injectors.get(component);\n }\n\n getComponentFactoryResolver(component: Type<any>): ComponentFactoryResolver {\n return this.componentFactoryResolvers.get(component);\n }\n\n getComponentsToLoad() {\n return this.componentsToLoad;\n }\n\n getComponentToLoad(selector: string): Observable<LazyCmpLoadedEvent> {\n // Returns observable that completes when the lazy module has been loaded.\n const registered = this.loadComponent(selector);\n return from(registered);\n }\n\n /**\n * Allows to lazy load a component given its selector.\n * If the component selector has been registered, it's according module\n * will be fetched lazily\n * @param componentTag selector of the component to load\n */\n loadComponent(componentSelector: string): Promise<LazyCmpLoadedEvent> {\n if (this.elementsLoading.has(componentSelector)) {\n return this.elementsLoading.get(componentSelector);\n }\n\n if (this.componentsToLoad.has(componentSelector)) {\n const cmpRegistryEntry = this.componentsToLoad.get(componentSelector);\n const path = cmpRegistryEntry.loadChildren;\n\n const loadPromise = new Promise<LazyCmpLoadedEvent>((resolve, reject) => {\n (path() as Promise<NgModuleFactory<any> | Type<any>>)\n .then(elementModuleOrFactory => {\n /**\n * With View Engine, the NgModule factory is created and provided when loaded.\n * With Ivy, only the NgModule class is provided loaded and must be compiled.\n * This uses the same mechanism as the deprecated `SystemJsNgModuleLoader` in\n * in `packages/core/src/linker/system_js_ng_module_factory_loader.ts`\n * to pass on the NgModuleFactory, or compile the NgModule and return its NgModuleFactory.\n */\n if (elementModuleOrFactory instanceof NgModuleFactory) {\n return elementModuleOrFactory;\n } else {\n try {\n return this.compiler.compileModuleAsync(elementModuleOrFactory);\n } catch (err) {\n // return the error\n reject(err);\n\n // break the promise chain\n throw err;\n }\n }\n })\n .then(moduleFactory => {\n const elementModuleRef = moduleFactory.create(this.injector);\n let componentClass;\n\n if (typeof elementModuleRef.instance.customElementComponent === 'object') {\n componentClass = elementModuleRef.instance.customElementComponent[componentSelector];\n\n if (!componentClass) {\n // tslint:disable-next-line: no-string-throw\n throw `You specified multiple component elements in module ${elementModuleRef} but there was no match for tag\n ${componentSelector} in ${JSON.stringify(elementModuleRef.instance.customElementComponent)}.\n Make sure the selector in the module is aligned with the one specified in the lazy module definition.`;\n }\n } else {\n componentClass = elementModuleRef.instance.customElementComponent;\n }\n\n // Register injector of the lazy module.\n // This is needed to share the entryComponents between the lazy module and the application\n const moduleInjector = elementModuleRef.injector;\n this.receiveContext(componentClass, moduleInjector);\n\n this.loadedComponents.set(componentSelector, componentClass);\n this.elementsLoading.delete(componentSelector);\n this.componentsToLoad.delete(componentSelector);\n\n resolve({\n selector: componentSelector,\n componentClass\n });\n })\n .catch(err => {\n this.elementsLoading.delete(componentSelector);\n return Promise.reject(err);\n });\n });\n\n this.elementsLoading.set(componentSelector, loadPromise);\n return loadPromise;\n\n } else if (this.loadedComponents.has(componentSelector)) {\n // component already loaded\n return new Promise(resolve => {\n resolve({\n selector: componentSelector,\n componentClass: this.loadedComponents.get(componentSelector)\n });\n });\n } else {\n throw new Error(\n `Unrecognized component \"${componentSelector}\". Make sure it is registered in the component registry`\n );\n }\n }\n}","import {\n Component,\n ComponentFactory,\n ComponentRef,\n OnInit,\n Input,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n ComponentFactoryResolver,\n OnDestroy,\n EventEmitter,\n ElementRef,\n Injector,\n ReflectiveInjector\n} from '@angular/core';\nimport {NgxElementService} from './ngx-element.service';\nimport {merge, Subscription} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'lib-ngx-element',\n template: `\n <ng-template #container></ng-template>\n `,\n styles: []\n})\nexport class NgxElementComponent implements OnInit, OnDestroy {\n\n private ngElementEventsSubscription: Subscription;\n @Input() selector: string;\n @ViewChild('container', {read: ViewContainerRef}) container;\n\n componentRef: ComponentRef<any>;\n componentToLoad: Type<any>;\n componentFactoryResolver: ComponentFactoryResolver;\n injector: Injector;\n refInjector: ReflectiveInjector;\n\n constructor(\n private ngxElementService: NgxElementService,\n private elementRef: ElementRef\n ) {}\n\n /**\n * Subscribe to event emitters of a lazy loaded and dynamically instantiated Angular component\n * and dispatch them as Custom Events on the NgxElementComponent that is used in a template.\n */\n private setProxiedOutputs(factory: ComponentFactory<any>): void {\n const eventEmitters = factory.outputs.map(({propName, templateName}) => {\n const emitter = (this.componentRef.instance as any)[propName] as EventEmitter<any>;\n return emitter.pipe(map((value: any) => ({name: templateName, value})));\n });\n const outputEvents = merge(...eventEmitters);\n this.ngElementEventsSubscription = outputEvents.subscribe(subscription => {\n const customEvent = document.createEvent('CustomEvent');\n customEvent.initCustomEvent(subscription.name, false, false, subscription.value);\n this.elementRef.nativeElement.dispatchEvent(customEvent);\n });\n }\n\n ngOnInit(): void {\n this.ngxElementService.getComponentToLoad(this.selector).subscribe(event => {\n this.componentToLoad = event.componentClass;\n this.componentFactoryResolver = this.ngxElementService.getComponentFactoryResolver(this.componentToLoad);\n this.injector = this.ngxElementService.getInjector(this.componentToLoad);\n\n const attributes = this.getElementAttributes();\n this.createComponent(attributes);\n });\n }\n\n createComponent(attributes) {\n this.container.clear();\n const factory = this.componentFactoryResolver.resolveComponentFactory(this.componentToLoad);\n\n this.refInjector = ReflectiveInjector.resolveAndCreate(\n [{provide: this.componentToLoad, useValue: this.componentToLoad}], this.injector\n );\n this.componentRef = this.container.createComponent(factory, 0, this.refInjector);\n\n this.setAttributes(attributes);\n this.listenToAttributeChanges();\n this.setProxiedOutputs(factory);\n }\n\n setAttributes(attributes) {\n attributes.forEach(attr => {\n this.componentRef.instance[attr.name] = attr.value;\n });\n }\n\n getElementAttributes() {\n const attrs = this.elementRef.nativeElement.attributes;\n const attributes = [];\n\n for (let attr, i = 0; i < attrs.length; i++) {\n attr = attrs[i];\n\n if (attr.nodeName.match('^data-')) {\n attributes.push({\n name: this.camelCaseAttribute(attr.nodeName),\n value: attr.nodeValue\n });\n }\n }\n\n return attributes;\n }\n\n camelCaseAttribute(attribute: string) {\n const attr = attribute.replace('data-', '');\n const chunks = attr.split('-');\n\n if (chunks.length > 1) {\n return chunks[0] + chunks.slice(1).map(chunk => chunk.replace(/^\\w/, c => c.toUpperCase())).join('');\n }\n\n return attr;\n }\n\n listenToAttributeChanges() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type === 'attributes') {\n const attributes = this.getElementAttributes();\n this.setAttributes(attributes);\n }\n });\n });\n\n observer.observe(this.elementRef.nativeElement, {\n attributes: true\n });\n }\n\n ngOnDestroy() {\n this.componentRef.destroy();\n this.ngElementEventsSubscription.unsubscribe();\n }\n}","import { NgModule, Injector, ModuleWithProviders } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { NgxElementComponent } from './ngx-element.component';\nimport { LAZY_CMPS_PATH_TOKEN } from './tokens';\n\n@NgModule({\r\n declarations: [NgxElementComponent]\r\n})\nexport class NgxElementModule {\n\n constructor(private injector: Injector) {\n const ngxElement = createCustomElement(NgxElementComponent, { injector });\n customElements.define('ngx-element', ngxElement);\n }\n\n static forRoot(modulePaths: any[]): ModuleWithProviders<NgxElementModule> {\n return {\n ngModule: NgxElementModule,\n providers: [\n {\n provide: LAZY_CMPS_PATH_TOKEN,\n useValue: modulePaths\n }\n ]\n };\n }\n\n ngDoBootstrap() {}\n}\n","/*\n * Public API Surface of ngx-element\n */\n\nexport * from './lib/ngx-element.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgxElementService"],"mappings":"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"}
@@ -126,9 +126,9 @@ class NgxElementService {
126
126
  }
127
127
  }
128
128
  }
129
- NgxElementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementService, deps: [{ token: LAZY_CMPS_PATH_TOKEN }, { token: i0.Compiler }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
130
- NgxElementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementService, providedIn: 'root' });
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementService, decorators: [{
129
+ NgxElementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementService, deps: [{ token: LAZY_CMPS_PATH_TOKEN }, { token: i0.Compiler }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
130
+ NgxElementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementService, providedIn: 'root' });
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementService, decorators: [{
132
132
  type: Injectable,
133
133
  args: [{
134
134
  providedIn: 'root'
@@ -222,19 +222,15 @@ class NgxElementComponent {
222
222
  this.ngElementEventsSubscription.unsubscribe();
223
223
  }
224
224
  }
225
- NgxElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementComponent, deps: [{ token: NgxElementService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
226
- NgxElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: NgxElementComponent, selector: "lib-ngx-element", inputs: { selector: "selector" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `
225
+ NgxElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementComponent, deps: [{ token: NgxElementService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
226
+ NgxElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NgxElementComponent, selector: "lib-ngx-element", inputs: { selector: "selector" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `
227
227
  <ng-template #container></ng-template>
228
228
  `, isInline: true });
229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementComponent, decorators: [{
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementComponent, decorators: [{
230
230
  type: Component,
231
- args: [{
232
- selector: 'lib-ngx-element',
233
- template: `
231
+ args: [{ selector: 'lib-ngx-element', template: `
234
232
  <ng-template #container></ng-template>
235
- `,
236
- styles: []
237
- }]
233
+ ` }]
238
234
  }], ctorParameters: function () { return [{ type: NgxElementService }, { type: i0.ElementRef }]; }, propDecorators: { selector: [{
239
235
  type: Input
240
236
  }], container: [{
@@ -261,10 +257,10 @@ class NgxElementModule {
261
257
  }
262
258
  ngDoBootstrap() { }
263
259
  }
264
- NgxElementModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementModule, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule });
265
- NgxElementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementModule, declarations: [NgxElementComponent] });
266
- NgxElementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementModule });
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxElementModule, decorators: [{
260
+ NgxElementModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementModule, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule });
261
+ NgxElementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NgxElementModule, declarations: [NgxElementComponent] });
262
+ NgxElementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementModule });
263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxElementModule, decorators: [{
268
264
  type: NgModule,
269
265
  args: [{
270
266
  declarations: [NgxElementComponent]
@@ -1 +1 @@
1
- {"version":3,"file":"zdigambar-ngx-element.mjs","sources":["../../../projects/ngx-element/src/lib/tokens.ts","../../../projects/ngx-element/src/lib/ngx-element.service.ts","../../../projects/ngx-element/src/lib/ngx-element.component.ts","../../../projects/ngx-element/src/lib/ngx-element.module.ts","../../../projects/ngx-element/src/public-api.ts","../../../projects/ngx-element/src/zdigambar-ngx-element.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { LoadChildrenCallback } from '@angular/router';\n\n/* Injection token to provide the element path modules. */\nexport const LAZY_CMPS_PATH_TOKEN = new InjectionToken('ngx-lazy-cmp-registry');\n\nexport interface LazyComponentDef {\n selector: string;\n loadChildren: LoadChildrenCallback; // prop needs to be named like this\n}\n","import { Injectable, Inject, NgModuleFactory, Type, Compiler, Injector, ComponentFactoryResolver } from '@angular/core';\nimport { LAZY_CMPS_PATH_TOKEN, LazyComponentDef } from './tokens';\nimport { LazyCmpLoadedEvent } from './lazy-component-loaded-event';\nimport { Observable, from } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxElementService {\n private componentsToLoad: Map<string, LazyComponentDef>;\n private loadedComponents = new Map<string, Type<any>>();\n private elementsLoading = new Map<string, Promise<LazyCmpLoadedEvent>>();\n\n injectors = new Map<Type<any>, Injector>();\n componentFactoryResolvers = new Map<Type<any>, ComponentFactoryResolver>();\n\n constructor(\n @Inject(LAZY_CMPS_PATH_TOKEN)\n modulePaths: {\n selector: string\n }[],\n private compiler: Compiler,\n private injector: Injector\n ) {\n const ELEMENT_MODULE_PATHS = new Map<string, any>();\n modulePaths.forEach(route => {\n ELEMENT_MODULE_PATHS.set(route.selector, route);\n });\n\n this.componentsToLoad = ELEMENT_MODULE_PATHS;\n }\n\n receiveContext(component: Type<any>, injector: Injector) {\n this.injectors.set(component, injector);\n this.componentFactoryResolvers.set(component, injector.get(ComponentFactoryResolver));\n }\n\n getInjector(component: Type<any>): Injector {\n return this.injectors.get(component);\n }\n\n getComponentFactoryResolver(component: Type<any>): ComponentFactoryResolver {\n return this.componentFactoryResolvers.get(component);\n }\n\n getComponentsToLoad() {\n return this.componentsToLoad;\n }\n\n getComponentToLoad(selector: string): Observable<LazyCmpLoadedEvent> {\n // Returns observable that completes when the lazy module has been loaded.\n const registered = this.loadComponent(selector);\n return from(registered);\n }\n\n /**\n * Allows to lazy load a component given its selector.\n * If the component selector has been registered, it's according module\n * will be fetched lazily\n * @param componentTag selector of the component to load\n */\n loadComponent(componentSelector: string): Promise<LazyCmpLoadedEvent> {\n if (this.elementsLoading.has(componentSelector)) {\n return this.elementsLoading.get(componentSelector);\n }\n\n if (this.componentsToLoad.has(componentSelector)) {\n const cmpRegistryEntry = this.componentsToLoad.get(componentSelector);\n const path = cmpRegistryEntry.loadChildren;\n\n const loadPromise = new Promise<LazyCmpLoadedEvent>((resolve, reject) => {\n (path() as Promise<NgModuleFactory<any> | Type<any>>)\n .then(elementModuleOrFactory => {\n /**\n * With View Engine, the NgModule factory is created and provided when loaded.\n * With Ivy, only the NgModule class is provided loaded and must be compiled.\n * This uses the same mechanism as the deprecated `SystemJsNgModuleLoader` in\n * in `packages/core/src/linker/system_js_ng_module_factory_loader.ts`\n * to pass on the NgModuleFactory, or compile the NgModule and return its NgModuleFactory.\n */\n if (elementModuleOrFactory instanceof NgModuleFactory) {\n return elementModuleOrFactory;\n } else {\n try {\n return this.compiler.compileModuleAsync(elementModuleOrFactory);\n } catch (err) {\n // return the error\n reject(err);\n\n // break the promise chain\n throw err;\n }\n }\n })\n .then(moduleFactory => {\n const elementModuleRef = moduleFactory.create(this.injector);\n let componentClass;\n\n if (typeof elementModuleRef.instance.customElementComponent === 'object') {\n componentClass = elementModuleRef.instance.customElementComponent[componentSelector];\n\n if (!componentClass) {\n // tslint:disable-next-line: no-string-throw\n throw `You specified multiple component elements in module ${elementModuleRef} but there was no match for tag\n ${componentSelector} in ${JSON.stringify(elementModuleRef.instance.customElementComponent)}.\n Make sure the selector in the module is aligned with the one specified in the lazy module definition.`;\n }\n } else {\n componentClass = elementModuleRef.instance.customElementComponent;\n }\n\n // Register injector of the lazy module.\n // This is needed to share the entryComponents between the lazy module and the application\n const moduleInjector = elementModuleRef.injector;\n this.receiveContext(componentClass, moduleInjector);\n\n this.loadedComponents.set(componentSelector, componentClass);\n this.elementsLoading.delete(componentSelector);\n this.componentsToLoad.delete(componentSelector);\n\n resolve({\n selector: componentSelector,\n componentClass\n });\n })\n .catch(err => {\n this.elementsLoading.delete(componentSelector);\n return Promise.reject(err);\n });\n });\n\n this.elementsLoading.set(componentSelector, loadPromise);\n return loadPromise;\n\n } else if (this.loadedComponents.has(componentSelector)) {\n // component already loaded\n return new Promise(resolve => {\n resolve({\n selector: componentSelector,\n componentClass: this.loadedComponents.get(componentSelector)\n });\n });\n } else {\n throw new Error(\n `Unrecognized component \"${componentSelector}\". Make sure it is registered in the component registry`\n );\n }\n }\n}","import {\n Component,\n ComponentFactory,\n ComponentRef,\n OnInit,\n Input,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n ComponentFactoryResolver,\n OnDestroy,\n EventEmitter,\n ElementRef,\n Injector,\n ReflectiveInjector\n} from '@angular/core';\nimport {NgxElementService} from './ngx-element.service';\nimport {merge, Subscription} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'lib-ngx-element',\n template: `\n <ng-template #container></ng-template>\n `,\n styles: []\n})\nexport class NgxElementComponent implements OnInit, OnDestroy {\n\n private ngElementEventsSubscription: Subscription;\n @Input() selector: string;\n @ViewChild('container', {read: ViewContainerRef}) container;\n\n componentRef: ComponentRef<any>;\n componentToLoad: Type<any>;\n componentFactoryResolver: ComponentFactoryResolver;\n injector: Injector;\n refInjector: ReflectiveInjector;\n\n constructor(\n private ngxElementService: NgxElementService,\n private elementRef: ElementRef\n ) {}\n\n /**\n * Subscribe to event emitters of a lazy loaded and dynamically instantiated Angular component\n * and dispatch them as Custom Events on the NgxElementComponent that is used in a template.\n */\n private setProxiedOutputs(factory: ComponentFactory<any>): void {\n const eventEmitters = factory.outputs.map(({propName, templateName}) => {\n const emitter = (this.componentRef.instance as any)[propName] as EventEmitter<any>;\n return emitter.pipe(map((value: any) => ({name: templateName, value})));\n });\n const outputEvents = merge(...eventEmitters);\n this.ngElementEventsSubscription = outputEvents.subscribe(subscription => {\n const customEvent = document.createEvent('CustomEvent');\n customEvent.initCustomEvent(subscription.name, false, false, subscription.value);\n this.elementRef.nativeElement.dispatchEvent(customEvent);\n });\n }\n\n ngOnInit(): void {\n this.ngxElementService.getComponentToLoad(this.selector).subscribe(event => {\n this.componentToLoad = event.componentClass;\n this.componentFactoryResolver = this.ngxElementService.getComponentFactoryResolver(this.componentToLoad);\n this.injector = this.ngxElementService.getInjector(this.componentToLoad);\n\n const attributes = this.getElementAttributes();\n this.createComponent(attributes);\n });\n }\n\n createComponent(attributes) {\n this.container.clear();\n const factory = this.componentFactoryResolver.resolveComponentFactory(this.componentToLoad);\n\n this.refInjector = ReflectiveInjector.resolveAndCreate(\n [{provide: this.componentToLoad, useValue: this.componentToLoad}], this.injector\n );\n this.componentRef = this.container.createComponent(factory, 0, this.refInjector);\n\n this.setAttributes(attributes);\n this.listenToAttributeChanges();\n this.setProxiedOutputs(factory);\n }\n\n setAttributes(attributes) {\n attributes.forEach(attr => {\n this.componentRef.instance[attr.name] = attr.value;\n });\n }\n\n getElementAttributes() {\n const attrs = this.elementRef.nativeElement.attributes;\n const attributes = [];\n\n for (let attr, i = 0; i < attrs.length; i++) {\n attr = attrs[i];\n\n if (attr.nodeName.match('^data-')) {\n attributes.push({\n name: this.camelCaseAttribute(attr.nodeName),\n value: attr.nodeValue\n });\n }\n }\n\n return attributes;\n }\n\n camelCaseAttribute(attribute: string) {\n const attr = attribute.replace('data-', '');\n const chunks = attr.split('-');\n\n if (chunks.length > 1) {\n return chunks[0] + chunks.slice(1).map(chunk => chunk.replace(/^\\w/, c => c.toUpperCase())).join('');\n }\n\n return attr;\n }\n\n listenToAttributeChanges() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type === 'attributes') {\n const attributes = this.getElementAttributes();\n this.setAttributes(attributes);\n }\n });\n });\n\n observer.observe(this.elementRef.nativeElement, {\n attributes: true\n });\n }\n\n ngOnDestroy() {\n this.componentRef.destroy();\n this.ngElementEventsSubscription.unsubscribe();\n }\n}","import { NgModule, Injector, ModuleWithProviders } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { NgxElementComponent } from './ngx-element.component';\nimport { LAZY_CMPS_PATH_TOKEN } from './tokens';\n\n@NgModule({\r\n declarations: [NgxElementComponent]\r\n})\nexport class NgxElementModule {\n\n constructor(private injector: Injector) {\n const ngxElement = createCustomElement(NgxElementComponent, { injector });\n customElements.define('ngx-element', ngxElement);\n }\n\n static forRoot(modulePaths: any[]): ModuleWithProviders<NgxElementModule> {\n return {\n ngModule: NgxElementModule,\n providers: [\n {\n provide: LAZY_CMPS_PATH_TOKEN,\n useValue: modulePaths\n }\n ]\n };\n }\n\n ngDoBootstrap() {}\n}\n","/*\n * Public API Surface of ngx-element\n */\n\nexport * from './lib/ngx-element.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgxElementService"],"mappings":"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"}
1
+ {"version":3,"file":"zdigambar-ngx-element.mjs","sources":["../../../projects/ngx-element/src/lib/tokens.ts","../../../projects/ngx-element/src/lib/ngx-element.service.ts","../../../projects/ngx-element/src/lib/ngx-element.component.ts","../../../projects/ngx-element/src/lib/ngx-element.module.ts","../../../projects/ngx-element/src/public-api.ts","../../../projects/ngx-element/src/zdigambar-ngx-element.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { LoadChildrenCallback } from '@angular/router';\n\n/* Injection token to provide the element path modules. */\nexport const LAZY_CMPS_PATH_TOKEN = new InjectionToken('ngx-lazy-cmp-registry');\n\nexport interface LazyComponentDef {\n selector: string;\n loadChildren: LoadChildrenCallback; // prop needs to be named like this\n}\n","import { Injectable, Inject, NgModuleFactory, Type, Compiler, Injector, ComponentFactoryResolver } from '@angular/core';\nimport { LAZY_CMPS_PATH_TOKEN, LazyComponentDef } from './tokens';\nimport { LazyCmpLoadedEvent } from './lazy-component-loaded-event';\nimport { Observable, from } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxElementService {\n private componentsToLoad: Map<string, LazyComponentDef>;\n private loadedComponents = new Map<string, Type<any>>();\n private elementsLoading = new Map<string, Promise<LazyCmpLoadedEvent>>();\n\n injectors = new Map<Type<any>, Injector>();\n componentFactoryResolvers = new Map<Type<any>, ComponentFactoryResolver>();\n\n constructor(\n @Inject(LAZY_CMPS_PATH_TOKEN)\n modulePaths: {\n selector: string\n }[],\n private compiler: Compiler,\n private injector: Injector\n ) {\n const ELEMENT_MODULE_PATHS = new Map<string, any>();\n modulePaths.forEach(route => {\n ELEMENT_MODULE_PATHS.set(route.selector, route);\n });\n\n this.componentsToLoad = ELEMENT_MODULE_PATHS;\n }\n\n receiveContext(component: Type<any>, injector: Injector) {\n this.injectors.set(component, injector);\n this.componentFactoryResolvers.set(component, injector.get(ComponentFactoryResolver));\n }\n\n getInjector(component: Type<any>): Injector {\n return this.injectors.get(component);\n }\n\n getComponentFactoryResolver(component: Type<any>): ComponentFactoryResolver {\n return this.componentFactoryResolvers.get(component);\n }\n\n getComponentsToLoad() {\n return this.componentsToLoad;\n }\n\n getComponentToLoad(selector: string): Observable<LazyCmpLoadedEvent> {\n // Returns observable that completes when the lazy module has been loaded.\n const registered = this.loadComponent(selector);\n return from(registered);\n }\n\n /**\n * Allows to lazy load a component given its selector.\n * If the component selector has been registered, it's according module\n * will be fetched lazily\n * @param componentTag selector of the component to load\n */\n loadComponent(componentSelector: string): Promise<LazyCmpLoadedEvent> {\n if (this.elementsLoading.has(componentSelector)) {\n return this.elementsLoading.get(componentSelector);\n }\n\n if (this.componentsToLoad.has(componentSelector)) {\n const cmpRegistryEntry = this.componentsToLoad.get(componentSelector);\n const path = cmpRegistryEntry.loadChildren;\n\n const loadPromise = new Promise<LazyCmpLoadedEvent>((resolve, reject) => {\n (path() as Promise<NgModuleFactory<any> | Type<any>>)\n .then(elementModuleOrFactory => {\n /**\n * With View Engine, the NgModule factory is created and provided when loaded.\n * With Ivy, only the NgModule class is provided loaded and must be compiled.\n * This uses the same mechanism as the deprecated `SystemJsNgModuleLoader` in\n * in `packages/core/src/linker/system_js_ng_module_factory_loader.ts`\n * to pass on the NgModuleFactory, or compile the NgModule and return its NgModuleFactory.\n */\n if (elementModuleOrFactory instanceof NgModuleFactory) {\n return elementModuleOrFactory;\n } else {\n try {\n return this.compiler.compileModuleAsync(elementModuleOrFactory);\n } catch (err) {\n // return the error\n reject(err);\n\n // break the promise chain\n throw err;\n }\n }\n })\n .then(moduleFactory => {\n const elementModuleRef = moduleFactory.create(this.injector);\n let componentClass;\n\n if (typeof elementModuleRef.instance.customElementComponent === 'object') {\n componentClass = elementModuleRef.instance.customElementComponent[componentSelector];\n\n if (!componentClass) {\n // tslint:disable-next-line: no-string-throw\n throw `You specified multiple component elements in module ${elementModuleRef} but there was no match for tag\n ${componentSelector} in ${JSON.stringify(elementModuleRef.instance.customElementComponent)}.\n Make sure the selector in the module is aligned with the one specified in the lazy module definition.`;\n }\n } else {\n componentClass = elementModuleRef.instance.customElementComponent;\n }\n\n // Register injector of the lazy module.\n // This is needed to share the entryComponents between the lazy module and the application\n const moduleInjector = elementModuleRef.injector;\n this.receiveContext(componentClass, moduleInjector);\n\n this.loadedComponents.set(componentSelector, componentClass);\n this.elementsLoading.delete(componentSelector);\n this.componentsToLoad.delete(componentSelector);\n\n resolve({\n selector: componentSelector,\n componentClass\n });\n })\n .catch(err => {\n this.elementsLoading.delete(componentSelector);\n return Promise.reject(err);\n });\n });\n\n this.elementsLoading.set(componentSelector, loadPromise);\n return loadPromise;\n\n } else if (this.loadedComponents.has(componentSelector)) {\n // component already loaded\n return new Promise(resolve => {\n resolve({\n selector: componentSelector,\n componentClass: this.loadedComponents.get(componentSelector)\n });\n });\n } else {\n throw new Error(\n `Unrecognized component \"${componentSelector}\". Make sure it is registered in the component registry`\n );\n }\n }\n}","import {\n Component,\n ComponentFactory,\n ComponentRef,\n OnInit,\n Input,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n ComponentFactoryResolver,\n OnDestroy,\n EventEmitter,\n ElementRef,\n Injector,\n ReflectiveInjector\n} from '@angular/core';\nimport {NgxElementService} from './ngx-element.service';\nimport {merge, Subscription} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'lib-ngx-element',\n template: `\n <ng-template #container></ng-template>\n `,\n styles: []\n})\nexport class NgxElementComponent implements OnInit, OnDestroy {\n\n private ngElementEventsSubscription: Subscription;\n @Input() selector: string;\n @ViewChild('container', {read: ViewContainerRef}) container;\n\n componentRef: ComponentRef<any>;\n componentToLoad: Type<any>;\n componentFactoryResolver: ComponentFactoryResolver;\n injector: Injector;\n refInjector: ReflectiveInjector;\n\n constructor(\n private ngxElementService: NgxElementService,\n private elementRef: ElementRef\n ) {}\n\n /**\n * Subscribe to event emitters of a lazy loaded and dynamically instantiated Angular component\n * and dispatch them as Custom Events on the NgxElementComponent that is used in a template.\n */\n private setProxiedOutputs(factory: ComponentFactory<any>): void {\n const eventEmitters = factory.outputs.map(({propName, templateName}) => {\n const emitter = (this.componentRef.instance as any)[propName] as EventEmitter<any>;\n return emitter.pipe(map((value: any) => ({name: templateName, value})));\n });\n const outputEvents = merge(...eventEmitters);\n this.ngElementEventsSubscription = outputEvents.subscribe(subscription => {\n const customEvent = document.createEvent('CustomEvent');\n customEvent.initCustomEvent(subscription.name, false, false, subscription.value);\n this.elementRef.nativeElement.dispatchEvent(customEvent);\n });\n }\n\n ngOnInit(): void {\n this.ngxElementService.getComponentToLoad(this.selector).subscribe(event => {\n this.componentToLoad = event.componentClass;\n this.componentFactoryResolver = this.ngxElementService.getComponentFactoryResolver(this.componentToLoad);\n this.injector = this.ngxElementService.getInjector(this.componentToLoad);\n\n const attributes = this.getElementAttributes();\n this.createComponent(attributes);\n });\n }\n\n createComponent(attributes) {\n this.container.clear();\n const factory = this.componentFactoryResolver.resolveComponentFactory(this.componentToLoad);\n\n this.refInjector = ReflectiveInjector.resolveAndCreate(\n [{provide: this.componentToLoad, useValue: this.componentToLoad}], this.injector\n );\n this.componentRef = this.container.createComponent(factory, 0, this.refInjector);\n\n this.setAttributes(attributes);\n this.listenToAttributeChanges();\n this.setProxiedOutputs(factory);\n }\n\n setAttributes(attributes) {\n attributes.forEach(attr => {\n this.componentRef.instance[attr.name] = attr.value;\n });\n }\n\n getElementAttributes() {\n const attrs = this.elementRef.nativeElement.attributes;\n const attributes = [];\n\n for (let attr, i = 0; i < attrs.length; i++) {\n attr = attrs[i];\n\n if (attr.nodeName.match('^data-')) {\n attributes.push({\n name: this.camelCaseAttribute(attr.nodeName),\n value: attr.nodeValue\n });\n }\n }\n\n return attributes;\n }\n\n camelCaseAttribute(attribute: string) {\n const attr = attribute.replace('data-', '');\n const chunks = attr.split('-');\n\n if (chunks.length > 1) {\n return chunks[0] + chunks.slice(1).map(chunk => chunk.replace(/^\\w/, c => c.toUpperCase())).join('');\n }\n\n return attr;\n }\n\n listenToAttributeChanges() {\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type === 'attributes') {\n const attributes = this.getElementAttributes();\n this.setAttributes(attributes);\n }\n });\n });\n\n observer.observe(this.elementRef.nativeElement, {\n attributes: true\n });\n }\n\n ngOnDestroy() {\n this.componentRef.destroy();\n this.ngElementEventsSubscription.unsubscribe();\n }\n}","import { NgModule, Injector, ModuleWithProviders } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { NgxElementComponent } from './ngx-element.component';\nimport { LAZY_CMPS_PATH_TOKEN } from './tokens';\n\n@NgModule({\r\n declarations: [NgxElementComponent]\r\n})\nexport class NgxElementModule {\n\n constructor(private injector: Injector) {\n const ngxElement = createCustomElement(NgxElementComponent, { injector });\n customElements.define('ngx-element', ngxElement);\n }\n\n static forRoot(modulePaths: any[]): ModuleWithProviders<NgxElementModule> {\n return {\n ngModule: NgxElementModule,\n providers: [\n {\n provide: LAZY_CMPS_PATH_TOKEN,\n useValue: modulePaths\n }\n ]\n };\n }\n\n ngDoBootstrap() {}\n}\n","/*\n * Public API Surface of ngx-element\n */\n\nexport * from './lib/ngx-element.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgxElementService"],"mappings":"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"}
@@ -3,3 +3,4 @@
3
3
  */
4
4
  /// <amd-module name="@zdigambar/ngx-element" />
5
5
  export * from './public-api';
6
+ //# sourceMappingURL=zdigambar-ngx-element.d.ts.map
@@ -3,3 +3,4 @@ export interface LazyCmpLoadedEvent {
3
3
  selector: string;
4
4
  componentClass: Type<any>;
5
5
  }
6
+ //# sourceMappingURL=lazy-component-loaded-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy-component-loaded-event.d.ts","sourceRoot":"","sources":["../../../projects/ngx-element/src/lib/lazy-component-loaded-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;CAC7B"}
@@ -26,5 +26,6 @@ export declare class NgxElementComponent implements OnInit, OnDestroy {
26
26
  listenToAttributeChanges(): void;
27
27
  ngOnDestroy(): void;
28
28
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxElementComponent, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<NgxElementComponent, "lib-ngx-element", never, { "selector": "selector"; }, {}, never, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgxElementComponent, "lib-ngx-element", never, { "selector": "selector"; }, {}, never, never, false, never>;
30
30
  }
31
+ //# sourceMappingURL=ngx-element.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-element.component.d.ts","sourceRoot":"","sources":["../../../projects/ngx-element/src/lib/ngx-element.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,MAAM,EAGN,IAAI,EAGJ,wBAAwB,EACxB,SAAS,EAET,UAAU,EACV,QAAQ,EACR,kBAAkB,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;;AAIxD,qBAOa,mBAAoB,YAAW,MAAM,EAAE,SAAS;IAazD,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,UAAU;IAZpB,OAAO,CAAC,2BAA2B,CAAe;IACzC,QAAQ,EAAE,MAAM,CAAC;IACwB,SAAS,MAAC;IAE5D,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,kBAAkB,CAAC;gBAGtB,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU;IAGhC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAazB,QAAQ,IAAI,IAAI;IAWhB,eAAe,CAAC,UAAU,KAAA;IAc1B,aAAa,CAAC,UAAU,KAAA;IAMxB,oBAAoB;IAkBpB,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAWpC,wBAAwB;IAexB,WAAW;yCA7GA,mBAAmB;2CAAnB,mBAAmB;CAiH/B"}
@@ -10,3 +10,4 @@ export declare class NgxElementModule {
10
10
  static ɵmod: i0.ɵɵNgModuleDeclaration<NgxElementModule, [typeof i1.NgxElementComponent], never, never>;
11
11
  static ɵinj: i0.ɵɵInjectorDeclaration<NgxElementModule>;
12
12
  }
13
+ //# sourceMappingURL=ngx-element.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-element.module.d.ts","sourceRoot":"","sources":["../../../projects/ngx-element/src/lib/ngx-element.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;;;AAKxE,qBAGa,gBAAgB;IAEf,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAKtC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,mBAAmB,CAAC,gBAAgB,CAAC;IAYzE,aAAa;yCAnBF,gBAAgB;0CAAhB,gBAAgB;0CAAhB,gBAAgB;CAoB5B"}
@@ -29,3 +29,4 @@ export declare class NgxElementService {
29
29
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxElementService, never>;
30
30
  static ɵprov: i0.ɵɵInjectableDeclaration<NgxElementService>;
31
31
  }
32
+ //# sourceMappingURL=ngx-element.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-element.service.d.ts","sourceRoot":"","sources":["../../../projects/ngx-element/src/lib/ngx-element.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACxH,OAAO,EAAwB,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAQ,MAAM,MAAM,CAAC;;AAExC,qBAGa,iBAAiB;IAa1B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IAblB,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,eAAe,CAAkD;IAEzE,SAAS,2BAAkC;IAC3C,yBAAyB,2CAAkD;gBAIzE,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM,CAAA;KACjB,EAAE,EACK,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ;IAU5B,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ;IAKvD,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ;IAI3C,2BAA2B,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,wBAAwB;IAI3E,mBAAmB;IAInB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC,kBAAkB,CAAC;IAMpE;;;;;OAKG;IACH,aAAa,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;yCArD1D,iBAAiB;6CAAjB,iBAAiB;CA4I7B"}
package/lib/tokens.d.ts CHANGED
@@ -5,3 +5,4 @@ export interface LazyComponentDef {
5
5
  selector: string;
6
6
  loadChildren: LoadChildrenCallback;
7
7
  }
8
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../projects/ngx-element/src/lib/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGvD,eAAO,MAAM,oBAAoB,yBAA8C,CAAC;AAEhF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,oBAAoB,CAAC;CACpC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zdigambar/ngx-element",
3
- "version": "4.0.0",
3
+ "version": "6.0.0",
4
4
  "description": "A simple way to lazy load Angular components in non-angular projects",
5
5
  "author": "Digambar Zurkale",
6
6
  "repository": {
@@ -22,22 +22,22 @@
22
22
  ],
23
23
  "licence": "MIT",
24
24
  "peerDependencies": {
25
- "@angular/common": "~13.4.0",
26
- "@angular/core": "~13.4.0",
27
- "@angular/elements": "~13.4.0"
25
+ "@angular/common": "~15.2.10",
26
+ "@angular/core": "~15.2.10",
27
+ "@angular/elements": "~15.2.10"
28
28
  },
29
29
  "module": "fesm2015/zdigambar-ngx-element.mjs",
30
30
  "es2020": "fesm2020/zdigambar-ngx-element.mjs",
31
31
  "esm2020": "esm2020/zdigambar-ngx-element.mjs",
32
32
  "fesm2020": "fesm2020/zdigambar-ngx-element.mjs",
33
33
  "fesm2015": "fesm2015/zdigambar-ngx-element.mjs",
34
- "typings": "zdigambar-ngx-element.d.ts",
34
+ "typings": "index.d.ts",
35
35
  "exports": {
36
36
  "./package.json": {
37
37
  "default": "./package.json"
38
38
  },
39
39
  ".": {
40
- "types": "./zdigambar-ngx-element.d.ts",
40
+ "types": "./index.d.ts",
41
41
  "esm2020": "./esm2020/zdigambar-ngx-element.mjs",
42
42
  "es2020": "./fesm2020/zdigambar-ngx-element.mjs",
43
43
  "es2015": "./fesm2015/zdigambar-ngx-element.mjs",
package/public-api.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export * from './lib/ngx-element.module';
2
+ //# sourceMappingURL=public-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../projects/ngx-element/src/public-api.ts"],"names":[],"mappings":"AAIA,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zdigambar-ngx-element.d.ts","sourceRoot":"","sources":["../../projects/ngx-element/src/zdigambar-ngx-element.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,cAAc,CAAC"}