/**
 * @fileoverview added by tsickle
 * @suppress {checkTypes} checked by tsc
 */
import { Component, Input, HostBinding } from '@angular/core';
export class ButtonComponent {
    constructor() {
        this.type = 'button';
        this.loading = false;
    }
    /**
     * @param {?} isDisabled
     * @return {?}
     */
    set disabled(isDisabled) {
        this._disabled = isDisabled;
    }
    /**
     * @return {?}
     */
    get disabled() {
        const /** @type {?} */ isDisabled = (/** @type {?} */ (this)).hasOwnProperty('_disabled');
        return isDisabled && this._disabled !== false;
    }
}
ButtonComponent.decorators = [
    { type: Component, args: [{
                selector: 'ui-button',
                template: `<div class="ui-button-text">
  <ng-content></ng-content>
</div>
<div class="ui-button-loading"><span class="ui-icon ui-icon-spinner6"></span></div>
<button class="ui-button" [type]="type" [disabled]="disabled">
</button>
`
            },] },
];
/** @nocollapse */
ButtonComponent.propDecorators = {
    "type": [{ type: Input },],
    "loading": [{ type: Input }, { type: HostBinding, args: ['class.ui-loading',] },],
    "disabled": [{ type: Input }, { type: HostBinding, args: ['class.ui-disabled',] },],
};
function ButtonComponent_tsickle_Closure_declarations() {
    /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
    ButtonComponent.decorators;
    /**
     * @nocollapse
     * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
     */
    ButtonComponent.ctorParameters;
    /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
    ButtonComponent.propDecorators;
    /** @type {?} */
    ButtonComponent.prototype.type;
    /** @type {?} */
    ButtonComponent.prototype.loading;
    /** @type {?} */
    ButtonComponent.prototype._disabled;
}

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YW5iby91aS1uYXRpdmUvIiwic291cmNlcyI6WyJsaWIvZm9ybXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVk5RCxNQUFNOztvQkFFVyxRQUFRO3VCQUdKLEtBQUs7Ozs7OztRQUlwQixRQUFRLENBQUMsVUFBZTtRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQzs7Ozs7SUFHOUIsSUFBSSxRQUFRO1FBQ1YsdUJBQU0sVUFBVSxHQUFHLG1CQUFDLElBQVcsRUFBQyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3RCxNQUFNLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDO0tBQy9DOzs7WUExQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixRQUFRLEVBQUU7Ozs7OztDQU1YO2FBQ0E7Ozs7cUJBRUUsS0FBSzt3QkFFTCxLQUFLLFlBQ0wsV0FBVyxTQUFDLGtCQUFrQjt5QkFHOUIsS0FBSyxZQUNMLFdBQVcsU0FBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1idXR0b24nLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJ1aS1idXR0b24tdGV4dFwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ1aS1idXR0b24tbG9hZGluZ1wiPjxzcGFuIGNsYXNzPVwidWktaWNvbiB1aS1pY29uLXNwaW5uZXI2XCI+PC9zcGFuPjwvZGl2PlxuPGJ1dHRvbiBjbGFzcz1cInVpLWJ1dHRvblwiIFt0eXBlXT1cInR5cGVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbjwvYnV0dG9uPlxuYFxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKVxuICB0eXBlOiBzdHJpbmcgPSAnYnV0dG9uJztcbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy51aS1sb2FkaW5nJylcbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnY2xhc3MudWktZGlzYWJsZWQnKVxuICBzZXQgZGlzYWJsZWQoaXNEaXNhYmxlZDogYW55KSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSAodGhpcyBhcyBhbnkpLmhhc093blByb3BlcnR5KCdfZGlzYWJsZWQnKTtcbiAgICByZXR1cm4gaXNEaXNhYmxlZCAmJiB0aGlzLl9kaXNhYmxlZCAhPT0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbjtcbn0iXX0=