@promptbook/wizard
Version:
Promptbook: Create persistent AI agents that turn your company's scattered knowledge into action
35 lines (34 loc) • 1.22 kB
TypeScript
import { type MutableRefObject, type UIEvent } from 'react';
import type { ChatMessage } from '../types/ChatMessage';
/**
* Inputs required to coordinate Chat scroll behavior.
*
* @private function of `useChatScrollState`
*/
type UseChatScrollStateProps = {
messages: ReadonlyArray<ChatMessage>;
};
/**
* Public result consumed by `<Chat/>`.
*
* @private function of `useChatScrollState`
*/
type UseChatScrollStateResult = {
readonly actionsRef: MutableRefObject<HTMLDivElement | null>;
readonly ariaLabel: string;
readonly badgeLabel: string;
readonly handleChatScroll: (event: UIEvent<HTMLDivElement>) => void;
readonly isMobile: boolean;
readonly scrollToBottom: (behavior?: 'smooth' | 'auto') => void;
readonly setChatMessagesElement: (element: HTMLDivElement | null) => void;
readonly shouldDisableActions: boolean;
readonly shouldFadeActions: boolean;
readonly shouldShowScrollToBottom: boolean;
};
/**
* Coordinates auto-scroll, overlap tracking, and the scroll-to-bottom indicator for `<Chat/>`.
*
* @private function of `<Chat/>`
*/
export declare function useChatScrollState({ messages }: UseChatScrollStateProps): UseChatScrollStateResult;
export {};