/**
 * ldesign v0.2.14
 * (c) 2022/11/2 16:16 built by swimly
 * @license MIT
 */

'use strict';

Object.defineProperty(exports, '__esModule', { value: true });

const BaseTableProps = {
  allowResizeColumnWidth: {
    type: Boolean,
    default: void 0
  },
  bordered: Boolean,
  bottomContent: {
    type: [String, Function]
  },
  cellEmptyContent: {
    type: [String, Function]
  },
  columns: {
    type: Array,
    default: () => []
  },
  data: {
    type: Array,
    default: () => []
  },
  disableDataPage: Boolean,
  empty: {
    type: [String, Function],
    default: ""
  },
  firstFullRow: {
    type: [String, Function]
  },
  fixedRows: {
    type: Array
  },
  footData: {
    type: Array,
    default: () => []
  },
  footerAffixProps: {
    type: Object
  },
  footerAffixedBottom: {
    type: [Boolean, Object],
    default: false
  },
  footerSummary: {
    type: [String, Function]
  },
  headerAffixProps: {
    type: Object
  },
  headerAffixedTop: {
    type: [Boolean, Object],
    default: false
  },
  height: {
    type: [String, Number]
  },
  horizontalScrollAffixedBottom: {
    type: [Boolean, Object]
  },
  hover: Boolean,
  lastFullRow: {
    type: [String, Function]
  },
  loading: {
    type: [Boolean, Function],
    default: void 0
  },
  loadingProps: {
    type: Object
  },
  maxHeight: {
    type: [String, Number]
  },
  pagination: {
    type: Object
  },
  paginationAffixedBottom: {
    type: [Boolean, Object]
  },
  resizable: Boolean,
  rowAttributes: {
    type: [Object, Array, Function]
  },
  rowClassName: {
    type: [String, Object, Array, Function]
  },
  rowKey: {
    type: String,
    default: "id",
    required: true
  },
  rowspanAndColspan: {
    type: Function
  },
  rowspanAndColspanInFooter: {
    type: Function
  },
  scroll: {
    type: Object
  },
  showHeader: {
    type: Boolean,
    default: true
  },
  size: {
    type: String,
    default: "medium",
    validator(val) {
      if (!val) return true;
      return ["small", "medium", "large"].includes(val);
    }
  },
  stripe: Boolean,
  tableContentWidth: {
    type: String,
    default: ""
  },
  tableLayout: {
    type: String,
    default: "fixed",
    validator(val) {
      if (!val) return true;
      return ["auto", "fixed"].includes(val);
    }
  },
  topContent: {
    type: [String, Function]
  },
  verticalAlign: {
    type: String,
    default: "middle",
    validator(val) {
      if (!val) return true;
      return ["top", "middle", "bottom"].includes(val);
    }
  },
  onCellClick: Function,
  onPageChange: Function,
  onRowClick: Function,
  onRowDblclick: Function,
  onRowMousedown: Function,
  onRowMouseenter: Function,
  onRowMouseleave: Function,
  onRowMouseover: Function,
  onRowMouseup: Function,
  onScroll: Function,
  onScrollX: Function,
  onScrollY: Function
};
const EnhancedTableProps = {
  beforeDragSort: {
    type: Function
  },
  tree: {
    type: Object
  },
  treeExpandAndFoldIcon: {
    type: Function
  },
  onAbnormalDragSort: Function,
  onTreeExpandChange: Function
};
const PrimaryTableProps = {
  asyncLoading: {
    type: [String, Function]
  },
  columnController: {
    type: Object
  },
  columnControllerVisible: {
    type: Boolean,
    default: void 0
  },
  defaultColumnControllerVisible: {
    type: Boolean,
    default: void 0
  },
  columns: {
    type: Array,
    default: () => []
  },
  displayColumns: {
    type: Array,
    default: void 0
  },
  defaultDisplayColumns: {
    type: Array
  },
  dragSort: {
    type: String,
    validator(val) {
      if (!val) return true;
      return ["row", "row-handler", "col", "row-handler-col", "drag-col"].includes(val);
    }
  },
  dragSortOptions: {
    type: Object
  },
  editableCellState: {
    type: Function
  },
  editableRowKeys: {
    type: Array
  },
  expandIcon: {
    type: [Boolean, Function],
    default: true
  },
  expandOnRowClick: Boolean,
  expandedRow: {
    type: [String, Function]
  },
  expandedRowKeys: {
    type: Array,
    default: void 0
  },
  defaultExpandedRowKeys: {
    type: Array,
    default: () => []
  },
  filterIcon: {
    type: Function
  },
  filterRow: {
    type: [String, Function]
  },
  filterValue: {
    type: Object,
    default: void 0
  },
  defaultFilterValue: {
    type: Object
  },
  hideSortTips: Boolean,
  indeterminateSelectedRowKeys: {
    type: Array
  },
  multipleSort: Boolean,
  selectedRowKeys: {
    type: Array,
    default: void 0
  },
  defaultSelectedRowKeys: {
    type: Array,
    default: () => []
  },
  showSortColumnBgColor: Boolean,
  sort: {
    type: [Object, Array],
    default: void 0
  },
  defaultSort: {
    type: [Object, Array]
  },
  sortIcon: {
    type: Function
  },
  sortOnRowDraggable: Boolean,
  onAsyncLoadingClick: Function,
  onCellClick: Function,
  onChange: Function,
  onColumnChange: Function,
  onColumnControllerVisibleChange: Function,
  onDataChange: Function,
  onDisplayColumnsChange: Function,
  onDragSort: Function,
  onExpandChange: Function,
  onFilterChange: Function,
  onRowEdit: Function,
  onRowValidate: Function,
  onSelectChange: Function,
  onSortChange: Function,
  onValidate: Function
};

exports.BaseTableProps = BaseTableProps;
exports.EnhancedTableProps = EnhancedTableProps;
exports.PrimaryTableProps = PrimaryTableProps;
//# sourceMappingURL=props.js.map
