gradio
1<script context="module" lang="ts">
2export { default as BaseButton } from "./shared/Button.svelte";
3</script>
4
5<script lang="ts">
6import type { Gradio } from "@gradio/utils";
7import { type FileData } from "@gradio/client";
8
9import Button from "./shared/Button.svelte";
10
11export let elem_id = "";
12export let elem_classes: string[] = [];
13export let visible = true;
14export let value: string | null;
15export let variant: "primary" | "secondary" | "stop" = "secondary";
16export let interactive: boolean;
17export let size: "sm" | "lg" = "lg";
18export let scale: number | null = null;
19export let icon: FileData | null = null;
20export let link: string | null = null;
21export let min_width: number | undefined = undefined;
22export let gradio: Gradio<{
23click: never;
24}>;
25</script>
26
27<Button
28{value}
29{variant}
30{elem_id}
31{elem_classes}
32{size}
33{scale}
34{link}
35{icon}
36{min_width}
37{visible}
38disabled={!interactive}
39on:click={() => gradio.dispatch("click")}
40>
41{value ? gradio.i18n(value) : ""}
42</Button>
43