diff --git a/.changeset/all-sites-yell.md b/.changeset/all-sites-yell.md
new file mode 100644
index 0000000000..a4b1a8e9d9
--- /dev/null
+++ b/.changeset/all-sites-yell.md
@@ -0,0 +1,8 @@
+---
+"@gradio/button": patch
+"@gradio/uploadbutton": patch
+"@gradio/utils": patch
+"gradio": patch
+---
+
+fix:Allow buttons to take null value
diff --git a/js/button/Index.svelte b/js/button/Index.svelte
index e3438a3687..0b3f92a747 100644
--- a/js/button/Index.svelte
+++ b/js/button/Index.svelte
@@ -10,7 +10,7 @@
export let elem_id = "";
export let elem_classes: string[] = [];
export let visible = true;
- export let value: string;
+ export let value: string | null;
export let variant: "primary" | "secondary" | "stop" = "secondary";
export let interactive: boolean;
export let size: "sm" | "lg" = "lg";
@@ -41,5 +41,5 @@
disabled={!interactive}
on:click={() => gradio.dispatch("click")}
>
- {gradio.i18n(value)}
+ {value ? gradio.i18n(value) : ""}
diff --git a/js/uploadbutton/Index.svelte b/js/uploadbutton/Index.svelte
index 85091f1863..7aba880d91 100644
--- a/js/uploadbutton/Index.svelte
+++ b/js/uploadbutton/Index.svelte
@@ -10,7 +10,7 @@
export let elem_id = "";
export let elem_classes: string[] = [];
export let visible = true;
- export let label: string;
+ export let label: string | null;
export let value: null | FileData | FileData[];
export let file_count: string;
export let file_types: string[] = [];
@@ -59,5 +59,5 @@
on:change={({ detail }) => handle_event(detail, "change")}
on:upload={({ detail }) => handle_event(detail, "upload")}
>
- {gradio.i18n(label)}
+ {label ? gradio.i18n(label) : ""}
diff --git a/js/uploadbutton/UploadButton.stories.svelte b/js/uploadbutton/UploadButton.stories.svelte
index 075a41b444..4f8905e7f2 100644
--- a/js/uploadbutton/UploadButton.stories.svelte
+++ b/js/uploadbutton/UploadButton.stories.svelte
@@ -78,3 +78,9 @@
visible: false
}}
/>
+
diff --git a/js/uploadbutton/shared/UploadButton.svelte b/js/uploadbutton/shared/UploadButton.svelte
index 5f2ae98189..1950f097d2 100644
--- a/js/uploadbutton/shared/UploadButton.svelte
+++ b/js/uploadbutton/shared/UploadButton.svelte
@@ -12,7 +12,7 @@
export let elem_id = "";
export let elem_classes: string[] = [];
export let visible = true;
- export let label: string;
+ export let label: string | null;
export let value: null | FileData | FileData[];
export let file_count: string;
export let file_types: string[] = [];
diff --git a/js/utils/src/utils.ts b/js/utils/src/utils.ts
index aea8b45435..7e2d15ea7c 100644
--- a/js/utils/src/utils.ts
+++ b/js/utils/src/utils.ts
@@ -151,11 +151,6 @@ async function copy_to_clipboard(value: string): Promise {
return copied;
}
-// import { format } from "svelte-i18n";
-import { get } from "svelte/store";
-
-// const x = get(format);
-
export type I18nFormatter = any;
export class Gradio = Record> {
#id: number;