@llamaindex/ui
Version:
A comprehensive UI component library built with React, TypeScript, and Tailwind CSS for LlamaIndex applications
100 lines (88 loc) • 5.61 kB
TypeScript
import * as react_jsx_runtime from 'react/jsx-runtime';
import { F as FileDropzoneProps, f as FileUploaderProps, e as FileUploadProps$1, b as UseFileUploadOptions, d as UseFileUploadReturn } from '../index-TgFjpaTY.js';
export { a as FileUploadData, I as InputField, c as UploadFromUrlOptions, U as UploadResult } from '../index-TgFjpaTY.js';
import * as React from 'react';
import { ComponentProps, DragEvent, ChangeEvent } from 'react';
export { a as FILE_TYPE_GROUPS, F as FileType, e as createFileTypeValidator, f as formatFileSize, b as getFileExtensions, c as getFileMimeTypes, g as getFileTypeDefinition, d as getFileTypesByCategory, j as isCryptoSupported, h as isFileApiSupported, i as isFileTypeMatch, v as validateFile } from '../file-utils-CUHxYCcA.js';
interface FileUploadProgress {
file: File;
progress: number;
status: "uploading" | "completed" | "error" | "canceled";
error?: string;
}
declare function FileDropzone({ multiple, selectedFiles, onFilesSelected, onRemoveFile, className, allowedFileTypes, maxFileSizeBytes, listFooter, footer, showRemoveButton, disabled, emptyTitle, emptyDescription, }: FileDropzoneProps): react_jsx_runtime.JSX.Element;
declare function FileUploader({ title, description, inputFields, allowedFileTypes, maxFileSizeBytes, // 100MB default
multiple, onSuccess, trigger, isProcessing, }: FileUploaderProps): react_jsx_runtime.JSX.Element;
declare function FileUpload({ className, heading, content, onContentChange, allowFileRemoval, showHeader, allowedFileTypes, maxFileSizeBytes, uploadDescription, fileUrlPlaceholder, disableWhenHasSelection, footer, }: FileUploadProps$1): react_jsx_runtime.JSX.Element;
type FileUploadProps = ComponentProps<typeof FileUpload>;
type BaseManagedProps = {
variant?: "inline" | "modal";
};
type InlineVariantProps = BaseManagedProps & {
variant?: "inline";
} & FileUploadProps;
type ModalVariantProps = BaseManagedProps & {
variant: "modal";
} & FileUploaderProps;
type ManagedFileUploadProps = InlineVariantProps | ModalVariantProps;
declare function ManagedFileUpload(props: ManagedFileUploadProps): react_jsx_runtime.JSX.Element;
interface UploadProgressProps {
files: FileUploadProgress[];
onClose: () => void;
}
declare function UploadProgress({ files, onClose }: UploadProgressProps): react_jsx_runtime.JSX.Element | null;
interface UseFileDropzoneOptions {
onFilesSelected: (files: File[]) => void;
multiple?: boolean;
}
declare function useFileDropzone({ onFilesSelected, multiple, }: UseFileDropzoneOptions): {
inputRef: React.RefObject<HTMLInputElement | null>;
isDragging: boolean;
handleDragEnter: (event: DragEvent<HTMLElement>) => void;
handleDragOver: (event: DragEvent<HTMLElement>) => void;
handleDragLeave: (event: DragEvent<HTMLElement>) => void;
handleDrop: (event: DragEvent<HTMLElement>) => void;
handleFileInputChange: (event: ChangeEvent<HTMLInputElement>) => void;
handleClick: () => void;
};
declare function useFileUpload({ onProgress, onUploadStart, onUploadComplete, onUploadError, }?: UseFileUploadOptions): UseFileUploadReturn;
interface UseUploadProgressReturn {
uploadProgressFiles: FileUploadProgress[];
startUpload: (file: File) => void;
updateProgress: (file: File, progress: number) => void;
completeUpload: (file: File) => void;
failUpload: (file: File, error: string) => void;
removeUpload: (file: File) => void;
clearAllUploads: () => void;
isVisible: boolean;
hideProgress: () => void;
}
declare function useUploadProgress(): UseUploadProgressReturn;
declare const PROGRESS_THRESHOLD = 3;
declare function getDisplayModes(fileCount: number): {
showOverallProgress: boolean;
isCompact: boolean;
};
declare function addUploadToQueue(uploads: FileUploadProgress[], file: File): FileUploadProgress[];
declare function updateFileProgress(uploads: FileUploadProgress[], file: File, progress: number): FileUploadProgress[];
declare function completeFileUpload(uploads: FileUploadProgress[], file: File): FileUploadProgress[];
declare function failFileUpload(uploads: FileUploadProgress[], file: File, error: string): FileUploadProgress[];
declare function cancelFileUpload(uploads: FileUploadProgress[], file: File): FileUploadProgress[];
declare function cancelAllUploads(uploads: FileUploadProgress[]): FileUploadProgress[];
declare function removeFileUpload(uploads: FileUploadProgress[], file: File): FileUploadProgress[];
declare function removeCompletedUploads(uploads: FileUploadProgress[]): FileUploadProgress[];
interface UploadStats {
total: number;
uploading: number;
completed: number;
failed: number;
canceled: number;
totalProgress: number;
}
declare function calculateUploadStats(uploads: FileUploadProgress[]): UploadStats;
declare function hasActiveUploads(uploads: FileUploadProgress[]): boolean;
declare function getVisibleFiles(uploads: FileUploadProgress[], showAll: boolean, maxVisible?: number): {
filesToShow: FileUploadProgress[];
shouldShowViewMore: boolean;
};
export { FileDropzone, FileDropzoneProps, FileUpload, type FileUploadProgress, FileUploadProps$1 as FileUploadProps, FileUploader, FileUploaderProps, ManagedFileUpload, PROGRESS_THRESHOLD, UploadProgress, type UploadStats, UseFileUploadOptions, UseFileUploadReturn, addUploadToQueue, calculateUploadStats, cancelAllUploads, cancelFileUpload, completeFileUpload, failFileUpload, getDisplayModes, getVisibleFiles, hasActiveUploads, removeCompletedUploads, removeFileUpload, updateFileProgress, useFileDropzone, useFileUpload, useUploadProgress };