import Table, { tableProps } from './Table';
import Column from './Column';
import ColumnGroup from './ColumnGroup';
import type { TableProps, TablePaginationConfig } from './Table';
import { defineComponent } from 'vue';
import type { App } from 'vue';
import { Summary, SummaryCell, SummaryRow } from '../vc-table';
import { SELECTION_ALL, SELECTION_INVERT, SELECTION_NONE } from './hooks/useSelection';
export type { ColumnProps } from './Column';
export type { ColumnsType, ColumnType, ColumnGroupType } from './interface';
export type { TableProps, TablePaginationConfig };
const TableSummaryRow = defineComponent({ ...SummaryRow, name: 'ATableSummaryRow' });
const TableSummaryCell = defineComponent({ ...SummaryCell, name: 'ATableSummaryCell' });
const TableSummary = Object.assign(Summary, {
Cell: TableSummaryCell,
Row: TableSummaryRow,
name: 'ATableSummary',
});
/* istanbul ignore next */
export {
tableProps,
TableSummary,
TableSummaryRow,
TableSummaryCell,
Column as TableColumn,
ColumnGroup as TableColumnGroup,
};
export default Object.assign(Table, {
SELECTION_ALL,
SELECTION_INVERT,
SELECTION_NONE,
Column,
ColumnGroup,
Summary: TableSummary,
install: (app: App) => {
app.component(TableSummary.name, TableSummary);
app.component(TableSummaryCell.name, TableSummaryCell);
app.component(TableSummaryRow.name, TableSummaryRow);
app.component(Table.name, Table);
app.component(Column.name, Column);
app.component(ColumnGroup.name, ColumnGroup);
return app;
},