import { __extends, __decorate, __metadata } from 'tslib';
import { Prop, Component } from 'vue-property-decorator';
import { StackItemStyles } from './StackItem.styles.js';
import { mergeStyleSets, getTheme } from '@uifabric/styling';
import { classNamesFunction } from '@uifabric-vue/utilities';
import StatelessComponent from '../../StatelessComponent.js';

var getClassNames = classNamesFunction({
  disableCaching: true
});
var StackItem = function(_super) {
  __extends(StackItem2, _super);
  function StackItem2() {
    return _super !== null && _super.apply(this, arguments) || this;
  }
  StackItem2.prototype.render = function(h, ctx) {
    var _a = ctx.props, grow = _a.grow, shrink = _a.shrink, disableShrink = _a.disableShrink, align = _a.align, verticalFill = _a.verticalFill, order = _a.order, className = _a.className, styles = _a.styles;
    var classNames = getClassNames(mergeStyleSets(StackItemStyles({
      grow: grow,
      shrink: shrink,
      disableShrink: disableShrink,
      align: align,
      verticalFill: verticalFill,
      order: order,
      className: className
    }, getTheme(), {}), styles));
    return h("div", { class: classNames.root }, ctx.children);
  };
  __decorate([
    Prop({ type: [Number, Boolean], default: 0 }),
    __metadata("design:type", Object)
  ], StackItem2.prototype, "grow", void 0);
  __decorate([
    Prop(),
    __metadata("design:type", Object)
  ], StackItem2.prototype, "shrink", void 0);
  __decorate([
    Prop(),
    __metadata("design:type", Object)
  ], StackItem2.prototype, "disableShrink", void 0);
  __decorate([
    Prop(),
    __metadata("design:type", Object)
  ], StackItem2.prototype, "align", void 0);
  __decorate([
    Prop(),
    __metadata("design:type", Object)
  ], StackItem2.prototype, "verticalFill", void 0);
  __decorate([
    Prop({ type: Number, default: null }),
    __metadata("design:type", Number)
  ], StackItem2.prototype, "order", void 0);
  __decorate([
    Prop({ type: Number, default: 0 }),
    __metadata("design:type", Number)
  ], StackItem2.prototype, "test", void 0);
  StackItem2 = __decorate([
    Component({
      components: {}
    })
  ], StackItem2);
  return StackItem2;
}(StatelessComponent);
var StackItem$1 = StackItem;

export { StackItem$1 as default };
