import { __extends, __decorate, __metadata } from 'tslib';
import { Prop, Component } from 'vue-property-decorator';
import BaseComponent from '../../components/BaseComponent.js';
import { css } from '@uifabric-vue/utilities';
import { ActionButton } from '../../components/Button/ActionButton/ActionButton.js';

var GridCell = function(_super) {
  __extends(GridCell2, _super);
  function GridCell2() {
    return _super !== null && _super.apply(this, arguments) || this;
  }
  GridCell2.prototype.render = function(h) {
    var _a;
    var _b = this, className = _b.className; _b.item; var 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)
  ], GridCell2.prototype, "item", void 0);
  __decorate([
    Prop({ type: Boolean }),
    __metadata("design:type", Boolean)
  ], GridCell2.prototype, "disabled", void 0);
  __decorate([
    Prop({ type: Boolean }),
    __metadata("design:type", Boolean)
  ], GridCell2.prototype, "selected", void 0);
  __decorate([
    Prop({ type: String }),
    __metadata("design:type", String)
  ], GridCell2.prototype, "cellDisabledStyle", void 0);
  __decorate([
    Prop({ type: String }),
    __metadata("design:type", String)
  ], GridCell2.prototype, "cellIsSelectedStyle", void 0);
  __decorate([
    Prop(),
    __metadata("design:type", Object)
  ], GridCell2.prototype, "getClassNames", void 0);
  GridCell2 = __decorate([
    Component({
      components: { ActionButton: ActionButton }
    })
  ], GridCell2);
  return GridCell2;
}(BaseComponent);

export { GridCell };
