diff --git a/package.json b/package.json index 7b3c7758..1e9a215e 100644 --- a/package.json +++ b/package.json @@ -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" } -} \ No newline at end of file +} diff --git a/src/App.re b/src/App.re new file mode 100644 index 00000000..9be2a29b --- /dev/null +++ b/src/App.re @@ -0,0 +1,6 @@ +[@react.component] +let make = () => { +
+ +
; +}; \ No newline at end of file diff --git a/src/Index.bs.js b/src/Index.bs.js index 323c220f..d28cff64 100644 --- a/src/Index.bs.js +++ b/src/Index.bs.js @@ -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 */ diff --git a/src/Index.re b/src/Index.re index 8f1d3a66..b4259c3e 100644 --- a/src/Index.re +++ b/src/Index.re @@ -1,5 +1,2 @@ [%bs.raw {|import('./styles/index.css')|}]; -ReactDOMRe.renderToElementWithId( - , - "app", -); \ No newline at end of file +ReactDOMRe.renderToElementWithId(, "app"); \ No newline at end of file diff --git a/src/Models/EAFunds/EAFunds_Data.re b/src/Models/EAFunds/EAFunds_Data.re deleted file mode 100644 index 33ced1fa..00000000 --- a/src/Models/EAFunds/EAFunds_Data.re +++ /dev/null @@ -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), -|]; \ No newline at end of file diff --git a/src/Models/EAFunds/EAFunds_Model.re b/src/Models/EAFunds/EAFunds_Model.re deleted file mode 100644 index db834045..00000000 --- a/src/Models/EAFunds/EAFunds_Model.re +++ /dev/null @@ -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, - }; -}; \ No newline at end of file diff --git a/src/lib/FormBuilder.re b/src/lib/FormBuilder.re new file mode 100644 index 00000000..b54a7d58 --- /dev/null +++ b/src/lib/FormBuilder.re @@ -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)); +
+
+

+ {model.name |> ReasonReact.string} +

+

{model.description |> ReasonReact.string}

+

{model.author |> ReasonReact.string}

+ {Combo.inputTypeValuePairs(formState.combo) + |> E.A.fmap(((type_: TypeWithMetadata.t, value)) => +
+ + + formState.setInputValue( + formState.combo, + type_.id, + newValue, + ) + } + /> +
+ ) + |> ReasonReact.array} +
+ {model.run(formState.combo) + |> E.O.fmap(Value.to_string) + |> E.O.default("") + |> ReasonReact.string} +
+
+
; + }; +}; \ No newline at end of file diff --git a/src/lib/Prop.re b/src/lib/Prop.re index 1a5bb706..3420f7c1 100644 --- a/src/lib/Prop.re +++ b/src/lib/Prop.re @@ -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))) => - Js.Float.toString} - onChange={handleChange(r => - switch (Js.Float.fromString(r)) { - | r => onChange(Some(Value.FloatPoint(r))) - } - )} - /> - | (FloatPoint(_), Some(FloatPoint(r))) => - Js.Float.toString} - onChange={handleChange(r => - switch (Js.Float.fromString(r)) { - | r => onChange(Some(Value.FloatPoint(r))) - } - )} - /> - | (Year(_), _) - | (FloatPoint(_), _) => - | (SelectSingle(t), Some(SelectSingle(r))) => - - }; - }; -}; - -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)); -
- {Combo.inputTypeValuePairs(formState.combo) - |> E.A.fmap(((type_, value)) => - - formState.setInputValue(formState.combo, type_.id, newValue) - } - /> - ) - |> ReasonReact.array} - {model.run(formState.combo) - |> E.O.fmap(Value.to_string) - |> E.O.default("") - |> ReasonReact.string} -
; - }; }; \ No newline at end of file diff --git a/src/lib/ValueForm.re b/src/lib/ValueForm.re new file mode 100644 index 00000000..b3983392 --- /dev/null +++ b/src/lib/ValueForm.re @@ -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))) => + Js.Float.toString} + onChange={handleChange(r => + switch (Js.Float.fromString(r)) { + | r => onChange(Some(Value.FloatPoint(r))) + } + )} + /> + | (FloatPoint(_), Some(FloatPoint(r))) => + Js.Float.toString} + onChange={handleChange(r => + switch (Js.Float.fromString(r)) { + | r => onChange(Some(Value.FloatPoint(r))) + } + )} + /> + | (Year(_), _) + | (FloatPoint(_), _) => + | (SelectSingle(t), Some(SelectSingle(r))) => + + | (DateTime(_), Some(DateTime((d: MomentRe.Moment.t)))) => + + onChange( + Some(Value.DateTime(MomentRe.momentWithFormat(r, "YYYY-MM-DD"))), + ) + )} + /> + }; +}; \ No newline at end of file diff --git a/src/models/EAFunds.re b/src/models/EAFunds.re new file mode 100644 index 00000000..f2e97db0 --- /dev/null +++ b/src/models/EAFunds.re @@ -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, + }; +}; \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 0380b453..67ffe30e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -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==