UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

51 lines (50 loc) 1.57 kB
import type { TextAreaRef } from 'antd/es/input/TextArea'; import { CSSProperties, ReactNode, Ref } from 'react'; import { FlexboxProps } from 'react-layout-kit'; import type { DraggablePanelProps } from "../../DraggablePanel"; import type { TextAreaProps } from "../../Input"; export interface ChatInputAreaProps extends Omit<ChatInputAreaInnerProps, 'classNames'> { bottomAddons?: ReactNode; classNames?: DraggablePanelProps['classNames']; expand?: boolean; heights?: { headerHeight?: number; inputHeight?: number; maxHeight?: number; minHeight?: number; }; onSizeChange?: DraggablePanelProps['onSizeChange']; ref?: Ref<TextAreaRef>; setExpand?: (expand: boolean) => void; topAddons?: ReactNode; } export interface ChatInputActionBarProps { leftAddons?: ReactNode; mobile?: boolean; padding?: number | string; ref?: Ref<HTMLDivElement>; rightAddons?: ReactNode; } export interface ChatInputAreaInnerProps extends Omit<TextAreaProps, 'onInput'> { className?: string; loading?: boolean; onInput?: (value: string) => void; onSend?: () => void; ref?: Ref<TextAreaRef>; style?: CSSProperties; } export interface ChatSendButtonProps extends FlexboxProps { className?: string; leftAddons?: ReactNode; loading?: boolean; onSend?: () => void; onStop?: () => void; ref?: Ref<HTMLDivElement>; rightAddons?: ReactNode; style?: CSSProperties; texts?: { send?: string; stop?: string; warp?: string; }; }