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

class BsLetDirective {
    // eslint-disable-next-line no-unused-vars
    constructor(viewContainer, templateRef) {
        this.viewContainer = viewContainer;
        this.templateRef = templateRef;
        this.context = { bsLet: null, $implicit: null };
        this.hasView = false;
    }
    set bsLet(value) {
        this.context.$implicit = this.context.bsLet = value;
        if (!this.hasView) {
            this.hasView = true;
            this.viewContainer.createEmbeddedView(this.templateRef, this.context);
        }
    }
    /**
     * Asserts the correct type of the context for the template that `NgLet` will render.
     *
     * The presence of this method is a signal to the Ivy template type-check compiler that the
     * `NgLet` structural directive renders its template with a specific context type.
     */
    static ngTemplateContextGuard(dir, ctx) {
        return true;
    }
}
BsLetDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsLetDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
BsLetDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: BsLetDirective, selector: "[bsLet]", inputs: { bsLet: "bsLet" }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsLetDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[bsLet]'
                }]
        }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { bsLet: [{
                type: Input
            }] } });

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

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

export { BsLetDirective, BsLetModule };
//# sourceMappingURL=mintplayer-ng-bootstrap-let.mjs.map
