communication-react-19
Version:
React library for building modern communication user experiences utilizing Azure Communication Services (React 19 compatible fork)
233 lines • 7.66 kB
TypeScript
/// <reference types="react" />
import { IMessageBarProps } from '@fluentui/react';
/**
* Props for {@link ErrorBar}.
*
* In addition to the following, {@link ErrorBar} forwards all
* {@link @fluentui/react#IMessageBarProps} to the underlying {@link @fluentui/react#MessageBar}.
*
* @public
*/
export interface ErrorBarProps extends IMessageBarProps {
/**
* Strings shown on the UI on errors.
*/
strings?: ErrorBarStrings;
/**
* Currently active errors.
*/
activeErrorMessages: ActiveErrorMessage[];
/**
* If set, errors with {@link ActiveErrorMessage.timestamp} older than the time this component is mounted
* are not shown.
*
* This is useful when using the {@link ErrorBar} with a stateful client that handles more than one call
* or chat thread. Set this prop to ignore errors from previous call or chat.
*
* @defaultValue false
*/
ignorePremountErrors?: boolean;
/**
* Callback called when the dismiss button is triggered.
* Use this to control errors shown when they dismissed by the user.
*/
onDismissError?: (dismissedError: ActiveErrorMessage) => void;
}
/**
* All strings that may be shown on the UI in the {@link ErrorBar}.
*
* @public
*/
export interface ErrorBarStrings {
/**
* Unable to reach Chat service.
*
* This can mean:
* - Incorrect Azure Communication Services endpoint was provided.
* - User's network connection is down.
*/
unableToReachChatService: string;
/**
* User does not have access to the Chat service.
* This usually means that either the Azure Communication Services endpiont or the token provided are incorrect.
*/
accessDenied: string;
/**
* User is no longer on the thread.
*
* See also: {@link ErrorBarStrings.sendMessageNotInChatThread} for a more specific error.
*/
userNotInChatThread: string;
/**
* Sending message failed because user is no longer on the thread.
*/
sendMessageNotInChatThread: string;
/**
* A generic message when sending message fails.
* Prefer more specific error strings when possible.
*/
sendMessageGeneric: string;
/**
* A generic message when starting video fails.
*/
startVideoGeneric: string;
/**
* A generic message when starting video fails.
*/
stopVideoGeneric: string;
/**
* A generic message when muting microphone fails.
*/
muteGeneric: string;
/**
* A generic message when unmuting microphone fails.
*/
unmuteGeneric: string;
/**
* A generic message when starting screenshare fails.
*/
startScreenShareGeneric: string;
/**
* A generic message when stopping screenshare fails.
*/
stopScreenShareGeneric: string;
/**
* Message shown when poor network quality is detected during a call.
*/
callNetworkQualityLow: string;
/**
* Message shown when poor network quality is detected during a call.
*/
teamsMeetingCallNetworkQualityLow: string;
/**
* Message shown on failure to detect audio output devices.
*/
callNoSpeakerFound: string;
/**
* Message shown on failure to detect audio input devices.
*/
callNoMicrophoneFound: string;
/**
* Message shown when microphone can be enumerated but access is blocked by the system.
*/
callMicrophoneAccessDenied: string;
/**
* Message shown when microphone can be enumerated but access is blocked by the system, for safari browsers
*/
callMicrophoneAccessDeniedSafari: string;
/**
* Message shown when microphone is muted by the system (not by local or remote participants)
*/
callMicrophoneMutedBySystem: string;
/**
* Message shown when microphone is unmuted by the system (not by local or remote participants).
* This typically occurs if the system recovers from an unexpected mute.
*/
callMicrophoneUnmutedBySystem: string;
/**
* Mac OS specific message shown when microphone can be enumerated but access is
* blocked by the system.
*/
callMacOsMicrophoneAccessDenied: string;
/**
* Message shown when poor network causes local video stream to be frozen.
*/
callLocalVideoFreeze: string;
/**
* Message shown when camera can be enumerated but access is blocked by the system.
*/
callCameraAccessDenied: string;
/**
* Message shown when camera can be enumerated but access is blocked by the system, for safari browsers
*/
callCameraAccessDeniedSafari: string;
/**
* Message shown when local video fails to start because camera is already in use by
* another applciation.
*/
callCameraAlreadyInUse: string;
/**
* Message shown when local video is stopped by the system (not by local or remote participants)
*/
callVideoStoppedBySystem: string;
/**
* Message shown when local video was recovered by the system (not by the local participant)
*/
callVideoRecoveredBySystem: string;
/**
* Mac OS specific message shown when system denies access to camera.
*/
callMacOsCameraAccessDenied: string;
/**
* Mac OS specific message shown when system denies sharing local screen on a call.
*/
callMacOsScreenShareAccessDenied: string;
/**
* Dimiss errorbar button aria label read by screen reader accessibility tools
*/
dismissButtonAriaLabel?: string;
/**
* An error message when joining a call fails.
*/
failedToJoinCallGeneric?: string;
/**
* An error message when joining a call fails specifically due to an invalid meeting link.
*/
failedToJoinCallInvalidMeetingLink?: string;
/**
* Error bar string letting you know remote participants see a frozen stream for you.
*/
cameraFrozenForRemoteParticipants?: string;
/**
* Unable to start effect
*/
unableToStartVideoEffect?: string;
/**
* An error message when starting spotlight while max participants are spotlighted
*/
startSpotlightWhileMaxParticipantsAreSpotlighted: string;
/**
* An error message when local user is muted by a remote participant
*/
mutedByRemoteParticipant: string;
}
/**
* All errors that can be shown in the {@link ErrorBar}.
*
* @public
*/
export type ErrorType = keyof ErrorBarStrings;
/**
* Active error messages to be shown via {@link ErrorBar}.
*
* @public
*/
export interface ActiveErrorMessage {
/**
* Type of error that is active.
*/
type: ErrorType;
/**
* The latest timestamp when this error was observed.
*
* When available, this is used to track errors that have already been seen and dismissed
* by the user.
*/
timestamp?: Date;
}
/**
* A component to show error messages on the UI.
* All strings that can be shown are accepted as the {@link ErrorBarProps.strings} so that they can be localized.
* Active errors are selected by {@link ErrorBarProps.activeErrorMessages}.
*
* This component internally tracks dismissed by the user.
* * Errors that have an associated timestamp: The error is shown on the UI again if it occurs after being dismissed.
* * Errors that do not have a timestamp: The error is dismissed until it disappears from the props.
* If the error recurs, it is shown in the UI.
*
* Uses {@link @fluentui/react#MessageBar} UI element.
*
* @public
*/
export declare const ErrorBar: (props: ErrorBarProps) => JSX.Element;
//# sourceMappingURL=ErrorBar.d.ts.map