gradio/js
Hannah 37caa2e0fe
Add icon and link params to gr.Button (#5080)
* add icons and link params

* tweak

* add changeset

* prepend icon param with /file=

* prepend icon with /file=

* restore and add button stories

* add changeset

* param description tweak

* tweak param description

* type tweak

* fix i18n in story

* fix formatting

* fix test

* tweak

* fix typo

* fix icon bug

* fix inconsistent width

* remove <a /> target

* styling changes + add story

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2023-08-04 17:47:20 +02:00
..
_cdn-test
_spaces-test Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
_website Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
accordion Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
annotatedimage Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
app Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
atoms Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
audio chore(deps): update dependency extendable-media-recorder to v8 (#5085) 2023-08-04 08:28:58 -04:00
box Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
button Add icon and link params to gr.Button (#5080) 2023-08-04 17:47:20 +02:00
chatbot Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
checkbox Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
checkboxgroup Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
code Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
colorpicker Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
column Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
dataframe Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
dropdown Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
file Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
form Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
gallery Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
group Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
highlightedtext Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
html Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
icons unified release process (#4986) 2023-07-21 19:13:21 +01:00
image Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
json Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
label Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
lite chore: update versions (#4781) 2023-07-18 07:17:59 +01:00
markdown Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
model3D Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
number Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
plot Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
radio Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
row Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
slider Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
state Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
statustracker Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
storybook Add icon and link params to gr.Button (#5080) 2023-08-04 17:47:20 +02:00
tabitem Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
tabs Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
textbox Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
theme Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
timeseries Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
tooltip Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
tootils
upload Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
uploadbutton Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
utils Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
video Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
wasm Refactor component directories (#5074) 2023-08-03 23:01:18 +01: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