UNPKG

@mrii/react-table-builder

Version:
23 lines (22 loc) 1.03 kB
import type { ActionsColumnExtraProps, BooleanColumnExtraProps, CustomColumnExtraProps, DateColumnExtraProps, DateTimeColumnExtraProps, ImageColumnExtraProps, NumberColumnExtraProps, SelectColumnExtraProps, TextColumnExtraProps } from "../components"; import type { GridActionsColDef, GridColDef } from '@mui/x-data-grid'; import type { ColumnTypeUnion } from './column-type-union'; export type ColumnTypeToColumnExtraProps = { string: TextColumnExtraProps; number: NumberColumnExtraProps; boolean: BooleanColumnExtraProps; date: DateColumnExtraProps; dateTime: DateTimeColumnExtraProps; singleSelect: SelectColumnExtraProps; actions: ActionsColumnExtraProps; image: ImageColumnExtraProps; custom: CustomColumnExtraProps; }; export type ColumnMetaData<T extends ColumnTypeUnion = ColumnTypeUnion> = Omit<GridColDef, 'type' | 'valueOptions'> & { extraProps?: ColumnTypeToColumnExtraProps[T]; } & ({ type: T; } | { type: 'actions'; getActions: GridActionsColDef['getActions']; });