office-ui-fabric-react
Version:
Reusable React components for building experiences for Office 365.
51 lines (50 loc) • 1.96 kB
TypeScript
/// <reference types="react" />
import { IColumn } from './DetailsList.types';
import { DetailsColumnBase } from './DetailsColumn.base';
import { IRenderFunction, IStyleFunctionOrObject } from '../../Utilities';
import { ITooltipHostProps } from '../../Tooltip';
import { IDragDropHelper } from '../../utilities/dragdrop/index';
import { ICellStyleProps } from './DetailsRow.types';
import { ITheme, IStyle } from '../../Styling';
export interface IDetailsColumnProps extends React.Props<DetailsColumnBase> {
theme?: ITheme;
styles?: IStyleFunctionOrObject<IDetailsColumnStyleProps, IDetailsColumnStyles>;
componentRef?: () => void;
column: IColumn;
columnIndex: number;
parentId?: string;
onRenderColumnHeaderTooltip?: IRenderFunction<ITooltipHostProps>;
onColumnClick?: (ev: React.MouseEvent<HTMLElement>, column: IColumn) => void;
onColumnContextMenu?: (column: IColumn, ev: React.MouseEvent<HTMLElement>) => void;
dragDropHelper?: IDragDropHelper | null;
isDraggable?: boolean;
setDraggedItemIndex?: (itemIndex: number) => void;
updateDragInfo?: (props: {
itemIndex: number;
}, event?: MouseEvent) => void;
isDropped?: boolean;
cellStyleProps?: ICellStyleProps;
}
export declare type IDetailsColumnStyleProps = Required<Pick<IDetailsColumnProps, 'theme' | 'cellStyleProps'>> & {
headerClassName?: string;
isActionable?: boolean;
isEmpty?: boolean;
isIconVisible?: boolean;
isPadded?: boolean;
isIconOnly?: boolean;
iconClassName?: string;
};
export interface IDetailsColumnStyles {
root: IStyle;
gripperBarVerticalStyle: IStyle;
cellTooltip: IStyle;
cellTitle: IStyle;
cellName: IStyle;
iconClassName: IStyle;
nearIcon: IStyle;
accessibleLabel: IStyle;
sortIcon: IStyle;
filterChevron: IStyle;
borderAfterDropping: IStyle;
borderWhileDragging: IStyle;
}