/**
 * @fileoverview added by tsickle
 * @suppress {checkTypes} checked by tsc
 */
import { Component, ContentChild, HostBinding, Input, TemplateRef } from '@angular/core';
import { toBoolean } from '../core/util/convert';
import { NzCardTabComponent } from './nz-card-tab.component';
var NzCardComponent = /** @class */ (function () {
    function NzCardComponent() {
        this._bordered = true;
        this._loading = false;
        this._hoverable = false;
        this.nzActions = [];
    }
    Object.defineProperty(NzCardComponent.prototype, "nzTitle", {
        get: /**
         * @return {?}
         */
        function () {
            return this._title;
        },
        set: /**
         * @param {?} value
         * @return {?}
         */
        function (value) {
            this.isTitleString = !(value instanceof TemplateRef);
            this._title = value;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(NzCardComponent.prototype, "nzExtra", {
        get: /**
         * @return {?}
         */
        function () {
            return this._extra;
        },
        set: /**
         * @param {?} value
         * @return {?}
         */
        function (value) {
            this.isExtraString = !(value instanceof TemplateRef);
            this._extra = value;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(NzCardComponent.prototype, "isInner", {
        get: /**
         * @return {?}
         */
        function () {
            return this.nzType === 'inner';
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(NzCardComponent.prototype, "isTabs", {
        get: /**
         * @return {?}
         */
        function () {
            return !!this.tab;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(NzCardComponent.prototype, "nzBordered", {
        get: /**
         * @return {?}
         */
        function () {
            return this._bordered;
        },
        set: /**
         * @param {?} value
         * @return {?}
         */
        function (value) {
            this._bordered = toBoolean(value);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(NzCardComponent.prototype, "nzLoading", {
        get: /**
         * @return {?}
         */
        function () {
            return this._loading;
        },
        set: /**
         * @param {?} value
         * @return {?}
         */
        function (value) {
            this._loading = toBoolean(value);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(NzCardComponent.prototype, "nzHoverable", {
        get: /**
         * @return {?}
         */
        function () {
            return this._hoverable;
        },
        set: /**
         * @param {?} value
         * @return {?}
         */
        function (value) {
            this._hoverable = toBoolean(value);
        },
        enumerable: true,
        configurable: true
    });
    NzCardComponent.decorators = [
        { type: Component, args: [{
                    selector: 'nz-card',
                    preserveWhitespaces: false,
                    template: "<ng-template #titleTemplate>\n  <ng-template [ngTemplateOutlet]=\"nzTitle\"></ng-template>\n</ng-template>\n<ng-template #extraTemplate>\n  <ng-template [ngTemplateOutlet]=\"nzExtra\"></ng-template>\n</ng-template>\n<div class=\"ant-card-head\" *ngIf=\"nzTitle||nzExtra||tab\">\n  <div class=\"ant-card-head-wrapper\">\n    <div class=\"ant-card-head-title\" *ngIf=\"nzTitle\">\n      <ng-container *ngIf=\"isTitleString; else titleTemplate\">{{ nzTitle }}</ng-container>\n    </div>\n    <div class=\"ant-card-extra\" *ngIf=\"nzExtra\">\n      <ng-container *ngIf=\"isExtraString; else extraTemplate\">{{ nzExtra }}</ng-container>\n    </div>\n  </div>\n  <ng-container *ngIf=\"tab\">\n    <ng-template [ngTemplateOutlet]=\"tab.template\"></ng-template>\n  </ng-container>\n</div>\n<div class=\"ant-card-cover\" *ngIf=\"nzCover\">\n  <ng-template [ngTemplateOutlet]=\"nzCover\"></ng-template>\n</div>\n<div class=\"ant-card-body\" [ngStyle]=\"nzBodyStyle\">\n  <ng-container *ngIf=\"!nzLoading\">\n    <ng-content></ng-content>\n  </ng-container>\n  <nz-card-loading *ngIf=\"nzLoading\"></nz-card-loading>\n</div>\n<ul class=\"ant-card-actions\" *ngIf=\"nzActions.length\">\n  <li *ngFor=\"let action of nzActions\" [style.width.%]=\"100/nzActions.length\">\n    <span><ng-template [ngTemplateOutlet]=\"action\"></ng-template></span>\n  </li>\n</ul>",
                    host: {
                        '[class.ant-card]': 'true',
                        '[class.ant-card-loading]': 'nzLoading'
                    },
                    styles: ["\n    :host {\n      display: block;\n      position: relative;\n    }\n  "]
                }] }
    ];
    NzCardComponent.propDecorators = {
        tab: [{ type: ContentChild, args: [NzCardTabComponent,] }],
        nzBodyStyle: [{ type: Input }],
        nzCover: [{ type: Input }],
        nzActions: [{ type: Input }],
        nzType: [{ type: Input }],
        nzTitle: [{ type: Input }],
        nzExtra: [{ type: Input }],
        isInner: [{ type: HostBinding, args: ['class.ant-card-type-inner',] }],
        isTabs: [{ type: HostBinding, args: ['class.ant-card-contain-tabs',] }],
        nzBordered: [{ type: Input }, { type: HostBinding, args: ['class.ant-card-bordered',] }],
        nzLoading: [{ type: Input }],
        nzHoverable: [{ type: Input }, { type: HostBinding, args: ['class.ant-card-hoverable',] }]
    };
    return NzCardComponent;
}());
export { NzCardComponent };
function NzCardComponent_tsickle_Closure_declarations() {
    /** @type {?} */
    NzCardComponent.prototype._bordered;
    /** @type {?} */
    NzCardComponent.prototype._loading;
    /** @type {?} */
    NzCardComponent.prototype._hoverable;
    /** @type {?} */
    NzCardComponent.prototype._title;
    /** @type {?} */
    NzCardComponent.prototype._extra;
    /** @type {?} */
    NzCardComponent.prototype.isTitleString;
    /** @type {?} */
    NzCardComponent.prototype.isExtraString;
    /** @type {?} */
    NzCardComponent.prototype.tab;
    /** @type {?} */
    NzCardComponent.prototype.nzBodyStyle;
    /** @type {?} */
    NzCardComponent.prototype.nzCover;
    /** @type {?} */
    NzCardComponent.prototype.nzActions;
    /** @type {?} */
    NzCardComponent.prototype.nzType;
}

//# sourceMappingURL=data:application/json;base64, 