@chatscope/chat-ui-kit-react
Version:
React component library for creating chat interfaces
42 lines (36 loc) • 2.27 kB
TypeScript
import type {
DetailedHTMLProps, HTMLAttributes, PropsWithChildren,
ComponentPropsWithRef, ComponentPropsWithoutRef, ElementType
} from "react";
/* eslint-disable @typescript-eslint/no-explicit-any */
export type EmptyProps = Record<never, any>;
export type ElementTypeOrHTMLElement = ElementType | HTMLElement;
export type ChatComponentProps<P,T extends ElementTypeOrHTMLElement> =
P & (T extends ElementType ? Omit<ComponentPropsWithoutRef<T>, "children" | keyof P> : Omit<HTMLAttributes<T>, "children" | keyof P>);
export type ChatComponentPropsRef<P,T extends ElementTypeOrHTMLElement> =
P & (T extends ElementType ? Omit<ComponentPropsWithRef<T>, "children" | keyof P > : Omit<DetailedHTMLProps<HTMLAttributes<T>,T>, "children" | keyof P>);
export type ChatComponentPropsChildren<P,T extends ElementTypeOrHTMLElement> = PropsWithChildren<ChatComponentProps<P,T>>;
export type ChatComponentPropsChildrenRef<P,T extends ElementTypeOrHTMLElement> = PropsWithChildren<ChatComponentPropsRef<P,T>>;
export {Size, UserStatus, MessageType} from "./unions";
export * from "../components/Avatar/Avatar";
export * from "../components/AvatarGroup/AvatarGroup";
export * from "../components/Buttons/Buttons";
export * from "../components/ChatContainer/ChatContainer";
export * from "../components/Conversation/Conversation";
export * from "../components/ConversationHeader/ConversationHeader";
export * from "../components/ConversationList/ConversationList";
export * from "../components/ExpansionPanel/ExpansionPanel";
export * from "../components/InputToolbox/InputToolbox";
export * from "../components/Loader/Loader";
export * from "../components/MainContainer/MainContainer";
export * from "../components/Message/Message";
export * from "../components/MessageGroup/MessageGroup";
export * from "../components/MessageInput/MessageInput";
export * from "../components/MessageList/MessageList";
export * from "../components/MessageSeparator/MessageSeparator";
export * from "../components/Overlay/Overlay";
export * from "../components/Search/Search";
export * from "../components/Sidebar/Sidebar";
export * from "../components/Status/Status";
export * from "../components/StatusList/StatusList";
export * from "../components/TypingIndicator/TypingIndicator";