import { __extends, __assign, __decorate, __metadata } from 'tslib';
import { Prop, Component } from 'vue-property-decorator';
import { BaseButton } from '../BaseButton.js';
import BaseComponent from '../../BaseComponent.js';
import { getStyles } from './ActionButton.styles.js';

var ActionButton = function(_super) {
  __extends(ActionButton2, _super);
  function ActionButton2() {
    return _super !== null && _super.apply(this, arguments) || this;
  }
  Object.defineProperty(ActionButton2.prototype, "internalStyles", {
    get: function() {
      var _a = this, theme = _a.theme, styles = _a.styles;
      return getStyles(theme, styles);
    },
    enumerable: false,
    configurable: true
  });
  ActionButton2.prototype.render = function(h) {
    var props = __assign(__assign({}, this.$props), { variantClassName: "ms-Button--action ms-Button--command", styles: this.internalStyles });
    return h(BaseButton, {
      props: props,
      attrs: this.$attrs,
      on: this.$listeners,
      scopedSlots: this.$scopedSlots
    });
  };
  __decorate([
    Prop({ type: String, default: "" }),
    __metadata("design:type", String)
  ], ActionButton2.prototype, "href", void 0);
  __decorate([
    Prop({ type: Boolean, default: false }),
    __metadata("design:type", Boolean)
  ], ActionButton2.prototype, "disabled", void 0);
  __decorate([
    Prop({ type: Object, default: null }),
    __metadata("design:type", Object)
  ], ActionButton2.prototype, "iconProps", void 0);
  ActionButton2 = __decorate([
    Component
  ], ActionButton2);
  return ActionButton2;
}(BaseComponent);

export { ActionButton };
