@ebay/ebayui-core
Version:
Collection of core eBay components; considered to be the building blocks for all composite structures, pages & apps.
43 lines (42 loc) • 1.42 kB
TypeScript
import type { AttrString } from "marko/tags-html";
import { WithNormalizedProps } from "../../global";
import { MenuButtonEvent } from "../ebay-menu-button/component";
export interface FilePreviewCardEvent {
file: File;
menuAction: FilePreviewCardMenuAction;
originalEvent: Event;
}
export type FilePreviewCardMenuAction = {
event: string;
label: string;
};
export type FilePreviewCardFile = File | {
name: string;
type?: File["type"];
src?: string;
};
interface FilePreviewCardInput extends Omit<Marko.HTML.Div, `on${string}`> {
"a11y-cancel-upload-text"?: AttrString;
"delete-text"?: AttrString;
as?: keyof Marko.NativeTags;
file?: FilePreviewCardFile;
status?: "uploading";
href?: string;
"info-text"?: AttrString;
"menu-actions"?: FilePreviewCardMenuAction[];
action?: Marko.AttrTag<Marko.HTML.Button>;
"see-more"?: number;
"a11y-see-more-text"?: AttrString;
"footer-title"?: AttrString;
"footer-subtitle"?: AttrString;
"on-menu-action"?: (name: string, event: MenuButtonEvent) => void;
"on-see-more"?: () => void;
"on-delete"?: () => void;
"on-action"?: () => void;
"on-cancel"?: () => void;
}
export type Input = WithNormalizedProps<FilePreviewCardInput>;
declare class FilePreviewCard extends Marko.Component<Input> {
handleMenuSelect(event: MenuButtonEvent): void;
}
export default FilePreviewCard;