gradio/js
Dawood Khan 15da39fca0
Multimodal Textbox (Chat Input Component) (#7420)
* first pass

* multimodal textbox

* add changeset

* remove file

* more changes

* changes

* add changeset

* revert demo

* doc strings fix

* update demo

* file icons

* more updates

* format

* add story

* remove doc line

* type fixes

* chat interface

* new demo

* image upload fix

* ui changes

* addressing PR comments

* format

* type check

* more pr fixes

* format

* format

* test fixes

* test fixes

* Streaming fixes + other stuff

* optional keys to dict value

* final fixes

* notebook

* format

* Update guides/04_chatbots/01_creating-a-chatbot-fast.md

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>

* Update guides/04_chatbots/01_creating-a-chatbot-fast.md

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>

* Update guides/04_chatbots/01_creating-a-chatbot-fast.md

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>

* merge

* backend fixes

* story fix

* ui test fix

* format

* story

* format

* demo fix

* streaming test fix

* stories fix

* stories fix

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
2024-03-19 13:16:05 -07:00
..
_cdn-test chore(deps): update all non-major dependencies (#6537) 2023-11-22 18:04:27 -05:00
_spaces-test chore: update versions (#7630) 2024-03-08 16:35:23 -08:00
_website chore: update versions (#7630) 2024-03-08 16:35:23 -08:00
accordion batch UI updates on a per frame basis (#7564) 2024-03-13 13:46:40 +00:00
annotatedimage chore: update versions (#7630) 2024-03-08 16:35:23 -08:00
app Multimodal Textbox (Chat Input Component) (#7420) 2024-03-19 13:16:05 -07:00
atoms chore: update versions (#7426) 2024-02-16 12:28:13 -08:00
audio chore: update versions (#7630) 2024-03-08 16:35:23 -08:00
box chore: update versions (#7426) 2024-02-16 12:28:13 -08:00
button chore: update versions (#7630) 2024-03-08 16:35:23 -08:00
chatbot chore: update versions (#7630) 2024-03-08 16:35:23 -08:00
checkbox chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
checkboxgroup chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
code chore: update versions (#7630) 2024-03-08 16:35:23 -08:00
colorpicker chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
column Add mobile Chromatic tests (#7222) 2024-02-02 14:21:48 +00:00
dataframe fix dataframe stories (#7747) 2024-03-19 19:50:48 +00:00
dataset batch UI updates on a per frame basis (#7564) 2024-03-13 13:46:40 +00:00
downloadbutton chore: update versions (#7630) 2024-03-08 16:35:23 -08:00
dropdown Migrate to Storybook 8 (#7743) 2024-03-19 11:22:21 -07:00
fallback chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
file chore: update versions (#7630) 2024-03-08 16:35:23 -08:00
fileexplorer chore: update versions (#7630) 2024-03-08 16:35:23 -08:00
form chore: update versions (#7426) 2024-02-16 12:28:13 -08:00
gallery chore: update versions (#7630) 2024-03-08 16:35:23 -08:00
group Add mobile Chromatic tests (#7222) 2024-02-02 14:21:48 +00:00
highlightedtext chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
html chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
icons chore: update versions (#7426) 2024-02-16 12:28:13 -08:00
image Migrate to Storybook 8 (#7743) 2024-03-19 11:22:21 -07:00
imageeditor Migrate to Storybook 8 (#7743) 2024-03-19 11:22:21 -07:00
json chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
label chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
lite Add Playground to Lite Custom Element (#7660) 2024-03-19 11:49:21 -07:00
markdown Fixes: gr.Markdown is not updated properly when it has an image tag (#7623) 2024-03-19 12:52:03 -07:00
model3D chore: update versions (#7630) 2024-03-08 16:35:23 -08:00
multimodaltextbox Multimodal Textbox (Chat Input Component) (#7420) 2024-03-19 13:16:05 -07:00
number chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
paramviewer chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
plot chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
preview chore: update versions (#7630) 2024-03-08 16:35:23 -08:00
radio Migrate to Storybook 8 (#7743) 2024-03-19 11:22:21 -07:00
row Add mobile Chromatic tests (#7222) 2024-02-02 14:21:48 +00:00
simpledropdown chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
simpleimage chore: update versions (#7630) 2024-03-08 16:35:23 -08:00
simpletextbox chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
slider chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
state chore: update versions (#6039) 2023-10-31 13:20:18 +00:00
statustracker chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
storybook Migrate to Storybook 8 (#7743) 2024-03-19 11:22:21 -07:00
tabitem chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
tabs chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
textbox chore: update versions (#7463) 2024-02-22 13:29:11 -08:00
theme chore: update versions (#6039) 2023-10-31 13:20:18 +00:00
tooltip chore: update versions (#6039) 2023-10-31 13:20:18 +00:00
tootils chore: update versions (#7526) 2024-03-05 16:54:36 -08:00
upload Multimodal Textbox (Chat Input Component) (#7420) 2024-03-19 13:16:05 -07:00
uploadbutton chore: update versions (#7630) 2024-03-08 16:35:23 -08:00
utils chore: update versions (#7387) 2024-02-14 14:17:50 -08:00
video Migrate to Storybook 8 (#7743) 2024-03-19 11:22:21 -07:00
wasm Add Playground to Lite Custom Element (#7660) 2024-03-19 11:49:21 -07:00
.npmrc move files (#3605) 2023-03-27 16:12:58 -07:00
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