From 16ff2645a3e4d66a0591a62b99f612a1642a0642 Mon Sep 17 00:00:00 2001 From: Daan Vanden Bosch Date: Wed, 12 Jun 2019 19:53:03 +0200 Subject: [PATCH] Method times can now be edited in-memory if some code is uncommented. --- package.json | 2 + src/domain/index.ts | 45 +++- src/stores/HuntMethodStore.ts | 9 +- src/ui/ApplicationComponent.css | 1 + src/ui/dataTable.less | 31 ++- src/ui/dataTable.tsx | 34 ++- src/ui/hunt-optimizer/MethodsComponent.css | 4 + src/ui/hunt-optimizer/MethodsComponent.tsx | 41 +++- .../OptimizationResultComponent.tsx | 23 +- yarn.lock | 231 +++++++++--------- 10 files changed, 259 insertions(+), 162 deletions(-) diff --git a/package.json b/package.json index 8ca63562..b395eb38 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "@craco/craco": "^5.2.1", "@types/jest": "24.0.13", "@types/lodash": "^4.14.132", + "@types/moment": "^2.13.0", "@types/react": "16.8.18", "@types/react-dom": "16.8.4", "@types/react-virtualized": "^9.21.2", @@ -16,6 +17,7 @@ "lodash": "^4.17.11", "mobx": "^5.9.4", "mobx-react": "^5.4.4", + "moment": "^2.24.0", "react": "^16.8.6", "react-dom": "^16.8.6", "react-scripts": "3.0.1", diff --git a/src/domain/index.ts b/src/domain/index.ts index 670fa845..26eac508 100644 --- a/src/domain/index.ts +++ b/src/domain/index.ts @@ -326,32 +326,51 @@ type ItemDrop = { } export class EnemyDrop implements ItemDrop { - rate: number; + readonly rate: number; constructor( - public item: Item, - public anythingRate: number, - public rareRate: number + public readonly item: Item, + public readonly anythingRate: number, + public readonly rareRate: number ) { this.rate = anythingRate * rareRate; } } export class HuntMethod { + readonly id: string; + readonly name: string; + readonly quest: SimpleQuest; readonly npcs: Array; readonly enemies: Array; readonly enemyCounts: Map; + /** + * The time it takes to complete the quest in hours. + */ + readonly defaultTime: number; + /** + * The time it takes to complete the quest in hours as specified by the user. + */ + @observable userTime?: number; + + @computed get time(): number { + return this.userTime != null ? this.userTime : this.defaultTime; + } constructor( - /** - * The time it takes to complete the quest in hours. - */ - public readonly time: number, - public readonly name: string, - public readonly quest: SimpleQuest + id: string, + name: string, + quest: SimpleQuest, + defaultTime: number ) { - if (time <= 0) throw new Error('time must be greater than zero.'); + if (!id) throw new Error('id is required.'); + if (defaultTime <= 0) throw new Error('defaultTime must be greater than zero.'); + if (!name) throw new Error('name is required.'); + if (!quest) throw new Error('quest is required.'); + this.id = id; + this.name = name; + this.quest = quest; this.npcs = this.quest.npcs; this.enemies = this.npcs.filter(npc => npc.type.enemy); this.enemyCounts = new Map(); @@ -359,14 +378,18 @@ export class HuntMethod { for (const npc of this.enemies) { this.enemyCounts.set(npc.type, (this.enemyCounts.get(npc.type) || 0) + 1); } + + this.defaultTime = defaultTime; } } export class SimpleQuest { constructor( + public readonly id: number, public readonly name: string, public readonly npcs: SimpleNpc[] ) { + if (!id) throw new Error('id is required.'); if (!name) throw new Error('name is required.'); if (!npcs) throw new Error('npcs is required.'); } diff --git a/src/stores/HuntMethodStore.ts b/src/stores/HuntMethodStore.ts index 956c8c33..11fcc3d5 100644 --- a/src/stores/HuntMethodStore.ts +++ b/src/stores/HuntMethodStore.ts @@ -20,7 +20,8 @@ class HuntMethodStore { return NpcType.byNameAndEpisode(enemy, parseInt(episode, 10))!; }); - return rows.slice(2).map(row => { + return rows.slice(2).map((row, i) => { + const questId = i + 1; const questName = row[0]; const time = parseFloat(row[1]); @@ -41,12 +42,14 @@ class HuntMethodStore { }); return new HuntMethod( - time, + `q${questId}`, questName, new SimpleQuest( + questId, questName, npcs - ) + ), + time ); }); } diff --git a/src/ui/ApplicationComponent.css b/src/ui/ApplicationComponent.css index b15df593..b251f02b 100644 --- a/src/ui/ApplicationComponent.css +++ b/src/ui/ApplicationComponent.css @@ -31,4 +31,5 @@ .ApplicationComponent-main > * { flex: 1; + overflow: hidden; } diff --git a/src/ui/dataTable.less b/src/ui/dataTable.less index f2469320..4c7c1ae3 100644 --- a/src/ui/dataTable.less +++ b/src/ui/dataTable.less @@ -42,12 +42,6 @@ border-bottom: solid 1px @border-color-base; border-right: solid 1px darken(@border-color-base, 11%); - & > span { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - &.last-in-row { border-right: solid 1px @border-color-base; } @@ -59,6 +53,31 @@ &.footer-cell { font-weight: bold; } + + &.custom { + padding: 0; + } + + & > .DataTable-cell-text { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + & > .ant-time-picker { + /* Cover the default borders. */ + margin: -1px; + height: calc(100% + 2px); + + /* Make sure the glowing border is entirely visible. */ + &:hover { + z-index: 10; + } + + & input { + height: 100%; + } + } } .DataTable-no-result { diff --git a/src/ui/dataTable.tsx b/src/ui/dataTable.tsx index 5a8debb2..28b4efe3 100644 --- a/src/ui/dataTable.tsx +++ b/src/ui/dataTable.tsx @@ -1,14 +1,17 @@ -import React from "react"; -import { Index, MultiGrid, GridCellRenderer } from "react-virtualized"; +import React, { ReactNode } from "react"; +import { GridCellRenderer, Index, MultiGrid } from "react-virtualized"; import "./dataTable.less"; export type Column = { name: string, width: number, - cellValue: (record: T) => string, + cellRenderer: (record: T) => ReactNode, tooltip?: (record: T) => string, footerValue?: string, footerTooltip?: string, + /** + * "number" and "integrated" have special meaning. + */ className?: string, } @@ -20,10 +23,16 @@ export class DataTable extends React.Component<{ width: number, height: number, rowCount: number, + overscanRowCount?: number, columns: Array>, fixedColumnCount?: number, + overscanColumnCount?: number, record: (index: Index) => T, footer?: boolean, + /** + * When this changes, the DataTable will re-render. + */ + updateTrigger?: any }> { render() { return ( @@ -34,12 +43,15 @@ export class DataTable extends React.Component<{ rowHeight={26} rowCount={this.props.rowCount + 1 + (this.props.footer ? 1 : 0)} fixedRowCount={1} + overscanRowCount={this.props.overscanRowCount} columnWidth={this.columnWidth} columnCount={this.props.columns.length} fixedColumnCount={this.props.fixedColumnCount} + overscanColumnCount={this.props.overscanColumnCount} cellRenderer={this.cellRenderer} classNameTopLeftGrid="DataTable-header" classNameTopRightGrid="DataTable-header" + updateTigger={this.props.updateTrigger} /> ); @@ -51,7 +63,7 @@ export class DataTable extends React.Component<{ private cellRenderer: GridCellRenderer = ({ columnIndex, rowIndex, style }) => { const column = this.props.columns[columnIndex]; - let text: string; + let cell: ReactNode; let title: string | undefined; const classes = ['DataTable-cell']; @@ -61,7 +73,7 @@ export class DataTable extends React.Component<{ if (rowIndex === 0) { // Header row - text = title = column.name; + cell = title = column.name; } else { // Record or footer row if (column.className) { @@ -71,13 +83,13 @@ export class DataTable extends React.Component<{ if (this.props.footer && rowIndex === 1 + this.props.rowCount) { // Footer row classes.push('footer-cell'); - text = column.footerValue == null ? '' : column.footerValue; + cell = column.footerValue == null ? '' : column.footerValue; title = column.footerTooltip == null ? '' : column.footerTooltip; } else { // Record row const result = this.props.record({ index: rowIndex - 1 }); - text = column.cellValue(result); + cell = column.cellRenderer(result); if (column.tooltip) { title = column.tooltip(result); @@ -85,6 +97,10 @@ export class DataTable extends React.Component<{ } } + if (typeof cell !== 'string') { + classes.push('custom'); + } + return (
extends React.Component<{ style={style} title={title} > - {text} + {typeof cell === 'string' ? ( + {cell} + ) : cell}
); } diff --git a/src/ui/hunt-optimizer/MethodsComponent.css b/src/ui/hunt-optimizer/MethodsComponent.css index 9c441aae..0f38f0d5 100644 --- a/src/ui/hunt-optimizer/MethodsComponent.css +++ b/src/ui/hunt-optimizer/MethodsComponent.css @@ -1,3 +1,7 @@ .ho-MethodsComponent { flex: 1; +} + +.ho-MethodsComponent-timepicker .ant-time-picker-icon { + display: none; } \ No newline at end of file diff --git a/src/ui/hunt-optimizer/MethodsComponent.tsx b/src/ui/hunt-optimizer/MethodsComponent.tsx index 17e83562..600894d2 100644 --- a/src/ui/hunt-optimizer/MethodsComponent.tsx +++ b/src/ui/hunt-optimizer/MethodsComponent.tsx @@ -1,11 +1,13 @@ +import { TimePicker } from "antd"; import { observer } from "mobx-react"; +import moment, { Moment } from "moment"; import React from "react"; import { AutoSizer, Index } from "react-virtualized"; import { HuntMethod } from "../../domain"; import { EnemyNpcTypes } from "../../domain/NpcType"; import { huntMethodStore } from "../../stores/HuntMethodStore"; +import { Column, DataTable } from "../dataTable"; import "./MethodsComponent.css"; -import { DataTable, Column } from "../dataTable"; import { hoursToString } from "../time"; @observer @@ -16,13 +18,15 @@ export class MethodsComponent extends React.Component { { name: 'Method', width: 250, - cellValue: (method) => method.name, + cellRenderer: (method) => method.name, }, { name: 'Time', width: 50, - cellValue: (method) => hoursToString(method.time), - className: 'number', + cellRenderer: (method) => hoursToString(method.time), + // TODO: enable when methods have IDs so edits can be saved. + // cellRenderer: (method) => , + className: 'integrated', }, ]; @@ -31,7 +35,7 @@ export class MethodsComponent extends React.Component { columns.push({ name: enemy.name, width: 75, - cellValue: (method) => { + cellRenderer: (method) => { const count = method.enemyCounts.get(enemy); return count == null ? '' : count.toString(); }, @@ -66,4 +70,29 @@ export class MethodsComponent extends React.Component { private record = ({ index }: Index) => { return huntMethodStore.methods.current.value[index]; } -} \ No newline at end of file +} + +@observer +class TimeComponent extends React.Component<{ method: HuntMethod }> { + render() { + const time = this.props.method.time; + const hour = Math.floor(time); + const minute = Math.round(60 * (time - hour)); + + return ( + } + onChange={this.change} + /> + ); + } + + private change = (time: Moment) => { + this.props.method.userTime = time.hour() + time.minute() / 60; + } +} diff --git a/src/ui/hunt-optimizer/OptimizationResultComponent.tsx b/src/ui/hunt-optimizer/OptimizationResultComponent.tsx index 78a32ae4..1b4cc96a 100644 --- a/src/ui/hunt-optimizer/OptimizationResultComponent.tsx +++ b/src/ui/hunt-optimizer/OptimizationResultComponent.tsx @@ -25,30 +25,30 @@ export class OptimizationResultComponent extends React.Component { { name: 'Difficulty', width: 75, - cellValue: (result) => result.difficulty, + cellRenderer: (result) => result.difficulty, footerValue: 'Totals:', }, { name: 'Method', width: 200, - cellValue: (result) => result.methodName, + cellRenderer: (result) => result.methodName, tooltip: (result) => result.methodName, }, { name: 'Section ID', width: 80, - cellValue: (result) => result.sectionId, + cellRenderer: (result) => result.sectionId, }, { name: 'Time/Run', width: 80, - cellValue: (result) => hoursToString(result.methodTime), + cellRenderer: (result) => hoursToString(result.methodTime), className: 'number', }, { name: 'Runs', width: 60, - cellValue: (result) => result.runs.toFixed(1), + cellRenderer: (result) => result.runs.toFixed(1), tooltip: (result) => result.runs.toString(), footerValue: totalRuns.toFixed(1), footerTooltip: totalRuns.toString(), @@ -57,7 +57,7 @@ export class OptimizationResultComponent extends React.Component { { name: 'Total Hours', width: 90, - cellValue: (result) => result.totalTime.toFixed(1), + cellRenderer: (result) => result.totalTime.toFixed(1), tooltip: (result) => result.totalTime.toString(), footerValue: totalTime.toFixed(1), footerTooltip: totalTime.toString(), @@ -83,7 +83,7 @@ export class OptimizationResultComponent extends React.Component { columns.push({ name: item.name, width: 80, - cellValue: (result) => { + cellRenderer: (result) => { const count = result.itemCounts.get(item); return count ? count.toFixed(2) : ''; }, @@ -100,9 +100,13 @@ export class OptimizationResultComponent extends React.Component { return columns; } + // Make sure render is called when result changes. + @computed private get updateTrigger() { + return huntOptimizerStore.results.slice(0, 0); + } + render() { - // Make sure render is called when result changes. - huntOptimizerStore.results.slice(0, 0); + this.updateTrigger; // eslint-disable-line return (
@@ -118,6 +122,7 @@ export class OptimizationResultComponent extends React.Component { fixedColumnCount={3} record={this.record} footer={huntOptimizerStore.results.length > 0} + updateTrigger={this.updateTrigger} /> } diff --git a/yarn.lock b/yarn.lock index ebed7cd9..bde02325 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17,7 +17,7 @@ gud "^1.0.0" warning "^4.0.3" -"@ant-design/icons-react@~2.0.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== @@ -1264,9 +1264,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.6.tgz#328dd1a8fc4cfe3c8458be9477b219ea158fd7b2" - integrity sha512-XYVgHF2sQ0YblLRMLNPB3CkFMewzFmlDsH/TneZFHUXDlABQgh88uOxuez7ZcXxayLFrqLwtDH1t+FmlFwNZxw== + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f" + integrity sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw== dependencies: "@babel/types" "^7.3.0" @@ -1314,10 +1314,17 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.134.tgz#9032b440122db3a2a56200e91191996161dde5b9" integrity sha512-2/O0khFUCFeDlbi7sZ7ZFRCcT812fAeOLm7Ev4KbwASkZ575TDrDcY7YyaoHdTOzKcNbfiwLYZqPmoC4wadrsw== +"@types/moment@^2.13.0": + version "2.13.0" + resolved "https://registry.yarnpkg.com/@types/moment/-/moment-2.13.0.tgz#604ebd189bc3bc34a1548689404e61a2a4aac896" + integrity sha1-YE69GJvDvDShVIaJQE5hoqSqyJY= + dependencies: + moment "*" + "@types/node@*", "@types/node@^12.0.3": - version "12.0.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.7.tgz#4f2563bad652b2acb1722d7e7aae2b0ff62d192c" - integrity sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A== + version "12.0.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.8.tgz#551466be11b2adc3f3d47156758f610bd9f6b1d8" + integrity sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg== "@types/prop-types@*": version "15.7.1" @@ -1336,7 +1343,7 @@ dependencies: "@types/react" "*" -"@types/react-slick@^0.23.3": +"@types/react-slick@^0.23.4": 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== @@ -1723,62 +1730,62 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: color-convert "^1.9.0" antd@^3.19.1: - version "3.19.2" - resolved "https://registry.yarnpkg.com/antd/-/antd-3.19.2.tgz#18829f7bbc6acb3f4b43a77349c2bf2c3e733408" - integrity sha512-s1nFRNXQiNZpUfIpyQN89OBrZg9hz2qgPiBeR5b/GgMacHRNzB4sOAD3XBUYeojmUo2UkOgZOUL9jTdiUOf2ZA== + version "3.19.3" + resolved "https://registry.yarnpkg.com/antd/-/antd-3.19.3.tgz#9d4af091bbfab8bb888cc98f36c994fbaf12e931" + integrity sha512-7pIICKAMLC2EvRu4Wi0bLuIfkco84u3rbghyqibBZetVrCQQHjhWBxKiv3dxSAlr9HdT71fFvZcus+R81KlGSg== dependencies: "@ant-design/create-react-context" "^0.2.4" "@ant-design/icons" "~2.0.0" - "@ant-design/icons-react" "~2.0.0" - "@types/react-slick" "^0.23.3" + "@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.0.8" + copy-to-clipboard "^3.2.0" css-animation "^1.5.0" dom-closest "^0.2.0" enquire.js "^2.1.6" lodash "^4.17.11" moment "^2.24.0" - omit.js "^1.0.0" - prop-types "^15.6.2" - raf "^3.4.0" - rc-animate "^2.5.4" - rc-calendar "~9.14.0" - rc-cascader "~0.17.0" - rc-checkbox "~2.1.5" - rc-collapse "~1.11.1" + omit.js "^1.0.2" + prop-types "^15.7.2" + raf "^3.4.1" + rc-animate "^2.8.3" + rc-calendar "~9.14.5" + rc-cascader "~0.17.4" + rc-checkbox "~2.1.6" + rc-collapse "~1.11.3" rc-dialog "~7.4.0" - rc-drawer "~1.9.3" + rc-drawer "~1.9.8" rc-dropdown "~2.4.1" - rc-editor-mention "^1.1.7" - rc-form "^2.4.0" - rc-input-number "~4.4.0" + rc-editor-mention "^1.1.13" + rc-form "^2.4.5" + rc-input-number "~4.4.5" rc-mentions "~0.3.1" - rc-menu "~7.4.12" - rc-notification "~3.3.0" + rc-menu "~7.4.23" + rc-notification "~3.3.1" rc-pagination "~1.20.1" rc-progress "~2.3.0" rc-rate "~2.5.0" - rc-select "~9.1.0" - rc-slider "~8.6.5" + rc-select "~9.1.4" + rc-slider "~8.6.11" rc-steps "~3.4.1" rc-switch "~1.9.0" - rc-table "~6.5.0" - rc-tabs "~9.6.0" - rc-time-picker "~3.6.1" + rc-table "~6.6.0" + rc-tabs "~9.6.4" + rc-time-picker "~3.6.6" rc-tooltip "~3.7.3" rc-tree "~2.1.0" rc-tree-select "~2.9.1" rc-trigger "^2.6.2" - rc-upload "~2.6.0" - rc-util "^4.5.1" + rc-upload "~2.6.7" + rc-util "^4.6.0" react-lazy-load "^3.0.13" react-lifecycles-compat "^3.0.4" react-slick "~0.24.0" - resize-observer-polyfill "^1.5.0" + resize-observer-polyfill "^1.5.1" shallowequal "^1.1.0" - warning "~4.0.2" + warning "~4.0.3" anymatch@^2.0.0: version "2.0.0" @@ -2939,7 +2946,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: version "3.2.0" resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.2.0.tgz#d2724a3ccbfed89706fac8a894872c979ac74467" integrity sha512-eOZERzvCmxS8HWzugj4Uxl8OJxa7T2k1Gi0X5qavwydHIfuSHq2dTD09LOg/XyGq4Zpb5IsR/2OJ5lbOegz78w== @@ -2980,16 +2987,6 @@ core-util-is@1.0.2, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cosmiconfig@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc" - integrity sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ== - dependencies: - is-directory "^0.3.1" - js-yaml "^3.9.0" - parse-json "^4.0.0" - require-from-string "^2.0.1" - cosmiconfig@^5.0.0, cosmiconfig@^5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" @@ -3709,9 +3706,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.3.122, electron-to-chromium@^1.3.150: - version "1.3.154" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.154.tgz#e5b73beecd4db9f024d807ba1faad93fe1fb98aa" - integrity sha512-r3jVJRWvQIKDdjAbtmvJ7NihBFNUpU4VJKsslAzruv9dnYde3v8U2T7J62Vap3c6l6Ku4J56kxlciIO/E93cQg== + version "1.3.157" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.157.tgz#6211d69e8c4ee18df8c84e74e8644bcafc09486c" + integrity sha512-vxGi3lOGqlupuogZxJOMfu+Q1vaOlG6XbsblWw8XnUZSr/ptbt3D6jhHT5LJPZuFUpKhbEo1u4QipivSory1Kg== elliptic@^6.0.0: version "6.4.1" @@ -4238,9 +4235,9 @@ faye-websocket@^0.10.0: websocket-driver ">=0.5.1" faye-websocket@~0.11.1: - version "0.11.1" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" - integrity sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg= + version "0.11.3" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" + integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== dependencies: websocket-driver ">=0.5.1" @@ -5959,7 +5956,7 @@ js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.9.0: +js-yaml@^3.13.0, js-yaml@^3.13.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -6462,9 +6459,9 @@ lodash.uniq@^4.5.0: integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== loglevel@^1.4.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.2.tgz#668c77948a03dbd22502a3513ace1f62a80cc372" - integrity sha512-Jt2MHrCNdtIe1W6co3tF5KXGRkzF+TYffiQstfXa04mrss9IKXzAAXYWak8LbZseAQY03sH2GzMCMU0ZOUc9bg== + version "1.6.3" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.3.tgz#77f2eb64be55a404c9fd04ad16d57c1d6d6b1280" + integrity sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA== loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" @@ -6778,7 +6775,7 @@ mobx@^5.9.4: resolved "https://registry.yarnpkg.com/mobx/-/mobx-5.10.1.tgz#eb0e2ff76fe376d0a42c941533260deeae5956d8" integrity sha512-L+akEGxdkKYssejgW9ayRPx5cZYJfxvTmdBUeR3S9oeumScV7Jj57yPeh9WMEk6NWeG8Wx3H0cWhqs0pftbtmg== -moment@2.x, moment@^2.24.0: +moment@*, moment@2.x, moment@^2.24.0: version "2.24.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== @@ -7155,7 +7152,7 @@ obuf@^1.0.0, obuf@^1.1.2: resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== -omit.js@^1.0.0: +omit.js@^1.0.2: 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== @@ -7801,11 +7798,11 @@ postcss-lab-function@^2.0.1: postcss-values-parser "^2.0.0" postcss-load-config@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.0.0.tgz#f1312ddbf5912cd747177083c5ef7a19d62ee484" - integrity sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" + integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== dependencies: - cosmiconfig "^4.0.0" + cosmiconfig "^5.0.0" import-cwd "^2.0.0" postcss-loader@3.0.0: @@ -8300,7 +8297,7 @@ prompts@^2.0.1: kleur "^3.0.2" sisteransi "^1.0.0" -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.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: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -8463,7 +8460,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.3.0, rc-animate@^2.5.4, rc-animate@^2.6.0, rc-animate@^2.8.2: +rc-animate@2.x, rc-animate@^2.3.0, rc-animate@^2.6.0, rc-animate@^2.8.2, rc-animate@^2.8.3: version "2.8.3" resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-2.8.3.tgz#80d45402f35d3617276fc14810fb8a635fe90dc0" integrity sha512-VPSHJF/PW9zrPVCdQ94/YOI2lFfJVlaiAeQveJN2nlPVMivgvXkuFJyfe42GbZqm+qlnRjH9B4WbY9rCZz9miw== @@ -8489,7 +8486,7 @@ rc-animate@^3.0.0-rc.1: rc-util "^4.5.0" react-lifecycles-compat "^3.0.4" -rc-calendar@~9.14.0: +rc-calendar@~9.14.5: version "9.14.5" resolved "https://registry.yarnpkg.com/rc-calendar/-/rc-calendar-9.14.5.tgz#77c9d6bfec827d2e325adc770f1cef2fa2e4fc0e" integrity sha512-UCo2O7e3hfOJrV0pkBzpw5vedwyn08YTWvErMTvYbz3nE7rLehXH6i2ABUe1fMCIXoH+YDhQ085SRJgKyA3mZA== @@ -8502,7 +8499,7 @@ rc-calendar@~9.14.0: rc-util "^4.1.1" react-lifecycles-compat "^3.0.4" -rc-cascader@~0.17.0: +rc-cascader@~0.17.4: version "0.17.4" resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-0.17.4.tgz#bb38ba3ed0990bfaa5ee547467d85ecc0d152f96" integrity sha512-CeFQJIMzY7x++uPqlx4Xl/cH8iTs8nRoW522+DLb21kdL5kWqKlK+3iHXExoxcAymjwo5ScIiXi+NY4m8Pgq9w== @@ -8515,7 +8512,7 @@ rc-cascader@~0.17.0: shallow-equal "^1.0.0" warning "^4.0.1" -rc-checkbox@~2.1.5: +rc-checkbox@~2.1.6: version "2.1.7" resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-2.1.7.tgz#ae6785525cf35fa4c62d706c4a1ff7b2b1fcb821" integrity sha512-8L+0XuucUOMUM6F/7qH+hnQpEHPZfW1Um02lUHEVdpZNor5mC0Fj4x8GvTtwcM1pAl5tD3I6lHYD8cE1W8RZJw== @@ -8525,7 +8522,7 @@ rc-checkbox@~2.1.5: prop-types "15.x" react-lifecycles-compat "^3.0.4" -rc-collapse@~1.11.1: +rc-collapse@~1.11.3: version "1.11.3" resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-1.11.3.tgz#6f0c5ef65e66930c11fe9e7d2483a8a4c362f2d3" integrity sha512-yECQX2iDPWnKcVi3Wz5bomZuJ2u+wv+kGxuKo2GIRz7Brh9jkGQz5ElghCV1jqDGnzy8GIRxxHHSwlSgdxdUog== @@ -8538,15 +8535,15 @@ rc-collapse@~1.11.1: shallowequal "^1.1.0" rc-dialog@~7.4.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-7.4.0.tgz#640551235b1f886c7f9a01ce75f87102a70ae1d4" - integrity sha512-X2JdDjphlOHPkqXUmmTAhYvcDAgGeM/VFjF5r/AMqjDYIL2xZkvrrOOq7KNxddRAJ0r1V4Ib/MTgCfhhti/aew== + version "7.4.1" + resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-7.4.1.tgz#2bb4dee930bbed404b032710fff07732db09ebdd" + integrity sha512-vvVVP7AUjxs2AEGL5GUr6BjfVzaiBV5RoiPYchCDqHmf8n7xTrfsACAhZ2Vezj6mtl2446zhxoGvhxNpyCyX7A== dependencies: babel-runtime "6.x" rc-animate "2.x" rc-util "^4.4.0" -rc-drawer@~1.9.3: +rc-drawer@~1.9.8: version "1.9.8" resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-1.9.8.tgz#241dae399d6fc3d8ea117e768b27088d97cb5946" integrity sha512-LUOsMdax6yFhCbHpzpPBpf4GlQaLQ1OoBrpyImREghynfVoCs8WT6WUfE3FWWG1PM0Fs8f+yY4uiR7rMFQxl5A== @@ -8580,7 +8577,7 @@ rc-editor-core@~0.8.3: prop-types "^15.5.8" setimmediate "^1.0.5" -rc-editor-mention@^1.1.7: +rc-editor-mention@^1.1.13: 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== @@ -8594,7 +8591,7 @@ 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.5: version "2.4.5" resolved "https://registry.yarnpkg.com/rc-form/-/rc-form-2.4.5.tgz#9aa8c844b6fea1da5a03ed5e4f8475bfd0fd6ab7" integrity sha512-qyltQUDSJDFmK2vavNn5GdbA4+P9Xd10kRzOKGZpl4NNAKirKZ4F6MAuY3n5U/k74LIZ3kme1+SEkxNaHuYyTA== @@ -8616,7 +8613,7 @@ rc-hammerjs@~0.6.0: hammerjs "^2.0.8" prop-types "^15.5.9" -rc-input-number@~4.4.0: +rc-input-number@~4.4.5: version "4.4.5" resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-4.4.5.tgz#81473d2885a6b312e486c4f2ba3f441c1ab88520" integrity sha512-Dt20e8Ylc/N/6oXiPUlwDVdx3fz7W5umUOa4z5pBuWFG7NPlBVXRWkq7+nbnTyaK24UxN67PVpmD3+Omo+QRZQ== @@ -8640,7 +8637,7 @@ rc-mentions@~0.3.1: rc-util "^4.6.0" react-lifecycles-compat "^3.0.4" -rc-menu@^7.3.0, rc-menu@^7.4.22, rc-menu@~7.4.12: +rc-menu@^7.3.0, rc-menu@^7.4.22, rc-menu@~7.4.23: version "7.4.23" resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-7.4.23.tgz#e07d497864274076299d7d8a84d14fc86b6bd30d" integrity sha512-d0pUMN0Zr3GCFxNpas8p7AUTeX8viItUOQXku4AsyX82ZzUz79HgGul2Nk17BIFTtLzqdB7/NT6WVb5PAOOILw== @@ -8657,7 +8654,7 @@ rc-menu@^7.3.0, rc-menu@^7.4.22, rc-menu@~7.4.12: rc-util "^4.1.0" resize-observer-polyfill "^1.5.0" -rc-notification@~3.3.0: +rc-notification@~3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-3.3.1.tgz#0baa3e70f8d40ab015ce8fa78c260c490fc7beb4" integrity sha512-U5+f4BmBVfMSf3OHSLyRagsJ74yKwlrQAtbbL5ijoA0F2C60BufwnOcHG18tVprd7iaIjzZt1TKMmQSYSvgrig== @@ -8696,7 +8693,7 @@ rc-rate@~2.5.0: rc-util "^4.3.0" react-lifecycles-compat "^3.0.4" -rc-select@~9.1.0: +rc-select@~9.1.4: version "9.1.4" resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-9.1.4.tgz#de6dc0eb5a3d9573fbd9084930e44f09703dbe69" integrity sha512-vW6Zsm9MrzxKI4/GRGTJESONn5TqCE7sXEv3uAz1KFby/eImUo5/ngLUn7V8ey8rs4P72UyMvhUfnNzbrcrvOw== @@ -8714,10 +8711,10 @@ rc-select@~9.1.0: react-lifecycles-compat "^3.0.2" warning "^4.0.2" -rc-slider@~8.6.5: - version "8.6.12" - resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-8.6.12.tgz#40bb0a6e35f13183f08a3e6aa9a2adbd8dabd39d" - integrity sha512-mfYRg7H/smb2MlbqAB+/a34e8PeVqAr7t7hrfSS5+0njuDin4qCwoUHkX1jygGeEwtMAdGJ3buE0wRW988R7Xw== +rc-slider@~8.6.11: + version "8.6.13" + resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-8.6.13.tgz#88a8150c2dda6709f3f119135de11fba80af765b" + integrity sha512-fCUe8pPn8n9pq1ARX44nN2nzJoATtna4x/PdskUrxIvZXN8ja7HuceN/hq6kokZjo3FBD2B1yMZvZh6oi68l6Q== dependencies: babel-runtime "6.x" classnames "^2.2.5" @@ -8746,10 +8743,10 @@ rc-switch@~1.9.0: prop-types "^15.5.6" react-lifecycles-compat "^3.0.4" -rc-table@~6.5.0: - version "6.5.1" - resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-6.5.1.tgz#b05ef79127e24b353083f8399dedaa9cbfbd16a2" - integrity sha512-Tu6+UQmKV5ZKMs3TB52OUb9oF9epyk/wlSQxGa7eP6fBQfKcjNVEfzVEjayh203IWI39xjHw0cgeMuvTnnRHaQ== +rc-table@~6.6.0: + version "6.6.6" + resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-6.6.6.tgz#22a7160be5c02010261a351cdb1157b7897269e9" + integrity sha512-1/7hE+8BEA5jt6POpb22lw9XzzRbBL+SnMq5QfC3WoCTeSmlhuufOg6alwY886+CvV4K6gQKfInXGaLIWyK23A== dependencies: babel-runtime "6.x" classnames "^2.2.5" @@ -8762,7 +8759,7 @@ rc-table@~6.5.0: shallowequal "^1.0.2" warning "^3.0.0" -rc-tabs@~9.6.0: +rc-tabs@~9.6.4: version "9.6.4" resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-9.6.4.tgz#8910f79f0dbfbcb794a3ff879642311fc7c3eff0" integrity sha512-l4PoDSShNJ6pWGuR1UcUgvee48b3Qu1jgMEaD1hH3Rc+mqysoO7hA9AQ1YywkIy34afGTTejAWDSIFZ0lmg08g== @@ -8778,7 +8775,7 @@ rc-tabs@~9.6.0: resize-observer-polyfill "^1.5.1" warning "^3.0.0" -rc-time-picker@~3.6.1: +rc-time-picker@~3.6.6: version "3.6.6" resolved "https://registry.yarnpkg.com/rc-time-picker/-/rc-time-picker-3.6.6.tgz#343390ad1a3a06b49848c266d8311b3c572ca0d1" integrity sha512-NVeJuxWjg9eJ0+jcCCT2dxVY2OBYxOrjsgu8ly0lk9IUJ8lwjS6JU+OibHRPJPew3Smfz88dz7GQRdBE7BcnRA== @@ -8842,9 +8839,9 @@ rc-tree@~2.1.0: warning "^4.0.3" rc-trigger@^2.2.0, rc-trigger@^2.2.2, rc-trigger@^2.3.0, rc-trigger@^2.5.1, rc-trigger@^2.5.4, rc-trigger@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-2.6.2.tgz#a9c09ba5fad63af3b2ec46349c7db6cb46657001" - integrity sha512-op4xCu95/gdHVaysyxxiYxbY+Z+UcIBSUY9nQfLqm1FlitdtnAN+owD5iMPfnnsRXntgcQ5+RdYKNUFQT5DjzA== + version "2.6.3" + resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-2.6.3.tgz#9d8b1adcb8f438038ee64039571dafbe03864fec" + integrity sha512-wcYFTdWBcHjK+Wu72sLzpKttKBqJpFoIv7Ho6AnAjjsJZlxi+MpHrQs9ozRM3Q9G1M87BSYYrORGSgx5HpGI1w== dependencies: babel-runtime "6.x" classnames "^2.2.6" @@ -8866,7 +8863,7 @@ rc-trigger@^3.0.0-rc.2: rc-animate "^3.0.0-rc.1" rc-util "^4.4.0" -rc-upload@~2.6.0: +rc-upload@~2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-2.6.7.tgz#835d8dceae2c7bdfb7c81211d6ddf02348097146" integrity sha512-i6roYvM31ue50r0w/MbxOdbbkZHqpJLT29JyjQC2W5i/7w0/lZJkWEmj/DG5WRRJCnVfIiKmXp2437oXnUFNuw== @@ -9310,11 +9307,6 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-from-string@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" @@ -9375,9 +9367,9 @@ resolve@1.10.0: path-parse "^1.0.6" resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0: - version "1.11.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" - integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== + version "1.11.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.0.tgz#4014870ba296176b86343d50b60f3b50609ce232" + integrity sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw== dependencies: path-parse "^1.0.6" @@ -9453,7 +9445,7 @@ rxjs@^6.4.0: dependencies: tslib "^1.9.0" -safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.2, safe-buffer@>=5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== @@ -9503,9 +9495,9 @@ sax@^1.2.4, sax@~1.2.4: integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== saxes@^3.1.9: - version "3.1.9" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.9.tgz#c1c197cd54956d88c09f960254b999e192d7058b" - integrity sha512-FZeKhJglhJHk7eWG5YM0z46VHmI3KJpMBAQm3xa9meDvd+wevB5GuBB0wc0exPInZiBBHqi00DbS8AcvCGCFMw== + version "3.1.10" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.10.tgz#6028a4d6d65f0b5f5b5d250c0500be6a7950fe13" + integrity sha512-G/mVZCCGhJqgS+I7wT5gBHyTNXLe2SQcu2qmhwl1OKcSHyJEXKQY2CLT+qWIxV+m6uiGMLfSOJGLQQHhklIeEQ== dependencies: xmlchars "^1.3.1" @@ -9673,9 +9665,9 @@ shallow-clone@^1.0.0: mixin-object "^2.0.1" shallow-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.1.0.tgz#cc022f030dcba0d1c198abf658a3c6c744e171ca" - integrity sha512-0SW1nWo1hnabO62SEeHsl8nmTVVEzguVWZCj5gaQrgWAxz/BaCja4OWdJBWLVPDxdtE/WU7c98uUCCXyPHSCvw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.0.tgz#fd828d2029ff4e19569db7e19e535e94e2d1f5cc" + integrity sha512-Z21pVxR4cXsfwpMKMhCEIO1PCi5sp7KEp+CmOpBQ+E8GpHwKOw2sEzk7sgblM3d/j4z4gakoWEoPcjK0VJQogA== shallowequal@^0.2.2: version "0.2.2" @@ -10409,9 +10401,9 @@ ts-pnp@1.1.2, ts-pnp@^1.0.0: integrity sha512-f5Knjh7XCyRIzoC/z1Su1yLLRrPrFCgtUAh/9fCSP6NKbATwpOL1+idQVXQokK9GRFURn/jYPGPfegIctwunoA== tslib@^1.8.1, tslib@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" - integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== + version "1.10.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" + integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== tsutils@^3.7.0: version "3.14.0" @@ -10548,9 +10540,9 @@ unique-filename@^1.1.1: unique-slug "^2.0.0" unique-slug@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz#5e9edc6d1ce8fb264db18a507ef9bd8544451ca6" - integrity sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== dependencies: imurmurhash "^0.1.4" @@ -10776,7 +10768,7 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.x" -warning@4.x, warning@^4.0.1, warning@^4.0.2, warning@^4.0.3, warning@~4.0.2: +warning@4.x, warning@^4.0.1, warning@^4.0.2, warning@^4.0.3, warning@~4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== @@ -10925,11 +10917,12 @@ webpack@4.29.6: webpack-sources "^1.3.0" websocket-driver@>=0.5.1: - version "0.7.0" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" - integrity sha1-DK+dLXVdk67gSdS90NP+LMoqJOs= + version "0.7.1" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.1.tgz#d58fa3269f51e480f5af051db7f5c5c1a1092d20" + integrity sha512-EC4YX5LEHtiB1XjaCh6++35jGaFmhT7687pySyCfPX9bB8Quw7+Fpx8gSCpkD78tPjalxuoOm8TtTz8K4dAQEg== dependencies: http-parser-js ">=0.4.0" + safe-buffer ">=5.1.1" websocket-extensions ">=0.1.1" websocket-extensions@>=0.1.1: