import { default as React } from 'react'; import { Breakpoint } from '../../../helpers'; import { FeedbackTextProps } from '../../form/feedback-text/feedback-text'; export type AttachmentDirection = 'horizontal' | 'vertical'; export interface AttachmentProps extends Omit, 'onClick' | 'color'> { /** * File name (required). */ name: string; /** * Hint / error message shown below the card, wired via `aria-describedby`. */ feedback?: FeedbackTextProps; /** * Pre-formatted file size (e.g. `'1.2 MB'`), shown after the name. Format it yourself. */ fileSize?: string; /** * Material icon name for a leading file-type glyph. */ icon?: string | null; /** * Action buttons (download, delete, …) shown on the right. `Button`s default to * `visualType="neutral"`. */ actions?: React.ReactNode; /** * Show an upload progress bar. * @default false */ isLoading?: boolean; /** * Upload progress (0..100); only shown while `isLoading`. * @default 0 */ progress?: number; /** * Hint text under the progress bar (e.g. `'Üleslaadimine'`); only shown while `isLoading`. */ progressLabel?: string; /** * `false` switches the card to the error state (danger surface + warning glyph). */ isValid?: boolean; /** * Force the layout: `'vertical'` stacks the content, `'horizontal'` keeps one row. * When omitted, derived from the viewport via `verticalBelow`. */ direction?: AttachmentDirection; /** * Breakpoint below which the layout auto-switches to vertical (when `direction` is unset). * @default sm */ verticalBelow?: Breakpoint; /** * Additional class name on the root element. */ className?: string; } export declare const Attachment: React.ForwardRefExoticComponent>; export default Attachment;