import { HTMLAttributes } from 'svelte/elements';
import { Component, DefaultProps, SvelteUIColor, SvelteUINumberSize } from '../../styles';
export interface FileItem {
name?: string;
icon?: string;
size?: number;
file?: File;
}
export interface FileUploadProps
extends DefaultProps,
HTMLAttributes {
accept?: string;
type?: T;
name?: string;
multiple?: boolean;
files?: FileItem[];
label?: string;
color?: SvelteUIColor;
size?: SvelteUINumberSize;
disabled?: boolean;
id?: string;
icon?: Component | HTMLOrSVGElement;
fileIcon?: Component | HTMLOrSVGElement;
removeIcon?: Component | HTMLOrSVGElement;
reset?: boolean;
resetLabel?: string;
resetColor?: SvelteUIColor;
resetIcon?: Component | HTMLOrSVGElement;
preview?: boolean;
}
export interface FileUploadEvents {
selected?: CustomEvent;
removed?: CustomEvent<{ file: File; index: number }>;
reset?: CustomEvent;
[evt: string]: CustomEvent;
}