From cad537aac57998560c9f44a37499be734de66349 Mon Sep 17 00:00:00 2001
From: pngwn
Date: Thu, 19 Oct 2023 18:03:06 +0100
Subject: [PATCH 1/2] pass props to example components and to example outputs
(#6014)
* pass props to example components and to example outputs
* add changeset
* make util less egenric/ more useful
* fix demo
* fix demo
* fix
* fix test
* Fix test
---------
Co-authored-by: gradio-pr-bot
Co-authored-by: freddyaboulton
---
.changeset/green-olives-shake.md | 6 ++++++
demo/examples_component/run.ipynb | 2 +-
demo/examples_component/run.py | 10 +++++----
gradio/blocks.py | 7 ++-----
gradio/components/dataset.py | 22 ++++++++++++++++----
gradio/helpers.py | 11 +++++++++-
gradio/utils.py | 9 ++++++++
js/dataset/Index.svelte | 3 +++
test/test_components.py | 12 ++++++-----
test/test_helpers.py | 34 +++++++++++++++++++++++++++++--
10 files changed, 94 insertions(+), 22 deletions(-)
create mode 100644 .changeset/green-olives-shake.md
diff --git a/.changeset/green-olives-shake.md b/.changeset/green-olives-shake.md
new file mode 100644
index 0000000000000..4ca71c8a26523
--- /dev/null
+++ b/.changeset/green-olives-shake.md
@@ -0,0 +1,6 @@
+---
+"@gradio/dataset": minor
+"gradio": minor
+---
+
+feat:pass props to example components and to example outputs
diff --git a/demo/examples_component/run.ipynb b/demo/examples_component/run.ipynb
index ec52d7767f2f9..090af8fc0feb0 100644
--- a/demo/examples_component/run.ipynb
+++ b/demo/examples_component/run.ipynb
@@ -1 +1 @@
-{"cells": [{"cell_type": "markdown", "id": "302934307671667531413257853548643485645", "metadata": {}, "source": ["# Gradio Demo: examples_component"]}, {"cell_type": "code", "execution_count": null, "id": "272996653310673477252411125948039410165", "metadata": {}, "outputs": [], "source": ["!pip install -q gradio "]}, {"cell_type": "code", "execution_count": null, "id": "288918539441861185822528903084949547379", "metadata": {}, "outputs": [], "source": ["# Downloading files from the demo repo\n", "import os\n", "os.mkdir('images')\n", "!wget -q -O images/cheetah1.jpg https://github.com/gradio-app/gradio/raw/main/demo/examples_component/images/cheetah1.jpg\n", "!wget -q -O images/lion.jpg https://github.com/gradio-app/gradio/raw/main/demo/examples_component/images/lion.jpg\n", "!wget -q -O images/lion.webp https://github.com/gradio-app/gradio/raw/main/demo/examples_component/images/lion.webp\n", "!wget -q -O images/logo.png https://github.com/gradio-app/gradio/raw/main/demo/examples_component/images/logo.png"]}, {"cell_type": "code", "execution_count": null, "id": "44380577570523278879349135829904343037", "metadata": {}, "outputs": [], "source": ["import gradio as gr\n", "import os\n", "\n", "def flip(i):\n", " return i.rotate(180)\n", "\n", "with gr.Blocks() as demo:\n", " with gr.Row():\n", " with gr.Column():\n", " img_i = gr.Image(label=\"Input Image\", type=\"pil\")\n", " with gr.Column():\n", " img_o = gr.Image(label=\"Output Image\")\n", " with gr.Row():\n", " btn = gr.Button(value=\"Flip Image\")\n", " btn.click(flip, inputs=[img_i], outputs=[img_o])\n", "\n", " gr.Examples(\n", " [ \n", " os.path.join(os.path.abspath(''), \"images/cheetah1.jpg\"),\n", " os.path.join(os.path.abspath(''), \"images/lion.jpg\"),\n", " ],\n", " img_i,\n", " img_o,\n", " flip\n", " )\n", " \n", "demo.launch()"]}], "metadata": {}, "nbformat": 4, "nbformat_minor": 5}
\ No newline at end of file
+{"cells": [{"cell_type": "markdown", "id": "302934307671667531413257853548643485645", "metadata": {}, "source": ["# Gradio Demo: examples_component"]}, {"cell_type": "code", "execution_count": null, "id": "272996653310673477252411125948039410165", "metadata": {}, "outputs": [], "source": ["!pip install -q gradio "]}, {"cell_type": "code", "execution_count": null, "id": "288918539441861185822528903084949547379", "metadata": {}, "outputs": [], "source": ["# Downloading files from the demo repo\n", "import os\n", "os.mkdir('images')\n", "!wget -q -O images/cheetah1.jpg https://github.com/gradio-app/gradio/raw/main/demo/examples_component/images/cheetah1.jpg\n", "!wget -q -O images/lion.jpg https://github.com/gradio-app/gradio/raw/main/demo/examples_component/images/lion.jpg\n", "!wget -q -O images/lion.webp https://github.com/gradio-app/gradio/raw/main/demo/examples_component/images/lion.webp\n", "!wget -q -O images/logo.png https://github.com/gradio-app/gradio/raw/main/demo/examples_component/images/logo.png"]}, {"cell_type": "code", "execution_count": null, "id": "44380577570523278879349135829904343037", "metadata": {}, "outputs": [], "source": ["import gradio as gr\n", "import os\n", "\n", "\n", "def flip(i):\n", " return i.rotate(180)\n", "\n", "\n", "with gr.Blocks() as demo:\n", " with gr.Row():\n", " with gr.Column():\n", " img_i = gr.Image(label=\"Input Image\", type=\"pil\")\n", " with gr.Column():\n", " img_o = gr.Image(label=\"Output Image\")\n", " with gr.Row():\n", " btn = gr.Button(value=\"Flip Image\")\n", " btn.click(flip, inputs=[img_i], outputs=[img_o])\n", "\n", " gr.Examples(\n", " [\n", " os.path.join(os.path.abspath(''), \"images/cheetah1.jpg\"),\n", " os.path.join(os.path.abspath(''), \"images/lion.jpg\"),\n", " ],\n", " img_i,\n", " img_o,\n", " flip,\n", " )\n", "\n", "demo.launch()\n"]}], "metadata": {}, "nbformat": 4, "nbformat_minor": 5}
\ No newline at end of file
diff --git a/demo/examples_component/run.py b/demo/examples_component/run.py
index 4b05d826f4903..60f615a30e4ef 100644
--- a/demo/examples_component/run.py
+++ b/demo/examples_component/run.py
@@ -1,9 +1,11 @@
import gradio as gr
import os
+
def flip(i):
return i.rotate(180)
+
with gr.Blocks() as demo:
with gr.Row():
with gr.Column():
@@ -15,13 +17,13 @@ def flip(i):
btn.click(flip, inputs=[img_i], outputs=[img_o])
gr.Examples(
- [
+ [
os.path.join(os.path.dirname(__file__), "images/cheetah1.jpg"),
os.path.join(os.path.dirname(__file__), "images/lion.jpg"),
],
img_i,
img_o,
- flip
+ flip,
)
-
-demo.launch()
\ No newline at end of file
+
+demo.launch()
diff --git a/gradio/blocks.py b/gradio/blocks.py
index 07d39a750faa8..c2b21db201353 100644
--- a/gradio/blocks.py
+++ b/gradio/blocks.py
@@ -588,11 +588,8 @@ def get_block_instance(id: int) -> Block:
else:
raise ValueError(f"Cannot find block with id {id}")
cls = component_or_layout_class(block_config["type"])
- block_config["props"].pop("type", None)
- block_config["props"].pop("name", None)
- block_config["props"].pop("selectable", None)
- block_config["props"].pop("streamable", None)
- block_config["props"].pop("server_fns", None)
+
+ block_config["props"] = utils.recover_kwargs(block_config["props"])
# If a Gradio app B is loaded into a Gradio app A, and B itself loads a
# Gradio app C, then the root_urls of the components in A need to be the
diff --git a/gradio/components/dataset.py b/gradio/components/dataset.py
index 7fd262151d56f..8e5fd1b524f6b 100644
--- a/gradio/components/dataset.py
+++ b/gradio/components/dataset.py
@@ -6,6 +6,7 @@
from gradio_client.documentation import document, set_documentation_group
+import gradio.utils as utils
from gradio.components.base import (
Component,
get_component_instance,
@@ -66,6 +67,13 @@ def __init__(
self.scale = scale
self.min_width = min_width
self._components = [get_component_instance(c) for c in components]
+ self.component_props = [
+ utils.recover_kwargs(
+ component.get_config(),
+ ["value"],
+ )
+ for component in self._components
+ ]
# Narrow type to Component
assert all(
@@ -95,10 +103,16 @@ def skip_api(self):
def get_config(self):
config = super().get_config()
- config["components"] = [
- component.get_block_name() for component in self._components
- ]
- config["component_ids"] = [component._id for component in self._components]
+
+ config["components"] = []
+ config["component_props"] = self.component_props
+ config["component_ids"] = []
+
+ for component in self._components:
+ config["components"].append(component.get_block_name())
+
+ config["component_ids"].append(component._id)
+
return config
def preprocess(self, x: Any) -> Any:
diff --git a/gradio/helpers.py b/gradio/helpers.py
index 893a789260f7f..051f43d830bdc 100644
--- a/gradio/helpers.py
+++ b/gradio/helpers.py
@@ -259,7 +259,16 @@ def create(self) -> None:
async def load_example(example_id):
processed_example = self.non_none_processed_examples[example_id]
- return utils.resolve_singleton(processed_example)
+ examples = utils.resolve_singleton(processed_example)
+
+ return (
+ update(value=examples, **self.dataset.component_props[0])
+ if not isinstance(examples, list)
+ else [
+ update(value=ex, **self.dataset.component_props[i])
+ for i, ex in enumerate(examples)
+ ]
+ )
if Context.root_block:
self.load_input_event = self.dataset.click(
diff --git a/gradio/utils.py b/gradio/utils.py
index 20494fccdd955..ef246afe4897e 100644
--- a/gradio/utils.py
+++ b/gradio/utils.py
@@ -950,3 +950,12 @@ def find_user_stack_level() -> int:
frame = frame.f_back
n += 1
return n
+
+
+def recover_kwargs(config: dict, additional_keys_to_ignore: list[str] | None = None):
+ not_kwargs = ["type", "name", "selectable", "server_fns", "streamable"]
+ return {
+ k: v
+ for k, v in config.items()
+ if k not in not_kwargs and k not in (additional_keys_to_ignore or [])
+ }
diff --git a/js/dataset/Index.svelte b/js/dataset/Index.svelte
index cf3fbb2e2e48f..fd89cf0fb9eea 100644
--- a/js/dataset/Index.svelte
+++ b/js/dataset/Index.svelte
@@ -4,6 +4,7 @@
import type { Gradio, SelectData } from "@gradio/utils";
import { get_fetchable_url_or_file } from "@gradio/upload";
export let components: string[];
+ export let component_props: Record[];
export let component_map: Map<
string,
Promise<{
@@ -141,6 +142,7 @@
{#if component_meta.length && component_map.get(components[0])}
Date: Thu, 19 Oct 2023 13:11:00 -0400
Subject: [PATCH 2/2] Format js in v4 branch (#6016)
* Format v4 branch js
* add changeset
* lint
---------
Co-authored-by: gradio-pr-bot
---
.changeset/five-islands-joke.md | 48 +
.changeset/pre.json | 250 ++--
.config/basevite.config.ts | 4 +-
client/js/src/client.ts | 8 +-
js/_website/src/app.html | 5 +-
.../src/lib/components/CopyButton.svelte | 31 +-
js/_website/src/lib/components/DocsNav.svelte | 5 +-
.../src/lib/components/FunctionDoc.svelte | 1 -
.../lib/components/icons/DownloadIcon.svelte | 6 +-
js/_website/src/routes/+layout.svelte | 18 +-
.../[[version]]/docs/[doc]/+page.server.ts | 21 +-
.../[[version]]/docs/[doc]/+page.svelte | 27 +-
.../docs/components/+page.server.ts | 11 +-
.../[[version]]/docs/components/+page.svelte | 35 +-
.../[[version]]/docs/flagging/+page.server.ts | 11 +-
.../[[version]]/docs/flagging/+page.svelte | 17 +-
.../docs/js-client/+page.server.ts | 11 +-
.../[[version]]/docs/js-client/+page.svelte | 6 +-
.../docs/python-client/+page.server.ts | 5 +-
.../docs/python-client/+page.svelte | 23 +-
.../[[version]]/docs/themes/+page.server.ts | 13 +-
.../[[version]]/docs/themes/+page.svelte | 17 +-
.../guides/[guide]/+page.server.ts | 22 +-
.../[[version]]/guides/[guide]/+page.svelte | 65 +-
js/accordion/package.json | 2 +-
js/annotatedimage/package.json | 2 +-
js/app/build_plugins.ts | 2 -
js/app/src/Login.stories.svelte | 4 +-
js/app/src/api_docs/CodeSnippets.svelte | 9 +-
js/app/src/api_docs/ResponseObject.svelte | 8 +-
js/app/src/lang/ckb.json | 214 ++--
js/app/src/lang/eu.json | 32 +-
js/audio/package.json | 2 +-
js/box/package.json | 2 +-
js/chatbot/Chatbot.stories.svelte | 28 +-
js/chatbot/package.json | 2 +-
js/checkbox/package.json | 2 +-
js/checkbox/shared/Checkbox.svelte | 4 +-
js/checkboxgroup/package.json | 2 +-
js/checkboxgroup/shared/Checkboxgroup.svelte | 4 +-
js/code/package.json | 2 +-
js/code/shared/Code.svelte | 30 +-
js/colorpicker/package.json | 2 +-
js/column/package.json | 2 +-
js/dataframe/package.json | 2 +-
js/dataset/package.json | 2 +-
js/dropdown/package.json | 2 +-
js/dropdown/shared/Multiselect.svelte | 6 +-
js/fallback/package.json | 2 +-
js/file/package.json | 2 +-
js/fileexplorer/package.json | 2 +-
js/form/package.json | 2 +-
js/gallery/package.json | 2 +-
js/gallery/shared/Gallery.svelte | 2 +-
js/group/package.json | 2 +-
js/highlightedtext/package.json | 2 +-
js/html/package.json | 2 +-
js/image/package.json | 2 +-
js/image/shared/Webcam.svelte | 4 +-
js/json/package.json | 2 +-
js/label/package.json | 2 +-
js/markdown/package.json | 2 +-
js/model3D/package.json | 2 +-
js/number/package.json | 2 +-
js/plot/package.json | 2 +-
js/preview/package.json | 80 +-
.../test/imageslider/frontend/package.json | 52 +-
.../test/newtext/frontend/example/index.ts | 2 +-
.../newtext/frontend/example/newtext.svelte | 10 +-
.../newtext/frontend/interactive/index.ts | 2 +-
.../frontend/interactive/newtext.svelte | 10 +-
js/preview/test/newtext/frontend/package.json | 38 +-
.../test/newtext/frontend/shared/index.ts | 2 +-
.../newtext/frontend/shared/newtext.svelte | 10 +-
.../test/newtext/frontend/static/index.ts | 2 +-
.../newtext/frontend/static/newtext.svelte | 10 +-
js/radio/package.json | 2 +-
js/row/package.json | 2 +-
js/slider/package.json | 2 +-
js/state/package.json | 2 +-
.../design-tokens/Colors.stories.svelte | 2 +-
.../design-tokens/Icons.stories.svelte | 4 +-
.../design-tokens/Radii.stories.svelte | 2 +-
.../design-tokens/Spacing.stories.svelte | 2 +-
.../design-tokens/TextSize.stories.svelte | 2 +-
js/tabitem/package.json | 2 +-
js/tabs/package.json | 2 +-
js/textbox/package.json | 2 +-
js/textbox/shared/Textbox.svelte | 6 +-
js/uploadbutton/package.json | 2 +-
js/video/package.json | 2 +-
test/test_files/xray_config.json | 951 +++++++-------
test/test_files/xray_config_diff_ids.json | 951 +++++++-------
test/test_files/xray_config_wrong.json | 1098 ++++++++---------
94 files changed, 2173 insertions(+), 2144 deletions(-)
create mode 100644 .changeset/five-islands-joke.md
diff --git a/.changeset/five-islands-joke.md b/.changeset/five-islands-joke.md
new file mode 100644
index 0000000000000..d5a990ab289aa
--- /dev/null
+++ b/.changeset/five-islands-joke.md
@@ -0,0 +1,48 @@
+---
+"@gradio/accordion": minor
+"@gradio/annotatedimage": minor
+"@gradio/app": minor
+"@gradio/audio": minor
+"@gradio/box": minor
+"@gradio/chatbot": minor
+"@gradio/checkbox": minor
+"@gradio/checkboxgroup": minor
+"@gradio/client": minor
+"@gradio/code": minor
+"@gradio/colorpicker": minor
+"@gradio/column": minor
+"@gradio/dataframe": minor
+"@gradio/dataset": minor
+"@gradio/dropdown": minor
+"@gradio/fallback": minor
+"@gradio/file": minor
+"@gradio/fileexplorer": minor
+"@gradio/form": minor
+"@gradio/gallery": minor
+"@gradio/group": minor
+"@gradio/highlightedtext": minor
+"@gradio/html": minor
+"@gradio/image": minor
+"@gradio/json": minor
+"@gradio/label": minor
+"@gradio/markdown": minor
+"@gradio/model3d": minor
+"@gradio/number": minor
+"@gradio/plot": minor
+"@gradio/preview": minor
+"@gradio/radio": minor
+"@gradio/row": minor
+"@gradio/slider": minor
+"@gradio/state": minor
+"@gradio/tabitem": minor
+"@gradio/tabs": minor
+"@gradio/textbox": minor
+"@gradio/uploadbutton": minor
+"@gradio/video": minor
+"gradio": minor
+"imageslider": minor
+"newtext": minor
+"website": minor
+---
+
+feat:Format js in v4 branch
diff --git a/.changeset/pre.json b/.changeset/pre.json
index e1590e565189a..0745f399daf94 100644
--- a/.changeset/pre.json
+++ b/.changeset/pre.json
@@ -1,127 +1,127 @@
{
- "mode": "pre",
- "tag": "beta",
- "initialVersions": {
- "@gradio/client": "0.3.1",
- "gradio_client": "0.5.0",
- "gradio": "3.43.2",
- "@gradio/cdn-test": "0.0.1",
- "@gradio/spaces-test": "0.0.1",
- "website": "0.4.0",
- "@gradio/accordion": "0.0.4",
- "@gradio/annotatedimage": "0.1.2",
- "@gradio/app": "1.4.3",
- "@gradio/atoms": "0.1.2",
- "@gradio/audio": "0.3.2",
- "@gradio/box": "0.0.4",
- "@gradio/button": "0.1.3",
- "@gradio/chatbot": "0.3.1",
- "@gradio/checkbox": "0.1.3",
- "@gradio/checkboxgroup": "0.1.2",
- "@gradio/code": "0.1.2",
- "@gradio/colorpicker": "0.1.2",
- "@gradio/column": "0.0.1",
- "@gradio/dataframe": "0.2.2",
- "@gradio/dropdown": "0.1.3",
- "@gradio/file": "0.1.2",
- "@gradio/form": "0.0.5",
- "@gradio/gallery": "0.3.2",
- "@gradio/group": "0.0.1",
- "@gradio/highlightedtext": "0.2.3",
- "@gradio/html": "0.0.4",
- "@gradio/icons": "0.1.0",
- "@gradio/image": "0.2.2",
- "@gradio/json": "0.0.5",
- "@gradio/label": "0.1.2",
- "@gradio/lite": "0.3.1",
- "@gradio/markdown": "0.2.0",
- "@gradio/model3d": "0.2.1",
- "@gradio/number": "0.2.2",
- "@gradio/plot": "0.1.2",
- "@gradio/radio": "0.1.2",
- "@gradio/row": "0.0.1",
- "@gradio/slider": "0.1.2",
- "@gradio/state": "0.0.1",
- "@gradio/statustracker": "0.2.0",
- "@gradio/tabitem": "0.0.4",
- "@gradio/tabs": "0.0.5",
- "@gradio/textbox": "0.2.0",
- "@gradio/theme": "0.1.0",
- "@gradio/tooltip": "0.0.1",
- "@gradio/tootils": "0.0.2",
- "@gradio/upload": "0.2.1",
- "@gradio/uploadbutton": "0.0.5",
- "@gradio/utils": "0.1.1",
- "@gradio/video": "0.0.6",
- "@gradio/wasm": "0.0.1",
- "@gradio/fallback": "0.1.1",
- "@gradio/preview": "0.0.2",
- "@gradio/dataset": "0.0.1",
- "@gradio/fileexplorer": "0.2.2",
- "imageslider": "0.2.0",
- "newnewtext": "0.1.2",
- "newtext": "0.0.1",
- "@gradio/storybook": "0.0.1"
- },
- "changesets": [
- "afraid-cougars-rescue",
- "bright-planes-divide",
- "bright-yaks-wink",
- "cold-hoops-heal",
- "cold-lemons-roll",
- "crazy-dancers-allow",
- "cute-crabs-know",
- "dark-cups-see",
- "dirty-ghosts-tickle",
- "dry-points-join",
- "easy-mirrors-retire",
- "eleven-steaks-tan",
- "empty-bobcats-judge",
- "flat-experts-wink",
- "fresh-ears-pump",
- "gentle-parks-fry",
- "great-rice-grab",
- "green-tips-read",
- "heavy-animals-think",
- "hip-drinks-bow",
- "hot-icons-film",
- "hungry-melons-pump",
- "icy-cars-boil",
- "large-banks-push",
- "lazy-aliens-drive",
- "lovely-news-speak",
- "modern-forks-march",
- "nasty-dryers-show",
- "nice-actors-write",
- "old-heads-give",
- "plain-groups-win",
- "plenty-teeth-clap",
- "public-chairs-chew",
- "purple-jokes-shake",
- "real-spoons-pick",
- "sad-ears-sink",
- "sad-eels-sink",
- "sad-icons-relax",
- "short-clouds-see",
- "silver-beers-refuse",
- "slick-bats-study",
- "slick-pants-stand",
- "smart-groups-study",
- "some-shoes-relate",
- "strange-lizards-boil",
- "strong-peas-tell",
- "tame-chairs-tan",
- "tasty-candies-type",
- "three-trams-sniff",
- "tough-parrots-relate",
- "true-bugs-shine",
- "twenty-dryers-wave",
- "twenty-gifts-tickle",
- "two-games-dress",
- "two-mirrors-nail",
- "upset-crews-learn",
- "vast-terms-rhyme",
- "wet-places-hunt",
- "wise-beans-itch"
- ]
+ "mode": "pre",
+ "tag": "beta",
+ "initialVersions": {
+ "@gradio/client": "0.3.1",
+ "gradio_client": "0.5.0",
+ "gradio": "3.43.2",
+ "@gradio/cdn-test": "0.0.1",
+ "@gradio/spaces-test": "0.0.1",
+ "website": "0.4.0",
+ "@gradio/accordion": "0.0.4",
+ "@gradio/annotatedimage": "0.1.2",
+ "@gradio/app": "1.4.3",
+ "@gradio/atoms": "0.1.2",
+ "@gradio/audio": "0.3.2",
+ "@gradio/box": "0.0.4",
+ "@gradio/button": "0.1.3",
+ "@gradio/chatbot": "0.3.1",
+ "@gradio/checkbox": "0.1.3",
+ "@gradio/checkboxgroup": "0.1.2",
+ "@gradio/code": "0.1.2",
+ "@gradio/colorpicker": "0.1.2",
+ "@gradio/column": "0.0.1",
+ "@gradio/dataframe": "0.2.2",
+ "@gradio/dropdown": "0.1.3",
+ "@gradio/file": "0.1.2",
+ "@gradio/form": "0.0.5",
+ "@gradio/gallery": "0.3.2",
+ "@gradio/group": "0.0.1",
+ "@gradio/highlightedtext": "0.2.3",
+ "@gradio/html": "0.0.4",
+ "@gradio/icons": "0.1.0",
+ "@gradio/image": "0.2.2",
+ "@gradio/json": "0.0.5",
+ "@gradio/label": "0.1.2",
+ "@gradio/lite": "0.3.1",
+ "@gradio/markdown": "0.2.0",
+ "@gradio/model3d": "0.2.1",
+ "@gradio/number": "0.2.2",
+ "@gradio/plot": "0.1.2",
+ "@gradio/radio": "0.1.2",
+ "@gradio/row": "0.0.1",
+ "@gradio/slider": "0.1.2",
+ "@gradio/state": "0.0.1",
+ "@gradio/statustracker": "0.2.0",
+ "@gradio/tabitem": "0.0.4",
+ "@gradio/tabs": "0.0.5",
+ "@gradio/textbox": "0.2.0",
+ "@gradio/theme": "0.1.0",
+ "@gradio/tooltip": "0.0.1",
+ "@gradio/tootils": "0.0.2",
+ "@gradio/upload": "0.2.1",
+ "@gradio/uploadbutton": "0.0.5",
+ "@gradio/utils": "0.1.1",
+ "@gradio/video": "0.0.6",
+ "@gradio/wasm": "0.0.1",
+ "@gradio/fallback": "0.1.1",
+ "@gradio/preview": "0.0.2",
+ "@gradio/dataset": "0.0.1",
+ "@gradio/fileexplorer": "0.2.2",
+ "imageslider": "0.2.0",
+ "newnewtext": "0.1.2",
+ "newtext": "0.0.1",
+ "@gradio/storybook": "0.0.1"
+ },
+ "changesets": [
+ "afraid-cougars-rescue",
+ "bright-planes-divide",
+ "bright-yaks-wink",
+ "cold-hoops-heal",
+ "cold-lemons-roll",
+ "crazy-dancers-allow",
+ "cute-crabs-know",
+ "dark-cups-see",
+ "dirty-ghosts-tickle",
+ "dry-points-join",
+ "easy-mirrors-retire",
+ "eleven-steaks-tan",
+ "empty-bobcats-judge",
+ "flat-experts-wink",
+ "fresh-ears-pump",
+ "gentle-parks-fry",
+ "great-rice-grab",
+ "green-tips-read",
+ "heavy-animals-think",
+ "hip-drinks-bow",
+ "hot-icons-film",
+ "hungry-melons-pump",
+ "icy-cars-boil",
+ "large-banks-push",
+ "lazy-aliens-drive",
+ "lovely-news-speak",
+ "modern-forks-march",
+ "nasty-dryers-show",
+ "nice-actors-write",
+ "old-heads-give",
+ "plain-groups-win",
+ "plenty-teeth-clap",
+ "public-chairs-chew",
+ "purple-jokes-shake",
+ "real-spoons-pick",
+ "sad-ears-sink",
+ "sad-eels-sink",
+ "sad-icons-relax",
+ "short-clouds-see",
+ "silver-beers-refuse",
+ "slick-bats-study",
+ "slick-pants-stand",
+ "smart-groups-study",
+ "some-shoes-relate",
+ "strange-lizards-boil",
+ "strong-peas-tell",
+ "tame-chairs-tan",
+ "tasty-candies-type",
+ "three-trams-sniff",
+ "tough-parrots-relate",
+ "true-bugs-shine",
+ "twenty-dryers-wave",
+ "twenty-gifts-tickle",
+ "two-games-dress",
+ "two-mirrors-nail",
+ "upset-crews-learn",
+ "vast-terms-rhyme",
+ "wet-places-hunt",
+ "wise-beans-itch"
+ ]
}
diff --git a/.config/basevite.config.ts b/.config/basevite.config.ts
index 5e12d3264312d..378aa1bf963b8 100644
--- a/.config/basevite.config.ts
+++ b/.config/basevite.config.ts
@@ -21,7 +21,9 @@ const theme_token_path = join(
"tokens.css"
);
-const version = JSON.parse(readFileSync(version_path, { encoding: 'utf-8' })).version.trim().replace(/\./g, '-');
+const version = JSON.parse(readFileSync(version_path, { encoding: "utf-8" }))
+ .version.trim()
+ .replace(/\./g, "-");
//@ts-ignore
export default defineConfig(({ mode }) => {
diff --git a/client/js/src/client.ts b/client/js/src/client.ts
index f3a8b8ad4e4b6..c7140909c55ae 100644
--- a/client/js/src/client.ts
+++ b/client/js/src/client.ts
@@ -432,11 +432,9 @@ export function api_factory(
let payload: Payload;
let complete: false | Record = false;
const listener_map: ListenerMap = {};
- let url_params = ""
- if (typeof(window) !== "undefined") {
- url_params = new URLSearchParams(
- window.location.search
- ).toString();
+ let url_params = "";
+ if (typeof window !== "undefined") {
+ url_params = new URLSearchParams(window.location.search).toString();
}
handle_blob(
diff --git a/js/_website/src/app.html b/js/_website/src/app.html
index 06dda00f89ee0..c8f78c33b6d87 100644
--- a/js/_website/src/app.html
+++ b/js/_website/src/app.html
@@ -7,7 +7,10 @@
%sveltekit.head%
-
+
%sveltekit.body%
diff --git a/js/_website/src/lib/components/CopyButton.svelte b/js/_website/src/lib/components/CopyButton.svelte
index 3e0f6582ce6f5..17edb3ab34e6e 100644
--- a/js/_website/src/lib/components/CopyButton.svelte
+++ b/js/_website/src/lib/components/CopyButton.svelte
@@ -1,21 +1,20 @@
-
\ No newline at end of file
+
diff --git a/js/_website/src/lib/components/DocsNav.svelte b/js/_website/src/lib/components/DocsNav.svelte
index a46dd181c97c4..c7576636fbdea 100644
--- a/js/_website/src/lib/components/DocsNav.svelte
+++ b/js/_website/src/lib/components/DocsNav.svelte
@@ -121,10 +121,9 @@
TabbedInterfaceTabbedInterface
-
+
-
+
diff --git a/js/_website/src/routes/+layout.svelte b/js/_website/src/routes/+layout.svelte
index d43854ea41c65..7bfdf5d5e54ce 100644
--- a/js/_website/src/routes/+layout.svelte
+++ b/js/_website/src/routes/+layout.svelte
@@ -26,26 +26,26 @@
import version_json from "$lib/json/version.json";
let version = version_json.version;
- import CopyButton from '$lib/components/CopyButton.svelte'
+ import CopyButton from "$lib/components/CopyButton.svelte";
import { afterNavigate } from "$app/navigation";
afterNavigate(() => {
- for (const node of document.querySelectorAll('.codeblock')) {
- let children = Array.from(node.querySelectorAll('pre, a'));
+ for (const node of document.querySelectorAll(".codeblock")) {
+ let children = Array.from(node.querySelectorAll("pre, a"));
let textContent = node.textContent;
node.innerHTML = "";
-
+
new CopyButton({
target: node,
props: {
- content: textContent ?? '',
- },
- })
+ content: textContent ?? ""
+ }
+ });
for (const child of children) {
node.appendChild(child);
}
- }})
-
+ }
+ });
diff --git a/js/_website/src/routes/[[version]]/docs/[doc]/+page.server.ts b/js/_website/src/routes/[[version]]/docs/[doc]/+page.server.ts
index bcfe132c9c969..78d491e52ca94 100644
--- a/js/_website/src/routes/[[version]]/docs/[doc]/+page.server.ts
+++ b/js/_website/src/routes/[[version]]/docs/[doc]/+page.server.ts
@@ -1,8 +1,7 @@
import Prism from "prismjs";
import "prismjs/components/prism-python";
import { make_slug_processor } from "$lib/utils";
-import { error } from '@sveltejs/kit';
-
+import { error } from "@sveltejs/kit";
let language = "python";
@@ -16,7 +15,17 @@ const COLOR_SETS = [
];
export async function load({ params, parent }) {
- const { docs, components, helpers, modals, py_client, routes, on_main, wheel, pages } = await parent();
+ const {
+ docs,
+ components,
+ helpers,
+ modals,
+ py_client,
+ routes,
+ on_main,
+ wheel,
+ pages
+ } = await parent();
let name = params.doc;
let obj;
@@ -25,7 +34,7 @@ export async function load({ params, parent }) {
let method_headers = [];
const get_slug = make_slug_processor();
- if (!(pages.some((p: string) => p === params.doc))) {
+ if (!pages.some((p: string) => p === params.doc)) {
throw error(404);
}
@@ -49,10 +58,10 @@ export async function load({ params, parent }) {
} else if (obj.name == "ChatInterface") {
obj.prev_obj = "Interface";
obj.next_obj = "TabbedInterface";
- } else if (obj.name == "TabbedInterface") {
+ } else if (obj.name == "TabbedInterface") {
obj.prev_obj = "ChatInterface";
obj.next_obj = "Blocks";
- } else if (obj.name == "Blocks") {
+ } else if (obj.name == "Blocks") {
obj.prev_obj = "TabbedInterface";
obj.next_obj = "Row";
}
diff --git a/js/_website/src/routes/[[version]]/docs/[doc]/+page.svelte b/js/_website/src/routes/[[version]]/docs/[doc]/+page.svelte
index c9866a814663b..7b211db4fa179 100644
--- a/js/_website/src/routes/[[version]]/docs/[doc]/+page.svelte
+++ b/js/_website/src/routes/[[version]]/docs/[doc]/+page.svelte
@@ -104,19 +104,24 @@
See the Release History
-
+
{#if on_main}
-
+
To install Gradio from main, run the following command:
-
pip install {wheel}
+
pip install {wheel}
-
- *Note: Setting share=True
in launch()
will not work.
+
+ *Note: Setting share=True
in
+ launch()
will not work.
-
+
{/if}
@@ -164,11 +169,11 @@
- {#if obj.override_signature}
+ {#if obj.override_signature}
{obj.override_signature}
- {:else}
+ {:else}
{obj.parent}.{obj.name}( # {python_type.type} {#if python_type.description}({python_type.description}){/if} in '{label}' {component} component{/each}{#if named}
- api_name="/{dependency.api_name}"{:else}
- fn_index={dependency_index}
- {/if}
+ fn_index={dependency_index}
+ {/if}
)
print(result)
diff --git a/js/app/src/api_docs/ResponseObject.svelte b/js/app/src/api_docs/ResponseObject.svelte
index cf048802b1ef0..3def7e7c2d813 100644
--- a/js/app/src/api_docs/ResponseObject.svelte
+++ b/js/app/src/api_docs/ResponseObject.svelte
@@ -24,12 +24,8 @@
> # {#if current_language === "python"}{python_type.type}{#if python_type?.description} ({python_type.description}){/if}{:else}{js_returns[
i
- ].type}{#if js_returns[
- i
- ].description} ({js_returns[
- i
- ]
- .description}){/if}{/if}
+ ].type}{#if js_returns[i].description} ({js_returns[i]
+ .description}){/if}{/if}
representing output in '{label}' {component}
diff --git a/js/app/src/lang/ckb.json b/js/app/src/lang/ckb.json
index 12bb01ac376a6..fcbbaae925ad3 100644
--- a/js/app/src/lang/ckb.json
+++ b/js/app/src/lang/ckb.json
@@ -1,108 +1,108 @@
{
- "3D_model": {
- "3d_model": "مۆدێلی سێ ڕەهەندی"
- },
- "annotated_image": {
- "annotated_image": "وێنەی نیشانە کراو"
- },
- "audio": {
- "allow_recording_access": "تکایە ڕێگە بدە بە بەکارهێنانی مایکرۆفۆنەکە بۆ تۆمارکردن.",
- "audio": "دەنگ",
- "record_from_microphone": "تۆمارکردن لە مایکەوە",
- "stop_recording": "تۆمارکردن بوەستێنە"
- },
- "blocks": {
- "connection_can_break": "لە مۆبایلدا، پەیوەندییەکە دەکرێت بپچڕێت ئەگەر ئەم تابە چالاک نەبێت یان ئامێرەکە بچێتە دۆخی پشوو، ئەمەش شوێنی خۆت لە ڕیزدا لەدەست دەدات.",
- "long_requests_queue": "ڕیزێکی درێژی داواکاری هەیە. ئەم سپەیسە دووباد بکە بۆی چاوەڕوان نەبیت.",
- "lost_connection": "پەیوەندی پچڕا بەهۆی جێهێشتنی پەیج. "
- },
- "checkbox": {
- "checkbox": "بۆکسی هەڵبژاردن",
- "checkbox_group": "گروپی بۆکسی هەڵبژاردن"
- },
- "code": {
- "code": "کۆد"
- },
- "color_picker": {
- "color_picker": "ڕەنگ هەڵبژاردە"
- },
- "common": {
- "built_with": "دروستکراوە لەگەڵ...",
- "built_with_gradio": "Gradio دروستکراوە بە",
- "clear": "خاوێنکردنەوە",
- "download": "دابەزاندن",
- "edit": "بژارکردن",
- "empty": "بەتاڵ",
- "error": "هەڵە",
- "hosted_on": "میوانداری کراوە لە",
- "loading": "بارکردن",
- "logo": "لۆگۆ",
- "or": "یان",
- "remove": "لابردن",
- "share": "هاوبەشکردن",
- "submit": "پێشکەشکردن",
- "undo": "پووچکردنەوە"
- },
- "dataframe": {
- "incorrect_format": "فۆرماتێکی هەڵە، تەنها فایلەکانی CSV و TSV پشتگیری دەکرێن",
- "new_column": "ستوونی نوێ",
- "new_row": "ڕیزێکی نوێ"
- },
- "dropdown": {
- "dropdown": "فڕێدانە خوار"
- },
- "errors": {
- "build_error": "هەڵەی دروستکردن هەیە",
- "config_error": "هەڵەی ڕێکخستن هەیە",
- "contact_page_author": "تکایە پەیوەندی بە نووسەری پەیجەوە بکەن بۆ ئەوەی ئاگاداریان بکەنەوە.",
- "no_app_file": "هیچ فایلێکی ئەپ نییە",
- "runtime_error": "هەڵەیەکی runtime هەیە",
- "space_not_working": "\"سپەیسەکە کارناکات چونکە\" {0}",
- "space_paused": "فەزاکە وەستاوە",
- "use_via_api": "لە ڕێگەی API بەکاری بهێنە"
- },
- "file": {
- "uploading": "بارکردن..."
- },
- "highlighted_text": {
- "highlighted_text": "دەقی ڕۆشن کراو"
- },
- "image": {
- "allow_webcam_access": "تکایە ڕێگە بدە بە بەکارهێنانی وێبکامەکە بۆ تۆمارکردن.",
- "brush_color": "ڕەنگی فڵچە",
- "brush_radius": "تیژڕەوی فڵچە",
- "image": "وێنە",
- "remove_image": "لابردنی وێنە",
- "select_brush_color": "ڕەنگی فڵچە هەڵبژێرە",
- "start_drawing": "دەست بکە بە وێنەکێشان",
- "use_brush": "فڵچە بەکاربهێنە"
- },
- "label": {
- "label": "لەیبڵ"
- },
- "login": {
- "enable_cookies": "ئەگەر تۆ سەردانی HuggingFace Space دەکەیت لە دۆخی نادیاردا، پێویستە کووکی لایەنی سێیەم چالاک بکەیت.",
- "incorrect_credentials": "بڕوانامەی هەڵە",
- "login": "چونه ژوورهوه"
- },
- "number": {
- "number": "ژمارە"
- },
- "plot": {
- "plot": "هێڵکاری"
- },
- "radio": {
- "radio": "ڕادیۆ"
- },
- "slider": {
- "slider": "خلیسکە"
- },
- "upload_text": {
- "click_to_upload": "کلیک بکە بۆ بارکردن",
- "drop_audio": "دەنگ لێرە دابنێ",
- "drop_csv": "لێرەدا CSV دابنێ",
- "drop_file": "فایل لێرە دابنێ",
- "drop_image": "وێنە لێرەدا دابنێ",
- "drop_video": "ڤیدیۆ لێرە دابنێ"
- }
- }
\ No newline at end of file
+ "3D_model": {
+ "3d_model": "مۆدێلی سێ ڕەهەندی"
+ },
+ "annotated_image": {
+ "annotated_image": "وێنەی نیشانە کراو"
+ },
+ "audio": {
+ "allow_recording_access": "تکایە ڕێگە بدە بە بەکارهێنانی مایکرۆفۆنەکە بۆ تۆمارکردن.",
+ "audio": "دەنگ",
+ "record_from_microphone": "تۆمارکردن لە مایکەوە",
+ "stop_recording": "تۆمارکردن بوەستێنە"
+ },
+ "blocks": {
+ "connection_can_break": "لە مۆبایلدا، پەیوەندییەکە دەکرێت بپچڕێت ئەگەر ئەم تابە چالاک نەبێت یان ئامێرەکە بچێتە دۆخی پشوو، ئەمەش شوێنی خۆت لە ڕیزدا لەدەست دەدات.",
+ "long_requests_queue": "ڕیزێکی درێژی داواکاری هەیە. ئەم سپەیسە دووباد بکە بۆی چاوەڕوان نەبیت.",
+ "lost_connection": "پەیوەندی پچڕا بەهۆی جێهێشتنی پەیج. "
+ },
+ "checkbox": {
+ "checkbox": "بۆکسی هەڵبژاردن",
+ "checkbox_group": "گروپی بۆکسی هەڵبژاردن"
+ },
+ "code": {
+ "code": "کۆد"
+ },
+ "color_picker": {
+ "color_picker": "ڕەنگ هەڵبژاردە"
+ },
+ "common": {
+ "built_with": "دروستکراوە لەگەڵ...",
+ "built_with_gradio": "Gradio دروستکراوە بە",
+ "clear": "خاوێنکردنەوە",
+ "download": "دابەزاندن",
+ "edit": "بژارکردن",
+ "empty": "بەتاڵ",
+ "error": "هەڵە",
+ "hosted_on": "میوانداری کراوە لە",
+ "loading": "بارکردن",
+ "logo": "لۆگۆ",
+ "or": "یان",
+ "remove": "لابردن",
+ "share": "هاوبەشکردن",
+ "submit": "پێشکەشکردن",
+ "undo": "پووچکردنەوە"
+ },
+ "dataframe": {
+ "incorrect_format": "فۆرماتێکی هەڵە، تەنها فایلەکانی CSV و TSV پشتگیری دەکرێن",
+ "new_column": "ستوونی نوێ",
+ "new_row": "ڕیزێکی نوێ"
+ },
+ "dropdown": {
+ "dropdown": "فڕێدانە خوار"
+ },
+ "errors": {
+ "build_error": "هەڵەی دروستکردن هەیە",
+ "config_error": "هەڵەی ڕێکخستن هەیە",
+ "contact_page_author": "تکایە پەیوەندی بە نووسەری پەیجەوە بکەن بۆ ئەوەی ئاگاداریان بکەنەوە.",
+ "no_app_file": "هیچ فایلێکی ئەپ نییە",
+ "runtime_error": "هەڵەیەکی runtime هەیە",
+ "space_not_working": "\"سپەیسەکە کارناکات چونکە\" {0}",
+ "space_paused": "فەزاکە وەستاوە",
+ "use_via_api": "لە ڕێگەی API بەکاری بهێنە"
+ },
+ "file": {
+ "uploading": "بارکردن..."
+ },
+ "highlighted_text": {
+ "highlighted_text": "دەقی ڕۆشن کراو"
+ },
+ "image": {
+ "allow_webcam_access": "تکایە ڕێگە بدە بە بەکارهێنانی وێبکامەکە بۆ تۆمارکردن.",
+ "brush_color": "ڕەنگی فڵچە",
+ "brush_radius": "تیژڕەوی فڵچە",
+ "image": "وێنە",
+ "remove_image": "لابردنی وێنە",
+ "select_brush_color": "ڕەنگی فڵچە هەڵبژێرە",
+ "start_drawing": "دەست بکە بە وێنەکێشان",
+ "use_brush": "فڵچە بەکاربهێنە"
+ },
+ "label": {
+ "label": "لەیبڵ"
+ },
+ "login": {
+ "enable_cookies": "ئەگەر تۆ سەردانی HuggingFace Space دەکەیت لە دۆخی نادیاردا، پێویستە کووکی لایەنی سێیەم چالاک بکەیت.",
+ "incorrect_credentials": "بڕوانامەی هەڵە",
+ "login": "چونه ژوورهوه"
+ },
+ "number": {
+ "number": "ژمارە"
+ },
+ "plot": {
+ "plot": "هێڵکاری"
+ },
+ "radio": {
+ "radio": "ڕادیۆ"
+ },
+ "slider": {
+ "slider": "خلیسکە"
+ },
+ "upload_text": {
+ "click_to_upload": "کلیک بکە بۆ بارکردن",
+ "drop_audio": "دەنگ لێرە دابنێ",
+ "drop_csv": "لێرەدا CSV دابنێ",
+ "drop_file": "فایل لێرە دابنێ",
+ "drop_image": "وێنە لێرەدا دابنێ",
+ "drop_video": "ڤیدیۆ لێرە دابنێ"
+ }
+}
diff --git a/js/app/src/lang/eu.json b/js/app/src/lang/eu.json
index 09a3eb0c839e0..50a124d50230e 100644
--- a/js/app/src/lang/eu.json
+++ b/js/app/src/lang/eu.json
@@ -1,16 +1,16 @@
-{
- "common": {
- "built_with_gradio": "Gradiorekin eraikia",
- "clear": "Garbitu",
- "or": "edo",
- "submit": "Bidali"
- },
- "upload_text": {
- "click_to_upload": "Klik egin kargatzeko",
- "drop_audio": "Jarri hemen audioa",
- "drop_csv": "Jarri hemen CSVa",
- "drop_file": "Jarri hemen fitxategia",
- "drop_image": "Jarri hemen irudia",
- "drop_video": "Jarri hemen bideoa"
- }
-}
\ No newline at end of file
+{
+ "common": {
+ "built_with_gradio": "Gradiorekin eraikia",
+ "clear": "Garbitu",
+ "or": "edo",
+ "submit": "Bidali"
+ },
+ "upload_text": {
+ "click_to_upload": "Klik egin kargatzeko",
+ "drop_audio": "Jarri hemen audioa",
+ "drop_csv": "Jarri hemen CSVa",
+ "drop_file": "Jarri hemen fitxategia",
+ "drop_image": "Jarri hemen irudia",
+ "drop_video": "Jarri hemen bideoa"
+ }
+}
diff --git a/js/audio/package.json b/js/audio/package.json
index 1ed493acafe8c..8b68d3692fb0c 100644
--- a/js/audio/package.json
+++ b/js/audio/package.json
@@ -24,4 +24,4 @@
"./example": "./Example.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/box/package.json b/js/box/package.json
index d846cb5a3e9f5..3d7f65b6f78b4 100644
--- a/js/box/package.json
+++ b/js/box/package.json
@@ -14,4 +14,4 @@
"dependencies": {
"@gradio/atoms": "workspace:^"
}
-}
\ No newline at end of file
+}
diff --git a/js/chatbot/Chatbot.stories.svelte b/js/chatbot/Chatbot.stories.svelte
index daba5aa292fbd..8a6d750d4ce1e 100644
--- a/js/chatbot/Chatbot.stories.svelte
+++ b/js/chatbot/Chatbot.stories.svelte
@@ -10,20 +10,20 @@
label: {
control: "text",
description: "The textbox label",
- name: "label",
+ name: "label"
},
show_label: {
options: [true, false],
description: "Whether to show the label",
control: { type: "boolean" },
- defaultValue: true,
+ defaultValue: true
},
rtl: {
options: [true, false],
description: "Whether to render right-to-left",
control: { type: "boolean" },
- defaultValue: false,
- },
+ defaultValue: false
+ }
}}
/>
@@ -33,10 +33,10 @@
value={[
[
"Can you write a function in Python?",
- "```py\ndef test():\n\tprint(x)\n```",
+ "```py\ndef test():\n\tprint(x)\n```"
],
["Can you do math?", "$$1+1=2$$"],
- ["Can you say nothing?", null],
+ ["Can you say nothing?", null]
]}
/>
@@ -55,7 +55,7 @@
name="Chatbot with text rendered right-to-left"
args={{
rtl: true,
- latex_delimiters: [{ left: "$$", right: "$$", display: true }],
+ latex_delimiters: [{ left: "$$", right: "$$", display: true }]
}}
/>
@@ -64,14 +64,14 @@
args={{
rtl: true,
latex_delimiters: [{ left: "$$", right: "$$", display: true }],
- show_copy_button: true,
+ show_copy_button: true
}}
/>
@@ -79,7 +79,7 @@
name="Chatbot with panel layout enabled"
args={{
bubble_full_width: false,
- layout: "panel",
+ layout: "panel"
}}
/>
@@ -89,8 +89,8 @@
layout: "panel",
avatar_images: [
"https://avatars.githubusercontent.com/u/100000?v=4",
- "https://avatars.githubusercontent.com/u/100000?v=4",
- ],
+ "https://avatars.githubusercontent.com/u/100000?v=4"
+ ]
}}
/>
@@ -101,7 +101,7 @@
layout: "bubble",
avatar_images: [
"https://avatars.githubusercontent.com/u/100000?v=4",
- "https://avatars.githubusercontent.com/u/100000?v=4",
- ],
+ "https://avatars.githubusercontent.com/u/100000?v=4"
+ ]
}}
/>
diff --git a/js/chatbot/package.json b/js/chatbot/package.json
index 396aa6779512f..6e09ed323e07e 100644
--- a/js/chatbot/package.json
+++ b/js/chatbot/package.json
@@ -24,4 +24,4 @@
".": "./Index.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/checkbox/package.json b/js/checkbox/package.json
index ca7860d637c50..8b372a0282b5e 100644
--- a/js/checkbox/package.json
+++ b/js/checkbox/package.json
@@ -17,4 +17,4 @@
"@gradio/statustracker": "workspace:^",
"@gradio/utils": "workspace:^"
}
-}
\ No newline at end of file
+}
diff --git a/js/checkbox/shared/Checkbox.svelte b/js/checkbox/shared/Checkbox.svelte
index 5e7a0606e09ff..fb2e054742570 100644
--- a/js/checkbox/shared/Checkbox.svelte
+++ b/js/checkbox/shared/Checkbox.svelte
@@ -34,7 +34,7 @@
dispatch("select", {
index: 0,
value: label,
- selected: value,
+ selected: value
});
}
}}
@@ -43,7 +43,7 @@
dispatch("select", {
index: 0,
value: label,
- selected: evt.currentTarget.checked,
+ selected: evt.currentTarget.checked
});
}}
{disabled}
diff --git a/js/checkboxgroup/package.json b/js/checkboxgroup/package.json
index 638cd4d952b7b..6c6ed6af8942a 100644
--- a/js/checkboxgroup/package.json
+++ b/js/checkboxgroup/package.json
@@ -17,4 +17,4 @@
"@gradio/statustracker": "workspace:^",
"@gradio/utils": "workspace:^"
}
-}
\ No newline at end of file
+}
diff --git a/js/checkboxgroup/shared/Checkboxgroup.svelte b/js/checkboxgroup/shared/Checkboxgroup.svelte
index 9dd9b4682e0da..ca801986ff885 100644
--- a/js/checkboxgroup/shared/Checkboxgroup.svelte
+++ b/js/checkboxgroup/shared/Checkboxgroup.svelte
@@ -58,7 +58,7 @@
dispatch("select", {
index: i,
value: choice[1],
- selected: evt.currentTarget.checked,
+ selected: evt.currentTarget.checked
})}
on:keydown={(event) => {
if (event.key === "Enter") {
@@ -66,7 +66,7 @@
dispatch("select", {
index: i,
value: choice[1],
- selected: !value.includes(choice[1]),
+ selected: !value.includes(choice[1])
});
}
}}
diff --git a/js/code/package.json b/js/code/package.json
index 55fd93cbac0f7..a921a06a1006f 100644
--- a/js/code/package.json
+++ b/js/code/package.json
@@ -39,4 +39,4 @@
"./example": "./Example.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/code/shared/Code.svelte b/js/code/shared/Code.svelte
index 101cb25569494..3e69f612f37c8 100644
--- a/js/code/shared/Code.svelte
+++ b/js/code/shared/Code.svelte
@@ -4,7 +4,7 @@
import {
EditorView,
keymap,
- placeholder as placeholderExt,
+ placeholder as placeholderExt
} from "@codemirror/view";
import { StateEffect, EditorState, type Extension } from "@codemirror/state";
import { indentWithTab } from "@codemirror/commands";
@@ -50,8 +50,8 @@
changes: {
from: 0,
to: view.state.doc.length,
- insert: newDoc,
- },
+ insert: newDoc
+ }
});
}
}
@@ -65,7 +65,7 @@
function createEditorView(): EditorView {
return new EditorView({
parent: element,
- state: createEditorState(value),
+ state: createEditorState(value)
});
}
@@ -119,7 +119,7 @@
),
FontTheme,
...getTheme(),
- ...extensions,
+ ...extensions
];
return stateExtensions;
}
@@ -127,36 +127,36 @@
const FontTheme = EditorView.theme({
"&": {
fontSize: "var(--text-sm)",
- backgroundColor: "var(--border-color-secondary)",
+ backgroundColor: "var(--border-color-secondary)"
},
".cm-content": {
paddingTop: "5px",
paddingBottom: "5px",
color: "var(--body-text-color)",
fontFamily: "var(--font-mono)",
- minHeight: "100%",
+ minHeight: "100%"
},
".cm-gutters": {
marginRight: "1px",
borderRight: "1px solid var(--border-color-primary)",
backgroundColor: "transparent",
- color: "var(--body-text-color-subdued)",
+ color: "var(--body-text-color-subdued)"
},
".cm-focused": {
- outline: "none",
+ outline: "none"
},
".cm-scroller": {
- height: "auto",
+ height: "auto"
},
".cm-cursor": {
- borderLeftColor: "var(--body-text-color)",
- },
+ borderLeftColor: "var(--body-text-color)"
+ }
});
function createEditorState(_value: string | null | undefined): EditorState {
return EditorState.create({
doc: _value ?? undefined,
- extensions: getExtensions(),
+ extensions: getExtensions()
});
}
@@ -170,7 +170,7 @@
const extensions: Extension[] = [
EditorView.editable.of(!readonly),
EditorState.readOnly.of(readonly),
- EditorView.contentAttributes.of({ "aria-label": "Code input container" }),
+ EditorView.contentAttributes.of({ "aria-label": "Code input container" })
];
if (basic) {
@@ -203,7 +203,7 @@
function reconfigure(): void {
view?.dispatch({
- effects: StateEffect.reconfigure.of(getExtensions()),
+ effects: StateEffect.reconfigure.of(getExtensions())
});
}
diff --git a/js/colorpicker/package.json b/js/colorpicker/package.json
index b469481f91b12..71516bf5ed332 100644
--- a/js/colorpicker/package.json
+++ b/js/colorpicker/package.json
@@ -17,4 +17,4 @@
"@gradio/statustracker": "workspace:^",
"@gradio/utils": "workspace:^"
}
-}
\ No newline at end of file
+}
diff --git a/js/column/package.json b/js/column/package.json
index f2ec3d9406689..0cb169c327aec 100644
--- a/js/column/package.json
+++ b/js/column/package.json
@@ -11,4 +11,4 @@
".": "./Index.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/dataframe/package.json b/js/dataframe/package.json
index 9a7c6e6d746cd..bdee98a81ed5f 100644
--- a/js/dataframe/package.json
+++ b/js/dataframe/package.json
@@ -28,4 +28,4 @@
"./example": "./Example.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/dataset/package.json b/js/dataset/package.json
index 1554b0e9a6efa..4cdc06fd80f76 100644
--- a/js/dataset/package.json
+++ b/js/dataset/package.json
@@ -16,4 +16,4 @@
"@gradio/utils": "workspace:^",
"@gradio/upload": "workspace:^"
}
-}
\ No newline at end of file
+}
diff --git a/js/dropdown/package.json b/js/dropdown/package.json
index 4c671fa94f92a..d051cf5e5b064 100644
--- a/js/dropdown/package.json
+++ b/js/dropdown/package.json
@@ -18,4 +18,4 @@
"@gradio/statustracker": "workspace:^",
"@gradio/utils": "workspace:^"
}
-}
\ No newline at end of file
+}
diff --git a/js/dropdown/shared/Multiselect.svelte b/js/dropdown/shared/Multiselect.svelte
index e7bd9fc70de7f..7fd1f31cc392c 100644
--- a/js/dropdown/shared/Multiselect.svelte
+++ b/js/dropdown/shared/Multiselect.svelte
@@ -20,7 +20,7 @@
export let container = true;
export let allow_custom_value = false;
export let filterable = true;
- export let i18n: I18nFormatter
+ export let i18n: I18nFormatter;
let filter_input: HTMLElement;
let input_text = "";
@@ -113,7 +113,7 @@
typeof option_index === "number"
? choices_values[option_index]
: option_index,
- selected: false,
+ selected: false
});
}
@@ -126,7 +126,7 @@
typeof option_index === "number"
? choices_values[option_index]
: option_index,
- selected: true,
+ selected: true
});
}
if (selected_indices.length === max_choices) {
diff --git a/js/fallback/package.json b/js/fallback/package.json
index f59c55471ccdb..a46d64925781e 100644
--- a/js/fallback/package.json
+++ b/js/fallback/package.json
@@ -18,4 +18,4 @@
"@gradio/utils": "workspace:^",
"@zerodevx/svelte-json-view": "^1.0.7"
}
-}
\ No newline at end of file
+}
diff --git a/js/file/package.json b/js/file/package.json
index b62599b73faef..70d2ce10eacc7 100644
--- a/js/file/package.json
+++ b/js/file/package.json
@@ -20,4 +20,4 @@
"./example": "./Example.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/fileexplorer/package.json b/js/fileexplorer/package.json
index 0272685af2c1b..c5f479f38ba36 100644
--- a/js/fileexplorer/package.json
+++ b/js/fileexplorer/package.json
@@ -23,4 +23,4 @@
"./example": "./Example.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/form/package.json b/js/form/package.json
index 0981e7e55c5b4..7a5c0e6456dc8 100644
--- a/js/form/package.json
+++ b/js/form/package.json
@@ -16,4 +16,4 @@
".": "./Index.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/gallery/package.json b/js/gallery/package.json
index 01e2bfc1a1d70..120388a4eff16 100644
--- a/js/gallery/package.json
+++ b/js/gallery/package.json
@@ -20,4 +20,4 @@
".": "./Index.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/gallery/shared/Gallery.svelte b/js/gallery/shared/Gallery.svelte
index c1731d80b7489..aedc48073bb4a 100644
--- a/js/gallery/shared/Gallery.svelte
+++ b/js/gallery/shared/Gallery.svelte
@@ -466,4 +466,4 @@
.icon-buttons a {
margin: var(--size-1) 0;
}
-
\ No newline at end of file
+
diff --git a/js/group/package.json b/js/group/package.json
index 13b940d93e18d..8d98e7770b97c 100644
--- a/js/group/package.json
+++ b/js/group/package.json
@@ -11,4 +11,4 @@
".": "./Index.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/highlightedtext/package.json b/js/highlightedtext/package.json
index 537b9726b210c..d3de16e8b06da 100644
--- a/js/highlightedtext/package.json
+++ b/js/highlightedtext/package.json
@@ -18,4 +18,4 @@
".": "./Index.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/html/package.json b/js/html/package.json
index aa61ed5e2b9e6..e4324bbbe57fb 100644
--- a/js/html/package.json
+++ b/js/html/package.json
@@ -17,4 +17,4 @@
"./example": "./Example.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/image/package.json b/js/image/package.json
index 29ca5559f4ae1..e75e5bf598d5b 100644
--- a/js/image/package.json
+++ b/js/image/package.json
@@ -23,4 +23,4 @@
"./example": "./Example.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/image/shared/Webcam.svelte b/js/image/shared/Webcam.svelte
index b501b26e00bfd..160b11e1b2570 100644
--- a/js/image/shared/Webcam.svelte
+++ b/js/image/shared/Webcam.svelte
@@ -34,7 +34,7 @@
try {
stream = await navigator.mediaDevices.getUserMedia({
video: true,
- audio: include_audio,
+ audio: include_audio
});
video_source.srcObject = stream;
video_source.muted = true;
@@ -105,7 +105,7 @@
return;
}
media_recorder = new MediaRecorder(stream, {
- mimeType: mimeType,
+ mimeType: mimeType
});
media_recorder.addEventListener("dataavailable", function (e) {
recorded_blobs.push(e.data);
diff --git a/js/json/package.json b/js/json/package.json
index faa23b5c31f56..aaf1c0fdd454f 100644
--- a/js/json/package.json
+++ b/js/json/package.json
@@ -17,4 +17,4 @@
".": "./Index.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/label/package.json b/js/label/package.json
index 51a8cbc81177d..20c35add9b10d 100644
--- a/js/label/package.json
+++ b/js/label/package.json
@@ -17,4 +17,4 @@
".": "./Index.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/markdown/package.json b/js/markdown/package.json
index 2d1bacf9d208c..4e0aa49da4adb 100644
--- a/js/markdown/package.json
+++ b/js/markdown/package.json
@@ -25,4 +25,4 @@
"marked-highlight": "^2.0.1",
"prismjs": "1.29.0"
}
-}
\ No newline at end of file
+}
diff --git a/js/model3D/package.json b/js/model3D/package.json
index 7781784105b2d..eac7e2c87339a 100644
--- a/js/model3D/package.json
+++ b/js/model3D/package.json
@@ -22,4 +22,4 @@
"./example": "./Example.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/number/package.json b/js/number/package.json
index d2088810c7e14..a0a3d9c6eab5e 100644
--- a/js/number/package.json
+++ b/js/number/package.json
@@ -17,4 +17,4 @@
"@gradio/statustracker": "workspace:^",
"@gradio/utils": "workspace:^"
}
-}
\ No newline at end of file
+}
diff --git a/js/plot/package.json b/js/plot/package.json
index 110ae0829b8ff..0d48e8d6177de 100644
--- a/js/plot/package.json
+++ b/js/plot/package.json
@@ -23,4 +23,4 @@
".": "./Index.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/preview/package.json b/js/preview/package.json
index 8e811c1dd88ce..0f9d6bb553653 100644
--- a/js/preview/package.json
+++ b/js/preview/package.json
@@ -1,41 +1,41 @@
{
- "name": "@gradio/preview",
- "version": "0.1.0-beta.6",
- "description": "Gradio UI packages",
- "type": "module",
- "main": "src/index.ts",
- "author": "",
- "license": "ISC",
- "private": false,
- "scripts": {
- "build": "rollup -c"
- },
- "devDependencies": {
- "@rollup/plugin-commonjs": "^25.0.4",
- "@rollup/plugin-json": "^6.0.0",
- "@rollup/plugin-node-resolve": "^15.1.0",
- "@rollup/plugin-typescript": "^11.1.2",
- "rollup": "^3.28.0",
- "svelte-hmr": "^0.15.3",
- "vite": "^4.4.9"
- },
- "dependencies": {
- "@originjs/vite-plugin-commonjs": "^1.0.3",
- "@rollup/plugin-sucrase": "^5.0.1",
- "@sveltejs/vite-plugin-svelte": "^2.4.2",
- "@types/which": "^3.0.0",
- "coffeescript": "^2.7.0",
- "css-tree": "2.3.1",
- "esbuild-wasm": "^0.19.0",
- "lightningcss": "^1.21.7",
- "pug": "^3.0.2",
- "rollup-plugin-ignore": "^1.0.10",
- "sass": "^1.66.1",
- "stylus": "^0.60.0",
- "sucrase": "^3.34.0",
- "sugarss": "^4.0.1",
- "svelte": "^4.2.0",
- "which": "4.0.0",
- "yootils": "^0.3.1"
- }
-}
\ No newline at end of file
+ "name": "@gradio/preview",
+ "version": "0.1.0-beta.6",
+ "description": "Gradio UI packages",
+ "type": "module",
+ "main": "src/index.ts",
+ "author": "",
+ "license": "ISC",
+ "private": false,
+ "scripts": {
+ "build": "rollup -c"
+ },
+ "devDependencies": {
+ "@rollup/plugin-commonjs": "^25.0.4",
+ "@rollup/plugin-json": "^6.0.0",
+ "@rollup/plugin-node-resolve": "^15.1.0",
+ "@rollup/plugin-typescript": "^11.1.2",
+ "rollup": "^3.28.0",
+ "svelte-hmr": "^0.15.3",
+ "vite": "^4.4.9"
+ },
+ "dependencies": {
+ "@originjs/vite-plugin-commonjs": "^1.0.3",
+ "@rollup/plugin-sucrase": "^5.0.1",
+ "@sveltejs/vite-plugin-svelte": "^2.4.2",
+ "@types/which": "^3.0.0",
+ "coffeescript": "^2.7.0",
+ "css-tree": "2.3.1",
+ "esbuild-wasm": "^0.19.0",
+ "lightningcss": "^1.21.7",
+ "pug": "^3.0.2",
+ "rollup-plugin-ignore": "^1.0.10",
+ "sass": "^1.66.1",
+ "stylus": "^0.60.0",
+ "sucrase": "^3.34.0",
+ "sugarss": "^4.0.1",
+ "svelte": "^4.2.0",
+ "which": "4.0.0",
+ "yootils": "^0.3.1"
+ }
+}
diff --git a/js/preview/test/imageslider/frontend/package.json b/js/preview/test/imageslider/frontend/package.json
index 50368a26c972d..47718cc42d11c 100644
--- a/js/preview/test/imageslider/frontend/package.json
+++ b/js/preview/test/imageslider/frontend/package.json
@@ -1,27 +1,27 @@
{
- "name": "imageslider",
- "version": "0.2.1-beta.0",
- "description": "Gradio UI packages",
- "type": "module",
- "main": "./index.svelte",
- "author": "",
- "license": "ISC",
- "private": true,
- "dependencies": {
- "@gradio/atoms": "workspace:^",
- "@gradio/icons": "workspace:^",
- "@gradio/statustracker": "workspace:^",
- "@gradio/upload": "workspace:^",
- "@gradio/utils": "workspace:^",
- "cropperjs": "^1.5.12",
- "lazy-brush": "^1.0.1",
- "resize-observer-polyfill": "^1.5.1"
- },
- "main_changeset": true,
- "exports": {
- "./package.json": "./package.json",
- "./interactive": "./interactive/index.ts",
- "./static": "./static/index.ts",
- "./example": "./example/index.ts"
- }
-}
\ No newline at end of file
+ "name": "imageslider",
+ "version": "0.2.1-beta.0",
+ "description": "Gradio UI packages",
+ "type": "module",
+ "main": "./index.svelte",
+ "author": "",
+ "license": "ISC",
+ "private": true,
+ "dependencies": {
+ "@gradio/atoms": "workspace:^",
+ "@gradio/icons": "workspace:^",
+ "@gradio/statustracker": "workspace:^",
+ "@gradio/upload": "workspace:^",
+ "@gradio/utils": "workspace:^",
+ "cropperjs": "^1.5.12",
+ "lazy-brush": "^1.0.1",
+ "resize-observer-polyfill": "^1.5.1"
+ },
+ "main_changeset": true,
+ "exports": {
+ "./package.json": "./package.json",
+ "./interactive": "./interactive/index.ts",
+ "./static": "./static/index.ts",
+ "./example": "./example/index.ts"
+ }
+}
diff --git a/js/preview/test/newtext/frontend/example/index.ts b/js/preview/test/newtext/frontend/example/index.ts
index 5f87dcb3a1b3a..ccf7b447f6d29 100644
--- a/js/preview/test/newtext/frontend/example/index.ts
+++ b/js/preview/test/newtext/frontend/example/index.ts
@@ -1 +1 @@
-export { default } from "./newtext.svelte";
\ No newline at end of file
+export { default } from "./newtext.svelte";
diff --git a/js/preview/test/newtext/frontend/example/newtext.svelte b/js/preview/test/newtext/frontend/example/newtext.svelte
index e5e40bb4b2546..2ccd9894d9605 100644
--- a/js/preview/test/newtext/frontend/example/newtext.svelte
+++ b/js/preview/test/newtext/frontend/example/newtext.svelte
@@ -1,7 +1,7 @@
-
-
\ No newline at end of file
+
+
diff --git a/js/preview/test/newtext/frontend/interactive/index.ts b/js/preview/test/newtext/frontend/interactive/index.ts
index 5f87dcb3a1b3a..ccf7b447f6d29 100644
--- a/js/preview/test/newtext/frontend/interactive/index.ts
+++ b/js/preview/test/newtext/frontend/interactive/index.ts
@@ -1 +1 @@
-export { default } from "./newtext.svelte";
\ No newline at end of file
+export { default } from "./newtext.svelte";
diff --git a/js/preview/test/newtext/frontend/interactive/newtext.svelte b/js/preview/test/newtext/frontend/interactive/newtext.svelte
index e5e40bb4b2546..2ccd9894d9605 100644
--- a/js/preview/test/newtext/frontend/interactive/newtext.svelte
+++ b/js/preview/test/newtext/frontend/interactive/newtext.svelte
@@ -1,7 +1,7 @@
-
-
\ No newline at end of file
+
+
diff --git a/js/preview/test/newtext/frontend/package.json b/js/preview/test/newtext/frontend/package.json
index f9ce53615df98..c2d1cbae87841 100644
--- a/js/preview/test/newtext/frontend/package.json
+++ b/js/preview/test/newtext/frontend/package.json
@@ -1,20 +1,20 @@
{
- "name": "newtext",
- "version": "0.1.0-beta.0",
- "description": "Custom Component",
- "type": "module",
- "main": "./index.svelte",
- "author": "",
- "license": "ISC",
- "private": true,
- "dependencies": {
- "@zerodevx/svelte-json-view": "^1.0"
- },
- "exports": {
- ".": "./index.svelte",
- "./package.json": "./package.json",
- "./interactive": "./interactive/index.ts",
- "./static": "./static/index.ts",
- "./example": "./example/index.ts"
- }
-}
\ No newline at end of file
+ "name": "newtext",
+ "version": "0.1.0-beta.0",
+ "description": "Custom Component",
+ "type": "module",
+ "main": "./index.svelte",
+ "author": "",
+ "license": "ISC",
+ "private": true,
+ "dependencies": {
+ "@zerodevx/svelte-json-view": "^1.0"
+ },
+ "exports": {
+ ".": "./index.svelte",
+ "./package.json": "./package.json",
+ "./interactive": "./interactive/index.ts",
+ "./static": "./static/index.ts",
+ "./example": "./example/index.ts"
+ }
+}
diff --git a/js/preview/test/newtext/frontend/shared/index.ts b/js/preview/test/newtext/frontend/shared/index.ts
index 5f87dcb3a1b3a..ccf7b447f6d29 100644
--- a/js/preview/test/newtext/frontend/shared/index.ts
+++ b/js/preview/test/newtext/frontend/shared/index.ts
@@ -1 +1 @@
-export { default } from "./newtext.svelte";
\ No newline at end of file
+export { default } from "./newtext.svelte";
diff --git a/js/preview/test/newtext/frontend/shared/newtext.svelte b/js/preview/test/newtext/frontend/shared/newtext.svelte
index e5e40bb4b2546..2ccd9894d9605 100644
--- a/js/preview/test/newtext/frontend/shared/newtext.svelte
+++ b/js/preview/test/newtext/frontend/shared/newtext.svelte
@@ -1,7 +1,7 @@
-
-
\ No newline at end of file
+
+
diff --git a/js/preview/test/newtext/frontend/static/index.ts b/js/preview/test/newtext/frontend/static/index.ts
index 5f87dcb3a1b3a..ccf7b447f6d29 100644
--- a/js/preview/test/newtext/frontend/static/index.ts
+++ b/js/preview/test/newtext/frontend/static/index.ts
@@ -1 +1 @@
-export { default } from "./newtext.svelte";
\ No newline at end of file
+export { default } from "./newtext.svelte";
diff --git a/js/preview/test/newtext/frontend/static/newtext.svelte b/js/preview/test/newtext/frontend/static/newtext.svelte
index e5e40bb4b2546..2ccd9894d9605 100644
--- a/js/preview/test/newtext/frontend/static/newtext.svelte
+++ b/js/preview/test/newtext/frontend/static/newtext.svelte
@@ -1,7 +1,7 @@
-
-
\ No newline at end of file
+
+
diff --git a/js/radio/package.json b/js/radio/package.json
index 21fa89780dbad..a7ee1a0983d14 100644
--- a/js/radio/package.json
+++ b/js/radio/package.json
@@ -17,4 +17,4 @@
"@gradio/statustracker": "workspace:^",
"@gradio/utils": "workspace:^"
}
-}
\ No newline at end of file
+}
diff --git a/js/row/package.json b/js/row/package.json
index 40bc259eaad07..4cbd798695f9b 100644
--- a/js/row/package.json
+++ b/js/row/package.json
@@ -14,4 +14,4 @@
"devDependencies": {
"@gradio/image": "workspace:^"
}
-}
\ No newline at end of file
+}
diff --git a/js/slider/package.json b/js/slider/package.json
index 77cf72a5092b1..aae4af8444c49 100644
--- a/js/slider/package.json
+++ b/js/slider/package.json
@@ -17,4 +17,4 @@
"@gradio/statustracker": "workspace:^",
"@gradio/utils": "workspace:^"
}
-}
\ No newline at end of file
+}
diff --git a/js/state/package.json b/js/state/package.json
index 2a67c1ec382a6..572593904f40f 100644
--- a/js/state/package.json
+++ b/js/state/package.json
@@ -11,4 +11,4 @@
".": "./Index.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/js/storybook/design-tokens/Colors.stories.svelte b/js/storybook/design-tokens/Colors.stories.svelte
index e324b2f3b643f..a29de50de88ff 100644
--- a/js/storybook/design-tokens/Colors.stories.svelte
+++ b/js/storybook/design-tokens/Colors.stories.svelte
@@ -36,7 +36,7 @@
{ tokenName: "--neutral-700", value: "#374151" },
{ tokenName: "--neutral-800", value: "#1f2937" },
{ tokenName: "--neutral-900", value: "#111827" },
- { tokenName: "--neutral-950", value: "#0b0f19" },
+ { tokenName: "--neutral-950", value: "#0b0f19" }
];
diff --git a/js/storybook/design-tokens/Icons.stories.svelte b/js/storybook/design-tokens/Icons.stories.svelte
index 0ca6e1843f56e..c18de6ccd62cf 100644
--- a/js/storybook/design-tokens/Icons.stories.svelte
+++ b/js/storybook/design-tokens/Icons.stories.svelte
@@ -40,7 +40,7 @@
Tree,
Undo,
Video,
- Warning,
+ Warning
} from "../../icons/src";
const icons = [
@@ -81,7 +81,7 @@
{ name: "Tree", value: Tree },
{ name: "Undo", value: Undo },
{ name: "Video", value: Video },
- { name: "Warning", value: Warning },
+ { name: "Warning", value: Warning }
];
diff --git a/js/storybook/design-tokens/Radii.stories.svelte b/js/storybook/design-tokens/Radii.stories.svelte
index f150a4347a982..f5293e2ac9def 100644
--- a/js/storybook/design-tokens/Radii.stories.svelte
+++ b/js/storybook/design-tokens/Radii.stories.svelte
@@ -10,7 +10,7 @@
{ tokenName: "--radius-md", value: "6px" },
{ tokenName: "--radius-lg", value: "8px" },
{ tokenName: "--radius-xl", value: "12px" },
- { tokenName: "--radius-xxl", value: "22px" },
+ { tokenName: "--radius-xxl", value: "22px" }
];
diff --git a/js/storybook/design-tokens/Spacing.stories.svelte b/js/storybook/design-tokens/Spacing.stories.svelte
index a46d400916b45..5a65d0786b318 100644
--- a/js/storybook/design-tokens/Spacing.stories.svelte
+++ b/js/storybook/design-tokens/Spacing.stories.svelte
@@ -10,7 +10,7 @@
{ tokenName: "--spacing-md", value: "6px" },
{ tokenName: "--spacing-lg", value: "8px" },
{ tokenName: "--spacing-xl", value: "10px" },
- { tokenName: "--spacing-xxl", value: "16px" },
+ { tokenName: "--spacing-xxl", value: "16px" }
];
diff --git a/js/storybook/design-tokens/TextSize.stories.svelte b/js/storybook/design-tokens/TextSize.stories.svelte
index 233e24332218b..8ab046ece69c9 100644
--- a/js/storybook/design-tokens/TextSize.stories.svelte
+++ b/js/storybook/design-tokens/TextSize.stories.svelte
@@ -10,7 +10,7 @@
{ tokenName: "--text-md", value: "14px" },
{ tokenName: "--text-lg", value: "16px" },
{ tokenName: "--text-xl", value: "22px" },
- { tokenName: "--text-xxl", value: "26px" },
+ { tokenName: "--text-xxl", value: "26px" }
];
diff --git a/js/tabitem/package.json b/js/tabitem/package.json
index 348eb90b23f93..daae9c5cec82f 100644
--- a/js/tabitem/package.json
+++ b/js/tabitem/package.json
@@ -16,4 +16,4 @@
"@gradio/tabs": "workspace:^",
"@gradio/utils": "workspace:^"
}
-}
\ No newline at end of file
+}
diff --git a/js/tabs/package.json b/js/tabs/package.json
index 5e0c4d9deb2d4..90da3b3e4621c 100644
--- a/js/tabs/package.json
+++ b/js/tabs/package.json
@@ -14,4 +14,4 @@
"dependencies": {
"@gradio/utils": "workspace:^"
}
-}
\ No newline at end of file
+}
diff --git a/js/textbox/package.json b/js/textbox/package.json
index cda843dd4800f..1877042f916d5 100644
--- a/js/textbox/package.json
+++ b/js/textbox/package.json
@@ -18,4 +18,4 @@
"@gradio/statustracker": "workspace:^",
"@gradio/utils": "workspace:^"
}
-}
\ No newline at end of file
+}
diff --git a/js/textbox/shared/Textbox.svelte b/js/textbox/shared/Textbox.svelte
index b6169a9f61edb..02a4941a38f10 100644
--- a/js/textbox/shared/Textbox.svelte
+++ b/js/textbox/shared/Textbox.svelte
@@ -3,7 +3,7 @@
beforeUpdate,
afterUpdate,
createEventDispatcher,
- tick,
+ tick
} from "svelte";
import { BlockTitle } from "@gradio/atoms";
import { Copy, Check } from "@gradio/icons";
@@ -94,7 +94,7 @@
const text = target.value;
const index: [number, number] = [
target.selectionStart as number,
- target.selectionEnd as number,
+ target.selectionEnd as number
];
dispatch("select", { value: text.substring(...index), index: index });
}
@@ -171,7 +171,7 @@
resize({ target: _el });
return {
- destroy: () => _el.removeEventListener("input", resize),
+ destroy: () => _el.removeEventListener("input", resize)
};
}
diff --git a/js/uploadbutton/package.json b/js/uploadbutton/package.json
index a55c9d8896bdb..ba7cf70de5736 100644
--- a/js/uploadbutton/package.json
+++ b/js/uploadbutton/package.json
@@ -17,4 +17,4 @@
"@gradio/upload": "workspace:^",
"@gradio/utils": "workspace:^"
}
-}
\ No newline at end of file
+}
diff --git a/js/video/package.json b/js/video/package.json
index 17a604321a09e..c8981495c8f44 100644
--- a/js/video/package.json
+++ b/js/video/package.json
@@ -21,4 +21,4 @@
"./example": "./Example.svelte",
"./package.json": "./package.json"
}
-}
\ No newline at end of file
+}
diff --git a/test/test_files/xray_config.json b/test/test_files/xray_config.json
index 10976445406d9..374fa4bf86538 100644
--- a/test/test_files/xray_config.json
+++ b/test/test_files/xray_config.json
@@ -1,493 +1,460 @@
{
- "version": "3.45.2",
- "mode": "blocks",
- "app_id": 9825271647306944906,
- "dev_mode": false,
- "analytics_enabled": true,
- "components": [
- {
- "id": 1,
- "type": "markdown",
- "props": {
- "value": "# Detect Disease From Scan\nWith this model you can lorem ipsum\n- ipsum 1\n- ipsum 2",
- "rtl": false,
- "latex_delimiters": [
- {
- "left": "$",
- "right": "$",
- "display": false
- }
- ],
- "visible": true,
- "sanitize_html": true,
- "line_breaks": false,
- "name": "markdown"
- },
- "serializer": "StringSerializable",
- "api_info": {
- "info": {
- "type": "string"
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": "Howdy!",
- "serialized": "Howdy!"
- }
- },
- {
- "id": 2,
- "type": "checkboxgroup",
- "props": {
- "choices": [
- [
- "Covid",
- "Covid"
- ],
- [
- "Malaria",
- "Malaria"
- ],
- [
- "Lung Cancer",
- "Lung Cancer"
- ]
- ],
- "value": [],
- "type": "value",
- "label": "Disease to Scan For",
- "show_label": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "name": "checkboxgroup",
- "selectable": false
- },
- "serializer": "ListStringSerializable",
- "api_info": {
- "info": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": [
- "Covid"
- ],
- "serialized": [
- "Covid"
- ]
- }
- },
- {
- "id": 3,
- "type": "tabs",
- "props": {
- "visible": true,
- "name": "tabs",
- "selectable": false
- }
- },
- {
- "id": 4,
- "type": "tabitem",
- "props": {
- "label": "X-ray",
- "name": "tabitem",
- "selectable": false
- }
- },
- {
- "id": 5,
- "type": "row",
- "props": {
- "variant": "default",
- "visible": true,
- "equal_height": true,
- "name": "row"
- }
- },
- {
- "id": 6,
- "type": "image",
- "props": {
- "image_mode": "RGB",
- "invert_colors": false,
- "source": "upload",
- "tool": "editor",
- "type": "numpy",
- "show_label": true,
- "show_download_button": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "streaming": false,
- "mirror_webcam": true,
- "brush_color": "#000000",
- "mask_opacity": 0.7,
- "show_share_button": false,
- "name": "image",
- "selectable": false
- },
- "serializer": "ImgSerializable",
- "api_info": {
- "info": {
- "type": "string",
- "description": "base64 representation of an image"
- },
- "serialized_info": true
- },
- "example_inputs": {
- "raw": "data:image/png;base64,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",
- "serialized": "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png"
- }
- },
- {
- "id": 7,
- "type": "json",
- "props": {
- "show_label": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "name": "json"
- },
- "serializer": "JSONSerializable",
- "api_info": {
- "info": {
- "type": {},
- "description": "any valid json"
- },
- "serialized_info": true
- },
- "example_inputs": {
- "raw": {
- "a": 1,
- "b": 2
- },
- "serialized": null
- }
- },
- {
- "id": 8,
- "type": "button",
- "props": {
- "value": "Run",
- "variant": "secondary",
- "visible": true,
- "interactive": true,
- "name": "button"
- },
- "serializer": "StringSerializable",
- "api_info": {
- "info": {
- "type": "string"
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": "Howdy!",
- "serialized": "Howdy!"
- }
- },
- {
- "id": 9,
- "type": "tabitem",
- "props": {
- "label": "CT Scan",
- "name": "tabitem",
- "selectable": false
- }
- },
- {
- "id": 10,
- "type": "row",
- "props": {
- "variant": "default",
- "visible": true,
- "equal_height": true,
- "name": "row"
- }
- },
- {
- "id": 11,
- "type": "image",
- "props": {
- "image_mode": "RGB",
- "invert_colors": false,
- "source": "upload",
- "tool": "editor",
- "type": "numpy",
- "show_label": true,
- "show_download_button": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "streaming": false,
- "mirror_webcam": true,
- "brush_color": "#000000",
- "mask_opacity": 0.7,
- "show_share_button": false,
- "name": "image",
- "selectable": false
- },
- "serializer": "ImgSerializable",
- "api_info": {
- "info": {
- "type": "string",
- "description": "base64 representation of an image"
- },
- "serialized_info": true
- },
- "example_inputs": {
- "raw": "data:image/png;base64,R0lGODlhPQBEAPeoAJosM//AwO/AwHVYZ/z595kzAP/s7P+goOXMv8+fhw/v739/f+8PD98fH/8mJl+fn/9ZWb8/PzWlwv///6wWGbImAPgTEMImIN9gUFCEm/gDALULDN8PAD6atYdCTX9gUNKlj8wZAKUsAOzZz+UMAOsJAP/Z2ccMDA8PD/95eX5NWvsJCOVNQPtfX/8zM8+QePLl38MGBr8JCP+zs9myn/8GBqwpAP/GxgwJCPny78lzYLgjAJ8vAP9fX/+MjMUcAN8zM/9wcM8ZGcATEL+QePdZWf/29uc/P9cmJu9MTDImIN+/r7+/vz8/P8VNQGNugV8AAF9fX8swMNgTAFlDOICAgPNSUnNWSMQ5MBAQEJE3QPIGAM9AQMqGcG9vb6MhJsEdGM8vLx8fH98AANIWAMuQeL8fABkTEPPQ0OM5OSYdGFl5jo+Pj/+pqcsTE78wMFNGQLYmID4dGPvd3UBAQJmTkP+8vH9QUK+vr8ZWSHpzcJMmILdwcLOGcHRQUHxwcK9PT9DQ0O/v70w5MLypoG8wKOuwsP/g4P/Q0IcwKEswKMl8aJ9fX2xjdOtGRs/Pz+Dg4GImIP8gIH0sKEAwKKmTiKZ8aB/f39Wsl+LFt8dgUE9PT5x5aHBwcP+AgP+WltdgYMyZfyywz78AAAAAAAD///8AAP9mZv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAKgALAAAAAA9AEQAAAj/AFEJHEiwoMGDCBMqXMiwocAbBww4nEhxoYkUpzJGrMixogkfGUNqlNixJEIDB0SqHGmyJSojM1bKZOmyop0gM3Oe2liTISKMOoPy7GnwY9CjIYcSRYm0aVKSLmE6nfq05QycVLPuhDrxBlCtYJUqNAq2bNWEBj6ZXRuyxZyDRtqwnXvkhACDV+euTeJm1Ki7A73qNWtFiF+/gA95Gly2CJLDhwEHMOUAAuOpLYDEgBxZ4GRTlC1fDnpkM+fOqD6DDj1aZpITp0dtGCDhr+fVuCu3zlg49ijaokTZTo27uG7Gjn2P+hI8+PDPERoUB318bWbfAJ5sUNFcuGRTYUqV/3ogfXp1rWlMc6awJjiAAd2fm4ogXjz56aypOoIde4OE5u/F9x199dlXnnGiHZWEYbGpsAEA3QXYnHwEFliKAgswgJ8LPeiUXGwedCAKABACCN+EA1pYIIYaFlcDhytd51sGAJbo3onOpajiihlO92KHGaUXGwWjUBChjSPiWJuOO/LYIm4v1tXfE6J4gCSJEZ7YgRYUNrkji9P55sF/ogxw5ZkSqIDaZBV6aSGYq/lGZplndkckZ98xoICbTcIJGQAZcNmdmUc210hs35nCyJ58fgmIKX5RQGOZowxaZwYA+JaoKQwswGijBV4C6SiTUmpphMspJx9unX4KaimjDv9aaXOEBteBqmuuxgEHoLX6Kqx+yXqqBANsgCtit4FWQAEkrNbpq7HSOmtwag5w57GrmlJBASEU18ADjUYb3ADTinIttsgSB1oJFfA63bduimuqKB1keqwUhoCSK374wbujvOSu4QG6UvxBRydcpKsav++Ca6G8A6Pr1x2kVMyHwsVxUALDq/krnrhPSOzXG1lUTIoffqGR7Goi2MAxbv6O2kEG56I7CSlRsEFKFVyovDJoIRTg7sugNRDGqCJzJgcKE0ywc0ELm6KBCCJo8DIPFeCWNGcyqNFE06ToAfV0HBRgxsvLThHn1oddQMrXj5DyAQgjEHSAJMWZwS3HPxT/QMbabI/iBCliMLEJKX2EEkomBAUCxRi42VDADxyTYDVogV+wSChqmKxEKCDAYFDFj4OmwbY7bDGdBhtrnTQYOigeChUmc1K3QTnAUfEgGFgAWt88hKA6aCRIXhxnQ1yg3BCayK44EWdkUQcBByEQChFXfCB776aQsG0BIlQgQgE8qO26X1h8cEUep8ngRBnOy74E9QgRgEAC8SvOfQkh7FDBDmS43PmGoIiKUUEGkMEC/PJHgxw0xH74yx/3XnaYRJgMB8obxQW6kL9QYEJ0FIFgByfIL7/IQAlvQwEpnAC7DtLNJCKUoO/w45c44GwCXiAFB/OXAATQryUxdN4LfFiwgjCNYg+kYMIEFkCKDs6PKAIJouyGWMS1FSKJOMRB/BoIxYJIUXFUxNwoIkEKPAgCBZSQHQ1A2EWDfDEUVLyADj5AChSIQW6gu10bE/JG2VnCZGfo4R4d0sdQoBAHhPjhIB94v/wRoRKQWGRHgrhGSQJxCS+0pCZbEhAAOw==",
- "serialized": "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png"
- }
- },
- {
- "id": 12,
- "type": "json",
- "props": {
- "show_label": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "name": "json"
- },
- "serializer": "JSONSerializable",
- "api_info": {
- "info": {
- "type": {},
- "description": "any valid json"
- },
- "serialized_info": true
- },
- "example_inputs": {
- "raw": {
- "a": 1,
- "b": 2
- },
- "serialized": null
- }
- },
- {
- "id": 13,
- "type": "button",
- "props": {
- "value": "Run",
- "variant": "secondary",
- "visible": true,
- "interactive": true,
- "name": "button"
- },
- "serializer": "StringSerializable",
- "api_info": {
- "info": {
- "type": "string"
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": "Howdy!",
- "serialized": "Howdy!"
- }
- },
- {
- "id": 14,
- "type": "textbox",
- "props": {
- "value": "",
- "lines": 1,
- "max_lines": 20,
- "show_label": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "autofocus": false,
- "autoscroll": true,
- "type": "text",
- "rtl": false,
- "show_copy_button": false,
- "name": "textbox",
- "selectable": false
- },
- "serializer": "StringSerializable",
- "api_info": {
- "info": {
- "type": "string"
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": "Howdy!",
- "serialized": "Howdy!"
- }
- },
- {
- "id": 15,
- "type": "form",
- "props": {
- "scale": 0,
- "min_width": 0,
- "name": "form"
- }
- },
- {
- "id": 16,
- "type": "form",
- "props": {
- "scale": 0,
- "min_width": 0,
- "name": "form"
- }
- }
- ],
- "css": null,
- "title": "Gradio",
- "space_id": null,
- "enable_queue": null,
- "show_error": true,
- "show_api": true,
- "is_colab": false,
- "stylesheets": [
- "https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600&display=swap",
- "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
- ],
- "theme": "default",
- "layout": {
- "id": 0,
- "children": [
- {
- "id": 1
- },
- {
- "id": 15,
- "children": [
- {
- "id": 2
- }
- ]
- },
- {
- "id": 3,
- "children": [
- {
- "id": 4,
- "children": [
- {
- "id": 5,
- "children": [
- {
- "id": 6
- },
- {
- "id": 7
- }
- ]
- },
- {
- "id": 8
- }
- ]
- },
- {
- "id": 9,
- "children": [
- {
- "id": 10,
- "children": [
- {
- "id": 11
- },
- {
- "id": 12
- }
- ]
- },
- {
- "id": 13
- }
- ]
- }
- ]
- },
- {
- "id": 16,
- "children": [
- {
- "id": 14
- }
- ]
- }
- ]
- },
- "dependencies": [
- {
- "targets": [
- [
- 8,
- "click"
- ]
- ],
- "inputs": [
- 2,
- 6
- ],
- "outputs": [
- 7
- ],
- "backend_fn": true,
- "js": null,
- "queue": null,
- "api_name": null,
- "scroll_to_output": false,
- "show_progress": "full",
- "every": null,
- "batch": false,
- "max_batch_size": 4,
- "cancels": [],
- "types": {
- "continuous": false,
- "generator": false
- },
- "collects_event_data": false,
- "trigger_after": null,
- "trigger_only_on_success": false
- },
- {
- "targets": [
- [
- 13,
- "click"
- ]
- ],
- "inputs": [
- 2,
- 11
- ],
- "outputs": [
- 12
- ],
- "backend_fn": true,
- "js": null,
- "queue": null,
- "api_name": null,
- "scroll_to_output": false,
- "show_progress": "full",
- "every": null,
- "batch": false,
- "max_batch_size": 4,
- "cancels": [],
- "types": {
- "continuous": false,
- "generator": false
- },
- "collects_event_data": false,
- "trigger_after": null,
- "trigger_only_on_success": false
- }
- ]
-}
\ No newline at end of file
+ "version": "3.45.2",
+ "mode": "blocks",
+ "app_id": 9825271647306944906,
+ "dev_mode": false,
+ "analytics_enabled": true,
+ "components": [
+ {
+ "id": 1,
+ "type": "markdown",
+ "props": {
+ "value": "# Detect Disease From Scan\nWith this model you can lorem ipsum\n- ipsum 1\n- ipsum 2",
+ "rtl": false,
+ "latex_delimiters": [
+ {
+ "left": "$",
+ "right": "$",
+ "display": false
+ }
+ ],
+ "visible": true,
+ "sanitize_html": true,
+ "line_breaks": false,
+ "name": "markdown"
+ },
+ "serializer": "StringSerializable",
+ "api_info": {
+ "info": {
+ "type": "string"
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": "Howdy!",
+ "serialized": "Howdy!"
+ }
+ },
+ {
+ "id": 2,
+ "type": "checkboxgroup",
+ "props": {
+ "choices": [
+ ["Covid", "Covid"],
+ ["Malaria", "Malaria"],
+ ["Lung Cancer", "Lung Cancer"]
+ ],
+ "value": [],
+ "type": "value",
+ "label": "Disease to Scan For",
+ "show_label": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "name": "checkboxgroup",
+ "selectable": false
+ },
+ "serializer": "ListStringSerializable",
+ "api_info": {
+ "info": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": ["Covid"],
+ "serialized": ["Covid"]
+ }
+ },
+ {
+ "id": 3,
+ "type": "tabs",
+ "props": {
+ "visible": true,
+ "name": "tabs",
+ "selectable": false
+ }
+ },
+ {
+ "id": 4,
+ "type": "tabitem",
+ "props": {
+ "label": "X-ray",
+ "name": "tabitem",
+ "selectable": false
+ }
+ },
+ {
+ "id": 5,
+ "type": "row",
+ "props": {
+ "variant": "default",
+ "visible": true,
+ "equal_height": true,
+ "name": "row"
+ }
+ },
+ {
+ "id": 6,
+ "type": "image",
+ "props": {
+ "image_mode": "RGB",
+ "invert_colors": false,
+ "source": "upload",
+ "tool": "editor",
+ "type": "numpy",
+ "show_label": true,
+ "show_download_button": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "streaming": false,
+ "mirror_webcam": true,
+ "brush_color": "#000000",
+ "mask_opacity": 0.7,
+ "show_share_button": false,
+ "name": "image",
+ "selectable": false
+ },
+ "serializer": "ImgSerializable",
+ "api_info": {
+ "info": {
+ "type": "string",
+ "description": "base64 representation of an image"
+ },
+ "serialized_info": true
+ },
+ "example_inputs": {
+ "raw": "data:image/png;base64,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",
+ "serialized": "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png"
+ }
+ },
+ {
+ "id": 7,
+ "type": "json",
+ "props": {
+ "show_label": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "name": "json"
+ },
+ "serializer": "JSONSerializable",
+ "api_info": {
+ "info": {
+ "type": {},
+ "description": "any valid json"
+ },
+ "serialized_info": true
+ },
+ "example_inputs": {
+ "raw": {
+ "a": 1,
+ "b": 2
+ },
+ "serialized": null
+ }
+ },
+ {
+ "id": 8,
+ "type": "button",
+ "props": {
+ "value": "Run",
+ "variant": "secondary",
+ "visible": true,
+ "interactive": true,
+ "name": "button"
+ },
+ "serializer": "StringSerializable",
+ "api_info": {
+ "info": {
+ "type": "string"
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": "Howdy!",
+ "serialized": "Howdy!"
+ }
+ },
+ {
+ "id": 9,
+ "type": "tabitem",
+ "props": {
+ "label": "CT Scan",
+ "name": "tabitem",
+ "selectable": false
+ }
+ },
+ {
+ "id": 10,
+ "type": "row",
+ "props": {
+ "variant": "default",
+ "visible": true,
+ "equal_height": true,
+ "name": "row"
+ }
+ },
+ {
+ "id": 11,
+ "type": "image",
+ "props": {
+ "image_mode": "RGB",
+ "invert_colors": false,
+ "source": "upload",
+ "tool": "editor",
+ "type": "numpy",
+ "show_label": true,
+ "show_download_button": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "streaming": false,
+ "mirror_webcam": true,
+ "brush_color": "#000000",
+ "mask_opacity": 0.7,
+ "show_share_button": false,
+ "name": "image",
+ "selectable": false
+ },
+ "serializer": "ImgSerializable",
+ "api_info": {
+ "info": {
+ "type": "string",
+ "description": "base64 representation of an image"
+ },
+ "serialized_info": true
+ },
+ "example_inputs": {
+ "raw": "data:image/png;base64,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",
+ "serialized": "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png"
+ }
+ },
+ {
+ "id": 12,
+ "type": "json",
+ "props": {
+ "show_label": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "name": "json"
+ },
+ "serializer": "JSONSerializable",
+ "api_info": {
+ "info": {
+ "type": {},
+ "description": "any valid json"
+ },
+ "serialized_info": true
+ },
+ "example_inputs": {
+ "raw": {
+ "a": 1,
+ "b": 2
+ },
+ "serialized": null
+ }
+ },
+ {
+ "id": 13,
+ "type": "button",
+ "props": {
+ "value": "Run",
+ "variant": "secondary",
+ "visible": true,
+ "interactive": true,
+ "name": "button"
+ },
+ "serializer": "StringSerializable",
+ "api_info": {
+ "info": {
+ "type": "string"
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": "Howdy!",
+ "serialized": "Howdy!"
+ }
+ },
+ {
+ "id": 14,
+ "type": "textbox",
+ "props": {
+ "value": "",
+ "lines": 1,
+ "max_lines": 20,
+ "show_label": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "autofocus": false,
+ "autoscroll": true,
+ "type": "text",
+ "rtl": false,
+ "show_copy_button": false,
+ "name": "textbox",
+ "selectable": false
+ },
+ "serializer": "StringSerializable",
+ "api_info": {
+ "info": {
+ "type": "string"
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": "Howdy!",
+ "serialized": "Howdy!"
+ }
+ },
+ {
+ "id": 15,
+ "type": "form",
+ "props": {
+ "scale": 0,
+ "min_width": 0,
+ "name": "form"
+ }
+ },
+ {
+ "id": 16,
+ "type": "form",
+ "props": {
+ "scale": 0,
+ "min_width": 0,
+ "name": "form"
+ }
+ }
+ ],
+ "css": null,
+ "title": "Gradio",
+ "space_id": null,
+ "enable_queue": null,
+ "show_error": true,
+ "show_api": true,
+ "is_colab": false,
+ "stylesheets": [
+ "https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600&display=swap",
+ "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
+ ],
+ "theme": "default",
+ "layout": {
+ "id": 0,
+ "children": [
+ {
+ "id": 1
+ },
+ {
+ "id": 15,
+ "children": [
+ {
+ "id": 2
+ }
+ ]
+ },
+ {
+ "id": 3,
+ "children": [
+ {
+ "id": 4,
+ "children": [
+ {
+ "id": 5,
+ "children": [
+ {
+ "id": 6
+ },
+ {
+ "id": 7
+ }
+ ]
+ },
+ {
+ "id": 8
+ }
+ ]
+ },
+ {
+ "id": 9,
+ "children": [
+ {
+ "id": 10,
+ "children": [
+ {
+ "id": 11
+ },
+ {
+ "id": 12
+ }
+ ]
+ },
+ {
+ "id": 13
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 16,
+ "children": [
+ {
+ "id": 14
+ }
+ ]
+ }
+ ]
+ },
+ "dependencies": [
+ {
+ "targets": [[8, "click"]],
+ "inputs": [2, 6],
+ "outputs": [7],
+ "backend_fn": true,
+ "js": null,
+ "queue": null,
+ "api_name": null,
+ "scroll_to_output": false,
+ "show_progress": "full",
+ "every": null,
+ "batch": false,
+ "max_batch_size": 4,
+ "cancels": [],
+ "types": {
+ "continuous": false,
+ "generator": false
+ },
+ "collects_event_data": false,
+ "trigger_after": null,
+ "trigger_only_on_success": false
+ },
+ {
+ "targets": [[13, "click"]],
+ "inputs": [2, 11],
+ "outputs": [12],
+ "backend_fn": true,
+ "js": null,
+ "queue": null,
+ "api_name": null,
+ "scroll_to_output": false,
+ "show_progress": "full",
+ "every": null,
+ "batch": false,
+ "max_batch_size": 4,
+ "cancels": [],
+ "types": {
+ "continuous": false,
+ "generator": false
+ },
+ "collects_event_data": false,
+ "trigger_after": null,
+ "trigger_only_on_success": false
+ }
+ ]
+}
diff --git a/test/test_files/xray_config_diff_ids.json b/test/test_files/xray_config_diff_ids.json
index a60969a9c05c4..5c8ccab152e46 100644
--- a/test/test_files/xray_config_diff_ids.json
+++ b/test/test_files/xray_config_diff_ids.json
@@ -1,493 +1,460 @@
{
- "version": "3.45.2",
- "mode": "blocks",
- "app_id": 3359633681304339607,
- "dev_mode": false,
- "analytics_enabled": true,
- "components": [
- {
- "id": 101,
- "type": "markdown",
- "props": {
- "value": "# Detect Disease From Scan\nWith this model you can lorem ipsum\n- ipsum 1\n- ipsum 2",
- "rtl": false,
- "latex_delimiters": [
- {
- "left": "$",
- "right": "$",
- "display": false
- }
- ],
- "visible": true,
- "sanitize_html": true,
- "line_breaks": false,
- "name": "markdown"
- },
- "serializer": "StringSerializable",
- "api_info": {
- "info": {
- "type": "string"
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": "Howdy!",
- "serialized": "Howdy!"
- }
- },
- {
- "id": 102,
- "type": "checkboxgroup",
- "props": {
- "choices": [
- [
- "Covid",
- "Covid"
- ],
- [
- "Malaria",
- "Malaria"
- ],
- [
- "Lung Cancer",
- "Lung Cancer"
- ]
- ],
- "value": [],
- "type": "value",
- "label": "Disease to Scan For",
- "show_label": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "name": "checkboxgroup",
- "selectable": false
- },
- "serializer": "ListStringSerializable",
- "api_info": {
- "info": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": [
- "Covid"
- ],
- "serialized": [
- "Covid"
- ]
- }
- },
- {
- "id": 103,
- "type": "tabs",
- "props": {
- "visible": true,
- "name": "tabs",
- "selectable": false
- }
- },
- {
- "id": 104,
- "type": "tabitem",
- "props": {
- "label": "X-ray",
- "name": "tabitem",
- "selectable": false
- }
- },
- {
- "id": 105,
- "type": "row",
- "props": {
- "variant": "default",
- "visible": true,
- "equal_height": true,
- "name": "row"
- }
- },
- {
- "id": 106,
- "type": "image",
- "props": {
- "image_mode": "RGB",
- "invert_colors": false,
- "source": "upload",
- "tool": "editor",
- "type": "numpy",
- "show_label": true,
- "show_download_button": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "streaming": false,
- "mirror_webcam": true,
- "brush_color": "#000000",
- "mask_opacity": 0.7,
- "show_share_button": false,
- "name": "image",
- "selectable": false
- },
- "serializer": "ImgSerializable",
- "api_info": {
- "info": {
- "type": "string",
- "description": "base64 representation of an image"
- },
- "serialized_info": true
- },
- "example_inputs": {
- "raw": "data:image/png;base64,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",
- "serialized": "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png"
- }
- },
- {
- "id": 107,
- "type": "json",
- "props": {
- "show_label": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "name": "json"
- },
- "serializer": "JSONSerializable",
- "api_info": {
- "info": {
- "type": {},
- "description": "any valid json"
- },
- "serialized_info": true
- },
- "example_inputs": {
- "raw": {
- "a": 1,
- "b": 2
- },
- "serialized": null
- }
- },
- {
- "id": 108,
- "type": "button",
- "props": {
- "value": "Run",
- "variant": "secondary",
- "visible": true,
- "interactive": true,
- "name": "button"
- },
- "serializer": "StringSerializable",
- "api_info": {
- "info": {
- "type": "string"
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": "Howdy!",
- "serialized": "Howdy!"
- }
- },
- {
- "id": 109,
- "type": "tabitem",
- "props": {
- "label": "CT Scan",
- "name": "tabitem",
- "selectable": false
- }
- },
- {
- "id": 110,
- "type": "row",
- "props": {
- "variant": "default",
- "visible": true,
- "equal_height": true,
- "name": "row"
- }
- },
- {
- "id": 111,
- "type": "image",
- "props": {
- "image_mode": "RGB",
- "invert_colors": false,
- "source": "upload",
- "tool": "editor",
- "type": "numpy",
- "show_label": true,
- "show_download_button": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "streaming": false,
- "mirror_webcam": true,
- "brush_color": "#000000",
- "mask_opacity": 0.7,
- "show_share_button": false,
- "name": "image",
- "selectable": false
- },
- "serializer": "ImgSerializable",
- "api_info": {
- "info": {
- "type": "string",
- "description": "base64 representation of an image"
- },
- "serialized_info": true
- },
- "example_inputs": {
- "raw": "data:image/png;base64,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",
- "serialized": "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png"
- }
- },
- {
- "id": 112,
- "type": "json",
- "props": {
- "show_label": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "name": "json"
- },
- "serializer": "JSONSerializable",
- "api_info": {
- "info": {
- "type": {},
- "description": "any valid json"
- },
- "serialized_info": true
- },
- "example_inputs": {
- "raw": {
- "a": 1,
- "b": 2
- },
- "serialized": null
- }
- },
- {
- "id": 113,
- "type": "button",
- "props": {
- "value": "Run",
- "variant": "secondary",
- "visible": true,
- "interactive": true,
- "name": "button"
- },
- "serializer": "StringSerializable",
- "api_info": {
- "info": {
- "type": "string"
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": "Howdy!",
- "serialized": "Howdy!"
- }
- },
- {
- "id": 114,
- "type": "textbox",
- "props": {
- "value": "",
- "lines": 1,
- "max_lines": 20,
- "show_label": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "autofocus": false,
- "autoscroll": true,
- "type": "text",
- "rtl": false,
- "show_copy_button": false,
- "name": "textbox",
- "selectable": false
- },
- "serializer": "StringSerializable",
- "api_info": {
- "info": {
- "type": "string"
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": "Howdy!",
- "serialized": "Howdy!"
- }
- },
- {
- "id": 115,
- "type": "form",
- "props": {
- "scale": 0,
- "min_width": 0,
- "name": "form"
- }
- },
- {
- "id": 116,
- "type": "form",
- "props": {
- "scale": 0,
- "min_width": 0,
- "name": "form"
- }
- }
- ],
- "css": null,
- "title": "Gradio",
- "space_id": null,
- "enable_queue": null,
- "show_error": true,
- "show_api": true,
- "is_colab": false,
- "stylesheets": [
- "https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600&display=swap",
- "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
- ],
- "theme": "default",
- "layout": {
- "id": 100,
- "children": [
- {
- "id": 101
- },
- {
- "id": 115,
- "children": [
- {
- "id": 102
- }
- ]
- },
- {
- "id": 103,
- "children": [
- {
- "id": 104,
- "children": [
- {
- "id": 105,
- "children": [
- {
- "id": 106
- },
- {
- "id": 107
- }
- ]
- },
- {
- "id": 108
- }
- ]
- },
- {
- "id": 109,
- "children": [
- {
- "id": 110,
- "children": [
- {
- "id": 111
- },
- {
- "id": 112
- }
- ]
- },
- {
- "id": 113
- }
- ]
- }
- ]
- },
- {
- "id": 116,
- "children": [
- {
- "id": 114
- }
- ]
- }
- ]
- },
- "dependencies": [
- {
- "targets": [
- [
- 108,
- "click"
- ]
- ],
- "inputs": [
- 102,
- 106
- ],
- "outputs": [
- 107
- ],
- "backend_fn": true,
- "js": null,
- "queue": null,
- "api_name": null,
- "scroll_to_output": false,
- "show_progress": "full",
- "every": null,
- "batch": false,
- "max_batch_size": 4,
- "cancels": [],
- "types": {
- "continuous": false,
- "generator": false
- },
- "collects_event_data": false,
- "trigger_after": null,
- "trigger_only_on_success": false
- },
- {
- "targets": [
- [
- 113,
- "click"
- ]
- ],
- "inputs": [
- 102,
- 111
- ],
- "outputs": [
- 112
- ],
- "backend_fn": true,
- "js": null,
- "queue": null,
- "api_name": null,
- "scroll_to_output": false,
- "show_progress": "full",
- "every": null,
- "batch": false,
- "max_batch_size": 4,
- "cancels": [],
- "types": {
- "continuous": false,
- "generator": false
- },
- "collects_event_data": false,
- "trigger_after": null,
- "trigger_only_on_success": false
- }
- ]
-}
\ No newline at end of file
+ "version": "3.45.2",
+ "mode": "blocks",
+ "app_id": 3359633681304339607,
+ "dev_mode": false,
+ "analytics_enabled": true,
+ "components": [
+ {
+ "id": 101,
+ "type": "markdown",
+ "props": {
+ "value": "# Detect Disease From Scan\nWith this model you can lorem ipsum\n- ipsum 1\n- ipsum 2",
+ "rtl": false,
+ "latex_delimiters": [
+ {
+ "left": "$",
+ "right": "$",
+ "display": false
+ }
+ ],
+ "visible": true,
+ "sanitize_html": true,
+ "line_breaks": false,
+ "name": "markdown"
+ },
+ "serializer": "StringSerializable",
+ "api_info": {
+ "info": {
+ "type": "string"
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": "Howdy!",
+ "serialized": "Howdy!"
+ }
+ },
+ {
+ "id": 102,
+ "type": "checkboxgroup",
+ "props": {
+ "choices": [
+ ["Covid", "Covid"],
+ ["Malaria", "Malaria"],
+ ["Lung Cancer", "Lung Cancer"]
+ ],
+ "value": [],
+ "type": "value",
+ "label": "Disease to Scan For",
+ "show_label": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "name": "checkboxgroup",
+ "selectable": false
+ },
+ "serializer": "ListStringSerializable",
+ "api_info": {
+ "info": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": ["Covid"],
+ "serialized": ["Covid"]
+ }
+ },
+ {
+ "id": 103,
+ "type": "tabs",
+ "props": {
+ "visible": true,
+ "name": "tabs",
+ "selectable": false
+ }
+ },
+ {
+ "id": 104,
+ "type": "tabitem",
+ "props": {
+ "label": "X-ray",
+ "name": "tabitem",
+ "selectable": false
+ }
+ },
+ {
+ "id": 105,
+ "type": "row",
+ "props": {
+ "variant": "default",
+ "visible": true,
+ "equal_height": true,
+ "name": "row"
+ }
+ },
+ {
+ "id": 106,
+ "type": "image",
+ "props": {
+ "image_mode": "RGB",
+ "invert_colors": false,
+ "source": "upload",
+ "tool": "editor",
+ "type": "numpy",
+ "show_label": true,
+ "show_download_button": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "streaming": false,
+ "mirror_webcam": true,
+ "brush_color": "#000000",
+ "mask_opacity": 0.7,
+ "show_share_button": false,
+ "name": "image",
+ "selectable": false
+ },
+ "serializer": "ImgSerializable",
+ "api_info": {
+ "info": {
+ "type": "string",
+ "description": "base64 representation of an image"
+ },
+ "serialized_info": true
+ },
+ "example_inputs": {
+ "raw": "data:image/png;base64,R0lGODlhPQBEAPeoAJosM//AwO/AwHVYZ/z595kzAP/s7P+goOXMv8+fhw/v739/f+8PD98fH/8mJl+fn/9ZWb8/PzWlwv///6wWGbImAPgTEMImIN9gUFCEm/gDALULDN8PAD6atYdCTX9gUNKlj8wZAKUsAOzZz+UMAOsJAP/Z2ccMDA8PD/95eX5NWvsJCOVNQPtfX/8zM8+QePLl38MGBr8JCP+zs9myn/8GBqwpAP/GxgwJCPny78lzYLgjAJ8vAP9fX/+MjMUcAN8zM/9wcM8ZGcATEL+QePdZWf/29uc/P9cmJu9MTDImIN+/r7+/vz8/P8VNQGNugV8AAF9fX8swMNgTAFlDOICAgPNSUnNWSMQ5MBAQEJE3QPIGAM9AQMqGcG9vb6MhJsEdGM8vLx8fH98AANIWAMuQeL8fABkTEPPQ0OM5OSYdGFl5jo+Pj/+pqcsTE78wMFNGQLYmID4dGPvd3UBAQJmTkP+8vH9QUK+vr8ZWSHpzcJMmILdwcLOGcHRQUHxwcK9PT9DQ0O/v70w5MLypoG8wKOuwsP/g4P/Q0IcwKEswKMl8aJ9fX2xjdOtGRs/Pz+Dg4GImIP8gIH0sKEAwKKmTiKZ8aB/f39Wsl+LFt8dgUE9PT5x5aHBwcP+AgP+WltdgYMyZfyywz78AAAAAAAD///8AAP9mZv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAKgALAAAAAA9AEQAAAj/AFEJHEiwoMGDCBMqXMiwocAbBww4nEhxoYkUpzJGrMixogkfGUNqlNixJEIDB0SqHGmyJSojM1bKZOmyop0gM3Oe2liTISKMOoPy7GnwY9CjIYcSRYm0aVKSLmE6nfq05QycVLPuhDrxBlCtYJUqNAq2bNWEBj6ZXRuyxZyDRtqwnXvkhACDV+euTeJm1Ki7A73qNWtFiF+/gA95Gly2CJLDhwEHMOUAAuOpLYDEgBxZ4GRTlC1fDnpkM+fOqD6DDj1aZpITp0dtGCDhr+fVuCu3zlg49ijaokTZTo27uG7Gjn2P+hI8+PDPERoUB318bWbfAJ5sUNFcuGRTYUqV/3ogfXp1rWlMc6awJjiAAd2fm4ogXjz56aypOoIde4OE5u/F9x199dlXnnGiHZWEYbGpsAEA3QXYnHwEFliKAgswgJ8LPeiUXGwedCAKABACCN+EA1pYIIYaFlcDhytd51sGAJbo3onOpajiihlO92KHGaUXGwWjUBChjSPiWJuOO/LYIm4v1tXfE6J4gCSJEZ7YgRYUNrkji9P55sF/ogxw5ZkSqIDaZBV6aSGYq/lGZplndkckZ98xoICbTcIJGQAZcNmdmUc210hs35nCyJ58fgmIKX5RQGOZowxaZwYA+JaoKQwswGijBV4C6SiTUmpphMspJx9unX4KaimjDv9aaXOEBteBqmuuxgEHoLX6Kqx+yXqqBANsgCtit4FWQAEkrNbpq7HSOmtwag5w57GrmlJBASEU18ADjUYb3ADTinIttsgSB1oJFfA63bduimuqKB1keqwUhoCSK374wbujvOSu4QG6UvxBRydcpKsav++Ca6G8A6Pr1x2kVMyHwsVxUALDq/krnrhPSOzXG1lUTIoffqGR7Goi2MAxbv6O2kEG56I7CSlRsEFKFVyovDJoIRTg7sugNRDGqCJzJgcKE0ywc0ELm6KBCCJo8DIPFeCWNGcyqNFE06ToAfV0HBRgxsvLThHn1oddQMrXj5DyAQgjEHSAJMWZwS3HPxT/QMbabI/iBCliMLEJKX2EEkomBAUCxRi42VDADxyTYDVogV+wSChqmKxEKCDAYFDFj4OmwbY7bDGdBhtrnTQYOigeChUmc1K3QTnAUfEgGFgAWt88hKA6aCRIXhxnQ1yg3BCayK44EWdkUQcBByEQChFXfCB776aQsG0BIlQgQgE8qO26X1h8cEUep8ngRBnOy74E9QgRgEAC8SvOfQkh7FDBDmS43PmGoIiKUUEGkMEC/PJHgxw0xH74yx/3XnaYRJgMB8obxQW6kL9QYEJ0FIFgByfIL7/IQAlvQwEpnAC7DtLNJCKUoO/w45c44GwCXiAFB/OXAATQryUxdN4LfFiwgjCNYg+kYMIEFkCKDs6PKAIJouyGWMS1FSKJOMRB/BoIxYJIUXFUxNwoIkEKPAgCBZSQHQ1A2EWDfDEUVLyADj5AChSIQW6gu10bE/JG2VnCZGfo4R4d0sdQoBAHhPjhIB94v/wRoRKQWGRHgrhGSQJxCS+0pCZbEhAAOw==",
+ "serialized": "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png"
+ }
+ },
+ {
+ "id": 107,
+ "type": "json",
+ "props": {
+ "show_label": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "name": "json"
+ },
+ "serializer": "JSONSerializable",
+ "api_info": {
+ "info": {
+ "type": {},
+ "description": "any valid json"
+ },
+ "serialized_info": true
+ },
+ "example_inputs": {
+ "raw": {
+ "a": 1,
+ "b": 2
+ },
+ "serialized": null
+ }
+ },
+ {
+ "id": 108,
+ "type": "button",
+ "props": {
+ "value": "Run",
+ "variant": "secondary",
+ "visible": true,
+ "interactive": true,
+ "name": "button"
+ },
+ "serializer": "StringSerializable",
+ "api_info": {
+ "info": {
+ "type": "string"
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": "Howdy!",
+ "serialized": "Howdy!"
+ }
+ },
+ {
+ "id": 109,
+ "type": "tabitem",
+ "props": {
+ "label": "CT Scan",
+ "name": "tabitem",
+ "selectable": false
+ }
+ },
+ {
+ "id": 110,
+ "type": "row",
+ "props": {
+ "variant": "default",
+ "visible": true,
+ "equal_height": true,
+ "name": "row"
+ }
+ },
+ {
+ "id": 111,
+ "type": "image",
+ "props": {
+ "image_mode": "RGB",
+ "invert_colors": false,
+ "source": "upload",
+ "tool": "editor",
+ "type": "numpy",
+ "show_label": true,
+ "show_download_button": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "streaming": false,
+ "mirror_webcam": true,
+ "brush_color": "#000000",
+ "mask_opacity": 0.7,
+ "show_share_button": false,
+ "name": "image",
+ "selectable": false
+ },
+ "serializer": "ImgSerializable",
+ "api_info": {
+ "info": {
+ "type": "string",
+ "description": "base64 representation of an image"
+ },
+ "serialized_info": true
+ },
+ "example_inputs": {
+ "raw": "data:image/png;base64,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",
+ "serialized": "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png"
+ }
+ },
+ {
+ "id": 112,
+ "type": "json",
+ "props": {
+ "show_label": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "name": "json"
+ },
+ "serializer": "JSONSerializable",
+ "api_info": {
+ "info": {
+ "type": {},
+ "description": "any valid json"
+ },
+ "serialized_info": true
+ },
+ "example_inputs": {
+ "raw": {
+ "a": 1,
+ "b": 2
+ },
+ "serialized": null
+ }
+ },
+ {
+ "id": 113,
+ "type": "button",
+ "props": {
+ "value": "Run",
+ "variant": "secondary",
+ "visible": true,
+ "interactive": true,
+ "name": "button"
+ },
+ "serializer": "StringSerializable",
+ "api_info": {
+ "info": {
+ "type": "string"
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": "Howdy!",
+ "serialized": "Howdy!"
+ }
+ },
+ {
+ "id": 114,
+ "type": "textbox",
+ "props": {
+ "value": "",
+ "lines": 1,
+ "max_lines": 20,
+ "show_label": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "autofocus": false,
+ "autoscroll": true,
+ "type": "text",
+ "rtl": false,
+ "show_copy_button": false,
+ "name": "textbox",
+ "selectable": false
+ },
+ "serializer": "StringSerializable",
+ "api_info": {
+ "info": {
+ "type": "string"
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": "Howdy!",
+ "serialized": "Howdy!"
+ }
+ },
+ {
+ "id": 115,
+ "type": "form",
+ "props": {
+ "scale": 0,
+ "min_width": 0,
+ "name": "form"
+ }
+ },
+ {
+ "id": 116,
+ "type": "form",
+ "props": {
+ "scale": 0,
+ "min_width": 0,
+ "name": "form"
+ }
+ }
+ ],
+ "css": null,
+ "title": "Gradio",
+ "space_id": null,
+ "enable_queue": null,
+ "show_error": true,
+ "show_api": true,
+ "is_colab": false,
+ "stylesheets": [
+ "https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600&display=swap",
+ "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
+ ],
+ "theme": "default",
+ "layout": {
+ "id": 100,
+ "children": [
+ {
+ "id": 101
+ },
+ {
+ "id": 115,
+ "children": [
+ {
+ "id": 102
+ }
+ ]
+ },
+ {
+ "id": 103,
+ "children": [
+ {
+ "id": 104,
+ "children": [
+ {
+ "id": 105,
+ "children": [
+ {
+ "id": 106
+ },
+ {
+ "id": 107
+ }
+ ]
+ },
+ {
+ "id": 108
+ }
+ ]
+ },
+ {
+ "id": 109,
+ "children": [
+ {
+ "id": 110,
+ "children": [
+ {
+ "id": 111
+ },
+ {
+ "id": 112
+ }
+ ]
+ },
+ {
+ "id": 113
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 116,
+ "children": [
+ {
+ "id": 114
+ }
+ ]
+ }
+ ]
+ },
+ "dependencies": [
+ {
+ "targets": [[108, "click"]],
+ "inputs": [102, 106],
+ "outputs": [107],
+ "backend_fn": true,
+ "js": null,
+ "queue": null,
+ "api_name": null,
+ "scroll_to_output": false,
+ "show_progress": "full",
+ "every": null,
+ "batch": false,
+ "max_batch_size": 4,
+ "cancels": [],
+ "types": {
+ "continuous": false,
+ "generator": false
+ },
+ "collects_event_data": false,
+ "trigger_after": null,
+ "trigger_only_on_success": false
+ },
+ {
+ "targets": [[113, "click"]],
+ "inputs": [102, 111],
+ "outputs": [112],
+ "backend_fn": true,
+ "js": null,
+ "queue": null,
+ "api_name": null,
+ "scroll_to_output": false,
+ "show_progress": "full",
+ "every": null,
+ "batch": false,
+ "max_batch_size": 4,
+ "cancels": [],
+ "types": {
+ "continuous": false,
+ "generator": false
+ },
+ "collects_event_data": false,
+ "trigger_after": null,
+ "trigger_only_on_success": false
+ }
+ ]
+}
diff --git a/test/test_files/xray_config_wrong.json b/test/test_files/xray_config_wrong.json
index ef658fa20be50..70c6c3c390cd0 100644
--- a/test/test_files/xray_config_wrong.json
+++ b/test/test_files/xray_config_wrong.json
@@ -1,570 +1,530 @@
{
- "version": "3.45.2",
- "mode": "blocks",
- "app_id": 14154062863405525567,
- "dev_mode": false,
- "analytics_enabled": true,
- "components": [
- {
- "id": 1,
- "type": "markdown",
- "props": {
- "value": "# Detect Disease From Scan\nWith this model you can lorem ipsum\n- ipsum 1\n- ipsum 2",
- "rtl": false,
- "latex_delimiters": [
- {
- "left": "$",
- "right": "$",
- "display": false
- }
- ],
- "visible": true,
- "sanitize_html": true,
- "line_breaks": false,
- "name": "markdown"
- },
- "serializer": "StringSerializable",
- "api_info": {
- "info": {
- "type": "string"
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": "Howdy!",
- "serialized": "Howdy!"
- }
- },
- {
- "id": 2,
- "type": "checkboxgroup",
- "props": {
- "choices": [
- [
- "Covid",
- "Covid"
- ],
- [
- "Malaria",
- "Malaria"
- ],
- [
- "Lung Cancer",
- "Lung Cancer"
- ]
- ],
- "value": [],
- "type": "value",
- "label": "Disease to Scan For",
- "show_label": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "name": "checkboxgroup",
- "selectable": false
- },
- "serializer": "ListStringSerializable",
- "api_info": {
- "info": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": [
- "Covid"
- ],
- "serialized": [
- "Covid"
- ]
- }
- },
- {
- "id": 3,
- "type": "tabs",
- "props": {
- "visible": true,
- "name": "tabs",
- "selectable": false
- }
- },
- {
- "id": 4,
- "type": "tabitem",
- "props": {
- "label": "X-ray",
- "name": "tabitem",
- "selectable": false
- }
- },
- {
- "id": 5,
- "type": "row",
- "props": {
- "variant": "default",
- "visible": true,
- "equal_height": true,
- "name": "row"
- }
- },
- {
- "id": 6,
- "type": "image",
- "props": {
- "image_mode": "RGB",
- "invert_colors": false,
- "source": "upload",
- "tool": "editor",
- "type": "numpy",
- "show_label": true,
- "show_download_button": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "streaming": false,
- "mirror_webcam": true,
- "brush_color": "#000000",
- "mask_opacity": 0.7,
- "show_share_button": false,
- "name": "image",
- "selectable": false
- },
- "serializer": "ImgSerializable",
- "api_info": {
- "info": {
- "type": "string",
- "description": "base64 representation of an image"
- },
- "serialized_info": true
- },
- "example_inputs": {
- "raw": "data:image/png;base64,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",
- "serialized": "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png"
- }
- },
- {
- "id": 7,
- "type": "json",
- "props": {
- "show_label": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "name": "json"
- },
- "serializer": "JSONSerializable",
- "api_info": {
- "info": {
- "type": {},
- "description": "any valid json"
- },
- "serialized_info": true
- },
- "example_inputs": {
- "raw": {
- "a": 1,
- "b": 2
- },
- "serialized": null
- }
- },
- {
- "id": 8,
- "type": "button",
- "props": {
- "value": "Run",
- "variant": "secondary",
- "visible": true,
- "interactive": true,
- "name": "button"
- },
- "serializer": "StringSerializable",
- "api_info": {
- "info": {
- "type": "string"
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": "Howdy!",
- "serialized": "Howdy!"
- }
- },
- {
- "id": 9,
- "type": "tabitem",
- "props": {
- "label": "CT Scan",
- "name": "tabitem",
- "selectable": false
- }
- },
- {
- "id": 10,
- "type": "row",
- "props": {
- "variant": "default",
- "visible": true,
- "equal_height": true,
- "name": "row"
- }
- },
- {
- "id": 11,
- "type": "image",
- "props": {
- "image_mode": "RGB",
- "invert_colors": false,
- "source": "upload",
- "tool": "editor",
- "type": "numpy",
- "show_label": true,
- "show_download_button": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "streaming": false,
- "mirror_webcam": true,
- "brush_color": "#000000",
- "mask_opacity": 0.7,
- "show_share_button": false,
- "name": "image",
- "selectable": false
- },
- "serializer": "ImgSerializable",
- "api_info": {
- "info": {
- "type": "string",
- "description": "base64 representation of an image"
- },
- "serialized_info": true
- },
- "example_inputs": {
- "raw": "data:image/png;base64,R0lGODlhPQBEAPeoAJosM//AwO/AwHVYZ/z595kzAP/s7P+goOXMv8+fhw/v739/f+8PD98fH/8mJl+fn/9ZWb8/PzWlwv///6wWGbImAPgTEMImIN9gUFCEm/gDALULDN8PAD6atYdCTX9gUNKlj8wZAKUsAOzZz+UMAOsJAP/Z2ccMDA8PD/95eX5NWvsJCOVNQPtfX/8zM8+QePLl38MGBr8JCP+zs9myn/8GBqwpAP/GxgwJCPny78lzYLgjAJ8vAP9fX/+MjMUcAN8zM/9wcM8ZGcATEL+QePdZWf/29uc/P9cmJu9MTDImIN+/r7+/vz8/P8VNQGNugV8AAF9fX8swMNgTAFlDOICAgPNSUnNWSMQ5MBAQEJE3QPIGAM9AQMqGcG9vb6MhJsEdGM8vLx8fH98AANIWAMuQeL8fABkTEPPQ0OM5OSYdGFl5jo+Pj/+pqcsTE78wMFNGQLYmID4dGPvd3UBAQJmTkP+8vH9QUK+vr8ZWSHpzcJMmILdwcLOGcHRQUHxwcK9PT9DQ0O/v70w5MLypoG8wKOuwsP/g4P/Q0IcwKEswKMl8aJ9fX2xjdOtGRs/Pz+Dg4GImIP8gIH0sKEAwKKmTiKZ8aB/f39Wsl+LFt8dgUE9PT5x5aHBwcP+AgP+WltdgYMyZfyywz78AAAAAAAD///8AAP9mZv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAKgALAAAAAA9AEQAAAj/AFEJHEiwoMGDCBMqXMiwocAbBww4nEhxoYkUpzJGrMixogkfGUNqlNixJEIDB0SqHGmyJSojM1bKZOmyop0gM3Oe2liTISKMOoPy7GnwY9CjIYcSRYm0aVKSLmE6nfq05QycVLPuhDrxBlCtYJUqNAq2bNWEBj6ZXRuyxZyDRtqwnXvkhACDV+euTeJm1Ki7A73qNWtFiF+/gA95Gly2CJLDhwEHMOUAAuOpLYDEgBxZ4GRTlC1fDnpkM+fOqD6DDj1aZpITp0dtGCDhr+fVuCu3zlg49ijaokTZTo27uG7Gjn2P+hI8+PDPERoUB318bWbfAJ5sUNFcuGRTYUqV/3ogfXp1rWlMc6awJjiAAd2fm4ogXjz56aypOoIde4OE5u/F9x199dlXnnGiHZWEYbGpsAEA3QXYnHwEFliKAgswgJ8LPeiUXGwedCAKABACCN+EA1pYIIYaFlcDhytd51sGAJbo3onOpajiihlO92KHGaUXGwWjUBChjSPiWJuOO/LYIm4v1tXfE6J4gCSJEZ7YgRYUNrkji9P55sF/ogxw5ZkSqIDaZBV6aSGYq/lGZplndkckZ98xoICbTcIJGQAZcNmdmUc210hs35nCyJ58fgmIKX5RQGOZowxaZwYA+JaoKQwswGijBV4C6SiTUmpphMspJx9unX4KaimjDv9aaXOEBteBqmuuxgEHoLX6Kqx+yXqqBANsgCtit4FWQAEkrNbpq7HSOmtwag5w57GrmlJBASEU18ADjUYb3ADTinIttsgSB1oJFfA63bduimuqKB1keqwUhoCSK374wbujvOSu4QG6UvxBRydcpKsav++Ca6G8A6Pr1x2kVMyHwsVxUALDq/krnrhPSOzXG1lUTIoffqGR7Goi2MAxbv6O2kEG56I7CSlRsEFKFVyovDJoIRTg7sugNRDGqCJzJgcKE0ywc0ELm6KBCCJo8DIPFeCWNGcyqNFE06ToAfV0HBRgxsvLThHn1oddQMrXj5DyAQgjEHSAJMWZwS3HPxT/QMbabI/iBCliMLEJKX2EEkomBAUCxRi42VDADxyTYDVogV+wSChqmKxEKCDAYFDFj4OmwbY7bDGdBhtrnTQYOigeChUmc1K3QTnAUfEgGFgAWt88hKA6aCRIXhxnQ1yg3BCayK44EWdkUQcBByEQChFXfCB776aQsG0BIlQgQgE8qO26X1h8cEUep8ngRBnOy74E9QgRgEAC8SvOfQkh7FDBDmS43PmGoIiKUUEGkMEC/PJHgxw0xH74yx/3XnaYRJgMB8obxQW6kL9QYEJ0FIFgByfIL7/IQAlvQwEpnAC7DtLNJCKUoO/w45c44GwCXiAFB/OXAATQryUxdN4LfFiwgjCNYg+kYMIEFkCKDs6PKAIJouyGWMS1FSKJOMRB/BoIxYJIUXFUxNwoIkEKPAgCBZSQHQ1A2EWDfDEUVLyADj5AChSIQW6gu10bE/JG2VnCZGfo4R4d0sdQoBAHhPjhIB94v/wRoRKQWGRHgrhGSQJxCS+0pCZbEhAAOw==",
- "serialized": "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png"
- }
- },
- {
- "id": 12,
- "type": "json",
- "props": {
- "show_label": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "name": "json"
- },
- "serializer": "JSONSerializable",
- "api_info": {
- "info": {
- "type": {},
- "description": "any valid json"
- },
- "serialized_info": true
- },
- "example_inputs": {
- "raw": {
- "a": 1,
- "b": 2
- },
- "serialized": null
- }
- },
- {
- "id": 13,
- "type": "button",
- "props": {
- "value": "Run",
- "variant": "secondary",
- "visible": true,
- "interactive": true,
- "name": "button"
- },
- "serializer": "StringSerializable",
- "api_info": {
- "info": {
- "type": "string"
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": "Howdy!",
- "serialized": "Howdy!"
- }
- },
- {
- "id": 14,
- "type": "textbox",
- "props": {
- "value": "",
- "lines": 1,
- "max_lines": 20,
- "show_label": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "autofocus": false,
- "autoscroll": true,
- "type": "text",
- "rtl": false,
- "show_copy_button": false,
- "name": "textbox",
- "selectable": false
- },
- "serializer": "StringSerializable",
- "api_info": {
- "info": {
- "type": "string"
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": "Howdy!",
- "serialized": "Howdy!"
- }
- },
- {
- "id": 15,
- "type": "form",
- "props": {
- "scale": 0,
- "min_width": 0,
- "name": "form"
- }
- },
- {
- "id": 16,
- "type": "form",
- "props": {
- "scale": 0,
- "min_width": 0,
- "name": "form"
- }
- },
- {
- "id": 118,
- "type": "textbox",
- "props": {
- "value": "",
- "lines": 1,
- "max_lines": 20,
- "show_label": true,
- "container": true,
- "min_width": 160,
- "visible": true,
- "autofocus": false,
- "autoscroll": true,
- "type": "text",
- "rtl": false,
- "show_copy_button": false,
- "name": "textbox",
- "selectable": false
- },
- "serializer": "StringSerializable",
- "api_info": {
- "info": {
- "type": "string"
- },
- "serialized_info": false
- },
- "example_inputs": {
- "raw": "Howdy!",
- "serialized": "Howdy!"
- }
- },
- {
- "id": 119,
- "type": "form",
- "props": {
- "scale": 0,
- "min_width": 0,
- "name": "form"
- }
- }
- ],
- "css": null,
- "title": "Gradio",
- "space_id": null,
- "enable_queue": null,
- "show_error": true,
- "show_api": true,
- "is_colab": false,
- "stylesheets": [
- "https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600&display=swap",
- "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
- ],
- "theme": "default",
- "layout": {
- "id": 117,
- "children": [
- {
- "id": 1
- },
- {
- "id": 15,
- "children": [
- {
- "id": 2
- }
- ]
- },
- {
- "id": 3,
- "children": [
- {
- "id": 4,
- "children": [
- {
- "id": 5,
- "children": [
- {
- "id": 6
- },
- {
- "id": 7
- }
- ]
- },
- {
- "id": 8
- }
- ]
- },
- {
- "id": 9,
- "children": [
- {
- "id": 10,
- "children": [
- {
- "id": 11
- },
- {
- "id": 12
- }
- ]
- },
- {
- "id": 13
- }
- ]
- }
- ]
- },
- {
- "id": 16,
- "children": [
- {
- "id": 14
- }
- ]
- },
- {
- "id": 119,
- "children": [
- {
- "id": 118
- }
- ]
- }
- ]
- },
- "dependencies": [
- {
- "targets": [
- [
- 8,
- "click"
- ]
- ],
- "inputs": [
- 2,
- 6
- ],
- "outputs": [
- 7
- ],
- "backend_fn": true,
- "js": null,
- "queue": null,
- "api_name": null,
- "scroll_to_output": false,
- "show_progress": "full",
- "every": null,
- "batch": false,
- "max_batch_size": 4,
- "cancels": [],
- "types": {
- "continuous": false,
- "generator": false
- },
- "collects_event_data": false,
- "trigger_after": null,
- "trigger_only_on_success": false
- },
- {
- "targets": [
- [
- 13,
- "click"
- ]
- ],
- "inputs": [
- 2,
- 11
- ],
- "outputs": [
- 12
- ],
- "backend_fn": true,
- "js": null,
- "queue": null,
- "api_name": null,
- "scroll_to_output": false,
- "show_progress": "full",
- "every": null,
- "batch": false,
- "max_batch_size": 4,
- "cancels": [],
- "types": {
- "continuous": false,
- "generator": false
- },
- "collects_event_data": false,
- "trigger_after": null,
- "trigger_only_on_success": false
- },
- {
- "targets": [
- [
- null,
- "load"
- ]
- ],
- "inputs": [],
- "outputs": [
- 118
- ],
- "backend_fn": true,
- "js": null,
- "queue": null,
- "api_name": null,
- "scroll_to_output": false,
- "show_progress": "full",
- "every": null,
- "batch": false,
- "max_batch_size": 4,
- "cancels": [],
- "types": {
- "continuous": false,
- "generator": false
- },
- "collects_event_data": false,
- "trigger_after": null,
- "trigger_only_on_success": false
- }
- ]
-}
\ No newline at end of file
+ "version": "3.45.2",
+ "mode": "blocks",
+ "app_id": 14154062863405525567,
+ "dev_mode": false,
+ "analytics_enabled": true,
+ "components": [
+ {
+ "id": 1,
+ "type": "markdown",
+ "props": {
+ "value": "# Detect Disease From Scan\nWith this model you can lorem ipsum\n- ipsum 1\n- ipsum 2",
+ "rtl": false,
+ "latex_delimiters": [
+ {
+ "left": "$",
+ "right": "$",
+ "display": false
+ }
+ ],
+ "visible": true,
+ "sanitize_html": true,
+ "line_breaks": false,
+ "name": "markdown"
+ },
+ "serializer": "StringSerializable",
+ "api_info": {
+ "info": {
+ "type": "string"
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": "Howdy!",
+ "serialized": "Howdy!"
+ }
+ },
+ {
+ "id": 2,
+ "type": "checkboxgroup",
+ "props": {
+ "choices": [
+ ["Covid", "Covid"],
+ ["Malaria", "Malaria"],
+ ["Lung Cancer", "Lung Cancer"]
+ ],
+ "value": [],
+ "type": "value",
+ "label": "Disease to Scan For",
+ "show_label": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "name": "checkboxgroup",
+ "selectable": false
+ },
+ "serializer": "ListStringSerializable",
+ "api_info": {
+ "info": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": ["Covid"],
+ "serialized": ["Covid"]
+ }
+ },
+ {
+ "id": 3,
+ "type": "tabs",
+ "props": {
+ "visible": true,
+ "name": "tabs",
+ "selectable": false
+ }
+ },
+ {
+ "id": 4,
+ "type": "tabitem",
+ "props": {
+ "label": "X-ray",
+ "name": "tabitem",
+ "selectable": false
+ }
+ },
+ {
+ "id": 5,
+ "type": "row",
+ "props": {
+ "variant": "default",
+ "visible": true,
+ "equal_height": true,
+ "name": "row"
+ }
+ },
+ {
+ "id": 6,
+ "type": "image",
+ "props": {
+ "image_mode": "RGB",
+ "invert_colors": false,
+ "source": "upload",
+ "tool": "editor",
+ "type": "numpy",
+ "show_label": true,
+ "show_download_button": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "streaming": false,
+ "mirror_webcam": true,
+ "brush_color": "#000000",
+ "mask_opacity": 0.7,
+ "show_share_button": false,
+ "name": "image",
+ "selectable": false
+ },
+ "serializer": "ImgSerializable",
+ "api_info": {
+ "info": {
+ "type": "string",
+ "description": "base64 representation of an image"
+ },
+ "serialized_info": true
+ },
+ "example_inputs": {
+ "raw": "data:image/png;base64,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",
+ "serialized": "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png"
+ }
+ },
+ {
+ "id": 7,
+ "type": "json",
+ "props": {
+ "show_label": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "name": "json"
+ },
+ "serializer": "JSONSerializable",
+ "api_info": {
+ "info": {
+ "type": {},
+ "description": "any valid json"
+ },
+ "serialized_info": true
+ },
+ "example_inputs": {
+ "raw": {
+ "a": 1,
+ "b": 2
+ },
+ "serialized": null
+ }
+ },
+ {
+ "id": 8,
+ "type": "button",
+ "props": {
+ "value": "Run",
+ "variant": "secondary",
+ "visible": true,
+ "interactive": true,
+ "name": "button"
+ },
+ "serializer": "StringSerializable",
+ "api_info": {
+ "info": {
+ "type": "string"
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": "Howdy!",
+ "serialized": "Howdy!"
+ }
+ },
+ {
+ "id": 9,
+ "type": "tabitem",
+ "props": {
+ "label": "CT Scan",
+ "name": "tabitem",
+ "selectable": false
+ }
+ },
+ {
+ "id": 10,
+ "type": "row",
+ "props": {
+ "variant": "default",
+ "visible": true,
+ "equal_height": true,
+ "name": "row"
+ }
+ },
+ {
+ "id": 11,
+ "type": "image",
+ "props": {
+ "image_mode": "RGB",
+ "invert_colors": false,
+ "source": "upload",
+ "tool": "editor",
+ "type": "numpy",
+ "show_label": true,
+ "show_download_button": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "streaming": false,
+ "mirror_webcam": true,
+ "brush_color": "#000000",
+ "mask_opacity": 0.7,
+ "show_share_button": false,
+ "name": "image",
+ "selectable": false
+ },
+ "serializer": "ImgSerializable",
+ "api_info": {
+ "info": {
+ "type": "string",
+ "description": "base64 representation of an image"
+ },
+ "serialized_info": true
+ },
+ "example_inputs": {
+ "raw": "data:image/png;base64,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",
+ "serialized": "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png"
+ }
+ },
+ {
+ "id": 12,
+ "type": "json",
+ "props": {
+ "show_label": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "name": "json"
+ },
+ "serializer": "JSONSerializable",
+ "api_info": {
+ "info": {
+ "type": {},
+ "description": "any valid json"
+ },
+ "serialized_info": true
+ },
+ "example_inputs": {
+ "raw": {
+ "a": 1,
+ "b": 2
+ },
+ "serialized": null
+ }
+ },
+ {
+ "id": 13,
+ "type": "button",
+ "props": {
+ "value": "Run",
+ "variant": "secondary",
+ "visible": true,
+ "interactive": true,
+ "name": "button"
+ },
+ "serializer": "StringSerializable",
+ "api_info": {
+ "info": {
+ "type": "string"
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": "Howdy!",
+ "serialized": "Howdy!"
+ }
+ },
+ {
+ "id": 14,
+ "type": "textbox",
+ "props": {
+ "value": "",
+ "lines": 1,
+ "max_lines": 20,
+ "show_label": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "autofocus": false,
+ "autoscroll": true,
+ "type": "text",
+ "rtl": false,
+ "show_copy_button": false,
+ "name": "textbox",
+ "selectable": false
+ },
+ "serializer": "StringSerializable",
+ "api_info": {
+ "info": {
+ "type": "string"
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": "Howdy!",
+ "serialized": "Howdy!"
+ }
+ },
+ {
+ "id": 15,
+ "type": "form",
+ "props": {
+ "scale": 0,
+ "min_width": 0,
+ "name": "form"
+ }
+ },
+ {
+ "id": 16,
+ "type": "form",
+ "props": {
+ "scale": 0,
+ "min_width": 0,
+ "name": "form"
+ }
+ },
+ {
+ "id": 118,
+ "type": "textbox",
+ "props": {
+ "value": "",
+ "lines": 1,
+ "max_lines": 20,
+ "show_label": true,
+ "container": true,
+ "min_width": 160,
+ "visible": true,
+ "autofocus": false,
+ "autoscroll": true,
+ "type": "text",
+ "rtl": false,
+ "show_copy_button": false,
+ "name": "textbox",
+ "selectable": false
+ },
+ "serializer": "StringSerializable",
+ "api_info": {
+ "info": {
+ "type": "string"
+ },
+ "serialized_info": false
+ },
+ "example_inputs": {
+ "raw": "Howdy!",
+ "serialized": "Howdy!"
+ }
+ },
+ {
+ "id": 119,
+ "type": "form",
+ "props": {
+ "scale": 0,
+ "min_width": 0,
+ "name": "form"
+ }
+ }
+ ],
+ "css": null,
+ "title": "Gradio",
+ "space_id": null,
+ "enable_queue": null,
+ "show_error": true,
+ "show_api": true,
+ "is_colab": false,
+ "stylesheets": [
+ "https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600&display=swap",
+ "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
+ ],
+ "theme": "default",
+ "layout": {
+ "id": 117,
+ "children": [
+ {
+ "id": 1
+ },
+ {
+ "id": 15,
+ "children": [
+ {
+ "id": 2
+ }
+ ]
+ },
+ {
+ "id": 3,
+ "children": [
+ {
+ "id": 4,
+ "children": [
+ {
+ "id": 5,
+ "children": [
+ {
+ "id": 6
+ },
+ {
+ "id": 7
+ }
+ ]
+ },
+ {
+ "id": 8
+ }
+ ]
+ },
+ {
+ "id": 9,
+ "children": [
+ {
+ "id": 10,
+ "children": [
+ {
+ "id": 11
+ },
+ {
+ "id": 12
+ }
+ ]
+ },
+ {
+ "id": 13
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 16,
+ "children": [
+ {
+ "id": 14
+ }
+ ]
+ },
+ {
+ "id": 119,
+ "children": [
+ {
+ "id": 118
+ }
+ ]
+ }
+ ]
+ },
+ "dependencies": [
+ {
+ "targets": [[8, "click"]],
+ "inputs": [2, 6],
+ "outputs": [7],
+ "backend_fn": true,
+ "js": null,
+ "queue": null,
+ "api_name": null,
+ "scroll_to_output": false,
+ "show_progress": "full",
+ "every": null,
+ "batch": false,
+ "max_batch_size": 4,
+ "cancels": [],
+ "types": {
+ "continuous": false,
+ "generator": false
+ },
+ "collects_event_data": false,
+ "trigger_after": null,
+ "trigger_only_on_success": false
+ },
+ {
+ "targets": [[13, "click"]],
+ "inputs": [2, 11],
+ "outputs": [12],
+ "backend_fn": true,
+ "js": null,
+ "queue": null,
+ "api_name": null,
+ "scroll_to_output": false,
+ "show_progress": "full",
+ "every": null,
+ "batch": false,
+ "max_batch_size": 4,
+ "cancels": [],
+ "types": {
+ "continuous": false,
+ "generator": false
+ },
+ "collects_event_data": false,
+ "trigger_after": null,
+ "trigger_only_on_success": false
+ },
+ {
+ "targets": [[null, "load"]],
+ "inputs": [],
+ "outputs": [118],
+ "backend_fn": true,
+ "js": null,
+ "queue": null,
+ "api_name": null,
+ "scroll_to_output": false,
+ "show_progress": "full",
+ "every": null,
+ "batch": false,
+ "max_batch_size": 4,
+ "cancels": [],
+ "types": {
+ "continuous": false,
+ "generator": false
+ },
+ "collects_event_data": false,
+ "trigger_after": null,
+ "trigger_only_on_success": false
+ }
+ ]
+}