import { __assign } from "tslib";
import { Vue } from 'vue-property-decorator';
import { getStyles } from './IconButton.styles';
import { BaseButton } from '../BaseButton';
import { withThemeableProps } from '../../../useThemeable';
export var IconButton = Vue.extend({
    props: __assign(__assign({}, withThemeableProps()), { disabled: { type: Boolean, default: false }, iconProps: { type: Object, default: function () { } } }),
    computed: {
        internalStyles: function () {
            var _a = this, theme = _a.theme, styles = _a.styles;
            return getStyles(theme, styles);
        },
    },
    render: function (h) {
        var _a = this, iconProps = _a.iconProps, disabled = _a.disabled, internalStyles = _a.internalStyles;
        var props = {
            iconProps: iconProps,
            disabled: disabled,
            variantClassName: 'ms-Button--icon',
            styles: internalStyles,
            theme: this.theme,
        };
        return h(BaseButton, {
            attrs: __assign(__assign(__assign({}, this.$props), props), this.$attrs),
            on: this.$listeners,
            scopedSlots: this.$scopedSlots,
        });
    },
});
//# sourceMappingURL=IconButton.js.map