Compare commits

...
14 Commits
Author SHA1 Message Date
tannerlinsley 872304da17 v6.10.2 2019-09-06 10:59:48 -06:00
Dan OttandTanner Linsley 5875f80089 use getPrototypeOf instead of .prototype (#1503) 2019-09-06 10:58:41 -06:00
tannerlinsley d05e54dee8 v6.10.1 2019-09-06 08:22:14 -06:00
Thomas RichandTanner Linsley ab12816799 Fix 6.10 remounting/double click issue (#1499)
Fixes https://github.com/tannerlinsley/react-table/issues/1336 (or at least fixes my issue with double click not working)
2019-09-05 14:45:03 -06:00
Christian KellnerandTanner Linsley 8ea48576b8 Fixing react warnings (#1495)
* fixing react warnings

* changing forgotten names to UNSAFE_
2019-09-04 09:07:44 -06:00
Vitali NedzvedzandTanner Linsley 5730544d35 fix: replace 'outline: none' with 'outline-width: 0' (#1474) 2019-08-22 14:55:42 -06:00
David HandTanner Linsley e2f03ef2f2 * fixed docs: "getTfootThProps" does not exist in code, but "getTfootTdProps" does (#1399)
* added `column` argument to getTfootTdProps function (match getTheadThProps and other prop getters in that scope)
2019-07-16 13:21:43 -06:00
VojtechPandTanner Linsley 7a38d1fdb3 Fix components prop types (#1390) 2019-07-15 11:26:19 -06:00
JayChungandTanner Linsley 36666e19d2 Fix deprecated getThProps function in doc (#1387) 2019-07-15 11:25:56 -06:00
Rohit Rajat ChattopadhyayandTanner Linsley 50b03b7ec6 Added Gold sponsors (#1375)
* Added Gold sponsors

* Broken link fix

zappi.com -> zaippi.io
2019-06-22 06:45:38 -06:00
Jessica ChouandTanner Linsley 79ba413db2 Fix spelling on word “receive”. (#1351) 2019-05-30 06:33:04 -06:00
Jon PortellaandTanner Linsley 4c68975cf0 fix typo (#1350) 2019-05-30 06:32:44 -06:00
Elie KhouryandTanner Linsley 0070d60d42 Fix initial state (#1348) 2019-05-30 06:32:18 -06:00
Matthew LancellottiandTanner Linsley 1621bcb0c3 Resolve issue #1320 (#1324)
Resolve issue #1320
2019-04-28 19:49:35 -06:00
13 changed files with 132 additions and 58 deletions
+5
View File
@@ -1,3 +1,8 @@
## 6.10.1
- Fixed issues with `normalizeComponent` function
## 6.10.0
- Rebased volatile commits out of 6.9.0
+12 -9
View File
@@ -101,13 +101,13 @@
</a>
</td>
<td align="center" valign="middle">
<a href="https://tryretool.com/?utm_source=sponsor&utm_campaign=react_table" target="_blank">
<img src="https://raw.githubusercontent.com/tannerlinsley/files/master/images/patreon/gold-placeholder.png">
<a href="https://nozzle.io" target="_blank">
<img width="300" src="https://nozzle.io/img/logo-blue.png">
</a>
</td>
<td align="center" valign="middle">
<a href="https://tryretool.com/?utm_source=sponsor&utm_campaign=react_table" target="_blank">
<img src="https://raw.githubusercontent.com/tannerlinsley/files/master/images/patreon/gold-placeholder.png">
<a href="https://zappi.io/web" target="_blank">
<img width="300" src="https://raw.githubusercontent.com/tannerlinsley/files/master/images/patreon/sponsor-zappi.png">
</a>
</td>
</tr>
@@ -179,6 +179,8 @@ $ yarn add react-table
$ npm install react-table
```
## Usage
2. Import the `react-table` module
```javascript
@@ -197,6 +199,8 @@ import 'react-table/react-table.css'
<link rel="stylesheet" href="node_modules/react-table/react-table.css">
```
See the example below for further usage.
##### CDN
```html
@@ -219,6 +223,7 @@ import 'react-table/react-table.css'
```javascript
import ReactTable from 'react-table'
import 'react-table/react-table.css'
render() {
const data = [{
@@ -265,7 +270,7 @@ Simply pass the `data` prop anything that resembles an array or object. Client-s
/>
```
**Pro Tip: Using the `resolveData` prop** - Any time the `data` prop value changes (using a `===` comparison), the table will update, but sometimes you need to materialize, alter, or shape this data before it enters the table. To do this, you can use the `resolveData` prop! It recieves the `data` prop as the only parameter and returns the resolved data.
**Pro Tip: Using the `resolveData` prop** - Any time the `data` prop value changes (using a `===` comparison), the table will update, but sometimes you need to materialize, alter, or shape this data before it enters the table. To do this, you can use the `resolveData` prop! It receives the `data` prop as the only parameter and returns the resolved data.
```javascript
<ReactTable
@@ -381,11 +386,10 @@ These are all of the available props (and their default values) for the main `<R
getTbodyProps: () => ({}),
getTrGroupProps: () => ({}),
getTrProps: () => ({}),
getThProps: () => ({}),
getTdProps: () => ({}),
getTfootProps: () => ({}),
getTfootTrProps: () => ({}),
getTfootThProps: () => ({}),
getTfootTdProps: () => ({}),
getPaginationProps: () => ({}),
getLoadingProps: () => ({}),
getNoDataProps: () => ({}),
@@ -747,7 +751,6 @@ Every single built-in component's props can be dynamically extended using any on
getTbodyProps={fn}
getTrGroupProps={fn}
getTrProps={fn}
getThProps={fn}
getTdProps={fn}
getPaginationProps={fn}
getLoadingProps={fn}
@@ -1154,7 +1157,7 @@ Fortunately, ReactTable exposes a LOT of functionality as props to the component
props to keep track of and that is where HOCs come in.
You can write a HOC that just focusses on the additional functionality you want to enhance and keep those enhancements to
reuse over and over again when you need them. You don't have to edit the ReactSource code, just wrap ReactTable in one or
reuse over and over again when you need them. You don't have to edit the ReactTable source code, just wrap ReactTable in one or
more HOCs (more on some issues related to chaining HOCs later) that provide the additional functionality you want to expose.
The most obvious HOC is one that can add `checkbox` or select functionality. The HOC included provides `select` functionality
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "react-table",
"version": "6.10.0",
"version": "6.10.2",
"description": "A fast, lightweight, opinionated table and datagrid built on React",
"license": "MIT",
"homepage": "https://github.com/react-tools/react-table#readme",
@@ -70,7 +70,7 @@
"npm-run-all": "^4.1.2",
"onchange": "^3.0.2",
"postcss-cli": "^2.6.0",
"prop-types": "^15.6.0",
"prop-types": "^15.7.2",
"react": "^16.3.2",
"react-dom": "^16.3.2",
"react-json-tree": "^0.10.9",
+1 -1
View File
@@ -66,7 +66,7 @@ export const advancedExpandTableHOC = TableComponent =>
// after initial render if we get new
// data, columns, page changes, etc.
// we reset expanded state.
componentWillReceiveProps () {
UNSAFE_componentWillReceiveProps () {
this.setState({
expanded: {},
})
+1 -1
View File
@@ -41,7 +41,7 @@ export default ReactTable => {
}
}
componentWillReceiveProps(newProps) {
UNSAFE_componentWillReceiveProps(newProps) {
if (this.state.resized !== newProps.resized) {
this.setState(p => ({ resized: newProps.resized }))
}
+1 -1
View File
@@ -737,7 +737,7 @@ export default class ReactTable extends Methods(Lifecycle(Component)) {
const show = typeof column.show === 'function' ? column.show() : column.show
const width = _.getFirstDefined(resizedCol.value, column.width, column.minWidth)
const maxWidth = _.getFirstDefined(resizedCol.value, column.width, column.maxWidth)
const tFootTdProps = _.splitProps(getTfootTdProps(finalState, undefined, undefined, this))
const tFootTdProps = _.splitProps(getTfootTdProps(finalState, undefined, column, this))
const columnProps = _.splitProps(column.getProps(finalState, undefined, column, this))
const columnFooterProps = _.splitProps(
column.getFooterProps(finalState, undefined, column, this)
+3 -3
View File
@@ -9,7 +9,7 @@ input-select-style()
font-size: inherit
border-radius: 3px
font-weight: normal
outline:none
outline-width: 0
.ReactTable
position:relative
@@ -74,7 +74,7 @@ input-select-style()
border-right: 0
.rt-th:focus
outline: none
outline-width: 0
.rt-resizable-header
overflow: visible
@@ -230,7 +230,7 @@ input-select-style()
background: alpha(black, .1)
transition: all .1s ease
cursor: pointer
outline:none
outline-width: 0
&[disabled]
opacity: .5
+2 -2
View File
@@ -1,6 +1,6 @@
export default Base =>
class extends Base {
componentWillMount () {
UNSAFE_componentWillMount () {
this.setStateWithData(this.getDataModel(this.getResolvedState(), true))
}
@@ -8,7 +8,7 @@ export default Base =>
this.fireFetchData()
}
componentWillReceiveProps (nextProps, nextState) {
UNSAFE_componentWillReceiveProps (nextProps, nextState) {
const oldState = this.getResolvedState()
const newState = this.getResolvedState(nextProps, nextState)
+1 -1
View File
@@ -336,7 +336,7 @@ export default Base =>
...this.getResolvedState(),
page: this.getStateOrProp('page'),
pageSize: this.getStateOrProp('pageSize'),
filter: this.getStateOrProp('filter'),
filtered: this.getStateOrProp('filtered'),
}
this.props.onFetchData(currentState, this)
+1 -1
View File
@@ -63,7 +63,7 @@ export default class ReactTablePagination extends Component {
}
}
componentWillReceiveProps (nextProps) {
UNSAFE_componentWillReceiveProps (nextProps) {
if (this.props.page !== nextProps.page) {
this.setState({ page: nextProps.page })
}
+20 -20
View File
@@ -144,26 +144,26 @@ export default {
rowsSelectorText: PropTypes.node,
// Components
TableComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
TheadComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
TbodyComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
TrGroupComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
TrComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
ThComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
TdComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
TfootComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
FilterComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
ExpanderComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
PivotValueComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
AggregatedComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
TableComponent: PropTypes.elementType,
TheadComponent: PropTypes.elementType,
TbodyComponent: PropTypes.elementType,
TrGroupComponent: PropTypes.elementType,
TrComponent: PropTypes.elementType,
ThComponent: PropTypes.elementType,
TdComponent: PropTypes.elementType,
TfootComponent: PropTypes.elementType,
FilterComponent: PropTypes.elementType,
ExpanderComponent: PropTypes.elementType,
PivotValueComponent: PropTypes.elementType,
AggregatedComponent: PropTypes.elementType,
// this is a computed default generated using
PivotComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
PivotComponent: PropTypes.elementType,
// the ExpanderComponent and PivotValueComponent at run-time in methods.js
PaginationComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
PreviousComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
NextComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
LoadingComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
NoDataComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
ResizerComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
PadRowComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
PaginationComponent: PropTypes.elementType,
PreviousComponent: PropTypes.elementType,
NextComponent: PropTypes.elementType,
LoadingComponent: PropTypes.elementType,
NoDataComponent: PropTypes.elementType,
ResizerComponent: PropTypes.elementType,
PadRowComponent: PropTypes.elementType,
}
+30 -1
View File
@@ -204,5 +204,34 @@ function isSortingDesc (d) {
}
function normalizeComponent (Comp, params = {}, fallback = Comp) {
return typeof Comp === 'function' ? <Comp {...params} /> : fallback
return typeof Comp === 'function' ? (
isReactComponent(Comp) ? (
<Comp {...params} />
) : (
Comp(params)
)
) : (
fallback
)
}
function isClassComponent (component) {
return !!((
typeof component === 'function' &&
!!Object.getPrototypeOf(component).isReactComponent
))
}
function isFunctionComponent (component) {
return !!((
typeof component === 'function' &&
String(component).includes('return React.createElement')
))
}
function isReactComponent (component) {
return !!((
isClassComponent(component) ||
isFunctionComponent(component)
))
}
+53 -16
View File
@@ -242,6 +242,7 @@ arrify@^1.0.0, arrify@~1.0.1:
asap@~2.0.3:
version "2.0.6"
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
asn1@~0.2.3:
version "0.2.3"
@@ -1235,6 +1236,7 @@ convert-source-map@^1.1.0:
core-js@^1.0.0:
version "1.2.7"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=
core-js@^2.4.0:
version "2.5.6"
@@ -1431,6 +1433,7 @@ emoji-regex@^6.1.0:
encoding@^0.1.11:
version "0.1.12"
resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=
dependencies:
iconv-lite "~0.4.13"
@@ -1913,8 +1916,9 @@ fast-levenshtein@~2.0.4:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
fbjs@^0.8.16:
version "0.8.16"
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db"
version "0.8.17"
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=
dependencies:
core-js "^1.0.0"
isomorphic-fetch "^2.1.1"
@@ -1922,7 +1926,7 @@ fbjs@^0.8.16:
object-assign "^4.1.0"
promise "^7.1.1"
setimmediate "^1.0.5"
ua-parser-js "^0.7.9"
ua-parser-js "^0.7.18"
fbjs@^0.8.9:
version "0.8.12"
@@ -2293,12 +2297,19 @@ http-signature@~1.1.0:
jsprim "^1.2.2"
sshpk "^1.7.0"
iconv-lite@^0.4.17, iconv-lite@~0.4.13:
iconv-lite@^0.4.17:
version "0.4.21"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.21.tgz#c47f8733d02171189ebc4a400f3218d348094798"
dependencies:
safer-buffer "^2.1.0"
iconv-lite@~0.4.13:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
dependencies:
safer-buffer ">= 2.1.2 < 3"
ignore@^3.0.11, ignore@^3.0.9:
version "3.3.3"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d"
@@ -2526,6 +2537,7 @@ is-resolvable@^1.0.0:
is-stream@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
is-symbol@^1.0.1:
version "1.0.1"
@@ -2560,6 +2572,7 @@ isobject@^2.0.0:
isomorphic-fetch@^2.1.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=
dependencies:
node-fetch "^1.0.1"
whatwg-fetch ">=0.10.0"
@@ -2576,6 +2589,11 @@ js-tokens@^3.0.0, js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
"js-tokens@^3.0.0 || ^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
js-yaml@^3.5.1, js-yaml@^3.9.1:
version "3.11.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef"
@@ -2750,7 +2768,14 @@ log-symbols@^1.0.2:
dependencies:
chalk "^1.0.0"
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1:
loose-envify@^1.0.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
dependencies:
js-tokens "^3.0.0 || ^4.0.0"
loose-envify@^1.1.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
dependencies:
@@ -2907,6 +2932,7 @@ nice-try@^1.0.4:
node-fetch@^1.0.1:
version "1.7.3"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==
dependencies:
encoding "^0.1.11"
is-stream "^1.0.1"
@@ -3300,6 +3326,7 @@ progress@^2.0.0:
promise@^7.1.1:
version "7.3.1"
resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==
dependencies:
asap "~2.0.3"
@@ -3310,13 +3337,14 @@ prop-types@^15.5.8:
fbjs "^0.8.9"
loose-envify "^1.3.1"
prop-types@^15.6.0:
version "15.6.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.1.tgz#36644453564255ddda391191fb3a125cbdf654ca"
prop-types@^15.6.0, 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==
dependencies:
fbjs "^0.8.16"
loose-envify "^1.3.1"
loose-envify "^1.4.0"
object-assign "^4.1.1"
react-is "^16.8.1"
ps-tree@^1.1.0:
version "1.1.0"
@@ -3378,6 +3406,11 @@ react-dom@^16.3.2:
object-assign "^4.1.1"
prop-types "^15.6.0"
react-is@^16.8.1:
version "16.8.6"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16"
integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==
react-json-tree@^0.10.9:
version "0.10.9"
resolved "https://registry.yarnpkg.com/react-json-tree/-/react-json-tree-0.10.9.tgz#7263173a2cc8bf05eac63b0419c3ce75b232e284"
@@ -3738,9 +3771,10 @@ safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
safer-buffer@^2.1.0:
"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
sax@0.5.x:
version "0.5.8"
@@ -3779,6 +3813,7 @@ set-immediate-shim@^1.0.1:
setimmediate@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
shebang-command@^1.2.0:
version "1.2.0"
@@ -4125,9 +4160,10 @@ typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
ua-parser-js@^0.7.9:
version "0.7.17"
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac"
ua-parser-js@^0.7.18, ua-parser-js@^0.7.9:
version "0.7.20"
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.20.tgz#7527178b82f6a62a0f243d1f94fd30e3e3c21098"
integrity sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw==
uglify-es@^3.3.7:
version "3.3.9"
@@ -4188,8 +4224,9 @@ vlq@^0.2.2:
resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26"
whatwg-fetch@>=0.10.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f"
version "3.0.0"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb"
integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==
which-module@^1.0.0:
version "1.0.0"