@fluentui/react-northstar
Version:
A themable React component library.
52 lines (51 loc) • 2.52 kB
TypeScript
import { Accessibility, ChatBehaviorProps } from '@fluentui/accessibility';
import * as PropTypes from 'prop-types';
import * as React from 'react';
import { FluentComponentStaticProps, ShorthandCollection } from '../../types';
import { ChildrenComponentProps, UIComponentProps } from '../../utils';
import { ChatDensity } from './chatDensity';
import { ChatItem, ChatItemProps } from './ChatItem';
import { ChatMessage } from './ChatMessage';
import { ChatMessageDetails } from './ChatMessageDetails';
import { ChatMessageHeader } from './ChatMessageHeader';
import { ChatMessageReadStatus } from './ChatMessageReadStatus';
export interface ChatSlotClassNames {
item: string;
}
export interface ChatProps extends UIComponentProps, ChildrenComponentProps {
/** Accessibility behavior if overridden by the user. */
accessibility?: Accessibility<ChatBehaviorProps>;
/** Chat density. */
density?: ChatDensity;
/** Shorthand array of the items inside the chat. */
items?: ShorthandCollection<ChatItemProps>;
}
export declare type ChatStylesProps = Pick<ChatProps, 'density'>;
export declare const chatClassName = "ui-chat";
export declare const chatSlotClassNames: ChatSlotClassNames;
/**
* A Chat displays messages from a conversation between multiple users.
*/
export declare const Chat: (<TExtendedElementType extends React.ElementType<any> = "ul">(props: React.RefAttributes<HTMLUListElement> & Omit<import("@fluentui/react-bindings").PropsOfElement<TExtendedElementType>, "as" | keyof ChatProps> & {
as?: TExtendedElementType;
} & ChatProps) => JSX.Element) & {
propTypes?: React.WeakValidationMap<ChatProps> & {
as: React.Requireable<string | ((props: any, context?: any) => any) | (new (props: any, context?: any) => any)>;
};
contextTypes?: PropTypes.ValidationMap<any>;
defaultProps?: Partial<ChatProps & {
as: "ul";
}>;
displayName?: string;
readonly __PRIVATE_PROPS?: React.RefAttributes<HTMLUListElement> & Omit<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "key" | keyof React.HTMLAttributes<HTMLUListElement>> & {
ref?: React.Ref<HTMLUListElement>;
}, "as" | keyof ChatProps> & {
as?: "ul";
} & ChatProps;
} & FluentComponentStaticProps<ChatProps> & {
Item: typeof ChatItem;
Message: typeof ChatMessage;
MessageDetails: typeof ChatMessageDetails;
MessageReadStatus: typeof ChatMessageReadStatus;
MessageHeader: typeof ChatMessageHeader;
};