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

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

export { DefaultButton };
