@ebay/ebayui-core
Version:
Collection of core eBay components; considered to be the building blocks for all composite structures, pages & apps.
26 lines (25 loc) • 789 B
TypeScript
import type { WithNormalizedProps } from "../../global";
export interface FileInputEvent {
files: FileList;
originalEvent: Event;
}
interface FileInputInput extends Omit<Marko.HTML.Input, `on${string}` | "type"> {
renderBody?: Marko.Body;
header?: Marko.AttrTag<Marko.Input<`h${number}`> & {
as?: `h${number}`;
}>;
subheader?: Marko.AttrTag<Marko.HTML.Span>;
"on-input"?: (event: FileInputEvent) => void;
}
export interface Input extends WithNormalizedProps<FileInputInput> {
}
export interface State {
dragging: boolean;
}
declare class FileUploadInput extends Marko.Component<Input, State> {
onCreate(): void;
handleFileChange(event: Event): void;
handleDragOver(): void;
handleDragLeave(): void;
}
export default FileUploadInput;