Minor date cleanup

This commit is contained in:
Ozzie Gooen 2020-02-10 20:37:12 +00:00
parent f937a72c0d
commit 7a1145f409
11 changed files with 400 additions and 588 deletions

View File

@ -19,13 +19,14 @@
"author": "",
"license": "MIT",
"dependencies": {
"antd": "^3.26.8",
"antd": "3.17.0",
"autoprefixer": "^9.7.4",
"bs-ant-design-alt": "^2.0.0-alpha.32",
"bs-moment": "^0.4.5",
"bs-ant-design-alt": "2.0.0-alpha.31",
"bs-moment": "0.4.4",
"bs-reform": "9.7.1",
"lenses-ppx": "4.0.0",
"less": "^3.10.3",
"moment": "^2.24.0",
"parcel-bundler": "^1.12.4",
"parcel-plugin-less-js-enabled": "^1.0.2",
"postcss-cli": "^7.1.0",
@ -41,4 +42,4 @@
"moduleserve": "^0.9.0",
"tailwindcss": "^1.2.0"
}
}
}

6
src/App.re Normal file
View File

@ -0,0 +1,6 @@
[@react.component]
let make = () => {
<div className="w-full max-w-screen-xl mx-auto px-6">
<FormBuilder.ModelForm model=EAFunds.Interface.model />
</div>;
};

View File

@ -2,13 +2,10 @@
var React = require("react");
var ReactDOMRe = require("reason-react/src/ReactDOMRe.js");
var Prop$ProbExample = require("./lib/Prop.bs.js");
var EAFunds_Model$ProbExample = require("./Models/EAFunds/EAFunds_Model.bs.js");
var App$ProbExample = require("./App.bs.js");
((import('./styles/index.css')));
ReactDOMRe.renderToElementWithId(React.createElement(Prop$ProbExample.ModelForm.make, {
model: EAFunds_Model$ProbExample.Interface.model
}), "app");
ReactDOMRe.renderToElementWithId(React.createElement(App$ProbExample.make, { }), "app");
/* Not a pure module */

View File

@ -1,5 +1,2 @@
[%bs.raw {|import('./styles/index.css')|}];
ReactDOMRe.renderToElementWithId(
<Prop.ModelForm model=EAFunds_Model.Interface.model />,
"app",
);
ReactDOMRe.renderToElementWithId(<App />, "app");

View File

@ -1,55 +0,0 @@
type fund =
| ANIMAL_WELFARE
| GLOBAL_HEALTH
| LONG_TERM_FUTURE
| META;
type group =
| Fund(fund)
| All;
type output =
| DONATIONS
| PAYOUTS;
type fundWithInfo = {
group,
name: string,
existingDonations: option(float),
existingPayouts: option(float),
};
let makeFundWithInfo = (name, group, existingDonations, existingPayouts) => {
group,
name,
existingDonations,
existingPayouts,
};
let funds = [|
makeFundWithInfo(
"Animal Welfare Fund",
Fund(ANIMAL_WELFARE),
Some(4000.0),
Some(10.0),
),
makeFundWithInfo(
"Global Health Fund",
Fund(GLOBAL_HEALTH),
Some(4000.0),
Some(10.0),
),
makeFundWithInfo(
"Long Term Future Fund",
Fund(LONG_TERM_FUTURE),
Some(4000.0),
Some(10.0),
),
makeFundWithInfo(
"Meta Fund",
Fund(ANIMAL_WELFARE),
Some(4000.0),
Some(10.0),
),
makeFundWithInfo("All", All, None, None),
|];

View File

@ -1,134 +0,0 @@
open EAFunds_Data;
type yearlyNumericDiff = {
meanDiff: float,
stdDiff: float,
};
module PayoutsIfAround = {
let currentYear = 2020.;
let firstYearStdDev = 0.2;
let yearDiff = year => year -. 2020.0;
let yearlyMeanGrowthRateIfNotClosed = (group: group): yearlyNumericDiff => {
{meanDiff: 1.1, stdDiff: 1.1};
};
let calculateDifference =
(currentValue, yearInQuestion, y: yearlyNumericDiff) => {
let yearDiff = yearDiff(yearInQuestion);
let meanDiff = Js.Math.pow_float(~base=y.meanDiff, ~exp=yearDiff);
let stdDevDiff = Js.Math.pow_float(~base=y.meanDiff, ~exp=yearDiff);
FloatCdf.normal(currentValue *. meanDiff, firstYearStdDev *. stdDevDiff);
};
let rec currentValue = (group: group, output) => {
let sum = (): float =>
currentValue(Fund(ANIMAL_WELFARE), output)
+. currentValue(Fund(GLOBAL_HEALTH), output)
+. currentValue(Fund(LONG_TERM_FUTURE), output)
+. currentValue(Fund(META), output);
switch (group, output) {
| (Fund(ANIMAL_WELFARE), DONATIONS) => 300000.0
| (Fund(ANIMAL_WELFARE), PAYOUTS) => 2300000.0
| (Fund(GLOBAL_HEALTH), DONATIONS) => 1000000.0
| (Fund(GLOBAL_HEALTH), PAYOUTS) => 500000.0
| (Fund(LONG_TERM_FUTURE), DONATIONS) => 600000.0
| (Fund(LONG_TERM_FUTURE), PAYOUTS) => 120000.0
| (Fund(META), DONATIONS) => 9300000.0
| (Fund(META), PAYOUTS) => 830000.0
| (All, _) => sum()
};
};
};
let go = (group: group, year: float, output: output) => {
PayoutsIfAround.(
Prop.Value.FloatCdf(
calculateDifference(
currentValue(group, output),
year,
yearlyMeanGrowthRateIfNotClosed(group),
),
)
);
};
module Interface = {
open Prop;
let convertChoice = (s: string) =>
switch (s) {
| "animal" => Fund(ANIMAL_WELFARE)
| "globalHealth" => Fund(GLOBAL_HEALTH)
| "longTerm" => Fund(LONG_TERM_FUTURE)
| "meta" => Fund(META)
| _ => All
};
let convertOutput = (s: string) =>
switch (s) {
| "donations" => DONATIONS
| _ => PAYOUTS
};
let run = (p: Combo.t) => {
let get = Prop.ValueMap.get(p.inputValues);
switch (get("Fund"), get("Year"), get("Output")) {
| (
Some(SelectSingle(fund)),
Some(FloatPoint(intendedYear)),
Some(SelectSingle(output)),
) =>
Some(go(convertChoice(fund), intendedYear, convertOutput(output)))
| _ => None
};
};
let model: Model.t = {
name: "Calculate the payments and payouts of EA Funds based on existing data.",
author: "George Harrison",
inputTypes: [|
TypeWithMetadata.make(
~name="Fund",
~type_=
SelectSingle({
default: Some("total"),
options: [
{name: "Animal Welfare Fund", id: "animal"},
{name: "Global Health Fund", id: "globalHealth"},
{name: "Long Term Future Fund", id: "longTerm"},
{name: "Meta Fund", id: "longterm"},
{name: "All", id: "all"},
],
}),
(),
),
TypeWithMetadata.make(
~name="Year",
~type_=
Year({
default: Some(2030.0),
min: Some(2020.0),
max: Some(2050.0),
}),
(),
),
TypeWithMetadata.currentYear,
TypeWithMetadata.make(
~name="Output",
~type_=
SelectSingle({
default: Some("Output"),
options: [
{name: "Donations", id: "donations"},
{name: "Funding", id: "funding"},
],
}),
(),
),
|],
outputTypes: [||],
run,
};
};

