gradio/js
pngwn fe057300f0
delegate gradio events via a custom event dispatcher (#5279)
* delegate gradio events via a custom event dispatcher

* improve md perf + share code

* fix df markdown

* prevent model3d from rerending too frequently

* tweaks

* fix more event bugs with video

* add changeset

* optimise handle mount

* does this do anything

* fix

* remove old dispatches

* fix dropdown position

* oops

* fixes

* fix tests

* fix types

* format

* fix markdown code

* add changeset

* fix typecheck

* fix typecheck

* fix demos

* notebooks

* fix tests

* changer

* maybe this

* fixes

* add changeset

* fix chatbot alignment mobile

* fix chantbot

* add changeset

* changeset

* changeset

* storybook

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2023-08-23 21:48:10 +01:00
..
_cdn-test format (#4810) 2023-07-06 18:43:49 +01:00
_spaces-test Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
_website delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
accordion Lazy load interactive or static variants of a component individually, rather than loading both variants regardless. This change will improve performance for many applications. (#5215) 2023-08-15 19:21:41 +01:00
annotatedimage delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
app delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
atoms delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
audio delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
box Lazy load interactive or static variants of a component individually, rather than loading both variants regardless. This change will improve performance for many applications. (#5215) 2023-08-15 19:21:41 +01:00
button delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
chatbot delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
checkbox delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
checkboxgroup delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
code delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
colorpicker delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
column Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
dataframe delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
dropdown delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
file delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
form Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
gallery delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
group Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
highlightedtext delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
html delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
icons unified release process (#4986) 2023-07-21 19:13:21 +01:00
image delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
json delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
label delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
lite add gradio as a devdep of @gradio/lite (#5226) 2023-08-15 10:36:33 +01:00
markdown delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
model3D delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
number delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
plot delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
radio delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
row remove index files and update test paths (#5262) 2023-08-18 16:33:07 +01:00
slider delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
state Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
statustracker Update i18n tokens and locale files (#5216) 2023-08-18 12:36:52 +01:00
storybook ensure translations for audio work correctly (#5264) 2023-08-18 17:37:19 +01:00
tabitem delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
tabs delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
textbox delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
theme delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
timeseries delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
tooltip Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
tootils delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
upload delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
uploadbutton delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
utils delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
video delegate gradio events via a custom event dispatcher (#5279) 2023-08-23 21:48:10 +01:00
wasm Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
.npmrc
jsx.d.ts update deps + fix tests (#4675) 2023-06-28 22:40:53 +01:00
README.md Updated CI info in contributing docs (#4415) 2023-06-06 08:52:29 -04:00

gradio-ui

This folder contains all of the Gradio UI and component source code.

setup

This folder is managed as 'monorepo' a multi-package repository which make dependency management very simple. In order to do this we use pnpm as our package manager.

Make sure pnpm is installed by following the installation instructions for your system.

You will also need node which you probably already have

running the application

Install all dependencies:

pnpm i

This will install the dependencies for all packages and link any local packages

local development

To develop locally, open two terminal tabs from the root of the repository.

Run the python test server, from the root directory:

cd demo/kitchen_sink
python run.py

This will start a development server on port 7860 that the web app is expecting.

Run the web app:

pnpm dev

building for production

Run the build:

pnpm build

This will create the necessary files in js/app/public and also in gradio/templates/frontend.

quality checks

The repos currently has two quality checks that can be run locally and are run in CI.

formatting

Formatting is handled by prettier to ensure consistent formatting and prevent style-focused conversations. Formatting failures will fails CI and should be reoslve before merging.

To check formatting:

pnpm format:check

If you have formatting failures then you can run the following command to fix them:

pnpm format:write

type checking

We use TypeScript to provide static types to javascript code. These checks are also run in CI.

to typecheck the code:

pnpm ts:check

ci checks

Currently the following checks are run in CI:

static checks

  • Format check (pnpm format:check)
  • Build css (pnpm css)
  • Build client (pnpm build)
  • Type check (pnpm ts:check)
  • Unit tests (pnpm test:run)

functional test

pip install -r demo/outbreak_forecast/requirements.txt
pnpm exec playwright install chromium
pnpm exec playwright install-deps chromium
pnpm test:browser:full