communication-react-19
Version:
React library for building modern communication user experiences utilizing Azure Communication Services (React 19 compatible fork)
126 lines • 4 kB
TypeScript
/// <reference types="react" />
import { OptionsDevice } from "../../../../../react-components/src";
import { ReactionResources } from "../../../../../react-components/src";
import { VideoGalleryLayout } from "../../../../../react-components/src";
import { AudioDeviceInfo } from '@azure/communication-calling';
import { CommonCallControlOptions } from '../types/CommonCallControlOptions';
import { DtmfDialPadOptions } from '../../CallComposite';
/** @private */
export interface MoreDrawerStrings {
/**
* Label for people drawerMenuItem.
*/
peopleButtonLabel: string;
/**
* Label for audio device drawerMenuItem.
*
* @remarks This replaces the microphoneMenuTitle speakers can not be enumerated
*
*/
audioDeviceMenuTitle?: string;
/**
* Label for microphone drawerMenuItem.
*
* @remarks Only displayed when speakers can be enumerated otherwise audioDeviceMenuTitle is used
*
*/
microphoneMenuTitle: string;
/**
* Label for speaker drawerMenuItem.
*
* @remarks Only displayed when speakers can be enumerated
*
*/
speakerMenuTitle: string;
/**
* Label for captions drawerMenuItem
*
* @remarks Only displayed when in Teams call
*/
captionsMenuTitle: string;
/**
* Label for spokenLanguage drawerMenuItem
*
* @remarks Only displayed when in Teams call, disabled until captions is on
*/
spokenLanguageMenuTitle: string;
/**
* Label for captionLanguage drawerMenuItem
*
* @remarks Only displayed when in Teams call, disabled until captions is on
*/
captionLanguageMenuTitle: string;
/**
* Label for gallery options drawerMenuItem
*/
galleryOptionsMenuTitle: string;
}
/** @private */
export interface MoreDrawerDevicesMenuProps {
/**
* Available microphones for selection
*/
microphones?: OptionsDevice[];
/**
* Available speakers for selection
*/
speakers?: OptionsDevice[];
/**
* Microphone that is shown as currently selected
*/
selectedMicrophone?: OptionsDevice;
/**
* Speaker that is shown as currently selected
*/
selectedSpeaker?: OptionsDevice;
/**
* Speaker when a speaker is selected
*/
onSelectSpeaker: (device: AudioDeviceInfo) => Promise<void>;
/**
* Callback when a microphone is selected
*/
onSelectMicrophone: (device: AudioDeviceInfo) => Promise<void>;
userSetGalleryLayout?: VideoGalleryLayout;
/**
* Callback for when the gallery layout is changed
*/
onUserSetGalleryLayout?: (layout: VideoGalleryLayout) => void;
/**
* Callback to hide and show the dialpad in the more drawer
*/
onSetDialpadPage?: () => void;
/**
* Whether the dialpad is present in the call
*/
dtmfDialerPresent?: boolean;
/**
* options for the controls of the DTMF dialer
*/
dtmfDialerOptions?: boolean | DtmfDialPadOptions;
}
/** @private */
export interface MoreDrawerProps extends MoreDrawerDevicesMenuProps {
onLightDismiss: () => void;
onPeopleButtonClicked: () => void;
callControls?: boolean | CommonCallControlOptions;
onClickShowDialpad?: () => void;
isCaptionsSupported?: boolean;
isRealTimeTextSupported?: boolean;
strings: MoreDrawerStrings;
disableButtonsForHoldScreen?: boolean;
useTeamsCaptions?: boolean;
reactionResources?: ReactionResources;
onReactionClick?: (reaction: string) => Promise<void>;
onClickMeetingPhoneInfo?: () => void;
onMuteAllRemoteParticipants?: () => void;
onForbidOthersAudio?: () => void;
onPermitOthersAudio?: () => void;
onForbidOthersVideo?: () => void;
onPermitOthersVideo?: () => void;
onStartRealTimeText?: () => void;
startRealTimeTextButtonChecked?: boolean;
}
/** @private */
export declare const MoreDrawer: (props: MoreDrawerProps) => JSX.Element;
//# sourceMappingURL=MoreDrawer.d.ts.map