import { __assign, __decorate, __extends, __metadata } from "tslib";
import { Component, Prop } from 'vue-property-decorator';
import { classNamesFunction } from '@uifabric-vue/utilities';
import { styles } from './Stack.styles';
import StatelessComponent from '../StatelessComponent';
import { mergeStyleSets } from '@uifabric/styling';
var getClassNames = classNamesFunction();
var Stack = /** @class */ (function (_super) {
    __extends(Stack, _super);
    function Stack() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    Stack.prototype.render = function (h, ctx) {
        var _a = ctx.props, theme = _a.theme, tokens = _a.tokens, verticalFill = _a.verticalFill, horizontal = _a.horizontal, reversed = _a.reversed, grow = _a.grow, wrap = _a.wrap, horizontalAlign = _a.horizontalAlign, verticalAlign = _a.verticalAlign, disableShrink = _a.disableShrink, className = _a.className;
        var classNames = getClassNames(mergeStyleSets(styles({
            className: className,
            verticalFill: verticalFill,
            horizontal: horizontal,
            reversed: reversed,
            grow: grow,
            wrap: wrap,
            horizontalAlign: horizontalAlign,
            verticalAlign: verticalAlign,
            disableShrink: disableShrink,
        }, theme, tokens), ctx.props.styles));
        return h('div', __assign(__assign({}, ctx.data), { class: classNames.root }), ctx.children);
    };
    __decorate([
        Prop({ type: String, default: '' }),
        __metadata("design:type", String)
    ], Stack.prototype, "verticalFill", void 0);
    __decorate([
        Prop({ type: Boolean, default: false }),
        __metadata("design:type", Boolean)
    ], Stack.prototype, "horizontal", void 0);
    __decorate([
        Prop({ type: Boolean, default: false }),
        __metadata("design:type", Boolean)
    ], Stack.prototype, "reversed", void 0);
    __decorate([
        Prop({ type: Number, default: 0 }),
        __metadata("design:type", Number)
    ], Stack.prototype, "childrenGap", void 0);
    __decorate([
        Prop({ type: Boolean, default: false }),
        __metadata("design:type", Boolean)
    ], Stack.prototype, "grow", void 0);
    __decorate([
        Prop({ type: Boolean, default: false }),
        __metadata("design:type", Boolean)
    ], Stack.prototype, "wrap", void 0);
    __decorate([
        Prop({ type: String, default: '' }),
        __metadata("design:type", String)
    ], Stack.prototype, "horizontalAlign", void 0);
    __decorate([
        Prop({ type: String, default: '' }),
        __metadata("design:type", String)
    ], Stack.prototype, "verticalAlign", void 0);
    __decorate([
        Prop({ type: Boolean, default: false }),
        __metadata("design:type", Boolean)
    ], Stack.prototype, "disableShrink", void 0);
    __decorate([
        Prop({ type: Object, default: function () { } }),
        __metadata("design:type", Object)
    ], Stack.prototype, "tokens", void 0);
    Stack = __decorate([
        Component({
            components: {},
        })
    ], Stack);
    return Stack;
}(StatelessComponent));
export { Stack };
//# sourceMappingURL=Stack.js.map