communication-react-19
Version:
React library for building modern communication user experiences utilizing Azure Communication Services (React 19 compatible fork)
126 lines • 3.95 kB
TypeScript
/**
* @internal
* Converts units of rem to units of pixels
* @param rem - units of rem
* @returns units of pixels
*/
export declare const _convertRemToPx: (rem: number) => number;
/**
* @internal
* Converts units of pixels to units of rem
* @param px - units of px
* @returns units of rem
*/
export declare const _convertPxToRem: (px: number) => number;
/**
* @internal
* Disable dismiss on resize to work around a couple Fluent UI bugs
* - The Callout is dismissed whenever *any child of window (inclusive)* is resized. In practice, this
* happens when we change the VideoGallery layout, or even when the video stream element is internally resized
* by the headless SDK.
* - We also want to prevent dismiss when chat pane is scrolling especially a new message is added.
* A side effect of this workaround is that the context menu stays open when window is resized, and may
* get detached from original target visually. That bug is preferable to the bug when this value is not set -
* The Callout (frequently) gets dismissed automatically.
*/
export declare const _preventDismissOnEvent: (ev: Event | React.FocusEvent | React.KeyboardEvent | React.MouseEvent) => boolean;
/**
* @internal
* Helper function to get the keys of an object
*/
export declare function _getKeys<T extends object>(obj: T): (keyof T)[];
/**
* Data model that represents a chat message attachment
* where it contains an ID to uniquely identify the attachment,
* a name that represents the name of file, and
* a URL to download the attachment.
*
* @public
*/
export interface AttachmentMetadata {
/**
* Unique ID of the attachment.
*/
id: string;
/**
* Attachment name to be displayed.
*/
name: string;
/**
* Download URL for the attachment.
*/
url: string;
}
/**
* Result payload for uploading an image.
*
* @beta
*/
export type UploadChatImageResult = {
/** Id of the image. */
id: string;
/** The type of attachment. */
attachmentType?: 'image' | 'file' | 'unknown';
/** The name including file extension type of the attachment. */
name?: string;
};
/**
* Data model that represents a chat message attachment being uploaded
* where it contains an ID to uniquely identify the attachment,
* a name that represents the name of file,
* an optional URL to download the attachment,
* an optional progress value between 0 and 1 indicating the progress of the upload, and
* an optional error object that contains error message would be shown to the user.
*
*
* @beta
*/
export interface AttachmentMetadataInProgress {
/**
* Unique ID of the attachment.
*/
id: string;
/**
* Attachment name to be displayed.
*/
name: string;
/**
* Download URL for the attachment.
*/
url?: string;
/**
* A number between 0 and 1 indicating the progress of the upload.
*/
progress?: number;
/**
* A object contains error message would be shown to the user.
*/
error?: AttachmentProgressError;
}
/**
* @beta
* A attachment progress error object that contains message to be shown to
* the user when upload fails.
*/
export interface AttachmentProgressError {
message: string;
}
/**
* @beta
* Message option that defines properties that can be set when
* sending or updating a chat message.
* @property metadata - Metadata that contains additional information about the message to be passed between 2 users.
* @property attachments - Attachments that contains file attachments attached to the message.
* @property type - Type of the message content, either 'text' or 'html'.
*/
export type MessageOptions = {
metadata?: Record<string, string>;
attachments?: AttachmentMetadata[];
type?: ChatMessageType;
};
/**
* @beta
* Type of the message content, either 'text' or 'html'.
*/
export type ChatMessageType = 'text' | 'html';
//# sourceMappingURL=common.d.ts.map