import * as React from 'react'; import { IStyleFunctionOrObject, IRenderFunction } from '../../Utilities'; import { IGroupDividerProps } from './GroupedList.types'; import { IStyle, ITheme } from '../../Styling'; /** * {@docCategory GroupedList} */ export interface IGroupHeaderProps extends IGroupDividerProps { /** Style function to be passed in to override the themed or default styles */ styles?: IStyleFunctionOrObject; /** GroupedList id for aria-controls */ groupedListId?: string; /** Native props for the GroupHeader expand and collapse button */ expandButtonProps?: React.HTMLAttributes; /** Defines the name of a custom icon to be used for group headers. If not set, the default icon will be used */ expandButtonIcon?: string; /** Native props for the GroupHeader select all button */ selectAllButtonProps?: React.HTMLAttributes; /** * If provided, can be used to render a custom checkbox */ onRenderGroupHeaderCheckbox?: IRenderFunction; /** * Whether to use fast icon and check components. The icons can't be targeted by customization * but are still customizable via class names. * @defaultvalue true */ useFastIcons?: boolean; } /** * {@docCategory GroupedList} */ export declare type IGroupHeaderStyleProps = Required> & Pick & { /** Is Header collapsed */ isCollapsed?: boolean; /** Whether the group header is in compact mode or not */ compact?: boolean; }; /** * {@docCategory GroupedList} */ export interface IGroupHeaderStyles { root: IStyle; groupHeaderContainer: IStyle; headerCount: IStyle; check: IStyle; dropIcon: IStyle; expand: IStyle; expandIsCollapsed: IStyle; title: IStyle; } /** * {@docCategory GroupedList} */ export interface IGroupHeaderCheckboxProps { checked: boolean; theme?: ITheme; }