diff --git a/README.md b/README.md
index 499721547..65e6e53cb 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,7 @@ consists of [JupyterLab](https://github.com/jupyterlab/jupyterlab) _mimerender e
| [mathjax3-extension](packages/mathjax3-extension) | N/A | N/A | [![Version](https://img.shields.io/npm/v/@jupyterlab/mathjax3-extension.svg)](https://www.npmjs.com/package/@jupyterlab/mathjax3-extension) [![Downloads](https://img.shields.io/npm/dm/@jupyterlab/mathjax3-extension.svg)](https://www.npmjs.com/package/@jupyterlab/mathjax3-extension) |
| [vega2-extension](packages/vega2-extension) | `application/vnd.vega.v2+json`, `application/vnd.vegalite.v1+json` | `.vg`, `.vl`, `.vg.json`, `.vl.json`, `.vega`, `.vegalite` | [![Version](https://img.shields.io/npm/v/@jupyterlab/vega2-extension.svg)](https://www.npmjs.com/package/@jupyterlab/vega2-extension) [![Downloads](https://img.shields.io/npm/dm/@jupyterlab/vega2-extension.svg)](https://www.npmjs.com/package/@jupyterlab/vega2-extension) |
| [vega3-extension](packages/vega3-extension) | `application/vnd.vega.v3+json`, `application/vnd.vegalite.v2+json` | `.vg`, `.vl`, `.vg.json`, `.vl.json`, `.vega`, `.vegalite` | [![Version](https://img.shields.io/npm/v/@jupyterlab/vega3-extension.svg)](https://www.npmjs.com/package/@jupyterlab/vega3-extension) [![Downloads](https://img.shields.io/npm/dm/@jupyterlab/vega3-extension.svg)](https://www.npmjs.com/package/@jupyterlab/vega3-extension) |
+| [nteract-data-explorer-extension](packages/nteract-data-explorer-extension) | `application/vnd.dataresource+json` | `.tdr.json`, `.tdrjson` | |
## Looking for plotly-extension?
@@ -29,6 +30,7 @@ consists of [JupyterLab](https://github.com/jupyterlab/jupyterlab) _mimerender e
* mathjax3-extension: `jupyter labextension install @jupyterlab/mathjax3-extension`
* vega2-extension: `jupyter labextension install @jupyterlab/vega2-extension`
* vega3-extension: `jupyter labextension install @jupyterlab/vega3-extension`
+* nteract-data-explorer-extension: `jupyter labextension install @jupyterlab/nteract-data-explorer-extension`
## Contributing
diff --git a/notebooks/nteract-data-explorer-extension.ipynb b/notebooks/nteract-data-explorer-extension.ipynb
new file mode 100644
index 000000000..4af97b2bb
--- /dev/null
+++ b/notebooks/nteract-data-explorer-extension.ipynb
@@ -0,0 +1,1329 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from dx import load_sample, dx as display\n",
+ "df = load_sample()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.dataresource+json": {
+ "data": [
+ {
+ "Country": "Switzerland",
+ "Dystopia Residual": 2.51738,
+ "Economy (GDP per Capita)": 1.39651,
+ "Family": 1.34951,
+ "Freedom": 0.66557,
+ "Generosity": 0.29678,
+ "Happiness Rank": 1,
+ "Happiness Score": 7.587,
+ "Health (Life Expectancy)": 0.94143,
+ "Region": "Western Europe",
+ "Standard Error": 0.03411,
+ "Trust (Government Corruption)": 0.41978,
+ "index": 0
+ },
+ {
+ "Country": "Iceland",
+ "Dystopia Residual": 2.70201,
+ "Economy (GDP per Capita)": 1.30232,
+ "Family": 1.40223,
+ "Freedom": 0.62877,
+ "Generosity": 0.4363,
+ "Happiness Rank": 2,
+ "Happiness Score": 7.561,
+ "Health (Life Expectancy)": 0.94784,
+ "Region": "Western Europe",
+ "Standard Error": 0.04884,
+ "Trust (Government Corruption)": 0.14145,
+ "index": 1
+ },
+ {
+ "Country": "Denmark",
+ "Dystopia Residual": 2.49204,
+ "Economy (GDP per Capita)": 1.32548,
+ "Family": 1.36058,
+ "Freedom": 0.64938,
+ "Generosity": 0.34139,
+ "Happiness Rank": 3,
+ "Happiness Score": 7.527,
+ "Health (Life Expectancy)": 0.87464,
+ "Region": "Western Europe",
+ "Standard Error": 0.03328,
+ "Trust (Government Corruption)": 0.48357,
+ "index": 2
+ },
+ {
+ "Country": "Norway",
+ "Dystopia Residual": 2.46531,
+ "Economy (GDP per Capita)": 1.459,
+ "Family": 1.33095,
+ "Freedom": 0.66973,
+ "Generosity": 0.34699,
+ "Happiness Rank": 4,
+ "Happiness Score": 7.522,
+ "Health (Life Expectancy)": 0.88521,
+ "Region": "Western Europe",
+ "Standard Error": 0.0388,
+ "Trust (Government Corruption)": 0.36503,
+ "index": 3
+ },
+ {
+ "Country": "Canada",
+ "Dystopia Residual": 2.45176,
+ "Economy (GDP per Capita)": 1.32629,
+ "Family": 1.32261,
+ "Freedom": 0.63297,
+ "Generosity": 0.45811,
+ "Happiness Rank": 5,
+ "Happiness Score": 7.427,
+ "Health (Life Expectancy)": 0.90563,
+ "Region": "North America",
+ "Standard Error": 0.03553,
+ "Trust (Government Corruption)": 0.32957,
+ "index": 4
+ },
+ {
+ "Country": "Finland",
+ "Dystopia Residual": 2.61955,
+ "Economy (GDP per Capita)": 1.29025,
+ "Family": 1.31826,
+ "Freedom": 0.64169,
+ "Generosity": 0.23351,
+ "Happiness Rank": 6,
+ "Happiness Score": 7.406,
+ "Health (Life Expectancy)": 0.88911,
+ "Region": "Western Europe",
+ "Standard Error": 0.0314,
+ "Trust (Government Corruption)": 0.41372,
+ "index": 5
+ },
+ {
+ "Country": "Netherlands",
+ "Dystopia Residual": 2.4657,
+ "Economy (GDP per Capita)": 1.32944,
+ "Family": 1.28017,
+ "Freedom": 0.61576,
+ "Generosity": 0.4761,
+ "Happiness Rank": 7,
+ "Happiness Score": 7.378,
+ "Health (Life Expectancy)": 0.89284,
+ "Region": "Western Europe",
+ "Standard Error": 0.02799,
+ "Trust (Government Corruption)": 0.31814,
+ "index": 6
+ },
+ {
+ "Country": "Sweden",
+ "Dystopia Residual": 2.37119,
+ "Economy (GDP per Capita)": 1.33171,
+ "Family": 1.28907,
+ "Freedom": 0.6598,
+ "Generosity": 0.36262,
+ "Happiness Rank": 8,
+ "Happiness Score": 7.364,
+ "Health (Life Expectancy)": 0.91087,
+ "Region": "Western Europe",
+ "Standard Error": 0.03157,
+ "Trust (Government Corruption)": 0.43844,
+ "index": 7
+ },
+ {
+ "Country": "New Zealand",
+ "Dystopia Residual": 2.26425,
+ "Economy (GDP per Capita)": 1.25018,
+ "Family": 1.31967,
+ "Freedom": 0.63938,
+ "Generosity": 0.47501,
+ "Happiness Rank": 9,
+ "Happiness Score": 7.286,
+ "Health (Life Expectancy)": 0.90837,
+ "Region": "Australia and New Zealand",
+ "Standard Error": 0.03371,
+ "Trust (Government Corruption)": 0.42922,
+ "index": 8
+ },
+ {
+ "Country": "Australia",
+ "Dystopia Residual": 2.26646,
+ "Economy (GDP per Capita)": 1.33358,
+ "Family": 1.30923,
+ "Freedom": 0.65124,
+ "Generosity": 0.43562,
+ "Happiness Rank": 10,
+ "Happiness Score": 7.284,
+ "Health (Life Expectancy)": 0.93156,
+ "Region": "Australia and New Zealand",
+ "Standard Error": 0.04083,
+ "Trust (Government Corruption)": 0.35637,
+ "index": 9
+ },
+ {
+ "Country": "Israel",
+ "Dystopia Residual": 3.08854,
+ "Economy (GDP per Capita)": 1.22857,
+ "Family": 1.22393,
+ "Freedom": 0.41319,
+ "Generosity": 0.33172,
+ "Happiness Rank": 11,
+ "Happiness Score": 7.278,
+ "Health (Life Expectancy)": 0.91387,
+ "Region": "Middle East and Northern Africa",
+ "Standard Error": 0.0347,
+ "Trust (Government Corruption)": 0.07785,
+ "index": 10
+ },
+ {
+ "Country": "Costa Rica",
+ "Dystopia Residual": 3.17728,
+ "Economy (GDP per Capita)": 0.95578,
+ "Family": 1.23788,
+ "Freedom": 0.63376,
+ "Generosity": 0.25497,
+ "Happiness Rank": 12,
+ "Happiness Score": 7.226,
+ "Health (Life Expectancy)": 0.86027,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.04454,
+ "Trust (Government Corruption)": 0.10583,
+ "index": 11
+ },
+ {
+ "Country": "Austria",
+ "Dystopia Residual": 2.5332,
+ "Economy (GDP per Capita)": 1.33723,
+ "Family": 1.29704,
+ "Freedom": 0.62433,
+ "Generosity": 0.33088,
+ "Happiness Rank": 13,
+ "Happiness Score": 7.2,
+ "Health (Life Expectancy)": 0.89042,
+ "Region": "Western Europe",
+ "Standard Error": 0.03751,
+ "Trust (Government Corruption)": 0.18676,
+ "index": 12
+ },
+ {
+ "Country": "Mexico",
+ "Dystopia Residual": 3.60214,
+ "Economy (GDP per Capita)": 1.02054,
+ "Family": 0.91451,
+ "Freedom": 0.48181,
+ "Generosity": 0.14074,
+ "Happiness Rank": 14,
+ "Happiness Score": 7.187,
+ "Health (Life Expectancy)": 0.81444,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.04176,
+ "Trust (Government Corruption)": 0.21312,
+ "index": 13
+ },
+ {
+ "Country": "United States",
+ "Dystopia Residual": 2.51011,
+ "Economy (GDP per Capita)": 1.39451,
+ "Family": 1.24711,
+ "Freedom": 0.54604,
+ "Generosity": 0.40105,
+ "Happiness Rank": 15,
+ "Happiness Score": 7.119,
+ "Health (Life Expectancy)": 0.86179,
+ "Region": "North America",
+ "Standard Error": 0.03839,
+ "Trust (Government Corruption)": 0.1589,
+ "index": 14
+ },
+ {
+ "Country": "Brazil",
+ "Dystopia Residual": 3.26001,
+ "Economy (GDP per Capita)": 0.98124,
+ "Family": 1.23287,
+ "Freedom": 0.49049,
+ "Generosity": 0.14574,
+ "Happiness Rank": 16,
+ "Happiness Score": 6.983,
+ "Health (Life Expectancy)": 0.69702,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.04076,
+ "Trust (Government Corruption)": 0.17521,
+ "index": 15
+ },
+ {
+ "Country": "Luxembourg",
+ "Dystopia Residual": 1.96961,
+ "Economy (GDP per Capita)": 1.56391,
+ "Family": 1.21963,
+ "Freedom": 0.61583,
+ "Generosity": 0.28034,
+ "Happiness Rank": 17,
+ "Happiness Score": 6.946,
+ "Health (Life Expectancy)": 0.91894,
+ "Region": "Western Europe",
+ "Standard Error": 0.03499,
+ "Trust (Government Corruption)": 0.37798,
+ "index": 16
+ },
+ {
+ "Country": "Ireland",
+ "Dystopia Residual": 1.9757,
+ "Economy (GDP per Capita)": 1.33596,
+ "Family": 1.36948,
+ "Freedom": 0.61777,
+ "Generosity": 0.45901,
+ "Happiness Rank": 18,
+ "Happiness Score": 6.94,
+ "Health (Life Expectancy)": 0.89533,
+ "Region": "Western Europe",
+ "Standard Error": 0.03676,
+ "Trust (Government Corruption)": 0.28703,
+ "index": 17
+ },
+ {
+ "Country": "Belgium",
+ "Dystopia Residual": 2.41484,
+ "Economy (GDP per Capita)": 1.30782,
+ "Family": 1.28566,
+ "Freedom": 0.5845,
+ "Generosity": 0.2225,
+ "Happiness Rank": 19,
+ "Happiness Score": 6.937,
+ "Health (Life Expectancy)": 0.89667,
+ "Region": "Western Europe",
+ "Standard Error": 0.03595,
+ "Trust (Government Corruption)": 0.2254,
+ "index": 18
+ },
+ {
+ "Country": "United Arab Emirates",
+ "Dystopia Residual": 2.24743,
+ "Economy (GDP per Capita)": 1.42727,
+ "Family": 1.12575,
+ "Freedom": 0.64157,
+ "Generosity": 0.26428,
+ "Happiness Rank": 20,
+ "Happiness Score": 6.901,
+ "Health (Life Expectancy)": 0.80925,
+ "Region": "Middle East and Northern Africa",
+ "Standard Error": 0.03729,
+ "Trust (Government Corruption)": 0.38583,
+ "index": 19
+ },
+ {
+ "Country": "United Kingdom",
+ "Dystopia Residual": 1.96994,
+ "Economy (GDP per Capita)": 1.26637,
+ "Family": 1.28548,
+ "Freedom": 0.59625,
+ "Generosity": 0.51912,
+ "Happiness Rank": 21,
+ "Happiness Score": 6.867,
+ "Health (Life Expectancy)": 0.90943,
+ "Region": "Western Europe",
+ "Standard Error": 0.01866,
+ "Trust (Government Corruption)": 0.32067,
+ "index": 20
+ },
+ {
+ "Country": "Oman",
+ "Dystopia Residual": 2.47489,
+ "Economy (GDP per Capita)": 1.36011,
+ "Family": 1.08182,
+ "Freedom": 0.63274,
+ "Generosity": 0.21542,
+ "Happiness Rank": 22,
+ "Happiness Score": 6.853,
+ "Health (Life Expectancy)": 0.76276,
+ "Region": "Middle East and Northern Africa",
+ "Standard Error": 0.05335,
+ "Trust (Government Corruption)": 0.32524,
+ "index": 21
+ },
+ {
+ "Country": "Venezuela",
+ "Dystopia Residual": 3.19131,
+ "Economy (GDP per Capita)": 1.04424,
+ "Family": 1.25596,
+ "Freedom": 0.42908,
+ "Generosity": 0.05841,
+ "Happiness Rank": 23,
+ "Happiness Score": 6.81,
+ "Health (Life Expectancy)": 0.72052,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.06476,
+ "Trust (Government Corruption)": 0.11069,
+ "index": 22
+ },
+ {
+ "Country": "Singapore",
+ "Dystopia Residual": 1.88501,
+ "Economy (GDP per Capita)": 1.52186,
+ "Family": 1.02,
+ "Freedom": 0.54252,
+ "Generosity": 0.31105,
+ "Happiness Rank": 24,
+ "Happiness Score": 6.798,
+ "Health (Life Expectancy)": 1.02525,
+ "Region": "Southeastern Asia",
+ "Standard Error": 0.0378,
+ "Trust (Government Corruption)": 0.4921,
+ "index": 23
+ },
+ {
+ "Country": "Panama",
+ "Dystopia Residual": 2.84848,
+ "Economy (GDP per Capita)": 1.06353,
+ "Family": 1.1985,
+ "Freedom": 0.5421,
+ "Generosity": 0.24434,
+ "Happiness Rank": 25,
+ "Happiness Score": 6.786,
+ "Health (Life Expectancy)": 0.79661,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.0491,
+ "Trust (Government Corruption)": 0.0927,
+ "index": 24
+ },
+ {
+ "Country": "Germany",
+ "Dystopia Residual": 2.11569,
+ "Economy (GDP per Capita)": 1.32792,
+ "Family": 1.29937,
+ "Freedom": 0.61477,
+ "Generosity": 0.28214,
+ "Happiness Rank": 26,
+ "Happiness Score": 6.75,
+ "Health (Life Expectancy)": 0.89186,
+ "Region": "Western Europe",
+ "Standard Error": 0.01848,
+ "Trust (Government Corruption)": 0.21843,
+ "index": 25
+ },
+ {
+ "Country": "Chile",
+ "Dystopia Residual": 2.67585,
+ "Economy (GDP per Capita)": 1.10715,
+ "Family": 1.12447,
+ "Freedom": 0.44132,
+ "Generosity": 0.33363,
+ "Happiness Rank": 27,
+ "Happiness Score": 6.67,
+ "Health (Life Expectancy)": 0.85857,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.058,
+ "Trust (Government Corruption)": 0.12869,
+ "index": 26
+ },
+ {
+ "Country": "Qatar",
+ "Dystopia Residual": 1.55674,
+ "Economy (GDP per Capita)": 1.69042,
+ "Family": 1.0786,
+ "Freedom": 0.6404,
+ "Generosity": 0.32573,
+ "Happiness Rank": 28,
+ "Happiness Score": 6.611,
+ "Health (Life Expectancy)": 0.79733,
+ "Region": "Middle East and Northern Africa",
+ "Standard Error": 0.06257,
+ "Trust (Government Corruption)": 0.52208,
+ "index": 27
+ },
+ {
+ "Country": "France",
+ "Dystopia Residual": 2.21126,
+ "Economy (GDP per Capita)": 1.27778,
+ "Family": 1.26038,
+ "Freedom": 0.55011,
+ "Generosity": 0.12332,
+ "Happiness Rank": 29,
+ "Happiness Score": 6.575,
+ "Health (Life Expectancy)": 0.94579,
+ "Region": "Western Europe",
+ "Standard Error": 0.03512,
+ "Trust (Government Corruption)": 0.20646,
+ "index": 28
+ },
+ {
+ "Country": "Argentina",
+ "Dystopia Residual": 2.836,
+ "Economy (GDP per Capita)": 1.05351,
+ "Family": 1.24823,
+ "Freedom": 0.44974,
+ "Generosity": 0.11451,
+ "Happiness Rank": 30,
+ "Happiness Score": 6.574,
+ "Health (Life Expectancy)": 0.78723,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.04612,
+ "Trust (Government Corruption)": 0.08484,
+ "index": 29
+ },
+ {
+ "Country": "Czech Republic",
+ "Dystopia Residual": 2.67782,
+ "Economy (GDP per Capita)": 1.17898,
+ "Family": 1.20643,
+ "Freedom": 0.46364,
+ "Generosity": 0.10686,
+ "Happiness Rank": 31,
+ "Happiness Score": 6.505,
+ "Health (Life Expectancy)": 0.84483,
+ "Region": "Central and Eastern Europe",
+ "Standard Error": 0.04168,
+ "Trust (Government Corruption)": 0.02652,
+ "index": 30
+ },
+ {
+ "Country": "Uruguay",
+ "Dystopia Residual": 2.32142,
+ "Economy (GDP per Capita)": 1.06166,
+ "Family": 1.2089,
+ "Freedom": 0.60362,
+ "Generosity": 0.2324,
+ "Happiness Rank": 32,
+ "Happiness Score": 6.485,
+ "Health (Life Expectancy)": 0.8116,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.04539,
+ "Trust (Government Corruption)": 0.24558,
+ "index": 31
+ },
+ {
+ "Country": "Colombia",
+ "Dystopia Residual": 2.85737,
+ "Economy (GDP per Capita)": 0.91861,
+ "Family": 1.24018,
+ "Freedom": 0.53466,
+ "Generosity": 0.18401,
+ "Happiness Rank": 33,
+ "Happiness Score": 6.477,
+ "Health (Life Expectancy)": 0.69077,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.05051,
+ "Trust (Government Corruption)": 0.0512,
+ "index": 32
+ },
+ {
+ "Country": "Thailand",
+ "Dystopia Residual": 2.31945,
+ "Economy (GDP per Capita)": 0.9669,
+ "Family": 1.26504,
+ "Freedom": 0.55664,
+ "Generosity": 0.5763,
+ "Happiness Rank": 34,
+ "Happiness Score": 6.455,
+ "Health (Life Expectancy)": 0.7385,
+ "Region": "Southeastern Asia",
+ "Standard Error": 0.03557,
+ "Trust (Government Corruption)": 0.03187,
+ "index": 33
+ },
+ {
+ "Country": "Saudi Arabia",
+ "Dystopia Residual": 2.43872,
+ "Economy (GDP per Capita)": 1.39541,
+ "Family": 1.08393,
+ "Freedom": 0.31048,
+ "Generosity": 0.13706,
+ "Happiness Rank": 35,
+ "Happiness Score": 6.411,
+ "Health (Life Expectancy)": 0.72025,
+ "Region": "Middle East and Northern Africa",
+ "Standard Error": 0.04633,
+ "Trust (Government Corruption)": 0.32524,
+ "index": 34
+ },
+ {
+ "Country": "Spain",
+ "Dystopia Residual": 2.12367,
+ "Economy (GDP per Capita)": 1.23011,
+ "Family": 1.31379,
+ "Freedom": 0.45951,
+ "Generosity": 0.18227,
+ "Happiness Rank": 36,
+ "Happiness Score": 6.329,
+ "Health (Life Expectancy)": 0.95562,
+ "Region": "Western Europe",
+ "Standard Error": 0.03468,
+ "Trust (Government Corruption)": 0.06398,
+ "index": 35
+ },
+ {
+ "Country": "Malta",
+ "Dystopia Residual": 1.6488,
+ "Economy (GDP per Capita)": 1.2074,
+ "Family": 1.30203,
+ "Freedom": 0.60365,
+ "Generosity": 0.51752,
+ "Happiness Rank": 37,
+ "Happiness Score": 6.302,
+ "Health (Life Expectancy)": 0.88721,
+ "Region": "Western Europe",
+ "Standard Error": 0.04206,
+ "Trust (Government Corruption)": 0.13586,
+ "index": 36
+ },
+ {
+ "Country": "Taiwan",
+ "Dystopia Residual": 2.32323,
+ "Economy (GDP per Capita)": 1.29098,
+ "Family": 1.07617,
+ "Freedom": 0.3974,
+ "Generosity": 0.25376,
+ "Happiness Rank": 38,
+ "Happiness Score": 6.298,
+ "Health (Life Expectancy)": 0.8753,
+ "Region": "Eastern Asia",
+ "Standard Error": 0.03868,
+ "Trust (Government Corruption)": 0.08129,
+ "index": 37
+ },
+ {
+ "Country": "Kuwait",
+ "Dystopia Residual": 1.87634,
+ "Economy (GDP per Capita)": 1.55422,
+ "Family": 1.16594,
+ "Freedom": 0.55499,
+ "Generosity": 0.16228,
+ "Happiness Rank": 39,
+ "Happiness Score": 6.295,
+ "Health (Life Expectancy)": 0.72492,
+ "Region": "Middle East and Northern Africa",
+ "Standard Error": 0.04456,
+ "Trust (Government Corruption)": 0.25609,
+ "index": 38
+ },
+ {
+ "Country": "Suriname",
+ "Dystopia Residual": 2.79094,
+ "Economy (GDP per Capita)": 0.99534,
+ "Family": 0.972,
+ "Freedom": 0.59657,
+ "Generosity": 0.16991,
+ "Happiness Rank": 40,
+ "Happiness Score": 6.269,
+ "Health (Life Expectancy)": 0.6082,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.09811,
+ "Trust (Government Corruption)": 0.13633,
+ "index": 39
+ },
+ {
+ "Country": "Trinidad and Tobago",
+ "Dystopia Residual": 2.26882,
+ "Economy (GDP per Capita)": 1.21183,
+ "Family": 1.18354,
+ "Freedom": 0.55884,
+ "Generosity": 0.31844,
+ "Happiness Rank": 41,
+ "Happiness Score": 6.168,
+ "Health (Life Expectancy)": 0.61483,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.10895,
+ "Trust (Government Corruption)": 0.0114,
+ "index": 40
+ },
+ {
+ "Country": "El Salvador",
+ "Dystopia Residual": 3.035,
+ "Economy (GDP per Capita)": 0.76454,
+ "Family": 1.02507,
+ "Freedom": 0.4035,
+ "Generosity": 0.10692,
+ "Happiness Rank": 42,
+ "Happiness Score": 6.13,
+ "Health (Life Expectancy)": 0.67737,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.05618,
+ "Trust (Government Corruption)": 0.11776,
+ "index": 41
+ },
+ {
+ "Country": "Guatemala",
+ "Dystopia Residual": 2.74255,
+ "Economy (GDP per Capita)": 0.74553,
+ "Family": 1.04356,
+ "Freedom": 0.57733,
+ "Generosity": 0.27489,
+ "Happiness Rank": 43,
+ "Happiness Score": 6.123,
+ "Health (Life Expectancy)": 0.64425,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.05224,
+ "Trust (Government Corruption)": 0.09472,
+ "index": 42
+ },
+ {
+ "Country": "Uzbekistan",
+ "Dystopia Residual": 2.23741,
+ "Economy (GDP per Capita)": 0.63244,
+ "Family": 1.34043,
+ "Freedom": 0.65821,
+ "Generosity": 0.22837,
+ "Happiness Rank": 44,
+ "Happiness Score": 6.003,
+ "Health (Life Expectancy)": 0.59772,
+ "Region": "Central and Eastern Europe",
+ "Standard Error": 0.04361,
+ "Trust (Government Corruption)": 0.30826,
+ "index": 43
+ },
+ {
+ "Country": "Slovakia",
+ "Dystopia Residual": 2.24639,
+ "Economy (GDP per Capita)": 1.16891,
+ "Family": 1.26999,
+ "Freedom": 0.31751,
+ "Generosity": 0.16893,
+ "Happiness Rank": 45,
+ "Happiness Score": 5.995,
+ "Health (Life Expectancy)": 0.78902,
+ "Region": "Central and Eastern Europe",
+ "Standard Error": 0.04267,
+ "Trust (Government Corruption)": 0.03431,
+ "index": 44
+ },
+ {
+ "Country": "Japan",
+ "Dystopia Residual": 1.68435,
+ "Economy (GDP per Capita)": 1.27074,
+ "Family": 1.25712,
+ "Freedom": 0.49615,
+ "Generosity": 0.10705,
+ "Happiness Rank": 46,
+ "Happiness Score": 5.987,
+ "Health (Life Expectancy)": 0.99111,
+ "Region": "Eastern Asia",
+ "Standard Error": 0.03581,
+ "Trust (Government Corruption)": 0.1806,
+ "index": 45
+ },
+ {
+ "Country": "South Korea",
+ "Dystopia Residual": 2.21978,
+ "Economy (GDP per Capita)": 1.24461,
+ "Family": 0.95774,
+ "Freedom": 0.33208,
+ "Generosity": 0.18557,
+ "Happiness Rank": 47,
+ "Happiness Score": 5.984,
+ "Health (Life Expectancy)": 0.96538,
+ "Region": "Eastern Asia",
+ "Standard Error": 0.04098,
+ "Trust (Government Corruption)": 0.07857,
+ "index": 46
+ },
+ {
+ "Country": "Ecuador",
+ "Dystopia Residual": 2.53942,
+ "Economy (GDP per Capita)": 0.86402,
+ "Family": 0.99903,
+ "Freedom": 0.48574,
+ "Generosity": 0.11541,
+ "Happiness Rank": 48,
+ "Happiness Score": 5.975,
+ "Health (Life Expectancy)": 0.79075,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.04528,
+ "Trust (Government Corruption)": 0.1809,
+ "index": 47
+ },
+ {
+ "Country": "Bahrain",
+ "Dystopia Residual": 1.73797,
+ "Economy (GDP per Capita)": 1.32376,
+ "Family": 1.21624,
+ "Freedom": 0.45492,
+ "Generosity": 0.17362,
+ "Happiness Rank": 49,
+ "Happiness Score": 5.96,
+ "Health (Life Expectancy)": 0.74716,
+ "Region": "Middle East and Northern Africa",
+ "Standard Error": 0.05412,
+ "Trust (Government Corruption)": 0.306,
+ "index": 48
+ },
+ {
+ "Country": "Italy",
+ "Dystopia Residual": 2.02518,
+ "Economy (GDP per Capita)": 1.25114,
+ "Family": 1.19777,
+ "Freedom": 0.26236,
+ "Generosity": 0.22823,
+ "Happiness Rank": 50,
+ "Happiness Score": 5.948,
+ "Health (Life Expectancy)": 0.95446,
+ "Region": "Western Europe",
+ "Standard Error": 0.03914,
+ "Trust (Government Corruption)": 0.02901,
+ "index": 49
+ },
+ {
+ "Country": "Bolivia",
+ "Dystopia Residual": 2.82334,
+ "Economy (GDP per Capita)": 0.68133,
+ "Family": 0.97841,
+ "Freedom": 0.57414,
+ "Generosity": 0.20536,
+ "Happiness Rank": 51,
+ "Happiness Score": 5.89,
+ "Health (Life Expectancy)": 0.5392,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.05642,
+ "Trust (Government Corruption)": 0.088,
+ "index": 50
+ },
+ {
+ "Country": "Moldova",
+ "Dystopia Residual": 3.10712,
+ "Economy (GDP per Capita)": 0.59448,
+ "Family": 1.01528,
+ "Freedom": 0.32818,
+ "Generosity": 0.20951,
+ "Happiness Rank": 52,
+ "Happiness Score": 5.889,
+ "Health (Life Expectancy)": 0.61826,
+ "Region": "Central and Eastern Europe",
+ "Standard Error": 0.03799,
+ "Trust (Government Corruption)": 0.01615,
+ "index": 51
+ },
+ {
+ "Country": "Paraguay",
+ "Dystopia Residual": 2.18896,
+ "Economy (GDP per Capita)": 0.75985,
+ "Family": 1.30477,
+ "Freedom": 0.53899,
+ "Generosity": 0.3424,
+ "Happiness Rank": 53,
+ "Happiness Score": 5.878,
+ "Health (Life Expectancy)": 0.66098,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.04563,
+ "Trust (Government Corruption)": 0.08242,
+ "index": 52
+ },
+ {
+ "Country": "Kazakhstan",
+ "Dystopia Residual": 2.24729,
+ "Economy (GDP per Capita)": 1.12254,
+ "Family": 1.12241,
+ "Freedom": 0.51649,
+ "Generosity": 0.11827,
+ "Happiness Rank": 54,
+ "Happiness Score": 5.855,
+ "Health (Life Expectancy)": 0.64368,
+ "Region": "Central and Eastern Europe",
+ "Standard Error": 0.04114,
+ "Trust (Government Corruption)": 0.08454,
+ "index": 53
+ },
+ {
+ "Country": "Slovenia",
+ "Dystopia Residual": 1.61583,
+ "Economy (GDP per Capita)": 1.18498,
+ "Family": 1.27385,
+ "Freedom": 0.60855,
+ "Generosity": 0.25328,
+ "Happiness Rank": 55,
+ "Happiness Score": 5.848,
+ "Health (Life Expectancy)": 0.87337,
+ "Region": "Central and Eastern Europe",
+ "Standard Error": 0.04251,
+ "Trust (Government Corruption)": 0.03787,
+ "index": 54
+ },
+ {
+ "Country": "Lithuania",
+ "Dystopia Residual": 2.44649,
+ "Economy (GDP per Capita)": 1.14723,
+ "Family": 1.25745,
+ "Freedom": 0.21342,
+ "Generosity": 0.02641,
+ "Happiness Rank": 56,
+ "Happiness Score": 5.833,
+ "Health (Life Expectancy)": 0.73128,
+ "Region": "Central and Eastern Europe",
+ "Standard Error": 0.03843,
+ "Trust (Government Corruption)": 0.01031,
+ "index": 55
+ },
+ {
+ "Country": "Nicaragua",
+ "Dystopia Residual": 2.32407,
+ "Economy (GDP per Capita)": 0.59325,
+ "Family": 1.14184,
+ "Freedom": 0.55475,
+ "Generosity": 0.27815,
+ "Happiness Rank": 57,
+ "Happiness Score": 5.828,
+ "Health (Life Expectancy)": 0.74314,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.05371,
+ "Trust (Government Corruption)": 0.19317,
+ "index": 56
+ },
+ {
+ "Country": "Peru",
+ "Dystopia Residual": 2.5945,
+ "Economy (GDP per Capita)": 0.90019,
+ "Family": 0.97459,
+ "Freedom": 0.41496,
+ "Generosity": 0.14982,
+ "Happiness Rank": 58,
+ "Happiness Score": 5.824,
+ "Health (Life Expectancy)": 0.73017,
+ "Region": "Latin America and Caribbean",
+ "Standard Error": 0.04615,
+ "Trust (Government Corruption)": 0.05989,
+ "index": 57
+ },
+ {
+ "Country": "Belarus",
+ "Dystopia Residual": 2.1309,
+ "Economy (GDP per Capita)": 1.03192,
+ "Family": 1.23289,
+ "Freedom": 0.37938,
+ "Generosity": 0.11046,
+ "Happiness Rank": 59,
+ "Happiness Score": 5.813,
+ "Health (Life Expectancy)": 0.73608,
+ "Region": "Central and Eastern Europe",
+ "Standard Error": 0.03938,
+ "Trust (Government Corruption)": 0.1909,
+ "index": 58
+ },
+ {
+ "Country": "Poland",
+ "Dystopia Residual": 1.86565,
+ "Economy (GDP per Capita)": 1.12555,
+ "Family": 1.27948,
+ "Freedom": 0.53122,
+ "Generosity": 0.16759,
+ "Happiness Rank": 60,
+ "Happiness Score": 5.791,
+ "Health (Life Expectancy)": 0.77903,
+ "Region": "Central and Eastern Europe",
+ "Standard Error": 0.04263,
+ "Trust (Government Corruption)": 0.04212,
+ "index": 59
+ }
+ ],
+ "schema": {
+ "fields": [
+ {
+ "name": "index",
+ "type": "integer"
+ },
+ {
+ "name": "Country",
+ "type": "string"
+ },
+ {
+ "name": "Region",
+ "type": "string"
+ },
+ {
+ "name": "Happiness Rank",
+ "type": "integer"
+ },
+ {
+ "name": "Happiness Score",
+ "type": "number"
+ },
+ {
+ "name": "Standard Error",
+ "type": "number"
+ },
+ {
+ "name": "Economy (GDP per Capita)",
+ "type": "number"
+ },
+ {
+ "name": "Family",
+ "type": "number"
+ },
+ {
+ "name": "Health (Life Expectancy)",
+ "type": "number"
+ },
+ {
+ "name": "Freedom",
+ "type": "number"
+ },
+ {
+ "name": "Trust (Government Corruption)",
+ "type": "number"
+ },
+ {
+ "name": "Generosity",
+ "type": "number"
+ },
+ {
+ "name": "Dystopia Residual",
+ "type": "number"
+ }
+ ],
+ "pandas_version": "0.20.0",
+ "primaryKey": [
+ "index"
+ ]
+ }
+ },
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Country | \n",
+ " Region | \n",
+ " Happiness Rank | \n",
+ " Happiness Score | \n",
+ " Standard Error | \n",
+ " Economy (GDP per Capita) | \n",
+ " Family | \n",
+ " Health (Life Expectancy) | \n",
+ " Freedom | \n",
+ " Trust (Government Corruption) | \n",
+ " Generosity | \n",
+ " Dystopia Residual | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " Switzerland | \n",
+ " Western Europe | \n",
+ " 1 | \n",
+ " 7.587 | \n",
+ " 0.03411 | \n",
+ " 1.39651 | \n",
+ " 1.34951 | \n",
+ " 0.94143 | \n",
+ " 0.66557 | \n",
+ " 0.41978 | \n",
+ " 0.29678 | \n",
+ " 2.51738 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " Iceland | \n",
+ " Western Europe | \n",
+ " 2 | \n",
+ " 7.561 | \n",
+ " 0.04884 | \n",
+ " 1.30232 | \n",
+ " 1.40223 | \n",
+ " 0.94784 | \n",
+ " 0.62877 | \n",
+ " 0.14145 | \n",
+ " 0.43630 | \n",
+ " 2.70201 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " Denmark | \n",
+ " Western Europe | \n",
+ " 3 | \n",
+ " 7.527 | \n",
+ " 0.03328 | \n",
+ " 1.32548 | \n",
+ " 1.36058 | \n",
+ " 0.87464 | \n",
+ " 0.64938 | \n",
+ " 0.48357 | \n",
+ " 0.34139 | \n",
+ " 2.49204 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " Norway | \n",
+ " Western Europe | \n",
+ " 4 | \n",
+ " 7.522 | \n",
+ " 0.03880 | \n",
+ " 1.45900 | \n",
+ " 1.33095 | \n",
+ " 0.88521 | \n",
+ " 0.66973 | \n",
+ " 0.36503 | \n",
+ " 0.34699 | \n",
+ " 2.46531 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " Canada | \n",
+ " North America | \n",
+ " 5 | \n",
+ " 7.427 | \n",
+ " 0.03553 | \n",
+ " 1.32629 | \n",
+ " 1.32261 | \n",
+ " 0.90563 | \n",
+ " 0.63297 | \n",
+ " 0.32957 | \n",
+ " 0.45811 | \n",
+ " 2.45176 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 153 | \n",
+ " Rwanda | \n",
+ " Sub-Saharan Africa | \n",
+ " 154 | \n",
+ " 3.465 | \n",
+ " 0.03464 | \n",
+ " 0.22208 | \n",
+ " 0.77370 | \n",
+ " 0.42864 | \n",
+ " 0.59201 | \n",
+ " 0.55191 | \n",
+ " 0.22628 | \n",
+ " 0.67042 | \n",
+ "
\n",
+ " \n",
+ " 154 | \n",
+ " Benin | \n",
+ " Sub-Saharan Africa | \n",
+ " 155 | \n",
+ " 3.340 | \n",
+ " 0.03656 | \n",
+ " 0.28665 | \n",
+ " 0.35386 | \n",
+ " 0.31910 | \n",
+ " 0.48450 | \n",
+ " 0.08010 | \n",
+ " 0.18260 | \n",
+ " 1.63328 | \n",
+ "
\n",
+ " \n",
+ " 155 | \n",
+ " Syria | \n",
+ " Middle East and Northern Africa | \n",
+ " 156 | \n",
+ " 3.006 | \n",
+ " 0.05015 | \n",
+ " 0.66320 | \n",
+ " 0.47489 | \n",
+ " 0.72193 | \n",
+ " 0.15684 | \n",
+ " 0.18906 | \n",
+ " 0.47179 | \n",
+ " 0.32858 | \n",
+ "
\n",
+ " \n",
+ " 156 | \n",
+ " Burundi | \n",
+ " Sub-Saharan Africa | \n",
+ " 157 | \n",
+ " 2.905 | \n",
+ " 0.08658 | \n",
+ " 0.01530 | \n",
+ " 0.41587 | \n",
+ " 0.22396 | \n",
+ " 0.11850 | \n",
+ " 0.10062 | \n",
+ " 0.19727 | \n",
+ " 1.83302 | \n",
+ "
\n",
+ " \n",
+ " 157 | \n",
+ " Togo | \n",
+ " Sub-Saharan Africa | \n",
+ " 158 | \n",
+ " 2.839 | \n",
+ " 0.06727 | \n",
+ " 0.20868 | \n",
+ " 0.13995 | \n",
+ " 0.28443 | \n",
+ " 0.36453 | \n",
+ " 0.10731 | \n",
+ " 0.16681 | \n",
+ " 1.56726 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
158 rows × 12 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Country Region Happiness Rank \\\n",
+ "0 Switzerland Western Europe 1 \n",
+ "1 Iceland Western Europe 2 \n",
+ "2 Denmark Western Europe 3 \n",
+ "3 Norway Western Europe 4 \n",
+ "4 Canada North America 5 \n",
+ ".. ... ... ... \n",
+ "153 Rwanda Sub-Saharan Africa 154 \n",
+ "154 Benin Sub-Saharan Africa 155 \n",
+ "155 Syria Middle East and Northern Africa 156 \n",
+ "156 Burundi Sub-Saharan Africa 157 \n",
+ "157 Togo Sub-Saharan Africa 158 \n",
+ "\n",
+ " Happiness Score Standard Error Economy (GDP per Capita) Family \\\n",
+ "0 7.587 0.03411 1.39651 1.34951 \n",
+ "1 7.561 0.04884 1.30232 1.40223 \n",
+ "2 7.527 0.03328 1.32548 1.36058 \n",
+ "3 7.522 0.03880 1.45900 1.33095 \n",
+ "4 7.427 0.03553 1.32629 1.32261 \n",
+ ".. ... ... ... ... \n",
+ "153 3.465 0.03464 0.22208 0.77370 \n",
+ "154 3.340 0.03656 0.28665 0.35386 \n",
+ "155 3.006 0.05015 0.66320 0.47489 \n",
+ "156 2.905 0.08658 0.01530 0.41587 \n",
+ "157 2.839 0.06727 0.20868 0.13995 \n",
+ "\n",
+ " Health (Life Expectancy) Freedom Trust (Government Corruption) \\\n",
+ "0 0.94143 0.66557 0.41978 \n",
+ "1 0.94784 0.62877 0.14145 \n",
+ "2 0.87464 0.64938 0.48357 \n",
+ "3 0.88521 0.66973 0.36503 \n",
+ "4 0.90563 0.63297 0.32957 \n",
+ ".. ... ... ... \n",
+ "153 0.42864 0.59201 0.55191 \n",
+ "154 0.31910 0.48450 0.08010 \n",
+ "155 0.72193 0.15684 0.18906 \n",
+ "156 0.22396 0.11850 0.10062 \n",
+ "157 0.28443 0.36453 0.10731 \n",
+ "\n",
+ " Generosity Dystopia Residual \n",
+ "0 0.29678 2.51738 \n",
+ "1 0.43630 2.70201 \n",
+ "2 0.34139 2.49204 \n",
+ "3 0.34699 2.46531 \n",
+ "4 0.45811 2.45176 \n",
+ ".. ... ... \n",
+ "153 0.22628 0.67042 \n",
+ "154 0.18260 1.63328 \n",
+ "155 0.47179 0.32858 \n",
+ "156 0.19727 1.83302 \n",
+ "157 0.16681 1.56726 \n",
+ "\n",
+ "[158 rows x 12 columns]"
+ ]
+ },
+ "metadata": {
+ "application/vnd.dataresource+json": {},
+ "dataExplorer": {
+ "dx": {
+ "areaType": "hexbin",
+ "barGrouping": "Clustered",
+ "chart": {
+ "dim1": "Region",
+ "dim2": "Country",
+ "dim3": "none",
+ "metric1": "Happiness Rank",
+ "metric2": "Happiness Score",
+ "metric3": "none",
+ "metric4": "none",
+ "networkLabel": "none",
+ "timeseriesSort": "array-order"
+ },
+ "colors": [
+ "#DA752E",
+ "#E5C209",
+ "#1441A0",
+ "#B86117",
+ "#4D430C",
+ "#1DB390",
+ "#B3331D",
+ "#088EB2",
+ "#417505",
+ "#E479A8",
+ "#F9F39E",
+ "#5782DC",
+ "#EBA97B",
+ "#A2AB60",
+ "#B291CF",
+ "#8DD2C2",
+ "#E6A19F",
+ "#3DC7E0",
+ "#98CE5B"
+ ],
+ "hierarchyType": "dendrogram",
+ "lineType": "line",
+ "marginalGraphics": "none",
+ "networkType": "force",
+ "pieceType": "bar",
+ "selectedDimensions": [
+ "Region"
+ ],
+ "selectedMetrics": [
+ "Standard Error",
+ "Happiness Score"
+ ],
+ "summaryType": "violin",
+ "trendLine": "none",
+ "view": "line"
+ }
+ }
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "display(df)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.7.4"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/package.json b/package.json
index 779e625cd..a541ac522 100644
--- a/package.json
+++ b/package.json
@@ -19,6 +19,9 @@
"workspaces": [
"packages/*"
],
+ "resolutions": {
+ "@types/react": "~16.9.16"
+ },
"lint-staged": {
"{!(package),packages/*/!(package),packages/*/!(lib)/**}{.js,.jsx,.ts,.tsx,.css,.json,.md}": [
"prettier --write",
diff --git a/packages/nteract-data-explorer-extension/README.md b/packages/nteract-data-explorer-extension/README.md
new file mode 100644
index 000000000..b504d67db
--- /dev/null
+++ b/packages/nteract-data-explorer-extension/README.md
@@ -0,0 +1,116 @@
+# nteract-data-explorer-extension
+
+A JupyterLab extension for rendering data of [tabular-data-resource](https://specs.frictionlessdata.io/tabular-data-resource/) type based on [nteract Data Explorer](https://github.com/nteract/data-explorer).
+
+![demo](http://g.recordit.co/yex45iX6nw.gif)
+
+## Prerequisites
+
+- JupyterLab >= 1.1.1
+
+## Install
+
+```bash
+jupyter labextension install @jupyterlab/nteract-data-explorer-extension
+```
+
+## Usage
+
+To render tabular-data-resource output in IPython:
+
+```python
+from IPython.display import display
+
+display({
+ "application/vnd.dataresource+json": {
+ "data": [
+ {
+ "Country": "Switzerland",
+ "Happiness Score": 7.587,
+ "index": 0
+ },
+ {
+ "Country": "Iceland",
+ "Happiness Score": 7.561,
+ "index": 1
+ }
+ ],
+ "schema": {
+ "fields": [
+ {
+ "name": "index",
+ "type": "integer"
+ },
+ {
+ "name": "Country",
+ "type": "string"
+ },
+ {
+ "name": "Happiness Score",
+ "type": "number"
+ }
+ ],
+ "pandas_version": "0.20.0",
+ "primaryKey": [
+ "index"
+ ]
+ }
+ }
+}, raw=True)
+```
+
+A more convenient way is to read from CSV files
+
+```python
+import pandas as pd
+pd.options.display.html.table_schema = True
+df = pd.read_csv('path/to/csv/file')
+df
+```
+
+To render a `.tdrjson` or `.tdr.json` file, simply open it.
+
+## Contributing
+
+### Install
+
+The `jlpm` command is JupyterLab's pinned version of
+[yarn](https://yarnpkg.com/) that is installed with JupyterLab. You may use
+`yarn` or `npm` in lieu of `jlpm` below.
+
+```bash
+# Clone the repo to your local environment
+git clone https://github.com/jupyterlab/jupyter-renderers.git
+cd jupyter-renderers
+
+# Install dependencies
+jlpm
+
+# Build Typescript source
+jlpm build
+
+# Link your development version of the extension with JupyterLab
+jupyter labextension link packages/nteract-data-explorer-extension
+
+# Rebuild Typescript source after making changes
+jlpm build
+
+# Rebuild JupyterLab after making any changes
+jupyter lab build
+```
+
+You can watch the jupyter-renderers directory and run JupyterLab in watch mode to watch for changes in the extension's source and automatically rebuild the extension and application.
+
+```bash
+# Run jupyterlab in watch mode in one terminal tab
+jupyter lab --watch
+
+# Watch the jupyter-renderers directory in another terminal tab
+jlpm watch
+```
+
+### Uninstall
+
+```bash
+jupyter labextension uninstall @jupyterlab/nteract-data-explorer-extension
+```
diff --git a/packages/nteract-data-explorer-extension/package.json b/packages/nteract-data-explorer-extension/package.json
new file mode 100644
index 000000000..3e4b254e2
--- /dev/null
+++ b/packages/nteract-data-explorer-extension/package.json
@@ -0,0 +1,54 @@
+{
+ "name": "@jupyterlab/nteract-data-explorer-extension",
+ "version": "2.1.0",
+ "description": "JupyterLab - Tabular-data-resource Renderer Extension",
+ "homepage": "https://github.com/jupyterlab/jupyter-renderers",
+ "bugs": {
+ "url": "https://github.com/jupyterlab/jupyter-renderers/issues"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/jupyterlab/jupyter-renderers.git"
+ },
+ "license": "BSD-3-Clause",
+ "author": "Project Jupyter",
+ "files": [
+ "lib/*.d.ts",
+ "lib/*.js.map",
+ "lib/*.js",
+ "style/*.css"
+ ],
+ "sideEffects": [
+ "style/**/*.css"
+ ],
+ "main": "lib/index.js",
+ "types": "lib/index.d.ts",
+ "directories": {
+ "lib": "lib/"
+ },
+ "scripts": {
+ "build": "tsc -b",
+ "clean": "rimraf lib",
+ "prepack": "npm run clean && npm run build",
+ "watch": "tsc -w"
+ },
+ "dependencies": {
+ "@jupyterlab/rendermime-interfaces": "^2.0.0",
+ "@lumino/coreutils": "^1.3.0",
+ "@lumino/messaging": "^1.3.3",
+ "@lumino/widgets": "^1.11.1",
+ "@nteract/data-explorer": "^7.1.5",
+ "react": "~16.9.0",
+ "react-dom": "~16.9.0",
+ "styled-components": "^4.4.1"
+ },
+ "devDependencies": {
+ "@types/react": "~16.9.16",
+ "@types/react-dom": "~16.9.4",
+ "rimraf": "~3.0.0",
+ "typescript": "~3.7.3"
+ },
+ "jupyterlab": {
+ "mimeExtension": true
+ }
+}
diff --git a/packages/nteract-data-explorer-extension/src/index.tsx b/packages/nteract-data-explorer-extension/src/index.tsx
new file mode 100644
index 000000000..da581dd32
--- /dev/null
+++ b/packages/nteract-data-explorer-extension/src/index.tsx
@@ -0,0 +1,159 @@
+import * as React from 'react';
+import * as ReactDOM from 'react-dom';
+import { IRenderMime } from '@jupyterlab/rendermime-interfaces';
+import { JSONObject } from '@lumino/coreutils';
+import { Message } from '@lumino/messaging';
+import { Widget } from '@lumino/widgets';
+import DataExplorer, { Props } from '@nteract/data-explorer';
+
+/**
+ * The class name added to the extension.
+ */
+const CLASS_NAME = 'mimerenderer-tabular-data-resource';
+
+/**
+ * The default mime type for the extension.
+ */
+const MIME_TYPE = 'application/vnd.dataresource+json';
+
+/**
+ * Find NotebookPanel widget instance up the widget hierarchy, it has `context` property
+ * which could be used to save notebook
+ * @link https://github.com/jupyterlab/jupyterlab/blob/7fb018558f9c812e3e2a3355fb6ab7c1a30486d8/packages/notebook/src/panel.ts#L177
+ */
+const findNotebookPanel = (widget: Widget): any => {
+ let currentWidget: Widget | null = widget;
+ while (currentWidget) {
+ if (
+ currentWidget.constructor &&
+ currentWidget.constructor.name === 'NotebookPanel'
+ ) {
+ return currentWidget;
+ }
+ currentWidget = currentWidget.parent;
+ }
+ return null;
+};
+
+/**
+ * A widget for rendering tabular-data-resource (TDR).
+ */
+export class DataExplorerWidget extends Widget
+ implements IRenderMime.IRenderer {
+ /**
+ * Construct a new output widget.
+ */
+ constructor(options: IRenderMime.IRendererOptions) {
+ super();
+ this._mimeType = options.mimeType;
+ this.addClass(CLASS_NAME);
+ }
+
+ /**
+ * Render tabular-data-resource into this widget's node.
+ */
+ renderModel(model: IRenderMime.IMimeModel): Promise {
+ // If Data Explorer is rendered, no need to re-render it, it could take care of itself
+ if (this._hasRendered) {
+ return Promise.resolve();
+ }
+ this._hasRendered = true;
+
+ const data = model.data[this._mimeType] as JSONObject;
+ this.node.textContent = JSON.stringify(data);
+
+ // Capture Data Explorer metadata change and save them to notebook file so we can restore it
+ const onMetadataChange = (data: any) => {
+ model.setData({
+ metadata: {
+ ...model.metadata,
+ dataExplorer: data
+ }
+ });
+
+ const notebookPanel = findNotebookPanel(this);
+ if (notebookPanel) {
+ notebookPanel.context
+ .save()
+ .then(
+ () => console.log('Save success.'),
+ (reason: Error) =>
+ console.error('Save fails due to error: ', reason)
+ );
+ }
+ };
+
+ return new Promise(resolve => {
+ // Use an interval timer to render Data Explorer once the current node is rendered in the screen.
+ // This is to avoid empty plot issue in Semiotic ResponsiveFrame
+ // @link https://github.com/nteract/semiotic/blob/v1.20.3/src/components/ResponsiveFrame.tsx#L81-L91
+ const timer = setInterval(() => {
+ if (this.node.offsetWidth === 0 && this.node.offsetHeight === 0) {
+ return;
+ }
+
+ clearInterval(timer);
+ ReactDOM.render(
+ ,
+ this.node,
+ resolve
+ );
+ }, 1000 / 60);
+ });
+ }
+
+ /**
+ * Called before the widget is detached from the DOM.
+ */
+ protected onBeforeDetach(msg: Message): void {
+ // Unmount the component so it can tear down.
+ ReactDOM.unmountComponentAtNode(this.node);
+ }
+
+ private _mimeType: string;
+ private _hasRendered = false;
+}
+
+/**
+ * A mime renderer factory for tabular-data-resource data.
+ */
+export const rendererFactory: IRenderMime.IRendererFactory = {
+ safe: true,
+ mimeTypes: [MIME_TYPE],
+ createRenderer: options => new DataExplorerWidget(options)
+};
+
+/**
+ * Extension definition.
+ */
+const extension: IRenderMime.IExtension = {
+ id: 'nteract-data-explorer:plugin',
+ rendererFactory,
+ rank: 0,
+ dataType: 'json',
+ fileTypes: [
+ {
+ name: 'tabular-data-resource',
+ mimeTypes: [MIME_TYPE],
+ // Files with suffixes .tdr.json or .tdrjson will be open by nteract data explorer by default
+ extensions: ['.tdr.json', '.tdrjson']
+ }
+ ],
+ documentWidgetFactoryOptions: {
+ name: 'nteract Data Explorer',
+ primaryFileType: 'tabular-data-resource',
+ fileTypes: ['tabular-data-resource'],
+ defaultFor: ['tabular-data-resource']
+ }
+};
+
+export default extension;
diff --git a/packages/nteract-data-explorer-extension/tsconfig.json b/packages/nteract-data-explorer-extension/tsconfig.json
new file mode 100644
index 000000000..7040daad0
--- /dev/null
+++ b/packages/nteract-data-explorer-extension/tsconfig.json
@@ -0,0 +1,24 @@
+{
+ "compilerOptions": {
+ "allowSyntheticDefaultImports": true,
+ "composite": true,
+ "declaration": true,
+ "esModuleInterop": true,
+ "incremental": true,
+ "jsx": "react",
+ "module": "esnext",
+ "moduleResolution": "node",
+ "noEmitOnError": true,
+ "noImplicitAny": true,
+ "noUnusedLocals": true,
+ "outDir": "lib",
+ "preserveWatchOutput": true,
+ "resolveJsonModule": true,
+ "rootDir": "src",
+ "sourceMap": true,
+ "strict": true,
+ "target": "es2017",
+ "types": []
+ },
+ "include": ["src/*"]
+}
diff --git a/yarn.lock b/yarn.lock
index 8fb4f1816..9f7232a22 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -9,6 +9,65 @@
dependencies:
"@babel/highlight" "^7.0.0"
+"@babel/code-frame@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
+ integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==
+ dependencies:
+ "@babel/highlight" "^7.8.3"
+
+"@babel/generator@^7.9.5":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.5.tgz#27f0917741acc41e6eaaced6d68f96c3fa9afaf9"
+ integrity sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==
+ dependencies:
+ "@babel/types" "^7.9.5"
+ jsesc "^2.5.1"
+ lodash "^4.17.13"
+ source-map "^0.5.0"
+
+"@babel/helper-annotate-as-pure@^7.0.0":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee"
+ integrity sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==
+ dependencies:
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-function-name@^7.9.5":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c"
+ integrity sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.8.3"
+ "@babel/template" "^7.8.3"
+ "@babel/types" "^7.9.5"
+
+"@babel/helper-get-function-arity@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5"
+ integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==
+ dependencies:
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-module-imports@^7.0.0":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498"
+ integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==
+ dependencies:
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-split-export-declaration@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9"
+ integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==
+ dependencies:
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80"
+ integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==
+
"@babel/highlight@^7.0.0":
version "7.5.0"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540"
@@ -18,6 +77,20 @@
esutils "^2.0.2"
js-tokens "^4.0.0"
+"@babel/highlight@^7.8.3":
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079"
+ integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.9.0"
+ chalk "^2.0.0"
+ js-tokens "^4.0.0"
+
+"@babel/parser@^7.8.6", "@babel/parser@^7.9.0":
+ version "7.9.4"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8"
+ integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==
+
"@babel/runtime@^7.1.2":
version "7.6.0"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.0.tgz#4fc1d642a9fd0299754e8b5de62c631cf5568205"
@@ -25,6 +98,39 @@
dependencies:
regenerator-runtime "^0.13.2"
+"@babel/template@^7.8.3":
+ version "7.8.6"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b"
+ integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==
+ dependencies:
+ "@babel/code-frame" "^7.8.3"
+ "@babel/parser" "^7.8.6"
+ "@babel/types" "^7.8.6"
+
+"@babel/traverse@^7.0.0":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.5.tgz#6e7c56b44e2ac7011a948c21e283ddd9d9db97a2"
+ integrity sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==
+ dependencies:
+ "@babel/code-frame" "^7.8.3"
+ "@babel/generator" "^7.9.5"
+ "@babel/helper-function-name" "^7.9.5"
+ "@babel/helper-split-export-declaration" "^7.8.3"
+ "@babel/parser" "^7.9.0"
+ "@babel/types" "^7.9.5"
+ debug "^4.1.0"
+ globals "^11.1.0"
+ lodash "^4.17.13"
+
+"@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.5":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.5.tgz#89231f82915a8a566a703b3b20133f73da6b9444"
+ integrity sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.9.5"
+ lodash "^4.17.13"
+ to-fast-properties "^2.0.0"
+
"@blueprintjs/core@^3.20.0", "@blueprintjs/core@^3.22.2":
version "3.22.3"
resolved "https://registry.yarnpkg.com/@blueprintjs/core/-/core-3.22.3.tgz#57dc2c072a17db0e52cc5679d8bbc016082b27e7"
@@ -59,6 +165,23 @@
classnames "^2.2"
tslib "~1.9.0"
+"@emotion/is-prop-valid@^0.8.1":
+ version "0.8.8"
+ resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a"
+ integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==
+ dependencies:
+ "@emotion/memoize" "0.7.4"
+
+"@emotion/memoize@0.7.4":
+ version "0.7.4"
+ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb"
+ integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==
+
+"@emotion/unitless@^0.7.0":
+ version "0.7.5"
+ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
+ integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
+
"@evocateur/libnpmaccess@^3.1.2":
version "3.1.2"
resolved "https://registry.yarnpkg.com/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz#ecf7f6ce6b004e9f942b098d92200be4a4b1c845"
@@ -138,6 +261,11 @@
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.12.1.tgz#2a98fea9fbb8a606ddc79a4680034e9d5591c550"
integrity sha512-ZtjIIFplxncqxvogq148C3hBLQE+W3iJ8E4UvJ09zIJUgzwLcROsWwFDErVSXY2Plzao5J9KUYNHKHMEUYDMKw==
+"@icons/material@^0.2.4":
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/@icons/material/-/material-0.2.4.tgz#e90c9f71768b3736e76d7dd6783fc6c2afa88bc8"
+ integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==
+
"@jupyterlab/application@^2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@jupyterlab/application/-/application-2.0.0.tgz#55c59b3e903caca6d5f0ce95f6ca6f3fbd3fdd8e"
@@ -1179,6 +1307,13 @@
"@lumino/signaling" "^1.3.5"
"@lumino/virtualdom" "^1.6.1"
+"@mapbox/polylabel@1":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@mapbox/polylabel/-/polylabel-1.0.2.tgz#c5714619b65add082638ea06027e69b14500efa6"
+ integrity sha1-xXFGGbZa3QgmOOoGAn5psUUA76Y=
+ dependencies:
+ tinyqueue "^1.1.0"
+
"@mrmlnc/readdir-enhanced@^2.2.1":
version "2.2.1"
resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
@@ -1192,6 +1327,26 @@
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
+"@nteract/data-explorer@^7.1.5":
+ version "7.2.1"
+ resolved "https://registry.yarnpkg.com/@nteract/data-explorer/-/data-explorer-7.2.1.tgz#78d081e352ee175630e5b8d068f87b9038f32e2f"
+ integrity sha512-dOhNMzRBZHPNpNx5pRcouGHjU0bEE2O861xOTwmbSZMXVIuI8OT0/67JM+eD+9TAojgzplsHQ2jR2QjqUyMQ4Q==
+ dependencies:
+ "@nteract/octicons" "^2.0.0"
+ d3-collection "^1.0.7"
+ d3-scale "^3.0.0"
+ d3-shape "^1.2.2"
+ numeral "^2.0.6"
+ react-color "^2.14.1"
+ react-table "6.11.5"
+ react-table-hoc-fixed-columns "2.1.2"
+ semiotic "^1.19.8"
+
+"@nteract/octicons@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@nteract/octicons/-/octicons-2.0.0.tgz#eccd5de8bc0ef4d1bb4154b791db80f4f6bac995"
+ integrity sha512-wQHZMgYJHnZw/ozCeG/cwfUPiQDpmkmF8G57quKpWCMbBBLEN1tUhjRzcZ9IdJyZsiu0dxenjDhOs5+m5DHYGA==
+
"@octokit/endpoint@^5.1.0":
version "5.3.5"
resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-5.3.5.tgz#2822c3b01107806dbdce3863b6205e3eff4289ed"
@@ -1351,7 +1506,21 @@
resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.5.3.tgz#1c3b71b091eaeaf5924538006b7f70603ce63d38"
integrity sha512-Jugo5V/1bS0fRhy2z8+cUAHEyWOATaz4rbyLVvcFs7+dXp5HfwpEwzF1Q11bB10ApUqHf+yTauxI0UXQDwGrbA==
-"@types/react@~16.9.16":
+"@types/react-dom@~16.9.4":
+ version "16.9.6"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.6.tgz#9e7f83d90566521cc2083be2277c6712dcaf754c"
+ integrity sha512-S6ihtlPMDotrlCJE9ST1fRmYrQNNwfgL61UB4I1W7M6kPulUKx9fXAleW5zpdIjUQ4fTaaog8uERezjsGUj9HQ==
+ dependencies:
+ "@types/react" "*"
+
+"@types/react-table@^6.8.5":
+ version "6.8.7"
+ resolved "https://registry.yarnpkg.com/@types/react-table/-/react-table-6.8.7.tgz#210ffa2862dd3711350676c0bdbbfbff45f14b84"
+ integrity sha512-1U0xl47jk0BzE+HNHgxZYSLvtybSvnlLhOpW9Mfqf9iuRm/fGqgRab3TKivPCY6Tl7WPFM2hWEJ1GnsuSFc9AQ==
+ dependencies:
+ "@types/react" "*"
+
+"@types/react@*", "@types/react@~16.9.16":
version "16.9.17"
resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.17.tgz#58f0cc0e9ec2425d1441dd7b623421a867aa253e"
integrity sha512-UP27In4fp4sWF5JgyV6pwVPAQM83Fj76JOcg02X5BZcpSu5Wx+fP9RMqc2v0ssBoQIFvD5JdKY41gjJJKmw6Bg==
@@ -1583,6 +1752,29 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
+"babel-plugin-styled-components@>= 1":
+ version "1.10.7"
+ resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.7.tgz#3494e77914e9989b33cc2d7b3b29527a949d635c"
+ integrity sha512-MBMHGcIA22996n9hZRf/UJLVVgkEOITuR2SvjHLb5dSTUyR4ZRGn+ngITapes36FI3WLxZHfRhkA1ffHxihOrg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.0.0"
+ "@babel/helper-module-imports" "^7.0.0"
+ babel-plugin-syntax-jsx "^6.18.0"
+ lodash "^4.17.11"
+
+babel-plugin-syntax-jsx@^6.18.0:
+ version "6.18.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
+ integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
+
+babel-runtime@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+ integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
+ dependencies:
+ core-js "^2.4.0"
+ regenerator-runtime "^0.11.0"
+
backbone-childs@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/backbone-childs/-/backbone-childs-1.0.3.tgz#d6f3ab693e4e38720136ac400095b070dff151bd"
@@ -1650,6 +1842,11 @@ before-after-hook@^2.0.0:
resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635"
integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==
+bintrees@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/bintrees/-/bintrees-1.0.2.tgz#49f896d6e858a4a499df85c38fb399b9aff840f8"
+ integrity sha1-SfiW1uhYpKSZ34XDj7OZua/4QPg=
+
bio.io@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/bio.io/-/bio.io-1.0.6.tgz#20e082d513d037494c7196b601fa4dc559fef8e5"
@@ -1863,6 +2060,11 @@ camelcase@^5.0.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+camelize@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b"
+ integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=
+
canvas@^1.2.9, canvas@^1.3.4:
version "1.6.13"
resolved "https://registry.yarnpkg.com/canvas/-/canvas-1.6.13.tgz#8cb4e9abbea9e615a377890ffac50277a1167c73"
@@ -1930,7 +2132,7 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
-classnames@^2.2:
+classnames@^2.2, classnames@^2.2.5, classnames@^2.2.6:
version "2.2.6"
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
@@ -2047,7 +2249,7 @@ commander@2, commander@^2.12.1, commander@^2.14.1, commander@^2.19.0, commander@
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
-commander@~2.20.3:
+commander@^2.15.1, commander@~2.20.3:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
@@ -2210,6 +2412,16 @@ copy-descriptor@^0.1.0:
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
+core-js@^1.0.0:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
+ integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=
+
+core-js@^2.4.0:
+ version "2.6.11"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
+ integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==
+
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
@@ -2253,6 +2465,20 @@ cross-spawn@^6.0.0:
shebang-command "^1.2.0"
which "^1.2.9"
+css-color-keywords@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
+ integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=
+
+css-to-react-native@^2.2.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.3.2.tgz#e75e2f8f7aa385b4c3611c52b074b70a002f2e7d"
+ integrity sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==
+ dependencies:
+ camelize "^1.0.0"
+ css-color-keywords "^1.0.0"
+ postcss-value-parser "^3.3.0"
+
csstype@^2.2.0, csstype@^2.4.0:
version "2.6.6"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz#c34f8226a94bbb10c32cc0d714afdf942291fc41"
@@ -2270,16 +2496,47 @@ cyclist@^1.0.1:
resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=
-d3-array@1, d3-array@^1.1.1, d3-array@^1.2.0:
+d3-array@1, d3-array@^1.1.1, d3-array@^1.2.0, d3-array@^1.2.1:
version "1.2.4"
resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f"
integrity sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==
+"d3-array@1.2.0 - 2":
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.4.0.tgz#87f8b9ad11088769c82b5ea846bcb1cc9393f242"
+ integrity sha512-KQ41bAF2BMakf/HdKT865ALd4cgND6VcIztVQZUTt0+BH3RWy6ZYnHghVXf6NFjt2ritLr8H1T8LreAAlfiNcw==
+
d3-array@^2.0.2, d3-array@^2.0.3:
version "2.3.1"
resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.3.1.tgz#145cb03967578e675db8c62e41f3c406fa7acc73"
integrity sha512-YlOh8kwqIz0pDECEdCeqVNelaLQXznD0g6yidhhklMgKxKqbNDrYfoudLMkk9THlqvFll+pXMmXYAyN49yWsmg==
+d3-bboxCollide@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/d3-bboxCollide/-/d3-bboxCollide-1.0.4.tgz#817827fd41bb96d19035efbd0a561d1b83bb5f51"
+ integrity sha512-Sc8FKGGeejlowLW1g/0WBrVcbd++SBRW4N8OuZhVeRAfwlTL96+75JKlFfHweYdYRui1zPabfNXZrNaphBjS+w==
+ dependencies:
+ d3-quadtree "1.0.1"
+
+d3-brush@^1.0.6:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.1.5.tgz#066b8e84d17b192986030446c97c0fba7e1bacdc"
+ integrity sha512-rEaJ5gHlgLxXugWjIkolTA0OyMvw8UWU1imYXy1v642XyyswmI1ybKOv05Ft+ewq+TFmdliD3VuK0pRp1VT/5A==
+ dependencies:
+ d3-dispatch "1"
+ d3-drag "1"
+ d3-interpolate "1"
+ d3-selection "1"
+ d3-transition "1"
+
+d3-chord@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.6.tgz#309157e3f2db2c752f0280fedd35f2067ccbb15f"
+ integrity sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==
+ dependencies:
+ d3-array "1"
+ d3-path "1"
+
d3-cloud@^1.2.1:
version "1.2.5"
resolved "https://registry.yarnpkg.com/d3-cloud/-/d3-cloud-1.2.5.tgz#3e91564f2d27fba47fcc7d812eb5081ea24c603d"
@@ -2287,7 +2544,7 @@ d3-cloud@^1.2.1:
dependencies:
d3-dispatch "^1.0.3"
-d3-collection@1, d3-collection@^1.0.7:
+d3-collection@1, d3-collection@^1.0.1, d3-collection@^1.0.4, d3-collection@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e"
integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==
@@ -2297,7 +2554,7 @@ d3-color@1, d3-color@^1.2.3:
resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.3.0.tgz#675818359074215b020dc1d41d518136dcb18fa9"
integrity sha512-NHODMBlj59xPAwl2BDiO2Mog6V+PrGRtBfWKqKRrs9MCqlSkIEb0Z/SfY7jW29ReHTDC/j+vwXhnZcXI3+3fbg==
-d3-contour@1, d3-contour@^1.3.2:
+d3-contour@1, d3-contour@^1.1.1, d3-contour@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-1.3.2.tgz#652aacd500d2264cb3423cee10db69f6f59bead3"
integrity sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==
@@ -2309,6 +2566,14 @@ d3-dispatch@1, d3-dispatch@^1.0.3:
resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-1.0.5.tgz#e25c10a186517cd6c82dd19ea018f07e01e39015"
integrity sha512-vwKx+lAqB1UuCeklr6Jh1bvC4SZgbSqbkGBLClItFBIYH4vqDJCA7qfoy14lXmJdnBOdxndAMxjCbImJYW7e6g==
+d3-drag@1:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-1.2.5.tgz#2537f451acd39d31406677b7dc77c82f7d988f70"
+ integrity sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==
+ dependencies:
+ d3-dispatch "1"
+ d3-selection "1"
+
d3-dsv@0.1:
version "0.1.14"
resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-0.1.14.tgz#9833cd61a5a3e81e03263a1ce78f74de56a1dbb8"
@@ -2323,7 +2588,12 @@ d3-dsv@1, d3-dsv@^1.0.10:
iconv-lite "0.4"
rw "1"
-d3-force@1, d3-force@^1.1.0:
+d3-ease@1:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.6.tgz#ebdb6da22dfac0a22222f2d4da06f66c416a0ec0"
+ integrity sha512-SZ/lVU7LRXafqp7XtIcBdxnWl8yyLpgOmzAk0mWBI9gXNzLDx5ybZgnRbH9dN/yY5tzVBqCQ9avltSnqVwessQ==
+
+d3-force@1, d3-force@^1.0.2, d3-force@^1.1.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-1.2.1.tgz#fd29a5d1ff181c9e7f0669e4bd72bdb0e914ec0b"
integrity sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==
@@ -2357,11 +2627,26 @@ d3-geo@1, d3-geo@^1.11.3, d3-geo@^1.11.6:
dependencies:
d3-array "1"
+d3-glyphedge@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/d3-glyphedge/-/d3-glyphedge-1.2.0.tgz#295367d8405f83cdbe8319171bb1f6636c60f85b"
+ integrity sha512-F49fyMXMLYDHvqvxSmuGZrtIWeWLZWxar82WL1CJDBDPk4z6GUGSG4wX7rdv7N7R/YazAyMMnpOL0YQcmTLlOQ==
+
+d3-hexbin@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/d3-hexbin/-/d3-hexbin-0.2.2.tgz#9c5837dacfd471ab05337a9e91ef10bfc4f98831"
+ integrity sha1-nFg32s/UcasFM3qeke8Qv8T5iDE=
+
d3-hierarchy@1, d3-hierarchy@^1.1.8:
version "1.1.8"
resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz#7a6317bd3ed24e324641b6f1e76e978836b008cc"
integrity sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w==
+d3-hierarchy@^1.1.3:
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz#2f6bee24caaea43f8dc37545fa01628559647a83"
+ integrity sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==
+
d3-interpolate@1, d3-interpolate@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.3.2.tgz#417d3ebdeb4bc4efcc8fd4361c55e4040211fd68"
@@ -2369,16 +2654,33 @@ d3-interpolate@1, d3-interpolate@^1.3.2:
dependencies:
d3-color "1"
+d3-interpolate@^1.1.5, d3-interpolate@^1.2.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.4.0.tgz#526e79e2d80daa383f9e0c1c1c7dcc0f0583e987"
+ integrity sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==
+ dependencies:
+ d3-color "1"
+
d3-path@1, d3-path@^1.0.5, d3-path@^1.0.7:
version "1.0.8"
resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.8.tgz#4a0606a794d104513ec4a8af43525f374b278719"
integrity sha512-J6EfUNwcMQ+aM5YPOB8ZbgAZu6wc82f/0WFxrxwV6Ll8wBwLaHLKCqQ5Imub02JriCVVdPjgI+6P3a4EWJCxAg==
+d3-polygon@^1.0.5:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-1.0.6.tgz#0bf8cb8180a6dc107f518ddf7975e12abbfbd38e"
+ integrity sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ==
+
d3-quadtree@1:
version "1.0.6"
resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.6.tgz#d1ab2a95a7f27bbde88582c94166f6ae35f32056"
integrity sha512-NUgeo9G+ENQCQ1LsRr2qJg3MQ4DJvxcDNCiohdJGHt5gRhBW6orIB5m5FJ9kK3HNL8g9F4ERVoBzcEwQBfXWVA==
+d3-quadtree@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.1.tgz#13be025624f110405ed43536c506aaec199ed591"
+ integrity sha1-E74CViTxEEBe1DU2xQaq7Bme1ZE=
+
d3-queue@1:
version "1.2.3"
resolved "https://registry.yarnpkg.com/d3-queue/-/d3-queue-1.2.3.tgz#143a701cfa65fe021292f321c10d14e98abd491b"
@@ -2399,6 +2701,15 @@ d3-request@1:
d3-dsv "1"
xmlhttprequest "1"
+d3-sankey-circular@0.25.0:
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/d3-sankey-circular/-/d3-sankey-circular-0.25.0.tgz#9c31be18e507862fe0c9c4b80ed509c965a8f15e"
+ integrity sha512-maYak22afBAvmybeaopd1cVUNTIroEHhWCmh19gEQ+qgOhBkTav8YeP3Uw4OV/K4OksWaQrhhBOE4Rcxgc2JbQ==
+ dependencies:
+ d3-array "^1.2.1"
+ d3-collection "^1.0.4"
+ d3-shape "^1.2.0"
+
d3-scale-chromatic@^1.3.3:
version "1.5.0"
resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz#54e333fc78212f439b14641fb55801dd81135a98"
@@ -2407,6 +2718,19 @@ d3-scale-chromatic@^1.3.3:
d3-color "1"
d3-interpolate "1"
+d3-scale@^1.0.3:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.7.tgz#fa90324b3ea8a776422bd0472afab0b252a0945d"
+ integrity sha512-KvU92czp2/qse5tUfGms6Kjig0AhHOwkzXG0+PqIJB3ke0WUv088AHMZI0OssO9NCkXt4RP8yju9rpH8aGB7Lw==
+ dependencies:
+ d3-array "^1.2.0"
+ d3-collection "1"
+ d3-color "1"
+ d3-format "1"
+ d3-interpolate "1"
+ d3-time "1"
+ d3-time-format "2"
+
d3-scale@^2.1.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-2.2.2.tgz#4e880e0b2745acaaddd3ede26a9e908a9e17b81f"
@@ -2419,6 +2743,22 @@ d3-scale@^2.1.2:
d3-time "1"
d3-time-format "2"
+d3-scale@^3.0.0:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-3.2.1.tgz#da1684adce7261b4bc7a76fe193d887f0e909e69"
+ integrity sha512-huz5byJO/6MPpz6Q8d4lg7GgSpTjIZW/l+1MQkzKfu2u8P6hjaXaStOpmyrD6ymKoW87d2QVFCKvSjLwjzx/rA==
+ dependencies:
+ d3-array "1.2.0 - 2"
+ d3-format "1"
+ d3-interpolate "^1.2.0"
+ d3-time "1"
+ d3-time-format "2"
+
+d3-selection@1, d3-selection@^1.1.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.4.1.tgz#98eedbbe085fbda5bafa2f9e3f3a2f4d7d622a98"
+ integrity sha512-BTIbRjv/m5rcVTfBs4AMBLKs4x8XaaLkwm28KWu9S2vKNqXkXt2AH2Qf0sdPZHjFxcWg/YL53zcqAz+3g4/7PA==
+
d3-selection@^1.3.0, d3-selection@^1.3.2:
version "1.4.0"
resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.4.0.tgz#ab9ac1e664cf967ebf1b479cc07e28ce9908c474"
@@ -2431,6 +2771,13 @@ d3-shape@^1.2.0, d3-shape@^1.2.2:
dependencies:
d3-path "1"
+d3-shape@~1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.0.6.tgz#b09e305cf0c7c6b9a98c90e6b42f62dac4bcfd5b"
+ integrity sha1-sJ4wXPDHxrmpjJDmtC9i2sS8/Vs=
+ dependencies:
+ d3-path "1"
+
d3-time-format@0.2:
version "0.2.1"
resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-0.2.1.tgz#846e39eb7f22676692d86040c48e9fa54fd8bf18"
@@ -2460,7 +2807,19 @@ d3-timer@1, d3-timer@^1.0.9:
resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.9.tgz#f7bb8c0d597d792ff7131e1c24a36dd471a471ba"
integrity sha512-rT34J5HnQUHhcLvhSB9GjCkN0Ddd5Y8nCwDBG2u6wQEeYxT/Lf51fTFFkldeib/sE/J0clIe0pnCfs6g/lRbyg==
-d3-voronoi@1, d3-voronoi@^1.1.2:
+d3-transition@1, d3-transition@^1.0.3:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.3.2.tgz#a98ef2151be8d8600543434c1ca80140ae23b398"
+ integrity sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==
+ dependencies:
+ d3-color "1"
+ d3-dispatch "1"
+ d3-ease "1"
+ d3-interpolate "1"
+ d3-selection "^1.1.0"
+ d3-timer "1"
+
+d3-voronoi@1, d3-voronoi@^1.0.2, d3-voronoi@^1.1.2:
version "1.1.4"
resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz#dd3c78d7653d2bb359284ae478645d95944c8297"
integrity sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==
@@ -2541,6 +2900,13 @@ debug@^3.1.0:
dependencies:
ms "^2.1.1"
+debug@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
+ integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
+ dependencies:
+ ms "^2.1.1"
+
debuglog@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
@@ -3089,6 +3455,19 @@ fast-levenshtein@~2.0.4:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+fbjs@^0.8.16:
+ version "0.8.17"
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
+ integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=
+ dependencies:
+ core-js "^1.0.0"
+ isomorphic-fetch "^2.1.1"
+ loose-envify "^1.0.0"
+ object-assign "^4.1.0"
+ promise "^7.1.1"
+ setimmediate "^1.0.5"
+ ua-parser-js "^0.7.18"
+
figgy-pudding@^3.4.1, figgy-pudding@^3.5.1:
version "3.5.1"
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
@@ -3423,6 +3802,11 @@ global@~4.3.0:
min-document "^2.19.0"
process "~0.5.1"
+globals@^11.1.0:
+ version "11.12.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
+ integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+
globby@^9.2.0:
version "9.2.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d"
@@ -3982,7 +4366,7 @@ is-ssh@^1.3.0:
dependencies:
protocols "^1.1.0"
-is-stream@^1.1.0:
+is-stream@^1.0.1, is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
@@ -4011,6 +4395,11 @@ is-utf8@^0.2.0:
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
+is-what@^3.3.1:
+ version "3.8.0"
+ resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.8.0.tgz#610bc46a524355f2424eb85eedc6ebbbf7e1ff8c"
+ integrity sha512-UKeBoQfV8bjlM4pmx1FLDHdxslW/1mTksEs8ReVsilPmUv5cORd4+2/wFcviI3cUjrLybxCjzc8DnodAzJ/Wrg==
+
is-windows@^1.0.0, is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
@@ -4048,6 +4437,14 @@ isobject@^4.0.0:
resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0"
integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==
+isomorphic-fetch@^2.1.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
+ integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=
+ dependencies:
+ node-fetch "^1.0.1"
+ whatwg-fetch ">=0.10.0"
+
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
@@ -4096,6 +4493,11 @@ jsbn@~0.1.0:
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
+jsesc@^2.5.1:
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
+ integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
+
json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
@@ -4133,6 +4535,15 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
+json2csv@^4.5.1:
+ version "4.5.4"
+ resolved "https://registry.yarnpkg.com/json2csv/-/json2csv-4.5.4.tgz#2b59c2869a137ec48cd2e243e0180466155f773f"
+ integrity sha512-YxBhY4Lmn8IvVZ36nqg5omxneLy9JlorkqW1j/EDCeqvmi+CQ4uM+wsvXlcIqvGDewIPXMC/O/oF8DX9EH5aoA==
+ dependencies:
+ commander "^2.15.1"
+ jsonparse "^1.3.1"
+ lodash.get "^4.4.2"
+
json5@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6"
@@ -4152,7 +4563,7 @@ jsonify@~0.0.0:
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
-jsonparse@^1.2.0:
+jsonparse@^1.2.0, jsonparse@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=
@@ -4203,6 +4614,11 @@ koala-js@^1.0.7:
resolved "https://registry.yarnpkg.com/koala-js/-/koala-js-1.0.7.tgz#46e92380a7c4bbabc8784354562000fc95a9f54b"
integrity sha1-RukjgKfEu6vIeENUViAA/JWp9Us=
+labella@1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/labella/-/labella-1.1.4.tgz#c6cc5a340e8df340eb335633683ea59b828c322d"
+ integrity sha1-xsxaNA6N80DrM1YzaD6lm4KMMi0=
+
lcid@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
@@ -4458,7 +4874,7 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-lodash@^4.13.1, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.5, lodash@^4.2.1:
+lodash@^4.0.1, lodash@^4.13.1, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.5, lodash@^4.2.1:
version "4.17.15"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
@@ -4486,7 +4902,7 @@ log-update@^2.3.0:
cli-cursor "^2.0.0"
wrap-ansi "^3.0.1"
-loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
+loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
@@ -4594,6 +5010,19 @@ marked@^0.8.0:
resolved "https://registry.yarnpkg.com/marked/-/marked-0.8.0.tgz#ec5c0c9b93878dc52dd54be8d0e524097bd81a99"
integrity sha512-MyUe+T/Pw4TZufHkzAfDj6HarCBWia2y27/bhuYkTaiUnfDYFnCP3KUN+9oM7Wi6JA2rymtVYbQu3spE0GCmxQ==
+martinez-polygon-clipping@^0.1.5:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/martinez-polygon-clipping/-/martinez-polygon-clipping-0.1.5.tgz#81ce3eb2867cd9188a20b90acf26f23fb4e8ee42"
+ integrity sha1-gc4+soZ82RiKILkKzybyP7To7kI=
+ dependencies:
+ bintrees "^1.0.1"
+ tinyqueue "^1.1.0"
+
+material-colors@^1.2.1:
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46"
+ integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==
+
mathjax-full@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/mathjax-full/-/mathjax-full-3.0.0.tgz#a16c5bf4ae5ae6797fccfbd6dd11cc59052570f1"
@@ -4619,6 +5048,16 @@ mem@^4.0.0:
mimic-fn "^2.0.0"
p-is-promise "^2.0.0"
+memoize-one@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.0.0.tgz#fc5e2f1427a216676a62ec652cf7398cfad123db"
+ integrity sha512-wdpOJ4XBejprGn/xhd1i2XR8Dv1A25FJeIvR7syQhQlz9eXsv+06llcvcmBxlWVGv4C73QBsWA8kxvZozzNwiQ==
+
+memoize-one@^5.0.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0"
+ integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==
+
menu-builder@^0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/menu-builder/-/menu-builder-0.0.7.tgz#7455595c416cd006412e1ffb76e01e08a23c8ae3"
@@ -4658,6 +5097,13 @@ meow@^4.0.0:
redent "^2.0.0"
trim-newlines "^2.0.0"
+merge-anything@^2.2.4:
+ version "2.4.4"
+ resolved "https://registry.yarnpkg.com/merge-anything/-/merge-anything-2.4.4.tgz#6226b2ac3d3d3fc5fb9e8d23aa400df25f98fdf0"
+ integrity sha512-l5XlriUDJKQT12bH+rVhAHjwIuXWdAIecGwsYjv2LJo+dA1AeRTmeQS+3QBpO6lEthBMDi2IUMpLC1yyRvGlwQ==
+ dependencies:
+ is-what "^3.3.1"
+
merge-source-map@1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f"
@@ -4943,6 +5389,14 @@ node-fetch-npm@^2.0.2:
json-parse-better-errors "^1.0.0"
safe-buffer "^5.1.1"
+node-fetch@^1.0.1:
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
+ integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==
+ dependencies:
+ encoding "^0.1.11"
+ is-stream "^1.0.1"
+
node-fetch@^2.3.0, node-fetch@^2.5.0, node-fetch@^2.6.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
@@ -5081,12 +5535,17 @@ number-is-nan@^1.0.0:
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
+numeral@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/numeral/-/numeral-2.0.6.tgz#4ad080936d443c2561aed9f2197efffe25f4e506"
+ integrity sha1-StCAk21EPCVhrtnyGX7//iX05QY=
+
oauth-sign@~0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
-object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
+object-assign@4.1.1, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
@@ -5522,6 +5981,13 @@ please-upgrade-node@^3.0.2:
dependencies:
semver-compare "^1.0.0"
+polygon-offset@0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/polygon-offset/-/polygon-offset-0.3.1.tgz#69a6565f0b27fa76b5270d5c079b0ba2c8f0bba3"
+ integrity sha1-aaZWXwsn+na1Jw1cB5sLosjwu6M=
+ dependencies:
+ martinez-polygon-clipping "^0.1.5"
+
popper.js@^1.14.4, popper.js@^1.15.0:
version "1.15.0"
resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.15.0.tgz#5560b99bbad7647e9faa475c6b8056621f5a4ff2"
@@ -5532,6 +5998,11 @@ posix-character-classes@^0.1.0:
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
+postcss-value-parser@^3.3.0:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
+ integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
+
postcss@^7.0.5:
version "7.0.18"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.18.tgz#4b9cda95ae6c069c67a4d933029eddd4838ac233"
@@ -5582,6 +6053,13 @@ promise-retry@^1.1.1:
err-code "^1.0.0"
retry "^0.10.0"
+promise@8.0.1:
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/promise/-/promise-8.0.1.tgz#e45d68b00a17647b6da711bf85ed6ed47208f450"
+ integrity sha1-5F1osAoXZHttpxG/he1u1HII9FA=
+ dependencies:
+ asap "~2.0.3"
+
promise@^7.1.1:
version "7.3.1"
resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
@@ -5603,7 +6081,24 @@ promzard@^0.3.0:
dependencies:
read "1"
-prop-types@^15.6.1, prop-types@^15.6.2:
+prop-types@15.6.0:
+ version "15.6.0"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.0.tgz#ceaf083022fc46b4a35f69e13ef75aed0d639856"
+ integrity sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=
+ dependencies:
+ fbjs "^0.8.16"
+ loose-envify "^1.3.1"
+ object-assign "^4.1.1"
+
+prop-types@15.6.2:
+ version "15.6.2"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102"
+ integrity sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==
+ dependencies:
+ loose-envify "^1.3.1"
+ object-assign "^4.1.1"
+
+prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2:
version "15.7.2"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
@@ -5708,6 +6203,26 @@ quote-stream@^1.0.1, quote-stream@~1.0.2:
minimist "^1.1.3"
through2 "^2.0.0"
+react-annotation@^2.1.6:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/react-annotation/-/react-annotation-2.2.1.tgz#e4d4f5d6a62b99a92221a2e857bf361191de9b8c"
+ integrity sha512-r+NQfhe9hUDGNo9Th73CLzQGQjCYO7h1w9r4uQygVIhmgd31q8r85dk3BgQJZkhPkb+A/ezf85NGdvIpYZ33Xw==
+ dependencies:
+ prop-types "15.6.2"
+ viz-annotation "0.0.5"
+
+react-color@^2.14.1:
+ version "2.18.0"
+ resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.18.0.tgz#34956f0bac394f6c3bc01692fd695644cc775ffd"
+ integrity sha512-FyVeU1kQiSokWc8NPz22azl1ezLpJdUyTbWL0LPUpcuuYDrZ/Y1veOk9rRK5B3pMlyDGvTk4f4KJhlkIQNRjEA==
+ dependencies:
+ "@icons/material" "^0.2.4"
+ lodash "^4.17.11"
+ material-colors "^1.2.1"
+ prop-types "^15.5.10"
+ reactcss "^1.2.0"
+ tinycolor2 "^1.4.1"
+
react-dom@~16.9.0:
version "16.9.0"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.9.0.tgz#5e65527a5e26f22ae3701131bcccaee9fb0d3962"
@@ -5718,6 +6233,11 @@ react-dom@~16.9.0:
prop-types "^15.6.2"
scheduler "^0.15.0"
+react-is@^16.6.0:
+ version "16.13.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
+ integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+
react-is@^16.8.1:
version "16.9.0"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz#21ca9561399aad0ff1a7701c01683e8ca981edcb"
@@ -5741,6 +6261,23 @@ react-popper@^1.3.7:
typed-styles "^0.0.7"
warning "^4.0.2"
+react-table-hoc-fixed-columns@2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/react-table-hoc-fixed-columns/-/react-table-hoc-fixed-columns-2.1.2.tgz#1384462da3682135cc349fb6dae3978ffad734ff"
+ integrity sha512-gAL8oWcLMqsdMxLQwYxdQKkihsdTFNOcrL2rK67ETqtbNSqLSckSYF8PY7vAY+6x1Gwkzb5qyuD79q2b0E9V5A==
+ dependencies:
+ classnames "^2.2.6"
+ uniqid "^5.0.3"
+
+react-table@6.11.5:
+ version "6.11.5"
+ resolved "https://registry.yarnpkg.com/react-table/-/react-table-6.11.5.tgz#84e52885db426a07a6c4ce2c7e942f2cd4e2aa58"
+ integrity sha512-LM+AS9v//7Y7lAlgTWW/cW6Sn5VOb3EsSkKQfQTzOW8FngB1FUskLLNEVkAYsTX9LjOWR3QlGjykJqCE6eXT/g==
+ dependencies:
+ "@types/react-table" "^6.8.5"
+ classnames "^2.2.5"
+ react-is "^16.8.1"
+
react-transition-group@^2.9.0:
version "2.9.0"
resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d"
@@ -5760,6 +6297,13 @@ react@~16.9.0:
object-assign "^4.1.1"
prop-types "^15.6.2"
+reactcss@^1.2.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.3.tgz#c00013875e557b1cf0dfd9a368a1c3dab3b548dd"
+ integrity sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==
+ dependencies:
+ lodash "^4.0.1"
+
read-cmd-shim@^1.0.1:
version "1.0.4"
resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.4.tgz#b4a53d43376211b45243f0072b6e603a8e37640d"
@@ -5877,6 +6421,11 @@ redent@^2.0.0:
indent-string "^3.0.0"
strip-indent "^2.0.0"
+regenerator-runtime@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+ integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
+
regenerator-runtime@^0.13.2:
version "0.13.3"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5"
@@ -5898,6 +6447,11 @@ regexp.prototype.flags@^1.2.0:
define-properties "^1.1.3"
es-abstract "^1.17.0-next.1"
+regression@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/regression/-/regression-2.0.1.tgz#8d29c3e8224a10850c35e337e85a8b2fac3b0c87"
+ integrity sha1-jSnD6CJKEIUMNeM36FqLL6w7DIc=
+
repeat-element@^1.1.2:
version "1.1.3"
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
@@ -6027,6 +6581,20 @@ rimraf@~2.6.2:
dependencies:
glob "^7.1.3"
+rimraf@~3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+ dependencies:
+ glob "^7.1.3"
+
+roughjs-es5@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/roughjs-es5/-/roughjs-es5-0.1.0.tgz#7ba4d5fc490948fd75bcab75d94e7106f49f0af6"
+ integrity sha512-NMjzoBgSYk8qEYLSxzxytS20sfdQV7zg119FZjFDjIDwaqodFcf7QwzKbqM64VeAYF61qogaPLk3cs8Gb+TqZA==
+ dependencies:
+ babel-runtime "^6.26.0"
+
run-async@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
@@ -6104,6 +6672,55 @@ scheduler@^0.15.0:
loose-envify "^1.1.0"
object-assign "^4.1.1"
+semiotic-mark@0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/semiotic-mark/-/semiotic-mark-0.3.1.tgz#7295560740bb1254513d35e07702abc0c257de05"
+ integrity sha512-j7CsNannyJi68Yg5DXDZJrw3wEssBTaeGEvGMaTqPuBlM1kPFXYWvS0dpRzsT/Yopn/kRRyooDR+l6zQCwV+EQ==
+ dependencies:
+ d3-interpolate "^1.1.5"
+ d3-scale "^1.0.3"
+ d3-selection "^1.1.0"
+ d3-shape "^1.2.0"
+ d3-transition "^1.0.3"
+ prop-types "^15.6.0"
+ roughjs-es5 "0.1.0"
+
+semiotic@^1.19.8:
+ version "1.20.5"
+ resolved "https://registry.yarnpkg.com/semiotic/-/semiotic-1.20.5.tgz#326b93b8a5d86b9ddef02c274b00f0ec5e1fd955"
+ integrity sha512-ltPOHshajXkCZlXoPRpfdNfKYgCMC0giT4w31Plf+ifxRW3Kov+oAhPGMf/rXOiOuRXUKv8+y+clgfXC5papmA==
+ dependencies:
+ "@mapbox/polylabel" "1"
+ d3-array "^1.2.0"
+ d3-bboxCollide "^1.0.3"
+ d3-brush "^1.0.6"
+ d3-chord "^1.0.4"
+ d3-collection "^1.0.1"
+ d3-contour "^1.1.1"
+ d3-force "^1.0.2"
+ d3-glyphedge "^1.2.0"
+ d3-hexbin "^0.2.2"
+ d3-hierarchy "^1.1.3"
+ d3-interpolate "^1.1.5"
+ d3-polygon "^1.0.5"
+ d3-sankey-circular "0.25.0"
+ d3-scale "^1.0.3"
+ d3-selection "^1.1.0"
+ d3-shape "^1.2.0"
+ d3-voronoi "^1.0.2"
+ json2csv "^4.5.1"
+ labella "1.1.4"
+ memoize-one "4.0.0"
+ object-assign "4.1.1"
+ polygon-offset "0.3.1"
+ promise "8.0.1"
+ prop-types "15.6.0"
+ react-annotation "^2.1.6"
+ regression "^2.0.1"
+ roughjs-es5 "0.1.0"
+ semiotic-mark "0.3.1"
+ svg-path-bounding-box "1.0.4"
+
semver-compare@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
@@ -6139,6 +6756,11 @@ set-value@^2.0.0, set-value@^2.0.1:
is-plain-object "^2.0.3"
split-string "^3.0.1"
+setimmediate@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+ integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
+
shallow-copy@~0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170"
@@ -6264,7 +6886,7 @@ source-map-url@^0.4.0:
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
-source-map@^0.5.6:
+source-map@^0.5.0, source-map@^0.5.6:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
@@ -6588,12 +7210,41 @@ strong-log-transformer@^2.0.0:
minimist "^1.2.0"
through "^2.3.4"
+styled-components@^4.4.1:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-4.4.1.tgz#e0631e889f01db67df4de576fedaca463f05c2f2"
+ integrity sha512-RNqj14kYzw++6Sr38n7197xG33ipEOktGElty4I70IKzQF1jzaD1U4xQ+Ny/i03UUhHlC5NWEO+d8olRCDji6g==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/traverse" "^7.0.0"
+ "@emotion/is-prop-valid" "^0.8.1"
+ "@emotion/unitless" "^0.7.0"
+ babel-plugin-styled-components ">= 1"
+ css-to-react-native "^2.2.2"
+ memoize-one "^5.0.0"
+ merge-anything "^2.2.4"
+ prop-types "^15.5.4"
+ react-is "^16.6.0"
+ stylis "^3.5.0"
+ stylis-rule-sheet "^0.0.10"
+ supports-color "^5.5.0"
+
+stylis-rule-sheet@^0.0.10:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430"
+ integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==
+
+stylis@^3.5.0:
+ version "3.5.4"
+ resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe"
+ integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==
+
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
-supports-color@^5.3.0:
+supports-color@^5.3.0, supports-color@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
@@ -6607,6 +7258,18 @@ supports-color@^6.1.0:
dependencies:
has-flag "^3.0.0"
+svg-path-bounding-box@1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/svg-path-bounding-box/-/svg-path-bounding-box-1.0.4.tgz#ed73df383c8b47869b6508f058f5748f8833c070"
+ integrity sha1-7XPfODyLR4abZQjwWPV0j4gzwHA=
+ dependencies:
+ svgpath "^2.0.0"
+
+svgpath@^2.0.0:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/svgpath/-/svgpath-2.2.3.tgz#749c673899f92c3a4fc2d5415cf85dec349d9512"
+ integrity sha512-xA0glXYpJ9SYT4JeMp3c0psbqdZsG1c0ywGvdJUPY2FKEgwJV7NgkeYuuQiOxMp+XsK9nCqjm3KDw0LkM1YLXw==
+
symbol-observable@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
@@ -6736,6 +7399,16 @@ through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6:
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
+tinycolor2@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8"
+ integrity sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=
+
+tinyqueue@^1.1.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/tinyqueue/-/tinyqueue-1.2.3.tgz#b6a61de23060584da29f82362e45df1ec7353f3d"
+ integrity sha512-Qz9RgWuO9l8lT+Y9xvbzhPT2efIUIFd69N7eF7tJ9lnQl0iLj1M7peK7IoUGZL9DJHw9XftqLreccfxcQgYLxA==
+
tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
@@ -6743,6 +7416,11 @@ tmp@^0.0.33:
dependencies:
os-tmpdir "~1.0.2"
+to-fast-properties@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
+ integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+
to-object-path@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
@@ -6910,6 +7588,11 @@ typescript@~3.7.1:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.4.tgz#1743a5ec5fef6a1fa9f3e4708e33c81c73876c19"
integrity sha512-A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw==
+typescript@~3.7.3:
+ version "3.7.5"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.5.tgz#0692e21f65fd4108b9330238aac11dd2e177a1ae"
+ integrity sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==
+
typestyle@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/typestyle/-/typestyle-2.0.4.tgz#b8da5feaf8a4f9d1f69066f3cc4659098bd08457"
@@ -6918,6 +7601,11 @@ typestyle@^2.0.4:
csstype "^2.4.0"
free-style "2.6.1"
+ua-parser-js@^0.7.18:
+ version "0.7.21"
+ resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777"
+ integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==
+
uglify-js@^3.1.4:
version "3.7.3"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.7.3.tgz#f918fce9182f466d5140f24bb0ff35c2d32dcc6a"
@@ -6951,6 +7639,11 @@ union-value@^1.0.0:
is-extendable "^0.1.1"
set-value "^2.0.1"
+uniqid@^5.0.3:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-5.2.0.tgz#0d0589a7e9ce07116848126764fbff0b68e74329"
+ integrity sha512-LH8zsvwJ/GL6YtNfSOmMCrI9piraAUjBfw2MCvleNE6a4pVKJwXjG2+HWhkVeFcSg+nmaPKbMrMOoxwQluZ1Mg==
+
unique-filename@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
@@ -7652,6 +8345,13 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
+viz-annotation@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/viz-annotation/-/viz-annotation-0.0.5.tgz#76af6f3538c543a283c0273bd41164c441382ac3"
+ integrity sha512-2l65EVx7AgGGNJQRxYdqScmpZiA5+OvwvcfGEaPZA0SBaQJfJd3dh0CR5fTcgBQoylTopFEMqEcjVEutW0CG6A==
+ dependencies:
+ d3-shape "~1.0.4"
+
vlq@^0.2.2:
version "0.2.3"
resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26"
@@ -7681,6 +8381,11 @@ webidl-conversions@^4.0.2:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
+whatwg-fetch@>=0.10.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb"
+ integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==
+
whatwg-url@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd"