import type { HTMLAttributes, ReactNode, MouseEvent } from 'react'; export type LoaderType = 'circular' | 'linear'; export type ActionPlacement = 'left' | 'right'; export type BaseFileProps = { /** * Название файла */ filename: string; /** * Описание файла */ description?: string; /** * Контент справа * Виден только если isLoading = false */ actionContent?: ReactNode; /** * Размещение контента ( кнопка действия и loader ) относительно текста * @default 'right' */ actionPlacement?: ActionPlacement; /** * Контент слева (иконка файла); * thumbIcon, thumbUrl и fileUrl не могут быть использованы одновременно */ thumbIcon?: ReactNode; /** * Контент слева (URL изображения); * thumbIcon, thumbUrl и fileUrl не могут быть использованы одновременно */ thumbUrl?: string; /** * Контент слева, что иконка файла определяется автоматически в зависимости от расширения файла * thumbIcon, thumbUrl и fileUrl не могут быть использованы одновременно */ fileUrl?: string; /** * Состояние загрузки * @default false */ isLoading?: boolean; /** * Тип загрузчика * @default 'circular' */ loaderType?: LoaderType; /** * Слот для компонента загрузки. В зависимости от loaderType слот находиться в разных местах: * - 'circular' - справа вместо contentRight * - 'linear' - в низу компонента * @default ProgressBarCircular */ loader?: ReactNode; /** * Значение загрузчика * @default 0 */ loaderValue?: number; /** * Максимальное значение загрузчика * @default 100 */ loaderMaxValue?: number; /** * Вид файла * @default 'default' */ view?: string; /** * Размер файла * @default 'm' */ size?: string; /** * Файл неактивен * @default false */ disabled?: boolean; /** * Функция вызываемая при отмене загруки */ onCancel?: (event: MouseEvent) => void; /** * Функция вызываемая при при клике на `actionContent` */ onActionClick?: (event: MouseEvent) => void; }; export type FileProps = HTMLAttributes & BaseFileProps; export type FileRootProps = Omit; //# sourceMappingURL=File.types.d.ts.map