62
src/lib/FormBuilder.re Normal file
View File

@ -0,0 +1,62 @@
open Prop;
type formState = {
combo: Combo.t,
setCombo: (Combo.t => Combo.t) => unit,
setInputValue: (Combo.t, string, option(Value.t)) => unit,
};
let makeHelpers = (combo): formState => {
let (combo, setCombo) = React.useState(() => combo);
let setInputValue = (combo, id, newValue) =>
setCombo(_ => Combo.updateInputValue(combo, id, newValue));
{combo, setCombo, setInputValue};
};
module ModelForm = {
let handleChange = (handleChange, event) =>
handleChange(ReactEvent.Form.target(event)##value);
[@react.component]
let make = (~model: Model.t) => {
let formState = makeHelpers(Combo.fromModel(model));
<div>
<form
className="bg-white rounded px-8 pt-6 pb-8 mb-4 mt-6 border-gray-200 border-solid border-2">
<h1 className="text-gray-800 text-xl font-bold">
{model.name |> ReasonReact.string}
</h1>
<p> {model.description |> ReasonReact.string} </p>
<p> {model.author |> ReasonReact.string} </p>
{Combo.inputTypeValuePairs(formState.combo)
|> E.A.fmap(((type_: TypeWithMetadata.t, value)) =>
<div className="box-border">
<label
className="block text-gray-700 text-sm font-bold mb-2 w-32 mt-3">
{type_.name |> ReasonReact.string}
</label>
<ValueForm
key={type_.id}
type_
value
onChange={newValue =>
formState.setInputValue(
formState.combo,
type_.id,
newValue,
)
}
/>
</div>
)
|> ReasonReact.array}
<div className="bg-green-100 p-2 rounded-sm mt-6 text-lg">
{model.run(formState.combo)
|> E.O.fmap(Value.to_string)
|> E.O.default("")
|> ReasonReact.string}
</div>
</form>
</div>;
};
};

View File

@ -1,6 +1,7 @@
module Value = {
type t =
| SelectSingle(string)
| DateTime(MomentRe.Moment.t)
| FloatPoint(float)
| FloatCdf(string);
@ -8,6 +9,7 @@ module Value = {
switch (t) {
| SelectSingle(r) => r
| FloatCdf(r) => r
| DateTime(r) => r |> MomentRe.Moment.defaultFormat
| FloatPoint(r) => r |> Js.Float.toFixed
};
};
@ -35,6 +37,7 @@ module Type = {
type t =
| SelectSingle(selectSingle)
| FloatPoint(withDefaultMinMax(float))
| DateTime(withDefaultMinMax(MomentRe.Moment.t))
| Year(withDefaultMinMax(float))
| FloatCdf;
@ -42,6 +45,7 @@ module Type = {
switch (t) {
| Year(r) => r.default->Belt.Option.map(p => Value.FloatPoint(p))
| FloatPoint(r) => r.default->Belt.Option.map(p => Value.FloatPoint(p))
| DateTime(r) => r.default->Belt.Option.map(p => Value.DateTime(p))
| SelectSingle(r) =>
r.default->Belt.Option.map(p => Value.SelectSingle(p))
| FloatCdf => None
@ -96,14 +100,17 @@ module TypeWithMetadata = {
assumptionType,
};
// TODO: Change default here
let currentYear =
make(
~id="currentYear",
~name="Current Year",
~description=None,
~type_=
Year({default: Some(2050.), min: Some(2020.0), max: Some(2050.0)}),
DateTime({
default: Some(MomentRe.momentNow()),
min: Some(MomentRe.momentNow()),
max: Some(MomentRe.momentNow()),
}),
~assumptionType=ASSUMPTION,
(),
);
@ -112,7 +119,9 @@ module TypeWithMetadata = {
module Model = {
type t = {
name: string,
description: string,
author: string,
version: string,
inputTypes: array(TypeWithMetadata.t),
outputTypes: array(TypeWithMetadata.t),
run: combo => option(Value.t),
@ -166,97 +175,4 @@ module Combo = {
};
let run = (t: t, f): ValueMap.t => f(t.inputValues);
};
module ValueForm = {
let handleChange = (handleChange, event) =>
handleChange(ReactEvent.Form.target(event)##value);
type onChange = option(Value.t) => unit;
[@react.component]
let make =
(
~type_: TypeWithMetadata.t,
~value: option(Value.t),
~onChange: onChange,
) => {
switch (type_.type_, value) {
| (Year(_), Some(FloatPoint(r))) =>
<input
type_="number"
value={r |> Js.Float.toString}
onChange={handleChange(r =>
switch (Js.Float.fromString(r)) {
| r => onChange(Some(Value.FloatPoint(r)))
}
)}
/>
| (FloatPoint(_), Some(FloatPoint(r))) =>
<input
type_="number"
value={r |> Js.Float.toString}
onChange={handleChange(r =>
switch (Js.Float.fromString(r)) {
| r => onChange(Some(Value.FloatPoint(r)))
}
)}
/>
| (Year(_), _)
| (FloatPoint(_), _) => <input type_="number" value="" />
| (SelectSingle(t), Some(SelectSingle(r))) =>
<select
defaultValue=r
onChange={handleChange(l => onChange(Some(Value.SelectSingle(l))))}>
{t.options
|> E.A.of_list
|> E.A.fmap((l: Type.selectOption) =>
<option value={l.id} key={l.id}>
{l.name |> ReasonReact.string}
</option>
)
|> ReasonReact.array}
</select>
};
};
};
type formState = {
combo: Combo.t,
setCombo: (Combo.t => Combo.t) => unit,
setInputValue: (Combo.t, string, option(Value.t)) => unit,
};
let makeHelpers = (combo): formState => {
let (combo, setCombo) = React.useState(() => combo);
let setInputValue = (combo, id, newValue) =>
setCombo(_ => Combo.updateInputValue(combo, id, newValue));
{combo, setCombo, setInputValue};
};
module ModelForm = {
let handleChange = (handleChange, event) =>
handleChange(ReactEvent.Form.target(event)##value);
[@react.component]
let make = (~model: Model.t) => {
let formState = makeHelpers(Combo.fromModel(model));
<div>
{Combo.inputTypeValuePairs(formState.combo)
|> E.A.fmap(((type_, value)) =>
<ValueForm
key={type_.id}
type_
value
onChange={newValue =>
formState.setInputValue(formState.combo, type_.id, newValue)
}
/>
)
|> ReasonReact.array}
{model.run(formState.combo)
|> E.O.fmap(Value.to_string)
|> E.O.default("")
|> ReasonReact.string}
</div>;
};
};

63
src/lib/ValueForm.re Normal file
View File

@ -0,0 +1,63 @@
open Prop;
let handleChange = (handleChange, event) =>
handleChange(ReactEvent.Form.target(event)##value);
type onChange = option(Value.t) => unit;
[@react.component]
let make =
(
~type_: TypeWithMetadata.t,
~value: option(Value.t),
~onChange: onChange,
) => {
switch (type_.type_, value) {
| (Year(_), Some(FloatPoint(r))) =>
<input
className="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline"
type_="number"
value={r |> Js.Float.toString}
onChange={handleChange(r =>
switch (Js.Float.fromString(r)) {
| r => onChange(Some(Value.FloatPoint(r)))
}
)}
/>
| (FloatPoint(_), Some(FloatPoint(r))) =>
<input
className="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline"
type_="number"
value={r |> Js.Float.toString}
onChange={handleChange(r =>
switch (Js.Float.fromString(r)) {
| r => onChange(Some(Value.FloatPoint(r)))
}
)}
/>
| (Year(_), _)
| (FloatPoint(_), _) => <input type_="number" value="" />
| (SelectSingle(t), Some(SelectSingle(r))) =>
<select
defaultValue=r
className="block appearance-none w-full bg-white border border-gray-400 hover:border-gray-500 px-4 py-2 pr-8 rounded shadow leading-tight focus:outline-none focus:shadow-outline"
onChange={handleChange(l => onChange(Some(Value.SelectSingle(l))))}>
{t.options
|> E.A.of_list
|> E.A.fmap((l: Type.selectOption) =>
<option value={l.id} key={l.id}>
{l.name |> ReasonReact.string}
</option>
)
|> ReasonReact.array}
</select>
| (DateTime(_), Some(DateTime((d: MomentRe.Moment.t)))) =>
<input
type_="date"
value={MomentRe.Moment.format("YYYY-MM-DD", d)}
onChange={handleChange(r =>
onChange(
Some(Value.DateTime(MomentRe.momentWithFormat(r, "YYYY-MM-DD"))),
)
)}
/>
};
};

226
src/models/EAFunds.re Normal file
View File

@ -0,0 +1,226 @@
module Data = {
type fund =
| ANIMAL_WELFARE
| GLOBAL_HEALTH
| LONG_TERM_FUTURE
| META;
type group =
| Fund(fund)
| All;
type output =
| DONATIONS
| PAYOUTS;
type fundWithInfo = {
group,
name: string,
existingDonations: option(float),
existingPayouts: option(float),
};
let makeFundWithInfo = (name, group, existingDonations, existingPayouts) => {
group,
name,
existingDonations,
existingPayouts,
};
let funds = [|
makeFundWithInfo(
"Animal Welfare Fund",
Fund(ANIMAL_WELFARE),
Some(4000.0),
Some(10.0),
),
makeFundWithInfo(
"Global Health Fund",
Fund(GLOBAL_HEALTH),
Some(4000.0),
Some(10.0),
),
makeFundWithInfo(
"Long Term Future Fund",
Fund(LONG_TERM_FUTURE),
Some(4000.0),
Some(10.0),
),
makeFundWithInfo(
"Meta Fund",
Fund(ANIMAL_WELFARE),
Some(4000.0),
Some(10.0),
),
makeFundWithInfo("All", All, None, None),
|];
};
module Model = {
open Data;
let currentYear = 2020.;
let firstYearStdDev = 0.2;
type yearlyNumericDiff = {
meanDiff: float,
stdDiff: float,
};
let yearlyMeanGrowthRateIfNotClosed = (group: group): yearlyNumericDiff => {
{meanDiff: 1.1, stdDiff: 1.1};
};
let calculateDifference =
(currentValue, dateTime, currentDateTime, y: yearlyNumericDiff) => {
let yearDiff = MomentRe.diff(dateTime, currentDateTime, `days) /. 365.;
let meanDiff = Js.Math.pow_float(~base=y.meanDiff, ~exp=yearDiff);
let stdDevDiff = Js.Math.pow_float(~base=y.meanDiff, ~exp=yearDiff);
FloatCdf.normal(currentValue *. meanDiff, firstYearStdDev *. stdDevDiff);
};
let rec currentValue = (group: group, output) => {
let sum = (): float =>
currentValue(Fund(ANIMAL_WELFARE), output)
+. currentValue(Fund(GLOBAL_HEALTH), output)
+. currentValue(Fund(LONG_TERM_FUTURE), output)
+. currentValue(Fund(META), output);
switch (group, output) {
| (Fund(ANIMAL_WELFARE), DONATIONS) => 300000.0
| (Fund(ANIMAL_WELFARE), PAYOUTS) => 2300000.0
| (Fund(GLOBAL_HEALTH), DONATIONS) => 1000000.0
| (Fund(GLOBAL_HEALTH), PAYOUTS) => 500000.0
| (Fund(LONG_TERM_FUTURE), DONATIONS) => 600000.0
| (Fund(LONG_TERM_FUTURE), PAYOUTS) => 120000.0
| (Fund(META), DONATIONS) => 9300000.0
| (Fund(META), PAYOUTS) => 830000.0
| (All, _) => sum()
};
};
let make =
(
group: group,
dateTime: MomentRe.Moment.t,
currentDateTime: MomentRe.Moment.t,
output: output,
) => {
Prop.Value.FloatCdf(
calculateDifference(
currentValue(group, output),
dateTime,
currentDateTime,
yearlyMeanGrowthRateIfNotClosed(group),
),
);
};
};
module Interface = {
open Data;
let convertChoice = (s: string) =>
switch (s) {
| "animal" => Fund(ANIMAL_WELFARE)
| "globalHealth" => Fund(GLOBAL_HEALTH)
| "longTerm" => Fund(LONG_TERM_FUTURE)
| "meta" => Fund(META)
| _ => All
};
let convertOutput = (s: string) =>
switch (s) {
| "donations" => DONATIONS
| _ => PAYOUTS
};
let run = (p: Prop.Combo.t) => {
let get = Prop.ValueMap.get(p.inputValues);
switch (
get("Fund"),
get("Day"),
get(Prop.TypeWithMetadata.currentYear.id),
get("Output"),
) {
| (
Some(SelectSingle(fund)),
Some(DateTime(intendedYear)),
Some(DateTime(currentYear)),
Some(SelectSingle(output)),
) =>
Some(
Model.make(
convertChoice(fund),
intendedYear,
currentYear,
convertOutput(output),
),
)
| _ => None
};
};
let model: Prop.Model.t =
Prop.{
name: "EA Funds: Donations & Payouts",
description: "Calculate the payments and payouts of EA Funds based on existing data.",
version: "1.0.0",
author: "Ozzie Gooen",
inputTypes: [|
TypeWithMetadata.make(
~name="Fund",
~type_=
SelectSingle({
default: Some("total"),
options: [
{name: "Animal Welfare Fund", id: "animal"},
{name: "Global Health Fund", id: "globalHealth"},
{name: "Long Term Future Fund", id: "longTerm"},
{name: "Meta Fund", id: "longterm"},
{name: "All", id: "all"},
],
}),
(),
),
TypeWithMetadata.make(
~name="Day",
~type_=
DateTime({
default:
Some(
MomentRe.Moment.add(
~duration=MomentRe.duration(5., `years),
MomentRe.momentNow(),
),
),
min:
Some(
MomentRe.Moment.subtract(
~duration=MomentRe.duration(20., `years),
MomentRe.momentNow(),
),
),
max:
Some(
MomentRe.Moment.add(
~duration=MomentRe.duration(20., `years),
MomentRe.momentNow(),
),
),
}),
(),
),
TypeWithMetadata.currentYear,
TypeWithMetadata.make(
~name="Output",
~type_=
SelectSingle({
default: Some("Output"),
options: [
{name: "Donations", id: "donations"},
{name: "Funding", id: "funding"},
],
}),
(),
),
|],
outputTypes: [||],
run,
};
};

315
yarn.lock
View File

@ -2,13 +2,6 @@
# yarn lockfile v1
"@ant-design/colors@^3.1.0":
version "3.2.2"
resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-3.2.2.tgz#5ad43d619e911f3488ebac303d606e66a8423903"
integrity sha512-YKgNbG2dlzqMhA9NtI3/pbY16m3Yl/EeWBRa+lB1X1YaYxHrxNexiQYCLTWO/uDvAjLFMEDU+zR901waBtMtjQ==
dependencies:
tinycolor2 "^1.4.1"
"@ant-design/create-react-context@^0.2.4":
version "0.2.5"
resolved "https://registry.yarnpkg.com/@ant-design/create-react-context/-/create-react-context-0.2.5.tgz#f5f5a9163b4772097712837397ad30e22e79f858"
@ -25,24 +18,11 @@
ant-design-palettes "^1.1.3"
babel-runtime "^6.26.0"
"@ant-design/icons-react@~2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@ant-design/icons-react/-/icons-react-2.0.1.tgz#17a2513571ab317aca2927e58cea25dd31e536fb"
integrity sha512-r1QfoltMuruJZqdiKcbPim3d8LNsVPB733U0gZEUSxBLuqilwsW28K2rCTWSMTjmFX7Mfpf+v/wdiFe/XCqThw==
dependencies:
"@ant-design/colors" "^3.1.0"
babel-runtime "^6.26.0"
"@ant-design/icons@~1.2.0":
version "1.2.1"
resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-1.2.1.tgz#8e19301b1433ec67d6bbd0e892782e2ade561ff9"
integrity sha512-gQx3nH6m1xvebOWh5xibhzVK02aoqHY7JUXUS4doAidSDRWsj5iwKC8Gq9DemDZ4T+bW6xO7jJZN1UsbvcW7Uw==
"@ant-design/icons@~2.1.1":
version "2.1.1"
resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-2.1.1.tgz#7b9c08dffd4f5d41db667d9dbe5e0107d0bd9a4a"
integrity sha512-jCH+k2Vjlno4YWl6g535nHR09PwCEmTBKAG6VqF+rhkrSPRLfgpU2maagwbZPLjaHuU5Jd1DFQ2KJpQuI6uG8w==
"@babel/code-frame@^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"
@ -922,7 +902,7 @@
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8"
integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==
"@types/react-slick@^0.23.3", "@types/react-slick@^0.23.4":
"@types/react-slick@^0.23.3":
version "0.23.4"
resolved "https://registry.yarnpkg.com/@types/react-slick/-/react-slick-0.23.4.tgz#c97e2a9e7e3d1933c68593b8e82752fab1e8ce53"
integrity sha512-vXoIy4GUfB7/YgqubR4H7RALo+pRdMYCeLgWwV3MPwl5pggTlEkFBTF19R7u+LJc85uMqC7RfsbkqPLMQ4ab+A==
@ -1118,66 +1098,6 @@ antd@3.17.0:
shallowequal "^1.1.0"
warning "~4.0.2"
antd@^3.26.8:
version "3.26.8"
resolved "https://registry.yarnpkg.com/antd/-/antd-3.26.8.tgz#e40982c5cdb6c5c2c5f037ead27889b5f71e4ea3"
integrity sha512-Cz9VVGXG3e2qVAfBwC9SfYGe8bhsD/fQr5tiuRWXkQGSJe4FPJEd04u+6QgBCuQ8Y36kBZr1xDiWky6dwoJvsA==
dependencies:
"@ant-design/create-react-context" "^0.2.4"
"@ant-design/icons" "~2.1.1"
"@ant-design/icons-react" "~2.0.1"
"@types/react-slick" "^0.23.4"
array-tree-filter "^2.1.0"
babel-runtime "6.x"
classnames "~2.2.6"
copy-to-clipboard "^3.2.0"
css-animation "^1.5.0"
dom-closest "^0.2.0"
enquire.js "^2.1.6"
is-mobile "^2.1.0"
lodash "^4.17.13"
moment "^2.24.0"
omit.js "^1.0.2"
prop-types "^15.7.2"
raf "^3.4.1"
rc-animate "^2.10.2"
rc-calendar "~9.15.7"
rc-cascader "~0.17.4"
rc-checkbox "~2.1.6"
rc-collapse "~1.11.3"
rc-dialog "~7.6.0"
rc-drawer "~3.1.1"
rc-dropdown "~2.4.1"
rc-editor-mention "^1.1.13"
rc-form "^2.4.10"
rc-input-number "~4.5.0"
rc-mentions "~0.4.0"
rc-menu "~7.5.1"
rc-notification "~3.3.1"
rc-pagination "~1.20.11"
rc-progress "~2.5.0"
rc-rate "~2.5.0"
rc-resize-observer "^0.1.0"
rc-select "~9.2.0"
rc-slider "~8.7.1"
rc-steps "~3.5.0"
rc-switch "~1.9.0"
rc-table "~6.10.5"
rc-tabs "~9.7.0"
rc-time-picker "~3.7.1"
rc-tooltip "~3.7.3"
rc-tree "~2.1.0"
rc-tree-select "~2.9.1"
rc-trigger "^2.6.2"
rc-upload "~2.9.1"
rc-util "^4.16.1"
react-lazy-load "^3.0.13"
react-lifecycles-compat "^3.0.4"
react-slick "~0.25.2"
resize-observer-polyfill "^1.5.1"
shallowequal "^1.1.0"
warning "~4.0.3"
anymatch@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
@ -1533,16 +1453,21 @@ browserslist@^4.0.0, browserslist@^4.1.0, browserslist@^4.8.3, browserslist@^4.8
electron-to-chromium "^1.3.341"
node-releases "^1.1.47"
bs-ant-design-alt@^2.0.0-alpha.32:
version "2.0.0-alpha.32"
resolved "https://registry.yarnpkg.com/bs-ant-design-alt/-/bs-ant-design-alt-2.0.0-alpha.32.tgz#544319a084ae870bfb7514d492f8ea4aa61a3982"
integrity sha512-FTf+SHAIbUBGT6VClbUZrd1TjNJXTdq1hMv2DSowWWJpXlVOH0NjXxUvTkL8cAwNTd6peWTaLLkdk79frI7kLA==
bs-ant-design-alt@2.0.0-alpha.31:
version "2.0.0-alpha.31"
resolved "https://registry.yarnpkg.com/bs-ant-design-alt/-/bs-ant-design-alt-2.0.0-alpha.31.tgz#425003babaf47eefdc81cb392d9f224bc18c651a"
integrity sha512-N0wmBksjgyQ4ioLi6L/gTt8852ghrmdYOBvs7onckEQ/O86eYRbKSMGL8cqMvUYJLB3IxKXSS89cssApqzGpTw==
dependencies:
antd "3.17.0"
bs-moment "^0.4.4"
re-classnames "^4.0.0"
bs-moment@^0.4.4, bs-moment@^0.4.5:
bs-moment@0.4.4:
version "0.4.4"
resolved "https://registry.yarnpkg.com/bs-moment/-/bs-moment-0.4.4.tgz#3d59767e8cd0107393c4f371e15b95bf862ceaac"
integrity sha512-fAcofbF1bTj6fuwk4cCZ0Teod75dhXPulnNhRwx7+PTtccNMdn35SCb98JxwrprQgCvoZircIgmu8nGLsOaqaA==
bs-moment@^0.4.4:
version "0.4.5"
resolved "https://registry.yarnpkg.com/bs-moment/-/bs-moment-0.4.5.tgz#3f84fed55c2a70d25b0b6025e4e8d821fcdd4dc8"
integrity sha512-anPYkFSof+X8EeomnP0fbQBvWFJeganwPqqARVB+fcdKYX2Uog/n3CCiFGEA+66yHbwnWZD5YFhtHCuyLMcQfQ==
@ -1922,7 +1847,7 @@ copy-descriptor@^0.1.0:
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
copy-to-clipboard@^3.0.8, copy-to-clipboard@^3.2.0:
copy-to-clipboard@^3.0.8:
version "3.2.1"
resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.2.1.tgz#b1a1137100e5665d5a96015cb579e30e90e07c44"
integrity sha512-btru1Q6RD9wbonIvEU5EfnhIRGHLo//BGXQ1hNAD2avIs/nBZlpbOeKtv3mhoUByN4DB9Cb6/vXBymj1S43KmA==
@ -3447,11 +3372,6 @@ is-html@^1.1.0:
dependencies:
html-tags "^1.0.0"
is-mobile@^2.1.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/is-mobile/-/is-mobile-2.2.0.tgz#72b19ab033deb0fd15a2d00a23b9b1003f8fa5d9"
integrity sha512-K0DmUqaZqYl6M8ej536uJYAQaBkx+qWph7xl1KRBr31UiGUT0MoFWUoqnIxzXnIeolnK8bkxtKXkZNL6HfSHhQ==
is-number@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
@ -4219,7 +4139,7 @@ object.values@^1.1.0:
function-bind "^1.1.1"
has "^1.0.3"
omit.js@^1.0.0, omit.js@^1.0.2:
omit.js@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/omit.js/-/omit.js-1.0.2.tgz#91a14f0eba84066dfa015bf30e474c47f30bc858"
integrity sha512-/QPc6G2NS+8d4L/cQhbk6Yit1WTB6Us2g84A7A/1+w9d/eRGHyEqC5kkQtHVoHZ5NFWGG7tUGgrhVZwgZanKrQ==
@ -4972,7 +4892,7 @@ promise@^7.1.1:
dependencies:
asap "~2.0.3"
prop-types@15.x, prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2:
prop-types@15.x, prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, 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==
@ -5099,7 +5019,7 @@ rc-align@^2.4.0, rc-align@^2.4.1:
prop-types "^15.5.8"
rc-util "^4.0.4"
rc-animate@2.x, rc-animate@^2.10.1, rc-animate@^2.10.2, rc-animate@^2.3.0, rc-animate@^2.5.4, rc-animate@^2.6.0, rc-animate@^2.8.2:
rc-animate@2.x, rc-animate@^2.10.1, rc-animate@^2.3.0, rc-animate@^2.5.4, rc-animate@^2.6.0, rc-animate@^2.8.2:
version "2.10.2"
resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-2.10.2.tgz#217fdc76ff26cbf425a5caf87cc8a36ba4598456"
integrity sha512-cE/A7piAzoWFSgUD69NmmMraqCeqVBa51UErod8NS3LUEqWfppSVagHfa0qHAlwPVPiIBg3emRONyny3eiH0Dg==
@ -5139,20 +5059,7 @@ rc-calendar@~9.12.1:
rc-util "^4.1.1"
react-lifecycles-compat "^3.0.4"
rc-calendar@~9.15.7:
version "9.15.9"
resolved "https://registry.yarnpkg.com/rc-calendar/-/rc-calendar-9.15.9.tgz#7a3457ee10f27b9972a755fe6415ef352f01a97a"
integrity sha512-XOPzJlXYmLFIcwalXmzxKZrrAMD6dEPLRVoHG3wbBpErqjE8ugnXVjm9yXgtQh3Ho3Imhmt+KO0WGLv5T4WuAA==
dependencies:
babel-runtime "6.x"
classnames "2.x"
moment "2.x"
prop-types "^15.5.8"
rc-trigger "^2.2.0"
rc-util "^4.1.1"
react-lifecycles-compat "^3.0.4"
rc-cascader@~0.17.0, rc-cascader@~0.17.4:
rc-cascader@~0.17.0:
version "0.17.5"
resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-0.17.5.tgz#4fde91d23b7608c420263c38eee9c0687f80f7dc"
integrity sha512-WYMVcxU0+Lj+xLr4YYH0+yXODumvNXDcVEs5i7L1mtpWwYkubPV/zbQpn+jGKFCIW/hOhjkU4J1db8/P/UKE7A==
@ -5165,7 +5072,7 @@ rc-cascader@~0.17.0, rc-cascader@~0.17.4:
shallow-equal "^1.0.0"
warning "^4.0.1"
rc-checkbox@~2.1.5, rc-checkbox@~2.1.6:
rc-checkbox@~2.1.5:
version "2.1.8"
resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-2.1.8.tgz#eedd9ef9c2f3af5b3b8e5cde5254aa89ad1a880a"
integrity sha512-6qOgh0/by0nVNASx6LZnhRTy17Etcgav+IrI7kL9V9kcDZ/g7K14JFlqrtJ3NjDq/Kyn+BPI1st1XvbkhfaJeg==
@ -5175,7 +5082,7 @@ rc-checkbox@~2.1.5, rc-checkbox@~2.1.6:
prop-types "15.x"
react-lifecycles-compat "^3.0.4"
rc-collapse@~1.11.1, rc-collapse@~1.11.3:
rc-collapse@~1.11.1:
version "1.11.8"
resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-1.11.8.tgz#66a40089d469519e9424009ab1c927e214041d80"
integrity sha512-8EhfPyScTYljkbRuIoHniSwZagD5UPpZ3CToYgoNYWC85L2qCbPYF7+OaC713FOrIkp6NbfNqXsITNxmDAmxog==
@ -5197,15 +5104,6 @@ rc-dialog@~7.3.0:
rc-animate "2.x"
rc-util "^4.4.0"
rc-dialog@~7.6.0:
version "7.6.0"
resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-7.6.0.tgz#6467b75f5b60038129bf2e1b003b264281949c09"
integrity sha512-N48vBPW8I53WycFHI4KXhuTUkB4mx+hixq1a9tcFMLoE7EhkAjbHvs0vGg+Bh/uFg5V00jmZBgQOIEbhcNal/A==
dependencies:
babel-runtime "6.x"
rc-animate "2.x"
rc-util "^4.16.1"
rc-drawer@~1.8.0:
version "1.8.3"
resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-1.8.3.tgz#5d477e254419569f1d54b097c4161921b73238b8"
@ -5216,15 +5114,6 @@ rc-drawer@~1.8.0:
prop-types "^15.5.0"
rc-util "^4.5.1"
rc-drawer@~3.1.1:
version "3.1.3"
resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-3.1.3.tgz#cbcb04d4c07f0b66f2ece11d847f4a1bd80ea0b7"
integrity sha512-2z+RdxmzXyZde/1OhVMfDR1e/GBswFeWSZ7FS3Fdd0qhgVdpV1wSzILzzxRaT481ItB5hOV+e8pZT07vdJE8kg==
dependencies:
classnames "^2.2.6"
rc-util "^4.16.1"
react-lifecycles-compat "^3.0.4"
rc-dropdown@~2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-2.4.1.tgz#aaef6eb3a5152cdd9982895c2a78d9b5f046cdec"
@ -5249,7 +5138,7 @@ rc-editor-core@~0.8.3:
prop-types "^15.5.8"
setimmediate "^1.0.5"
rc-editor-mention@^1.1.13, rc-editor-mention@^1.1.7:
rc-editor-mention@^1.1.7:
version "1.1.13"
resolved "https://registry.yarnpkg.com/rc-editor-mention/-/rc-editor-mention-1.1.13.tgz#9f1cab1065f86b01523840321790c2ab12ac5e8b"
integrity sha512-3AOmGir91Fi2ogfRRaXLtqlNuIwQpvla7oUnGHS1+3eo7b+fUp5IlKcagqtwUBB5oDNofoySXkLBxzWvSYNp/Q==
@ -5263,7 +5152,7 @@ rc-editor-mention@^1.1.13, rc-editor-mention@^1.1.7:
rc-animate "^2.3.0"
rc-editor-core "~0.8.3"
rc-form@^2.4.0, rc-form@^2.4.10:
rc-form@^2.4.0:
version "2.4.11"
resolved "https://registry.yarnpkg.com/rc-form/-/rc-form-2.4.11.tgz#61ee3ae579259684ae30f2c48f55f0f23a5d3d08"
integrity sha512-8BL+FNlFLTOY/A5X6tU35GQJLSIpsmqpwn/tFAYQTczXc4dMJ33ggtH248Cum8+LS0jLTsJKG2L4Qp+1CkY+sA==
@ -5297,30 +5186,7 @@ rc-input-number@~4.4.0:
rc-util "^4.5.1"
rmc-feedback "^2.0.0"
rc-input-number@~4.5.0:
version "4.5.3"
resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-4.5.3.tgz#ed497c727658e870d3f2a5e5a750d1ee71089f43"
integrity sha512-jBwxX5KDkp2nHOaEoMQ1mZBwWpmmGUuHXF/qralpmN+wDp8rlB6Xvr9d7AHgmzGZhbWIMyLeq6ET6HDDCCjvAA==
dependencies:
babel-runtime "6.x"
classnames "^2.2.0"
prop-types "^15.5.7"
rc-util "^4.5.1"
rmc-feedback "^2.0.0"
rc-mentions@~0.4.0:
version "0.4.2"
resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-0.4.2.tgz#c18ab701efb9e4b75b3851a0c0d2dd698640e246"
integrity sha512-DTZurQzacLXOfVuiHydGzqkq7cFMHXF18l2jZ9PhWUn2cqvOSY3W4osN0Pq29AOMOBpcxdZCzgc7Lb0r/bgkDw==
dependencies:
"@ant-design/create-react-context" "^0.2.4"
classnames "^2.2.6"
rc-menu "^7.4.22"
rc-trigger "^2.6.2"
rc-util "^4.6.0"
react-lifecycles-compat "^3.0.4"
rc-menu@^7.3.0, rc-menu@^7.4.22, rc-menu@~7.5.1:
rc-menu@^7.3.0:
version "7.5.5"
resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-7.5.5.tgz#78cdc817d86fc353a1430b864d3d96c7489600ca"
integrity sha512-4YJXJgrpUGEA1rMftXN7bDhrV5rPB8oBJoHqT+GVXtIWCanfQxEnM3fmhHQhatL59JoAFMZhJaNzhJIk4FUWCQ==
@ -5349,7 +5215,7 @@ rc-menu@~7.4.12:
rc-util "^4.13.0"
resize-observer-polyfill "^1.5.0"
rc-notification@~3.3.0, rc-notification@~3.3.1:
rc-notification@~3.3.0:
version "3.3.1"
resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-3.3.1.tgz#0baa3e70f8d40ab015ce8fa78c260c490fc7beb4"
integrity sha512-U5+f4BmBVfMSf3OHSLyRagsJ74yKwlrQAtbbL5ijoA0F2C60BufwnOcHG18tVprd7iaIjzZt1TKMmQSYSvgrig==
@ -5369,16 +5235,6 @@ rc-pagination@~1.17.7:
prop-types "^15.5.7"
react-lifecycles-compat "^3.0.4"
rc-pagination@~1.20.11:
version "1.20.13"
resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-1.20.13.tgz#aca9dc020e475f77c5335659f7fe5d7cca2f2592"
integrity sha512-oocyyzx0pye957e3iARFg377hafdUc3oC13faGgmopGX/A8rn7tXCdOwVIJthhI6dHVfAcFLgnYQAlcpGXh+Uw==
dependencies:
babel-runtime "6.x"
classnames "^2.2.6"
prop-types "^15.5.7"
react-lifecycles-compat "^3.0.4"
rc-progress@~2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-2.3.0.tgz#cfbd07ff9026c450100980de209a92650e24f313"
@ -5387,14 +5243,6 @@ rc-progress@~2.3.0:
babel-runtime "6.x"
prop-types "^15.5.8"
rc-progress@~2.5.0:
version "2.5.2"
resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-2.5.2.tgz#ab01ba4e5d2fa36fc9f6f058b10b720e7315560c"
integrity sha512-ajI+MJkbBz9zYDuE9GQsY5gsyqPF7HFioZEDZ9Fmc+ebNZoiSeSJsTJImPFCg0dW/5WiRGUy2F69SX1aPtSJgA==
dependencies:
babel-runtime "6.x"
prop-types "^15.5.8"
rc-rate@~2.5.0:
version "2.5.1"
resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.5.1.tgz#55fc5fd23ea9dcc72250b9a889803479f4842961"
@ -5405,15 +5253,6 @@ rc-rate@~2.5.0:
rc-util "^4.3.0"
react-lifecycles-compat "^3.0.4"
rc-resize-observer@^0.1.0:
version "0.1.3"
resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-0.1.3.tgz#097191f9c3ab186ed907b553ba6ef565df11c249"
integrity sha512-uzOQEwx83xdQSFOkOAM7x7GHIQKYnrDV4dWxtCxyG1BS1pkfJ4EvDeMfsvAJHSYkQXVBu+sgRHGbRtLG3qiuUg==
dependencies:
classnames "^2.2.1"
rc-util "^4.13.0"
resize-observer-polyfill "^1.5.1"
rc-select@~9.1.0:
version "9.1.5"
resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-9.1.5.tgz#6811dd5f984e876cd6baa4767aaf6c152a4a1004"
@ -5432,24 +5271,6 @@ rc-select@~9.1.0:
react-lifecycles-compat "^3.0.2"
warning "^4.0.2"
rc-select@~9.2.0:
version "9.2.3"
resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-9.2.3.tgz#64340e2d6ef64e8bc3cfc6f468ffd28625589ac2"
integrity sha512-WhswxOMWiNnkXRbxyrj0kiIvyCfo/BaRPaYbsDetSIAU2yEDwKHF798blCP5u86KLOBKBvtxWLFCkSsQw1so5w==
dependencies:
babel-runtime "^6.23.0"
classnames "2.x"
component-classes "1.x"
dom-scroll-into-view "1.x"
prop-types "^15.5.8"
raf "^3.4.0"
rc-animate "2.x"
rc-menu "^7.3.0"
rc-trigger "^2.5.4"
rc-util "^4.0.4"
react-lifecycles-compat "^3.0.2"
warning "^4.0.2"
rc-slider@~8.6.5:
version "8.6.13"
resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-8.6.13.tgz#88a8150c2dda6709f3f119135de11fba80af765b"
@ -5463,20 +5284,6 @@ rc-slider@~8.6.5:
shallowequal "^1.0.1"
warning "^4.0.3"
rc-slider@~8.7.1:
version "8.7.1"
resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-8.7.1.tgz#9ed07362dc93489a38e654b21b8122ad70fd3c42"
integrity sha512-WMT5mRFUEcrLWwTxsyS8jYmlaMsTVCZIGENLikHsNv+tE8ThU2lCoPfi/xFNUfJFNFSBFP3MwPez9ZsJmNp13g==
dependencies:
babel-runtime "6.x"
classnames "^2.2.5"
prop-types "^15.5.4"
rc-tooltip "^3.7.0"
rc-util "^4.0.4"
react-lifecycles-compat "^3.0.4"
shallowequal "^1.1.0"
warning "^4.0.3"
rc-steps@~3.3.0:
version "3.3.1"
resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-3.3.1.tgz#4877e2897331e3bfdb6b789e88aea78f4f15f732"
@ -5487,16 +5294,6 @@ rc-steps@~3.3.0:
lodash "^4.17.5"
prop-types "^15.5.7"
rc-steps@~3.5.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-3.5.0.tgz#36b2a7f1f49907b0d90363884b18623caf9fb600"
integrity sha512-2Vkkrpa7PZbg7qPsqTNzVDov4u78cmxofjjnIHiGB9+9rqKS8oTLPzbW2uiWDr3Lk+yGwh8rbpGO1E6VAgBCOg==
dependencies:
babel-runtime "^6.23.0"
classnames "^2.2.3"
lodash "^4.17.5"
prop-types "^15.5.7"
rc-switch@~1.9.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-1.9.0.tgz#ab2b878f2713c681358a453391976c9b95b290f7"
@ -5506,20 +5303,6 @@ rc-switch@~1.9.0:
prop-types "^15.5.6"
react-lifecycles-compat "^3.0.4"
rc-table@~6.10.5:
version "6.10.11"
resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-6.10.11.tgz#fffe9c1b56de49f04d75bab3e28458e8c7a22f33"
integrity sha512-YcTlpO4RKlcM7Mio2FjcUOqRUyGU4edtOBG4x5kwZNHwZdfBm7m6VQuyQ/i6qec5S67EP86wiFbmKU54Z2HtFQ==
dependencies:
classnames "^2.2.5"
component-classes "^1.2.6"
lodash "^4.17.5"
mini-store "^2.0.0"
prop-types "^15.5.8"
rc-util "^4.13.0"
react-lifecycles-compat "^3.0.2"
shallowequal "^1.0.2"
rc-table@~6.5.0:
version "6.5.1"
resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-6.5.1.tgz#b05ef79127e24b353083f8399dedaa9cbfbd16a2"
@ -5553,23 +5336,6 @@ rc-tabs@~9.6.0:
resize-observer-polyfill "^1.5.1"
warning "^4.0.3"
rc-tabs@~9.7.0:
version "9.7.0"
resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-9.7.0.tgz#ae09695bef5963d6e64e7bc10521c76dfdd8448b"
integrity sha512-kvmgp8/MfLzFZ06hWHignqomFQ5nF7BqKr5O1FfhE4VKsGrep52YSF/1MvS5oe0NPcI9XGNS2p751C5v6cYDpQ==
dependencies:
"@ant-design/create-react-context" "^0.2.4"
babel-runtime "6.x"
classnames "2.x"
lodash "^4.17.5"
prop-types "15.x"
raf "^3.4.1"
rc-hammerjs "~0.6.0"
rc-util "^4.0.4"
react-lifecycles-compat "^3.0.4"
resize-observer-polyfill "^1.5.1"
warning "^4.0.3"
rc-time-picker@~3.6.1:
version "3.6.6"
resolved "https://registry.yarnpkg.com/rc-time-picker/-/rc-time-picker-3.6.6.tgz#343390ad1a3a06b49848c266d8311b3c572ca0d1"
@ -5581,18 +5347,6 @@ rc-time-picker@~3.6.1:
raf "^3.4.1"
rc-trigger "^2.2.0"
rc-time-picker@~3.7.1:
version "3.7.3"
resolved "https://registry.yarnpkg.com/rc-time-picker/-/rc-time-picker-3.7.3.tgz#65a8de904093250ae9c82b02a4905e0f995e23e2"
integrity sha512-Lv1Mvzp9fRXhXEnRLO4nW6GLNxUkfAZ3RsiIBsWjGjXXvMNjdr4BX/ayElHAFK0DoJqOhm7c5tjmIYpEOwcUXg==
dependencies:
classnames "2.x"
moment "2.x"
prop-types "^15.5.8"
raf "^3.4.1"
rc-trigger "^2.2.0"
react-lifecycles-compat "^3.0.4"
rc-tooltip@^3.7.0, rc-tooltip@~3.7.3:
version "3.7.3"
resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-3.7.3.tgz#280aec6afcaa44e8dff0480fbaff9e87fc00aecc"
@ -5668,17 +5422,7 @@ rc-upload@~2.6.0:
prop-types "^15.5.7"
warning "4.x"
rc-upload@~2.9.1:
version "2.9.4"
resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-2.9.4.tgz#8e34a73a468d7907fe31982c38100e4593857d32"
integrity sha512-WXt0HGxXyzLrPV6iec/96Rbl/6dyrAW8pKuY6wwD7yFYwfU5bjgKjv7vC8KNMJ6wzitFrZjnoiogNL3dF9dj3Q==
dependencies:
babel-runtime "6.x"
classnames "^2.2.5"
prop-types "^15.5.7"
warning "4.x"
rc-util@^4.0.4, rc-util@^4.1.1, rc-util@^4.13.0, rc-util@^4.15.3, rc-util@^4.15.7, rc-util@^4.16.1, rc-util@^4.3.0, rc-util@^4.4.0, rc-util@^4.5.0, rc-util@^4.5.1, rc-util@^4.6.0:
rc-util@^4.0.4, rc-util@^4.1.1, rc-util@^4.13.0, rc-util@^4.15.3, rc-util@^4.15.7, rc-util@^4.3.0, rc-util@^4.4.0, rc-util@^4.5.0, rc-util@^4.5.1:
version "4.19.0"
resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-4.19.0.tgz#f3b5e3a02cc0a667d127784068e1236c095dbcbf"
integrity sha512-mptALlLwpeczS3nrv83DbwJNeupolbuvlIEjcvimSiWI8NUBjpF0HgG3kWp1RymiuiRCNm9yhaXqDz0a99dpgQ==
@ -5735,17 +5479,6 @@ react-slick@~0.24.0:
lodash.debounce "^4.0.8"
resize-observer-polyfill "^1.5.0"
react-slick@~0.25.2:
version "0.25.2"
resolved "https://registry.yarnpkg.com/react-slick/-/react-slick-0.25.2.tgz#56331b67d47d8bcfe2dceb6acab1c8fd5bd1f6bc"
integrity sha512-8MNH/NFX/R7zF6W/w+FS5VXNyDusF+XDW1OU0SzODEU7wqYB+ZTGAiNJ++zVNAVqCAHdyCybScaUB+FCZOmBBw==
dependencies:
classnames "^2.2.5"
enquire.js "^2.1.6"
json2mq "^0.2.0"
lodash.debounce "^4.0.8"
resize-observer-polyfill "^1.5.0"
react@>=16.8.1, react@^16.8.1:
version "16.12.0"
resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83"
@ -6910,7 +6643,7 @@ w3c-xmlserializer@^1.1.2:
webidl-conversions "^4.0.2"
xml-name-validator "^3.0.0"
warning@4.x, warning@^4.0.1, warning@^4.0.2, warning@^4.0.3, warning@~4.0.2, warning@~4.0.3:
warning@4.x, warning@^4.0.1, warning@^4.0.2, warning@^4.0.3, warning@~4.0.2:
version "4.0.3"
resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3"
integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==