
import { Component, Input, TemplateRef, Type, ViewChild } from '@angular/core';

import { NbpBaseComponentA11YWrapper } from '@isp/xdce-widget/base';

import { NbpFidToggleTabComponentA11Y } from './nbp-fid-toggle-tab.component.a11y';
import { NbpFidToggleTabComponentNOA11Y } from './nbp-fid-toggle-tab.component.noa11y';


@Component({
    template: '<ng-container #componentContainer></ng-container><ng-template #wngContent><ng-content></ng-content></ng-template>',
    selector: "nbp-fid-toggle-tab",
    
})
export class NbpFidToggleTabComponent extends NbpBaseComponentA11YWrapper<NbpFidToggleTabComponentA11Y, NbpFidToggleTabComponentNOA11Y> {

    @ViewChild('wngContent')
    protected wngContent: TemplateRef<any>;

    get A11Ycomponent(): Type<NbpFidToggleTabComponentA11Y> {
        return NbpFidToggleTabComponentA11Y;
    }

    get noA11Ycomponent(): Type<NbpFidToggleTabComponentNOA11Y> {
        return NbpFidToggleTabComponentNOA11Y;
    }


    private _title: string = undefined;
    @Input()
    set title(value: string) {
        this._title = value;
        if (this.component) {
            this.component.title = value;
        }
    }
    get title(): string {
        return this._title;
    }


    private _active: boolean = undefined;
    @Input()
    set active(value: boolean) {
        this._active = value;
        if (this.component) {
            this.component.active = value;
        }
    }
    get active(): boolean {
        return this._active;
    }


    private _disabled: boolean = undefined;
    @Input()
    set disabled(value: boolean) {
        this._disabled = value;
        if (this.component) {
            this.component.disabled = value;
        }
    }
    get disabled(): boolean {
        return this._disabled;
    }


    private _id: string = undefined;
    @Input()
    set id(value: string) {
        this._id = value;
        if (this.component) {
            this.component.id = value;
        }
    }
    get id(): string {
        return this._id;
    }

    private _tabTemplate: TemplateRef<any> = null;
    @Input()
    set tabTemplate(value: TemplateRef<any>) {
        this._tabTemplate = value;
        if (this.component) {
            this.component.tabTemplate = value;
        }
    }
    get tabTemplate(): TemplateRef<any> {
        return this._tabTemplate;
    }


    ngOnInit(): void {
        super.ngOnInit();
        this.component.wngContent = this.wngContent;
    }
}