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

var getClassNames = classNamesFunction();
var DetailsHeaderBase = function(_super) {
  __extends(DetailsHeaderBase2, _super);
  function DetailsHeaderBase2() {
    return _super !== null && _super.apply(this, arguments) || this;
  }
  Object.defineProperty(DetailsHeaderBase2.prototype, "classNames", {
    get: function() {
      var _a = this, styles = _a.styles, theme = _a.theme, className = _a.className;
      return getClassNames(styles, {
        theme: theme,
        isAllSelected: false,
        isSelectAllHidden: false,
        isResizingColumn: false,
        isSizing: false,
        isAllCollapsed: false,
        isCheckboxHidden: false,
        className: className
      });
    },
    enumerable: false,
    configurable: true
  });
  DetailsHeaderBase2.prototype.render = function(h) {
    var _this = this;
    var _a = this, classNames = _a.classNames, columns = _a.columns;
    return h("div", {
      class: classNames.root,
      attrs: { role: "row" }
    }, columns.map(function(column, index) {
      return h(DetailsColumn, {
        key: column.key,
        attrs: {
          column: column,
          columnIndex: index,
          parentId: _this.uid
        }
      });
    }));
  };
  __decorate([
    Prop({ type: Array, required: true }),
    __metadata("design:type", Array)
  ], DetailsHeaderBase2.prototype, "columns", void 0);
  DetailsHeaderBase2 = __decorate([
    Component({
      components: { DetailsColumn: DetailsColumn }
    })
  ], DetailsHeaderBase2);
  return DetailsHeaderBase2;
}(BaseComponent);

export { DetailsHeaderBase };
