2
import type { I18nFormatter } from "@gradio/utils";
3
import { Upload as UploadIcon, ImagePaste } from "@gradio/icons";
12
export let i18n: I18nFormatter;
13
export let message: string | undefined = undefined;
14
export let mode: "full" | "short" = "full";
15
export let hovered = false;
18
image: "upload_text.drop_image",
19
video: "upload_text.drop_video",
20
audio: "upload_text.drop_audio",
21
file: "upload_text.drop_file",
22
csv: "upload_text.drop_csv",
23
gallery: "upload_text.drop_gallery",
24
clipboard: "upload_text.paste_clipboard"
29
<span class="icon-wrap" class:hovered>
30
{#if type === "clipboard"}
37
{i18n(defs[type] || defs.file)}
39
{#if mode !== "short"}
40
<span class="or">- {i18n("common.or")} -</span>
41
{message || i18n("upload_text.click_to_upload")}
48
flex-direction: column;
49
justify-content: center;
51
min-height: var(--size-60);
52
color: var(--block-label-text-color);
53
line-height: var(--line-md);
55
padding-top: var(--size-3);
59
color: var(--body-text-color-subdued);
65
margin-bottom: var(--spacing-lg);
68
@media (--screen-md) {
70
font-size: var(--text-lg);
75
color: var(--color-accent);