import { __decorate, __extends, __metadata } from "tslib";
import { Component, Prop } from 'vue-property-decorator';
import BaseComponent from '../../components/BaseComponent';
import { ActionButton } from '../../components/Button';
import { css } from '@uifabric-vue/utilities';
var GridCell = /** @class */ (function (_super) {
    __extends(GridCell, _super);
    function GridCell() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    GridCell.prototype.render = function (h) {
        var _a;
        var _b = this, className = _b.className, item = _b.item, cellDisabledStyle = _b.cellDisabledStyle, cellIsSelectedStyle = _b.cellIsSelectedStyle, selected = _b.selected, disabled = _b.disabled;
        return h(ActionButton, {
            class: css(className, (_a = {},
                _a['' + cellIsSelectedStyle] = selected,
                _a['' + cellDisabledStyle] = disabled,
                _a)),
            attrs: {
                getClassNames: this.getClassNames,
            },
            scopedSlots: {
                flex: this.$scopedSlots.default,
            },
        });
    };
    __decorate([
        Prop({ type: Object, default: function () { } }),
        __metadata("design:type", Object)
    ], GridCell.prototype, "item", void 0);
    __decorate([
        Prop({ type: Boolean }),
        __metadata("design:type", Boolean)
    ], GridCell.prototype, "disabled", void 0);
    __decorate([
        Prop({ type: Boolean }),
        __metadata("design:type", Boolean)
    ], GridCell.prototype, "selected", void 0);
    __decorate([
        Prop({ type: String }),
        __metadata("design:type", String)
    ], GridCell.prototype, "cellDisabledStyle", void 0);
    __decorate([
        Prop({ type: String }),
        __metadata("design:type", String)
    ], GridCell.prototype, "cellIsSelectedStyle", void 0);
    __decorate([
        Prop(),
        __metadata("design:type", Object)
    ], GridCell.prototype, "getClassNames", void 0);
    GridCell = __decorate([
        Component({
            components: { ActionButton: ActionButton },
        })
    ], GridCell);
    return GridCell;
}(BaseComponent));
export { GridCell };
//# sourceMappingURL=GridCell.js.map