"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const utils = require("../utils.js");
const headerRow = require("../components/header-row.js");
const Vue = require("vue");
function _isSlot(s) {
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !Vue.isVNode(s);
}
const HeaderRenderer = ({ columns, columnsStyles, headerIndex, style, headerClass, headerProps, ns }, { slots }) => {
  const param = {
    columns,
    headerIndex
  };
  const kls = [
    ns.e("header-row"),
    utils.tryCall(headerClass, param, ""),
    ns.is("customized", Boolean(slots.header))
  ];
  return Vue.createVNode(headerRow.default, {
    ...utils.tryCall(headerProps, param),
    columnsStyles,
    class: kls,
    columns,
    headerIndex,
    style
  }, _isSlot(slots) ? slots : { default: () => [slots] });
};
exports.default = HeaderRenderer;
