gradio/js/downloadbutton/Index.svelte

42 lines
1.0 KiB
Svelte
Raw Normal View History

<script context="module" lang="ts">
export { default as BaseButton } from "./shared/DownloadButton.svelte";
</script>
<script lang="ts">
import type { Gradio } from "@gradio/utils";
import { type FileData } from "@gradio/client";
import DownloadButton from "./shared/DownloadButton.svelte";
export let elem_id = "";
export let elem_classes: string[] = [];
export let visible = true;
export let value: null | FileData;
export let variant: "primary" | "secondary" | "stop" = "secondary";
export let interactive: boolean;
export let size: "sm" | "lg" = "lg";
export let scale: number | null = null;
export let icon: null | FileData = null;
export let min_width: number | undefined = undefined;
export let label: string | null = null;
export let gradio: Gradio<{
click: never;
}>;
</script>
<DownloadButton
{value}
{variant}
{elem_id}
{elem_classes}
{size}
{scale}
{icon}
{min_width}
{visible}
disabled={!interactive}
on:click={() => gradio.dispatch("click")}
>
{label ? gradio.i18n(label) : ""}
</DownloadButton>