UNPKG

ng-dynamic-component

Version:

> Dynamic components with full life-cycle support for inputs and outputs

41 lines 4.39 kB
import { Directive, Host } from '@angular/core'; import { DynamicComponentInjectorToken, } from '../component-injector'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; /** * @public */ export class ComponentOutletInjectorDirective { constructor(componentOutlet) { this.componentOutlet = componentOutlet; } get componentRef() { // NOTE: Accessing private APIs of Angular return this.componentOutlet._componentRef; } } /** @nocollapse */ ComponentOutletInjectorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ComponentOutletInjectorDirective, deps: [{ token: i1.NgComponentOutlet, host: true }], target: i0.ɵɵFactoryTarget.Directive }); /** @nocollapse */ ComponentOutletInjectorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: ComponentOutletInjectorDirective, isStandalone: true, selector: "[ngComponentOutlet]", providers: [ { provide: DynamicComponentInjectorToken, useExisting: ComponentOutletInjectorDirective, }, ], exportAs: ["ndcComponentOutletInjector"], ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ComponentOutletInjectorDirective, decorators: [{ type: Directive, args: [{ // eslint-disable-next-line @angular-eslint/directive-selector selector: '[ngComponentOutlet]', exportAs: 'ndcComponentOutletInjector', standalone: true, providers: [ { provide: DynamicComponentInjectorToken, useExisting: ComponentOutletInjectorDirective, }, ], }] }], ctorParameters: function () { return [{ type: i1.NgComponentOutlet, decorators: [{ type: Host }] }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LW91dGxldC1pbmplY3Rvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1keW5hbWljLWNvbXBvbmVudC9zcmMvbGliL2NvbXBvbmVudC1vdXRsZXQvY29tcG9uZW50LW91dGxldC1pbmplY3Rvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFnQixTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFFTCw2QkFBNkIsR0FDOUIsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBRS9COztHQUVHO0FBYUgsTUFBTSxPQUFPLGdDQUFnQztJQVEzQyxZQUE0QixlQUFrQztRQUFsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7SUFBRyxDQUFDO0lBTGxFLElBQUksWUFBWTtRQUNkLDBDQUEwQztRQUMxQyxPQUFRLElBQUksQ0FBQyxlQUF1QixDQUFDLGFBQWEsQ0FBQztJQUNyRCxDQUFDOztnSkFOVSxnQ0FBZ0M7b0lBQWhDLGdDQUFnQyxrRUFQaEM7UUFDVDtZQUNFLE9BQU8sRUFBRSw2QkFBNkI7WUFDdEMsV0FBVyxFQUFFLGdDQUFnQztTQUM5QztLQUNGOzJGQUVVLGdDQUFnQztrQkFaNUMsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDZCQUE2Qjs0QkFDdEMsV0FBVyxrQ0FBa0M7eUJBQzlDO3FCQUNGO2lCQUNGOzswQkFTYyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDb21wb25lbnRPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBEaXJlY3RpdmUsIEhvc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgRHluYW1pY0NvbXBvbmVudEluamVjdG9yLFxuICBEeW5hbWljQ29tcG9uZW50SW5qZWN0b3JUb2tlbixcbn0gZnJvbSAnLi4vY29tcG9uZW50LWluamVjdG9yJztcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tuZ0NvbXBvbmVudE91dGxldF0nLFxuICBleHBvcnRBczogJ25kY0NvbXBvbmVudE91dGxldEluamVjdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRHluYW1pY0NvbXBvbmVudEluamVjdG9yVG9rZW4sXG4gICAgICB1c2VFeGlzdGluZzogQ29tcG9uZW50T3V0bGV0SW5qZWN0b3JEaXJlY3RpdmUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50T3V0bGV0SW5qZWN0b3JEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBEeW5hbWljQ29tcG9uZW50SW5qZWN0b3JcbntcbiAgZ2V0IGNvbXBvbmVudFJlZigpOiBDb21wb25lbnRSZWY8dW5rbm93bj4ge1xuICAgIC8vIE5PVEU6IEFjY2Vzc2luZyBwcml2YXRlIEFQSXMgb2YgQW5ndWxhclxuICAgIHJldHVybiAodGhpcy5jb21wb25lbnRPdXRsZXQgYXMgYW55KS5fY29tcG9uZW50UmVmO1xuICB9XG5cbiAgY29uc3RydWN0b3IoQEhvc3QoKSBwcml2YXRlIGNvbXBvbmVudE91dGxldDogTmdDb21wb25lbnRPdXRsZXQpIHt9XG59XG4iXX0=