stream-chat-react
Version:
React components to create chat conversations or livestream style chat
42 lines • 1.61 kB
TypeScript
import type { CSSProperties, ElementType, PropsWithChildren } from 'react';
export declare const useDragAndDropUploadContext: () => {
subscribeToDrop: ((fn: (files: File[]) => void) => () => void) | null;
};
/**
* @private This hook should be used only once directly in the `MessageComposerProvider` to
* register `uploadNewFiles` functions of the rendered message composers. Each `MessageComposer`
* will then be notified when the drop event occurs from within the `WithDragAndDropUpload`
* component.
*/
export declare const useRegisterDropHandlers: () => void;
/**
* Wrapper to replace now deprecated `Channel.dragAndDropWindow` option.
*
* @example
* ```tsx
* <Channel>
* <WithDragAndDropUpload component="section" className="message-list-dnd-wrapper">
* <Window>
* <MessageList />
* <MessageComposer />
* </Window>
* </WithDragAndDropUpload>
* <Thread />
* <Channel>
* ```
*/
export declare const WithDragAndDropUpload: ({ children, className, component: Component, style, }: PropsWithChildren<{
acceptedFiles?: string[];
/**
* @description An element to render as a wrapper onto which drag & drop functionality will be applied.
* @default 'div'
*/
component?: ElementType;
className?: string;
style?: CSSProperties;
}>) => import("react/jsx-runtime").JSX.Element;
export type FileDragAndDropContentProps = {
isDragRejected: boolean;
};
export declare const FileDragAndDropContent: ({ isDragRejected, }: FileDragAndDropContentProps) => import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=WithDragAndDropUpload.d.ts.map