gradio/js
Freddy Boulton c60ad4d34a
Use Gallery as input component (#7148)
* Gallery as input

* add changeset

* Add keep_captions parameter

* revert notebooks

* fix docstring typo

* use tuples

* remove keep_captions

* Update js/app/test/gallery_component_events.spec.ts

Co-authored-by: pngwn <hello@pngwn.io>

* more precise type hint

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: pngwn <hello@pngwn.io>
2024-01-25 18:51:59 -05:00
..
_cdn-test
_spaces-test
_website start cc docs guide (#7080) 2024-01-24 21:43:02 +00:00
accordion
annotatedimage chore: update versions (#7004) 2024-01-19 00:13:02 -05:00
app Use Gallery as input component (#7148) 2024-01-25 18:51:59 -05:00
atoms Use Gallery as input component (#7148) 2024-01-25 18:51:59 -05:00
audio Allow download button for interactive Audio and Video components (#7104) 2024-01-23 11:33:59 +01:00
box
button Allow buttons to take null value (#7126) 2024-01-24 13:10:00 -08:00
chatbot chore: update versions (#7004) 2024-01-19 00:13:02 -05:00
checkbox
checkboxgroup chore: update versions (#7004) 2024-01-19 00:13:02 -05:00
code chore: update versions (#7004) 2024-01-19 00:13:02 -05:00
colorpicker
column
dataframe chore: update versions (#7004) 2024-01-19 00:13:02 -05:00
dataset chore: update versions (#7004) 2024-01-19 00:13:02 -05:00
dropdown Fix dropdown refocusing due to <label /> element (#7081) 2024-01-22 10:32:27 -08:00
fallback
file chore: update versions (#7004) 2024-01-19 00:13:02 -05:00
fileexplorer chore: update versions (#7004) 2024-01-19 00:13:02 -05:00
form
gallery Use Gallery as input component (#7148) 2024-01-25 18:51:59 -05:00
group
highlightedtext
html
icons
image chore: update versions (#7004) 2024-01-19 00:13:02 -05:00
imageeditor chore: update versions (#7004) 2024-01-19 00:13:02 -05:00
json
label
lite chore: update versions (#7002) 2024-01-10 15:31:28 -08:00
markdown Fixes: Chatbot crashes when given empty url following http:// or https:// (#7138) 2024-01-24 23:01:38 -05:00
model3D add STL 3D model support (#7049) 2024-01-19 15:08:38 -05:00
number chore: update versions (#6825) 2023-12-19 16:17:10 -08:00
paramviewer Fix ParamViewer css (#7130) 2024-01-25 16:11:38 -05:00
plot
preview
radio chore: update versions (#7004) 2024-01-19 00:13:02 -05:00
row
simpledropdown
simpletextbox chore: update versions (#6825) 2023-12-19 16:17:10 -08:00
slider
state
statustracker
storybook
tabitem chore: update versions (#7004) 2024-01-19 00:13:02 -05:00
tabs Add logic to handle non-interactive or hidden tabs (#7107) 2024-01-22 23:31:59 -08:00
textbox
theme
tooltip
tootils
upload Allow download button for interactive Audio and Video components (#7104) 2024-01-23 11:33:59 +01:00
uploadbutton Allow buttons to take null value (#7126) 2024-01-24 13:10:00 -08:00
utils Allow buttons to take null value (#7126) 2024-01-24 13:10:00 -08:00
video Allow download button for interactive Audio and Video components (#7104) 2024-01-23 11:33:59 +01:00
wasm Lite: Add the home_dir to sys.path (#7150) 2024-01-25 16:43:13 +09:00
.npmrc
jsx.d.ts
README.md

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