@azure/communication-react
Version:
React library for building modern communication user experiences utilizing Azure Communication Services
63 lines • 2.25 kB
TypeScript
import { PartialTheme, Theme } from '@fluentui/react';
import { ParticipantMenuItemsCallback } from "../../../../react-components/src";
import React from 'react';
import { CompositeLocale } from '../localization';
import { AvatarPersonaDataCallback } from './AvatarPersona';
import { CallCompositeIcons, CallWithChatCompositeIcons, ChatCompositeIcons } from './icons';
/**
* Properties common to all composites exported from this library.
*
* @public
*/
export interface BaseCompositeProps<TIcons extends Record<string, JSX.Element>> {
/**
* Fluent theme for the composite.
*
* @defaultValue light theme
*/
fluentTheme?: PartialTheme | Theme;
/**
* Custom Icon override for the composite.
* A JSX element can be provided to override the default icon.
*/
icons?: TIcons;
/**
* Locale for the composite.
*
* @defaultValue English (US)
*/
locale?: CompositeLocale;
/**
* Whether composite is displayed right-to-left.
*
* @defaultValue false
*/
rtl?: boolean;
/**
* A callback function that can be used to provide custom data to Avatars rendered
* in Composite.
*
* This will not affect the displayName shown in the composite.
* The displayName throughout the composite will be what is provided to the adapter when the adapter is created.
* will be what is provided to the adapter when the adapter is created.
*/
onFetchAvatarPersonaData?: AvatarPersonaDataCallback;
/**
* A callback function that can be used to provide custom menu items for a participant in
* participant list.
*/
onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;
}
/**
* A base provider {@link React.Context} to wrap components with other required providers
* (e.g. icons, FluentThemeProvider, LocalizationProvider).
*
* Required providers are only wrapped once, with all other instances only passing children.
*
* @private
*/
export declare const BaseProvider: (props: BaseCompositeProps<CallCompositeIcons | ChatCompositeIcons | CallWithChatCompositeIcons> & {
children: React.ReactNode;
formFactor?: 'desktop' | 'mobile';
}) => JSX.Element;
//# sourceMappingURL=BaseComposite.d.ts.map