/// import { IContextualMenuItem, IStyle, PersonaPresence } from '@fluentui/react'; import { BaseCustomStyles, OnRenderAvatarCallback } from '../types'; import { ParticipantState } from '../types'; /** * Fluent styles for {@link ParticipantItem}. * * @public */ export interface ParticipantItemStyles extends BaseCustomStyles { /** Styles for the avatar. */ avatar?: IStyle; /** Styles for the (You) string. */ me?: IStyle; /** Styles for the container of the icon. */ iconContainer?: IStyle; /** Styles for the menu. */ menu?: IStyle; } /** * Strings of {@link ParticipantItem} that can be overridden. * * @public */ export interface ParticipantItemStrings { /** String shown when participant is me */ isMeText: string; /** String shown when hovering over menu button */ menuTitle: string; /** Label for the remove button in participant menu */ removeButtonLabel: string; /** Label for the sharing icon in participant state stack */ sharingIconLabel: string; /** Label for the muted icon in participant state stack */ mutedIconLabel: string; /** Label for the raised hand icon in participant state stack */ handRaisedIconLabel?: string; /** placeholder text for participants who does not have a display name*/ displayNamePlaceholder?: string; /** String shown when `participantState` is `Ringing` */ participantStateRinging?: string; /** String shown when `participantState` is `Hold` */ participantStateHold?: string; /** Aria Label applied to the base element of the `participantItem` */ participantItemAriaLabel?: string; /** Aria Label applied to the base element of the `participantItem` when there are more options present */ participantItemWithMoreOptionsAriaLabel?: string; /** String for the attendee role */ attendeeRole: string; /** Label for the disabled microphone icon in participant state stack */ micDisabledIconLabel: string; /** Label for the disabled camera icon in participant state stack */ cameraDisabledIconLabel: string; } /** * Props for {@link ParticipantItem}. * * @public */ export interface ParticipantItemProps { /** Unique User ID of the participant. This `userId` is available in the `onRenderAvatar` callback function */ userId?: string; /** Name of participant. */ displayName?: string; /** Optional indicator to show participant is the user. */ me?: boolean; /** Optional callback returning a JSX element to override avatar. */ onRenderAvatar?: OnRenderAvatarCallback; /** Optional array of IContextualMenuItem for contextual menu. */ menuItems?: IContextualMenuItem[]; /** Optional callback returning a JSX element rendered on the right portion of the ParticipantItem. Intended for adding icons. */ onRenderIcon?: (props?: ParticipantItemProps) => JSX.Element | null; /** Optional PersonaPresence to show participant presence. This will not have an effect if property avatar is assigned. */ presence?: PersonaPresence; /** * Allows users to pass in an object contains custom CSS styles. * @Example * ``` * * ``` */ styles?: ParticipantItemStyles; /** * Optional strings to override in component */ strings?: Partial; /** * Optional callback when component is clicked */ onClick?: (props?: ParticipantItemProps) => void; /** Optional value to determine if the tooltip should be shown for participants or not */ showParticipantOverflowTooltip?: boolean; /** * Optional value to determine and display a participants connection status. * For example, `Connecting`, `Ringing` etc. * The actual text that is displayed is determined by the localized string * corresponding to the provided participant state. * For example, `strings.participantStateConnecting` will be used if `participantState` is `Connecting`. */ participantState?: ParticipantState; /** * Optional aria property that prefixes the ParticipantItems aria content * Takes in a unique id value of the element you would like to be read before the ParticipantItem. */ ariaLabelledBy?: string; } /** * Component to render a calling or chat participant. * * Displays the participant's avatar, displayName and status as well as optional icons and context menu. * * @public */ export declare const ParticipantItem: (props: ParticipantItemProps) => JSX.Element; /** @private */ export declare const formatParticipantStateString: (props: ParticipantItemProps, strings: ParticipantItemStrings) => string | undefined; //# sourceMappingURL=ParticipantItem.d.ts.map