diff --git a/package.json b/package.json
index 98530c6b..f466582c 100644
--- a/package.json
+++ b/package.json
@@ -58,7 +58,8 @@
"reason-react": ">=0.7.0",
"reschema": "1.3.0",
"tailwindcss": "1.2.0",
- "victory": "^30.3.1"
+ "vega": "5.11.1",
+ "vega-embed": "6.6.0"
},
"devDependencies": {
"@glennsl/bs-jest": "^0.5.1",
diff --git a/src/components/DistBuilder.re b/src/components/DistBuilder.re
index c3c51944..beebae51 100644
--- a/src/components/DistBuilder.re
+++ b/src/components/DistBuilder.re
@@ -189,9 +189,13 @@ module DemoDist = {
Ok(`DistPlus(distPlus3)),
) =>
<>
-
-
-
+
>
| (Error(r), _, _) => r |> R.ste
| _ => "Failure " |> R.ste
@@ -217,7 +221,7 @@ let make = () => {
~onSubmit=({state}) => {None},
~initialState={
//guesstimatorString: "mm(normal(-10, 2), uniform(18, 25), lognormal({mean: 10, stdev: 8}), triangular(31,40,50))",
- guesstimatorString: "mm(1, 2, 3, normal(2, 1))", // , triangular(30, 40, 60)
+ guesstimatorString: "foo(t) = mm(normal(5,t));foo", // , triangular(30, 40, 60)
domainType: "Complete",
xPoint: "50.0",
xPoint2: "60.0",
@@ -344,40 +348,6 @@ let make = () => {
};
- Victory.(
-
-
-
-
- )
demoDist
diff --git a/src/components/charts/DistributionPlot/PercentilesChart.js b/src/components/charts/DistributionPlot/PercentilesChart.js
new file mode 100644
index 00000000..96b850f8
--- /dev/null
+++ b/src/components/charts/DistributionPlot/PercentilesChart.js
@@ -0,0 +1,49 @@
+import * as _ from 'lodash';
+import React from 'react';
+import * as vega from 'vega';
+
+import spec from './spec-percentiles';
+
+export class PercentilesChart extends React.PureComponent {
+
+ constructor(props) {
+ super(props);
+ this.containerRef = React.createRef();
+ this.view = null;
+
+ this.spec = _.cloneDeep(spec);
+ this.spec.data[0].values = this.props.data;
+ }
+
+ componentDidMount() {
+ this.view = new vega.View(vega.parse(this.spec), {
+ renderer: 'canvas',
+ container: this.containerRef.current,
+ hover: true
+ });
+ this.view.addEventListener('mouseover', function (name, value) {
+ console.log("Got event back", name, value)
+ });
+ return this.view.runAsync();
+ }
+
+ componentWillUnmount() {
+ if (this.view) {
+ this.view.finalize();
+ }
+ }
+
+ // https://gist.github.com/simonw/7e4b21d0f3cc1d17eaa314fb3f904843
+ componentDidUpdate() {
+ console.log("Update", this.props);
+ var changeset = vega.changeset().remove(() => true).insert(this.props.data);
+ this.view.change("table", changeset).run()
+ }
+
+
+ render() {
+ return React.createElement("div", {
+ ref: this.containerRef,
+ });
+ }
+}
\ No newline at end of file
diff --git a/src/components/charts/DistributionPlot/PercentilesChart.re b/src/components/charts/DistributionPlot/PercentilesChart.re
new file mode 100644
index 00000000..221198ff
--- /dev/null
+++ b/src/components/charts/DistributionPlot/PercentilesChart.re
@@ -0,0 +1,30 @@
+[@bs.module "./PercentilesChart.js"]
+external percentilesChart: ReasonReact.reactClass = "PercentilesChart";
+
+module Internal = {
+ [@react.component]
+ let make = (~data, ~children=ReasonReact.null) =>
+ ReasonReact.wrapJsForReason(
+ ~reactClass=percentilesChart,
+ ~props={"data": data},
+ children,
+ )
+ |> ReasonReact.element;
+};
+
+[@react.component]
+let make =
+ (~dists: array((float, DistTypes.distPlus)), ~children=ReasonReact.null) => {
+ let data =
+ dists
+ |> E.A.fmap(((x, r)) => {
+ {
+ "x": x,
+ "p5": r |> DistPlus.T.Integral.yToX(0.05),
+ "p50": r |> DistPlus.T.Integral.yToX(0.5),
+ "p95": r |> DistPlus.T.Integral.yToX(0.95),
+ }
+ });
+ Js.log3("Data", dists, data);
+
;
+};
diff --git a/src/components/charts/DistributionPlot/Thing.re b/src/components/charts/DistributionPlot/Thing.re
new file mode 100644
index 00000000..410b875e
--- /dev/null
+++ b/src/components/charts/DistributionPlot/Thing.re
@@ -0,0 +1,11 @@
+
+ [@bs.module "./thingy.js"]
+ external reactClass : ReasonReact.reactClass = "Input";
+
+ [@react.component]
+ let make = (~data=?, ~children=ReasonReact.null) =>
+ ReasonReact.wrapJsForReason(
+ ~reactClass,
+ ~props={"data": Js.Undefined.fromOption(data)},
+ children,
+ )|> ReasonReact.element;
\ No newline at end of file
diff --git a/src/components/charts/DistributionPlot/spec-percentiles.json b/src/components/charts/DistributionPlot/spec-percentiles.json
new file mode 100644
index 00000000..ca397db3
--- /dev/null
+++ b/src/components/charts/DistributionPlot/spec-percentiles.json
@@ -0,0 +1,117 @@
+{
+ "$schema": "https://vega.github.io/schema/vega/v5.json",
+ "width": 900,
+ "height": 200,
+ "padding": 5,
+ "data": [
+ {
+ "name": "facet",
+ "values": [
+ {
+ "x": 1,
+ "p5": 2,
+ "p95": 3,
+ "p50": 2.5
+ },
+ { "x": 2,"p5": 3, "p95": 5, "p50": 4 },
+ {
+
+ "x":3,
+ "p5": 2,
+ "p95": 8,
+ "p50": 5
+ }
+ ],
+ "format": { "type": "json", "parse": { "timestamp": "date" } }
+ },
+ {
+ "name": "table",
+ "source": "facet",
+ "transform": [
+ {
+ "type": "aggregate",
+ "groupby": ["x"],
+ "ops": ["mean", "mean", "mean"],
+ "fields": ["p5", "p95", "p50"],
+ "as": ["p5", "p95", "p50"]
+ }
+ ]
+ }
+ ],
+ "scales": [
+ {
+ "name": "xscale",
+ "type": "linear",
+ "nice": true,
+ "domain": { "data": "facet", "field": "x"},
+ "range": "width"
+ },
+ {
+ "name": "yscale",
+ "type": "linear",
+ "range": "height",
+ "nice": true,
+ "zero": true,
+ "domain": { "data": "facet", "field": "p95" }
+ }
+ ],
+ "axes": [
+ {
+ "orient": "bottom",
+ "scale": "xscale",
+ "grid": false,
+ "title": "X Value",
+ "encode": {
+ "grid": { "enter": { "stroke": { "value": "#ccc" } } },
+ "ticks": { "enter": { "stroke": { "value": "#ccc" } } }
+ }
+ },
+ {
+ "orient": "left",
+ "scale": "yscale",
+ "title": "Values and Percentiles",
+ "grid": false,
+ "domain": false,
+ "tickSize": 2,
+ "encode": {
+ "grid": { "enter": { "stroke": { "value": "#ccc" } } },
+ "ticks": { "enter": { "stroke": { "value": "#ccc" } } }
+ }
+ }
+ ],
+ "marks": [
+ {
+ "type": "area",
+ "from": { "data": "table" },
+ "encode": {
+ "enter": { "fill": { "value": "#C9D6E5" } },
+ "update": {
+ "interpolate": { "value": "monotone" },
+ "x": { "scale": "xscale", "field": "x" },
+ "y": { "scale": "yscale", "field": "p5" },
+ "y2": { "scale": "yscale", "field": "p95" },
+ "opacity": { "value": 0.75 }
+ },
+ "hover": { "opacity": { "value": 0.5 } }
+ }
+ },
+ {
+ "type": "line",
+ "from": { "data": "table" },
+ "encode": {
+ "update": {
+ "interpolate": { "value": "monotone" },
+ "stroke": { "value": "#4C78A8" },
+ "strokeWidth": { "value": 2 },
+ "opacity": { "value": 0.8 }
+ },
+ "hover": { "opacity": { "value": 0.5 } },
+ "enter": {
+ "x": { "scale": "xscale", "field": "x" },
+ "y": { "scale": "yscale", "field": "p50" }
+ }
+ }
+ }
+ ]
+ }
+
\ No newline at end of file
diff --git a/src/components/charts/DistributionPlot/thingy.js b/src/components/charts/DistributionPlot/thingy.js
new file mode 100644
index 00000000..2aef7f10
--- /dev/null
+++ b/src/components/charts/DistributionPlot/thingy.js
@@ -0,0 +1,11 @@
+import React from "react";
+
+export class Input extends React.Component {
+ constructor(props) {
+ super(props);
+ }
+
+ render() {
+ return ( < div > < /div> )
+ }
+ }
\ No newline at end of file
diff --git a/src/components/charts/Victory.re b/src/components/charts/Victory.re
index b41de05c..20a92f8d 100644
--- a/src/components/charts/Victory.re
+++ b/src/components/charts/Victory.re
@@ -1,144 +1,144 @@
-type victoryData = {
- .
- "x": int,
- "y": int,
-};
+// type victoryData = {
+// .
+// "x": int,
+// "y": int,
+// };
-module VictoryTheme = {
- type t;
- [@bs.module "victory-core/es/victory-theme/material"] [@bs.val]
- external material : t = "default";
- [@bs.module "victory-core/es/victory-theme/grayscale"] [@bs.val]
- external grayscale : t = "default";
-};
+// module VictoryTheme = {
+// type t;
+// [@bs.module "victory-core/es/victory-theme/material"] [@bs.val]
+// external material : t = "default";
+// [@bs.module "victory-core/es/victory-theme/grayscale"] [@bs.val]
+// external grayscale : t = "default";
+// };
-module VictoryBar = {
- [@bs.module "victory"]
- external victoryBar : ReasonReact.reactClass = "VictoryBar";
- let make = (~data=?, children) =>
- ReasonReact.wrapJsForReason(
- ~reactClass=victoryBar,
- ~props={"data": Js.Undefined.fromOption(data)},
- children,
- );
-};
+// module VictoryBar = {
+// [@bs.module "victory"]
+// external victoryBar : ReasonReact.reactClass = "VictoryBar";
+// let make = (~data=?, children) =>
+// ReasonReact.wrapJsForReason(
+// ~reactClass=victoryBar,
+// ~props={"data": Js.Undefined.fromOption(data)},
+// children,
+// );
+// };
-module VictoryStack = {
- [@bs.module "victory"]
- external victoryStack : ReasonReact.reactClass = "VictoryStack";
- let make = (~colorScale=?, children) =>
- ReasonReact.wrapJsForReason(
- ~reactClass=victoryStack,
- ~props={"colorScale": Js.Undefined.fromOption(colorScale)},
- children,
- );
-};
+// module VictoryStack = {
+// [@bs.module "victory"]
+// external victoryStack : ReasonReact.reactClass = "VictoryStack";
+// let make = (~colorScale=?, children) =>
+// ReasonReact.wrapJsForReason(
+// ~reactClass=victoryStack,
+// ~props={"colorScale": Js.Undefined.fromOption(colorScale)},
+// children,
+// );
+// };
-module VictoryChart = {
- [@bs.module "victory"]
- external victoryChart : ReasonReact.reactClass = "VictoryChart";
- [@react.component]
- let make =
- (
- ~domainPadding=?,
- ~theme: option(VictoryTheme.t)=?,
- ~scale=?,
- ~maxDomain=?,
- ~minDomain=?,
- ~padding=?,
- ~height=?,
- ~width=?,
- ~children=ReasonReact.null
- ) =>
- ReasonReact.wrapJsForReason(
- ~reactClass=victoryChart,
- ~props={
- "domainPadding": Js.Undefined.fromOption(domainPadding),
- "theme": Js.Undefined.fromOption(theme),
- "scale": Js.Undefined.fromOption(scale),
- "maxDomain": Js.Undefined.fromOption(maxDomain),
- "minDomain": Js.Undefined.fromOption(minDomain),
- "padding": Js.Undefined.fromOption(padding),
- "height": Js.Undefined.fromOption(height),
- "width": Js.Undefined.fromOption(width),
- },
- children,
- ) |> ReasonReact.element
-};
+// module VictoryChart = {
+// [@bs.module "victory"]
+// external victoryChart : ReasonReact.reactClass = "VictoryChart";
+// [@react.component]
+// let make =
+// (
+// ~domainPadding=?,
+// ~theme: option(VictoryTheme.t)=?,
+// ~scale=?,
+// ~maxDomain=?,
+// ~minDomain=?,
+// ~padding=?,
+// ~height=?,
+// ~width=?,
+// ~children=ReasonReact.null
+// ) =>
+// ReasonReact.wrapJsForReason(
+// ~reactClass=victoryChart,
+// ~props={
+// "domainPadding": Js.Undefined.fromOption(domainPadding),
+// "theme": Js.Undefined.fromOption(theme),
+// "scale": Js.Undefined.fromOption(scale),
+// "maxDomain": Js.Undefined.fromOption(maxDomain),
+// "minDomain": Js.Undefined.fromOption(minDomain),
+// "padding": Js.Undefined.fromOption(padding),
+// "height": Js.Undefined.fromOption(height),
+// "width": Js.Undefined.fromOption(width),
+// },
+// children,
+// ) |> ReasonReact.element
+// };
-module VictoryLine = {
- [@bs.module "victory"]
- external victoryLine : ReasonReact.reactClass = "VictoryLine";
+// module VictoryLine = {
+// [@bs.module "victory"]
+// external victoryLine : ReasonReact.reactClass = "VictoryLine";
- [@react.component]
- let make = (~data=?, ~style=?, ~children=ReasonReact.null) =>
- ReasonReact.wrapJsForReason(
- ~reactClass=victoryLine,
- ~props={
- "data": Js.Undefined.fromOption(data),
- "style": Js.Undefined.fromOption(style),
- },
- children,
- ) |> ReasonReact.element
+// [@react.component]
+// let make = (~data=?, ~style=?, ~children=ReasonReact.null) =>
+// ReasonReact.wrapJsForReason(
+// ~reactClass=victoryLine,
+// ~props={
+// "data": Js.Undefined.fromOption(data),
+// "style": Js.Undefined.fromOption(style),
+// },
+// children,
+// ) |> ReasonReact.element
-};
+// };
-module VictoryAxis = {
- [@bs.module "victory"]
- external victoryAxis : ReasonReact.reactClass = "VictoryAxis";
+// module VictoryAxis = {
+// [@bs.module "victory"]
+// external victoryAxis : ReasonReact.reactClass = "VictoryAxis";
- [@react.component]
- let make =
- (
- ~tickValues=?,
- ~height=?,
- ~style=?,
- ~scale=?,
- ~tickFormat: option('a => string)=?,
- ~dependentAxis: option(bool)=?,
- ~children=ReasonReact.null,
- ) =>
- ReasonReact.wrapJsForReason(
- ~reactClass=victoryAxis,
- ~props={
- "height": Js.Undefined.fromOption(height),
- "tickValues": Js.Undefined.fromOption(tickValues),
- "tickFormat": Js.Undefined.fromOption(tickFormat),
- "dependentAxis": Js.Undefined.fromOption(dependentAxis),
- "style": Js.Undefined.fromOption(style),
- "scale": Js.Undefined.fromOption(scale),
- },
- children,
- ) |> ReasonReact.element
-};
+// [@react.component]
+// let make =
+// (
+// ~tickValues=?,
+// ~height=?,
+// ~style=?,
+// ~scale=?,
+// ~tickFormat: option('a => string)=?,
+// ~dependentAxis: option(bool)=?,
+// ~children=ReasonReact.null,
+// ) =>
+// ReasonReact.wrapJsForReason(
+// ~reactClass=victoryAxis,
+// ~props={
+// "height": Js.Undefined.fromOption(height),
+// "tickValues": Js.Undefined.fromOption(tickValues),
+// "tickFormat": Js.Undefined.fromOption(tickFormat),
+// "dependentAxis": Js.Undefined.fromOption(dependentAxis),
+// "style": Js.Undefined.fromOption(style),
+// "scale": Js.Undefined.fromOption(scale),
+// },
+// children,
+// ) |> ReasonReact.element
+// };
-module VictoryArea = {
- [@bs.module "victory"]
- external victoryArea : ReasonReact.reactClass = "VictoryArea";
- let make =
- (~animate=?, ~data=?, ~interpolation="linear", ~style=?, children) =>
- ReasonReact.wrapJsForReason(
- ~reactClass=victoryArea,
- ~props={
- "animate": Js.Undefined.fromOption(animate),
- "data": Js.Undefined.fromOption(data),
- "style": Js.Undefined.fromOption(style),
- "interpolation": interpolation,
- },
- children,
- );
-};
-module VictoryScatter = {
- [@bs.module "victory"]
- external victoryScatter : ReasonReact.reactClass = "victoryScatter";
- let make = (~data=?, ~style=?, children) =>
- ReasonReact.wrapJsForReason(
- ~reactClass=victoryScatter,
- ~props={
- "data": Js.Undefined.fromOption(data),
- "style": Js.Undefined.fromOption(style),
- },
- children,
- );
-};
\ No newline at end of file
+// module VictoryArea = {
+// [@bs.module "victory"]
+// external victoryArea : ReasonReact.reactClass = "VictoryArea";
+// let make =
+// (~animate=?, ~data=?, ~interpolation="linear", ~style=?, children) =>
+// ReasonReact.wrapJsForReason(
+// ~reactClass=victoryArea,
+// ~props={
+// "animate": Js.Undefined.fromOption(animate),
+// "data": Js.Undefined.fromOption(data),
+// "style": Js.Undefined.fromOption(style),
+// "interpolation": interpolation,
+// },
+// children,
+// );
+// };
+// module VictoryScatter = {
+// [@bs.module "victory"]
+// external victoryScatter : ReasonReact.reactClass = "victoryScatter";
+// let make = (~data=?, ~style=?, children) =>
+// ReasonReact.wrapJsForReason(
+// ~reactClass=victoryScatter,
+// ~props={
+// "data": Js.Undefined.fromOption(data),
+// "style": Js.Undefined.fromOption(style),
+// },
+// children,
+// );
+// };
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index a9892204..8cd916e8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3382,7 +3382,7 @@ d3-dsv@1, d3-dsv@^1.2.0:
iconv-lite "0.4"
rw "1"
-d3-ease@1, d3-ease@^1.0.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==
@@ -3440,7 +3440,7 @@ d3-hierarchy@1, d3-hierarchy@^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.1.1, d3-interpolate@^1.2.0, d3-interpolate@^1.4.0:
+d3-interpolate@1, d3-interpolate@^1.2.0, d3-interpolate@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.4.0.tgz#526e79e2d80daa383f9e0c1c1c7dcc0f0583e987"
integrity sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==
@@ -3487,19 +3487,6 @@ d3-scale@2:
d3-time "1"
d3-time-format "2"
-d3-scale@^1.0.0:
- 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@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-3.2.1.tgz#da1684adce7261b4bc7a76fe193d887f0e909e69"
@@ -3516,7 +3503,7 @@ d3-selection@1, d3-selection@^1.1.0:
resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.4.1.tgz#98eedbbe085fbda5bafa2f9e3f3a2f4d7d622a98"
integrity sha512-BTIbRjv/m5rcVTfBs4AMBLKs4x8XaaLkwm28KWu9S2vKNqXkXt2AH2Qf0sdPZHjFxcWg/YL53zcqAz+3g4/7PA==
-d3-shape@1, d3-shape@^1.0.0, d3-shape@^1.2.0, d3-shape@^1.3.7:
+d3-shape@1, d3-shape@^1.3.7:
version "1.3.7"
resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.7.tgz#df63801be07bc986bc54f63789b4fe502992b5d7"
integrity sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==
@@ -3535,7 +3522,7 @@ d3-time@1, d3-time@^1.1.0:
resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.1.0.tgz#b1e19d307dae9c900b7e5b25ffc5dcc249a8a0f1"
integrity sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==
-d3-timer@1, d3-timer@^1.0.0, d3-timer@^1.0.10:
+d3-timer@1, d3-timer@^1.0.10:
version "1.0.10"
resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.10.tgz#dfe76b8a91748831b13b6d9c793ffbd508dd9de5"
integrity sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==
@@ -3552,7 +3539,7 @@ d3-transition@1:
d3-selection "^1.1.0"
d3-timer "1"
-d3-voronoi@1, d3-voronoi@^1.1.2:
+d3-voronoi@1:
version "1.1.4"
resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz#dd3c78d7653d2bb359284ae478645d95944c8297"
integrity sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==
@@ -8390,11 +8377,6 @@ react-dom@>=16.8.1, react-dom@^16.8.0:
prop-types "^15.6.2"
scheduler "^0.19.1"
-react-fast-compare@^2.0.0:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9"
- integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==
-
react-icons-kit@1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/react-icons-kit/-/react-icons-kit-1.3.1.tgz#fbe56ce4379fc4391b4c6dfc1aa96e2b31e23623"
@@ -10451,283 +10433,6 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
-victory-area@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-area/-/victory-area-30.6.1.tgz#03f19be259b1da78f9ab5f7c1297b9ef7eccacad"
- integrity sha512-Ksu0dnS2Ssiiuv/OH/1XK/a3M2D7to20JUkzVSyvm3m1HvKyvRCK4fDuBI2mXFWaX5iT2gJmqtVj6R22b+NOtg==
- dependencies:
- d3-shape "^1.2.0"
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-axis@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-axis/-/victory-axis-30.6.1.tgz#d9eae9b31ec8b78ad9f99383b54ab03f3bf7a0b2"
- integrity sha512-SJFdMDYOLG9EfPovskomeXvb4VOJnTF//DvXCIcw6Ysy6sMpkwvWfpJVKgh9JAzELirW8OSU775f5BcwZ+z1xg==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-bar@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-bar/-/victory-bar-30.6.1.tgz#04793a0c83cc77d695f94a92358a14eec5f1d657"
- integrity sha512-P9v6OAz9w71+cTvRuRm43jtXV9Ag41bGn2RXf7nUgp1M0GFvaFQGujSILdSVsE8zEdyQLmwUxJRSz+s5b6CeSQ==
- dependencies:
- d3-shape "^1.2.0"
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-box-plot@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-box-plot/-/victory-box-plot-30.6.1.tgz#d82e726069d891dd0e54fed04bc75f112a212df4"
- integrity sha512-2UVGOG+E4Nm0LLQyj3q13oAaE8vChAkrOZryTFFtDLZHVw5pUxDzZtWlgysna82tkJQA4vjlcq2h2lbZw9G1Rw==
- dependencies:
- d3-array "^1.2.0"
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-brush-container@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-brush-container/-/victory-brush-container-30.6.1.tgz#2db8c4f3d6e6facfafc69285e8cb6a2f94e2499e"
- integrity sha512-V76eHU0Mn92DgOjnYJVHT+4skHkACBn2wQROd0E9ZFNqqyTa76U/ISD+4ihjNSqy0HfGdaHTjxcjL83E/EfONw==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-brush-line@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-brush-line/-/victory-brush-line-30.6.1.tgz#d0cf8c32f55674fda8c1fcd16d548ea4e1119361"
- integrity sha512-wOeIIPm8BDNqqDJQFfHe6txJ8JPWNKzHeQ6WTiwntw/IN8oLk4cwnbbW5yhQQC6rOniRFZH5iqb5V+zdCLUCWg==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-candlestick@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-candlestick/-/victory-candlestick-30.6.1.tgz#14fa5220ce2ee766c721a71eff0ecab80528e6d1"
- integrity sha512-cF0/jRU8LY14vBWHugU/5Ei1a+Lcc6u1k4o03m7ujKSsBffvVDnj4CN+nR9jwMMEMUeViBiVpY8HfhzFXVQ5KQ==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-chart@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-chart/-/victory-chart-30.6.1.tgz#ee74341b6ec14ef7954161296e8f6e9f4e6c851f"
- integrity sha512-JHP51QSJweuOQqMMqVim5u/vLKnvD3hjANpJdPPzthTrrmm1IPHAMLkUQ0m0tPiKsAf/5E49jDx4mDz7r6IK7w==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- react-fast-compare "^2.0.0"
- victory-axis "^30.6.1"
- victory-core "^30.6.1"
- victory-polar-axis "^30.6.1"
- victory-shared-events "^30.6.1"
-
-victory-core@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-core/-/victory-core-30.6.1.tgz#edb3eb6f8d48dc9953273e7f77fafdedeadf1460"
- integrity sha512-oP5gHIVnpcp6I8oHPLDlIHqaEJ3lWMQHjwOTKr/ICsbabdtWBd0D8AByrV0qaXm8vgUmvyBhQqH2UCXb1Zh+jA==
- dependencies:
- d3-ease "^1.0.0"
- d3-interpolate "^1.1.1"
- d3-scale "^1.0.0"
- d3-shape "^1.2.0"
- d3-timer "^1.0.0"
- lodash "^4.17.5"
- prop-types "^15.5.8"
- react-fast-compare "^2.0.0"
-
-victory-create-container@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-create-container/-/victory-create-container-30.6.1.tgz#f24f4f6269e11ef04a5f2d08831a347e5b01ccfc"
- integrity sha512-Bm23Yk9xzdO8uCK99G+IFFclWx/vpDLea2vcW2MyHlTT2Iwa1HHW8UAYFfwr6858LYMaOa/Y9UV/YvP+twctoA==
- dependencies:
- lodash "^4.17.5"
- victory-brush-container "^30.6.1"
- victory-core "^30.6.1"
- victory-cursor-container "^30.6.1"
- victory-selection-container "^30.6.1"
- victory-voronoi-container "^30.6.1"
- victory-zoom-container "^30.6.1"
-
-victory-cursor-container@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-cursor-container/-/victory-cursor-container-30.6.1.tgz#054ba4a9caf3b32a4b467d77a9c0b0410f54a06e"
- integrity sha512-XjmLUdQWEiv8F+AwfpVvi3kETJz7OCWlpkypbiIJjLvYM8lUeT84boOftMfyw+HRjUAxPQFh1D7yBUvAqrwKiA==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-errorbar@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-errorbar/-/victory-errorbar-30.6.1.tgz#bee14bf0c0853ad841454ec060b290f7588dd7a2"
- integrity sha512-SBowNqH5MBh1GoqA3UF5YVsFB0h0o60IkR5Yjhe/uaGhwyZVAu5X9+BE0CXRq0uDLhOX9GDvqDs59hAe0D3xiw==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-group@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-group/-/victory-group-30.6.1.tgz#59a55858750a3f880860ebe64faf0b21575f3da4"
- integrity sha512-fGt6/+GgsBqFiuzVdzQHRc2joYEDL9Bo2wE8rCH5HAUnj/oI6drKi8euooUpBOIhbOQeycCj7r6BXJvp8H9CfQ==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-legend@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-legend/-/victory-legend-30.6.1.tgz#9f411b07915f058ed17b061e274c622b426e4c08"
- integrity sha512-iadVJSaj+mhT9Crx2eYMF39qTyvn03B5p44OjeLqKcvb0MDElVDsXyYHTwsUgnE4i+YPOFz9+buMaw2UWXU0NA==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-line@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-line/-/victory-line-30.6.1.tgz#ce43f4d68b0faea28025881580b6b3914b427950"
- integrity sha512-JmL17SK4bLkhQEelDoj6QK9KLF8o5uW0aNNxdhSqluFxROLtuixUzvffEYlN0weHCkIR6f/o2PqbujLVtoxOOg==
- dependencies:
- d3-shape "^1.2.0"
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-pie@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-pie/-/victory-pie-30.6.1.tgz#f791286fb9e57b5e575ec51ea5b4275a4aa7d68d"
- integrity sha512-03jIWh/+17j7FX21KSNWSglhb50DqJQ9Jy5+nVAEcTlhIiI3bffuDd9IvoCfXMMwDmoRvaRq1xtXSElq4jZYpw==
- dependencies:
- d3-shape "^1.0.0"
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-polar-axis@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-polar-axis/-/victory-polar-axis-30.6.1.tgz#a8b13e9210627abe70605bf7d8e11d34d66cf632"
- integrity sha512-OQIAKURdTdmOk/rXr+DNeE9xoROEOqmAdanTYXdpeazbYiClSbhcbIypK0Z7qyGziIV8D8W4r4at/mAMA9AkXQ==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-scatter@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-scatter/-/victory-scatter-30.6.1.tgz#96797fefff3d31ede944e95ac51682846705a1a8"
- integrity sha512-UsIne7V/LruhkA5r+BqUa4MNuMGSgOgPyklOOyKur1jrYm83kE3t0T7ObiTrFBLsL7SqVnmxARXW66Lv2GWE+g==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-selection-container@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-selection-container/-/victory-selection-container-30.6.1.tgz#627148c84ae43472682c9f135487035cbdadf6d4"
- integrity sha512-ihv1aGOwu3IX/v94IRawMAlWRMlt/BogrU28FXhhVMdqXemPFkq3J9COq0khGhh+wuqtC1tu9Ni7uw4YA3fdZg==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-shared-events@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-shared-events/-/victory-shared-events-30.6.1.tgz#788e6c45a752c521a3f067675b9b9196fcee552c"
- integrity sha512-4zQ6gfkrQVNtx+bUv+kgNNtVX5Mr6T68Hs2xV4H0f3FrToyFrsXtANGFhAzgmi+00Mk06FVIAIY94tZW3Cej1Q==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-stack@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-stack/-/victory-stack-30.6.1.tgz#873be79c492f0d7ed02ad03bd82e592d6f778ea8"
- integrity sha512-WJk9FIe/GuqXaZsB+vZSTbgIyg53I6cwCtyMvh4Jj3iFWHuRmpVaT7vwJ46/I2WOKLvQWyd0EY380kby5PNUVg==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-tooltip@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-tooltip/-/victory-tooltip-30.6.1.tgz#234e23954c9b4543cee22ac45f9b91325207fe42"
- integrity sha512-Mezqycvoxms6ON6ftBKU8TpB8Ggsiy+1gJREeOt83TfvrIp8DKher33kj83ofD853rPcmRJeMNAz57I1mpXtHA==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-voronoi-container@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-voronoi-container/-/victory-voronoi-container-30.6.1.tgz#58a16af999e0c6ff528905aec812c2fdd5b93dff"
- integrity sha512-rHT7rgYLuetgi67CFyM8N3AgomzNi1/tjjUKC2SmD2qq8bBysVXlyzTh2Zx4aTLVX59XNNGAaLxPjUjkZWYY2g==
- dependencies:
- d3-voronoi "^1.1.2"
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
- victory-tooltip "^30.6.1"
-
-victory-voronoi@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-voronoi/-/victory-voronoi-30.6.1.tgz#d3de9db4997778f2f8acd0427bab14898e137b9e"
- integrity sha512-bxzYmGROFYtpP3EmmcKwHMDAvpIVNYK+7LNOuYwu0z/IHBT//K2EplWAV90IYIvTdKVT75lgqiYsFOWY78L2yw==
- dependencies:
- d3-voronoi "^1.1.2"
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory-zoom-container@^30.6.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory-zoom-container/-/victory-zoom-container-30.6.1.tgz#41ee41e4168f311375508d2ed1b8581f2b437bb6"
- integrity sha512-F/b2l6LJjkR1OF+ioU49yGDW0rJJusKqrOFtcSDbnyeSwKkQGkgJ0T+Nv/TN5jSBdC3Wb/kKtwqHRYCrxtt3Zg==
- dependencies:
- lodash "^4.17.5"
- prop-types "^15.5.8"
- victory-core "^30.6.1"
-
-victory@^30.3.1:
- version "30.6.1"
- resolved "https://registry.yarnpkg.com/victory/-/victory-30.6.1.tgz#607a0ca643bf4f4a32a08a4a4e1a84d601611159"
- integrity sha512-VJAFvZz4s6qT3KhDKLv9qMKtSwLjbRZiuK917KrfomTLYcjMgrA1FckW/8nIn1URwNdkawe4YvgAE0wdtbDO3A==
- dependencies:
- victory-area "^30.6.1"
- victory-axis "^30.6.1"
- victory-bar "^30.6.1"
- victory-box-plot "^30.6.1"
- victory-brush-container "^30.6.1"
- victory-brush-line "^30.6.1"
- victory-candlestick "^30.6.1"
- victory-chart "^30.6.1"
- victory-core "^30.6.1"
- victory-create-container "^30.6.1"
- victory-cursor-container "^30.6.1"
- victory-errorbar "^30.6.1"
- victory-group "^30.6.1"
- victory-legend "^30.6.1"
- victory-line "^30.6.1"
- victory-pie "^30.6.1"
- victory-polar-axis "^30.6.1"
- victory-scatter "^30.6.1"
- victory-selection-container "^30.6.1"
- victory-shared-events "^30.6.1"
- victory-stack "^30.6.1"
- victory-tooltip "^30.6.1"
- victory-voronoi "^30.6.1"
- victory-voronoi-container "^30.6.1"
- victory-zoom-container "^30.6.1"
-
vlq@^0.2.2:
version "0.2.3"
resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26"