@tinkoff/ng-polymorpheus
Advanced tools
Comparing version 4.2.0 to 4.3.0
@@ -599,8 +599,6 @@ (function (global, factory) { | ||
PolymorpheusOutletDirective.prototype.ngOnChanges = function (_b) { | ||
var _this = this; | ||
var content = _b.content; | ||
var _a; | ||
var context = this.getContext(); | ||
if (this.v) { | ||
this.v.context = context; | ||
} | ||
(_a = this.c) === null || _a === void 0 ? void 0 : _a.injector.get(i0.ChangeDetectorRef).markForCheck(); | ||
@@ -611,4 +609,8 @@ if (!content) { | ||
this.vcr.clear(); | ||
var proxy = context && | ||
new Proxy(context, { | ||
get: function (_, key) { var _a; return (_a = _this.getContext()) === null || _a === void 0 ? void 0 : _a[key]; }, | ||
}); | ||
if (isComponent(this.content)) { | ||
this.process(this.content); | ||
this.process(this.content, proxy); | ||
} | ||
@@ -618,3 +620,3 @@ else if ( | ||
(context instanceof PolymorpheusContext && context.$implicit) != null) { | ||
this.v = this.vcr.createEmbeddedView(this.template, context); | ||
this.vcr.createEmbeddedView(this.template, proxy); | ||
} | ||
@@ -638,8 +640,4 @@ }; | ||
}; | ||
PolymorpheusOutletDirective.prototype.process = function (content) { | ||
var _this = this; | ||
var injector = content.createInjector(this.i, this.context && | ||
new Proxy(this.context, { | ||
get: function (_, key) { var _a; return (_a = _this.context) === null || _a === void 0 ? void 0 : _a[key]; }, | ||
})); | ||
PolymorpheusOutletDirective.prototype.process = function (content, proxy) { | ||
var injector = content.createInjector(this.i, proxy); | ||
this.c = this.vcr.createComponent(injector | ||
@@ -646,0 +644,0 @@ .get(i0.ComponentFactoryResolver) |
@@ -10,3 +10,2 @@ import { DoCheck, Injector, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core'; | ||
private readonly t; | ||
private v?; | ||
private c?; | ||
@@ -13,0 +12,0 @@ content: PolymorpheusContent<C>; |
@@ -28,2 +28,2 @@ import { Injector } from '@angular/core'; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcG9seW1vcnBoZXVzL3NyYy9jbGFzc2VzL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFPLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRXZEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFlBQXFCLFNBQWtCLEVBQW1CLENBQW1CO1FBQXhELGNBQVMsR0FBVCxTQUFTLENBQVM7UUFBbUIsTUFBQyxHQUFELENBQUMsQ0FBa0I7SUFBRyxDQUFDO0lBRWpGLGNBQWMsQ0FBSSxRQUFrQixFQUFFLFFBQVk7UUFDOUMsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLFFBQVE7WUFDMUIsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxvQkFBb0I7b0JBQzdCLFFBQVE7aUJBQ1g7YUFDSjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3IsIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQT0xZTU9SUEhFVVNfQ09OVEVYVH0gZnJvbSAnLi4vdG9rZW5zL2NvbnRleHQnO1xuXG4vKipcbiAqIFdyYXBwZXIgY2xhc3MgZm9yIGEgY29tcG9uZW50IHRoYXQgd2lsbCBiZSB1c2VkIGFzIGNvbnRlbnQgZm9yIHtAbGluayBQb2x5bW9ycGhldXNPdXRsZXREaXJlY3RpdmV9XG4gKlxuICogQHBhcmFtIGNvbXBvbmVudCDigJQgYW4gQW5ndWxhciBjb21wb25lbnQgdG8gYmUgZHluYW1pY2FsbHkgY3JlYXRlZFxuICogQHBhcmFtIGluamVjdG9yIOKAlCBvcHRpb25hbCB7QGxpbmsgSW5qZWN0b3J9IGZvciBsYXp5IGxvYWRlZCBtb2R1bGUgY2FzZVxuICpcbiAqIFRPRE86IFJlbW92ZSBzZWNvbmQgZ2VuZXJpYyBhcyBpdCBpcyBpcnJlbGV2YW50LCByZW1vdmUgYG51bGxgIGZyb20gaW5qZWN0b3IgdHlwZVxuICovXG5leHBvcnQgY2xhc3MgUG9seW1vcnBoZXVzQ29tcG9uZW50PFQsIF9DID0gYW55PiB7XG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29tcG9uZW50OiBUeXBlPFQ+LCBwcml2YXRlIHJlYWRvbmx5IGk/OiBJbmplY3RvciB8IG51bGwpIHt9XG5cbiAgICBjcmVhdGVJbmplY3RvcjxDPihpbmplY3RvcjogSW5qZWN0b3IsIHVzZVZhbHVlPzogQyk6IEluamVjdG9yIHtcbiAgICAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuaSB8fCBpbmplY3RvcixcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogUE9MWU1PUlBIRVVTX0NPTlRFWFQsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcG9seW1vcnBoZXVzL3NyYy9jbGFzc2VzL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFPLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRXZEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFlBQ2EsU0FBa0IsRUFDVixDQUFtQjtRQUQzQixjQUFTLEdBQVQsU0FBUyxDQUFTO1FBQ1YsTUFBQyxHQUFELENBQUMsQ0FBa0I7SUFDckMsQ0FBQztJQUVKLGNBQWMsQ0FBSSxRQUFrQixFQUFFLFFBQVk7UUFDOUMsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLFFBQVE7WUFDMUIsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxvQkFBb0I7b0JBQzdCLFFBQVE7aUJBQ1g7YUFDSjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3IsIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQT0xZTU9SUEhFVVNfQ09OVEVYVH0gZnJvbSAnLi4vdG9rZW5zL2NvbnRleHQnO1xuXG4vKipcbiAqIFdyYXBwZXIgY2xhc3MgZm9yIGEgY29tcG9uZW50IHRoYXQgd2lsbCBiZSB1c2VkIGFzIGNvbnRlbnQgZm9yIHtAbGluayBQb2x5bW9ycGhldXNPdXRsZXREaXJlY3RpdmV9XG4gKlxuICogQHBhcmFtIGNvbXBvbmVudCDigJQgYW4gQW5ndWxhciBjb21wb25lbnQgdG8gYmUgZHluYW1pY2FsbHkgY3JlYXRlZFxuICogQHBhcmFtIGluamVjdG9yIOKAlCBvcHRpb25hbCB7QGxpbmsgSW5qZWN0b3J9IGZvciBsYXp5IGxvYWRlZCBtb2R1bGUgY2FzZVxuICpcbiAqIFRPRE86IFJlbW92ZSBzZWNvbmQgZ2VuZXJpYyBhcyBpdCBpcyBpcnJlbGV2YW50LCByZW1vdmUgYG51bGxgIGZyb20gaW5qZWN0b3IgdHlwZVxuICovXG5leHBvcnQgY2xhc3MgUG9seW1vcnBoZXVzQ29tcG9uZW50PFQsIF9DID0gYW55PiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IGNvbXBvbmVudDogVHlwZTxUPixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpPzogSW5qZWN0b3IgfCBudWxsLFxuICAgICkge31cblxuICAgIGNyZWF0ZUluamVjdG9yPEM+KGluamVjdG9yOiBJbmplY3RvciwgdXNlVmFsdWU/OiBDKTogSW5qZWN0b3Ige1xuICAgICAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pIHx8IGluamVjdG9yLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBQT0xZTU9SUEhFVVNfQ09OVEVYVCxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ== |
@@ -22,5 +22,2 @@ import { ChangeDetectorRef, ComponentFactoryResolver, Directive, TemplateRef, } from '@angular/core'; | ||
const context = this.getContext(); | ||
if (this.v) { | ||
this.v.context = context; | ||
} | ||
(_a = this.c) === null || _a === void 0 ? void 0 : _a.injector.get(ChangeDetectorRef).markForCheck(); | ||
@@ -31,4 +28,8 @@ if (!content) { | ||
this.vcr.clear(); | ||
const proxy = context && | ||
new Proxy(context, { | ||
get: (_, key) => { var _a; return (_a = this.getContext()) === null || _a === void 0 ? void 0 : _a[key]; }, | ||
}); | ||
if (isComponent(this.content)) { | ||
this.process(this.content); | ||
this.process(this.content, proxy); | ||
} | ||
@@ -38,3 +39,3 @@ else if ( | ||
(context instanceof PolymorpheusContext && context.$implicit) != null) { | ||
this.v = this.vcr.createEmbeddedView(this.template, context); | ||
this.vcr.createEmbeddedView(this.template, proxy); | ||
} | ||
@@ -58,7 +59,4 @@ } | ||
} | ||
process(content) { | ||
const injector = content.createInjector(this.i, this.context && | ||
new Proxy(this.context, { | ||
get: (_, key) => { var _a; return (_a = this.context) === null || _a === void 0 ? void 0 : _a[key]; }, | ||
})); | ||
process(content, proxy) { | ||
const injector = content.createInjector(this.i, proxy); | ||
this.c = this.vcr.createComponent(injector | ||
@@ -87,2 +85,2 @@ .get(ComponentFactoryResolver) | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcG9seW1vcnBoZXVzL3NyYy9kaXJlY3RpdmVzL291dGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUV4QixTQUFTLEVBTVQsV0FBVyxHQUVkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBR3ZELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFlBQVksQ0FBQzs7QUFNaEQsTUFBTSxPQUFPLDJCQUEyQjtJQU9wQyxZQUNxQixHQUFxQixFQUNyQixDQUFXLEVBQ1gsQ0FBMEQ7UUFGMUQsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsTUFBQyxHQUFELENBQUMsQ0FBVTtRQUNYLE1BQUMsR0FBRCxDQUFDLENBQXlEO1FBTi9FLFlBQU8sR0FBMkIsRUFBRSxDQUFDO0lBT2xDLENBQUM7SUFFSixJQUFZLFFBQVE7UUFDaEIsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzNCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDaEM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLFlBQVksV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBQyxPQUFPLEVBQWdCOztRQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ1IsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcs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ZXRlY3RvclJlZixcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBEb0NoZWNrLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBJbmplY3RvcixcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29tcG9uZW50fSBmcm9tICcuLi9jbGFzc2VzL2NvbXBvbmVudCc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRleHR9IGZyb20gJy4uL2NsYXNzZXMvY29udGV4dCc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJy4uL3R5cGVzL2NvbnRlbnQnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNQcmltaXRpdmV9IGZyb20gJy4uL3R5cGVzL3ByaW1pdGl2ZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c1RlbXBsYXRlfSBmcm9tICcuL3RlbXBsYXRlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcG9seW1vcnBoZXVzT3V0bGV0XScsXG4gICAgaW5wdXRzOiBbJ2NvbnRlbnQ6IHBvbHltb3JwaGV1c091dGxldCcsICdjb250ZXh0OiBwb2x5bW9ycGhldXNPdXRsZXRDb250ZXh0J10sXG59KVxuZXhwb3J0IGNsYXNzIFBvbHltb3JwaGV1c091dGxldERpcmVjdGl2ZTxDPiBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgRG9DaGVjayB7XG4gICAgcHJpdmF0ZSB2PzogRW1iZWRkZWRWaWV3UmVmPHVua25vd24+O1xuICAgIHByaXZhdGUgYz86IENvbXBvbmVudFJlZjx1bmtub3duPjtcblxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8Qz4gPSAnJztcbiAgICBjb250ZXh0PzogQztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHZjcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0OiBUZW1wbGF0ZVJlZjxQb2x5bW9ycGhldXNDb250ZXh0PFBvbHltb3JwaGV1c1ByaW1pdGl2ZT4+LFxuICAgICkge31cblxuICAgIHByaXZhdGUgZ2V0IHRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICAgICAgaWYgKGlzRGlyZWN0aXZlKHRoaXMuY29udGVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnQudGVtcGxhdGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYgPyB0aGlzLmNvbnRlbnQgOiB0aGlzLnQ7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoe2NvbnRlbnR9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcblxuICAgICAgICBpZiAodGhpcy52KSB7XG4gICAgICAgICAgICB0aGlzLnYuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmM/LmluamVjdG9yLmdldChDaGFuZ2VEZXRlY3RvclJlZikubWFya0ZvckNoZWNrKCk7XG5cbiAgICAgICAgaWYgKCFjb250ZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZjci5jbGVhcigpO1xuXG4gICAgICAgIGlmIChpc0NvbXBvbmVudCh0aGlzLmNvbnRlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3ModGhpcy5jb250ZW50KTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp0cmlwbGUtZXF1YWxzXG4gICAgICAgICAgICAoY29udGV4dCBpbnN0YW5jZW9mIFBvbHltb3JwaGV1c0NvbnRleHQgJiYgY29udGV4dC4kaW1wbGljaXQpICE9IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnYgPSB0aGlzLnZjci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZSwgY29udGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0RvQ2hlY2soKSB7XG4gICAgICAgIGlmIChpc0RpcmVjdGl2ZSh0aGlzLmNvbnRlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQuY2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KFxuICAgICAgICBfZGlyOiBQb2x5bW9ycGhldXNPdXRsZXREaXJlY3RpdmU8VD4sXG4gICAgICAgIF9jdHg6IGFueSxcbiAgICApOiBfY3R4IGlzIFBvbHltb3JwaGV1c0NvbnRleHQ8VCBleHRlbmRzIFBvbHltb3JwaGV1c1ByaW1pdGl2ZSA/IFQgOiBuZXZlcj4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbnRleHQoKTogdW5rbm93biB7XG4gICAgICAgIGlmIChpc1RlbXBsYXRlKHRoaXMuY29udGVudCkgfHwgaXNDb21wb25lbnQodGhpcy5jb250ZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgUG9seW1vcnBoZXVzQ29udGV4dChcbiAgICAgICAgICAgIHR5cGVvZiB0aGlzLmNvbnRlbnQgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICA/IHRoaXMuY29udGVudCh0aGlzLmNvbnRleHQhKVxuICAgICAgICAgICAgICAgIDogdGhpcy5jb250ZW50LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzcyhjb250ZW50OiBQb2x5bW9ycGhldXNDb21wb25lbnQ8dW5rbm93bj4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBjb250ZW50LmNyZWF0ZUluamVjdG9yKFxuICAgICAgICAgICAgdGhpcy5pLFxuICAgICAgICAgICAgdGhpcy5jb250ZXh0ICYmXG4gICAgICAgICAgICAgICAgKG5ldyBQcm94eSh0aGlzLmNvbnRleHQgYXMgdW5rbm93biBhcyBvYmplY3QsIHtcbiAgICAgICAgICAgICAgICAgICAgZ2V0OiAoXywga2V5KSA9PiB0aGlzLmNvbnRleHQ/LltrZXkgYXMga2V5b2YgQ10sXG4gICAgICAgICAgICAgICAgfSkgYXMgdW5rbm93biBhcyBDKSxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmMgPSB0aGlzLnZjci5jcmVhdGVDb21wb25lbnQoXG4gICAgICAgICAgICBpbmplY3RvclxuICAgICAgICAgICAgICAgIC5nZXQoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKVxuICAgICAgICAgICAgICAgIC5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb250ZW50LmNvbXBvbmVudCksXG4gICAgICAgICAgICAwLFxuICAgICAgICAgICAgaW5qZWN0b3IsXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBpc0RpcmVjdGl2ZTxDPihcbiAgICBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PEM+LFxuKTogY29udGVudCBpcyBQb2x5bW9ycGhldXNUZW1wbGF0ZTxDPiB7XG4gICAgcmV0dXJuIGNvbnRlbnQgaW5zdGFuY2VvZiBQb2x5bW9ycGhldXNUZW1wbGF0ZTtcbn1cblxuZnVuY3Rpb24gaXNDb21wb25lbnQ8Qz4oXG4gICAgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxDPixcbik6IGNvbnRlbnQgaXMgUG9seW1vcnBoZXVzQ29tcG9uZW50PGFueSwgQz4ge1xuICAgIHJldHVybiBjb250ZW50IGluc3RhbmNlb2YgUG9seW1vcnBoZXVzQ29tcG9uZW50O1xufVxuXG5mdW5jdGlvbiBpc1RlbXBsYXRlPEM+KFxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8Qz4sXG4pOiBjb250ZW50IGlzIFBvbHltb3JwaGV1c1RlbXBsYXRlPEM+IHwgVGVtcGxhdGVSZWY8Qz4ge1xuICAgIHJldHVybiBpc0RpcmVjdGl2ZShjb250ZW50KSB8fCBjb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcG9seW1vcnBoZXVzL3NyYy9kaXJlY3RpdmVzL291dGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUV4QixTQUFTLEVBS1QsV0FBVyxHQUVkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBR3ZELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFlBQVksQ0FBQzs7QUFNaEQsTUFBTSxPQUFPLDJCQUEyQjtJQU1wQyxZQUNxQixHQUFxQixFQUNyQixDQUFXLEVBQ1gsQ0FBMEQ7UUFGMUQsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsTUFBQyxHQUFELENBQUMsQ0FBVTtRQUNYLE1BQUMsR0FBRCxDQUFDLENBQXlEO1FBTi9FLFlBQU8sR0FBMkIsRUFBRSxDQUFDO0lBT2xDLENBQUM7SUFFSixJQUFZLFFBQVE7UUFDaEIsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzNCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDaEM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLFlBQVksV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBQyxPQUFPLEVBQWdCOztRQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEMsTUFBQSxJQUFJLENBQUMsQ0FBQywwQ0FBRSxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLFlBQVksRUFBRSxDQUFDO1FBRXZELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWpCLE1BQU0sS0FBSyxHQUNQLE9BQU87WUFDTixJQUFJLEtBQUssQ0FBQyxPQUFpQixFQUFFO2dCQUMxQixHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsV0FDWixPQUFBLE1BQUEsSUFBSSxDQUFDLFVBQVUsRUFBRSwwQ0FBRyxHQUEyQyxDQUFDLENBQUEsRUFBQTthQUN2RSxDQUFrQixDQUFDO1FBRXhCLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDckM7YUFBTTtRQUNILHlDQUF5QztRQUN6QyxDQUFDLE9BQU8sWUFBWSxtQkFBbUIsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxFQUN2RTtZQUNFLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNyRDtJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUN6QixJQUFvQyxFQUNwQyxJQUFTO1FBRVQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVPLFVBQVU7UUFDZCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN2RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDdkI7UUFFRCxPQUFPLElBQUksbUJBQW1CLENBQzFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxVQUFVO1lBQzlCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFRLENBQUM7WUFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQ3JCLENBQUM7SUFDTixDQUFDO0lBRU8sT0FBTyxDQUFDLE9BQXVDLEVBQUUsS0FBUztRQUM5RCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FDN0IsUUFBUTthQUNILEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQzthQUM3Qix1QkFBdUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQy9DLENBQUMsRUFDRCxRQUFRLENBQ1gsQ0FBQztJQUNOLENBQUM7OzRJQW5GUSwyQkFBMkI7Z0lBQTNCLDJCQUEyQjs0RkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLE1BQU0sRUFBRSxDQUFDLDZCQUE2QixFQUFFLG9DQUFvQyxDQUFDO2lCQUNoRjs7QUF1RkQsU0FBUyxXQUFXLENBQ2hCLE9BQStCO0lBRS9CLE9BQU8sT0FBTyxZQUFZLG9CQUFvQixDQUFDO0FBQ25ELENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FDaEIsT0FBK0I7SUFFL0IsT0FBTyxPQUFPLFlBQVkscUJBQXFCLENBQUM7QUFDcEQsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUNmLE9BQStCO0lBRS9CLE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE9BQU8sWUFBWSxXQUFXLENBQUM7QUFDbEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIENvbXBvbmVudFJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRG9DaGVjayxcbiAgICBJbmplY3RvcixcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29tcG9uZW50fSBmcm9tICcuLi9jbGFzc2VzL2NvbXBvbmVudCc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRleHR9IGZyb20gJy4uL2NsYXNzZXMvY29udGV4dCc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJy4uL3R5cGVzL2NvbnRlbnQnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNQcmltaXRpdmV9IGZyb20gJy4uL3R5cGVzL3ByaW1pdGl2ZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c1RlbXBsYXRlfSBmcm9tICcuL3RlbXBsYXRlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcG9seW1vcnBoZXVzT3V0bGV0XScsXG4gICAgaW5wdXRzOiBbJ2NvbnRlbnQ6IHBvbHltb3JwaGV1c091dGxldCcsICdjb250ZXh0OiBwb2x5bW9ycGhldXNPdXRsZXRDb250ZXh0J10sXG59KVxuZXhwb3J0IGNsYXNzIFBvbHltb3JwaGV1c091dGxldERpcmVjdGl2ZTxDPiBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgRG9DaGVjayB7XG4gICAgcHJpdmF0ZSBjPzogQ29tcG9uZW50UmVmPHVua25vd24+O1xuXG4gICAgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxDPiA9ICcnO1xuICAgIGNvbnRleHQ/OiBDO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdmNyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGk6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHQ6IFRlbXBsYXRlUmVmPFBvbHltb3JwaGV1c0NvbnRleHQ8UG9seW1vcnBoZXVzUHJpbWl0aXZlPj4sXG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSBnZXQgdGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgICAgICBpZiAoaXNEaXJlY3RpdmUodGhpcy5jb250ZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudC50ZW1wbGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZiA/IHRoaXMuY29udGVudCA6IHRoaXMudDtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyh7Y29udGVudH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpO1xuXG4gICAgICAgIHRoaXMuYz8uaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKS5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgICBpZiAoIWNvbnRlbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmNyLmNsZWFyKCk7XG5cbiAgICAgICAgY29uc3QgcHJveHkgPVxuICAgICAgICAgICAgY29udGV4dCAmJlxuICAgICAgICAgICAgKG5ldyBQcm94eShjb250ZXh0IGFzIG9iamVjdCwge1xuICAgICAgICAgICAgICAgIGdldDogKF8sIGtleSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRDb250ZXh0KCk/LltrZXkgYXMga2V5b2YgKEMgfCBQb2x5bW9ycGhldXNDb250ZXh0PGFueT4pXSxcbiAgICAgICAgICAgIH0pIGFzIHVua25vd24gYXMgQyk7XG5cbiAgICAgICAgaWYgKGlzQ29tcG9uZW50KHRoaXMuY29udGVudCkpIHtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzcyh0aGlzLmNvbnRlbnQsIHByb3h5KTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp0cmlwbGUtZXF1YWxzXG4gICAgICAgICAgICAoY29udGV4dCBpbnN0YW5jZW9mIFBvbHltb3JwaGV1c0NvbnRleHQgJiYgY29udGV4dC4kaW1wbGljaXQpICE9IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnZjci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZSwgcHJveHkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICBpZiAoaXNEaXJlY3RpdmUodGhpcy5jb250ZW50KSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50LmNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxUPihcbiAgICAgICAgX2RpcjogUG9seW1vcnBoZXVzT3V0bGV0RGlyZWN0aXZlPFQ+LFxuICAgICAgICBfY3R4OiBhbnksXG4gICAgKTogX2N0eCBpcyBQb2x5bW9ycGhldXNDb250ZXh0PFQgZXh0ZW5kcyBQb2x5bW9ycGhldXNQcmltaXRpdmUgPyBUIDogbmV2ZXI+IHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb250ZXh0KCk6IEMgfCB1bmRlZmluZWQgfCBQb2x5bW9ycGhldXNDb250ZXh0PGFueT4ge1xuICAgICAgICBpZiAoaXNUZW1wbGF0ZSh0aGlzLmNvbnRlbnQpIHx8IGlzQ29tcG9uZW50KHRoaXMuY29udGVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IFBvbHltb3JwaGV1c0NvbnRleHQoXG4gICAgICAgICAgICB0eXBlb2YgdGhpcy5jb250ZW50ID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgPyB0aGlzLmNvbnRlbnQodGhpcy5jb250ZXh0ISlcbiAgICAgICAgICAgICAgICA6IHRoaXMuY29udGVudCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3MoY29udGVudDogUG9seW1vcnBoZXVzQ29tcG9uZW50PHVua25vd24+LCBwcm94eT86IEMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBjb250ZW50LmNyZWF0ZUluamVjdG9yKHRoaXMuaSwgcHJveHkpO1xuXG4gICAgICAgIHRoaXMuYyA9IHRoaXMudmNyLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgICAgICAgIGluamVjdG9yXG4gICAgICAgICAgICAgICAgLmdldChDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpXG4gICAgICAgICAgICAgICAgLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbnRlbnQuY29tcG9uZW50KSxcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgICBpbmplY3RvcixcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGlzRGlyZWN0aXZlPEM+KFxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8Qz4sXG4pOiBjb250ZW50IGlzIFBvbHltb3JwaGV1c1RlbXBsYXRlPEM+IHtcbiAgICByZXR1cm4gY29udGVudCBpbnN0YW5jZW9mIFBvbHltb3JwaGV1c1RlbXBsYXRlO1xufVxuXG5mdW5jdGlvbiBpc0NvbXBvbmVudDxDPihcbiAgICBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PEM+LFxuKTogY29udGVudCBpcyBQb2x5bW9ycGhldXNDb21wb25lbnQ8YW55LCBDPiB7XG4gICAgcmV0dXJuIGNvbnRlbnQgaW5zdGFuY2VvZiBQb2x5bW9ycGhldXNDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIGlzVGVtcGxhdGU8Qz4oXG4gICAgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxDPixcbik6IGNvbnRlbnQgaXMgUG9seW1vcnBoZXVzVGVtcGxhdGU8Qz4gfCBUZW1wbGF0ZVJlZjxDPiB7XG4gICAgcmV0dXJuIGlzRGlyZWN0aXZlKGNvbnRlbnQpIHx8IGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcbn1cbiJdfQ== |
@@ -96,5 +96,2 @@ import * as i0 from '@angular/core'; | ||
const context = this.getContext(); | ||
if (this.v) { | ||
this.v.context = context; | ||
} | ||
(_a = this.c) === null || _a === void 0 ? void 0 : _a.injector.get(ChangeDetectorRef).markForCheck(); | ||
@@ -105,4 +102,8 @@ if (!content) { | ||
this.vcr.clear(); | ||
const proxy = context && | ||
new Proxy(context, { | ||
get: (_, key) => { var _a; return (_a = this.getContext()) === null || _a === void 0 ? void 0 : _a[key]; }, | ||
}); | ||
if (isComponent(this.content)) { | ||
this.process(this.content); | ||
this.process(this.content, proxy); | ||
} | ||
@@ -112,3 +113,3 @@ else if ( | ||
(context instanceof PolymorpheusContext && context.$implicit) != null) { | ||
this.v = this.vcr.createEmbeddedView(this.template, context); | ||
this.vcr.createEmbeddedView(this.template, proxy); | ||
} | ||
@@ -132,7 +133,4 @@ } | ||
} | ||
process(content) { | ||
const injector = content.createInjector(this.i, this.context && | ||
new Proxy(this.context, { | ||
get: (_, key) => { var _a; return (_a = this.context) === null || _a === void 0 ? void 0 : _a[key]; }, | ||
})); | ||
process(content, proxy) { | ||
const injector = content.createInjector(this.i, proxy); | ||
this.c = this.vcr.createComponent(injector | ||
@@ -139,0 +137,0 @@ .get(ComponentFactoryResolver) |
{ | ||
"name": "@tinkoff/ng-polymorpheus", | ||
"version": "4.2.0", | ||
"peerDependencies": { | ||
"@angular/core": ">=12.0.0", | ||
"@angular/platform-browser": ">=12.0.0" | ||
}, | ||
"version": "4.3.0", | ||
"description": "This is a tiny library for customizing components appearance", | ||
@@ -23,3 +19,13 @@ "keywords": [ | ||
], | ||
"homepage": "https://github.com/taiga-family/ng-polymorpheus#README", | ||
"bugs": "https://github.com/taiga-family/ng-polymorpheus/issues", | ||
"repository": "https://github.com/taiga-family/ng-polymorpheus", | ||
"license": "Apache-2.0", | ||
"dependencies": { | ||
"tslib": "2.6.2" | ||
}, | ||
"peerDependencies": { | ||
"@angular/core": ">=12.0.0", | ||
"@angular/platform-browser": ">=12.0.0" | ||
}, | ||
"authors": [ | ||
@@ -29,8 +35,2 @@ "Roman Sedov <r.sedov@tinkoff.ru>", | ||
], | ||
"repository": "https://github.com/taiga-family/ng-polymorpheus", | ||
"bugs": "https://github.com/taiga-family/ng-polymorpheus/issues", | ||
"dependencies": { | ||
"tslib": "2.6.2" | ||
}, | ||
"homepage": "https://github.com/taiga-family/ng-polymorpheus#README", | ||
"main": "bundles/tinkoff-ng-polymorpheus.umd.js", | ||
@@ -37,0 +37,0 @@ "module": "fesm2015/tinkoff-ng-polymorpheus.js", |
@@ -17,5 +17,3 @@ # Polymorpheus | ||
```html | ||
<ng-container *polymorpheusOutlet="content as text; context: context"> | ||
{{text}} | ||
</ng-container> | ||
<ng-container *polymorpheusOutlet="content as text; context: context">{{text}}</ng-container> | ||
``` | ||
@@ -25,6 +23,6 @@ | ||
- primitives like `number` or `string` | ||
- functions that take `context` as argument and return a primitive | ||
- templates that get instantiated with given `context` | ||
- components that would get `context` injected through DI | ||
- primitives like `number` or `string` | ||
- functions that take `context` as argument and return a primitive | ||
- templates that get instantiated with given `context` | ||
- components that would get `context` injected through DI | ||
@@ -35,9 +33,9 @@ **Context** is optional when you need your **content** to adapt to the situation | ||
Typical use case would be a component that accepts visual customization and defines | ||
context by itself. Say a menu list where you can configure how each item should look | ||
like by passing a template. And context would be item itself and, for example, | ||
whether it is focused or not. | ||
Typical use case would be a component that accepts visual customization and defines context by itself. Say a menu list | ||
where you can configure how each item should look like by passing a template. And context would be item itself and, for | ||
example, whether it is focused or not. | ||
Please see [extensive demo](https://codesandbox.io/s/github/taiga-family/ng-polymorpheus/tree/master/projects/demo). | ||
You can also [read about this concept in detail](https://blog.angularindepth.com/agnostic-components-in-angular-2427923b742d). | ||
You can also | ||
[read about this concept in detail](https://blog.angularindepth.com/agnostic-components-in-angular-2427923b742d). |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
153271
1164
39