import * as i0 from '@angular/core';
import { Directive, Input, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

class BsLazyLoadDirective {
    constructor(vcref) {
        this.vcref = vcref;
    }
    set lazyLoad(factory) {
        if (factory) {
            factory.then(type => {
                this.vcref.createComponent(type);
            });
        }
        else {
            this.vcref.clear();
        }
    }
}
BsLazyLoadDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsLazyLoadDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
BsLazyLoadDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: BsLazyLoadDirective, selector: "[bsLazyLoad]", inputs: { lazyLoad: ["bsLazyLoad", "lazyLoad"] }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsLazyLoadDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[bsLazyLoad]'
                }]
        }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { lazyLoad: [{
                type: Input,
                args: ['bsLazyLoad']
            }] } });

class BsLazyLoadingModule {
}
BsLazyLoadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsLazyLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
BsLazyLoadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: BsLazyLoadingModule, declarations: [BsLazyLoadDirective], imports: [CommonModule], exports: [BsLazyLoadDirective] });
BsLazyLoadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsLazyLoadingModule, imports: [CommonModule] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsLazyLoadingModule, decorators: [{
            type: NgModule,
            args: [{
                    declarations: [
                        BsLazyLoadDirective
                    ],
                    imports: [
                        CommonModule
                    ],
                    exports: [
                        BsLazyLoadDirective
                    ]
                }]
        }] });

/**
 * Generated bundle index. Do not edit.
 */

export { BsLazyLoadDirective, BsLazyLoadingModule };
//# sourceMappingURL=mintplayer-ng-bootstrap-lazy-loading.mjs.map
