import { __decorate, __extends } from "tslib";
import Vue from 'vue';
import Component from 'vue-class-component';
import { Emit, Prop } from 'vue-property-decorator';
import { LIST_ITEM_NAME } from '../component-names';
import { MIconButton } from '../icon-button/icon-button';
import { MSpinner } from '../spinner/spinner';
import WithRender from './list-item.html?style=./list-item.scss';
var MListItem = /** @class */ (function (_super) {
    __extends(MListItem, _super);
    function MListItem() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    MListItem.prototype.click = function (event) { };
    Object.defineProperty(MListItem.prototype, "hasIcon", {
        get: function () {
            return this.iconName !== '' && this.iconName !== undefined;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(MListItem.prototype, "isWaiting", {
        get: function () {
            return this.waiting && !this.disabled;
        },
        enumerable: false,
        configurable: true
    });
    __decorate([
        Prop()
    ], MListItem.prototype, "iconName", void 0);
    __decorate([
        Prop()
    ], MListItem.prototype, "iconHiddenText", void 0);
    __decorate([
        Prop()
    ], MListItem.prototype, "disabled", void 0);
    __decorate([
        Prop()
    ], MListItem.prototype, "waiting", void 0);
    __decorate([
        Prop({ default: false })
    ], MListItem.prototype, "fullWidth", void 0);
    __decorate([
        Prop({ default: false })
    ], MListItem.prototype, "fullHeight", void 0);
    __decorate([
        Prop({ default: false })
    ], MListItem.prototype, "borderTop", void 0);
    __decorate([
        Prop({ default: false })
    ], MListItem.prototype, "borderBottom", void 0);
    __decorate([
        Emit('click')
    ], MListItem.prototype, "click", null);
    MListItem = __decorate([
        WithRender,
        Component({
            components: {
                MSpinner: MSpinner,
                MIconButton: MIconButton
            }
        })
    ], MListItem);
    return MListItem;
}(Vue));
export { MListItem };
var ListItemPlugin = {
    install: function (v, options) {
        v.component(LIST_ITEM_NAME, MListItem);
    }
};
export default ListItemPlugin;
//# sourceMappingURL=list-item.js.map