UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

92 lines (91 loc) 3.25 kB
import * as React from 'react'; import { Facepile } from './Facepile'; import { IButtonProps } from '../Button/index'; import { IPersonaProps, PersonaInitialsColor, PersonaSize } from '../Persona/index'; export interface IFacepile { } export interface IFacepileProps extends React.Props<Facepile> { /** * Optional callback to access the IFacepile interface. Use this instead of ref for accessing * the public methods and properties of the component. */ componentRef?: (component: IFacepile) => void; /** * Array of IPersonaProps that define each Persona. Note that the size * is fixed at PersonaSize.extraSmall regardless of what is specified. */ personas: IFacepilePersona[]; /** Maximum number of personas to show */ maxDisplayablePersonas?: number; /** Size to display the personas */ personaSize?: PersonaSize; /** ARIA label for persona list */ ariaDescription?: string; /** Show add person button */ showAddButton?: boolean; /** Button properties for the add face button */ addButtonProps?: IButtonProps; /** * Deprecated at v0.70, use 'overflowButtonProps' instead; * @deprecated */ chevronButtonProps?: IButtonProps; /** Properties for the overflow icon */ overflowButtonProps?: IButtonProps; /** Type of overflow icon to use */ overflowButtonType?: OverflowButtonType; /** Method to access properties on the underlying Persona control */ getPersonaProps?: (persona: IFacepilePersona) => IPersonaProps; /** * Optional class for Facepile root element. */ className?: string; } export interface IFacepilePersona extends React.HTMLAttributes<HTMLButtonElement | HTMLDivElement> { /** * Name of the person. */ personaName?: string; /** * Url to the image to use, should be a square aspect ratio and big enough to fit in the image area. */ imageUrl?: string; /** * The user's initials to display in the image area when there is no image. * @defaultvalue [Derived from personaName] */ imageInitials?: string; /** * The background color when the user's initials are displayed. * @defaultvalue [Derived from personaName] */ initialsColor?: PersonaInitialsColor; /** * If provided, persona will be rendered with cursor:pointer and the handler will be * called on click. */ onClick?: (ev?: React.MouseEvent<HTMLElement>, persona?: IFacepilePersona) => void; /** * If provided, the handler will be called on mouse move. */ onMouseMove?: (ev?: React.MouseEvent<HTMLElement>, persona?: IFacepilePersona) => void; /** * If provided, the handler will be called when mouse moves out of the component. */ onMouseOut?: (ev?: React.MouseEvent<HTMLElement>, persona?: IFacepilePersona) => void; /** * Extra data - not used directly but can be handy for passing additional data to custom event * handlers. */ data?: any; } export declare enum OverflowButtonType { /** No overflow */ none = 0, /** +1 overflow icon */ descriptive = 1, /** More overflow icon */ more = 2, /** Chevron overflow icon */ downArrow = 3, }