import { __extends, __decorate, __metadata } from 'tslib';
import { Prop, Component } from 'vue-property-decorator';
import { classNamesFunction } from '@uifabric-vue/utilities';
import BaseComponent from '../BaseComponent.js';

var getClassNames = classNamesFunction();
var OverflowSetBase = function(_super) {
  __extends(OverflowSetBase2, _super);
  function OverflowSetBase2() {
    return _super !== null && _super.apply(this, arguments) || this;
  }
  Object.defineProperty(OverflowSetBase2.prototype, "classNames", {
    get: function() {
      var _a = this, styles = _a.styles, className = _a.className, vertical = _a.vertical;
      return getClassNames(styles, { className: className, vertical: vertical });
    },
    enumerable: false,
    configurable: true
  });
  OverflowSetBase2.prototype.render = function(h) {
    var _this = this;
    var _a = this, classNames = _a.classNames, items = _a.items, overflowItems = _a.overflowItems;
    return h("div", { class: classNames.root }, [
      items.map(function(item, index) {
        return h("div", { class: classNames.item }, [
          _this.$scopedSlots.item && _this.$scopedSlots.item({ item: item })
        ]);
      }),
      overflowItems && overflowItems.length > 0 && h("div", {
        class: classNames.overflowButton
      }, this.$scopedSlots.overflow && this.$scopedSlots.overflow({ items: overflowItems }))
    ]);
  };
  __decorate([
    Prop({ type: Array, default: function() {
      return [];
    } }),
    __metadata("design:type", Array)
  ], OverflowSetBase2.prototype, "items", void 0);
  __decorate([
    Prop({ type: Array, default: function() {
      return [];
    } }),
    __metadata("design:type", Array)
  ], OverflowSetBase2.prototype, "overflowItems", void 0);
  __decorate([
    Prop({ type: Boolean, default: false }),
    __metadata("design:type", Boolean)
  ], OverflowSetBase2.prototype, "vertical", void 0);
  OverflowSetBase2 = __decorate([
    Component({
      components: {}
    })
  ], OverflowSetBase2);
  return OverflowSetBase2;
}(BaseComponent);

export { OverflowSetBase };
