import { NzTabSetComponent } from './nz-tabset.component';
import { Component, HostBinding, ContentChild, Output, EventEmitter, TemplateRef, Input, ViewChild } from '@angular/core';
var NzTabComponent = (function () {
    function NzTabComponent(nzTabSetComponent) {
        this.nzTabSetComponent = nzTabSetComponent;
        this.position = null;
        this.origin = null;
        this.disabled = false;
        this.nzSelect = new EventEmitter();
        this.nzClick = new EventEmitter();
        this.nzDeselect = new EventEmitter();
        this._nzTabsTabpane = true;
    }
    Object.defineProperty(NzTabComponent.prototype, "nzDisabled", {
        set: function (value) {
            this.disabled = value;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(NzTabComponent.prototype, "content", {
        get: function () {
            return this._content;
        },
        enumerable: true,
        configurable: true
    });
    NzTabComponent.prototype.ngOnInit = function () {
        this.nzTabSetComponent._tabs.push(this);
    };
    NzTabComponent.prototype.ngOnDestroy = function () {
        this.nzTabSetComponent._tabs.splice(this.nzTabSetComponent._tabs.indexOf(this), 1);
    };
    return NzTabComponent;
}());
export { NzTabComponent };
NzTabComponent.decorators = [
    { type: Component, args: [{
                selector: 'nz-tab',
                template: "\n    <ng-template>\n      <ng-content></ng-content>\n    </ng-template>\n  ",
                styles: []
            },] },
];
/** @nocollapse */
NzTabComponent.ctorParameters = function () { return [
    { type: NzTabSetComponent, },
]; };
NzTabComponent.propDecorators = {
    'nzDisabled': [{ type: Input },],
    'nzSelect': [{ type: Output },],
    'nzClick': [{ type: Output },],
    'nzDeselect': [{ type: Output },],
    '_tabHeading': [{ type: ContentChild, args: ['nzTabHeading',] },],
    '_nzTabsTabpane': [{ type: HostBinding, args: ['class.ant-tabs-tabpane',] },],
    '_content': [{ type: ViewChild, args: [TemplateRef,] },],
};
