mirror of
https://github.com/gradio-app/gradio.git
synced 2025-03-31 12:20:26 +08:00
Add support for altair plots (#2741)
* Try clean install * Resolve peer dependencies? * frozen lockfile install * Explicitly use version 16 * Add env * Add altair demo * Add unit test * CHANGELOG * Add image to changelog * Add outbreak_forcast notebook * Try again * generate again * Update ui/packages/plot/src/Plot.svelte Co-authored-by: aliabid94 <aabid94@gmail.com> * Fix title Co-authored-by: aliabid94 <aabid94@gmail.com>
This commit is contained in:
parent
82cd554ff2
commit
bed288a509
9
.github/workflows/deploy-spaces.yml
vendored
9
.github/workflows/deploy-spaces.yml
vendored
@ -19,6 +19,11 @@ jobs:
|
||||
uses: pnpm/action-setup@v2.2.2
|
||||
with:
|
||||
version: 7
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
cache: pnpm
|
||||
cache-dependency-path: ui/pnpm-lock.yaml
|
||||
- name: Install pip
|
||||
run: python -m pip install build requests
|
||||
- name: Get PR Number
|
||||
@ -33,11 +38,13 @@ jobs:
|
||||
export AWS_DEFAULT_REGION=us-east-1
|
||||
echo ${{ env.GRADIO_VERSION }} > gradio/version.txt
|
||||
cd ui
|
||||
pnpm i
|
||||
pnpm i --frozen-lockfile
|
||||
pnpm build
|
||||
cd ..
|
||||
python3 -m build -w
|
||||
aws s3 cp dist/gradio-${{ env.GRADIO_VERSION }}-py3-none-any.whl s3://gradio-builds/${{ github.sha }}/
|
||||
env:
|
||||
NODE_OPTIONS: --max_old_space_size=8192
|
||||
- name: Install Hub Client Library
|
||||
run: pip install huggingface-hub
|
||||
- name: Set up Demos
|
||||
|
33
CHANGELOG.md
33
CHANGELOG.md
@ -2,7 +2,38 @@
|
||||
|
||||
## New Features:
|
||||
|
||||
### Set the color of a Label component with a function
|
||||
### Support for altair plots
|
||||
|
||||
The `Plot` component can now accept altair plots as values!
|
||||
Simply return an altair plot from your event listener and gradio will display it in the front-end.
|
||||
See the example below:
|
||||
|
||||
```python
|
||||
import gradio as gr
|
||||
import altair as alt
|
||||
from vega_datasets import data
|
||||
|
||||
cars = data.cars()
|
||||
chart = (
|
||||
alt.Chart(cars)
|
||||
.mark_point()
|
||||
.encode(
|
||||
x="Horsepower",
|
||||
y="Miles_per_Gallon",
|
||||
color="Origin",
|
||||
)
|
||||
)
|
||||
|
||||
with gr.Blocks() as demo:
|
||||
gr.Plot(value=chart)
|
||||
demo.launch()
|
||||
```
|
||||
|
||||
<img width="1366" alt="image" src="https://user-images.githubusercontent.com/41651716/204660697-f994316f-5ca7-4e8a-93bc-eb5e0d556c91.png">
|
||||
|
||||
By [@freddyaboulton](https://github.com/freddyaboulton) in [PR 2741](https://github.com/gradio-app/gradio/pull/2741)
|
||||
|
||||
### Set the background color of a Label component
|
||||
|
||||
The `Label` component now accepts a `color` argument by [@freddyaboulton](https://github.com/freddyaboulton) in [PR 2736](https://github.com/gradio-app/gradio/pull/2736).
|
||||
The `color` argument should either be a valid css color name or hexadecimal string.
|
||||
|
2
demo/altair_plot/requirements.txt
Normal file
2
demo/altair_plot/requirements.txt
Normal file
@ -0,0 +1,2 @@
|
||||
altair
|
||||
vega_datasets
|
1
demo/altair_plot/run.ipynb
Normal file
1
demo/altair_plot/run.ipynb
Normal file
File diff suppressed because one or more lines are too long
140
demo/altair_plot/run.py
Normal file
140
demo/altair_plot/run.py
Normal file
@ -0,0 +1,140 @@
|
||||
import altair as alt
|
||||
import gradio as gr
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
from vega_datasets import data
|
||||
|
||||
|
||||
def make_plot(plot_type):
|
||||
if plot_type == "scatter_plot":
|
||||
cars = data.cars()
|
||||
return alt.Chart(cars).mark_point().encode(
|
||||
x='Horsepower',
|
||||
y='Miles_per_Gallon',
|
||||
color='Origin',
|
||||
)
|
||||
elif plot_type == "heatmap":
|
||||
# Compute x^2 + y^2 across a 2D grid
|
||||
x, y = np.meshgrid(range(-5, 5), range(-5, 5))
|
||||
z = x ** 2 + y ** 2
|
||||
|
||||
# Convert this grid to columnar data expected by Altair
|
||||
source = pd.DataFrame({'x': x.ravel(),
|
||||
'y': y.ravel(),
|
||||
'z': z.ravel()})
|
||||
return alt.Chart(source).mark_rect().encode(
|
||||
x='x:O',
|
||||
y='y:O',
|
||||
color='z:Q'
|
||||
)
|
||||
elif plot_type == "us_map":
|
||||
states = alt.topo_feature(data.us_10m.url, 'states')
|
||||
source = data.income.url
|
||||
|
||||
return alt.Chart(source).mark_geoshape().encode(
|
||||
shape='geo:G',
|
||||
color='pct:Q',
|
||||
tooltip=['name:N', 'pct:Q'],
|
||||
facet=alt.Facet('group:N', columns=2),
|
||||
).transform_lookup(
|
||||
lookup='id',
|
||||
from_=alt.LookupData(data=states, key='id'),
|
||||
as_='geo'
|
||||
).properties(
|
||||
width=300,
|
||||
height=175,
|
||||
).project(
|
||||
type='albersUsa'
|
||||
)
|
||||
elif plot_type == "interactive_barplot":
|
||||
source = data.movies.url
|
||||
|
||||
pts = alt.selection(type="single", encodings=['x'])
|
||||
|
||||
rect = alt.Chart(data.movies.url).mark_rect().encode(
|
||||
alt.X('IMDB_Rating:Q', bin=True),
|
||||
alt.Y('Rotten_Tomatoes_Rating:Q', bin=True),
|
||||
alt.Color('count()',
|
||||
scale=alt.Scale(scheme='greenblue'),
|
||||
legend=alt.Legend(title='Total Records')
|
||||
)
|
||||
)
|
||||
|
||||
circ = rect.mark_point().encode(
|
||||
alt.ColorValue('grey'),
|
||||
alt.Size('count()',
|
||||
legend=alt.Legend(title='Records in Selection')
|
||||
)
|
||||
).transform_filter(
|
||||
pts
|
||||
)
|
||||
|
||||
bar = alt.Chart(source).mark_bar().encode(
|
||||
x='Major_Genre:N',
|
||||
y='count()',
|
||||
color=alt.condition(pts, alt.ColorValue("steelblue"), alt.ColorValue("grey"))
|
||||
).properties(
|
||||
width=550,
|
||||
height=200
|
||||
).add_selection(pts)
|
||||
|
||||
plot = alt.vconcat(
|
||||
rect + circ,
|
||||
bar
|
||||
).resolve_legend(
|
||||
color="independent",
|
||||
size="independent"
|
||||
)
|
||||
return plot
|
||||
elif plot_type == "radial":
|
||||
source = pd.DataFrame({"values": [12, 23, 47, 6, 52, 19]})
|
||||
|
||||
base = alt.Chart(source).encode(
|
||||
theta=alt.Theta("values:Q", stack=True),
|
||||
radius=alt.Radius("values", scale=alt.Scale(type="sqrt", zero=True, rangeMin=20)),
|
||||
color="values:N",
|
||||
)
|
||||
|
||||
c1 = base.mark_arc(innerRadius=20, stroke="#fff")
|
||||
|
||||
c2 = base.mark_text(radiusOffset=10).encode(text="values:Q")
|
||||
|
||||
return c1 + c2
|
||||
elif plot_type == "multiline":
|
||||
source = data.stocks()
|
||||
|
||||
highlight = alt.selection(type='single', on='mouseover',
|
||||
fields=['symbol'], nearest=True)
|
||||
|
||||
base = alt.Chart(source).encode(
|
||||
x='date:T',
|
||||
y='price:Q',
|
||||
color='symbol:N'
|
||||
)
|
||||
|
||||
points = base.mark_circle().encode(
|
||||
opacity=alt.value(0)
|
||||
).add_selection(
|
||||
highlight
|
||||
).properties(
|
||||
width=600
|
||||
)
|
||||
|
||||
lines = base.mark_line().encode(
|
||||
size=alt.condition(~highlight, alt.value(1), alt.value(3))
|
||||
)
|
||||
|
||||
return points + lines
|
||||
|
||||
|
||||
with gr.Blocks() as demo:
|
||||
button = gr.Radio(label="Plot type",
|
||||
choices=['scatter_plot', 'heatmap', 'us_map',
|
||||
'interactive_barplot', "radial", "multiline"], value='scatter_plot')
|
||||
plot = gr.Plot(label="Plot")
|
||||
button.change(make_plot, inputs=button, outputs=[plot])
|
||||
demo.load(make_plot, inputs=[button], outputs=[plot])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
demo.launch()
|
@ -1,4 +1,5 @@
|
||||
numpy
|
||||
matplotlib
|
||||
bokeh
|
||||
plotly
|
||||
plotly
|
||||
altair
|
@ -1 +1 @@
|
||||
{"cells": [{"cell_type": "markdown", "id": 302934307671667531413257853548643485645, "metadata": {}, "source": ["# Gradio Demo: outbreak_forecast\n", "### Generate a plot based on 5 inputs.\n", " "]}, {"cell_type": "code", "execution_count": null, "id": 272996653310673477252411125948039410165, "metadata": {}, "outputs": [], "source": ["!pip install -q gradio numpy matplotlib bokeh plotly"]}, {"cell_type": "code", "execution_count": null, "id": 288918539441861185822528903084949547379, "metadata": {}, "outputs": [], "source": ["import gradio as gr\n", "from math import sqrt\n", "import matplotlib\n", "\n", "matplotlib.use(\"Agg\")\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import plotly.express as px\n", "import pandas as pd\n", "\n", "\n", "def outbreak(plot_type, r, month, countries, social_distancing):\n", " months = [\"January\", \"February\", \"March\", \"April\", \"May\"]\n", " m = months.index(month)\n", " start_day = 30 * m\n", " final_day = 30 * (m + 1)\n", " x = np.arange(start_day, final_day + 1)\n", " pop_count = {\"USA\": 350, \"Canada\": 40, \"Mexico\": 300, \"UK\": 120}\n", " if social_distancing:\n", " r = sqrt(r)\n", " df = pd.DataFrame({\"day\": x})\n", " for country in countries:\n", " df[country] = x ** (r) * (pop_count[country] + 1)\n", "\n", " if plot_type == \"Matplotlib\":\n", " fig = plt.figure()\n", " plt.plot(df[\"day\"], df[countries].to_numpy())\n", " plt.title(\"Outbreak in \" + month)\n", " plt.ylabel(\"Cases\")\n", " plt.xlabel(\"Days since Day 0\")\n", " plt.legend(countries)\n", " return fig\n", " elif plot_type == \"Plotly\":\n", " fig = px.line(df, x=\"day\", y=countries)\n", " fig.update_layout(\n", " title=\"Outbreak in \" + month,\n", " xaxis_title=\"Cases\",\n", " yaxis_title=\"Days Since Day 0\",\n", " )\n", " return fig\n", " else:\n", " raise ValueError(\"A plot type must be selected\")\n", "\n", "\n", "inputs = [\n", " gr.Dropdown([\"Matplotlib\", \"Plotly\"], label=\"Plot Type\"),\n", " gr.Slider(1, 4, 3.2, label=\"R\"),\n", " gr.Dropdown([\"January\", \"February\", \"March\", \"April\", \"May\"], label=\"Month\"),\n", " gr.CheckboxGroup(\n", " [\"USA\", \"Canada\", \"Mexico\", \"UK\"], label=\"Countries\", value=[\"USA\", \"Canada\"]\n", " ),\n", " gr.Checkbox(label=\"Social Distancing?\"),\n", "]\n", "outputs = gr.Plot()\n", "\n", "demo = gr.Interface(\n", " fn=outbreak,\n", " inputs=inputs,\n", " outputs=outputs,\n", " examples=[\n", " [\"Matplotlib\", 2, \"March\", [\"Mexico\", \"UK\"], True],\n", " [\"Plotly\", 3.6, \"February\", [\"Canada\", \"Mexico\", \"UK\"], False],\n", " ],\n", " cache_examples=True,\n", ")\n", "\n", "if __name__ == \"__main__\":\n", " demo.launch()\n"]}], "metadata": {}, "nbformat": 4, "nbformat_minor": 5}
|
||||
{"cells": [{"cell_type": "markdown", "id": 302934307671667531413257853548643485645, "metadata": {}, "source": ["# Gradio Demo: outbreak_forecast\n", "### Generate a plot based on 5 inputs.\n", " "]}, {"cell_type": "code", "execution_count": null, "id": 272996653310673477252411125948039410165, "metadata": {}, "outputs": [], "source": ["!pip install -q gradio numpy matplotlib bokeh plotly altair"]}, {"cell_type": "code", "execution_count": null, "id": 288918539441861185822528903084949547379, "metadata": {}, "outputs": [], "source": ["import altair\n", "\n", "import gradio as gr\n", "from math import sqrt\n", "import matplotlib\n", "\n", "matplotlib.use(\"Agg\")\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import plotly.express as px\n", "import pandas as pd\n", "\n", "\n", "def outbreak(plot_type, r, month, countries, social_distancing):\n", " months = [\"January\", \"February\", \"March\", \"April\", \"May\"]\n", " m = months.index(month)\n", " start_day = 30 * m\n", " final_day = 30 * (m + 1)\n", " x = np.arange(start_day, final_day + 1)\n", " pop_count = {\"USA\": 350, \"Canada\": 40, \"Mexico\": 300, \"UK\": 120}\n", " if social_distancing:\n", " r = sqrt(r)\n", " df = pd.DataFrame({\"day\": x})\n", " for country in countries:\n", " df[country] = x ** (r) * (pop_count[country] + 1)\n", "\n", " if plot_type == \"Matplotlib\":\n", " fig = plt.figure()\n", " plt.plot(df[\"day\"], df[countries].to_numpy())\n", " plt.title(\"Outbreak in \" + month)\n", " plt.ylabel(\"Cases\")\n", " plt.xlabel(\"Days since Day 0\")\n", " plt.legend(countries)\n", " return fig\n", " elif plot_type == \"Plotly\":\n", " fig = px.line(df, x=\"day\", y=countries)\n", " fig.update_layout(\n", " title=\"Outbreak in \" + month,\n", " xaxis_title=\"Cases\",\n", " yaxis_title=\"Days Since Day 0\",\n", " )\n", " return fig\n", " elif plot_type == \"Altair\":\n", " df = df.melt(id_vars=\"day\").rename(columns={\"variable\": \"country\"})\n", " fig = altair.Chart(df).mark_line().encode(x=\"day\", y='value', color='country')\n", " return fig\n", " else:\n", " raise ValueError(\"A plot type must be selected\")\n", "\n", "\n", "inputs = [\n", " gr.Dropdown([\"Matplotlib\", \"Plotly\", \"Altair\"], label=\"Plot Type\"),\n", " gr.Slider(1, 4, 3.2, label=\"R\"),\n", " gr.Dropdown([\"January\", \"February\", \"March\", \"April\", \"May\"], label=\"Month\"),\n", " gr.CheckboxGroup(\n", " [\"USA\", \"Canada\", \"Mexico\", \"UK\"], label=\"Countries\", value=[\"USA\", \"Canada\"]\n", " ),\n", " gr.Checkbox(label=\"Social Distancing?\"),\n", "]\n", "outputs = gr.Plot()\n", "\n", "demo = gr.Interface(\n", " fn=outbreak,\n", " inputs=inputs,\n", " outputs=outputs,\n", " examples=[\n", " [\"Matplotlib\", 2, \"March\", [\"Mexico\", \"UK\"], True],\n", " [\"Altair\", 2, \"March\", [\"Mexico\", \"Canada\"], True],\n", " [\"Plotly\", 3.6, \"February\", [\"Canada\", \"Mexico\", \"UK\"], False],\n", " ],\n", " cache_examples=True,\n", ")\n", "\n", "if __name__ == \"__main__\":\n", " demo.launch()\n"]}], "metadata": {}, "nbformat": 4, "nbformat_minor": 5}
|
@ -1,3 +1,5 @@
|
||||
import altair
|
||||
|
||||
import gradio as gr
|
||||
from math import sqrt
|
||||
import matplotlib
|
||||
@ -39,12 +41,16 @@ def outbreak(plot_type, r, month, countries, social_distancing):
|
||||
yaxis_title="Days Since Day 0",
|
||||
)
|
||||
return fig
|
||||
elif plot_type == "Altair":
|
||||
df = df.melt(id_vars="day").rename(columns={"variable": "country"})
|
||||
fig = altair.Chart(df).mark_line().encode(x="day", y='value', color='country')
|
||||
return fig
|
||||
else:
|
||||
raise ValueError("A plot type must be selected")
|
||||
|
||||
|
||||
inputs = [
|
||||
gr.Dropdown(["Matplotlib", "Plotly"], label="Plot Type"),
|
||||
gr.Dropdown(["Matplotlib", "Plotly", "Altair"], label="Plot Type"),
|
||||
gr.Slider(1, 4, 3.2, label="R"),
|
||||
gr.Dropdown(["January", "February", "March", "April", "May"], label="Month"),
|
||||
gr.CheckboxGroup(
|
||||
@ -60,6 +66,7 @@ demo = gr.Interface(
|
||||
outputs=outputs,
|
||||
examples=[
|
||||
["Matplotlib", 2, "March", ["Mexico", "UK"], True],
|
||||
["Altair", 2, "March", ["Mexico", "Canada"], True],
|
||||
["Plotly", 3.6, "February", ["Canada", "Mexico", "UK"], False],
|
||||
],
|
||||
cache_examples=True,
|
||||
|
@ -3862,7 +3862,7 @@ class Plot(Changeable, Clearable, IOComponent, JSONSerializable):
|
||||
Preprocessing: this component does *not* accept input.
|
||||
Postprocessing: expects either a {matplotlib.figure.Figure}, a {plotly.graph_objects._figure.Figure}, or a {dict} corresponding to a bokeh plot (json_item format)
|
||||
|
||||
Demos: outbreak_forecast, blocks_kinematics, stock_forecast, map_airbnb
|
||||
Demos: altair_plot, outbreak_forecast, blocks_kinematics, stock_forecast, map_airbnb
|
||||
Guides: plot_component_for_maps
|
||||
"""
|
||||
|
||||
@ -3878,7 +3878,7 @@ class Plot(Changeable, Clearable, IOComponent, JSONSerializable):
|
||||
):
|
||||
"""
|
||||
Parameters:
|
||||
value: Optionally, supply a default plot object to display, must be a matplotlib, plotly, or bokeh figure. If callable, the function will be called whenever the app loads to set the initial value of the component.
|
||||
value: Optionally, supply a default plot object to display, must be a matplotlib, plotly, altair, or bokeh figure. If callable, the function will be called whenever the app loads to set the initial value of the component.
|
||||
label: component name in interface.
|
||||
show_label: if True, will display label.
|
||||
visible: If False, component will be hidden.
|
||||
@ -3929,7 +3929,11 @@ class Plot(Changeable, Clearable, IOComponent, JSONSerializable):
|
||||
dtype = "bokeh"
|
||||
out_y = json.dumps(y)
|
||||
else:
|
||||
dtype = "plotly"
|
||||
is_altair = "altair" in y.__module__
|
||||
if is_altair:
|
||||
dtype = "altair"
|
||||
else:
|
||||
dtype = "plotly"
|
||||
out_y = y.to_json()
|
||||
return {"type": dtype, "plot": out_y}
|
||||
|
||||
|
@ -8,6 +8,7 @@ import argparse
|
||||
def copy_all_demos(source_dir: str, dest_dir: str):
|
||||
demos_to_copy = [
|
||||
"audio_debugger",
|
||||
"altair_plot",
|
||||
"blocks_essay",
|
||||
"blocks_js_methods",
|
||||
"blocks_layout",
|
||||
@ -64,5 +65,7 @@ if __name__ == "__main__":
|
||||
opencv-python==4.6.0.66
|
||||
transformers==4.21.1
|
||||
torch==1.12.1
|
||||
altair
|
||||
vega_datasets
|
||||
"""
|
||||
open(reqs_file_path, "w").write(textwrap.dedent(requirements))
|
||||
|
@ -19,4 +19,6 @@ flake8
|
||||
httpx
|
||||
pydantic
|
||||
respx
|
||||
fastapi>=0.87.0
|
||||
fastapi>=0.87.0
|
||||
altair
|
||||
vega_datasets
|
@ -6,6 +6,8 @@
|
||||
#
|
||||
alembic==1.8.1
|
||||
# via mlflow
|
||||
altair==4.2.0
|
||||
# via -r requirements.in
|
||||
anyio==3.6.1
|
||||
# via
|
||||
# httpcore
|
||||
@ -61,7 +63,9 @@ docker-pycreds==0.4.0
|
||||
dulwich==0.20.45
|
||||
# via comet-ml
|
||||
entrypoints==0.4
|
||||
# via mlflow
|
||||
# via
|
||||
# altair
|
||||
# mlflow
|
||||
everett[ini]==3.0.0
|
||||
# via comet-ml
|
||||
fastapi==0.87.0
|
||||
@ -123,11 +127,15 @@ itsdangerous==2.1.2
|
||||
jedi==0.18.1
|
||||
# via ipython
|
||||
jinja2==3.1.2
|
||||
# via flask
|
||||
# via
|
||||
# altair
|
||||
# flask
|
||||
joblib==1.1.0
|
||||
# via scikit-learn
|
||||
jsonschema==4.7.2
|
||||
# via comet-ml
|
||||
# via
|
||||
# altair
|
||||
# comet-ml
|
||||
llvmlite==0.38.1
|
||||
# via numba
|
||||
mako==1.2.1
|
||||
@ -150,6 +158,7 @@ numba==0.55.2
|
||||
# via shap
|
||||
numpy==1.21.6
|
||||
# via
|
||||
# altair
|
||||
# imageio
|
||||
# mlflow
|
||||
# numba
|
||||
@ -175,8 +184,10 @@ packaging==21.3
|
||||
# transformers
|
||||
pandas==1.3.5
|
||||
# via
|
||||
# altair
|
||||
# mlflow
|
||||
# shap
|
||||
# vega-datasets
|
||||
parso==0.8.3
|
||||
# via jedi
|
||||
pathspec==0.9.0
|
||||
@ -334,6 +345,8 @@ tomli==2.0.1
|
||||
# black
|
||||
# coverage
|
||||
# pytest
|
||||
toolz==0.12.0
|
||||
# via altair
|
||||
torch==1.12.0
|
||||
# via -r requirements.in
|
||||
tqdm==4.64.0
|
||||
@ -359,6 +372,8 @@ urllib3==1.26.10
|
||||
# dulwich
|
||||
# requests
|
||||
# sentry-sdk
|
||||
vega-datasets==0.9.0
|
||||
# via -r requirements.in
|
||||
wandb==0.12.21
|
||||
# via -r requirements.in
|
||||
wcwidth==0.2.5
|
||||
|
@ -688,6 +688,24 @@ class TestPlot:
|
||||
component = gr.Plot(None)
|
||||
assert component.get_config().get("value") is None
|
||||
|
||||
def test_postprocess_altair(self):
|
||||
import altair as alt
|
||||
from vega_datasets import data
|
||||
|
||||
cars = data.cars()
|
||||
chart = (
|
||||
alt.Chart(cars)
|
||||
.mark_point()
|
||||
.encode(
|
||||
x="Horsepower",
|
||||
y="Miles_per_Gallon",
|
||||
color="Origin",
|
||||
)
|
||||
)
|
||||
out = gr.Plot().postprocess(chart)
|
||||
assert isinstance(out["plot"], str)
|
||||
assert out["plot"] == chart.to_json()
|
||||
|
||||
|
||||
class TestAudio:
|
||||
def test_component_functions(self):
|
||||
|
@ -40,6 +40,7 @@
|
||||
"@gradio/video": "workspace:^0.0.1",
|
||||
"d3-dsv": "^3.0.1",
|
||||
"mime-types": "^2.1.34",
|
||||
"svelte": "^3.25.1",
|
||||
"svelte-i18n": "^3.3.13"
|
||||
}
|
||||
}
|
||||
|
@ -10,6 +10,10 @@
|
||||
"dependencies": {
|
||||
"@gradio/icons": "workspace:^0.0.1",
|
||||
"@gradio/utils": "workspace:^0.0.1",
|
||||
"plotly.js-dist-min": "^2.10.1"
|
||||
"@rollup/plugin-json": "^5.0.2",
|
||||
"plotly.js-dist-min": "^2.10.1",
|
||||
"svelte-vega": "^1.2.0",
|
||||
"vega": ">=5.21.0 <6.0.0",
|
||||
"vega-lite": "*"
|
||||
}
|
||||
}
|
||||
|
@ -2,14 +2,21 @@
|
||||
//@ts-nocheck
|
||||
import Plotly from "plotly.js-dist-min";
|
||||
import { Plot as PlotIcon } from "@gradio/icons";
|
||||
import { Vega } from "svelte-vega";
|
||||
|
||||
import { afterUpdate, onDestroy } from "svelte";
|
||||
|
||||
export let value;
|
||||
export let target;
|
||||
let spec = null;
|
||||
|
||||
$: if(value && value['type'] == "altair") {
|
||||
spec = JSON.parse(value['plot'])
|
||||
}
|
||||
|
||||
|
||||
// Plotly
|
||||
let plotDiv;
|
||||
let plotDiv;
|
||||
let plotlyGlobalStyle;
|
||||
|
||||
const main_src = "https://cdn.bokeh.org/bokeh/release/bokeh-2.4.2.min.js";
|
||||
@ -109,6 +116,10 @@
|
||||
<div bind:this={plotDiv} />
|
||||
{:else if value && value["type"] == "bokeh"}
|
||||
<div id="bokehDiv" />
|
||||
{:else if value && value['type'] == "altair"}
|
||||
<div class="flex justify-center items-center w-full h-full">
|
||||
<Vega spec={spec} />
|
||||
</div>
|
||||
{:else if value && value["type"] == "matplotlib"}
|
||||
<div class="output-image w-full flex justify-center items-center relative">
|
||||
<!-- svelte-ignore a11y-missing-attribute -->
|
||||
|
@ -42,7 +42,8 @@
|
||||
"@gradio/tabs": "workspace:^0.0.1",
|
||||
"@gradio/theme": "workspace:^0.0.1",
|
||||
"@gradio/upload": "workspace:^0.0.1",
|
||||
"@gradio/uploadbutton": "workspace:^0.0.1",
|
||||
"@gradio/video": "workspace:^0.0.1",
|
||||
"@gradio/uploadbutton": "workspace:^0.0.1"
|
||||
"svelte": ">=3.44.0 <4.0.0"
|
||||
}
|
||||
}
|
||||
|
680
ui/pnpm-lock.yaml
generated
680
ui/pnpm-lock.yaml
generated
@ -1,4 +1,4 @@
|
||||
lockfileVersion: 5.3
|
||||
lockfileVersion: 5.4
|
||||
|
||||
importers:
|
||||
|
||||
@ -43,7 +43,7 @@ importers:
|
||||
'@tailwindcss/forms': 0.5.0_tailwindcss@3.1.6
|
||||
'@testing-library/dom': 8.11.3
|
||||
'@testing-library/svelte': 3.1.0_svelte@3.49.0
|
||||
'@testing-library/user-event': 13.5.0_@testing-library+dom@8.11.3
|
||||
'@testing-library/user-event': 13.5.0_gzufz4q333be4gqfrvipwvqt6a
|
||||
autoprefixer: 10.4.4_postcss@8.4.6
|
||||
babylonjs: 5.18.0
|
||||
babylonjs-loaders: 5.18.0
|
||||
@ -56,13 +56,13 @@ importers:
|
||||
postcss: 8.4.6
|
||||
postcss-nested: 5.0.6_postcss@8.4.6
|
||||
prettier: 2.6.2
|
||||
prettier-plugin-svelte: 2.7.0_prettier@2.6.2+svelte@3.49.0
|
||||
prettier-plugin-svelte: 2.7.0_3cyj5wbackxvw67rnaarcmbw7y
|
||||
sirv: 2.0.2
|
||||
sirv-cli: 2.0.2
|
||||
svelte: 3.49.0
|
||||
svelte-check: 2.8.0_postcss@8.4.6+svelte@3.49.0
|
||||
svelte-check: 2.8.0_mgmdnb6x5rpawk37gozc2sbtta
|
||||
svelte-i18n: 3.3.13_svelte@3.49.0
|
||||
svelte-preprocess: 4.10.6_62d50a01257de5eec5be08cad9d3ed66
|
||||
svelte-preprocess: 4.10.6_mlkquajfpxs65rn6bdfntu7nmy
|
||||
tailwindcss: 3.1.6
|
||||
tinyspy: 0.3.0
|
||||
typescript: 4.7.4
|
||||
@ -105,6 +105,7 @@ importers:
|
||||
'@gradio/video': workspace:^0.0.1
|
||||
d3-dsv: ^3.0.1
|
||||
mime-types: ^2.1.34
|
||||
svelte: ^3.25.1
|
||||
svelte-i18n: ^3.3.13
|
||||
dependencies:
|
||||
'@gradio/atoms': link:../atoms
|
||||
@ -133,6 +134,7 @@ importers:
|
||||
'@gradio/video': link:../video
|
||||
d3-dsv: 3.0.1
|
||||
mime-types: 2.1.34
|
||||
svelte: 3.49.0
|
||||
svelte-i18n: 3.3.13_svelte@3.49.0
|
||||
|
||||
packages/atoms:
|
||||
@ -279,11 +281,19 @@ importers:
|
||||
specifiers:
|
||||
'@gradio/icons': workspace:^0.0.1
|
||||
'@gradio/utils': workspace:^0.0.1
|
||||
'@rollup/plugin-json': ^5.0.2
|
||||
plotly.js-dist-min: ^2.10.1
|
||||
svelte-vega: ^1.2.0
|
||||
vega: '>=5.21.0 <6.0.0'
|
||||
vega-lite: '*'
|
||||
dependencies:
|
||||
'@gradio/icons': link:../icons
|
||||
'@gradio/utils': link:../utils
|
||||
'@rollup/plugin-json': 5.0.2
|
||||
plotly.js-dist-min: 2.11.1
|
||||
svelte-vega: 1.2.0_36sthfwhgi34qytpvkzggbhnle
|
||||
vega: 5.22.1
|
||||
vega-lite: 5.6.0_vega@5.22.1
|
||||
|
||||
packages/table:
|
||||
specifiers:
|
||||
@ -372,6 +382,7 @@ importers:
|
||||
autoprefixer: ^10.4.2
|
||||
postcss: ^8.4.5
|
||||
postcss-load-config: ^3.1.1
|
||||
svelte: '>=3.44.0 <4.0.0'
|
||||
svelte-check: ^2.2.6
|
||||
svelte-preprocess: ^4.10.1
|
||||
tailwindcss: ^3.0.12
|
||||
@ -400,14 +411,15 @@ importers:
|
||||
'@gradio/upload': link:../upload
|
||||
'@gradio/uploadbutton': link:../upload-button
|
||||
'@gradio/video': link:../video
|
||||
svelte: 3.49.0
|
||||
devDependencies:
|
||||
'@sveltejs/adapter-auto': 1.0.0-next.89
|
||||
'@sveltejs/adapter-auto': 1.0.0-next.90
|
||||
'@sveltejs/kit': 1.0.0-next.318_svelte@3.49.0
|
||||
autoprefixer: 10.4.2_postcss@8.4.6
|
||||
postcss: 8.4.6
|
||||
postcss-load-config: 3.1.1
|
||||
svelte-check: 2.4.1_736abba5ed1eb6f8ecf70b1d49ead14b
|
||||
svelte-preprocess: 4.10.2_d50790bb30dd88cc44babe7efa52bace
|
||||
svelte-check: 2.4.1_onvlxjpnd23pr3hxbmout2wrjm
|
||||
svelte-preprocess: 4.10.2_2udzbozq3wemyrf2xz7puuv2zy
|
||||
tailwindcss: 3.0.23_autoprefixer@10.4.2
|
||||
tslib: 2.3.1
|
||||
typescript: 4.5.5
|
||||
@ -546,6 +558,18 @@ packages:
|
||||
resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
|
||||
dev: false
|
||||
|
||||
/@rollup/plugin-json/5.0.2:
|
||||
resolution: {integrity: sha512-D1CoOT2wPvadWLhVcmpkDnesTzjhNIQRWLsc3fA49IFOP2Y84cFOOJ+nKGYedvXHKUsPeq07HR4hXpBBr+CHlA==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
rollup: ^1.20.0||^2.0.0||^3.0.0
|
||||
peerDependenciesMeta:
|
||||
rollup:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.0.2
|
||||
dev: false
|
||||
|
||||
/@rollup/pluginutils/4.2.1:
|
||||
resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
|
||||
engines: {node: '>= 8.0.0'}
|
||||
@ -553,10 +577,24 @@ packages:
|
||||
estree-walker: 2.0.2
|
||||
picomatch: 2.3.1
|
||||
|
||||
/@sveltejs/adapter-auto/1.0.0-next.89:
|
||||
resolution: {integrity: sha512-S+sASFX4sSZD1xEKmZ3zHxQh2DGxXBUpCGAtUakKkI2MRvFIm+zYIm+7GPekofMLd19FjdFDKkuOjBKPdmA8+w==}
|
||||
/@rollup/pluginutils/5.0.2:
|
||||
resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
rollup: ^1.20.0||^2.0.0||^3.0.0
|
||||
peerDependenciesMeta:
|
||||
rollup:
|
||||
optional: true
|
||||
dependencies:
|
||||
import-meta-resolve: 2.1.0
|
||||
'@types/estree': 1.0.0
|
||||
estree-walker: 2.0.2
|
||||
picomatch: 2.3.1
|
||||
dev: false
|
||||
|
||||
/@sveltejs/adapter-auto/1.0.0-next.90:
|
||||
resolution: {integrity: sha512-qxH46Oqqn40998wTmnbffONI0HcW/kiZ3OIjZoysjONne+LU4uEsG425MZ2RHDxmR04zxhsdjCAsn6B4du8D7w==}
|
||||
dependencies:
|
||||
import-meta-resolve: 2.2.0
|
||||
dev: true
|
||||
|
||||
/@sveltejs/kit/1.0.0-next.318_svelte@3.49.0:
|
||||
@ -671,7 +709,7 @@ packages:
|
||||
svelte: 3.49.0
|
||||
dev: false
|
||||
|
||||
/@testing-library/user-event/13.5.0_@testing-library+dom@8.11.3:
|
||||
/@testing-library/user-event/13.5.0_gzufz4q333be4gqfrvipwvqt6a:
|
||||
resolution: {integrity: sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==}
|
||||
engines: {node: '>=10', npm: '>=6'}
|
||||
peerDependencies:
|
||||
@ -695,6 +733,10 @@ packages:
|
||||
resolution: {integrity: sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==}
|
||||
dev: false
|
||||
|
||||
/@types/clone/2.1.1:
|
||||
resolution: {integrity: sha512-BZIU34bSYye0j/BFcPraiDZ5ka6MJADjcDVELGf7glr9K+iE8NYVjFslJFVWzskSxkLLyCrSPScE82/UUoBSvg==}
|
||||
dev: false
|
||||
|
||||
/@types/concat-stream/1.6.1:
|
||||
resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==}
|
||||
dependencies:
|
||||
@ -724,6 +766,14 @@ packages:
|
||||
resolution: {integrity: sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==}
|
||||
dev: true
|
||||
|
||||
/@types/estree/0.0.50:
|
||||
resolution: {integrity: sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==}
|
||||
dev: false
|
||||
|
||||
/@types/estree/1.0.0:
|
||||
resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
|
||||
dev: false
|
||||
|
||||
/@types/form-data/0.0.33:
|
||||
resolution: {integrity: sha1-yayFsqX9GENbjIXZ7LUObWyJP/g=}
|
||||
dependencies:
|
||||
@ -1072,6 +1122,20 @@ packages:
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.2
|
||||
|
||||
/cliui/8.0.1:
|
||||
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
string-width: 4.2.3
|
||||
strip-ansi: 6.0.1
|
||||
wrap-ansi: 7.0.0
|
||||
dev: false
|
||||
|
||||
/clone/2.1.2:
|
||||
resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
|
||||
engines: {node: '>=0.8'}
|
||||
dev: false
|
||||
|
||||
/color-convert/1.9.3:
|
||||
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
|
||||
dependencies:
|
||||
@ -1096,6 +1160,10 @@ packages:
|
||||
delayed-stream: 1.0.0
|
||||
dev: false
|
||||
|
||||
/commander/2.20.3:
|
||||
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
|
||||
dev: false
|
||||
|
||||
/commander/7.2.0:
|
||||
resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
|
||||
engines: {node: '>= 10'}
|
||||
@ -1200,6 +1268,18 @@ packages:
|
||||
engines: {node: '>=12'}
|
||||
dev: false
|
||||
|
||||
/d3-delaunay/6.0.2:
|
||||
resolution: {integrity: sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
delaunator: 5.0.0
|
||||
dev: false
|
||||
|
||||
/d3-dispatch/3.0.1:
|
||||
resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==}
|
||||
engines: {node: '>=12'}
|
||||
dev: false
|
||||
|
||||
/d3-dsv/3.0.1:
|
||||
resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==}
|
||||
engines: {node: '>=12'}
|
||||
@ -1210,11 +1290,42 @@ packages:
|
||||
rw: 1.3.3
|
||||
dev: false
|
||||
|
||||
/d3-force/3.0.0:
|
||||
resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
d3-dispatch: 3.0.1
|
||||
d3-quadtree: 3.0.1
|
||||
d3-timer: 3.0.1
|
||||
dev: false
|
||||
|
||||
/d3-format/3.1.0:
|
||||
resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==}
|
||||
engines: {node: '>=12'}
|
||||
dev: false
|
||||
|
||||
/d3-geo-projection/4.0.0:
|
||||
resolution: {integrity: sha512-p0bK60CEzph1iqmnxut7d/1kyTmm3UWtPlwdkM31AU+LW+BXazd5zJdoCn7VFxNCHXRngPHRnsNn5uGjLRGndg==}
|
||||
engines: {node: '>=12'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
commander: 7.2.0
|
||||
d3-array: 3.1.1
|
||||
d3-geo: 3.0.1
|
||||
dev: false
|
||||
|
||||
/d3-geo/3.0.1:
|
||||
resolution: {integrity: sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
d3-array: 3.1.1
|
||||
dev: false
|
||||
|
||||
/d3-hierarchy/3.1.2:
|
||||
resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==}
|
||||
engines: {node: '>=12'}
|
||||
dev: false
|
||||
|
||||
/d3-interpolate/3.0.1:
|
||||
resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
|
||||
engines: {node: '>=12'}
|
||||
@ -1227,6 +1338,11 @@ packages:
|
||||
engines: {node: '>=12'}
|
||||
dev: false
|
||||
|
||||
/d3-quadtree/3.0.1:
|
||||
resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==}
|
||||
engines: {node: '>=12'}
|
||||
dev: false
|
||||
|
||||
/d3-scale/4.0.2:
|
||||
resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
|
||||
engines: {node: '>=12'}
|
||||
@ -1259,6 +1375,11 @@ packages:
|
||||
d3-array: 3.1.1
|
||||
dev: false
|
||||
|
||||
/d3-timer/3.0.1:
|
||||
resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
|
||||
engines: {node: '>=12'}
|
||||
dev: false
|
||||
|
||||
/dashify/2.0.0:
|
||||
resolution: {integrity: sha512-hpA5C/YrPjucXypHPPc0oJ1l9Hf6wWbiOL7Ik42cxnsUOhWiCB/fylKbKqqJalW9FgkNQCw16YO8uW9Hs0Iy1A==}
|
||||
engines: {node: '>=4'}
|
||||
@ -1296,6 +1417,12 @@ packages:
|
||||
/defined/1.0.0:
|
||||
resolution: {integrity: sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==}
|
||||
|
||||
/delaunator/5.0.0:
|
||||
resolution: {integrity: sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==}
|
||||
dependencies:
|
||||
robust-predicates: 3.0.1
|
||||
dev: false
|
||||
|
||||
/delayed-stream/1.0.0:
|
||||
resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=}
|
||||
engines: {node: '>=0.4.0'}
|
||||
@ -1375,6 +1502,10 @@ packages:
|
||||
resolution: {integrity: sha512-EVTZ+igi8x63pK4bPuA95PXIs2b2Cowi3WQwI9f9qManLiZJOD1Lash1J3W4TvvcUCcIR4o/rgi9o8UicXSO+w==}
|
||||
dev: false
|
||||
|
||||
/emoji-regex/8.0.0:
|
||||
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
|
||||
dev: false
|
||||
|
||||
/entities/2.2.0:
|
||||
resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
|
||||
dev: false
|
||||
@ -1658,6 +1789,10 @@ packages:
|
||||
tslib: 2.4.0
|
||||
dev: false
|
||||
|
||||
/fast-deep-equal/3.1.3:
|
||||
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
|
||||
dev: false
|
||||
|
||||
/fast-glob/3.2.11:
|
||||
resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==}
|
||||
engines: {node: '>=8.6.0'}
|
||||
@ -1668,6 +1803,14 @@ packages:
|
||||
merge2: 1.4.1
|
||||
micromatch: 4.0.4
|
||||
|
||||
/fast-json-patch/3.1.1:
|
||||
resolution: {integrity: sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==}
|
||||
dev: false
|
||||
|
||||
/fast-json-stable-stringify/2.1.0:
|
||||
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
|
||||
dev: false
|
||||
|
||||
/fast-unique-numbers/6.0.21:
|
||||
resolution: {integrity: sha512-MW8UAAypyhNtbnMlSch9EiEAuiMo1y6O02WzI5mcHAzvirdIm/hXMVp4QH9ijWnU1xzW23GXk6Bf+5B1kv9hzw==}
|
||||
engines: {node: '>=12.20.1'}
|
||||
@ -1717,6 +1860,11 @@ packages:
|
||||
/function-bind/1.1.1:
|
||||
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
|
||||
|
||||
/get-caller-file/2.0.5:
|
||||
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
|
||||
engines: {node: 6.* || 8.* || >= 10.*}
|
||||
dev: false
|
||||
|
||||
/get-func-name/2.0.0:
|
||||
resolution: {integrity: sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=}
|
||||
dev: false
|
||||
@ -1865,8 +2013,8 @@ packages:
|
||||
parent-module: 1.0.1
|
||||
resolve-from: 4.0.0
|
||||
|
||||
/import-meta-resolve/2.1.0:
|
||||
resolution: {integrity: sha512-yG9pxkWJVTy4cmRsNWE3ztFdtFuYIV8G4N+cbCkO8b+qngkLyIUhxQFuZ0qJm67+0nUOxjMPT7nfksPKza1v2g==}
|
||||
/import-meta-resolve/2.2.0:
|
||||
resolution: {integrity: sha512-CpPOtiCHxP9HdtDM5F45tNiAe66Cqlv3f5uHoJjt+KlaLrUh9/Wz9vepADZ78SlqEo62aDWZtj9ydMGXV+CPnw==}
|
||||
dev: true
|
||||
|
||||
/indefinite-article/0.0.2:
|
||||
@ -1955,6 +2103,11 @@ packages:
|
||||
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/is-fullwidth-code-point/3.0.0:
|
||||
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
|
||||
engines: {node: '>=8'}
|
||||
dev: false
|
||||
|
||||
/is-glob/4.0.3:
|
||||
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@ -2028,6 +2181,10 @@ packages:
|
||||
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
|
||||
dev: true
|
||||
|
||||
/json-stringify-pretty-compact/3.0.0:
|
||||
resolution: {integrity: sha512-Rc2suX5meI0S3bfdZuA7JMFBGkJ875ApfVyq2WHELjBiiG22My/l7/8zPpH/CfFVQHuVLd8NLR0nv6vi0BYYKA==}
|
||||
dev: false
|
||||
|
||||
/kleur/4.1.4:
|
||||
resolution: {integrity: sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==}
|
||||
engines: {node: '>=6'}
|
||||
@ -2076,6 +2233,13 @@ packages:
|
||||
get-func-name: 2.0.0
|
||||
dev: false
|
||||
|
||||
/lru-cache/6.0.0:
|
||||
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
yallist: 4.0.0
|
||||
dev: false
|
||||
|
||||
/lz-string/1.4.4:
|
||||
resolution: {integrity: sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=}
|
||||
hasBin: true
|
||||
@ -2534,7 +2698,7 @@ packages:
|
||||
picocolors: 1.0.0
|
||||
source-map-js: 1.0.2
|
||||
|
||||
/prettier-plugin-svelte/2.7.0_prettier@2.6.2+svelte@3.49.0:
|
||||
/prettier-plugin-svelte/2.7.0_3cyj5wbackxvw67rnaarcmbw7y:
|
||||
resolution: {integrity: sha512-fQhhZICprZot2IqEyoiUYLTRdumULGRvw0o4dzl5jt0jfzVWdGqeYW27QTWAeXhoupEZJULmNoH3ueJwUWFLIA==}
|
||||
peerDependencies:
|
||||
prettier: ^1.16.4 || ^2.0.0
|
||||
@ -2657,6 +2821,11 @@ packages:
|
||||
engines: {node: '>=6'}
|
||||
dev: false
|
||||
|
||||
/require-directory/2.1.1:
|
||||
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/resize-observer-polyfill/1.5.1:
|
||||
resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
|
||||
dev: false
|
||||
@ -2692,6 +2861,10 @@ packages:
|
||||
dependencies:
|
||||
glob: 7.2.0
|
||||
|
||||
/robust-predicates/3.0.1:
|
||||
resolution: {integrity: sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==}
|
||||
dev: false
|
||||
|
||||
/rollup/2.66.1:
|
||||
resolution: {integrity: sha512-crSgLhSkLMnKr4s9iZ/1qJCplgAgrRY+igWv8KhG/AjKOJ0YX/WpmANyn8oxrw+zenF3BXWDLa7Xl/QZISH+7w==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
@ -2744,6 +2917,14 @@ packages:
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/semver/7.3.8:
|
||||
resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
lru-cache: 6.0.0
|
||||
dev: false
|
||||
|
||||
/shebang-command/1.2.0:
|
||||
resolution: {integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@ -2843,6 +3024,15 @@ packages:
|
||||
tslib: 2.4.0
|
||||
dev: false
|
||||
|
||||
/string-width/4.2.3:
|
||||
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
emoji-regex: 8.0.0
|
||||
is-fullwidth-code-point: 3.0.0
|
||||
strip-ansi: 6.0.1
|
||||
dev: false
|
||||
|
||||
/string.prototype.padend/3.1.3:
|
||||
resolution: {integrity: sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@ -2872,6 +3062,13 @@ packages:
|
||||
safe-buffer: 5.1.2
|
||||
dev: false
|
||||
|
||||
/strip-ansi/6.0.1:
|
||||
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
ansi-regex: 5.0.1
|
||||
dev: false
|
||||
|
||||
/strip-bom/3.0.0:
|
||||
resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=}
|
||||
engines: {node: '>=4'}
|
||||
@ -2907,7 +3104,7 @@ packages:
|
||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
/svelte-check/2.4.1_736abba5ed1eb6f8ecf70b1d49ead14b:
|
||||
/svelte-check/2.4.1_onvlxjpnd23pr3hxbmout2wrjm:
|
||||
resolution: {integrity: sha512-xhf3ShP5rnRwBokrgTBJ/0cO9QIc1DAVu1NWNRTfCDsDBNjGmkS3HgitgUadRuoMKj1+irZR/yHJ+Uqobnkbrw==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
@ -2921,7 +3118,7 @@ packages:
|
||||
sade: 1.8.1
|
||||
source-map: 0.7.3
|
||||
svelte: 3.49.0
|
||||
svelte-preprocess: 4.10.2_d50790bb30dd88cc44babe7efa52bace
|
||||
svelte-preprocess: 4.10.2_2udzbozq3wemyrf2xz7puuv2zy
|
||||
typescript: 4.5.5
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
@ -2936,7 +3133,7 @@ packages:
|
||||
- sugarss
|
||||
dev: true
|
||||
|
||||
/svelte-check/2.8.0_postcss@8.4.6+svelte@3.49.0:
|
||||
/svelte-check/2.8.0_mgmdnb6x5rpawk37gozc2sbtta:
|
||||
resolution: {integrity: sha512-HRL66BxffMAZusqe5I5k26mRWQ+BobGd9Rxm3onh7ZVu0nTk8YTKJ9vu3LVPjUGLU9IX7zS+jmwPVhJYdXJ8vg==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
@ -2949,7 +3146,7 @@ packages:
|
||||
picocolors: 1.0.0
|
||||
sade: 1.8.1
|
||||
svelte: 3.49.0
|
||||
svelte-preprocess: 4.10.6_62d50a01257de5eec5be08cad9d3ed66
|
||||
svelte-preprocess: 4.10.6_mlkquajfpxs65rn6bdfntu7nmy
|
||||
typescript: 4.7.4
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
@ -2987,7 +3184,7 @@ packages:
|
||||
tiny-glob: 0.2.9
|
||||
dev: false
|
||||
|
||||
/svelte-preprocess/4.10.2_d50790bb30dd88cc44babe7efa52bace:
|
||||
/svelte-preprocess/4.10.2_2udzbozq3wemyrf2xz7puuv2zy:
|
||||
resolution: {integrity: sha512-aPpkCreSo8EL/y8kJSa1trhiX0oyAtTjlNNM7BNjRAsMJ8Yy2LtqHt0zyd4pQPXt+D4PzbO3qTjjio3kwOxDlA==}
|
||||
engines: {node: '>= 9.11.2'}
|
||||
requiresBuild: true
|
||||
@ -3040,7 +3237,7 @@ packages:
|
||||
typescript: 4.5.5
|
||||
dev: true
|
||||
|
||||
/svelte-preprocess/4.10.6_62d50a01257de5eec5be08cad9d3ed66:
|
||||
/svelte-preprocess/4.10.6_mlkquajfpxs65rn6bdfntu7nmy:
|
||||
resolution: {integrity: sha512-I2SV1w/AveMvgIQlUF/ZOO3PYVnhxfcpNyGt8pxpUVhPfyfL/CZBkkw/KPfuFix5FJ9TnnNYMhACK3DtSaYVVQ==}
|
||||
engines: {node: '>= 9.11.2'}
|
||||
requiresBuild: true
|
||||
@ -3096,6 +3293,18 @@ packages:
|
||||
resolution: {integrity: sha512-VTWHOdwDyWbndGZnI0PQJY9DO7hgQlNubtCcCL6Wlypv5dU4vEsc4A1sX9TWMuvebEe4332SgsQQHzOdZ+guhQ==}
|
||||
dev: false
|
||||
|
||||
/svelte-vega/1.2.0_36sthfwhgi34qytpvkzggbhnle:
|
||||
resolution: {integrity: sha512-MsDdO+l7o/d9d4mVkh8MBDhqZvJ45lpuprBaTj0V/ZilIG902QERHFQlam3ZFcR9C9OIKSpmPqINssWNPkDdcA==}
|
||||
peerDependencies:
|
||||
vega: '*'
|
||||
vega-lite: '*'
|
||||
dependencies:
|
||||
fast-deep-equal: 3.1.3
|
||||
vega: 5.22.1
|
||||
vega-embed: 6.21.0_36sthfwhgi34qytpvkzggbhnle
|
||||
vega-lite: 5.6.0_vega@5.22.1
|
||||
dev: false
|
||||
|
||||
/svelte/3.49.0:
|
||||
resolution: {integrity: sha512-+lmjic1pApJWDfPCpUUTc1m8azDqYCG1JN9YEngrx/hUyIcFJo6VZhj0A1Ai0wqoHcEIuQy+e9tk+4uDgdtsFA==}
|
||||
engines: {node: '>= 8'}
|
||||
@ -3229,6 +3438,13 @@ packages:
|
||||
dependencies:
|
||||
is-number: 7.0.0
|
||||
|
||||
/topojson-client/3.1.0:
|
||||
resolution: {integrity: sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
commander: 2.20.3
|
||||
dev: false
|
||||
|
||||
/totalist/3.0.0:
|
||||
resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==}
|
||||
engines: {node: '>=6'}
|
||||
@ -3292,6 +3508,392 @@ packages:
|
||||
spdx-expression-parse: 3.0.1
|
||||
dev: false
|
||||
|
||||
/vega-canvas/1.2.6:
|
||||
resolution: {integrity: sha512-rgeYUpslYn/amIfnuv3Sw6n4BGns94OjjZNtUc9IDji6b+K8LGS/kW+Lvay8JX/oFqtulBp8RLcHN6QjqPLA9Q==}
|
||||
dev: false
|
||||
|
||||
/vega-crossfilter/4.1.0:
|
||||
resolution: {integrity: sha512-aiOJcvVpiEDIu5uNc4Kf1hakkkPaVOO5fw5T4RSFAw6GEDbdqcB6eZ1xePcsLVic1hxYD5SGiUPdiiIs0SMh2g==}
|
||||
dependencies:
|
||||
d3-array: 3.1.1
|
||||
vega-dataflow: 5.7.4
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-dataflow/5.7.4:
|
||||
resolution: {integrity: sha512-JGHTpUo8XGETH3b1V892we6hdjzCWB977ybycIu8DPqRoyrZuj6t1fCVImazfMgQD1LAfJlQybWP+alwKDpKig==}
|
||||
dependencies:
|
||||
vega-format: 1.1.0
|
||||
vega-loader: 4.5.0
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-embed/6.21.0_36sthfwhgi34qytpvkzggbhnle:
|
||||
resolution: {integrity: sha512-Tzo9VAfgNRb6XpxSFd7uphSeK2w5OxDY2wDtmpsQ+rQlPSEEI9TE6Jsb2nHRLD5J4FrmXKLrTcORqidsNQSXEg==}
|
||||
peerDependencies:
|
||||
vega: ^5.21.0
|
||||
vega-lite: '*'
|
||||
dependencies:
|
||||
fast-json-patch: 3.1.1
|
||||
json-stringify-pretty-compact: 3.0.0
|
||||
semver: 7.3.8
|
||||
tslib: 2.4.0
|
||||
vega: 5.22.1
|
||||
vega-interpreter: 1.0.4
|
||||
vega-lite: 5.6.0_vega@5.22.1
|
||||
vega-schema-url-parser: 2.2.0
|
||||
vega-themes: 2.12.0_36sthfwhgi34qytpvkzggbhnle
|
||||
vega-tooltip: 0.28.0
|
||||
dev: false
|
||||
bundledDependencies:
|
||||
- yallist
|
||||
|
||||
/vega-encode/4.9.0:
|
||||
resolution: {integrity: sha512-etv2BHuCn9bzEc0cxyA2TnbtcAFQGVFmsaqmB4sgBCaqTSEfXMoX68LK3yxBrsdm5LU+y3otJVoewi3qWYCx2g==}
|
||||
dependencies:
|
||||
d3-array: 3.1.1
|
||||
d3-interpolate: 3.0.1
|
||||
vega-dataflow: 5.7.4
|
||||
vega-scale: 7.2.0
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-event-selector/3.0.0:
|
||||
resolution: {integrity: sha512-Gls93/+7tEJGE3kUuUnxrBIxtvaNeF01VIFB2Q2Of2hBIBvtHX74jcAdDtkh5UhhoYGD8Q1J30P5cqEBEwtPoQ==}
|
||||
dev: false
|
||||
|
||||
/vega-expression/5.0.0:
|
||||
resolution: {integrity: sha512-y5+c2frq0tGwJ7vYXzZcfVcIRF/QGfhf2e+bV1Z0iQs+M2lI1II1GPDdmOcMKimpoCVp/D61KUJDIGE1DSmk2w==}
|
||||
dependencies:
|
||||
'@types/estree': 0.0.50
|
||||
vega-util: 1.17.0
|
||||
dev: false
|
||||
|
||||
/vega-force/4.1.0:
|
||||
resolution: {integrity: sha512-Sssf8iH48vYlz+E7/RpU+SUaJbuLoIL87U4tG2Av4gf/hRiImU49x2TI3EuhFWg1zpaCFxlz0CAaX++Oh/gjdw==}
|
||||
dependencies:
|
||||
d3-force: 3.0.0
|
||||
vega-dataflow: 5.7.4
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-format/1.1.0:
|
||||
resolution: {integrity: sha512-6mgpeWw8yGdG0Zdi8aVkx5oUrpJGOpNxqazC2858RSDPvChM/jDFlgRMTYw52qk7cxU0L08ARp4BwmXaI75j0w==}
|
||||
dependencies:
|
||||
d3-array: 3.1.1
|
||||
d3-format: 3.1.0
|
||||
d3-time-format: 4.1.0
|
||||
vega-time: 2.1.0
|
||||
vega-util: 1.17.0
|
||||
dev: false
|
||||
|
||||
/vega-functions/5.13.0:
|
||||
resolution: {integrity: sha512-Mf53zNyx+c9fFqagEI0T8zc9nMlx0zozOngr8oOpG1tZDKOgwOnUgN99zQKbLHjyv+UzWrq3LYTnSLyVe0ZmhQ==}
|
||||
dependencies:
|
||||
d3-array: 3.1.1
|
||||
d3-color: 3.0.1
|
||||
d3-geo: 3.0.1
|
||||
vega-dataflow: 5.7.4
|
||||
vega-expression: 5.0.0
|
||||
vega-scale: 7.2.0
|
||||
vega-scenegraph: 4.10.1
|
||||
vega-selections: 5.4.0
|
||||
vega-statistics: 1.8.0
|
||||
vega-time: 2.1.0
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-geo/4.4.0:
|
||||
resolution: {integrity: sha512-3YX41y+J5pu0PMjvBCASg0/lgvu9+QXWJZ+vl6FFKa8AlsIopQ67ZL7ObwqjZcoZMolJ4q0rc+ZO8aj1pXCYcw==}
|
||||
dependencies:
|
||||
d3-array: 3.1.1
|
||||
d3-color: 3.0.1
|
||||
d3-geo: 3.0.1
|
||||
vega-canvas: 1.2.6
|
||||
vega-dataflow: 5.7.4
|
||||
vega-projection: 1.5.0
|
||||
vega-statistics: 1.8.0
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-hierarchy/4.1.0:
|
||||
resolution: {integrity: sha512-DWBK39IEt4FiQru12twzKSFUvFFZ7KtlH9+lAaqrJnKuIZFCyQ1XOUfKScfbKIlk4KS+DuCTNLI/pxC/f7Sk9Q==}
|
||||
dependencies:
|
||||
d3-hierarchy: 3.1.2
|
||||
vega-dataflow: 5.7.4
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-interpreter/1.0.4:
|
||||
resolution: {integrity: sha512-6tpYIa/pJz0cZo5fSxDSkZkAA51pID2LjOtQkOQvbzn+sJiCaWKPFhur8MBqbcmYZ9bnap1OYNwlrvpd2qBLvg==}
|
||||
dev: false
|
||||
|
||||
/vega-label/1.2.0:
|
||||
resolution: {integrity: sha512-1prOqkCAfXaUvMqavbGI0nbYGqV8UQR9qvuVwrPJ6Yxm3GIUIOA/JRqNY8eZR8USwMP/kzsqlfVEixj9+Y75VQ==}
|
||||
dependencies:
|
||||
vega-canvas: 1.2.6
|
||||
vega-dataflow: 5.7.4
|
||||
vega-scenegraph: 4.10.1
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-lite/5.6.0_vega@5.22.1:
|
||||
resolution: {integrity: sha512-aTjQk//SzL9ctHY4ItA8yZSGflHMWPJmCXEs8LeRlixuOaAbamZmeL8xNMbQpS/vAZQeFAqjcJ32Fuztz/oGww==}
|
||||
engines: {node: '>=12'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
vega: ^5.22.0
|
||||
dependencies:
|
||||
'@types/clone': 2.1.1
|
||||
clone: 2.1.2
|
||||
fast-deep-equal: 3.1.3
|
||||
fast-json-stable-stringify: 2.1.0
|
||||
json-stringify-pretty-compact: 3.0.0
|
||||
tslib: 2.4.0
|
||||
vega: 5.22.1
|
||||
vega-event-selector: 3.0.0
|
||||
vega-expression: 5.0.0
|
||||
vega-util: 1.17.0
|
||||
yargs: 17.6.2
|
||||
dev: false
|
||||
|
||||
/vega-loader/4.5.0:
|
||||
resolution: {integrity: sha512-EkAyzbx0pCYxH3v3wghGVCaKINWxHfgbQ2pYDiYv0yo8e04S8Mv/IlRGTt6BAe7cLhrk1WZ4zh20QOppnGG05w==}
|
||||
dependencies:
|
||||
d3-dsv: 3.0.1
|
||||
node-fetch: 2.6.7
|
||||
topojson-client: 3.1.0
|
||||
vega-format: 1.1.0
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-parser/6.1.4:
|
||||
resolution: {integrity: sha512-tORdpWXiH/kkXcpNdbSVEvtaxBuuDtgYp9rBunVW9oLsjFvFXbSWlM1wvJ9ZFSaTfx6CqyTyGMiJemmr1QnTjQ==}
|
||||
dependencies:
|
||||
vega-dataflow: 5.7.4
|
||||
vega-event-selector: 3.0.0
|
||||
vega-functions: 5.13.0
|
||||
vega-scale: 7.2.0
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-projection/1.5.0:
|
||||
resolution: {integrity: sha512-aob7qojh555x3hQWZ/tr8cIJNSWQbm6EoWTJaheZgFOY2x3cDa4Qrg3RJbGw6KwVj/IQk2p40paRzixKZ2kr+A==}
|
||||
dependencies:
|
||||
d3-geo: 3.0.1
|
||||
d3-geo-projection: 4.0.0
|
||||
dev: false
|
||||
|
||||
/vega-regression/1.1.0:
|
||||
resolution: {integrity: sha512-09K0RemY6cdaXBAyakDUNFfEkRcLkGjkDJyWQPAUqGK59hV2J+G3i4uxkZp18Vu0t8oqU7CgzwWim1s5uEpOcA==}
|
||||
dependencies:
|
||||
d3-array: 3.1.1
|
||||
vega-dataflow: 5.7.4
|
||||
vega-statistics: 1.8.0
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-runtime/6.1.3:
|
||||
resolution: {integrity: sha512-gE+sO2IfxMUpV0RkFeQVnHdmPy3K7LjHakISZgUGsDI/ZFs9y+HhBf8KTGSL5pcZPtQsZh3GBQ0UonqL1mp9PA==}
|
||||
dependencies:
|
||||
vega-dataflow: 5.7.4
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-scale/7.2.0:
|
||||
resolution: {integrity: sha512-QYltO/otrZHLrCGGf06Y99XtPtqWXITr6rw7rO9oL+l3d9o5RFl9sjHrVxiM7v+vGoZVWbBd5IPbFhPsXZ6+TA==}
|
||||
dependencies:
|
||||
d3-array: 3.1.1
|
||||
d3-interpolate: 3.0.1
|
||||
d3-scale: 4.0.2
|
||||
vega-time: 2.1.0
|
||||
vega-util: 1.17.0
|
||||
dev: false
|
||||
|
||||
/vega-scenegraph/4.10.1:
|
||||
resolution: {integrity: sha512-takIpkmNxYHhJYALOYzhTin3EDzbys6U4g+l1yJZVlXG9YTdiCMuEVAdtaQOCqF9/7qytD6pCrMxJY2HaoN0qQ==}
|
||||
dependencies:
|
||||
d3-path: 3.0.1
|
||||
d3-shape: 3.1.0
|
||||
vega-canvas: 1.2.6
|
||||
vega-loader: 4.5.0
|
||||
vega-scale: 7.2.0
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-schema-url-parser/2.2.0:
|
||||
resolution: {integrity: sha512-yAtdBnfYOhECv9YC70H2gEiqfIbVkq09aaE4y/9V/ovEFmH9gPKaEgzIZqgT7PSPQjKhsNkb6jk6XvSoboxOBw==}
|
||||
dev: false
|
||||
|
||||
/vega-selections/5.4.0:
|
||||
resolution: {integrity: sha512-Un3JdLDPjIpF9Dh4sw6m1c/QAcfam6m1YXHJ9vJxE/GdJ+sOrPxc7bcEU8VhOmTUN7IQUn4/1ry4JqqOVMbEhw==}
|
||||
dependencies:
|
||||
d3-array: 3.1.1
|
||||
vega-expression: 5.0.0
|
||||
vega-util: 1.17.0
|
||||
dev: false
|
||||
|
||||
/vega-statistics/1.8.0:
|
||||
resolution: {integrity: sha512-dl+LCRS6qS4jWDme/NEdPVt5r649uB4IK6Kyr2/czmGA5JqjuFmtQ9lHQOnRu8945XLkqLf+JIQQo7vnw+nslA==}
|
||||
dependencies:
|
||||
d3-array: 3.1.1
|
||||
dev: false
|
||||
|
||||
/vega-themes/2.12.0_36sthfwhgi34qytpvkzggbhnle:
|
||||
resolution: {integrity: sha512-gHNYCzDgexSQDmGzQsxH57OYgFVbAOmvhIYN3MPOvVucyI+zhbUawBVIVNzG9ftucRp0MaaMVXi6ctC5HLnBsg==}
|
||||
peerDependencies:
|
||||
vega: '*'
|
||||
vega-lite: '*'
|
||||
dependencies:
|
||||
vega: 5.22.1
|
||||
vega-lite: 5.6.0_vega@5.22.1
|
||||
dev: false
|
||||
|
||||
/vega-time/2.1.0:
|
||||
resolution: {integrity: sha512-Q9/l3S6Br1RPX5HZvyLD/cQ4K6K8DtpR09/1y7D66gxNorg2+HGzYZINH9nUvN3mxoXcBWg4cCUh3+JvmkDaEg==}
|
||||
dependencies:
|
||||
d3-array: 3.1.1
|
||||
d3-time: 3.0.0
|
||||
vega-util: 1.17.0
|
||||
dev: false
|
||||
|
||||
/vega-tooltip/0.28.0:
|
||||
resolution: {integrity: sha512-DbK0V5zzk+p9cphZZXV91ZGeKq0zr6JIS0VndUoGTisldzw4tRgmpGQcTfMjew53o7/voeTM2ELTnJAJRzX4tg==}
|
||||
dependencies:
|
||||
vega-util: 1.17.0
|
||||
dev: false
|
||||
|
||||
/vega-transforms/4.10.0:
|
||||
resolution: {integrity: sha512-Yk6ByzVq5F2niFfPlSsrU5wi+NZhsF7IBpJCcTfms4U7eoyNepUXagdFEJ3VWBD/Lit6GorLXFgO17NYcyS5gg==}
|
||||
dependencies:
|
||||
d3-array: 3.1.1
|
||||
vega-dataflow: 5.7.4
|
||||
vega-statistics: 1.8.0
|
||||
vega-time: 2.1.0
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-typings/0.22.3:
|
||||
resolution: {integrity: sha512-PREcya3nXT9Tk7xU0IhEpOLVTlqizNtKXV55NhI6ApBjJtqVYbJL7IBh2ckKxGBy3YeUQ37BQZl56UqqiYVWBw==}
|
||||
dependencies:
|
||||
vega-event-selector: 3.0.0
|
||||
vega-expression: 5.0.0
|
||||
vega-util: 1.17.0
|
||||
dev: false
|
||||
|
||||
/vega-util/1.17.0:
|
||||
resolution: {integrity: sha512-HTaydZd9De3yf+8jH66zL4dXJ1d1p5OIFyoBzFiOli4IJbwkL1jrefCKz6AHDm1kYBzDJ0X4bN+CzZSCTvNk1w==}
|
||||
dev: false
|
||||
|
||||
/vega-view-transforms/4.5.8:
|
||||
resolution: {integrity: sha512-966m7zbzvItBL8rwmF2nKG14rBp7q+3sLCKWeMSUrxoG+M15Smg5gWEGgwTG3A/RwzrZ7rDX5M1sRaAngRH25g==}
|
||||
dependencies:
|
||||
vega-dataflow: 5.7.4
|
||||
vega-scenegraph: 4.10.1
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-view/5.11.0:
|
||||
resolution: {integrity: sha512-MI9NTRFmtFX6ADk6KOHhi8bhHjC9pPm42Bj2+74c6l1d3NQZf9Jv7lkiGqKohdkQDNH9LPwz/6slhKwPU9JdkQ==}
|
||||
dependencies:
|
||||
d3-array: 3.1.1
|
||||
d3-timer: 3.0.1
|
||||
vega-dataflow: 5.7.4
|
||||
vega-format: 1.1.0
|
||||
vega-functions: 5.13.0
|
||||
vega-runtime: 6.1.3
|
||||
vega-scenegraph: 4.10.1
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-voronoi/4.2.0:
|
||||
resolution: {integrity: sha512-1iuNAVZgUHRlBpdq4gSga3KlQmrgFfwy+KpyDgPLQ8HbLkhcVeT7RDh2L6naluqD7Op0xVLms3clR920WsYryQ==}
|
||||
dependencies:
|
||||
d3-delaunay: 6.0.2
|
||||
vega-dataflow: 5.7.4
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega-wordcloud/4.1.3:
|
||||
resolution: {integrity: sha512-is4zYn9FMAyp9T4SAcz2P/U/wqc0Lx3P5YtpWKCbOH02a05vHjUQrQ2TTPOuvmMfAEDCSKvbMSQIJMOE018lJA==}
|
||||
dependencies:
|
||||
vega-canvas: 1.2.6
|
||||
vega-dataflow: 5.7.4
|
||||
vega-scale: 7.2.0
|
||||
vega-statistics: 1.8.0
|
||||
vega-util: 1.17.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vega/5.22.1:
|
||||
resolution: {integrity: sha512-KJBI7OWSzpfCPbmWl3GQCqBqbf2TIdpWS0mzO6MmWbvdMhWHf74P9IVnx1B1mhg0ZTqWFualx9ZYhWzMMwudaQ==}
|
||||
dependencies:
|
||||
vega-crossfilter: 4.1.0
|
||||
vega-dataflow: 5.7.4
|
||||
vega-encode: 4.9.0
|
||||
vega-event-selector: 3.0.0
|
||||
vega-expression: 5.0.0
|
||||
vega-force: 4.1.0
|
||||
vega-format: 1.1.0
|
||||
vega-functions: 5.13.0
|
||||
vega-geo: 4.4.0
|
||||
vega-hierarchy: 4.1.0
|
||||
vega-label: 1.2.0
|
||||
vega-loader: 4.5.0
|
||||
vega-parser: 6.1.4
|
||||
vega-projection: 1.5.0
|
||||
vega-regression: 1.1.0
|
||||
vega-runtime: 6.1.3
|
||||
vega-scale: 7.2.0
|
||||
vega-scenegraph: 4.10.1
|
||||
vega-statistics: 1.8.0
|
||||
vega-time: 2.1.0
|
||||
vega-transforms: 4.10.0
|
||||
vega-typings: 0.22.3
|
||||
vega-util: 1.17.0
|
||||
vega-view: 5.11.0
|
||||
vega-view-transforms: 4.5.8
|
||||
vega-voronoi: 4.2.0
|
||||
vega-wordcloud: 4.1.3
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/vite/2.9.5:
|
||||
resolution: {integrity: sha512-dvMN64X2YEQgSXF1lYabKXw3BbN6e+BL67+P3Vy4MacnY+UzT1AfkHiioFSi9+uiDUiaDy7Ax/LQqivk6orilg==}
|
||||
engines: {node: '>=12.2.0'}
|
||||
@ -3426,6 +4028,15 @@ packages:
|
||||
tslib: 2.4.0
|
||||
dev: false
|
||||
|
||||
/wrap-ansi/7.0.0:
|
||||
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
ansi-styles: 4.3.0
|
||||
string-width: 4.2.3
|
||||
strip-ansi: 6.0.1
|
||||
dev: false
|
||||
|
||||
/wrappy/1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
|
||||
@ -3433,6 +4044,33 @@ packages:
|
||||
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
|
||||
engines: {node: '>=0.4'}
|
||||
|
||||
/y18n/5.0.8:
|
||||
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
|
||||
engines: {node: '>=10'}
|
||||
dev: false
|
||||
|
||||
/yallist/4.0.0:
|
||||
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
|
||||
dev: false
|
||||
|
||||
/yaml/1.10.2:
|
||||
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
|
||||
engines: {node: '>= 6'}
|
||||
|
||||
/yargs-parser/21.1.1:
|
||||
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
|
||||
engines: {node: '>=12'}
|
||||
dev: false
|
||||
|
||||
/yargs/17.6.2:
|
||||
resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
cliui: 8.0.1
|
||||
escalade: 3.1.1
|
||||
get-caller-file: 2.0.5
|
||||
require-directory: 2.1.1
|
||||
string-width: 4.2.3
|
||||
y18n: 5.0.8
|
||||
yargs-parser: 21.1.1
|
||||
dev: false
|
||||
|
Loading…
x
Reference in New Issue
Block a user