diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 000000000..9da4837d0
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,16 @@
+# editorconfig.org
+
+root = true
+
+[*]
+indent_style = space
+indent_size = 2
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.md]
+indent_style = tab
+indent_size = 4
+trim_trailing_whitespace = false
diff --git a/.env.sample b/.env.sample
new file mode 100644
index 000000000..7e1e7ebe5
--- /dev/null
+++ b/.env.sample
@@ -0,0 +1,4 @@
+REACT_APP_MAPBOX_ACCOUNT=mapbox-account
+REACT_APP_MAPBOX_ACCESS_TOKEN=token
+REACT_APP_API_URL="https://mangrove-atlas-api"
+REACT_APP_TRANSIFEX_API_KEY=
\ No newline at end of file
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 000000000..82fcf5245
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,24 @@
+{
+ "parser": "babel-eslint",
+ "env": {
+ "browser": true,
+ "node": true,
+ "es6": true
+ },
+ "globals": {
+ "Transifex": true
+ },
+ "rules": {
+ "import/no-extraneous-dependencies": [
+ "error",
+ {
+ " devDependencies": [
+ ".storybook/**",
+ "stories/**"
+ ]
+ }
+ ],
+ "import/no-unresolved": "off"
+ },
+ "extends": "vizzuality"
+}
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 000000000..348076b95
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+10.15.3
diff --git a/.storybook/addons.js b/.storybook/addons.js
new file mode 100644
index 000000000..fb6433dfd
--- /dev/null
+++ b/.storybook/addons.js
@@ -0,0 +1 @@
+// import 'storybook-addon-styled-component-theme/dist/src/register';
diff --git a/.storybook/config.js b/.storybook/config.js
new file mode 100644
index 000000000..7346529ac
--- /dev/null
+++ b/.storybook/config.js
@@ -0,0 +1,15 @@
+import { configure } from "@storybook/react";
+import '@storybook/addon-knobs/register';
+import '@storybook/addon-cssresources/register';
+
+import '../src/styles/main.scss';
+
+function requireAll(requireContext) {
+ return requireContext.keys().map(requireContext)
+}
+
+function loadStories() {
+ requireAll(require.context("../src/components", true, /.stories\.jsx?$/));
+}
+
+configure(loadStories, module)
diff --git a/.storybook/contexts.js b/.storybook/contexts.js
new file mode 100644
index 000000000..d981ef8b8
--- /dev/null
+++ b/.storybook/contexts.js
@@ -0,0 +1,22 @@
+import { background } from "@storybook/theming";
+
+export const ReactContextProvider = [
+ {
+ icon: 'box', // a icon displayed in the Storybook toolbar to control contextual props
+ title: 'Themes', // an unique name of a contextual environment
+ components: [ // an array of components that is going to be injected to wrap stories
+ /* Styled-components ThemeProvider, */
+ /* Material-ui ThemeProvider, */
+ ],
+ params: [ // an array of params contains a set of predefined `props` for `components`
+ { name: 'Light Theme', props: { theme : {background: 'blue' }} },
+ { name: 'Dark Theme', props: { theme : {background: 'red' } }, default: true },
+ ],
+ options: {
+ deep: true, // pass the `props` deeply into all wrapping components
+ disable: false, // disable this contextual environment completely
+ cancelable: false, // allow this contextual environment to be opt-out optionally in toolbar
+ },
+ },
+ /* ... */ // multiple contexts setups are supported
+];
diff --git a/.storybook/preview-head.html b/.storybook/preview-head.html
new file mode 100644
index 000000000..327cf30c6
--- /dev/null
+++ b/.storybook/preview-head.html
@@ -0,0 +1,3 @@
+
+
+
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 000000000..0caa4a6f3
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,51 @@
+# Changelog
+
+## 2019-08-09
+
+### Changed
+
+- Header layour changed.
+- Header is fixed when user scrolls.
+
+## 2019-08-02
+
+### Added
+
+- Countries list showed in alphabetical order.
+- Hotspots included in Search countries modal.
+- Header fixed on sidebar scroll.
+- Language-selector.
+- Storybook stories:
+ - Map.
+ - Header.
+ - Modal.
+ - Location modal.
+
+### Changed
+
+- Dates selector (arrow styles and functionality restricted).
+- Global Styles adjusments.
+- widget buttons styles.
+
+## 2019-07-26
+
+### Added
+
+- API.
+- Loader spinner.
+- Storybook stories:
+ - Chart.
+ - Button group.
+ - Spinner.
+
+### Changed
+
+- Widgets load.
+- Widget download data link to component.
+- Collapse widget button styles.
+- Action Bar in header updated.
+- Search modal interaction improved.
+
+### Fixed
+
+- Sentece in widget updated.
diff --git a/Procfile b/Procfile
new file mode 100644
index 000000000..81e952f73
--- /dev/null
+++ b/Procfile
@@ -0,0 +1 @@
+web: node server
diff --git a/README.md b/README.md
index f1028161b..2180e2af9 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,45 @@
-# mangrove-atlas
\ No newline at end of file
+# Mangrove Atlas
+
+
+## Installation
+
+Requirementes:
+
+* NodeJs v10.5.3
+* Yarn
+
+This app was created using [https://github.com/facebook/create-react-app](create-react-app).
+
+Before start you have to create an env file called `.env.local` copying the content inside `.env.sample`.
+If you need more information about env variables you can follow [https://facebook.github.io/create-react-app/docs/adding-custom-environment-variables](this instructions).
+
+Install node dependencies:
+
+```
+yarn install
+```
+
+Init server for development:
+
+```
+yarn start
+```
+
+It will open automatically the browser [http://localhost:3000](http://localhost:3000).
+
+# Deploy to staging
+
+Put all your code in `develop` branch.
+
+Add heroku site:
+
+```
+heroku git:remote -a mangroves-atlas
+```
+
+And deploy:
+
+```
+git push heroku develop:master
+```
+
diff --git a/jsconfig.json b/jsconfig.json
new file mode 100644
index 000000000..738e8a465
--- /dev/null
+++ b/jsconfig.json
@@ -0,0 +1,5 @@
+{
+ "compilerOptions": {
+ "baseUrl": "./src"
+ }
+}
diff --git a/package.json b/package.json
index 8c8f1529a..02826786f 100644
--- a/package.json
+++ b/package.json
@@ -3,18 +3,70 @@
"version": "0.1.0",
"private": true,
"dependencies": {
+ "@fortawesome/fontawesome-svg-core": "^1.2.19",
+ "@fortawesome/free-solid-svg-icons": "^5.9.0",
+ "@fortawesome/react-fontawesome": "^0.1.4",
+ "@turf/bbox": "^6.0.1",
+ "axios": "^0.19.0",
+ "babel-loader": "8.0.5",
+ "classnames": "^2.2.6",
+ "d3-ease": "^1.0.5",
+ "d3-format": "^1.3.2",
+ "deck.gl": "^7.1.4",
+ "express": "^4.17.1",
+ "express-favicon": "^2.0.1",
+ "lodash": "^4.17.11",
+ "moment": "^2.24.0",
+ "node-sass": "^4.12.0",
+ "prop-types": "^15.7.2",
+ "query-string": "^6.5.0",
"react": "^16.8.6",
+ "react-bootstrap": "^1.0.0-beta.9",
+ "react-csv": "^1.1.1",
+ "react-datepicker": "^2.8.0",
"react-dom": "^16.8.6",
- "react-scripts": "3.0.1"
+ "react-map-gl": "^5.0.3",
+ "react-modal": "^3.9.1",
+ "react-on-scroll": "^0.2.2",
+ "react-redux": "^7.0.3",
+ "react-responsive": "^7.0.0",
+ "react-scripts": "3.0.1",
+ "react-select": "^3.0.4",
+ "react-sticky-box": "^0.8.0",
+ "recharts": "^1.6.2",
+ "redux": "^4.0.1",
+ "redux-devtools-extension": "^2.13.8",
+ "redux-first-router": "^2.1.1",
+ "redux-first-router-link": "^2.1.1",
+ "redux-saga": "^1.0.2",
+ "reselect": "^4.0.0",
+ "viewport-mercator-project": "^6.1.1",
+ "vizzuality-redux-tools": "^4.0.2"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.5.5",
+ "@storybook/addon-actions": "^5.0.11",
+ "@storybook/addon-centered": "^5.1.9",
+ "@storybook/addon-cssresources": "^5.1.9",
+ "@storybook/addon-knobs": "^5.1.9",
+ "@storybook/addon-notes": "^5.0.11",
+ "@storybook/addons": "^5.0.11",
+ "@storybook/react": "^5.1.9",
+ "eslint": "5.16.0",
+ "eslint-config-airbnb": "17.1.0",
+ "eslint-config-vizzuality": "^1.3.0",
+ "eslint-plugin-import": "^2.17.2",
+ "eslint-plugin-jsx-a11y": "6.1.1",
+ "eslint-plugin-react": "7.11.0",
+ "typescript": "^3.5.3"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
+ "lint": "eslint ./src",
"test": "react-scripts test",
- "eject": "react-scripts eject"
- },
- "eslintConfig": {
- "extends": "react-app"
+ "eject": "react-scripts eject",
+ "storybook": "start-storybook"
},
"browserslist": {
"production": [
@@ -27,5 +79,8 @@
"last 1 firefox version",
"last 1 safari version"
]
+ },
+ "engines": {
+ "node": "10.x"
}
-}
+}
diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png
new file mode 100644
index 000000000..ae57893aa
Binary files /dev/null and b/public/android-chrome-192x192.png differ
diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png
new file mode 100644
index 000000000..fa1c7974d
Binary files /dev/null and b/public/android-chrome-512x512.png differ
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
new file mode 100644
index 000000000..40b7740da
Binary files /dev/null and b/public/apple-touch-icon.png differ
diff --git a/public/browserconfig.xml b/public/browserconfig.xml
new file mode 100644
index 000000000..d416bc536
--- /dev/null
+++ b/public/browserconfig.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+ #ffffff
+
+
+
diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png
new file mode 100644
index 000000000..815384b33
Binary files /dev/null and b/public/favicon-16x16.png differ
diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png
new file mode 100644
index 000000000..709a7f301
Binary files /dev/null and b/public/favicon-32x32.png differ
diff --git a/public/favicon.ico b/public/favicon.ico
index a11777cc4..f17b0646c 100644
Binary files a/public/favicon.ico and b/public/favicon.ico differ
diff --git a/public/index.html b/public/index.html
index dd1ccfd4c..fbbc38adb 100644
--- a/public/index.html
+++ b/public/index.html
@@ -19,7 +19,22 @@
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
-
React App
+ Mangrove Atlas
+
+
+
+
+
+
+
diff --git a/public/mstile-150x150.png b/public/mstile-150x150.png
new file mode 100644
index 000000000..976d88ea5
Binary files /dev/null and b/public/mstile-150x150.png differ
diff --git a/public/safari-pinned-tab.svg b/public/safari-pinned-tab.svg
new file mode 100644
index 000000000..3dba2ab76
--- /dev/null
+++ b/public/safari-pinned-tab.svg
@@ -0,0 +1,30 @@
+
+
+
diff --git a/public/site.webmanifest b/public/site.webmanifest
new file mode 100644
index 000000000..b20abb7cb
--- /dev/null
+++ b/public/site.webmanifest
@@ -0,0 +1,19 @@
+{
+ "name": "",
+ "short_name": "",
+ "icons": [
+ {
+ "src": "/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "/android-chrome-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "background_color": "#ffffff",
+ "display": "standalone"
+}
diff --git a/server.js b/server.js
new file mode 100644
index 000000000..7a3d6f5e6
--- /dev/null
+++ b/server.js
@@ -0,0 +1,11 @@
+const express = require('express');
+const favicon = require('express-favicon');
+const path = require('path');
+
+const port = process.env.PORT || 8080;
+const app = express();
+
+app.use(favicon(path.join(__dirname, '/build/favicon.ico')));
+app.use(express.static(path.join(__dirname, 'build')));
+app.get('/*', (req, res) => res.sendFile(path.join(__dirname, 'build', 'index.html')));
+app.listen(port);
diff --git a/src/App.css b/src/App.css
deleted file mode 100644
index b41d297ca..000000000
--- a/src/App.css
+++ /dev/null
@@ -1,33 +0,0 @@
-.App {
- text-align: center;
-}
-
-.App-logo {
- animation: App-logo-spin infinite 20s linear;
- height: 40vmin;
- pointer-events: none;
-}
-
-.App-header {
- background-color: #282c34;
- min-height: 100vh;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- font-size: calc(10px + 2vmin);
- color: white;
-}
-
-.App-link {
- color: #61dafb;
-}
-
-@keyframes App-logo-spin {
- from {
- transform: rotate(0deg);
- }
- to {
- transform: rotate(360deg);
- }
-}
diff --git a/src/App.js b/src/App.js
deleted file mode 100644
index ce9cbd294..000000000
--- a/src/App.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import React from 'react';
-import logo from './logo.svg';
-import './App.css';
-
-function App() {
- return (
-
- );
-}
-
-export default App;
diff --git a/src/App.test.js b/src/App.test.js
deleted file mode 100644
index a754b201b..000000000
--- a/src/App.test.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import React from 'react';
-import ReactDOM from 'react-dom';
-import App from './App';
-
-it('renders without crashing', () => {
- const div = document.createElement('div');
- ReactDOM.render(, div);
- ReactDOM.unmountComponentAtNode(div);
-});
diff --git a/src/components/basemap-selector/component.js b/src/components/basemap-selector/component.js
new file mode 100644
index 000000000..153ec3366
--- /dev/null
+++ b/src/components/basemap-selector/component.js
@@ -0,0 +1,71 @@
+import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+import classnames from 'classnames';
+import { basemaps } from './constants';
+import lightThumb from './thumbs/btn-light@2x.png';
+import darkThumb from './thumbs/btn-dark@2x.png';
+import satelliteThumb from './thumbs/btn-satellite@2x.png';
+import styles from './style.module.scss';
+
+const thumbs = {
+ light: lightThumb,
+ dark: darkThumb,
+ satellite: satelliteThumb
+};
+
+class BasemapSelector extends PureComponent {
+ static propTypes = {
+ basemapName: PropTypes.string,
+ setBasemap: PropTypes.func,
+ isCollapsed: PropTypes.bool.isRequired,
+ mapView: PropTypes.bool.isRequired
+ };
+
+ static defaultProps = {
+ basemapName: 'light',
+ setBasemap: () => null
+ };
+
+ onChangeBasemap = (e) => {
+ const { setBasemap } = this.props;
+ const selectedBasemap = e.currentTarget.dataset.basemap;
+
+ setBasemap(selectedBasemap);
+ }
+
+ render() {
+ const { basemapName, isCollapsed, mapView } = this.props;
+ const currentBasemap = basemaps.find(b => b.id === basemapName);
+
+ return (
+
+
+
Map style
+
{currentBasemap.name}
+
+
+ {basemaps.map(b => (
+
+ ))}
+
+
+ );
+ }
+}
+
+export default BasemapSelector;
diff --git a/src/components/basemap-selector/constants.js b/src/components/basemap-selector/constants.js
new file mode 100644
index 000000000..86a099d0c
--- /dev/null
+++ b/src/components/basemap-selector/constants.js
@@ -0,0 +1,16 @@
+export const basemaps = [
+ {
+ id: 'light',
+ name: 'Light',
+ },
+ {
+ id: 'dark',
+ name: 'Dark'
+ },
+ {
+ id: 'satellite',
+ name: 'Satellite'
+ }
+];
+
+export default { basemaps };
diff --git a/src/components/basemap-selector/index.js b/src/components/basemap-selector/index.js
new file mode 100644
index 000000000..f23122850
--- /dev/null
+++ b/src/components/basemap-selector/index.js
@@ -0,0 +1,16 @@
+import { connect } from 'react-redux';
+import { setBasemap } from 'modules/map/actions';
+
+import Component from './component';
+
+const mapStateToProps = state => ({
+ basemapName: state.map.basemap,
+ isCollapsed: state.layers.isCollapsed,
+ mapView: state.app.mobile.mapView
+});
+
+const mapDispatchToProps = {
+ setBasemap
+};
+
+export default connect(mapStateToProps, mapDispatchToProps)(Component);
diff --git a/src/components/basemap-selector/stories.jsx b/src/components/basemap-selector/stories.jsx
new file mode 100644
index 000000000..75394b7af
--- /dev/null
+++ b/src/components/basemap-selector/stories.jsx
@@ -0,0 +1,14 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import Component from './component';
+
+storiesOf('Basemap Selector', module)
+ .add('Light active', () => (
+
+ ))
+ .add('Dark active', () => (
+
+ ))
+ .add('Satllite active', () => (
+
+ ));
diff --git a/src/components/basemap-selector/style.module.scss b/src/components/basemap-selector/style.module.scss
new file mode 100644
index 000000000..23006a11d
--- /dev/null
+++ b/src/components/basemap-selector/style.module.scss
@@ -0,0 +1,60 @@
+@import 'styles/vars';
+
+.basemap {
+ display: flex;
+ align-items: center;
+
+ padding: 15px 20px;
+
+ background: white;
+ border-radius: 10px;
+ box-shadow: 0 4px 12px 0 rgba(168,168,168,0.25);
+
+ &.collapse {
+ display: none;
+ }
+ .current {
+ margin-right: 30px;
+
+ h3 {
+ margin: 0;
+
+ @include upper-text;
+ }
+
+ > div {
+ margin: 5px 0 0 0;
+ }
+ }
+
+ .options {
+ display: flex;
+ align-items: center;
+ }
+
+ .basemapThumb {
+ margin: 0 0 0 10px;
+ padding: 0;
+ width: 35px;
+ height: 45px;
+
+ background-color: transparent;
+ background-position: center;
+ background-size: cover;
+ border: 0;
+ border-radius: 28px;
+
+ overflow: hidden;
+
+ transition: all 0.5 ease;
+
+ &:hover {
+ box-shadow: 0 2px 5px 0 rgba(7, 127, 172, 0.43);
+ }
+
+ &.selected {
+ border: 2px solid $primary;
+ box-shadow: 0 2px 5px 0 rgba(7, 127, 172, 0.43);
+ }
+ }
+}
diff --git a/src/components/basemap-selector/thumbs/btn-dark@2x.png b/src/components/basemap-selector/thumbs/btn-dark@2x.png
new file mode 100755
index 000000000..6626d2c99
Binary files /dev/null and b/src/components/basemap-selector/thumbs/btn-dark@2x.png differ
diff --git a/src/components/basemap-selector/thumbs/btn-light@2x.png b/src/components/basemap-selector/thumbs/btn-light@2x.png
new file mode 100755
index 000000000..d34d5e0ff
Binary files /dev/null and b/src/components/basemap-selector/thumbs/btn-light@2x.png differ
diff --git a/src/components/basemap-selector/thumbs/btn-satellite@2x.png b/src/components/basemap-selector/thumbs/btn-satellite@2x.png
new file mode 100755
index 000000000..942c21605
Binary files /dev/null and b/src/components/basemap-selector/thumbs/btn-satellite@2x.png differ
diff --git a/src/components/basemap-selector/thumbs/dark.png b/src/components/basemap-selector/thumbs/dark.png
new file mode 100644
index 000000000..500bfc65b
Binary files /dev/null and b/src/components/basemap-selector/thumbs/dark.png differ
diff --git a/src/components/basemap-selector/thumbs/light.png b/src/components/basemap-selector/thumbs/light.png
new file mode 100644
index 000000000..1d553aab6
Binary files /dev/null and b/src/components/basemap-selector/thumbs/light.png differ
diff --git a/src/components/basemap-selector/thumbs/satellite.jpeg b/src/components/basemap-selector/thumbs/satellite.jpeg
new file mode 100644
index 000000000..33c62c73b
Binary files /dev/null and b/src/components/basemap-selector/thumbs/satellite.jpeg differ
diff --git a/src/components/button/component.js b/src/components/button/component.js
new file mode 100644
index 000000000..be255c03d
--- /dev/null
+++ b/src/components/button/component.js
@@ -0,0 +1,30 @@
+import React from 'react';
+import classnames from 'classnames';
+import styles from './style.module.scss';
+
+export default (props) => {
+ const { children,
+ isDisabled,
+ hasBackground,
+ isTransparent,
+ isGrey,
+ hasContrast,
+ isActive,
+ ...domProps } = props;
+
+ return (
+
+ );
+};
diff --git a/src/components/button/index.js b/src/components/button/index.js
new file mode 100644
index 000000000..930651d36
--- /dev/null
+++ b/src/components/button/index.js
@@ -0,0 +1,3 @@
+import component from './component';
+
+export default component;
diff --git a/src/components/button/stories.jsx b/src/components/button/stories.jsx
new file mode 100644
index 000000000..decabf5e8
--- /dev/null
+++ b/src/components/button/stories.jsx
@@ -0,0 +1,46 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import Button from './component';
+import styles from './style.module.scss';
+
+storiesOf('Button/Background/Primary', module)
+ .addParameters({ options: { theme: styles.contrast } })
+ .add('Active', () => (
+
+ ))
+ .add('Disabled', () => (
+
+ ));
+
+storiesOf('Button/Background/Contrast', module)
+ .addParameters({ options: { theme: styles.contrast } })
+ .add('Active', () => (
+
+ ))
+ .add('Disabled', () => (
+
+ ));
+
+storiesOf('Button/Transparent/Primary', module)
+ .add('Active', () => (
+
+ ))
+ .add('Disabled', () => (
+
+ ));
+
+storiesOf('Button/Transparent/Contrast', module)
+ .add('Active', () => (
+
+ ))
+ .add('Disabled', () => (
+
+ ));
+
+storiesOf('Button/Transparent/Greys', module)
+ .add('Active', () => (
+
+ ))
+ .add('Disabled', () => (
+
+ ));
diff --git a/src/components/button/style.module.scss b/src/components/button/style.module.scss
new file mode 100644
index 000000000..fb68eaca5
--- /dev/null
+++ b/src/components/button/style.module.scss
@@ -0,0 +1,61 @@
+@import 'styles/vars';
+
+.button {
+ padding: 0 20px;
+ min-width: 116px;
+ min-height: 30px;
+ background-color: transparent;
+ border-radius: 15px;
+ border: 2px solid rgba($primary, 0.2);
+ color: $primary;
+ font-size: $body-font-size;
+ font-weight: 600;
+
+ transition: all 0.25s ease;
+
+ &:hover {
+ border-color: rgba($primary, 0.4);
+ cursor: pointer;
+ }
+
+ &.background {
+ background-color: $primary;
+ color:$white;
+
+ &.contrast {
+ background-color: $white;
+ color: $primary;
+ border-color: $white;
+ }
+ }
+
+ &.transparent {
+ border-color: rgba(0, 133, 127, 0.4);
+ background-color: transparent;
+ color: $primary;
+
+ &:hover {
+ border: 2px solid rgba(0, 133, 127, 0.4);
+ }
+
+ &.contrast {
+ color: $white;
+ }
+ &.grey {
+ border-color: rgba(0,0,0,0.2);
+ color: $body-color;
+ &:hover {
+ border-color: rgba(0,0,0,0.4);
+ }
+ }
+ }
+
+ &.disabled {
+ cursor: default;
+ pointer-events: none;
+ opacity: 0.2;
+ }
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ min-width: 0;
+ }
+}
diff --git a/src/components/buttonGroup/component.js b/src/components/buttonGroup/component.js
new file mode 100644
index 000000000..23d7f12bc
--- /dev/null
+++ b/src/components/buttonGroup/component.js
@@ -0,0 +1,12 @@
+import React from 'react';
+import ButtonGroup from 'react-bootstrap/ButtonGroup';
+import styles from './style.module.scss';
+
+export default (props) => {
+ const { children } = props;
+ return (
+
+ {children}
+
+ );
+};
diff --git a/src/components/buttonGroup/index.js b/src/components/buttonGroup/index.js
new file mode 100644
index 000000000..930651d36
--- /dev/null
+++ b/src/components/buttonGroup/index.js
@@ -0,0 +1,3 @@
+import component from './component';
+
+export default component;
diff --git a/src/components/buttonGroup/stories.jsx b/src/components/buttonGroup/stories.jsx
new file mode 100644
index 000000000..af955a6ef
--- /dev/null
+++ b/src/components/buttonGroup/stories.jsx
@@ -0,0 +1,13 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import ButtonGroup from './component';
+import Button from '../button/component';
+
+storiesOf('Button group', module)
+ .add('buttons bar', () => (
+
+
+
+
+
+ ));
diff --git a/src/components/buttonGroup/style.module.scss b/src/components/buttonGroup/style.module.scss
new file mode 100644
index 000000000..66edba931
--- /dev/null
+++ b/src/components/buttonGroup/style.module.scss
@@ -0,0 +1,27 @@
+@import 'styles/vars';
+
+.container {
+ border: 2px solid rgba(0,0,0,0.2);
+ display: inline-flex;
+ position: relative;
+ height: 26px;
+ border-radius: 15px;
+
+ button {
+ display: block;
+ position: relative;
+ margin: -2px;
+ border: none;
+ text-align: center;
+ color: $body-color;
+ &:focus {
+ text-align: center;
+ border: 2px solid white;
+ margin: -2px;
+ height: 30px;
+ background-color: $white;
+ color: $primary;
+ border-bottom: 3px solid white;;
+ }
+ }
+}
diff --git a/src/components/chart/component.js b/src/components/chart/component.js
new file mode 100644
index 000000000..f00479245
--- /dev/null
+++ b/src/components/chart/component.js
@@ -0,0 +1,283 @@
+import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+import maxBy from 'lodash/maxBy';
+import max from 'lodash/max';
+import {
+ Line,
+ Bar,
+ Cell,
+ Area,
+ Pie,
+ XAxis,
+ YAxis,
+ CartesianGrid,
+ CartesianAxis,
+ Tooltip,
+ Legend,
+ ResponsiveContainer,
+ ComposedChart,
+ PieChart,
+ Label
+} from 'recharts';
+
+import { stack, clearStack, addComponent } from './rechart-components';
+import ChartTick from './tick';
+import {
+ allowedKeys,
+ defaults
+} from './constants';
+
+import styles from './style.module.scss';
+
+const rechartCharts = new Map([
+ ['pie', PieChart],
+ ['composed', ComposedChart]
+]);
+
+class Chart extends PureComponent {
+ static propTypes = {
+ data: PropTypes.arrayOf(PropTypes.shape({})).isRequired,
+ config: PropTypes.shape({}).isRequired,
+ className: PropTypes.string,
+ handleMouseMove: PropTypes.func,
+ handleMouseLeave: PropTypes.func
+ };
+
+ static defaultProps = {
+ className: '',
+ handleMouseMove: null,
+ handleMouseLeave: null
+ }
+
+ findMaxValue = (data, config) => {
+ const { yKeys } = config;
+ const maxValues = [];
+
+ Object.keys(yKeys).forEach((key) => {
+ Object.keys(yKeys[key]).forEach((subKey) => {
+ if (data.some(d => d.key)) {
+ maxValues.push(maxBy(data, subKey)[subKey]);
+ }
+ });
+ });
+
+ return max(maxValues);
+ };
+
+ render() {
+ const {
+ data,
+ config,
+ handleMouseMove,
+ handleMouseLeave
+ } = this.props;
+
+ const {
+ margin = { top: 20, right: 0, left: 50, bottom: 0 },
+ padding = { top: 0, right: 0, left: 0, bottom: 0 },
+ type = 'composed',
+ height,
+ layout = 'horizontal',
+ gradients,
+ patterns,
+ ...content
+ } = config;
+
+ const {
+ xKey,
+ yKeys,
+ xAxis,
+ yAxis,
+ cartesianGrid,
+ cartesianAxis,
+ tooltip,
+ legend,
+ unit,
+ unitFormat
+ } = content;
+
+ clearStack();
+
+ const { lines, bars, areas, pies } = yKeys;
+ const maxYValue = this.findMaxValue(data, config);
+
+ const RechartChart = rechartCharts.get(type);
+
+ Object.entries(content).forEach(entry => {
+ const [key, definition] = entry;
+ if (allowedKeys.includes(key)) {
+ addComponent(key, definition);
+ }
+ });
+
+ return (
+
+
+
+
+ {gradients && Object.keys(gradients).map(key => (
+
+ {gradients[key].stops && Object.keys(gradients[key].stops).map(sKey => (
+
+ ))
+ }
+
+ ))
+ }
+
+ {patterns && Object.keys(patterns).map(key => (
+
+ {patterns[key].children && Object.keys(patterns[key].children).map((iKey) => {
+ const { tag } = patterns[key].children[iKey];
+
+ return React.createElement(
+ tag,
+ {
+ key: iKey,
+ ...patterns[key].children[iKey]
+ }
+ );
+ })
+ }
+
+ ))
+ }
+
+ { stack }
+
+ {cartesianGrid && (
+
+ )}
+
+ {cartesianAxis && (
+
+ )}
+
+ {xAxis && (
+
+ )}
+
+ {yAxis && (
+ value)}
+ fill="#AAA"
+ />
+ )}
+ {...yAxis}
+ />
+ )}
+
+ {areas && Object.keys(areas).map(key => (
+
+ ))}
+
+ {bars && Object.keys(bars).map(key => (
+
+ {!!bars[key].label && }
+
+ {bars[key].itemColor && data.map(item => (
+ |
+ ))}
+
+ ))}
+
+ {lines && Object.keys(lines).map(key => (
+
+ ))}
+
+ {pies && (
+ Object.keys(pies).map(key => (
+
+ {data.map(item => (
+ |
+ ))}
+
+ ))
+ )}
+
+ {layout === 'vertical' && xAxis && (
+
+ )}
+
+ {tooltip && (
+
+ )}
+
+ {legend && (
+
+ )}
+
+
+
+ );
+ }
+}
+
+export default Chart;
diff --git a/src/components/chart/constants.js b/src/components/chart/constants.js
new file mode 100644
index 000000000..5a0e7f9c3
--- /dev/null
+++ b/src/components/chart/constants.js
@@ -0,0 +1,11 @@
+export const allowedKeys = [
+ 'referenceAreas',
+ 'referenceLines'
+];
+
+export const defaults = {
+ cartesianGrid: {
+ strokeDasharray: '4 4',
+ stroke: '#d6d6d9'
+ }
+}
\ No newline at end of file
diff --git a/src/components/chart/index.js b/src/components/chart/index.js
new file mode 100644
index 000000000..2e331cd27
--- /dev/null
+++ b/src/components/chart/index.js
@@ -0,0 +1 @@
+export {default} from './component';
diff --git a/src/components/chart/rechart-components/defaults.js b/src/components/chart/rechart-components/defaults.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/components/chart/rechart-components/index.js b/src/components/chart/rechart-components/index.js
new file mode 100644
index 000000000..1798fc250
--- /dev/null
+++ b/src/components/chart/rechart-components/index.js
@@ -0,0 +1,38 @@
+import React from 'react';
+import { isObject, isArray } from 'lodash';
+import {
+ CartesianGrid,
+ CartesianAxis,
+ ReferenceLine,
+ ReferenceArea,
+ Line
+} from 'recharts';
+
+const rechartsComponentsMap = new Map([
+ ['referenceAreas', ReferenceArea],
+ ['referenceLines', ReferenceLine],
+ ['cartesianGrid', CartesianGrid],
+ ['cartesianAxis', CartesianAxis]
+]);
+
+export let stack = [];
+
+export function clearStack() {
+ stack = [];
+}
+
+export function addComponent(type, options) {
+ if (!rechartsComponentsMap.has(type)) {
+ return null;
+ }
+
+ const Component = rechartsComponentsMap.get(type);
+
+ if (isArray(options)) {
+ options.forEach((itemOptions, index) => stack.push())
+ } else if (isObject(options)) {
+ stack.push();
+ }
+
+ return null;
+};
\ No newline at end of file
diff --git a/src/components/chart/stories.jsx b/src/components/chart/stories.jsx
new file mode 100644
index 000000000..227a61ca3
--- /dev/null
+++ b/src/components/chart/stories.jsx
@@ -0,0 +1,15 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import TooltipComponent from './tooltip/component';
+import TickComponent from './tick/component';
+
+storiesOf('Chart', module)
+ .add('Tooltip', () => (
+
+ ))
+ .add('Tick', () => (
+
+ ));
diff --git a/src/components/chart/style.module.scss b/src/components/chart/style.module.scss
new file mode 100644
index 000000000..fc9b9c63b
--- /dev/null
+++ b/src/components/chart/style.module.scss
@@ -0,0 +1,4 @@
+.chart {
+ width: 100%;
+ height: 250px;
+}
diff --git a/src/components/chart/tick/component.js b/src/components/chart/tick/component.js
new file mode 100644
index 000000000..d11dc91bd
--- /dev/null
+++ b/src/components/chart/tick/component.js
@@ -0,0 +1,62 @@
+import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+
+class Tick extends PureComponent {
+ static propTypes = {
+ x: PropTypes.number,
+ y: PropTypes.number,
+ payload: PropTypes.shape({}),
+ dataMax: PropTypes.number,
+ unit: PropTypes.string.isRequired,
+ unitFormat: PropTypes.func.isRequired,
+ fill: PropTypes.string.isRequired,
+ backgroundColor: PropTypes.string
+ }
+
+ static defaultProps = {
+ x: 0,
+ y: 0,
+ dataMax: Infinity,
+ payload: {},
+ backgroundColor: ''
+ }
+
+ render() {
+ const {
+ x,
+ y,
+ payload,
+ dataMax,
+ unit,
+ unitFormat,
+ fill,
+ backgroundColor
+ } = this.props;
+
+ const tickValue = payload && payload.value;
+ const formattedTick = tickValue ? unitFormat(tickValue) : 0;
+ const tick = tickValue >= dataMax ? `${formattedTick}${unit}` : formattedTick;
+ return (
+
+
+
+
+
+
+
+ Hello
+
+ {tick}
+
+
+ );
+ }
+}
+
+export default Tick;
diff --git a/src/components/chart/tick/index.js b/src/components/chart/tick/index.js
new file mode 100644
index 000000000..2069ac0dc
--- /dev/null
+++ b/src/components/chart/tick/index.js
@@ -0,0 +1,3 @@
+import TickComponent from './component';
+
+export default TickComponent;
diff --git a/src/components/chart/tooltip/component.js b/src/components/chart/tooltip/component.js
new file mode 100644
index 000000000..4d5933624
--- /dev/null
+++ b/src/components/chart/tooltip/component.js
@@ -0,0 +1,75 @@
+import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+
+// Styles
+import styles from './style.module.css';
+
+class Tooltip extends PureComponent {
+ static propTypes = {
+ payload: PropTypes.arrayOf(PropTypes.shape({})),
+ settings: PropTypes.arrayOf(PropTypes.shape({})).isRequired,
+ hideZeros: PropTypes.bool
+ };
+
+ static defaultProps = {
+ payload: [],
+ hideZeros: false
+ }
+
+ getValue = (item, value) => {
+ const { format, suffix = '', preffix = '' } = item;
+ let val = value;
+
+ if (format && typeof format === 'function') {
+ val = format(val);
+ }
+
+ return `${preffix}${val}${suffix}`;
+ }
+
+ render() {
+ const { payload, settings, hideZeros } = this.props;
+ const values = payload && payload.length > 0 && payload[0].payload;
+ return (
+
+ {settings && settings.length && (
+
+ {settings.map(
+ d => (hideZeros && !values[d.key] ? null : (
+
+ {/* LABEL */}
+ {(d.label || d.labelKey) && (
+
+ {d.color && (
+
+ )}
+
+ {d.key === 'break' ? (
+
{d.label}
+ ) : (
+
{d.label || values[d.labelKey]}
+ )}
+
+ )}
+
+ {/* UNIT */}
+
+ {this.getValue(d, values[d.key])}
+
+
+ ))
+ )}
+
+ )}
+
+ );
+ }
+}
+
+export default Tooltip;
diff --git a/src/components/chart/tooltip/index.js b/src/components/chart/tooltip/index.js
new file mode 100644
index 000000000..5fafc60cd
--- /dev/null
+++ b/src/components/chart/tooltip/index.js
@@ -0,0 +1,3 @@
+import TooltipComponent from './component';
+
+export default TooltipComponent;
diff --git a/src/components/chart/tooltip/style.module.css b/src/components/chart/tooltip/style.module.css
new file mode 100644
index 000000000..42607836a
--- /dev/null
+++ b/src/components/chart/tooltip/style.module.css
@@ -0,0 +1,46 @@
+.chart_tooltip {
+ padding: 10px 20px;
+ box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.19);
+ background-color: #FFF;
+ color: gray;
+ border-radius: 2px;
+ font-size: 14px;
+}
+
+.data_line {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: flex-start;
+}
+
+.data_line.right {
+ justify-content: flex-end;
+ text-align: right;
+}
+
+.data_label {
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-start;
+ align-items: flex-start;
+ margin-right: 20px;
+}
+
+.break_label {
+ font-size: 14px;
+ font-style: italic;
+ flex-direction: row;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+.data_color {
+ width: 12px;
+ height: 12px;
+ min-height: 12px;
+ min-width: 12px;
+ border-radius: 50%;
+ margin-right: 5px;
+ margin-top: 5px;
+}
diff --git a/src/components/datepicker/component.js b/src/components/datepicker/component.js
new file mode 100644
index 000000000..843d762df
--- /dev/null
+++ b/src/components/datepicker/component.js
@@ -0,0 +1,71 @@
+import React, { PureComponent } from 'react';
+import { createPortal } from 'react-dom';
+import PropTypes from 'prop-types';
+import ReactDatePicker, { CalendarContainer } from 'react-datepicker';
+import classnames from 'classnames';
+
+import DatepickerInput from './input';
+
+import styles from './style.module.scss';
+
+class Datepicker extends PureComponent {
+ renderCalendarContainer = ({ children }) => {
+ return createPortal(
+
+ {children}
+
+ , document.body);
+ };
+
+ render() {
+ const { className, onDateChange, settings, theme, date, inline } = this.props;
+ const { minDate, maxDate } = settings;
+
+ return (
+ { this.ref = ref; }}
+ className={classnames(styles.Datepicker, theme, className, { [styles._inline]: inline})}
+ >
+ }
+ // Popper
+ popperContainer={this.renderCalendarContainer}
+ popperPlacement="bottom-start"
+ popperClassName={styles.DatepickerPopper}
+ popperModifiers={{
+ flip: {
+ enabled: false
+ },
+ offset: {
+ enabled: true,
+ offset: '0px, -15px'
+ },
+ preventOverflow: {
+ enabled: true,
+ escapeWithReference: false, // force popper to stay in viewport (even when input is scrolled out of view)
+ boundariesElement: 'viewport'
+ }
+ }}
+ // Func
+ onSelect={onDateChange}
+ // renderCustomHeader={this.renderCalendarHeader}
+ />
+
+ );
+ }
+}
+
+Datepicker.propTypes = {
+ className: PropTypes.string,
+ theme: PropTypes.string,
+ date: PropTypes.object,
+ onDateChange: PropTypes.func.isRequired,
+ settings: PropTypes.object
+};
+
+export default Datepicker;
\ No newline at end of file
diff --git a/src/components/datepicker/index.js b/src/components/datepicker/index.js
new file mode 100644
index 000000000..601c659fe
--- /dev/null
+++ b/src/components/datepicker/index.js
@@ -0,0 +1 @@
+export {default} from './component';
\ No newline at end of file
diff --git a/src/components/datepicker/input/component.js b/src/components/datepicker/input/component.js
new file mode 100644
index 000000000..dbc3418c5
--- /dev/null
+++ b/src/components/datepicker/input/component.js
@@ -0,0 +1,42 @@
+import React, { PureComponent } from 'react';
+import classnames from 'classnames';
+
+import styles from './style.module.scss';
+
+class DatepickerInput extends PureComponent {
+ state = {
+ focus: false
+ }
+
+ onFocus = (e) => {
+ const { onFocus } = this.props;
+
+ this.setState({ focus: true });
+ onFocus(e);
+ }
+
+ onBlur = (e) => {
+ const { onBlur } = this.props;
+
+ this.setState({ focus: false });
+ onBlur(e);
+ }
+
+ render () {
+ const { value, onClick } = this.props;
+ const { focus } = this.state;
+
+ return (
+
+ )
+ }
+}
+
+export default DatepickerInput;
\ No newline at end of file
diff --git a/src/components/datepicker/input/index.js b/src/components/datepicker/input/index.js
new file mode 100644
index 000000000..76f86e1e7
--- /dev/null
+++ b/src/components/datepicker/input/index.js
@@ -0,0 +1 @@
+export { default } from './component';
\ No newline at end of file
diff --git a/src/components/datepicker/input/style.module.scss b/src/components/datepicker/input/style.module.scss
new file mode 100644
index 000000000..d545fd8cd
--- /dev/null
+++ b/src/components/datepicker/input/style.module.scss
@@ -0,0 +1,33 @@
+@import '~styles/vars';
+
+.DatepickerInput {
+ display: inline-block;
+ text-align: center;
+ text-transform: uppercase;
+ font-weight: bold;
+ cursor: pointer;
+ border-width: 0;
+
+ &:after {
+ content: "";
+ position: absolute;
+ bottom: -7px;
+ right: calc(50% - 3px);
+ width: 0;
+ height: 0;
+ margin: -3px 0 0;
+ border-style: solid;
+ border-width: 6px 6px 0px 6px;
+ border-color: $primary transparent transparent transparent;
+ }
+
+ &._focus, &:focus {
+ outline: none;
+ color: $primary;
+
+ &:after {
+ border-width: 0px 6px 6px 6px;
+ border-color: transparent transparent $primary transparent;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/components/datepicker/style.module.scss b/src/components/datepicker/style.module.scss
new file mode 100644
index 000000000..0d485d89b
--- /dev/null
+++ b/src/components/datepicker/style.module.scss
@@ -0,0 +1,16 @@
+@import '~styles/vars';
+
+.Datepicker {
+ &._inline {
+ display: inline-block;
+ }
+
+ .react-datepicker__day-name {
+ font-family: $font-family;
+ }
+}
+
+.DatepickerPopper {
+ z-index: 10!important;
+}
+
diff --git a/src/components/header/bg-fixed.svg b/src/components/header/bg-fixed.svg
new file mode 100644
index 000000000..bcfa3b45a
--- /dev/null
+++ b/src/components/header/bg-fixed.svg
@@ -0,0 +1,25 @@
+
+
\ No newline at end of file
diff --git a/src/components/header/bg-shape.svg b/src/components/header/bg-shape.svg
new file mode 100644
index 000000000..4c8bbc1cf
--- /dev/null
+++ b/src/components/header/bg-shape.svg
@@ -0,0 +1,34 @@
+
+
\ No newline at end of file
diff --git a/src/components/header/component.js b/src/components/header/component.js
new file mode 100644
index 000000000..efdbddbfc
--- /dev/null
+++ b/src/components/header/component.js
@@ -0,0 +1,86 @@
+import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+import classnames from 'classnames';
+import MediaQuery from 'react-responsive';
+import { breakpoints } from 'utils/responsive';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faSearch } from '@fortawesome/free-solid-svg-icons';
+import background from './bg-shape.svg';
+import fixedBackground from './bg-fixed.svg';
+import styles from './style.module.scss';
+
+class Header extends PureComponent {
+ static propTypes = {
+ sticky: PropTypes.bool,
+ location: PropTypes.shape({
+ name: PropTypes.string
+ }),
+ openSearchPanel: PropTypes.func
+ }
+
+ static defaultProps = {
+ sticky: false,
+ location: { name: 'Location name' },
+ openSearchPanel: () => null
+ }
+
+ clickHandler = () => {
+ const { openSearchPanel } = this.props;
+ openSearchPanel();
+ }
+
+
+ render() {
+ const { location, sticky } = this.props;
+ let stylesOverride = { fontSize: 60, lineHeight: 0.85 };
+
+ if (location && location.name.length > 10) stylesOverride = { fontSize: 45, lineHeight: 1 };
+ if (location && location.name.length > 30) stylesOverride = { fontSize: 30, lineHeight: 1 };
+
+ return (
+
+
+
+
+
+ {location && (
+
+ )}
+
+
+ );
+ }
+}
+
+export default Header;
diff --git a/src/components/header/index.js b/src/components/header/index.js
new file mode 100644
index 000000000..722619c18
--- /dev/null
+++ b/src/components/header/index.js
@@ -0,0 +1,14 @@
+import { connect } from 'react-redux';
+import { currentLocation } from 'modules/locations/selectors';
+import { openSearchPanel } from 'modules/locations/actions';
+import Component from './component';
+
+const mapStateToProps = state => ({
+ location: currentLocation(state)
+});
+
+const mapDispatchToProps = {
+ openSearchPanel
+};
+
+export default connect(mapStateToProps, mapDispatchToProps)(Component);
diff --git a/src/components/header/stories.jsx b/src/components/header/stories.jsx
new file mode 100644
index 000000000..7e670a599
--- /dev/null
+++ b/src/components/header/stories.jsx
@@ -0,0 +1,9 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+
+import Component from './component';
+
+storiesOf('Header', module)
+ .add('header', () => (
+
+ ));
diff --git a/src/components/header/style.module.scss b/src/components/header/style.module.scss
new file mode 100644
index 000000000..839755886
--- /dev/null
+++ b/src/components/header/style.module.scss
@@ -0,0 +1,98 @@
+@import 'styles/vars';
+
+.header {
+ display: flex;
+ margin-bottom: 50px;
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ margin-bottom: 25px;
+ }
+
+ .bg,
+ .bgFixed {
+ display: block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ pointer-events: none;
+ overflow: visible;
+ z-index: -9;
+ &.isHidden {
+ display: none;
+ }
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ display: none;
+ }
+ }
+
+ .bgFixed {
+ position: fixed;
+ z-index: 100;
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ display: none;
+ }
+ }
+
+ .searchBar {
+ margin-top: 80px;
+ z-index: 300;
+ width: 100%;
+ display: flex;
+ &.fixed {
+ position: fixed;
+ top: -65px;
+ }
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ margin-top: 20px;
+ font-size: 35px;
+ }
+ }
+
+ .titleBtn {
+ border: 0;
+ padding: 0;
+ appearance: none;
+ }
+
+ .title {
+ padding: 0;
+ margin: 0;
+ border: 0;
+ background: transparent;
+ color: $body-color;
+ font-size: 60px;
+ font-weight: 300;
+ line-height: 0.85;
+ text-align: left;
+
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ font-size: 35px;
+ }
+ }
+
+ .searchButton {
+ width: 60px;
+ height: 60px;
+ margin-right: 20px;
+ border: 0;
+ border-radius: 100%;
+ background: white;
+ text-align: center;
+ cursor: pointer;
+ box-shadow: $box-shadow;
+
+ :global(.svg-inline--fa path) {
+ fill: $primary;
+ }
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ height: 50px;
+ width: 50px;
+ }
+ svg {
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ height: 30px;
+ width: 30px;
+ vertical-align: 0;
+ }
+ }
+ }
+}
diff --git a/src/components/language-selector/component.js b/src/components/language-selector/component.js
new file mode 100644
index 000000000..39f387f38
--- /dev/null
+++ b/src/components/language-selector/component.js
@@ -0,0 +1,88 @@
+import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+import MediaQuery from 'react-responsive';
+import { breakpoints } from 'utils/responsive';
+import ButtonGroup from 'components/buttonGroup';
+import Button from 'components/button';
+
+class LanguageSelect extends PureComponent {
+ static propTypes = {
+ language: PropTypes.string,
+ data: PropTypes.arrayOf(PropTypes.shape({
+ name: PropTypes.string,
+ code: PropTypes.string,
+ })),
+ fetchLanguages: PropTypes.func.isRequired,
+ setCurrentLanguage: PropTypes.func.isRequired,
+ }
+
+ static defaultProps = {
+ language: 'en',
+ data: null,
+ }
+
+ componentDidMount() {
+ const { fetchLanguages, setCurrentLanguage } = this.props;
+ const { Transifex } = window;
+
+ if (typeof window !== 'undefined') {
+ fetchLanguages();
+ if (Transifex && typeof Transifex !== 'undefined') {
+ Transifex.live.onReady(() => {
+ const { code } = Transifex.live.getSourceLanguage();
+ const langCode = Transifex.live.detectLanguage();
+
+ Transifex.live.translateTo(code);
+ Transifex.live.translateTo(langCode);
+
+ setCurrentLanguage(langCode);
+ });
+ }
+ }
+ }
+
+ handleChange = ({ langCode }) => {
+ const { Transifex } = window;
+ const { setCurrentLanguage } = this.props;
+ Transifex.live.translateTo(langCode);
+ setCurrentLanguage(langCode);
+ }
+
+ render() {
+ const { language, data } = this.props;
+
+ const options = data.map(lang => ({
+ label: lang.name,
+ value: lang.code,
+ code: (lang.code.split('_')[0]).toUpperCase()
+ }));
+ const currentValue = options.find(o => o.value === language);
+ if (!data || !currentValue) return null;
+
+ return (
+
+
+ {options.map(o => (
+
+ ))}
+
+ );
+ }
+}
+
+
+export default LanguageSelect;
diff --git a/src/components/language-selector/index.js b/src/components/language-selector/index.js
new file mode 100644
index 000000000..63d75b791
--- /dev/null
+++ b/src/components/language-selector/index.js
@@ -0,0 +1,15 @@
+import { connect } from 'react-redux';
+import { fetchLanguages, setCurrentLanguage } from 'modules/languages/actions';
+import Component from './component';
+
+const mapStateToProps = state => ({
+ language: state.languages.current,
+ data: state.languages.list,
+});
+
+const mapDispatchToProps = {
+ fetchLanguages,
+ setCurrentLanguage
+};
+
+export default connect(mapStateToProps, mapDispatchToProps)(Component);
diff --git a/src/components/language-selector/stories.jsx b/src/components/language-selector/stories.jsx
new file mode 100644
index 000000000..af955a6ef
--- /dev/null
+++ b/src/components/language-selector/stories.jsx
@@ -0,0 +1,13 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import ButtonGroup from './component';
+import Button from '../button/component';
+
+storiesOf('Button group', module)
+ .add('buttons bar', () => (
+
+
+
+
+
+ ));
diff --git a/src/components/language-selector/style.module.scss b/src/components/language-selector/style.module.scss
new file mode 100644
index 000000000..a386d7e7a
--- /dev/null
+++ b/src/components/language-selector/style.module.scss
@@ -0,0 +1,26 @@
+@import 'styles/vars';
+
+.container {
+ border: 2px solid rgba(0,0,0,0.2);
+ display: inline-flex;
+ position: relative;
+ border-radius: 15px;
+
+ button {
+ display: block;
+ position: relative;
+ margin: -2px;
+ border: none;
+ text-align: center;
+ color: $body-color;
+
+ &:focus {
+ text-align: center;
+ border: 2px solid white;
+ margin: -2px;
+ background-color: $white;
+ color: $primary;
+ border-bottom: 3px solid white;
+ }
+ }
+}
diff --git a/src/components/layout/desktop/component.js b/src/components/layout/desktop/component.js
new file mode 100644
index 000000000..366626f4a
--- /dev/null
+++ b/src/components/layout/desktop/component.js
@@ -0,0 +1,18 @@
+import React from 'react';
+import Widgets from 'components/widgets';
+import Map from 'components/map';
+import Sidebar from 'components/sidebar';
+import styles from '../style.module.scss';
+
+const DesktopLayout = () => (
+
+);
+
+export default DesktopLayout;
diff --git a/src/components/layout/desktop/index.js b/src/components/layout/desktop/index.js
new file mode 100644
index 000000000..5081bc3d6
--- /dev/null
+++ b/src/components/layout/desktop/index.js
@@ -0,0 +1,3 @@
+import DesktopLayout from './component';
+
+export default DesktopLayout;
diff --git a/src/components/layout/mobile/component.js b/src/components/layout/mobile/component.js
new file mode 100644
index 000000000..57f2523b7
--- /dev/null
+++ b/src/components/layout/mobile/component.js
@@ -0,0 +1,33 @@
+import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+import Widgets from 'components/widgets';
+import Sidebar from 'components/sidebar';
+import Map from 'components/map';
+import ViewSelector from 'components/view-selector';
+import styles from '../style.module.scss';
+
+class MobileLayout extends PureComponent {
+ static propTypes = {
+ mapView: PropTypes.bool.isRequired
+ }
+
+ render() {
+ const { mapView } = this.props;
+ return (
+
+ {!mapView && (
+
+
+
+ )}
+ {mapView && (
+
+
+
)}
+
+
+ );
+ }
+}
+
+export default MobileLayout;
diff --git a/src/components/layout/mobile/index.js b/src/components/layout/mobile/index.js
new file mode 100644
index 000000000..381b87a23
--- /dev/null
+++ b/src/components/layout/mobile/index.js
@@ -0,0 +1,8 @@
+import { connect } from 'react-redux';
+import Component from './component';
+
+const mapStateToProps = state => ({
+ mapView: state.app.mobile.mapView
+});
+
+export default connect(mapStateToProps)(Component);
diff --git a/src/components/layout/style.module.scss b/src/components/layout/style.module.scss
new file mode 100644
index 000000000..5ba81ce7b
--- /dev/null
+++ b/src/components/layout/style.module.scss
@@ -0,0 +1,10 @@
+@import 'styles/vars';
+
+.vis {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100vh;
+ z-index: 1;
+}
diff --git a/src/components/link/component.js b/src/components/link/component.js
new file mode 100644
index 000000000..753bad80e
--- /dev/null
+++ b/src/components/link/component.js
@@ -0,0 +1,34 @@
+import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+import { jsonToCSV } from 'utils/jsonParsers';
+import { CSVLink } from 'react-csv';
+import styles from './style.module.scss';
+
+
+class DownloadLink extends PureComponent {
+ static propTypes = {
+ data: PropTypes.arrayOf(PropTypes.shape({})),
+ slug: PropTypes.string
+ }
+
+ static defaultProps = {
+ data: null,
+ slug: null
+ }
+
+ render() {
+ const { data, slug } = this.props;
+ const csvData = jsonToCSV(data);
+ return (
+
+ Download raw data
+
+ );
+ }
+}
+
+export default DownloadLink;
diff --git a/src/components/link/index.js b/src/components/link/index.js
new file mode 100644
index 000000000..574d0d818
--- /dev/null
+++ b/src/components/link/index.js
@@ -0,0 +1,3 @@
+import DownloadLink from './component';
+
+export default DownloadLink;
diff --git a/src/components/link/stories.jsx b/src/components/link/stories.jsx
new file mode 100644
index 000000000..d18c1eb35
--- /dev/null
+++ b/src/components/link/stories.jsx
@@ -0,0 +1,13 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import { withProvider } from 'utils/storybookProvider';
+import DownloadLink from './component';
+
+storiesOf('Download link', module)
+ .addDecorator(withProvider)
+ .add('data', () => (
+
+ ));
diff --git a/src/components/link/style.module.scss b/src/components/link/style.module.scss
new file mode 100644
index 000000000..7c7bbef11
--- /dev/null
+++ b/src/components/link/style.module.scss
@@ -0,0 +1,9 @@
+@import 'styles/vars';
+
+
+.downloadButton {
+ display: inline-block;
+ margin-top: 20px;
+ color: rgba($color: #000000, $alpha: 0.4);
+ text-decoration: underline;
+}
diff --git a/src/components/location-modal/component.js b/src/components/location-modal/component.js
new file mode 100644
index 000000000..0c3a0dc0b
--- /dev/null
+++ b/src/components/location-modal/component.js
@@ -0,0 +1,162 @@
+import React, { PureComponent, Fragment } from 'react';
+import PropTypes from 'prop-types';
+import Link from 'redux-first-router-link';
+import classnames from 'classnames';
+import Modal from 'components/modal';
+import MediaQuery from 'react-responsive';
+import { breakpoints } from 'utils/responsive';
+import HighlightedPlaces from 'components/widget/templates/highlighted-places/component';
+import highlightedPlacesConfig from 'components/widget/templates/highlighted-places/config';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faTimes } from '@fortawesome/free-solid-svg-icons';
+import styles from './style.module.scss';
+
+class LocationSelector extends PureComponent {
+ static propTypes = {
+ isOpened: PropTypes.bool,
+ currentLocation: PropTypes.shape({
+ name: PropTypes.string
+ }),
+ locations: PropTypes.arrayOf(PropTypes.shape({})),
+ highlightedPlaces: PropTypes.arrayOf(PropTypes.shape({})),
+ closeSearchPanel: PropTypes.func
+ }
+
+ static defaultProps = {
+ isOpened: false,
+ currentLocation: { name: 'Location name' },
+ locations: [],
+ highlightedPlaces: null,
+ closeSearchPanel: () => null
+ }
+
+ state = {
+ searchTerm: null
+ };
+
+ componentWillReceiveProps(nextProps) {
+ if (nextProps.isOpened) this.resetTerm();
+ }
+
+ closeModal = () => {
+ const { closeSearchPanel } = this.props;
+
+ closeSearchPanel();
+ this.resetTerm();
+ }
+
+ resetTerm = () => this.setState({ searchTerm: null })
+
+ updateSearchTerm = (e) => {
+ if (e.currentTarget.value === '') {
+ this.resetTerm();
+ } else {
+ this.setState({ searchTerm: e.currentTarget.value });
+ }
+ }
+
+ render() {
+ const { isOpened, currentLocation, locations, highlightedPlaces } = this.props;
+ if (!currentLocation) return null;
+
+ const { searchTerm } = this.state;
+ const locationsData = searchTerm
+ ? locations.filter(l => new RegExp(searchTerm, 'i').test(l.name))
+ : locations;
+
+ return (
+
+
+
+
+
+
+
+ {highlightedPlaces && (
+
+ )}
+
+ -
+ Worldwide
+
+ {locationsData.map(location => (
+ -
+ {location.location_type === 'aoi'
+ && {location.name}}
+ {location.location_type === 'country'
+ && {location.name}}
+ {location.location_type === 'wdpa'
+ && {location.name}}
+
+ ))}
+
+
+
+
+
+
+
+
+
+
+
+ {highlightedPlaces && (
+
+ )}
+
+ -
+ Worldwide
+
+ {locationsData.map(location => (
+ -
+ {location.location_type === 'aoi'
+ && {location.name}}
+ {location.location_type === 'country'
+ && {location.name}}
+ {location.location_type === 'wdpa'
+ && {location.name}}
+
+ ))}
+
+
+
+
+
+
+ );
+ }
+}
+
+export default LocationSelector;
diff --git a/src/components/location-modal/index.js b/src/components/location-modal/index.js
new file mode 100644
index 000000000..e5eb168a5
--- /dev/null
+++ b/src/components/location-modal/index.js
@@ -0,0 +1,17 @@
+import { connect } from 'react-redux';
+import { currentLocation, highlightedPlaces } from 'modules/locations/selectors';
+import { closeSearchPanel } from 'modules/locations/actions';
+import Component from './component';
+
+const mapStateToProps = state => ({
+ isOpened: state.locations.isOpened,
+ currentLocation: currentLocation(state),
+ highlightedPlaces: highlightedPlaces(state),
+ locations: state.locations.list
+});
+
+const mapDispatchToProps = {
+ closeSearchPanel
+};
+
+export default connect(mapStateToProps, mapDispatchToProps)(Component);
diff --git a/src/components/location-modal/stories.jsx b/src/components/location-modal/stories.jsx
new file mode 100644
index 000000000..722490f36
--- /dev/null
+++ b/src/components/location-modal/stories.jsx
@@ -0,0 +1,11 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import { withProvider } from 'utils/storybookProvider';
+import LocationSelector from './component';
+
+
+storiesOf('Location modal', module)
+ .addDecorator(withProvider)
+ .add('open', () => (
+
+ ));
diff --git a/src/components/location-modal/style.module.scss b/src/components/location-modal/style.module.scss
new file mode 100644
index 000000000..1f3cec955
--- /dev/null
+++ b/src/components/location-modal/style.module.scss
@@ -0,0 +1,133 @@
+@import 'styles/vars';
+
+.location {
+ $padding: 30px;
+ $border-radius: 20px;
+
+ position: absolute;
+ max-width: 540px;
+ width: 100%;
+ top: 50px;
+ left: 50px;
+ bottom: 50px;
+
+ z-index: 100;
+
+ &.mobile {
+ top: 10px;
+ bottom: 10px;
+ left: 10px;
+ right: 10px;
+ width: inherit;
+ }
+
+ .content {
+ display: flex;
+ flex-direction: column;
+
+ position: absolute;
+ padding: $padding;
+ width: 100%;
+ height: 100%;
+
+ border-radius: $border-radius;
+ background: white;
+
+ box-shadow: $box-shadow;
+ box-sizing: border-box;
+
+ overflow: auto;
+ z-index: 1;
+ &.mobile {
+ position: absolute;
+ right: 20px;
+ }
+ }
+
+ .searchInput {
+ flex: 1;
+
+ width: 100%;
+ padding: 0;
+ margin: 0;
+ border: 0;
+ background: transparent;
+
+ caret-color: $primary;
+ color: $body-color;
+ font-size: 30px;
+ font-weight: 300;
+ line-height: 50px;
+
+ &:focus {
+ outline: 0;
+ }
+
+ &::placeholder {
+ color: $body-color;
+ }
+ }
+
+ .searchButton {
+ position: absolute;
+ width: 45px;
+ height: 45px;
+ top: 30px;
+ left: 100%;
+ border: 0;
+ border-radius: 0 10px 10px 0;
+ background: white;
+
+ cursor: pointer;
+ &.mobile {
+ top: 20px;
+ right: 20px;
+ z-index: 2;
+ left: initial;
+ }
+ }
+
+ .list {
+ flex: 1;
+
+ margin: 30px -20px 0 -20px;
+ padding: 0;
+ list-style: none;
+
+ overflow: auto;
+ }
+
+ .listItem {
+ a {
+ display: block;
+ border-radius: 10px;
+ // margin: 0 -20px;
+ padding: 10px 20px;
+
+ color: $body-color;
+ @include medium-text;
+ text-decoration: none;
+
+ &:hover {
+ background-color: rgba(#00C5BD, .1);
+ }
+ }
+ }
+}
+
+.overlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100vh;
+
+ background: rgba(0, 0, 0, 0.7);
+
+ transform: scale(1);
+ transition:
+ transform 0.3s cubic-bezier(0.465, 0.183, 0.153, 0.946),
+ opacity 0.3s cubic-bezier(0.465, 0.183, 0.153, 0.946);
+ z-index: 150;
+
+}
diff --git a/src/components/map-legend/component.js b/src/components/map-legend/component.js
new file mode 100644
index 000000000..fddb4062e
--- /dev/null
+++ b/src/components/map-legend/component.js
@@ -0,0 +1,20 @@
+import React, { Fragment } from 'react';
+import PropTypes from 'prop-types';
+import LegendItem from './legend-item';
+
+const Legend = ({ layers }) => (
+
+ {layers.map(layer => )}
+
+);
+
+
+Legend.propTypes = {
+ layers: PropTypes.arrayOf(PropTypes.shape({}))
+};
+
+Legend.defaultProps = {
+ layers: []
+};
+
+export default Legend;
diff --git a/src/components/map-legend/index.js b/src/components/map-legend/index.js
new file mode 100644
index 000000000..1fbd97c99
--- /dev/null
+++ b/src/components/map-legend/index.js
@@ -0,0 +1,15 @@
+import { connect } from 'react-redux';
+import { activeLayersForLegend } from 'modules/layers/selectors';
+import { toggleCollapse } from 'modules/layers/actions';
+import Component from './component';
+
+const mapStateToProps = state => ({
+ layers: activeLayersForLegend(state),
+ isCollapsed: state.layers.isCollapsed
+});
+
+const mapDispatchToProps = {
+ toggleCollapse
+};
+
+export default connect(mapStateToProps, mapDispatchToProps)(Component);
diff --git a/src/components/map-legend/legend-item/component.js b/src/components/map-legend/legend-item/component.js
new file mode 100644
index 000000000..279f709c4
--- /dev/null
+++ b/src/components/map-legend/legend-item/component.js
@@ -0,0 +1,35 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faTimes } from '@fortawesome/free-solid-svg-icons';
+import classnames from 'classnames';
+import styles from './style.module.scss';
+
+const LegendItem = ({ id, name, toggleActive, isCollapsed, mapView }) => {
+ const onClickHandler = () => toggleActive({ id, isActive: false });
+
+ return (
+
+
{name}
+
+
+ );
+};
+
+LegendItem.propTypes = {
+ id: PropTypes.string.isRequired,
+ name: PropTypes.string.isRequired,
+ toggleActive: PropTypes.func,
+ isCollapsed: PropTypes.bool.isRequired,
+ mapView: PropTypes.bool.isRequired
+};
+
+LegendItem.defaultProps = {
+ toggleActive: () => null
+};
+
+export default LegendItem;
diff --git a/src/components/map-legend/legend-item/index.js b/src/components/map-legend/legend-item/index.js
new file mode 100644
index 000000000..04b833f19
--- /dev/null
+++ b/src/components/map-legend/legend-item/index.js
@@ -0,0 +1,14 @@
+import { connect } from 'react-redux';
+import { toggleActive } from 'modules/layers/actions';
+import Component from './component';
+
+const mapStateToProps = state => ({
+ isCollapsed: state.layers.isCollapsed,
+ mapView: state.app.mobile.mapView
+});
+
+const mapDispatchToProps = {
+ toggleActive
+};
+
+export default connect(mapStateToProps, mapDispatchToProps)(Component);
diff --git a/src/components/map-legend/legend-item/stories.jsx b/src/components/map-legend/legend-item/stories.jsx
new file mode 100644
index 000000000..c248f19af
--- /dev/null
+++ b/src/components/map-legend/legend-item/stories.jsx
@@ -0,0 +1,16 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import { withKnobs, text, number } from '@storybook/addon-knobs';
+
+import Component from './component';
+
+
+storiesOf('Legend item', module)
+ .addDecorator(withKnobs)
+ .add('Active', () => (
+
+ ));
diff --git a/src/components/map-legend/legend-item/style.module.scss b/src/components/map-legend/legend-item/style.module.scss
new file mode 100644
index 000000000..724443a46
--- /dev/null
+++ b/src/components/map-legend/legend-item/style.module.scss
@@ -0,0 +1,30 @@
+@import 'styles/vars';
+
+.legendItem {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 5px 20px;
+ margin-bottom: 5px;
+ background: white;
+ border-radius: 10px;
+ box-shadow: 0 4px 12px 0 rgba(168,168,168,0.25);
+
+ &.collapse {
+ display: none;
+ }
+ > h3 {
+ @include upper-text;
+ }
+}
+
+.removeButton {
+ display: block;
+ border: 0;
+ padding: 10px;
+ margin: 0;
+
+ &:hover {
+ cursor: pointer;
+ }
+}
diff --git a/src/components/map-legend/mobile/component.js b/src/components/map-legend/mobile/component.js
new file mode 100644
index 000000000..dc3c22a2d
--- /dev/null
+++ b/src/components/map-legend/mobile/component.js
@@ -0,0 +1,47 @@
+import React, { Fragment } from 'react';
+import PropTypes from 'prop-types';
+import classnames from 'classnames';
+import MediaQuery from 'react-responsive';
+import { breakpoints } from 'utils/responsive';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';
+import styles from './style.module.scss';
+
+const MobileLegendControl = ({ isCollapsed, toggleCollapse }) => {
+ const onToggleCollapsed = () => {
+ toggleCollapse(!isCollapsed);
+ };
+
+ return (
+
+
+
+
+ Layers
+
+
+
+
+
+ );
+};
+
+MobileLegendControl.propTypes = {
+ isCollapsed: PropTypes.bool.isRequired,
+ toggleCollapse: PropTypes.func.isRequired
+};
+
+export default MobileLegendControl;
diff --git a/src/components/map-legend/mobile/index.js b/src/components/map-legend/mobile/index.js
new file mode 100644
index 000000000..09ef5c604
--- /dev/null
+++ b/src/components/map-legend/mobile/index.js
@@ -0,0 +1,13 @@
+import { connect } from 'react-redux';
+import { toggleCollapse } from 'modules/layers/actions';
+import Component from './component';
+
+const mapStateToProps = state => ({
+ isCollapsed: state.layers.isCollapsed
+});
+
+const mapDispatchToProps = {
+ toggleCollapse
+};
+
+export default connect(mapStateToProps, mapDispatchToProps)(Component);
diff --git a/src/components/map-legend/mobile/style.module.scss b/src/components/map-legend/mobile/style.module.scss
new file mode 100644
index 000000000..55b80f0d0
--- /dev/null
+++ b/src/components/map-legend/mobile/style.module.scss
@@ -0,0 +1,39 @@
+@import 'styles/vars';
+
+.layersCollapse {
+ display: flex;
+ justify-content: flex-end;
+ &.collapse {
+ width: 100%;
+ }
+
+ > * {
+ padding: 0 20px 5px 20px;
+ margin-bottom: 5px;
+ background: white;
+ border-radius: 10px;
+ box-shadow: 0 4px 12px 0 rgba(168,168,168,0.25);
+ align-items: center;
+ }
+ > div {
+ width: 100%;
+ }
+ .title {
+ color: rgba(0, 0, 0, 0.85);
+ font-size: 12px;
+ font-weight: bold;
+ letter-spacing: 1px;
+ line-height: 15px;
+ display: none;
+
+ &.collapse {
+ display: flex;
+ }
+ }
+ .layersBtn {
+ width: 15px;
+ height: 45px;
+ box-sizing: content-box;
+ margin-left: 5px;
+ }
+}
diff --git a/src/components/map-legend/mobile/style.module.scss~HEAD b/src/components/map-legend/mobile/style.module.scss~HEAD
new file mode 100644
index 000000000..7c415abd0
--- /dev/null
+++ b/src/components/map-legend/mobile/style.module.scss~HEAD
@@ -0,0 +1,39 @@
+@import 'styles/vars';
+
+.layersCollapse {
+ display: flex;
+ justify-content: flex-end;
+ &.collapse {
+ width: 100%;
+ }
+
+ > * {
+ padding: 0 20px 5px 20px;
+ margin-bottom: 5px;
+ background: white;
+ border-radius: 10px;
+ box-shadow: 0 4px 12px 0 rgba(168,168,168,0.25);
+ align-items: center;
+ }
+ > div {
+ width: 100%;
+ }
+ .title {
+ color: rgba(0, 0, 0, 0.85);
+ font-size: 12px;
+ font-weight: bold;
+ letter-spacing: 1px;
+ line-height: 15px;
+ display: none;
+
+ &.collapse {
+ display: flex;
+ }
+ }
+ .layersBtn {
+ width: 15px;
+ height: 45px;
+ box-sizing: content-box;
+ margin-right: 5px;
+ }
+}
diff --git a/src/components/map/component.js b/src/components/map/component.js
new file mode 100644
index 000000000..af421af77
--- /dev/null
+++ b/src/components/map/component.js
@@ -0,0 +1,98 @@
+import React, { PureComponent } from 'react';
+import MapGL, { NavigationControl } from 'react-map-gl';
+import PropTypes from 'prop-types';
+import MediaQuery from 'react-responsive';
+import MobileLegendControl from 'components/map-legend/mobile';
+import classnames from 'classnames';
+import { breakpoints } from 'utils/responsive';
+import BasemapSelector from 'components/basemap-selector';
+import Legend from 'components/map-legend';
+import styles from './style.module.scss';
+
+class Map extends PureComponent {
+ static propTypes = {
+ basemap: PropTypes.string,
+ viewport: PropTypes.shape({}),
+ setViewport: PropTypes.func,
+ isCollapse: PropTypes.bool.isRequired
+ }
+
+ static defaultProps = {
+ basemap: 'light',
+ viewport: {
+ width: window.innerWidth,
+ height: window.innerHeight,
+ longitude: 0,
+ latitude: 0,
+ zoom: 2,
+ maxZoom: 16,
+ bearing: 0,
+ pitch: 0
+ },
+ setViewport: () => { }
+ }
+
+ componentDidMount() {
+ window.addEventListener('resize', this.resize);
+ this.resize();
+ }
+
+ componentWillUnmount() {
+ window.removeEventListener('resize', this.resize);
+ }
+
+ onViewportChange = (viewport) => {
+ const { setViewport } = this.props;
+ setViewport(viewport);
+ }
+
+ resize = () => {
+ const { viewport } = this.props;
+ this.onViewportChange({
+ ...viewport,
+ width: window.innerWidth,
+ height: window.innerHeight
+ });
+ }
+
+ render() {
+ const {
+ mapboxApiAccessToken,
+ mapStyle,
+ viewport,
+ isCollapse
+ } = this.props;
+
+ return (
+
+
+
+
+
+
+
+
+ );
+ }
+}
+
+export default Map;
diff --git a/src/components/map/index.js b/src/components/map/index.js
new file mode 100644
index 000000000..73843d4bb
--- /dev/null
+++ b/src/components/map/index.js
@@ -0,0 +1,18 @@
+import { connect } from 'react-redux';
+import { setViewport } from 'modules/map/actions';
+import { mapStyle } from 'modules/map-styles/selectors';
+
+import Component from './component';
+
+const mapStateToProps = state => ({
+ ...state.map,
+ mapStyle: mapStyle(state),
+ mapboxApiAccessToken: process.env.REACT_APP_MAPBOX_ACCESS_TOKEN,
+ isCollapse: state.layers.isCollapsed
+});
+
+const mapDispatchToProps = {
+ setViewport
+};
+
+export default connect(mapStateToProps, mapDispatchToProps)(Component);
diff --git a/src/components/map/stories.jsx b/src/components/map/stories.jsx
new file mode 100644
index 000000000..4f111abaf
--- /dev/null
+++ b/src/components/map/stories.jsx
@@ -0,0 +1,12 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import { withProvider } from 'utils/storybookProvider';
+import Map from './component';
+
+storiesOf('Map', module)
+ .addDecorator(withProvider)
+ .add('map', () => (
+
+
+
+ ));
diff --git a/src/components/map/style.module.scss b/src/components/map/style.module.scss
new file mode 100644
index 000000000..b82efb7d3
--- /dev/null
+++ b/src/components/map/style.module.scss
@@ -0,0 +1,44 @@
+@import 'styles/vars';
+
+$space-around-map: 30px;
+$space-top-map-mobile: 5px;
+$space-left-map-mobile: 20px;
+
+.map {
+ background: white;
+}
+
+.navigation {
+ position: absolute;
+ right: $space-around-map;
+ top: $space-around-map;
+}
+
+.legend {
+ position: absolute;
+ right: $space-around-map;
+ bottom: $space-around-map;
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ top: $space-top-map-mobile;
+ left: $space-left-map-mobile;
+ &.expanded {
+ display: flex;
+ flex-direction: row-reverse;
+ bottom: inherit;
+ right: 25px;
+ }
+ }
+ .tooltip {
+ display: flex;
+ flex-direction: column;
+ }
+}
+
+// Mapbox override
+:global(.mapboxgl-ctrl-group:not(:empty)) {
+ box-shadow: 0 4px 12px 0 rgba(168, 168, 168, 0.25);
+}
+
+:global(.mapboxgl-ctrl-group > button) {
+ background: white;
+}
diff --git a/src/components/modal/component.js b/src/components/modal/component.js
new file mode 100644
index 000000000..0bfa18f37
--- /dev/null
+++ b/src/components/modal/component.js
@@ -0,0 +1,24 @@
+import React from 'react';
+import Modal from 'react-modal';
+import './styles.scss';
+
+const customStyles = {
+ overlay: {
+ background: 'rgba(0, 0, 0, 0.7)'
+ }
+};
+
+Modal.setAppElement('#root');
+
+export default (props) => {
+ const { children, ...domProps } = props;
+
+ return (
+
+ {children}
+
+ );
+};
diff --git a/src/components/modal/index.js b/src/components/modal/index.js
new file mode 100644
index 000000000..f1d269317
--- /dev/null
+++ b/src/components/modal/index.js
@@ -0,0 +1,3 @@
+import Component from './component';
+
+export default Component;
diff --git a/src/components/modal/stories.jsx b/src/components/modal/stories.jsx
new file mode 100644
index 000000000..3d020d790
--- /dev/null
+++ b/src/components/modal/stories.jsx
@@ -0,0 +1,10 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import { withProvider } from 'utils/storybookProvider';
+import Modal from './component';
+
+storiesOf('Modal', module)
+ .addDecorator(withProvider)
+ .add('Open', () => (
+
+ ));
diff --git a/src/components/modal/styles.scss b/src/components/modal/styles.scss
new file mode 100644
index 000000000..859ab03a6
--- /dev/null
+++ b/src/components/modal/styles.scss
@@ -0,0 +1,19 @@
+.ReactModal__Overlay {
+ z-index: 101;
+ background: rgba(0, 0, 0, 0.7);
+ transform: scale(1.15);
+ transition:
+ transform 0.1s cubic-bezier(0.465, 0.183, 0.153, 0.946),
+ opacity 0.1s cubic-bezier(0.465, 0.183, 0.153, 0.946);
+}
+
+.ReactModal__Overlay--after-open {
+ transform: scale(1);
+ transition:
+ transform 0.3s cubic-bezier(0.465, 0.183, 0.153, 0.946),
+ opacity 0.3s cubic-bezier(0.465, 0.183, 0.153, 0.946);
+}
+
+.ReactModal__Overlay--before-close {
+ transform: scale(1.15);
+}
diff --git a/src/components/pages/component.js b/src/components/pages/component.js
new file mode 100644
index 000000000..3d33ee994
--- /dev/null
+++ b/src/components/pages/component.js
@@ -0,0 +1,29 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+
+// todo: add Universal component or loadable
+import AppPage from 'pages/app';
+import NotFoundPage from 'pages/not-found';
+
+const pageMap = new Map([
+ ['PAGE/APP', AppPage],
+ ['PAGE/COUNTRY', AppPage],
+ ['PAGE/AOI', AppPage],
+ ['PAGE/WDPA', AppPage]
+]);
+
+// prompts or error logging should be handled here
+const Pages = ({ page: { current, payload } }) => {
+ const Page = pageMap.has(current) ? pageMap.get(current) : NotFoundPage;
+
+ return ;
+};
+
+Pages.propTypes = {
+ page: PropTypes.shape({
+ current: PropTypes.string.isRequired,
+ payload: PropTypes.shape({}).isRequired
+ }).isRequired
+};
+
+export default Pages;
diff --git a/src/components/pages/index.js b/src/components/pages/index.js
new file mode 100644
index 000000000..5e3725362
--- /dev/null
+++ b/src/components/pages/index.js
@@ -0,0 +1,6 @@
+import { connect } from 'react-redux';
+import Component from './component';
+
+export default connect(
+ ({ page }) => ({ page })
+)(Component);
diff --git a/src/components/select/component.js b/src/components/select/component.js
new file mode 100644
index 000000000..5a3910971
--- /dev/null
+++ b/src/components/select/component.js
@@ -0,0 +1,56 @@
+import React, { PureComponent } from 'react';
+import ReactSelect from 'react-select';
+import PropTypes from 'prop-types';
+
+import { styles, theme } from './style';
+
+class Select extends PureComponent {
+ static propTypes = {
+ options: PropTypes.arrayOf(PropTypes.shape({})).isRequired,
+ value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
+ onChange: PropTypes.func
+ };
+
+ static defaultProps = {
+ value: null,
+ onChange: () => null
+ }
+
+ state = { selectedOption: null }
+
+ options = {
+ isSearchable: false,
+ theme,
+ styles
+ }
+
+ constructor(props) {
+ super(props);
+ this.state = { selectedOption: props.value };
+ }
+
+ handleChange = (selectedOption) => {
+ const { onChange } = this.props;
+ this.setState({ selectedOption });
+ onChange(selectedOption.value);
+ }
+
+ render() {
+ const { value: defaultValue, options, onChange, ...props } = this.props;
+ const { selectedOption } = this.state;
+ const selectedValue = options.find(opt => opt.value === selectedOption);
+
+ return (
+
+ );
+ }
+}
+
+export default Select;
diff --git a/src/components/select/index.js b/src/components/select/index.js
new file mode 100644
index 000000000..c2ca7c046
--- /dev/null
+++ b/src/components/select/index.js
@@ -0,0 +1,3 @@
+import SelectComponent from './component';
+
+export default SelectComponent;
diff --git a/src/components/select/stories.jsx b/src/components/select/stories.jsx
new file mode 100644
index 000000000..561325bcf
--- /dev/null
+++ b/src/components/select/stories.jsx
@@ -0,0 +1,26 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import { withKnobs, object } from '@storybook/addon-knobs';
+
+import Select from './component';
+
+const options = [
+ { label: '1996', value: '1996' },
+ { label: '2007', value: '2007' },
+ { label: '2008', value: '2008' },
+ { label: '2009', value: '2009' },
+ { label: '2010', value: '2010' },
+ { label: '2015', value: '2015' },
+ { label: '2016', value: '2016' }
+];
+
+const defaultValue = { label: '2016', value: '2016' };
+
+storiesOf('Select', module)
+ .addDecorator(withKnobs)
+ .add('Selector', () => (
+
+ ));
diff --git a/src/components/select/style.js b/src/components/select/style.js
new file mode 100644
index 000000000..ffb036a18
--- /dev/null
+++ b/src/components/select/style.js
@@ -0,0 +1,117 @@
+
+export const theme = defaultTheme => ({
+ ...defaultTheme,
+ borderRadius: 0,
+ spacing: {
+ minHeight: 30 // line-height
+ },
+ colors: {
+ ...theme.colors,
+ primary: '#00857F',
+ }
+});
+
+export const styles = {
+ container: provided => ({
+ ...provided,
+ display: 'inline-block',
+ border: 0,
+ borderBottom: '2px solid #00857F',
+ fontWeight: 'bold',
+ position: 'relative'
+ }),
+ control: provided => ({
+ ...provided,
+ width: 'auto',
+ borderWidth: 0,
+ outline: 0,
+ boxShadow: 'none'
+ }),
+ dummyInput: () => ({
+ width: 0
+ }),
+ input: provided => ({
+ ...provided,
+ position: 'absolute'
+ }),
+ menu: provided => ({
+ ...provided,
+ backgroundColor: 'white',
+ borderWidth: 1,
+ borderStyle: 'solid',
+ borderColor: 'rgba(0, 0, 0, 0.1)',
+ borderRadius: 10,
+ boxShadow: '1px 4px 12px 0 rgba(0, 0, 0, 0.08)',
+ boxSizing: 'content-box',
+ marginTop: 20,
+ paddingLeft: 20,
+ paddingRight: 20,
+ paddingtop: 10,
+ paddingBottom: 10,
+ transform: 'translateX(-50%)',
+ left: '50%',
+ '&:after': {
+ content: '" "',
+ display: 'block',
+ position: 'absolute',
+ width: 0,
+ height: 0,
+ left: '50%',
+ borderStyle: 'solid',
+ bottom: '99%',
+ borderColor: 'transparent transparent white transparent',
+ borderWidth: '13px',
+ transform: 'translateX(-13px)'
+ },
+ '&:before': {
+ content: '" "',
+ display: 'block',
+ position: 'absolute',
+ left: '50%',
+ width: 0,
+ height: 0,
+ borderStyle: 'solid',
+ bottom: '100%',
+ borderColor: 'transparent transparent rgba(0, 0, 0, 0.1) transparent',
+ borderWidth: '12px',
+ transform: 'translateX(-12px)'
+ },
+ }),
+ option: (provided, state) => ({
+ ...provided,
+ fontSize: 14,
+ textAlign: 'center',
+ opacity: state.isDisabled && !state.isSelected ? 0.4 : 1,
+ color: state.isSelected ? '#00857F' : provided.color,
+ backgroundColor: 'none',
+ '&:hover': {
+ color: '#00857F',
+ cursor: 'pointer'
+ }
+ }),
+ singleValue: provided => ({
+ ...provided,
+ position: 'relative',
+ transform: 'none',
+ maxWidth: '100%',
+ margin: 0,
+ cursor: 'pointer'
+ }),
+ valueContainer: provided => ({
+ ...provided,
+ padding: 0
+ }),
+ dropdownIndicator: provided => ({
+ ...provided,
+ width: 0,
+ height: 0,
+ borderLeft: '6px solid transparent',
+ borderRight: '6px solid transparent',
+ borderTop: '6px solid #00857F',
+ position: 'absolute',
+ bottom: '-7px',
+ left: '50%',
+ transform: 'translate(-50%, 50%)',
+ cursor: 'pointer',
+ })
+};
diff --git a/src/components/select/style.module.scss b/src/components/select/style.module.scss
new file mode 100644
index 000000000..192211df3
--- /dev/null
+++ b/src/components/select/style.module.scss
@@ -0,0 +1,6 @@
+@import 'styles/vars';
+
+.select {
+ border-bottom: 2px solid $primary;
+ font-weight: bold;
+}
diff --git a/src/components/sidebar/component.js b/src/components/sidebar/component.js
new file mode 100644
index 000000000..379dd9d97
--- /dev/null
+++ b/src/components/sidebar/component.js
@@ -0,0 +1,65 @@
+import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+import OnScroll from 'react-on-scroll';
+import Header from 'components/header';
+import Button from 'components/button';
+import LanguageSelect from 'components/language-selector';
+import styles from './style.module.scss';
+
+class Dashboard extends Component {
+ static propTypes = {
+ children: PropTypes.node,
+ collapseAll: PropTypes.func,
+ expandAll: PropTypes.func
+ }
+
+ static defaultProps = {
+ children: null,
+ collapseAll: () => null,
+ expandAll: () => null
+ }
+
+ state = { sticky: false }
+
+ setSticky = sticky => this.setState({ sticky })
+
+ onClickCollapseAll = () => {
+ const { collapseAll } = this.props;
+ collapseAll();
+ }
+
+ onClickExpandAll = () => {
+ const { expandAll } = this.props;
+ expandAll();
+ }
+
+
+ render() {
+ const { children, isCollapsed } = this.props;
+ const { sticky } = this.state;
+
+ return (
+ this.setSticky(!sticky) },
+ ]}
+ >
+
+
+
+ {
+ isCollapsed
+ ?
+ :
+ }
+
+
+
+ {children}
+
+ );
+ }
+}
+
+export default Dashboard;
diff --git a/src/components/sidebar/index.js b/src/components/sidebar/index.js
new file mode 100644
index 000000000..6183fef67
--- /dev/null
+++ b/src/components/sidebar/index.js
@@ -0,0 +1,17 @@
+import { connect } from 'react-redux';
+import { setHeader } from 'modules/pages/actions';
+import { expandAll, collapseAll } from 'modules/widgets/actions';
+import Component from './component';
+
+const mapStateToProps = state => ({
+ header: state.page.header,
+ isCollapsed: state.widgets.isCollapsed
+});
+
+const mapDispatchToProps = {
+ setHeader,
+ collapseAll,
+ expandAll
+};
+
+export default connect(mapStateToProps, mapDispatchToProps)(Component);
diff --git a/src/components/sidebar/style.module.scss b/src/components/sidebar/style.module.scss
new file mode 100644
index 000000000..3ad9f7f91
--- /dev/null
+++ b/src/components/sidebar/style.module.scss
@@ -0,0 +1,29 @@
+@import 'styles/vars';
+
+.sidebar {
+ position: relative;
+ max-width: 540px;
+ padding-left: 50px;
+ width: 100%;
+ height: 100%;
+ z-index: 2;
+ box-sizing: border-box;
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ padding: 5px;
+ }
+ .header {
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ padding: 10px;
+ }
+ }
+ .actionBar {
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 20px;
+ display: flex;
+ justify-content: space-between;
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ margin-bottom: 0;
+ }
+ }
+}
diff --git a/src/components/spinner/component.js b/src/components/spinner/component.js
new file mode 100644
index 000000000..d625bf3ce
--- /dev/null
+++ b/src/components/spinner/component.js
@@ -0,0 +1,24 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import classnames from 'classnames';
+import styles from './style.module.scss';
+
+const Spinner = ({ isLoading }) => (
+
+
+);
+
+Spinner.propTypes = {
+ isLoading: PropTypes.bool,
+};
+
+Spinner.defaultProps = {
+ isLoading: 'true',
+};
+
+
+export default Spinner;
diff --git a/src/components/spinner/index.js b/src/components/spinner/index.js
new file mode 100644
index 000000000..65bd51afa
--- /dev/null
+++ b/src/components/spinner/index.js
@@ -0,0 +1,3 @@
+import Spinner from './component';
+
+export default Spinner;
diff --git a/src/components/spinner/stories.jsx b/src/components/spinner/stories.jsx
new file mode 100644
index 000000000..b556613a8
--- /dev/null
+++ b/src/components/spinner/stories.jsx
@@ -0,0 +1,16 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+
+import Spinner from './component';
+
+storiesOf('Spinner', module)
+ .add('is loading', () => (
+
+ ))
+ .add('is loaded', () => (
+
+ ));
diff --git a/src/components/spinner/style.module.scss b/src/components/spinner/style.module.scss
new file mode 100644
index 000000000..aeb5e1183
--- /dev/null
+++ b/src/components/spinner/style.module.scss
@@ -0,0 +1,27 @@
+@import 'styles/vars';
+
+.loader {
+ position: relative;
+ margin: auto;
+ border: 8px solid rgba(0, 133, 127, .1);
+ border-top: 8px solid $primary;
+ opacity: 0.4;
+ border-radius: 50%;
+ width: 40px;
+ height: 40px;
+ animation: loading 2s linear infinite;
+
+ @keyframes loading {
+ 0% { transform: rotate(0deg); }
+ 100% { transform: rotate(360deg); }
+ }
+
+ &.loading {
+ display: flex;
+ }
+ &.loaded {
+ display: none;
+ }
+}
+
+
diff --git a/src/components/view-selector/component.js b/src/components/view-selector/component.js
new file mode 100644
index 000000000..be78d7f4c
--- /dev/null
+++ b/src/components/view-selector/component.js
@@ -0,0 +1,41 @@
+import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+import Button from 'components/button';
+import styles from './style.module.scss';
+
+class ViewSelector extends PureComponent {
+ static propTypes = {
+ mapView: PropTypes.bool,
+ setMobileView: PropTypes.func,
+ activeLayers: PropTypes.number
+ };
+
+ static defaultProps = {
+ mapView: true,
+ setMobileView: () => null,
+ activeLayers: null
+ };
+
+ onChangeView = () => {
+ const { setMobileView, mapView } = this.props;
+ setMobileView(!mapView);
+ }
+
+ render() {
+ const { mapView, activeLayers } = this.props;
+ return (
+
+
+
+ );
+ }
+}
+
+export default ViewSelector;
diff --git a/src/components/view-selector/index.js b/src/components/view-selector/index.js
new file mode 100644
index 000000000..fa0bbd4bc
--- /dev/null
+++ b/src/components/view-selector/index.js
@@ -0,0 +1,15 @@
+import { connect } from 'react-redux';
+import { setMobileView } from 'modules/app/actions';
+import { activeLayers } from 'modules/widgets/selectors';
+import Component from './component';
+
+const mapStateToProps = state => ({
+ mapView: state.app.mobile.mapView,
+ activeLayers: activeLayers(state)
+});
+
+const mapDispatchToProps = {
+ setMobileView
+};
+
+export default connect(mapStateToProps, mapDispatchToProps)(Component);
diff --git a/src/components/view-selector/stories.jsx b/src/components/view-selector/stories.jsx
new file mode 100644
index 000000000..75394b7af
--- /dev/null
+++ b/src/components/view-selector/stories.jsx
@@ -0,0 +1,14 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import Component from './component';
+
+storiesOf('Basemap Selector', module)
+ .add('Light active', () => (
+
+ ))
+ .add('Dark active', () => (
+
+ ))
+ .add('Satllite active', () => (
+
+ ));
diff --git a/src/components/view-selector/style.module.scss b/src/components/view-selector/style.module.scss
new file mode 100644
index 000000000..80043f22e
--- /dev/null
+++ b/src/components/view-selector/style.module.scss
@@ -0,0 +1,42 @@
+@import 'styles/vars';
+
+.container {
+ position: fixed;
+ left: 20px;
+ right: 20px;
+ z-index: 301;
+ background-color: $white;
+ bottom: 10px;
+ border-radius: 25px;
+ box-shadow: 0 4px 12px 0 rgba(0,0,0,0.08);
+ min-height: 50px;
+
+ > button {
+ display: flex;
+ border-radius: 25px;
+ margin: auto;
+ height: 50px;
+ }
+ .btnTitle {
+ display: flex;
+ justify-content: center;
+ float: left;
+ min-width: 150px;
+ margin: 5px;
+ color: $black;
+
+ }
+
+ .btnInfo {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ font-weight: 200;
+ color: $primary;
+ padding: 5px;
+ width: 20px;
+ height: 20px;
+ border: 2px solid rgba(0, 133, 127, 0.2);
+ border-radius: 50%;
+ }
+}
diff --git a/src/components/widget/component.js b/src/components/widget/component.js
new file mode 100644
index 000000000..b150978c0
--- /dev/null
+++ b/src/components/widget/component.js
@@ -0,0 +1,139 @@
+import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+import Button from 'components/button';
+import Spinner from 'components/spinner';
+import MediaQuery from 'react-responsive';
+import { breakpoints } from 'utils/responsive';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';
+import classnames from 'classnames';
+import styles from './style.module.scss';
+
+class Widget extends PureComponent {
+ static propTypes = {
+ data: PropTypes.shape({}),
+ highlightedPlaces: PropTypes.arrayOf(PropTypes.shape({})),
+ name: PropTypes.string.isRequired,
+ slug: PropTypes.string.isRequired,
+ widgetConfig: PropTypes.shape({}).isRequired,
+ layerId: PropTypes.string,
+ layersIds: PropTypes.arrayOf(PropTypes.string),
+ location: PropTypes.shape({}),
+ isActive: PropTypes.bool,
+ isCollapsed: PropTypes.bool,
+ isLoading: PropTypes.bool,
+ toggleActive: PropTypes.func,
+ toggleCollapse: PropTypes.func,
+ template: PropTypes.func.isRequired
+ };
+
+ static defaultProps = {
+ data: null,
+ highlightedPlaces: null,
+ isActive: false,
+ isCollapsed: false,
+ isLoading: false,
+ layerId: null,
+ layersIds: null,
+ location: null,
+ toggleActive: () => { },
+ toggleCollapse: () => { }
+ };
+
+ getDataBySlug() {
+ const { data, highlightedPlaces, slug, widgetConfig } = this.props;
+
+ if (slug === 'highlighted_places') return widgetConfig.parse(highlightedPlaces);
+
+ return widgetConfig.parse(data);
+ }
+
+ collapseToggleHandler = () => {
+ const { toggleCollapse, slug } = this.props;
+ toggleCollapse({ id: slug });
+ };
+
+ activeToggleHandler = () => {
+ const { layersIds, toggleActive, slug, isActive, layerId } = this.props;
+ if (layersIds) {
+ layersIds.forEach(lId => toggleActive({ id: slug, layerId: lId, isActive: !isActive }));
+ } else {
+ toggleActive({ id: slug, layerId, isActive: !isActive });
+ }
+ };
+
+ render() {
+ const {
+ template: Template,
+ data,
+ isCollapsed,
+ isActive,
+ isLoading,
+ name,
+ layersIds,
+ slug,
+ widgetConfig,
+ ...props
+ } = this.props;
+
+ const haveLayers = !!(layersIds && layersIds.length);
+
+ const templateProps = {
+ name,
+ isActive,
+ isCollapsed,
+ isLoading,
+ layersIds,
+ slug,
+ data: this.getDataBySlug(slug),
+ widgetConfig,
+ ...props,
+ };
+
+ return (
+
+
+
+ {haveLayers && (
+
+ )}
+
+ {isLoading
+ ?
+ : (
+
+
+
+ )
+ }
+
+ );
+ }
+}
+
+export default Widget;
diff --git a/src/components/widget/index.js b/src/components/widget/index.js
new file mode 100644
index 000000000..b404d7fd4
--- /dev/null
+++ b/src/components/widget/index.js
@@ -0,0 +1 @@
+export { default } from './component';
diff --git a/src/components/widget/legend/component.js b/src/components/widget/legend/component.js
new file mode 100644
index 000000000..c9b6e7bf2
--- /dev/null
+++ b/src/components/widget/legend/component.js
@@ -0,0 +1,42 @@
+
+import React from 'react';
+import PropTypes from 'prop-types';
+import classnames from 'classnames';
+
+import styles from './style.module.scss';
+
+const Legend = ({ groups, direction }) => (
+
+ {Object.keys(groups).map(g => (
+
+
+ {groups[g].map(item => (
+ -
+
+
+
+ {item.value}
+
+
+ ))}
+
+
+ ))}
+
+);
+
+Legend.propTypes = {
+ direction: PropTypes.string,
+ groups: PropTypes.shape({}).isRequired
+};
+
+Legend.defaultProps = {
+ direction: 'horizontal'
+};
+
+export default Legend;
diff --git a/src/components/widget/legend/index.js b/src/components/widget/legend/index.js
new file mode 100644
index 000000000..e1a3e2597
--- /dev/null
+++ b/src/components/widget/legend/index.js
@@ -0,0 +1,3 @@
+import LegendComponent from './component';
+
+export default LegendComponent;
diff --git a/src/components/widget/legend/style.module.scss b/src/components/widget/legend/style.module.scss
new file mode 100644
index 000000000..6c63cc511
--- /dev/null
+++ b/src/components/widget/legend/style.module.scss
@@ -0,0 +1,67 @@
+
+.widget_legend {
+ display: block;
+
+ &.vertical {
+ .widget_legend_list {
+ display: flex;
+ margin: 0;
+ padding: 0;
+ }
+ .widget_legend_list_item {
+ margin: 0 10px 0 0;
+ }
+ }
+
+ .widget_legend_group {
+ margin: 10 0 0;
+ }
+
+ .widget_legend_group:first-child { margin: 0; }
+
+ .widget_legend_list {
+ display: flex;
+ margin: 10px 0;
+ padding: 0;
+ list-style: none;
+ }
+
+ .widget_legend_list_item {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ list-style: none;
+ }
+
+ .widget_legend_list-item._flex-column {
+ flex-direction: column;
+ align-items: start;
+ }
+
+ .widget_legend_list_item._flex-column > * {
+ margin: 0;
+ }
+
+ .widget_legend_list_item svg {
+ margin-right: 10px;
+ border-radius: 10px;
+ height: 12px;
+ width: 6px;
+ }
+
+ .widget_legend-number {
+ // font-size: 29px;
+ font-weight: 600;
+ padding: 0 0 10px 0;
+ }
+
+ .widget_legend_number .unit {
+ // font-size: 12px;
+ }
+
+ .widget_legend_number .unit sup {
+ // font-size: 8px;
+ vertical-align: super;
+ }
+
+}
diff --git a/src/components/widget/stories.jsx b/src/components/widget/stories.jsx
new file mode 100644
index 000000000..d52458cf4
--- /dev/null
+++ b/src/components/widget/stories.jsx
@@ -0,0 +1,113 @@
+import React, { Fragment } from 'react';
+import { storiesOf } from '@storybook/react';
+import { withProvider } from 'utils/storybookProvider';
+import LegendComponent from './legend/component';
+import ConservationHotspots from './templates/conservation-hotspots/component';
+import MangroveActivity from './templates/mangrove-activity/component';
+import MangroveCoverage from './templates/mangrove-coverage/component';
+import MangroveNetChange from './templates/mangrove-net-change/component';
+
+import Widget from './component';
+
+import { toggleCollapse } from 'modules/widgets/actions';
+
+import TEMPLATES from './templates';
+import CONSERVATION_HOTSPOTS_CONFIG from './templates/conservation-hotspots/config';
+
+// ** Widget Data ** //
+// <-- Legend --> //
+const groupsVertical = JSON.parse('{"Mangroves in 1996":[{"type":"rect","value":"Mangroves in 1996","color":"#00857F","payload":{"percent":0.2175502366896479,"name":"Mangroves in 1996","tooltipPayload":[{"name":"Mangroves in 1996","value":21.75502366896479,"payload":{"payload":{"x":1996,"y":100,"color":"#00857F","percentage":21.75502366896479,"unit":"%","value":"65167.28","label":"Mangroves in 1996"},"stroke":"#00857F","fill":"#00857F","x":1996,"y":100,"color":"#00857F","percentage":21.75502366896479,"unit":"%","value":"65167.28","label":"Mangroves in 1996"},"dataKey":"percentage"}],"midAngle":39.15904260413662,"middleRadius":80.5,"tooltipPosition":{"x":322.41938535661285,"y":84.16624810519424},"payload":{"payload":{"x":1996,"y":100,"color":"#00857F","percentage":21.75502366896479,"unit":"%","value":"65167.28","label":"Mangroves in 1996"},"stroke":"#00857F","fill":"#00857F","x":1996,"y":100,"color":"#00857F","percentage":21.75502366896479,"unit":"%","value":"65167.28","label":"Mangroves in 1996"},"stroke":"#00857F","fill":"#00857F","x":1996,"y":100,"color":"#00857F","percentage":21.75502366896479,"unit":"%","value":21.75502366896479,"label":"Mangroves in 1996","cx":260,"cy":135,"innerRadius":69,"outerRadius":92,"maxRadius":284.29737951659,"startAngle":0,"endAngle":78.31808520827325,"paddingAngle":0}}],"Non mangroves":[{"type":"rect","value":"Non mangroves","color":"#ECECEF","payload":{"percent":0.782449763310352,"name":"Non mangroves","tooltipPayload":[{"name":"Non mangroves","value":78.2449763310352,"payload":{"payload":{"x":0,"y":234383.21,"color":"#ECECEF","percentage":78.2449763310352,"unit":"%","value":234383.21,"label":"Non mangroves"},"stroke":"#ECECEF","fill":"#ECECEF","x":0,"y":234383.21,"color":"#ECECEF","percentage":78.2449763310352,"unit":"%","value":234383.21,"label":"Non mangroves"},"dataKey":"percentage"}],"midAngle":219.15904260413663,"middleRadius":80.5,"tooltipPosition":{"x":197.58061464338718,"y":185.83375189480574},"payload":{"payload":{"x":0,"y":234383.21,"color":"#ECECEF","percentage":78.2449763310352,"unit":"%","value":234383.21,"label":"Non mangroves"},"stroke":"#ECECEF","fill":"#ECECEF","x":0,"y":234383.21,"color":"#ECECEF","percentage":78.2449763310352,"unit":"%","value":234383.21,"label":"Non mangroves"},"stroke":"#ECECEF","fill":"#ECECEF","x":0,"y":234383.21,"color":"#ECECEF","percentage":78.2449763310352,"unit":"%","value":78.2449763310352,"label":"Non mangroves","cx":260,"cy":135,"innerRadius":69,"outerRadius":92,"maxRadius":284.29737951659,"startAngle":78.31808520827325,"endAngle":360,"paddingAngle":0}}]}');
+const groupsHorizontal = JSON.parse('{"groups":[{"inactive":false,"dataKey":"Gain","type":"rect","color":"#077FAC","value":"Gain","payload":{"dataKey":"Gain","dot":false,"barSize":10,"transform":"translate(7, 0)","fill":"#077FAC","radius":[10,10,0,0],"children":[false,null],"xAxisId":0,"yAxisId":0,"legendType":"rect","minPointSize":0,"hide":false,"data":[],"layout":"vertical","isAnimationActive":true,"animationBegin":0,"animationDuration":400,"animationEasing":"ease"}},{"inactive":false,"dataKey":"Loss","type":"rect","color":"#EB6240","value":"Loss","payload":{"dataKey":"Loss","dot":false,"barSize":10,"transform":"translate(-7, 0)","fill":"#EB6240","radius":[10,10,0,0],"children":[false,null],"xAxisId":0,"yAxisId":0,"legendType":"rect","minPointSize":0,"hide":false,"data":[],"layout":"vertical","isAnimationActive":true,"animationBegin":0,"animationDuration":400,"animationEasing":"ease"}},{"inactive":false,"dataKey":"Net change","type":"line","color":"rgba(0,0,0,0.7)","value":"Net change","payload":{"dataKey":"Net change","dot":false,"strokeWidth":2,"stroke":"rgba(0,0,0,0.7)","xAxisId":0,"yAxisId":0,"connectNulls":false,"activeDot":true,"legendType":"line","fill":"#fff","points":[],"isAnimationActive":true,"animateNewValues":true,"animationBegin":0,"animationDuration":1500,"animationEasing":"ease","hide":false}}]}');
+// <-- Conservation Hotspots --> //
+const widgetData = JSON.parse('{"widgetData":[{"length_mangrove_m":{"1996":"65167.28","2007":"64694.98","2008":"64148.45","2009":"63901.10","2010":"64280.28","2015":"65776.31","2016":"65467.70"},"VERIF":"State Verified","SUB_LOC":"Not Reported","REP_M_AREA":0,"MARINE":"1","NO_TAKE":"Not Reported","iso":"TZA","STATUS_YR":2004,"DESIG_TYPE":"International","ORIG_NAME":"Rufiji-Mafia-Kilwa","INT_CRIT":"(i) (ii) (iii) (iv) (v) (vi) (vii) (viii)","METADATAID":845,"WDPA_PID":"902412","hmax_mangrove_m":{"2000":"19.92"},"GOV_TYPE":"Not Reported","length_coast_m":"299550.49","NAME":"Rufiji-Mafia-Kilwa","name":"Rufiji","GIS_M_AREA":3775.294242,"ISO3":"TZA","IUCN_CAT":"Not Reported","DESIG_ENG":"Ramsar Site, Wetland of International Importance","dashboardId":"","REP_AREA":5969.08,"DESIG":"Ramsar Site, Wetland of International Importance","PARENT_ISO":"TZA","STATUS":"Designated","OWN_TYPE":"Not Reported","PA_DEF":"1","NO_TK_AREA":0,"area_mangrove_m2":{"1996":"507526714.59","2007":"499472322.07","2008":"500133963.16","2009":"499028037.34","2010":"497595539.59","2015":"499397495.31","2016":"498772150.91"},"WDPAID":902412,"MANG_AUTH":"Not Reported","agb_mangrove_mgha-1":{"2000":"260.21"},"type":"aoi","GIS_AREA":5191.75974325,"MANG_PLAN":"Not Reported","mangrove_loss_m2":{"1996":0,"2007":"14044759.27","2008":"4469148.10","2009":"4309604.71","2010":"5751923.47","2015":"11323918.22","2016":"11044400.42"},"mangrove_gain_m2":{"1996":0,"2007":"5985084.87","2008":"5131843.71","2009":"3208664.06","2010":"4316179.84","2015":"13130376.17","2016":"10411299.78"},"hba_mangrove_m":{"2000":"12.62"},"id":"094e62605d725612c642cb1eb5451ded","geometry":{"coordinates":[[[39.17952,-8.161711],[39.263721,-8.41979],[39.256091,-8.549413],[39.34855,-8.598605],[39.432168,-8.647169],[39.551064,-8.628228],[39.59689,-8.603857],[39.60645,-8.55453],[39.607168,-8.366648],[39.635759,-8.257043],[39.669107,-8.160679],[39.791728,-8.046451],[39.826288,-7.975042],[39.856899,-7.899189],[39.870768,-7.860634],[39.881495,-7.834108],[39.895364,-7.804351],[39.901513,-7.778184],[39.924134,-7.642008],[39.92162,-7.603229],[39.883021,-7.603318],[39.831719,-7.653588],[39.783514,-7.699952],[39.745005,-7.648695],[39.693119,-7.578229],[39.643613,-7.577466],[39.61583,-7.749189],[39.539933,-7.784467],[39.475211,-7.777241],[39.305014,-7.65067],[39.275121,-7.650715],[39.188811,-7.861891],[39.288227,-7.94874],[39.329924,-7.947573],[39.329161,-8.034871],[39.22741,-8.124862],[39.17952,-8.161711]],[[39.677365,-7.970509],[39.72382,-7.961083],[39.734906,-7.96032],[39.735669,-7.952196],[39.714439,-7.948022],[39.7218,-7.923516],[39.728712,-7.906685],[39.743299,-7.900356],[39.763272,-7.886981],[39.772877,-7.876882],[39.782886,-7.882492],[39.787823,-7.869431],[39.803173,-7.866738],[39.819062,-7.898471],[39.842042,-7.854575],[39.83154,-7.8355],[39.853084,-7.825311],[39.890741,-7.724324],[39.900211,-7.646317],[39.897069,-7.628812],[39.87961,-7.659692],[39.861701,-7.67181],[39.843299,-7.713238],[39.85636,-7.720194],[39.833829,-7.779081],[39.790651,-7.792771],[39.783155,-7.79129],[39.733335,-7.808749],[39.733155,-7.841559],[39.709592,-7.855832],[39.684906,-7.866604],[39.643164,-7.907762],[39.635714,-7.922843],[39.61978,-7.924144],[39.607258,-7.940392],[39.614798,-7.951209],[39.607168,-7.961263],[39.621845,-7.974907],[39.677365,-7.970509]]],"type":"Polygon"}},{"length_mangrove_m":{"1996":"74792.05","2007":"71837.04","2008":"73079.09","2009":"72635.92","2010":"71238.50","2015":"70392.02","2016":"69175.04"},"PERIM":2.3524444444441,"iso":"SEN","MINX":-16.842888888889,"WIDTH":0.489555555555068,"MINY":13.4842222222227,"HEIGHT":0.686666666666978,"hmax_mangrove_m":{"2000":"5.96"},"length_coast_m":"383940.15","name":"Saloum","AREA":0.336161481481299,"CNTX":-16.5981111111115,"dashboardId":"","CNTY":13.8275555555562,"MAXX":-16.353333333334,"MAXY":14.1708888888897,"area_mangrove_m2":{"1996":"577750530.17","2007":"578957477.00","2008":"581012703.92","2009":"581427181.67","2010":"580371693.31","2015":"572327107.06","2016":"558928782.03"},"agb_mangrove_mgha-1":{"2000":"28.10"},"type":"aoi","mangrove_loss_m2":{"1996":0,"2007":"25952999.02","2008":"13130497.62","2009":"4984807.31","2010":"19011474.51","2015":"17385326.64","2016":"25668937.56"},"mangrove_gain_m2":{"1996":0,"2007":"28375901.87","2008":"15187528.68","2009":"5398480.40","2010":"14170865.76","2015":"11838965.71","2016":"12270815.35"},"hba_mangrove_m":{"2000":"3.78"},"id":"4d4f31ae3061763b34c9c10da11082b0","geometry":{"coordinates":[[[-16.842902,13.484241],[-16.598109,13.484241],[-16.353316,13.484241],[-16.353316,14.170911],[-16.598109,14.170911],[-16.842902,14.170911],[-16.842902,13.484241]]],"type":"Polygon"}}]}');
+const location = JSON.parse('{"length_mangrove_m":{"1996":"65167.28","2007":"64694.98","2008":"64148.45","2009":"63901.10","2010":"64280.28","2015":"65776.31","2016":"65467.70"},"VERIF":"State Verified","SUB_LOC":"Not Reported","REP_M_AREA":0,"MARINE":"1","NO_TAKE":"Not Reported","iso":"TZA","STATUS_YR":2004,"DESIG_TYPE":"International","ORIG_NAME":"Rufiji-Mafia-Kilwa","INT_CRIT":"(i) (ii) (iii) (iv) (v) (vi) (vii) (viii)","METADATAID":845,"WDPA_PID":"902412","hmax_mangrove_m":{"2000":"19.92"},"GOV_TYPE":"Not Reported","length_coast_m":"299550.49","NAME":"Rufiji-Mafia-Kilwa","name":"Rufiji","GIS_M_AREA":3775.294242,"ISO3":"TZA","IUCN_CAT":"Not Reported","DESIG_ENG":"Ramsar Site, Wetland of International Importance","dashboardId":"4357e92064c36bda3310b8160eee630a","REP_AREA":5969.08,"DESIG":"Ramsar Site, Wetland of International Importance","PARENT_ISO":"TZA","STATUS":"Designated","OWN_TYPE":"Not Reported","PA_DEF":"1","NO_TK_AREA":0,"area_mangrove_m2":{"1996":"507526714.59","2007":"499472322.07","2008":"500133963.16","2009":"499028037.34","2010":"497595539.59","2015":"499397495.31","2016":"498772150.91"},"WDPAID":902412,"MANG_AUTH":"Not Reported","agb_mangrove_mgha-1":{"2000":"260.21"},"type":"aoi","GIS_AREA":5191.75974325,"MANG_PLAN":"Not Reported","mangrove_loss_m2":{"1996":0,"2007":"14044759.27","2008":"4469148.10","2009":"4309604.71","2010":"5751923.47","2015":"11323918.22","2016":"11044400.42"},"mangrove_gain_m2":{"1996":0,"2007":"5985084.87","2008":"5131843.71","2009":"3208664.06","2010":"4316179.84","2015":"13130376.17","2016":"10411299.78"},"hba_mangrove_m":{"2000":"12.62"},"id":"094e62605d725612c642cb1eb5451ded","geometry":{"coordinates":[[[39.17952,-8.161711],[39.263721,-8.41979],[39.256091,-8.549413],[39.34855,-8.598605],[39.432168,-8.647169],[39.551064,-8.628228],[39.59689,-8.603857],[39.60645,-8.55453],[39.607168,-8.366648],[39.635759,-8.257043],[39.669107,-8.160679],[39.791728,-8.046451],[39.826288,-7.975042],[39.856899,-7.899189],[39.870768,-7.860634],[39.881495,-7.834108],[39.895364,-7.804351],[39.901513,-7.778184],[39.924134,-7.642008],[39.92162,-7.603229],[39.883021,-7.603318],[39.831719,-7.653588],[39.783514,-7.699952],[39.745005,-7.648695],[39.693119,-7.578229],[39.643613,-7.577466],[39.61583,-7.749189],[39.539933,-7.784467],[39.475211,-7.777241],[39.305014,-7.65067],[39.275121,-7.650715],[39.188811,-7.861891],[39.288227,-7.94874],[39.329924,-7.947573],[39.329161,-8.034871],[39.22741,-8.124862],[39.17952,-8.161711]],[[39.677365,-7.970509],[39.72382,-7.961083],[39.734906,-7.96032],[39.735669,-7.952196],[39.714439,-7.948022],[39.7218,-7.923516],[39.728712,-7.906685],[39.743299,-7.900356],[39.763272,-7.886981],[39.772877,-7.876882],[39.782886,-7.882492],[39.787823,-7.869431],[39.803173,-7.866738],[39.819062,-7.898471],[39.842042,-7.854575],[39.83154,-7.8355],[39.853084,-7.825311],[39.890741,-7.724324],[39.900211,-7.646317],[39.897069,-7.628812],[39.87961,-7.659692],[39.861701,-7.67181],[39.843299,-7.713238],[39.85636,-7.720194],[39.833829,-7.779081],[39.790651,-7.792771],[39.783155,-7.79129],[39.733335,-7.808749],[39.733155,-7.841559],[39.709592,-7.855832],[39.684906,-7.866604],[39.643164,-7.907762],[39.635714,-7.922843],[39.61978,-7.924144],[39.607258,-7.940392],[39.614798,-7.951209],[39.607168,-7.961263],[39.621845,-7.974907],[39.677365,-7.970509]]],"type":"Polygon"}}');
+// <-- Mangrove Activity/Coverge/Net --> //
+const chart = '';
+const chartConfig = '';
+const widgetConfig = {
+ chart,
+ chartConfig
+};
+
+storiesOf('Widget components/Legend', module)
+ .add('Vertical legend', () => (
+
+ ))
+ .add('Horizontal legend', () => (
+
+ ));
+
+storiesOf('Widget components/Templates', module)
+ .addDecorator(withProvider)
+ .add('Conservation hotspots', () => (
+
+ ))
+ .add('Mangrove activity', () => (
+
+ ))
+ .add('Mangrove coverage', () => (
+
+ ))
+ .add('Mangrove net change', () => (
+
+ ));
+
+storiesOf('Widget', module)
+ .addDecorator(withProvider)
+ .add('Active', () => (
+
+ {({ slug, data, ...props }) => (
+
+ {/* Template */}
+ {!!TEMPLATES['highlighted-areas'] && React.createElement(TEMPLATES['highlighted-areas'], {
+ slug,
+ data: widgetData,
+ currentLocation: location,
+ ...props
+ })}
+
+ )}
+
+
+ ));
+ // .add('No Active', () => (
+ //
+ // ))
+ // .add('Collapsed', () => (
+ //
+ // ))
+ // .add('Colapsed', () => (
+ //
+ // ));
diff --git a/src/components/widget/style.module.scss b/src/components/widget/style.module.scss
new file mode 100644
index 000000000..2baaf63c3
--- /dev/null
+++ b/src/components/widget/style.module.scss
@@ -0,0 +1,108 @@
+@import 'styles/vars';
+
+.widget {
+ $padding: 30px;
+ $paddingMobile: 20px;
+ $border-radius: 20px;
+
+ position: relative;
+ margin: 10px 0;
+ padding: $padding;
+ border-radius: $border-radius;
+ background: white;
+ box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.08);
+ background: linear-gradient(180deg, white, #d6d6d6);
+ background-color: white;
+ background-repeat: no-repeat;
+ background-position: 0 700px;
+
+ transition: all .5s ease;
+ will-change: margin-bottom;
+ overflow: hidden;
+
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ display: flex;
+ flex-direction: column;
+ padding: $paddingMobile;
+ margin-bottom: 0;
+ }
+
+ &.collapsed {
+ margin-bottom: -45px;
+ background-position: 0;
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ margin-bottom: -37px;
+ }
+
+ .content {
+ max-height: 0px;
+ }
+ }
+
+ &.collapsed:last-child {
+ background-position: 0 700px;
+ }
+
+ &.layerActive::before {
+ content: '';
+ position: absolute;
+ top: 5px;
+ left: 5px;
+ right: 5px;
+ bottom: 5px;
+
+ border: 2px solid rgba($primary, 0.35);
+ border-radius: $border-radius;
+
+ pointer-events: none;
+ }
+
+ .header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ }
+
+ .title {
+ @include upper-text;
+
+ flex: 1;
+
+ position: relative;
+ background: transparent;
+ border: 0;
+ padding: 5px 0;
+ margin: 0 20px 0 0;
+
+ text-align: left;
+
+ cursor: pointer;
+
+ & svg {
+ margin-right: 15px;
+ }
+ }
+
+ .content {
+ transition: max-height .5s ease-in-out;
+ will-change: max-height;
+ max-height: 700px;
+ overflow: hidden;
+
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ overflow: visible;
+ }
+ }
+}
+
+.widget_template {
+ .sentence {
+ @include medium-text;
+ margin: 1rem 0;
+ position: relative;
+ }
+
+ .bold {
+ font-weight: bold;
+ }
+}
diff --git a/src/components/widget/templates/configs.js b/src/components/widget/templates/configs.js
new file mode 100644
index 000000000..6d55c8447
--- /dev/null
+++ b/src/components/widget/templates/configs.js
@@ -0,0 +1,19 @@
+import HighlightedPlaces from './highlighted-places/config';
+import MangroveCoverage from './mangrove-coverage/config';
+import MangroveNetChange from './mangrove-net-change/config';
+import MangroveActivity from './mangrove-activity/config';
+import MangroveAlerts from './mangrove-alerts/config';
+
+export default {
+ mangrove_coverage: MangroveCoverage,
+ mangrove_net_change: MangroveNetChange,
+ mangrove_activity: MangroveActivity,
+ highlighted_places: HighlightedPlaces,
+ mangrove_alerts: MangroveAlerts,
+ default: {
+ parse: () => ({
+ template: 'Template not defined',
+ chart: []
+ })
+ }
+};
diff --git a/src/components/widget/templates/highlighted-places/component.js b/src/components/widget/templates/highlighted-places/component.js
new file mode 100644
index 000000000..7f554556a
--- /dev/null
+++ b/src/components/widget/templates/highlighted-places/component.js
@@ -0,0 +1,35 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import classnames from 'classnames';
+import Link from 'redux-first-router-link';
+import styles from './style.module.scss';
+
+const HighlightedPlaces = ({ data, currentLocation }) => (
+
+ {data.map(d => (
+
+
+ {d.name}
+ {d.coast_length_m} {d.unit} coastline
+
+ {d.id !== currentLocation.id &&
View place}
+ {d.id === currentLocation.id &&
Back to Worldwide}
+
+ ))}
+
+);
+
+HighlightedPlaces.propTypes = {
+ data: PropTypes.arrayOf(PropTypes.shape({})),
+ currentLocation: PropTypes.shape({}),
+};
+
+HighlightedPlaces.defaultProps = {
+ data: null,
+ currentLocation: null,
+};
+
+export default HighlightedPlaces;
diff --git a/src/components/widget/templates/highlighted-places/config.js b/src/components/widget/templates/highlighted-places/config.js
new file mode 100644
index 000000000..05036a26e
--- /dev/null
+++ b/src/components/widget/templates/highlighted-places/config.js
@@ -0,0 +1,13 @@
+import { format } from 'd3-format';
+
+const numberFormat = format(',.3r');
+
+export const CONFIG = {
+ parse: places => places.map(place => ({
+ ...place,
+ coast_length_m: numberFormat(place.coast_length_m / 1000), // to km
+ unit: 'km',
+ }))
+};
+
+export default CONFIG;
diff --git a/src/components/widget/templates/highlighted-places/index.js b/src/components/widget/templates/highlighted-places/index.js
new file mode 100644
index 000000000..f1d269317
--- /dev/null
+++ b/src/components/widget/templates/highlighted-places/index.js
@@ -0,0 +1,3 @@
+import Component from './component';
+
+export default Component;
diff --git a/src/components/widget/templates/highlighted-places/style.module.scss b/src/components/widget/templates/highlighted-places/style.module.scss
new file mode 100644
index 000000000..1067d473e
--- /dev/null
+++ b/src/components/widget/templates/highlighted-places/style.module.scss
@@ -0,0 +1,71 @@
+@import 'styles/vars';
+
+.hotspotsList {
+ display: flex;
+ align-items: stretch;
+ margin-top: 30px;
+ justify-content: space-between;
+
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ flex-direction: column;
+ justify-content: space-around;
+ margin: 20px -10px -10px -10px;
+ div:not(:last-child) {
+ margin-bottom: 10px;
+ }
+ }
+
+ .card {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ flex: 1 1;
+ width: 50%;
+ padding: 20px 30px;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ border-radius: 20px;
+ width: auto;
+
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ flex-direction: row;
+ vertical-align: bottom;
+ align-items: flex-end;
+
+ }
+
+ .cardInfo {
+ display: inline;
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ p {
+ margin-bottom: 0;
+ }
+ }
+ }
+
+ h3 {
+ margin-top: 0;
+ font-size: 19px;
+ }
+
+ &:first-child {
+ margin-right: 10px;
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ margin-right: 0;
+ }
+ }
+
+ &:last-child {
+ margin-left: 10px;
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ margin-left: 0;
+ }
+ }
+
+ &.active {
+ border-color: $primary;
+ }
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ margin: 0;
+ }
+ }
+}
diff --git a/src/components/widget/templates/index.js b/src/components/widget/templates/index.js
new file mode 100644
index 000000000..c2ca000e6
--- /dev/null
+++ b/src/components/widget/templates/index.js
@@ -0,0 +1,13 @@
+import HighlightedPlaces from './highlighted-places';
+import MangroveCoverage from './mangrove-coverage';
+import MangroveNetChange from './mangrove-net-change';
+import MangroveActivity from './mangrove-activity';
+import MangroveAlerts from './mangrove-alerts';
+
+export default {
+ mangrove_coverage: MangroveCoverage,
+ mangrove_net_change: MangroveNetChange,
+ mangrove_activity: MangroveActivity,
+ highlighted_places: HighlightedPlaces,
+ mangrove_alerts: MangroveAlerts
+};
diff --git a/src/components/widget/templates/mangrove-activity/component.js b/src/components/widget/templates/mangrove-activity/component.js
new file mode 100644
index 000000000..f15c2bdd3
--- /dev/null
+++ b/src/components/widget/templates/mangrove-activity/component.js
@@ -0,0 +1,96 @@
+import React, { Fragment } from 'react';
+import PropTypes from 'prop-types';
+
+import Spinner from 'components/spinner';
+import Chart from 'components/chart';
+import Select from 'components/select';
+
+import styles from 'components/widget/style.module.scss';
+
+class MangroveActivity extends React.PureComponent {
+ static propTypes = {
+ chart: PropTypes.arrayOf(PropTypes.object).isRequired,
+ chartConfig: PropTypes.shape({}).isRequired,
+ };
+
+ state = {
+ unit: 'ha',
+ yearStart: '2009',
+ yearEnd: '2019'
+ }
+
+ changeYear = (type, value) => {
+ if (type === 'start') {
+ this.setState({ yearStart: value });
+ } else {
+ this.setState({ yearEnd: value });
+ }
+ }
+
+ changeUnit = (unit) => {
+ this.setState({ unit });
+ }
+
+ render() {
+ const { chart, chartConfig } = this.props;
+ const { yearStart, yearEnd, unit } = this.state;
+
+ // XXX: these options should come from an api ?
+ const optionsYearStart = [
+ { value: '2009', label: '2009' },
+ { value: '2010', label: '2010' }
+ ];
+
+ const optionsYearEnd = [
+ { value: '2018', label: '2018' },
+ { value: '2019', label: '2019' }
+ ];
+
+ const optionsUnit = [
+ { value: 'ha', label: 'Ha' },
+ { value: 'km', label: 'Km' }
+ ];
+ return (
+
+
+
+ Regions of interest within location showed relative changes of x
+ {' '}
+
+
+
+ {/* Chart */}
+ {chart.length && }
+
+
+
+ );
+ }
+}
+
+export default MangroveActivity;
diff --git a/src/components/widget/templates/mangrove-activity/config.js b/src/components/widget/templates/mangrove-activity/config.js
new file mode 100644
index 000000000..a02f11f5b
--- /dev/null
+++ b/src/components/widget/templates/mangrove-activity/config.js
@@ -0,0 +1,100 @@
+import React from 'react';
+// Utils
+// import { format } from 'd3-format';
+// import { replace } from 'layer-manager';
+import groupBy from 'lodash/groupBy';
+
+// Components
+// import WidgetTooltip from 'components/widget/tooltip';
+import WidgetLegend from 'components/widget/legend';
+
+export const CONFIG = {
+ parse: () => {
+ const fakeData = [
+ {
+ label: '1996',
+ gain: 122,
+ median: 40,
+ loss: -120
+ },
+ {
+ label: '2002',
+ gain: 155,
+ median: 30,
+ loss: -40
+ },
+ {
+ label: '2009',
+ gain: 194,
+ median: 72,
+ loss: -182
+ },
+ {
+ label: '2016',
+ gain: 135,
+ median: 110,
+ loss: -194
+ }
+ ];
+
+ return {
+ chart: fakeData.map(l => (
+ {
+ x: l.label,
+ median: l.median,
+ gain: l.gain,
+ loss: l.loss,
+ color: l.color,
+ name: l.label
+ }
+ )),
+ chartConfig: {
+ layout: 'vertical',
+ referenceLines: [
+ { x: 0, label: null, stroke: 'rgba(0,0,0,0.5)' }
+ ],
+ margin: { top: 20, right: 0, left: 0, bottom: 20 },
+ yKeys: {
+ bars: {
+ gain: {
+ barSize: 10,
+ transform: `translate(0, ${10 / 2})`,
+ fill: '#077FAC',
+ radius: [0, 10, 10, 0],
+ },
+ loss: {
+ barSize: 10,
+ transform: `translate(0, -${10 / 2})`,
+ fill: '#EB6240',
+ radius: [0, 10, 10, 0],
+ }
+ }
+ },
+ legend: {
+ align: 'center',
+ verticalAlign: 'top',
+ layout: 'horizontal',
+ height: 50,
+ content: (properties) => {
+ const { payload } = properties;
+ const groups = groupBy(payload, p => p.payload.category);
+ return ;
+ }
+ },
+ xAxis: {
+ type: 'number',
+ tick: false,
+ },
+ cartesianGrid: {
+ vertical: true,
+ horizontal: false,
+ verticalPoints: [0, 100, 200, 300, 400, 500],
+ strokeDasharray: '5 20'
+ }
+ }
+ };
+ }
+};
+
+
+export default CONFIG;
diff --git a/src/components/widget/templates/mangrove-activity/index.js b/src/components/widget/templates/mangrove-activity/index.js
new file mode 100644
index 000000000..86daf9414
--- /dev/null
+++ b/src/components/widget/templates/mangrove-activity/index.js
@@ -0,0 +1,12 @@
+import { connect } from 'react-redux';
+import { coverageWidget } from 'modules/widgets/selectors';
+import { currentLocation } from 'modules/locations/selectors';
+import Component from './component';
+
+const mapStateToProps = state => ({
+ // data: coverageWidget(state),
+ data: {},
+ location: currentLocation(state)
+});
+
+export default connect(mapStateToProps)(Component);
diff --git a/src/components/widget/templates/mangrove-alerts/component.js b/src/components/widget/templates/mangrove-alerts/component.js
new file mode 100644
index 000000000..576389f4b
--- /dev/null
+++ b/src/components/widget/templates/mangrove-alerts/component.js
@@ -0,0 +1,76 @@
+import React, { Fragment, useState } from 'react';
+import moment from 'moment';
+
+import { year } from 'utils/nice-date';
+// import Spinner from 'components/spinner';
+import Chart from 'components/chart';
+import Datepicker from 'components/datepicker';
+
+import styles from 'components/widget/style.module.scss';
+window.m = moment;
+function MangroveAlerts({ widgetConfig, minDate = '1996-01-01', maxDate = '2016-12-31'}) {
+ const [state, setState] = useState({
+ startDate: moment(minDate).add(4, 'y'),
+ endDate: moment(maxDate).subtract(4, 'y')
+ });
+
+ const datepickerHandler = payload => setState(state => ({
+ ...state,
+ ...payload
+ }));
+
+ function DatePicker({date, onChange}) {
+ return (
+
+ d.isAfter(moment(maxDate)) || d.isBefore(moment(minDate)),
+ hideKeyboardShortcutsPanel: true,
+ noBorder: true,
+ readOnly: true
+ }}
+ onDateChange={onChange}
+ />
+ );
+ }
+
+ const startDatepicker = ( datepickerHandler({startDate: value})}
+ />);
+
+ const endDatepicker = ( datepickerHandler({endDate: value})}
+ />);
+
+ const startYear = year(state.startDate);
+ const endYear = year(state.endDate);
+
+ const { chartData, chartConfig } = widgetConfig.parse({ startYear, endYear });
+ const alerts = chartData.map(it => it.year).filter(y => y >= startYear && y <= endYear ).length;
+
+ return (
+
+
+
+ There were {alerts} loss alerts
between {startDatepicker} and {endDatepicker}
+
+
+
+ {/* Chart */}
+
+
+
+ );
+}
+
+export default MangroveAlerts;
diff --git a/src/components/widget/templates/mangrove-alerts/config.js b/src/components/widget/templates/mangrove-alerts/config.js
new file mode 100644
index 000000000..6c8f5fc1c
--- /dev/null
+++ b/src/components/widget/templates/mangrove-alerts/config.js
@@ -0,0 +1,190 @@
+import React from 'react';
+import WidgetLegend from 'components/widget/legend';
+import { range } from 'lodash';
+
+import {
+ Text
+} from 'recharts';
+
+const widgetData = () => [
+ {
+ label: '2001',
+ year: 2001,
+ signal: 0
+ },
+ {
+ label: '2005',
+ year: 2005,
+ signal: 0
+ },
+ {
+ label: '2007',
+ year: 2007,
+ signal: 0
+ }
+];
+
+export const CONFIG = {
+ parse: ({startYear, endYear}) => {
+ return {
+ chartData: widgetData().map(l => (
+ {
+ ...l,
+ x: l.label
+ }
+ )),
+ metadata: {},
+ chartConfig: {
+ patterns: {
+ diagonal: {
+ attributes: {
+ id: 'diagonal-stripe-1',
+ patternUnits: 'userSpaceOnUse',
+ patternTransform: 'rotate(-45)',
+ width: 4,
+ height: 6
+ },
+ children: {
+ rect2: {
+ tag: 'rect',
+ x: 0,
+ y: 0,
+ width: 4,
+ height: 6,
+ transform: 'translate(0,0)',
+ fill: '#d2d2d2'
+ },
+ rect: {
+ tag: 'rect',
+ x: 0,
+ y: 0,
+ width: 3,
+ height: 6,
+ transform: 'translate(0,0)',
+ fill: '#fff'
+ }
+ }
+ }
+ },
+ referenceLines: [
+ {
+ x: startYear,
+ stroke: 'rgb(0,0,0)',
+ strokeWidth: 1,
+ label: {
+ value: 'v',
+ content: ({viewBox: o}) => (
+
+
+
+ )
+ }
+ },
+ {
+ x: endYear,
+ stroke: 'rgb(0,0,0)',
+ strokeWidth: 1,
+ label: {
+ value: 'v',
+ content: ({viewBox: o}) => (
+
+
+
+ )
+ }
+ }
+ ],
+ referenceAreas: [
+ {
+ x1: 1996,
+ x2: 2016,
+ y1: -100,
+ y2: 90,
+ fill: 'url(#diagonal-stripe-1) #000'
+ },
+ {
+ x1: startYear,
+ x2: endYear,
+ y1: -100,
+ y2: 100,
+ fill: '#fff',
+ fillOpacity: 1
+ }
+ ],
+ margin: { top: 20, right: 0, left: 0, bottom: 20 },
+ xAxis: {
+ tickLine: true,
+ tickCount: 30,
+ minTickGap: 1,
+ interval: 0,
+ type: 'number',
+ domain: [1996, 2016],
+ scale: 'linear',
+ ticks: range(1996,2017),
+ tick: props => {
+ const { payload: { value } } = props;
+ const options = {...props};
+ let show = false;
+
+ if (value === 1996) {
+ show = true;
+ options.textAnchor = 'start';
+ options.y = options.y + 6;
+ }
+
+ if (value === 2016) {
+ show = true;
+ options.textAnchor = 'end';
+ options.y = options.y + 6;
+ }
+
+ return show ? {value} : null;
+ }
+ },
+ yAxis: {
+ tick: { fontSize: 12, fill: '#AAA' },
+ domain: [-100, 100]
+ },
+ xKey: 'year',
+ yKeys: {
+ lines: {
+ signal: {
+ strokeWidth: 0,
+ isAnimationActive: false,
+ dot: {
+ stroke: 'red',
+ strokeWidth: 5
+ },
+ title: 'Alerts'
+ }
+ }
+ },
+ legend: {
+ align: 'center',
+ verticalAlign: 'bottom',
+ layout: 'horizontal',
+ height: 50,
+ content: (properties) => {
+ const { payload } = properties;
+ const labels = payload.map(({color, value, payload}) => ({
+ color,
+ value: payload.title || value
+ }));
+ return ;
+ }
+ },
+ cartesianAxis: {
+ axisLine: true,
+ ticks: [
+ { dy: 8, fontSize: '12px', fill: '#AAA' }
+ ],
+ height: 1,
+ width: 100
+ }
+ }
+ };
+ }
+};
+
+
+export default CONFIG;
diff --git a/src/components/widget/templates/mangrove-alerts/index.js b/src/components/widget/templates/mangrove-alerts/index.js
new file mode 100644
index 000000000..b404d7fd4
--- /dev/null
+++ b/src/components/widget/templates/mangrove-alerts/index.js
@@ -0,0 +1 @@
+export { default } from './component';
diff --git a/src/components/widget/templates/mangrove-coverage/component.js b/src/components/widget/templates/mangrove-coverage/component.js
new file mode 100644
index 000000000..a4cd9614e
--- /dev/null
+++ b/src/components/widget/templates/mangrove-coverage/component.js
@@ -0,0 +1,105 @@
+import React, { Fragment } from 'react';
+import PropTypes from 'prop-types';
+import { format } from 'd3-format';
+import Chart from 'components/chart';
+import Select from 'components/select';
+import DownloadLink from 'components/link';
+import styles from 'components/widget/style.module.scss';
+
+const numberFormat = format(',.2f');
+
+class MangroveCoverage extends React.PureComponent {
+ static propTypes = {
+ data: PropTypes.shape({}),
+ metadata: PropTypes.shape({}),
+ currentLocation: PropTypes.shape({}),
+ slug: PropTypes.string
+ }
+
+ static defaultProps = {
+ data: null,
+ metadata: null,
+ currentLocation: null,
+ slug: null
+ }
+
+ state = {
+ currentYear: 1996
+ }
+
+ getData() {
+ const { data } = this.props;
+ const { chartData, metadata } = data;
+ const { currentYear } = this.state;
+ const currentYearData = chartData.find(d => d.x === currentYear);
+ const nonMangrove = metadata.total - currentYearData.value;
+
+ return [
+ {
+ ...currentYearData
+ },
+ {
+ x: 0,
+ y: nonMangrove,
+ color: '#ECECEF',
+ percentage: nonMangrove / metadata.total * 100,
+ unit: '%',
+ value: nonMangrove,
+ label: 'Non mangroves'
+ }
+ ];
+ }
+
+ changeYear = (value) => {
+ this.setState({ currentYear: value });
+ }
+
+ render() {
+ const { data, currentLocation, slug } = this.props;
+ const { chartConfig, metadata } = data;
+ const { currentYear } = this.state;
+ const optionsYears = metadata.years.map(year => ({
+ label: year.toString(),
+ value: year
+ }));
+ const widgetData = this.getData();
+ const { percentage, unit } = widgetData[0];
+ return (
+
+
+
+ Mangrove forest cover {numberFormat(percentage)} {unit}
+ of {currentLocation.type === 'worldwide' ? 'the world’s' : {`${currentLocation.name}'s`}}
+ {' '}
+ {numberFormat(metadata.total / 1000)} km coastline
+ in
+ {' '}
+
+ {'.'}
+
+
+
+ {/* Chart */}
+ {!!widgetData.length && (
+
+ )}
+
+
+
+ );
+ }
+}
+
+export default MangroveCoverage;
diff --git a/src/components/widget/templates/mangrove-coverage/config.js b/src/components/widget/templates/mangrove-coverage/config.js
new file mode 100644
index 000000000..ac903e21e
--- /dev/null
+++ b/src/components/widget/templates/mangrove-coverage/config.js
@@ -0,0 +1,96 @@
+import React from 'react';
+import { format } from 'd3-format';
+import groupBy from 'lodash/groupBy';
+import WidgetTooltip from 'components/widget/tooltip';
+import WidgetLegend from 'components/widget/legend';
+
+const numberFormat = format(',.2%');
+
+const widgetData = ({ list, metadata }) => {
+ if (list && list.length) {
+ const { location_coast_length_m: total } = metadata;
+
+ return list.filter(d => d.length_m).map((d) => {
+ const year = new Date(d.date).getFullYear();
+
+ return ({
+ x: Number(year),
+ y: d.length_m,
+ color: '#00857F',
+ percentage: d.length_m / total * 100,
+ unit: '%',
+ value: d.length_m,
+ label: `Mangroves in ${year}`
+ });
+ });
+ }
+
+ return [];
+};
+
+const widgetMeta = ({ list, metadata }) => {
+ if (list && list.length && metadata) {
+ return {
+ years: list.filter(d => d.length_m).map(d => new Date(d.date).getFullYear()),
+ total: metadata.location_coast_length_m
+ };
+ }
+
+ return {
+ years: [],
+ total: null
+ };
+};
+
+export const CONFIG = {
+ parse: data => ({
+ chartData: widgetData(data),
+ metadata: widgetMeta(data),
+ chartConfig: {
+ type: 'pie',
+ layout: 'centric',
+ height: 250,
+ margin: { top: 20, right: 0, left: 0, bottom: 0 },
+ xKey: 'percentage',
+ yKeys: {
+ pies: {
+ y: {
+ cx: '50%',
+ cy: '50%',
+ dataKey: 'percentage',
+ nameKey: 'label',
+ innerRadius: '60%',
+ outerRadius: '80%'
+ }
+ }
+ },
+ legend: {
+ align: 'left',
+ verticalAlign: 'middle',
+ layout: 'vertical',
+ content: (properties) => {
+ const { payload } = properties;
+ const groups = groupBy(payload, p => p.payload.label);
+ return ;
+ }
+ },
+ tooltip: {
+ cursor: false,
+ content: (
+ `Percentage: ${numberFormat(value / 100)}` }
+ ]}
+ />
+ )
+ }
+ }
+ })
+};
+
+export default CONFIG;
diff --git a/src/components/widget/templates/mangrove-coverage/index.js b/src/components/widget/templates/mangrove-coverage/index.js
new file mode 100644
index 000000000..b404d7fd4
--- /dev/null
+++ b/src/components/widget/templates/mangrove-coverage/index.js
@@ -0,0 +1 @@
+export { default } from './component';
diff --git a/src/components/widget/templates/mangrove-net-change/component.js b/src/components/widget/templates/mangrove-net-change/component.js
new file mode 100644
index 000000000..ab1a8a2e3
--- /dev/null
+++ b/src/components/widget/templates/mangrove-net-change/component.js
@@ -0,0 +1,103 @@
+import React, { Fragment, PureComponent } from 'react';
+import PropTypes from 'prop-types';
+import { format } from 'd3-format';
+import Chart from 'components/chart';
+import Select from 'components/select';
+import DownloadLink from 'components/link';
+import sumBy from 'lodash/sumBy';
+import styles from 'components/widget/style.module.scss';
+
+const numberFormat = format(',.2f');
+
+class MangroveNetChange extends PureComponent {
+ static propTypes = {
+ data: PropTypes.shape({}),
+ currentLocation: PropTypes.shape({}),
+ slug: PropTypes.string
+ }
+
+ static defaultProps = {
+ data: null,
+ currentLocation: null,
+ slug: null
+ }
+
+ state = {
+ startYear: '1996',
+ endYear: '2016'
+ }
+
+ getData() {
+ const { data: { chartData } } = this.props;
+ const { startYear, endYear } = this.state;
+ const y0 = parseInt(startYear, 0);
+ const y1 = parseInt(endYear, 0);
+ const result = chartData.filter((d) => {
+ const y = parseInt(d.year, 0);
+ return y >= y0 && y <= y1;
+ });
+ return result;
+ }
+
+ changeStartYear = startYear => this.setState({ startYear })
+
+ changeEndYear = endYear => this.setState({ endYear })
+
+ render() {
+ const { data: { metadata, chartConfig }, currentLocation, slug } = this.props;
+ const { startYear, endYear } = this.state;
+ const optionsYears = metadata.years.map(year => ({
+ label: year.toString(),
+ value: year.toString()
+ }));
+ const widgetData = this.getData();
+ const totalLoss = widgetData && widgetData.length
+ ? Math.abs(sumBy(widgetData, 'Loss'))
+ : 0;
+ return (
+
+
+
+ Mangroves in {currentLocation.type === 'worldwide' ? 'the world' : {currentLocation.name}}
+ {' '}have decreased by {numberFormat(totalLoss / 100000)} km2{' '}
+ between
+ {' '}
+ parseInt(option.value, 10) > parseInt(endYear, 10) || option.value === startYear}
+ onChange={this.changeStartYear}
+ />
+ {' '}and{' '}
+ parseInt(option.value, 10) < parseInt(startYear, 10) || option.value === endYear}
+ onChange={this.changeEndYear}
+ />
+ {'.'}
+
+
+
+ {/* Chart */}
+ {!!widgetData.length && (
+
+ )}
+
+
+
+ );
+ }
+}
+
+export default MangroveNetChange;
diff --git a/src/components/widget/templates/mangrove-net-change/config.js b/src/components/widget/templates/mangrove-net-change/config.js
new file mode 100644
index 000000000..8b49e3edc
--- /dev/null
+++ b/src/components/widget/templates/mangrove-net-change/config.js
@@ -0,0 +1,117 @@
+import React from 'react';
+import { format } from 'd3-format';
+import WidgetLegend from 'components/widget/legend';
+import WidgetTooltip from 'components/widget/tooltip';
+import moment from 'moment';
+import orderBy from 'lodash/orderBy';
+
+
+const numberFormat = format(',.2f');
+
+const widgetData = ({ list }) => {
+ const data = list.map(l => (
+ {
+ label: JSON.stringify(moment(l.date).year()),
+ year: moment(l.date).year(),
+ gain: l.gain_m2,
+ netChange: l.gain_m2 - l.loss_m2,
+ loss: -l.loss_m2
+ })).filter(l => l.netChange !== 0);
+ return orderBy(data, l => l.year);
+};
+
+const widgetMetadata = ({ list }) => ({
+ years: list.filter(l => (l.gain_m2 !== null && l.loss_m2 !== null)).map(l => (
+ moment(l.date).year()
+ )).sort((a, b) => a - b)
+});
+
+const CONFIG = {
+ parse: data => ({
+ chartData: widgetData(data).map(l => (
+ {
+ x: l.label,
+ 'Net change': l.netChange,
+ Gain: l.gain,
+ Loss: l.loss,
+ name: l.label,
+ year: l.year
+ })),
+ metadata: widgetMetadata(data),
+ chartConfig: {
+ stackOffset: 'sign',
+ margin: { top: 20, right: 0, left: 40, bottom: 0 },
+ referenceLines: [
+ { y: 0, label: null, stroke: 'rgba(0,0,0,0.85)' }
+ ],
+ xKey: 'year',
+ yKeys: {
+ lines: {
+ 'Net change': {
+ stroke: 'rgba(0,0,0,0.7)'
+ }
+ },
+ bars: {
+ Gain: {
+ barSize: 10,
+ transform: `translate(${(4 + 10) / 2}, 0)`,
+ fill: '#077FAC',
+ radius: [10, 10, 0, 0]
+ },
+ Loss: {
+ barSize: 10,
+ transform: `translate(-${(4 + 10) / 2}, 0)`,
+ fill: '#EB6240',
+ radius: [10, 10, 0, 0]
+ }
+ }
+ },
+ xAxis: {
+ tick: { fontSize: 12, fill: '#AAA' }
+ },
+ yAxis: {
+ tick: { fontSize: 12, fill: '#AAA' },
+ tickFormatter: (v) => {
+ const result = v / 1000000;
+ return numberFormat(result);
+ },
+ tickMargin: 15,
+ domain: [-300, 300]
+ },
+ cartesianGrid: {
+ vertical: false,
+ strokeDasharray: '6 6'
+ },
+ legend: {
+ align: 'center',
+ verticalAlign: 'top',
+ layout: 'horizontal',
+ height: 50,
+ content: (properties) => {
+ const { payload } = properties;
+ const groups = { groups: payload };
+ return ;
+ }
+ },
+ tooltip: {
+ cursor: false,
+ content: (
+ `Gain: ${numberFormat(value / 1000000)} km2` },
+ { key: 'Loss', format: value => `Loss: ${numberFormat(value / 1000000)} km2` },
+ { key: 'Net change', format: value => `Net change: ${numberFormat(value / 1000000)} km2` }
+ ]}
+ />
+ )
+ }
+ }
+ })
+};
+
+export default CONFIG;
diff --git a/src/components/widget/templates/mangrove-net-change/index.js b/src/components/widget/templates/mangrove-net-change/index.js
new file mode 100644
index 000000000..f1d269317
--- /dev/null
+++ b/src/components/widget/templates/mangrove-net-change/index.js
@@ -0,0 +1,3 @@
+import Component from './component';
+
+export default Component;
diff --git a/src/components/widget/tooltip/component.js b/src/components/widget/tooltip/component.js
new file mode 100644
index 000000000..f448d8af8
--- /dev/null
+++ b/src/components/widget/tooltip/component.js
@@ -0,0 +1,80 @@
+import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+import classNames from 'classnames';
+import styles from './style.module.scss';
+
+class Tooltip extends PureComponent {
+ static propTypes = {
+ payload: PropTypes.arrayOf(PropTypes.shape({})),
+ settings: PropTypes.arrayOf(PropTypes.shape({})).isRequired,
+ style: PropTypes.shape({}),
+ hideZeros: PropTypes.bool
+ };
+
+ static defaultProps = {
+ payload: [],
+ style: {},
+ hideZeros: false
+ }
+
+ getValue = (item, value) => {
+ const { format, suffix = '', preffix = '' } = item;
+ let val = value;
+
+ if (format && typeof format === 'function') {
+ val = format(val);
+ }
+
+ return `${preffix}${val}${suffix}`;
+ }
+
+ render() {
+ const { payload, settings, style, hideZeros } = this.props;
+ const values = payload && payload.length > 0 && payload[0].payload;
+
+ return (
+
+ {settings && settings.length && (
+
+ {settings.map(
+ d => (hideZeros && !values[d.key] ? null : (
+
+ {/* LABEL */}
+ {(d.label || d.labelKey) && (
+
+ {d.color && (
+
+ )}
+
+ {d.key === 'break' ? (
+
{d.label}
+ ) : (
+
{d.label || values[d.labelKey]}
+ )}
+
+ )}
+
+ {/* UNIT */}
+
+ {this.getValue(d, values[d.key])}
+
+
+ ))
+ )}
+
+ )}
+
+ );
+ }
+}
+
+export default Tooltip;
diff --git a/src/components/widget/tooltip/index.js b/src/components/widget/tooltip/index.js
new file mode 100644
index 000000000..5fafc60cd
--- /dev/null
+++ b/src/components/widget/tooltip/index.js
@@ -0,0 +1,3 @@
+import TooltipComponent from './component';
+
+export default TooltipComponent;
diff --git a/src/components/widget/tooltip/style.module.scss b/src/components/widget/tooltip/style.module.scss
new file mode 100644
index 000000000..70aa0f835
--- /dev/null
+++ b/src/components/widget/tooltip/style.module.scss
@@ -0,0 +1,47 @@
+.chart_tooltip {
+ padding: 10px 20px;
+ box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.19);
+ background-color: #FFF;
+ color: gray;
+ border-radius: 12px;
+ font-size: 12;
+ font-weight: 500;
+}
+
+.data-line {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: flex-start;
+}
+
+.data-line.right {
+ justify-content: flex-end;
+ text-align: right;
+}
+
+.data_label {
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-start;
+ align-items: flex-start;
+ margin-right: 20px;
+}
+
+.break_label {
+ font-size: 14px;
+ font-style: italic;
+ flex-direction: row;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+.data_color {
+ width: 12px;
+ height: 12px;
+ min-height: 12px;
+ min-width: 12px;
+ border-radius: 50%;
+ margin-right: 5px;
+ margin-top: 5px;
+}
diff --git a/src/components/widgets/component.js b/src/components/widgets/component.js
new file mode 100644
index 000000000..7662d0fc2
--- /dev/null
+++ b/src/components/widgets/component.js
@@ -0,0 +1,52 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import Widget from 'components/widget';
+import TEMPLATES from 'components/widget/templates';
+import CONFIGS from 'components/widget/templates/configs';
+import styles from './style.module.scss';
+
+function WidgetList({
+ isCollapsed,
+ widgets,
+ widgetData,
+ ...parentProps
+}) {
+ return (
+
+ {widgets.map(widget => {
+ const template = TEMPLATES[widget.slug];
+
+ if (!template) {
+ return null;
+ }
+
+ return (
+
+ );
+ })}
+
+ );
+}
+
+WidgetList.propTypes = {
+ widgets: PropTypes.arrayOf(
+ PropTypes.shape({
+ id: PropTypes.string,
+ title: PropTypes.string
+ })
+ ),
+};
+
+WidgetList.defaultProps = {
+ widgets: []
+};
+
+
+export default WidgetList;
diff --git a/src/components/widgets/index.js b/src/components/widgets/index.js
new file mode 100644
index 000000000..461d7bee3
--- /dev/null
+++ b/src/components/widgets/index.js
@@ -0,0 +1,23 @@
+import { connect } from 'react-redux';
+import { expandAll, collapseAll, toggleCollapse, toggleActive } from 'modules/widgets/actions';
+import { dashboardWidgets } from 'modules/widgets/selectors';
+import { currentLocation, highlightedPlaces } from 'modules/locations/selectors';
+import Component from './component';
+
+const mapStateToProps = state => ({
+ currentLocation: currentLocation(state),
+ isCollapsed: state.widgets.isCollapsed,
+ isLoading: state.mangroveData.isLoading,
+ highlightedPlaces: highlightedPlaces(state),
+ widgets: dashboardWidgets(state),
+ widgetData: state.mangroveData,
+});
+
+const mapDispatchToProps = {
+ expandAll,
+ collapseAll,
+ toggleCollapse,
+ toggleActive
+};
+
+export default connect(mapStateToProps, mapDispatchToProps)(Component);
diff --git a/src/components/widgets/stories.jsx b/src/components/widgets/stories.jsx
new file mode 100644
index 000000000..2bcf13567
--- /dev/null
+++ b/src/components/widgets/stories.jsx
@@ -0,0 +1,12 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import Component from './component';
+
+
+storiesOf('Widgets', module)
+ .add('Colapse', () => (
+
+ ))
+ .add('Expand', () => (
+
+ ));
diff --git a/src/components/widgets/style.module.scss b/src/components/widgets/style.module.scss
new file mode 100644
index 000000000..596fe7c49
--- /dev/null
+++ b/src/components/widgets/style.module.scss
@@ -0,0 +1,5 @@
+.widgets {
+ margin-bottom: 50px;
+ max-width: 540px;
+ z-index: 300;
+}
diff --git a/src/config/data.json b/src/config/data.json
new file mode 100644
index 000000000..76dcb9a84
--- /dev/null
+++ b/src/config/data.json
@@ -0,0 +1,96 @@
+{
+ "dashboards": {
+ "defaults": [
+ {
+ "location_type": "worldwide",
+ "widgetsSlugs": [
+ "highlighted_places",
+ "mangrove_coverage",
+ "mangrove_net_change"
+ ]
+ },
+ {
+ "location_type": "country",
+ "widgetsSlugs": [
+ "highlighted_places",
+ "mangrove_coverage",
+ "mangrove_net_change"
+ ]
+ },
+ {
+ "location_type": "wdpa",
+ "widgetsSlugs": [
+ "highlighted_places",
+ "mangrove_coverage",
+ "mangrove_net_change"
+ ]
+ },
+ {
+ "location_type": "aoi",
+ "widgetsSlugs": [
+ "highlighted_places",
+ "mangrove_coverage"
+ ]
+ }
+ ],
+ "custom": [
+ {
+ "location_id": 1000000,
+ "widgetsSlugs": [
+ "highlighted_places",
+ "mangrove_coverage",
+ "mangrove_net_change"
+ ]
+ }
+ ]
+ },
+ "widgets": [
+ {
+ "name": "Highlighted places",
+ "slug": "highlighted_places",
+ "layersIds": []
+ },
+ {
+ "name": "Mangrove coverage",
+ "slug": "mangrove_coverage",
+ "layersIds": [
+ "mangrove_extent"
+ ]
+ },
+ {
+ "name": "Mangrove net change",
+ "slug": "mangrove_net_change",
+ "layersIds": [
+ "mangrove_gain",
+ "mangrove_loss"
+ ]
+ },
+ {
+ "name": "Mangrove activies",
+ "slug": "mangrove_activities",
+ "layersIds": []
+ },
+ {
+ "name": "Mangrove alerts",
+ "slug": "mangrove_alerts",
+ "layersIds": []
+ }
+ ],
+ "layers": [
+ {
+ "name": "Mangrove extent",
+ "id": "mangrove_extent",
+ "mapboxGroup": "07c14de52165978354b99fda5fbcdadb"
+ },
+ {
+ "name": "Mangrove gain",
+ "id": "mangrove_gain",
+ "mapboxGroup": "ddb057e964a581d45d89735ba23f5ba6"
+ },
+ {
+ "name": "Mangrove loss",
+ "id": "mangrove_loss",
+ "mapboxGroup": "84284e0aab770699fa0ac998b822aa4f"
+ }
+ ]
+}
diff --git a/src/config/router.js b/src/config/router.js
new file mode 100644
index 000000000..888fa129d
--- /dev/null
+++ b/src/config/router.js
@@ -0,0 +1,26 @@
+import { connectRoutes } from 'redux-first-router';
+
+import queryState from 'utils/query-state';
+import { PAGES } from 'modules/pages/constants';
+
+const routes = PAGES.reduce((acc, page) => ({
+ ...acc,
+ [page.name]: {
+ path: page.path,
+ ...{ thunk: page.thunk }
+ }
+}), {});
+
+const options = {
+ basename: process.env.REACT_APP_BASE_URL,
+ location: 'router',
+ notFoundPath: `${process.env.REACT_APP_BASE_URL}404`,
+ querySerializer: {
+ parse: queryState.decode,
+ stringify: queryState.encode
+ },
+ onAfterChange: queryState.inspector,
+ initialDispatch: false
+};
+
+export default connectRoutes(routes, options);
diff --git a/src/config/sagas.js b/src/config/sagas.js
new file mode 100644
index 000000000..d6ad67313
--- /dev/null
+++ b/src/config/sagas.js
@@ -0,0 +1,28 @@
+import { all, fork } from 'redux-saga/effects';
+
+import queryState from 'utils/query-state';
+
+import pagesSagas from 'modules/pages/sagas';
+import mapSagas from 'modules/map/sagas';
+import mapStylesSagas from 'modules/map-styles/sagas';
+import layersSagas from 'modules/layers/sagas';
+import widgetsSagas from 'modules/widgets/sagas';
+import locationsSagas from 'modules/locations/sagas';
+import dashboardsSagas from 'modules/dashboards/sagas';
+import languagesSagas from 'modules/languages/sagas';
+import mangroveDataSagas from 'modules/mangrove-data/sagas';
+
+export default function* root() {
+ yield all([
+ fork(queryState.sagas.bind(queryState)),
+ fork(pagesSagas),
+ fork(mapSagas),
+ fork(mapStylesSagas),
+ fork(layersSagas),
+ fork(widgetsSagas),
+ fork(locationsSagas),
+ fork(dashboardsSagas),
+ fork(languagesSagas),
+ fork(mangroveDataSagas),
+ ]);
+};
\ No newline at end of file
diff --git a/src/config/store.js b/src/config/store.js
new file mode 100644
index 000000000..a0985ed68
--- /dev/null
+++ b/src/config/store.js
@@ -0,0 +1,56 @@
+import { createStore, combineReducers, applyMiddleware } from 'redux';
+import { composeWithDevTools } from 'redux-devtools-extension/developmentOnly';
+import createSagaMiddleware from 'redux-saga';
+import { handleModule } from 'vizzuality-redux-tools';
+
+import * as app from 'modules/app';
+import * as pages from 'modules/pages';
+import * as map from 'modules/map';
+import * as mapStyles from 'modules/map-styles';
+import * as layers from 'modules/layers';
+import * as widgets from 'modules/widgets';
+import * as locations from 'modules/locations';
+import * as dashboards from 'modules/dashboards';
+import * as languages from 'modules/languages';
+import * as mangroveData from 'modules/mangrove-data';
+
+import router from './router';
+import sagas from './sagas';
+
+const modules = [
+ { namespace: 'app', components: app },
+ { namespace: 'page', components: pages },
+ { namespace: 'map', components: map },
+ { namespace: 'layers', components: layers },
+ { namespace: 'widgets', components: widgets },
+ { namespace: 'locations', components: locations },
+ { namespace: 'dashboards', components: dashboards },
+ { namespace: 'mapStyles', components: mapStyles },
+ { namespace: 'languages', components: languages },
+ { namespace: 'mangroveData', components: mangroveData }
+];
+
+const {
+ initialDispatch,
+ reducer: routerReducer,
+ middleware: routerMiddleware,
+ enhancer: routerEnhancer
+} = router;
+
+const sagaMiddleware = createSagaMiddleware();
+
+const reducers = combineReducers({
+ router: routerReducer,
+ ...modules.reduce(
+ (acc, module) => ({ ...acc, [module.namespace]: handleModule(module.components) }),
+ {}
+ )
+});
+const middleware = applyMiddleware(routerMiddleware, sagaMiddleware);
+const enhancers = composeWithDevTools(routerEnhancer, middleware);
+const store = createStore(reducers, enhancers);
+
+sagaMiddleware.run(sagas);
+initialDispatch();
+
+export default store;
diff --git a/src/index.css b/src/index.css
deleted file mode 100644
index 4a1df4db7..000000000
--- a/src/index.css
+++ /dev/null
@@ -1,13 +0,0 @@
-body {
- margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
- "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
- sans-serif;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-code {
- font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
- monospace;
-}
diff --git a/src/index.js b/src/index.js
index 87d1be551..204703b07 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,12 +1,16 @@
import React from 'react';
import ReactDOM from 'react-dom';
-import './index.css';
-import App from './App';
-import * as serviceWorker from './serviceWorker';
+import { Provider } from 'react-redux';
-ReactDOM.render(, document.getElementById('root'));
+import store from 'config/store';
+import Pages from 'components/pages';
-// If you want your app to work offline and load faster, you can change
-// unregister() to register() below. Note this comes with some pitfalls.
-// Learn more about service workers: https://bit.ly/CRA-PWA
-serviceWorker.unregister();
+import 'styles/main.scss';
+
+const App = () => (
+
+
+
+);
+
+ReactDOM.render(, document.getElementById('root'));
\ No newline at end of file
diff --git a/src/logo.svg b/src/logo.svg
deleted file mode 100644
index 6b60c1042..000000000
--- a/src/logo.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/src/modules/app/actions.js b/src/modules/app/actions.js
new file mode 100644
index 000000000..386e1460e
--- /dev/null
+++ b/src/modules/app/actions.js
@@ -0,0 +1,7 @@
+import { createAction } from 'vizzuality-redux-tools';
+
+export const setMobileView = createAction('APP/MOBILE');
+
+export default {
+ setMobileView
+};
diff --git a/src/modules/app/index.js b/src/modules/app/index.js
new file mode 100644
index 000000000..1e936b317
--- /dev/null
+++ b/src/modules/app/index.js
@@ -0,0 +1,5 @@
+import * as actions from './actions';
+import * as reducers from './reducers';
+import initialState from './initial-state';
+
+export { actions, initialState, reducers };
diff --git a/src/modules/app/initial-state.js b/src/modules/app/initial-state.js
new file mode 100644
index 000000000..39af165d9
--- /dev/null
+++ b/src/modules/app/initial-state.js
@@ -0,0 +1,5 @@
+export default {
+ mobile: {
+ mapView: false
+ }
+};
diff --git a/src/modules/app/reducers.js b/src/modules/app/reducers.js
new file mode 100644
index 000000000..bfa5e42d8
--- /dev/null
+++ b/src/modules/app/reducers.js
@@ -0,0 +1,11 @@
+import { setMobileView } from './actions';
+
+export default {
+ [setMobileView]: (state, { payload }) => ({
+ ...state,
+ mobile: {
+ ...state.mobile,
+ mapView: payload
+ }
+ })
+};
diff --git a/src/modules/dashboards/actions.js b/src/modules/dashboards/actions.js
new file mode 100644
index 000000000..51db5a306
--- /dev/null
+++ b/src/modules/dashboards/actions.js
@@ -0,0 +1,6 @@
+import { createAction } from 'vizzuality-redux-tools';
+
+export const fetchRequested = createAction('DASHBOARDS/FETCH_REQUESTED');
+export const fetchSucceeded = createAction('DASHBOARDS/FETCH_SUCCEDED');
+export const fetchFailed = createAction('DASHBOARDS/FETCH_FAILED');
+export const fetchDashboards = createAction('DASHBOARDS/FETCH_ALL');
diff --git a/src/modules/dashboards/index.js b/src/modules/dashboards/index.js
new file mode 100644
index 000000000..b9809dcf0
--- /dev/null
+++ b/src/modules/dashboards/index.js
@@ -0,0 +1,6 @@
+import * as actions from './actions';
+import * as reducers from './reducers';
+import sagas from './sagas';
+import initialState from './initial-state';
+
+export { actions, initialState, reducers, sagas };
diff --git a/src/modules/dashboards/initial-state.js b/src/modules/dashboards/initial-state.js
new file mode 100644
index 000000000..cc06851c0
--- /dev/null
+++ b/src/modules/dashboards/initial-state.js
@@ -0,0 +1,6 @@
+export default {
+ defaults: [],
+ custom: [],
+ error: null,
+ loading: false
+};
diff --git a/src/modules/dashboards/reducers.js b/src/modules/dashboards/reducers.js
new file mode 100644
index 000000000..2ac2340c5
--- /dev/null
+++ b/src/modules/dashboards/reducers.js
@@ -0,0 +1,19 @@
+import { fetchRequested, fetchSucceeded, fetchFailed } from './actions';
+
+export default {
+ [fetchRequested]: state => ({
+ ...state,
+ isLoading: true,
+ error: null
+ }),
+ [fetchSucceeded]: (state, { payload }) => ({
+ ...state,
+ ...payload,
+ isLoading: false
+ }),
+ [fetchFailed]: (state, { payload }) => ({
+ ...state,
+ isLoading: false,
+ error: payload
+ }),
+};
diff --git a/src/modules/dashboards/sagas.js b/src/modules/dashboards/sagas.js
new file mode 100644
index 000000000..2157eccee
--- /dev/null
+++ b/src/modules/dashboards/sagas.js
@@ -0,0 +1,12 @@
+import { takeLatest, put } from 'redux-saga/effects';
+import DATA from 'config/data.json';
+import { fetchSucceeded } from './actions';
+
+function* getDashboards() {
+ const { dashboards } = DATA;
+ yield put(fetchSucceeded(dashboards));
+}
+
+export default function* dashboardsSagas() {
+ yield takeLatest('DASHBOARDS/FETCH_ALL', getDashboards);
+}
diff --git a/src/modules/dashboards/selectors.js b/src/modules/dashboards/selectors.js
new file mode 100644
index 000000000..bfda8b230
--- /dev/null
+++ b/src/modules/dashboards/selectors.js
@@ -0,0 +1,17 @@
+import { createSelector } from 'reselect';
+import { currentLocation } from 'modules/locations/selectors';
+
+const dashboards = state => state.dashboards;
+
+export const currentDashboard = createSelector(
+ [dashboards, currentLocation],
+ (_dashboards, _currentLocation) => {
+ if (!_currentLocation) return null;
+ const { defaults, custom } = _dashboards;
+ const customDashboard = custom.find(d => d.location_id === _currentLocation.id);
+ if (customDashboard) return customDashboard;
+ return defaults.find(d => d.location_type === _currentLocation.location_type);
+ }
+);
+
+export default { currentDashboard };
diff --git a/src/modules/languages/actions.js b/src/modules/languages/actions.js
new file mode 100644
index 000000000..c58ea1f65
--- /dev/null
+++ b/src/modules/languages/actions.js
@@ -0,0 +1,8 @@
+import { createAction } from 'vizzuality-redux-tools';
+
+export const fetchRequested = createAction('LANGUAGES/FETCH_REQUESTED');
+export const fetchSucceeded = createAction('LANGUAGES/FETCH_SUCCEDED');
+export const fetchFailed = createAction('LANGUAGES/FETCH_FAILED');
+export const fetchLanguages = createAction('LANGUAGES/GET_ALL');
+
+export const setCurrentLanguage = createAction('LANGUAGES/SET_CURRENT');
diff --git a/src/modules/languages/index.js b/src/modules/languages/index.js
new file mode 100644
index 000000000..b9809dcf0
--- /dev/null
+++ b/src/modules/languages/index.js
@@ -0,0 +1,6 @@
+import * as actions from './actions';
+import * as reducers from './reducers';
+import sagas from './sagas';
+import initialState from './initial-state';
+
+export { actions, initialState, reducers, sagas };
diff --git a/src/modules/languages/initial-state.js b/src/modules/languages/initial-state.js
new file mode 100644
index 000000000..89e5119fa
--- /dev/null
+++ b/src/modules/languages/initial-state.js
@@ -0,0 +1,6 @@
+export default {
+ list: [],
+ current: 'en_US',
+ error: null,
+ isLoading: false,
+};
diff --git a/src/modules/languages/reducers.js b/src/modules/languages/reducers.js
new file mode 100644
index 000000000..ac3c3e85d
--- /dev/null
+++ b/src/modules/languages/reducers.js
@@ -0,0 +1,23 @@
+import { fetchRequested, fetchSucceeded, fetchFailed, setCurrentLanguage } from './actions';
+
+export default {
+ [fetchRequested]: state => ({
+ ...state,
+ isLoading: true,
+ error: null
+ }),
+ [fetchSucceeded]: (state, { payload }) => ({
+ ...state,
+ isLoading: false,
+ list: payload
+ }),
+ [fetchFailed]: (state, { payload }) => ({
+ ...state,
+ isLoading: false,
+ error: payload
+ }),
+ [setCurrentLanguage]: (state, { payload }) => ({
+ ...state,
+ current: payload,
+ })
+};
diff --git a/src/modules/languages/sagas.js b/src/modules/languages/sagas.js
new file mode 100644
index 000000000..25318e28b
--- /dev/null
+++ b/src/modules/languages/sagas.js
@@ -0,0 +1,26 @@
+import { takeLatest, put, call } from 'redux-saga/effects';
+import { fetchRequested, fetchSucceeded, fetchFailed } from './actions';
+
+const getAllLanguages = () => {
+ const { Transifex } = window;
+
+ return new Promise((resolve, reject) => {
+ Transifex.live.onError(err => reject(err));
+ Transifex.live.onFetchLanguages(languages => resolve(languages));
+ Transifex.live.getAllLanguages();
+ });
+};
+
+function* getLanguages() {
+ yield put(fetchRequested());
+ try {
+ const languages = yield call(getAllLanguages);
+ yield put(fetchSucceeded(languages));
+ } catch (err) {
+ yield put(fetchFailed(err));
+ }
+}
+
+export default function* languagesSagas() {
+ yield takeLatest('LANGUAGES/GET_ALL', getLanguages);
+}
diff --git a/src/modules/layers/actions.js b/src/modules/layers/actions.js
new file mode 100644
index 000000000..c88926159
--- /dev/null
+++ b/src/modules/layers/actions.js
@@ -0,0 +1,9 @@
+import { createAction } from 'vizzuality-redux-tools';
+
+export const fetchRequested = createAction('LAYERS/FETCH_REQUESTED');
+export const fetchSucceeded = createAction('LAYERS/FETCH_SUCCEDED');
+export const fetchFailed = createAction('LAYERS/FETCH_FAILED');
+export const fetchLayers = createAction('LAYERS/FETCH_ALL');
+export const toggleCollapse = createAction('LAYERS/TOGGLE_COLLAPSE');
+
+export const toggleActive = createAction('LAYERS/TOGGLE_ACTIVE');
diff --git a/src/modules/layers/index.js b/src/modules/layers/index.js
new file mode 100644
index 000000000..b9809dcf0
--- /dev/null
+++ b/src/modules/layers/index.js
@@ -0,0 +1,6 @@
+import * as actions from './actions';
+import * as reducers from './reducers';
+import sagas from './sagas';
+import initialState from './initial-state';
+
+export { actions, initialState, reducers, sagas };
diff --git a/src/modules/layers/initial-state.js b/src/modules/layers/initial-state.js
new file mode 100644
index 000000000..42fea2034
--- /dev/null
+++ b/src/modules/layers/initial-state.js
@@ -0,0 +1,6 @@
+export default {
+ list: [],
+ isLoading: false,
+ error: null,
+ isCollapsed: true
+};
diff --git a/src/modules/layers/reducers.js b/src/modules/layers/reducers.js
new file mode 100644
index 000000000..7ea0f4a88
--- /dev/null
+++ b/src/modules/layers/reducers.js
@@ -0,0 +1,34 @@
+import { fetchRequested,
+ fetchSucceeded,
+ fetchFailed,
+ toggleActive,
+ toggleCollapse } from './actions';
+
+export default {
+ [fetchRequested]: state => ({
+ ...state,
+ isLoading: true,
+ error: null
+ }),
+ [fetchSucceeded]: (state, { payload }) => ({
+ ...state,
+ isLoading: false,
+ list: payload
+ }),
+ [fetchFailed]: (state, { payload }) => ({
+ ...state,
+ isLoading: false,
+ error: payload
+ }),
+ [toggleCollapse]: (state, { payload }) => ({
+ ...state,
+ isCollapsed: payload,
+ }),
+ [toggleActive]: (state, { payload }) => ({
+ ...state,
+ list: state.list.map((item) => {
+ if (item.id !== payload.id) return item;
+ return ({ ...item, isActive: payload.isActive });
+ })
+ })
+};
diff --git a/src/modules/layers/sagas.js b/src/modules/layers/sagas.js
new file mode 100644
index 000000000..dd005ef22
--- /dev/null
+++ b/src/modules/layers/sagas.js
@@ -0,0 +1,17 @@
+import { takeLatest, put } from 'redux-saga/effects';
+import DATA from 'config/data.json';
+import { fetchSucceeded, toggleActive } from './actions';
+
+export function* toggleActiveLayer({ payload }) {
+ yield put(toggleActive({ id: payload.layerId, isActive: payload.isActive }));
+}
+
+function* getLayers() {
+ const { layers } = DATA;
+ yield put(fetchSucceeded(layers));
+}
+
+export default function* layersSagas() {
+ yield takeLatest('WIDGET/TOGGLE_ACTIVE', toggleActiveLayer);
+ yield takeLatest('LAYERS/FETCH_ALL', getLayers);
+}
diff --git a/src/modules/layers/selectors.js b/src/modules/layers/selectors.js
new file mode 100644
index 000000000..4050546a4
--- /dev/null
+++ b/src/modules/layers/selectors.js
@@ -0,0 +1,17 @@
+import { createSelector } from 'reselect';
+import orderBy from 'lodash/orderBy';
+
+const layers = state => state.layers.list;
+
+export const activeLayers = createSelector(
+ [layers],
+ _layers => orderBy(_layers.filter(layer => layer.isActive), l => l.weight)
+);
+
+/**
+ * Legend should show the against of active layers
+ */
+export const activeLayersForLegend = createSelector(
+ [layers],
+ _layers => orderBy(_layers.filter(layer => layer.isActive), l => -l.weight)
+);
diff --git a/src/modules/locations/actions.js b/src/modules/locations/actions.js
new file mode 100644
index 000000000..d706f47eb
--- /dev/null
+++ b/src/modules/locations/actions.js
@@ -0,0 +1,10 @@
+import { createAction } from 'vizzuality-redux-tools';
+
+export const fetchRequested = createAction('LOCATIONS/FETCH_REQUESTED');
+export const fetchSucceeded = createAction('LOCATIONS/FETCH_SUCCEDED');
+export const fetchFailed = createAction('LOCATIONS/FETCH_FAILED');
+export const fetchLocations = createAction('LOCATIONS/FETCH_ALL');
+
+export const setCurrent = createAction('LOCATIONS/SET_CURRENT');
+export const openSearchPanel = createAction('LOCATIONS/OPEN_PANEL');
+export const closeSearchPanel = createAction('LOCATIONS/CLOSE_PANEL');
diff --git a/src/modules/locations/index.js b/src/modules/locations/index.js
new file mode 100644
index 000000000..b9809dcf0
--- /dev/null
+++ b/src/modules/locations/index.js
@@ -0,0 +1,6 @@
+import * as actions from './actions';
+import * as reducers from './reducers';
+import sagas from './sagas';
+import initialState from './initial-state';
+
+export { actions, initialState, reducers, sagas };
diff --git a/src/modules/locations/initial-state.js b/src/modules/locations/initial-state.js
new file mode 100644
index 000000000..bc76ce7ea
--- /dev/null
+++ b/src/modules/locations/initial-state.js
@@ -0,0 +1,8 @@
+export default {
+ isOpened: false,
+ current: null,
+ list: [],
+ metadata: null,
+ isLoading: false,
+ error: null
+};
diff --git a/src/modules/locations/reducers.js b/src/modules/locations/reducers.js
new file mode 100644
index 000000000..b9722ac2c
--- /dev/null
+++ b/src/modules/locations/reducers.js
@@ -0,0 +1,29 @@
+import {
+ fetchRequested, fetchSucceeded, fetchFailed,
+ setCurrent, openSearchPanel, closeSearchPanel
+} from './actions';
+
+export default {
+ [fetchRequested]: state => ({
+ ...state,
+ isLoading: true,
+ error: null
+ }),
+ [fetchSucceeded]: (state, { payload }) => ({
+ ...state,
+ isLoading: false,
+ list: payload.data,
+ metadata: payload.meta
+ }),
+ [fetchFailed]: (state, { payload }) => ({
+ ...state,
+ isLoading: false,
+ error: payload
+ }),
+ [setCurrent]: (state, { payload }) => ({
+ ...state,
+ current: payload
+ }),
+ [openSearchPanel]: state => ({ ...state, isOpened: true }),
+ [closeSearchPanel]: state => ({ ...state, isOpened: false }),
+};
diff --git a/src/modules/locations/sagas.js b/src/modules/locations/sagas.js
new file mode 100644
index 000000000..bcbfcf34f
--- /dev/null
+++ b/src/modules/locations/sagas.js
@@ -0,0 +1,19 @@
+import { takeLatest, put, call } from 'redux-saga/effects';
+import APIService from 'services/api-service';
+import { fetchRequested, fetchSucceeded, fetchFailed } from './actions';
+
+const service = new APIService();
+
+function* getLocations() {
+ yield put(fetchRequested());
+ try {
+ const locations = yield call(service.fetchLocations);
+ yield put(fetchSucceeded(locations));
+ } catch (err) {
+ yield put(fetchFailed(err));
+ }
+}
+
+export default function* locationsSagas() {
+ yield takeLatest('LOCATIONS/FETCH_ALL', getLocations);
+}
diff --git a/src/modules/locations/selectors.js b/src/modules/locations/selectors.js
new file mode 100644
index 000000000..9ed0ef0a2
--- /dev/null
+++ b/src/modules/locations/selectors.js
@@ -0,0 +1,35 @@
+import { createSelector } from 'reselect';
+// import sumBy from 'lodash/sumBy';
+
+const locations = state => state.locations.list;
+const currentLocationId = state => state.locations.current;
+
+const RUFIJI_ID = 1;
+const SALOUM_ID = 2;
+const PLACES = [RUFIJI_ID, SALOUM_ID];
+
+export const highlightedPlaces = createSelector(
+ [locations],
+ (_locations) => _locations.filter(location => PLACES.includes(location.id))
+);
+
+export const currentLocation = createSelector(
+ [locations, currentLocationId],
+ (_locations, _currentId) => {
+ if (!_currentId) return null;
+
+ let result;
+
+ if (_currentId.id === 'worldwide') {
+ result = _locations.find(location => location.location_type === 'worldwide');
+ } else if (_currentId.iso) {
+ result = _locations.find(location => location.iso === _currentId.iso && location.location_type === 'country');
+ } else if (_currentId.id) {
+ result = _locations.find(location => location.id === Number(_currentId.id));
+ }
+
+ if (!result) return null;
+
+ return { ...result };
+ }
+);
diff --git a/src/modules/mangrove-data/actions.js b/src/modules/mangrove-data/actions.js
new file mode 100644
index 000000000..6e68740f9
--- /dev/null
+++ b/src/modules/mangrove-data/actions.js
@@ -0,0 +1,6 @@
+import { createAction } from 'vizzuality-redux-tools';
+
+export const fetchRequested = createAction('MANGROVE_DATA/FETCH_REQUESTED');
+export const fetchSucceeded = createAction('MANGROVE_DATA/FETCH_SUCCEDED');
+export const fetchFailed = createAction('MANGROVE_DATA/FETCH_FAILED');
+export const fetchMangroveData = createAction('MANGROVE_DATA/FETCH_ALL');
diff --git a/src/modules/mangrove-data/index.js b/src/modules/mangrove-data/index.js
new file mode 100644
index 000000000..b9809dcf0
--- /dev/null
+++ b/src/modules/mangrove-data/index.js
@@ -0,0 +1,6 @@
+import * as actions from './actions';
+import * as reducers from './reducers';
+import sagas from './sagas';
+import initialState from './initial-state';
+
+export { actions, initialState, reducers, sagas };
diff --git a/src/modules/mangrove-data/initial-state.js b/src/modules/mangrove-data/initial-state.js
new file mode 100644
index 000000000..3c61ea93c
--- /dev/null
+++ b/src/modules/mangrove-data/initial-state.js
@@ -0,0 +1,6 @@
+export default {
+ list: [],
+ metadata: null,
+ isLoading: false,
+ error: null
+};
diff --git a/src/modules/mangrove-data/reducers.js b/src/modules/mangrove-data/reducers.js
new file mode 100644
index 000000000..548a13ed8
--- /dev/null
+++ b/src/modules/mangrove-data/reducers.js
@@ -0,0 +1,20 @@
+import { fetchRequested, fetchSucceeded, fetchFailed } from './actions';
+
+export default {
+ [fetchRequested]: state => ({
+ ...state,
+ isLoading: true,
+ error: null
+ }),
+ [fetchSucceeded]: (state, { payload }) => ({
+ ...state,
+ isLoading: false,
+ list: payload.data,
+ metadata: payload.meta
+ }),
+ [fetchFailed]: (state, { payload }) => ({
+ ...state,
+ isLoading: false,
+ error: payload
+ }),
+};
diff --git a/src/modules/mangrove-data/sagas.js b/src/modules/mangrove-data/sagas.js
new file mode 100644
index 000000000..97522a99b
--- /dev/null
+++ b/src/modules/mangrove-data/sagas.js
@@ -0,0 +1,20 @@
+import { takeLatest, put, call } from 'redux-saga/effects';
+import APIService from 'services/api-service';
+import { fetchRequested, fetchSucceeded, fetchFailed } from './actions';
+
+const service = new APIService();
+
+function* getMangroveData({ payload }) {
+ yield put(fetchRequested());
+ try {
+ const mangroveData = yield call(service.fetchMangroveData, payload);
+ yield put(fetchSucceeded(mangroveData));
+ } catch (err) {
+ yield put(fetchFailed(err));
+ }
+}
+
+export default function* mangroveDataSagas() {
+ yield takeLatest('MANGROVE_DATA/FETCH_ALL', getMangroveData);
+ yield takeLatest('LOCATIONS/SET_CURRENT', getMangroveData);
+}
diff --git a/src/modules/mangrove-data/selectors.js b/src/modules/mangrove-data/selectors.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/modules/map-styles/actions.js b/src/modules/map-styles/actions.js
new file mode 100644
index 000000000..769b59119
--- /dev/null
+++ b/src/modules/map-styles/actions.js
@@ -0,0 +1,6 @@
+import { createAction } from 'vizzuality-redux-tools';
+
+export const fetchRequested = createAction('MAP_STYLES/FETCH_REQUESTED');
+export const fetchSucceeded = createAction('MAP_STYLES/FETCH_SUCCEDED');
+export const fetchFailed = createAction('MAP_STYLES/FETCH_FAILED');
+export const fetchMapStyles = createAction('MAP_STYLES/FETCH_ALL');
diff --git a/src/modules/map-styles/index.js b/src/modules/map-styles/index.js
new file mode 100644
index 000000000..b9809dcf0
--- /dev/null
+++ b/src/modules/map-styles/index.js
@@ -0,0 +1,6 @@
+import * as actions from './actions';
+import * as reducers from './reducers';
+import sagas from './sagas';
+import initialState from './initial-state';
+
+export { actions, initialState, reducers, sagas };
diff --git a/src/modules/map-styles/initial-state.js b/src/modules/map-styles/initial-state.js
new file mode 100644
index 000000000..7fcd35420
--- /dev/null
+++ b/src/modules/map-styles/initial-state.js
@@ -0,0 +1,5 @@
+export default {
+ basemap: null,
+ contextuals: null,
+ layers: null
+};
diff --git a/src/modules/map-styles/reducers.js b/src/modules/map-styles/reducers.js
new file mode 100644
index 000000000..579913101
--- /dev/null
+++ b/src/modules/map-styles/reducers.js
@@ -0,0 +1,27 @@
+import { fetchRequested, fetchSucceeded, fetchFailed } from './actions';
+
+export default {
+ [fetchRequested]: state => ({
+ ...state,
+ layers: {
+ isLoading: true,
+ error: null
+ }
+ }),
+ [fetchSucceeded]: (state, { payload }) => ({
+ ...state,
+ layers: {
+ ...state.layers,
+ isLoading: false,
+ mapStyle: payload
+ }
+ }),
+ [fetchFailed]: (state, { payload }) => ({
+ ...state,
+ layers: {
+ ...state.layers,
+ isLoading: false,
+ error: payload
+ }
+ })
+};
diff --git a/src/modules/map-styles/sagas.js b/src/modules/map-styles/sagas.js
new file mode 100644
index 000000000..161ee9b3f
--- /dev/null
+++ b/src/modules/map-styles/sagas.js
@@ -0,0 +1,19 @@
+import { takeLatest, put, call } from 'redux-saga/effects';
+import StyleService from 'services/style-service';
+import { fetchRequested, fetchSucceeded, fetchFailed } from './actions';
+
+const service = new StyleService({ entityName: 'layers' });
+
+function* getMapStyles() {
+ yield put(fetchRequested());
+ try {
+ const mapStyles = yield call(service.fetch);
+ yield put(fetchSucceeded(mapStyles));
+ } catch (err) {
+ yield put(fetchFailed(err));
+ }
+}
+
+export default function* mapStylesSagas() {
+ yield takeLatest('MAP_STYLES/FETCH_ALL', getMapStyles);
+}
diff --git a/src/modules/map-styles/selectors.js b/src/modules/map-styles/selectors.js
new file mode 100644
index 000000000..e82677538
--- /dev/null
+++ b/src/modules/map-styles/selectors.js
@@ -0,0 +1,34 @@
+import { createSelector } from 'reselect';
+import { activeLayers } from 'modules/layers/selectors';
+import StyleManager from './style-manager';
+
+const styleManager = new StyleManager();
+
+const mapStyles = state => state.mapStyles;
+const basemap = state => state.map.basemap;
+
+export const layerStyles = createSelector(
+ [mapStyles, activeLayers],
+ (_mapStyles, _activeLayers) => {
+ if (!_mapStyles.layers.mapStyle) return [];
+ const { layers: layersStyles } = _mapStyles.layers.mapStyle;
+ const result = [];
+ _activeLayers.forEach((activeLayer) => {
+ layersStyles
+ .filter(style => style.metadata['mapbox:group'] === activeLayer.mapboxGroup)
+ .forEach(s => result.push(s));
+ });
+ return result;
+ }
+);
+
+export const mapStyle = createSelector(
+ [basemap, layerStyles],
+ (_basemap, _layerStyles) => {
+ styleManager.basemap = _basemap;
+ styleManager.layers = _layerStyles;
+ return styleManager.mapStyle;
+ }
+);
+
+export default { mapStyle };
diff --git a/src/modules/map-styles/style-manager.js b/src/modules/map-styles/style-manager.js
new file mode 100644
index 000000000..ed9fa3f49
--- /dev/null
+++ b/src/modules/map-styles/style-manager.js
@@ -0,0 +1,54 @@
+import flatten from 'lodash/flatten';
+import mapStyles from './templates';
+
+class StyleManager {
+ default = {
+ basemap: 'light',
+ layers: []
+ };
+
+ constructor(options = {}) {
+ this.settings = {
+ basemap: options.basemap || this.default.basemap,
+ layers: options.layers || this.default.layers
+ };
+ }
+
+ composeLayers() {
+ const { basemap, layers: layersSpec } = this.settings;
+ const basemapSpec = mapStyles.basemaps[basemap];
+ const contextualsSpec = mapStyles.contextuals.map(contextual => contextual.mapStyle);
+ const result = { ...mapStyles.template };
+
+ /**
+ * Add layers in the next order:
+ * - basemaps
+ * - contextual
+ * - layers
+ */
+ result.layers = flatten([
+ ...basemapSpec,
+ ...contextualsSpec,
+ layersSpec
+ ]);
+
+ return result;
+ }
+
+ get mapStyle() {
+ return this.composeLayers();
+ }
+
+ set basemap(basemapSlug) {
+ this.settings.basemap = basemapSlug;
+ }
+
+ /**
+ * This method will and and remove layers depending on layersIds
+ */
+ set layers(layerStyles) {
+ this.settings.layers = layerStyles;
+ }
+}
+
+export default StyleManager;
diff --git a/src/modules/map-styles/templates/basemaps/dark.json b/src/modules/map-styles/templates/basemaps/dark.json
new file mode 100644
index 000000000..7e48a851c
--- /dev/null
+++ b/src/modules/map-styles/templates/basemaps/dark.json
@@ -0,0 +1,243 @@
+[
+ {
+ "id": "background",
+ "type": "background",
+ "paint": {
+ "background-color": "#030f18"
+ }
+ },
+ {
+ "id": "mapbox-terrain-rgb",
+ "type": "hillshade",
+ "source": "mapbox://mapbox.terrain-rgb",
+ "layout": {},
+ "paint": {
+ "hillshade-exaggeration": 0.4,
+ "hillshade-accent-color": "hsl(177, 0%, 0%)",
+ "hillshade-illumination-direction": 359,
+ "hillshade-highlight-color": "hsla(209, 41%, 88%, 0.6)",
+ "hillshade-shadow-color": "#081017"
+ }
+ },
+ {
+ "id": "water copy",
+ "type": "fill",
+ "source": "streets",
+ "source-layer": "water",
+ "layout": {},
+ "paint": {
+ "fill-translate": [
+ 1,
+ 1
+ ],
+ "fill-opacity": 0.1,
+ "fill-color": "hsl(0, 0%, 100%)",
+ "fill-outline-color": "hsl(0, 0%, 100%)"
+ }
+ },
+ {
+ "id": "water copy 1",
+ "type": "fill",
+ "source": "streets",
+ "source-layer": "water",
+ "layout": {},
+ "paint": {
+ "fill-translate": [
+ 0,
+ -1
+ ],
+ "fill-color": "hsl(206, 32%, 14%)"
+ }
+ },
+ {
+ "id": "water",
+ "type": "line",
+ "source": "streets",
+ "source-layer": "water",
+ "layout": {},
+ "paint": {
+ "line-opacity": 0.1
+ }
+ },
+ {
+ "id": "building",
+ "type": "fill",
+ "source": "streets",
+ "source-layer": "building",
+ "layout": {},
+ "paint": {
+ "fill-color": "hsl(0, 0%, 20%)",
+ "fill-opacity": 1,
+ "fill-outline-color": "hsla(0, 0%, 100%, 0)"
+ }
+ },
+ {
+ "id": "Country",
+ "type": "symbol",
+ "metadata": {
+ "mapbox:group": "1f4439315750c8010c95dfe168ea659a"
+ },
+ "source": "streets",
+ "source-layer": "place_label",
+ "maxzoom": 7,
+ "filter": [
+ "match",
+ [
+ "get",
+ "class"
+ ],
+ [
+ "country"
+ ],
+ true,
+ false
+ ],
+ "layout": {
+ "text-field": [
+ "to-string",
+ [
+ "get",
+ "name_en"
+ ]
+ ],
+ "text-padding": 15,
+ "text-font": [
+ "Roboto Regular",
+ "Arial Unicode MS Regular"
+ ],
+ "text-transform": "uppercase",
+ "text-letter-spacing": 0.1,
+ "text-line-height": 1,
+ "text-max-width": 5,
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 3,
+ 10,
+ 7,
+ 25
+ ]
+ },
+ "paint": {
+ "text-color": "hsl(177, 100%, 100%)",
+ "text-halo-color": "hsl(0, 0%, 1%)",
+ "text-halo-width": 0.5,
+ "text-halo-blur": 0,
+ "text-opacity": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 4,
+ 0.5,
+ 8,
+ 0
+ ]
+ }
+ },
+ {
+ "id": "State",
+ "type": "symbol",
+ "metadata": {
+ "mapbox:group": "1f4439315750c8010c95dfe168ea659a"
+ },
+ "source": "streets",
+ "source-layer": "place_label",
+ "minzoom": 4,
+ "maxzoom": 8,
+ "filter": [
+ "match",
+ [
+ "get",
+ "class"
+ ],
+ [
+ "state"
+ ],
+ true,
+ false
+ ],
+ "layout": {
+ "text-field": [
+ "to-string",
+ [
+ "get",
+ "name_en"
+ ]
+ ],
+ "text-padding": 15,
+ "text-font": [
+ "Roboto Regular",
+ "Arial Unicode MS Regular"
+ ],
+ "text-transform": "uppercase",
+ "text-letter-spacing": 0.1,
+ "text-line-height": 1,
+ "text-max-width": 5,
+ "text-size": 10
+ },
+ "paint": {
+ "text-color": "hsl(177, 100%, 100%)",
+ "text-halo-color": "hsl(0, 0%, 1%)",
+ "text-halo-width": 0.5,
+ "text-halo-blur": 0,
+ "text-opacity": 0.5
+ }
+ },
+ {
+ "id": "Settlement",
+ "type": "symbol",
+ "metadata": {
+ "mapbox:group": "1f4439315750c8010c95dfe168ea659a"
+ },
+ "source": "streets",
+ "source-layer": "place_label",
+ "minzoom": 6,
+ "filter": [
+ "match",
+ [
+ "get",
+ "class"
+ ],
+ [
+ "settlement"
+ ],
+ true,
+ false
+ ],
+ "layout": {
+ "text-field": [
+ "to-string",
+ [
+ "get",
+ "name_en"
+ ]
+ ],
+ "text-padding": 15,
+ "text-font": [
+ "Roboto Regular",
+ "Arial Unicode MS Regular"
+ ],
+ "text-transform": "uppercase",
+ "text-letter-spacing": 0.1,
+ "text-line-height": 1,
+ "text-max-width": 5,
+ "text-size": 10
+ },
+ "paint": {
+ "text-color": "hsl(177, 100%, 100%)",
+ "text-halo-color": "hsl(0, 0%, 1%)",
+ "text-halo-width": 0.5,
+ "text-halo-blur": 0,
+ "text-opacity": 0.5
+ }
+ }
+]
diff --git a/src/modules/map-styles/templates/basemaps/light.json b/src/modules/map-styles/templates/basemaps/light.json
new file mode 100644
index 000000000..6f97c1bd9
--- /dev/null
+++ b/src/modules/map-styles/templates/basemaps/light.json
@@ -0,0 +1,281 @@
+[
+ {
+ "id": "background",
+ "type": "background",
+ "paint": {
+ "background-color": "hsl(0, 0%, 100%)"
+ }
+ },
+ {
+ "id": "mapbox-terrain-rgb",
+ "type": "hillshade",
+ "source": "mapbox://mapbox.terrain-rgb",
+ "layout": {},
+ "paint": {
+ "hillshade-exaggeration": 0.15
+ }
+ },
+ {
+ "id": "water copy",
+ "type": "fill",
+ "source": "streets",
+ "source-layer": "water",
+ "layout": {},
+ "paint": {
+ "fill-translate": [
+ 0,
+ -1
+ ],
+ "fill-opacity": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 8,
+ 0.1,
+ 10,
+ 0
+ ]
+ }
+ },
+ {
+ "id": "water copy 1",
+ "type": "fill",
+ "source": "streets",
+ "source-layer": "water",
+ "layout": {},
+ "paint": {
+ "fill-color": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 8,
+ "hsl(0, 0%, 98%)",
+ 13,
+ "#b3dcea"
+ ],
+ "fill-outline-color": "hsl(0, 0%, 100%)",
+ "fill-translate": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 8,
+ [
+ "literal",
+ [
+ 0,
+ 1
+ ]
+ ],
+ 10,
+ [
+ "literal",
+ [
+ 0,
+ 0
+ ]
+ ]
+ ]
+ }
+ },
+ {
+ "id": "water",
+ "type": "line",
+ "source": "streets",
+ "source-layer": "water",
+ "layout": {},
+ "paint": {
+ "line-opacity": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 8,
+ 0.1,
+ 13,
+ 0
+ ]
+ }
+ },
+ {
+ "id": "building",
+ "type": "fill",
+ "source": "streets",
+ "source-layer": "building",
+ "layout": {},
+ "paint": {
+ "fill-color": "hsla(0, 0%, 0%, 0.1)"
+ }
+ },
+ {
+ "id": "Country",
+ "type": "symbol",
+ "metadata": {
+ "mapbox:group": "dd32c6316827bba06b7fa40b8cc299bd"
+ },
+ "source": "streets",
+ "source-layer": "place_label",
+ "maxzoom": 7,
+ "filter": [
+ "match",
+ [
+ "get",
+ "class"
+ ],
+ [
+ "country"
+ ],
+ true,
+ false
+ ],
+ "layout": {
+ "text-field": [
+ "to-string",
+ [
+ "get",
+ "name_en"
+ ]
+ ],
+ "text-font": [
+ "Roboto Regular",
+ "Arial Unicode MS Regular"
+ ],
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 3,
+ 10,
+ 7,
+ 25
+ ],
+ "text-letter-spacing": 0.1,
+ "text-line-height": 1,
+ "text-max-width": 5,
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-opacity": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 4,
+ 0.5,
+ 8,
+ 0
+ ],
+ "text-halo-width": 0.5
+ }
+ },
+ {
+ "id": "State",
+ "type": "symbol",
+ "metadata": {
+ "mapbox:group": "dd32c6316827bba06b7fa40b8cc299bd"
+ },
+ "source": "streets",
+ "source-layer": "place_label",
+ "minzoom": 4,
+ "maxzoom": 8,
+ "filter": [
+ "match",
+ [
+ "get",
+ "class"
+ ],
+ [
+ "state"
+ ],
+ true,
+ false
+ ],
+ "layout": {
+ "text-field": [
+ "to-string",
+ [
+ "get",
+ "name_en"
+ ]
+ ],
+ "text-font": [
+ "Roboto Regular",
+ "Arial Unicode MS Regular"
+ ],
+ "text-size": 10,
+ "text-letter-spacing": 0.1,
+ "text-line-height": 1,
+ "text-max-width": 5,
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-opacity": 0.5,
+ "text-halo-width": 0.5
+ }
+ },
+ {
+ "id": "Settlement",
+ "type": "symbol",
+ "metadata": {
+ "mapbox:group": "dd32c6316827bba06b7fa40b8cc299bd"
+ },
+ "source": "streets",
+ "source-layer": "place_label",
+ "minzoom": 6,
+ "filter": [
+ "match",
+ [
+ "get",
+ "class"
+ ],
+ [
+ "settlement"
+ ],
+ true,
+ false
+ ],
+ "layout": {
+ "text-field": [
+ "to-string",
+ [
+ "get",
+ "name_en"
+ ]
+ ],
+ "text-font": [
+ "Roboto Regular",
+ "Arial Unicode MS Regular"
+ ],
+ "text-size": 10,
+ "text-letter-spacing": 0.1,
+ "text-line-height": 1,
+ "text-max-width": 5,
+ "text-transform": "uppercase"
+ },
+ "paint": {
+ "text-opacity": 0.5,
+ "text-halo-width": 0.5
+ }
+ }
+]
diff --git a/src/modules/map-styles/templates/basemaps/satellite.json b/src/modules/map-styles/templates/basemaps/satellite.json
new file mode 100644
index 000000000..7a9341d6d
--- /dev/null
+++ b/src/modules/map-styles/templates/basemaps/satellite.json
@@ -0,0 +1,15 @@
+[
+ {
+ "id": "background",
+ "type": "background",
+ "paint": {
+ "background-color": "rgb(4,7,14)"
+ }
+ },
+ {
+ "id": "satellite",
+ "type": "raster",
+ "source": "mapbox://mapbox.satellite",
+ "source-layer": "mapbox_satellite_full"
+ }
+]
diff --git a/src/modules/map-styles/templates/contextuals/countries.json b/src/modules/map-styles/templates/contextuals/countries.json
new file mode 100644
index 000000000..6d971ef69
--- /dev/null
+++ b/src/modules/map-styles/templates/contextuals/countries.json
@@ -0,0 +1,41 @@
+[
+ {
+ "id": "selected-eez-land-v2-201410 copy",
+ "type": "line",
+ "metadata": {
+ "mapbox:group": "c8ed86ce2aa267b2ff4ffd4a98a3b79c"
+ },
+ "source": "composite",
+ "source-layer": "selected_EEZ_land_v2_201410",
+ "layout": {},
+ "paint": {
+ "line-color": "hsl(177, 29%, 76%)"
+ }
+ },
+ {
+ "id": "selected-eez-land-v2-201410",
+ "type": "fill",
+ "metadata": {
+ "mapbox:group": "c8ed86ce2aa267b2ff4ffd4a98a3b79c"
+ },
+ "source": "composite",
+ "source-layer": "selected_EEZ_land_v2_201410",
+ "layout": {},
+ "paint": {
+ "fill-color": "hsla(177, 53%, 50%, 0.1)",
+ "fill-opacity": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 0,
+ 1,
+ 8,
+ 0
+ ]
+ }
+ }
+]
diff --git a/src/modules/map-styles/templates/contextuals/wdpa.json b/src/modules/map-styles/templates/contextuals/wdpa.json
new file mode 100644
index 000000000..99da2e2a9
--- /dev/null
+++ b/src/modules/map-styles/templates/contextuals/wdpa.json
@@ -0,0 +1,67 @@
+[
+ {
+ "id": "selected-wdpa-polygons",
+ "type": "fill",
+ "source": "composite",
+ "source-layer": "selected_WDPA_polygons",
+ "layout": {},
+ "paint": {
+ "fill-color": "#286ce2",
+ "fill-outline-color": "hsla(0, 0%, 0%, 0)",
+ "fill-opacity": 0.1
+ }
+ },
+ {
+ "id": "selected-wdpa-polygons copy",
+ "type": "line",
+ "source": "composite",
+ "source-layer": "selected_WDPA_polygons",
+ "layout": {},
+ "paint": {
+ "line-color": "#286ce2",
+ "line-opacity": 0.3
+ }
+ },
+ {
+ "id": "selected-wdpa-polygons copy 1",
+ "type": "symbol",
+ "metadata": {
+ "mapbox:group": "1f4439315750c8010c95dfe168ea659a"
+ },
+ "source": "composite",
+ "source-layer": "selected_WDPA_polygons",
+ "layout": {
+ "text-field": [
+ "to-string",
+ [
+ "get",
+ "NAME"
+ ]
+ ],
+ "text-size": 10,
+ "text-letter-spacing": 0.1,
+ "text-line-height": 1,
+ "text-max-width": 5,
+ "symbol-placement": "line"
+ },
+ "paint": {
+ "text-color": "hsl(218, 76%, 61%)",
+ "text-halo-color": "hsla(0, 0%, 1%, 0.45)",
+ "text-halo-width": 0.5,
+ "text-halo-blur": 0,
+ "text-opacity": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 6,
+ 0,
+ 7,
+ 1
+ ]
+ }
+ }
+]
diff --git a/src/modules/map-styles/templates/index.js b/src/modules/map-styles/templates/index.js
new file mode 100644
index 000000000..187aab5ee
--- /dev/null
+++ b/src/modules/map-styles/templates/index.js
@@ -0,0 +1,19 @@
+import template from './template.json';
+import light from './basemaps/light.json';
+import dark from './basemaps/dark.json';
+import satellite from './basemaps/satellite.json';
+import wdpa from './contextuals/wdpa.json';
+import countries from './contextuals/countries.json';
+
+export default {
+ template,
+ basemaps: {
+ light,
+ dark,
+ satellite
+ },
+ contextuals: [
+ { id: 'wpa', mapStyle: wdpa },
+ { id: 'countries', mapStyle: countries }
+ ]
+};
diff --git a/src/modules/map-styles/templates/template.json b/src/modules/map-styles/templates/template.json
new file mode 100644
index 000000000..d3d32a921
--- /dev/null
+++ b/src/modules/map-styles/templates/template.json
@@ -0,0 +1,57 @@
+{
+ "version": 8,
+ "name": "Mangrove canvas",
+ "metadata": {
+ "mapbox:autocomposite": true,
+ "mapbox:type": "template",
+ "mapbox:sdk-support": {
+ "js": "0.50.0",
+ "android": "6.7.0",
+ "ios": "4.6.0"
+ },
+ "mapbox:trackposition": true,
+ "mapbox:groups": {
+ "ddb057e964a581d45d89735ba23f5ba6": {"name": "gain"},
+ "07c14de52165978354b99fda5fbcdadb": {"name": "extent"},
+ "8d19b1e5fb62fe54f39837b411e782c1": {"name": "wdpa"},
+ "a21f3561678fd383069b2a49d076387d": {"name": "countries"},
+ "84284e0aab770699fa0ac998b822aa4f": {"name": "loss"}
+ }
+ },
+ "center": [
+ 12.919984505377897,
+ -1.5516172387923746
+ ],
+ "zoom": 4.257260840459021,
+ "bearing": 0.37168233499323833,
+ "pitch": 0,
+ "sources": {
+ "mapbox://mapbox.satellite": {
+ "url": "mapbox://mapbox.satellite",
+ "type": "raster",
+ "tileSize": 256
+ },
+ "mapbox://mapbox.terrain-rgb": {
+ "url": "mapbox://mapbox.terrain-rgb",
+ "type": "raster-dem",
+ "tileSize": 256
+ },
+ "streets": {
+ "url": "mapbox://mapbox.mapbox-streets-v8",
+ "type": "vector"
+ },
+ "composite": {
+ "url": "mapbox://mangrove-atlas.selected_WDPA_polygons,mangrove-atlas.GMW_1996_v2,mangrove-atlas.ch30nit0,mangrove-atlas.69m84vyg,mangrove-atlas.selected_EEZ_land_v2_201410,mangrove-atlas.2u7mh73o,mangrove-atlas.c93ps33f,mangrove-atlas.8le67zrt,mangrove-atlas.GMW_2015_v2,mangrove-atlas.df6mdkbu,mangrove-atlas.2dnas3nh,mangrove-atlas.0fgxl2g8,mangrove-atlas.b6vq2fz4,mangrove-atlas.8x8jvu3a,mangrove-atlas.3hofvcl5",
+ "type": "vector"
+ }
+ },
+ "sprite": "mapbox://sprites/mangrove-atlas/cjx4ikse805an1co712z98lel/95q41f91c3ead18lh93952y85",
+ "glyphs": "mapbox://fonts/mangrove-atlas/{fontstack}/{range}.pbf",
+ "layers": [],
+ "created": "2019-06-19T09:39:40.309Z",
+ "id": "cjx31p0n50nv51cnj5538pyyt",
+ "modified": "2019-06-19T13:11:14.850Z",
+ "owner": "mangrove-atlas",
+ "visibility": "private",
+ "draft": false
+}
diff --git a/src/modules/map/actions.js b/src/modules/map/actions.js
new file mode 100644
index 000000000..16c5f47a1
--- /dev/null
+++ b/src/modules/map/actions.js
@@ -0,0 +1,5 @@
+import { createAction } from 'vizzuality-redux-tools';
+
+export const resetViewport = createAction('MAP/RESET_VIEWPORT');
+export const setViewport = createAction('MAP/SET_VIEWPORT');
+export const setBasemap = createAction('MAP/SET_BASEMAP');
diff --git a/src/modules/map/index.js b/src/modules/map/index.js
new file mode 100644
index 000000000..ebd5b4e32
--- /dev/null
+++ b/src/modules/map/index.js
@@ -0,0 +1,34 @@
+import * as actions from './actions';
+import * as reducers from './reducers';
+import initialState from './initial-state';
+import sagas, { restoreMapState } from './sagas';
+
+import queryState from 'utils/query-state';
+
+/**
+ * queryState.add register the namespace for url to state actions.
+ * The name property will become the query param.
+ * It is suppossed to be semantic:
+ *
+ * For namespace 'map'
+ * encode selector
+ * after any of these actions are triggered.
+ *
+ * For namespace 'map'
+ * decode trigger
+ * after all of these actions have happened.
+*/
+queryState.add({
+ name: 'map',
+ encode: {
+ after: [
+ actions.setBasemap,
+ ],
+ selector: state => ({ basemap: state.map.basemap })
+ },
+ decode: {
+ trigger: restoreMapState
+ }
+});
+
+export { actions, initialState, reducers, sagas };
diff --git a/src/modules/map/initial-state.js b/src/modules/map/initial-state.js
new file mode 100644
index 000000000..73f2e397b
--- /dev/null
+++ b/src/modules/map/initial-state.js
@@ -0,0 +1,12 @@
+export default {
+ basemap: 'light',
+ viewport: {
+ width: '100%',
+ height: '100%',
+ zoom: 2,
+ minZoom: 2,
+ latitude: 20,
+ longitude: 0,
+ },
+ display: true
+};
diff --git a/src/modules/map/reducers.js b/src/modules/map/reducers.js
new file mode 100644
index 000000000..df8b7fc20
--- /dev/null
+++ b/src/modules/map/reducers.js
@@ -0,0 +1,24 @@
+import * as actions from './actions';
+import initialState from './initial-state';
+
+const { viewport } = initialState;
+
+export default {
+ [actions.resetViewport]: state => ({
+ ...state,
+ viewport: {
+ ...state.viewport,
+ longitude: viewport.longitude,
+ latitude: viewport.latitude,
+ zoom: viewport.zoom
+ }
+ }),
+ [actions.setViewport]: (state, { payload }) => ({
+ ...state,
+ viewport: payload
+ }),
+ [actions.setBasemap]: (state, { payload }) => ({
+ ...state,
+ basemap: payload
+ })
+};
diff --git a/src/modules/map/sagas.js b/src/modules/map/sagas.js
new file mode 100644
index 000000000..7f58dc415
--- /dev/null
+++ b/src/modules/map/sagas.js
@@ -0,0 +1,56 @@
+import { takeLatest, put, select } from 'redux-saga/effects';
+import { FlyToInterpolator } from 'react-map-gl';
+import WebMercatorViewport from 'viewport-mercator-project';
+import bbox from '@turf/bbox';
+import { currentLocation } from 'modules/locations/selectors';
+import { easeCubic } from 'd3-ease';
+import { resetViewport, setViewport, setBasemap } from './actions';
+
+function* flyToCurrentLocation() {
+ const state = yield select();
+ const location = currentLocation(state);
+
+ if (location) {
+ if (location.location_type === 'worldwide') {
+ yield put(resetViewport());
+ } else {
+ const bounds = bbox(location.bounds);
+ const { longitude, latitude, zoom } = new WebMercatorViewport(state.map.viewport)
+ .fitBounds([[bounds[0], bounds[1]], [bounds[2], bounds[3]]], {
+ padding: { top: 50, bottom: 50, right: 20, left: 620 }
+ });
+
+ const viewport = {
+ ...state.map.viewport,
+ longitude,
+ latitude,
+ zoom,
+ transitionDuration: 3000,
+ transitionInterpolator: new FlyToInterpolator(),
+ transitionEasing: easeCubic
+ };
+ yield put(setViewport(viewport));
+ }
+ }
+}
+
+// Part of query state, not normal flow.
+// View ./index.js queryState.add for more info.
+export function * restoreMapState() {
+ /**
+ * A regular selector, it could be on a selectors file with reselect
+ * or better yet, be created automatically by the package based on registered namespace info.
+ */
+ const basemapSelector = state => (state.router.query
+ && state.router.query.map
+ && state.router.query.map.basemap) || null;
+ const basemap = yield select(basemapSelector);
+ if (basemap) {
+ yield(put(setBasemap(basemap)));
+ }
+}
+
+export default function* pages() {
+ yield takeLatest('LOCATIONS/FETCH_SUCCEDED', flyToCurrentLocation);
+ yield takeLatest('LOCATIONS/SET_CURRENT', flyToCurrentLocation);
+}
diff --git a/src/modules/pages/actions.js b/src/modules/pages/actions.js
new file mode 100644
index 000000000..9a218e5d4
--- /dev/null
+++ b/src/modules/pages/actions.js
@@ -0,0 +1,12 @@
+import { createAction } from 'vizzuality-redux-tools';
+
+import pages from './constants';
+
+export const pageActions = pages.reduce(
+ (acc, page) => ({ ...acc, [page.name]: createAction(`${page.name}`) }),
+ {}
+);
+
+export default { pageActions };
+
+export const setHeader = createAction('PAGE/HEADER');
diff --git a/src/modules/pages/constants.js b/src/modules/pages/constants.js
new file mode 100644
index 000000000..f85c458af
--- /dev/null
+++ b/src/modules/pages/constants.js
@@ -0,0 +1,31 @@
+import { NOT_FOUND } from 'redux-first-router';
+
+export const PAGES = [
+ {
+ name: 'PAGE/APP',
+ path: '/',
+ page: 'app',
+ },
+ {
+ name: 'PAGE/COUNTRY',
+ path: '/country/:iso',
+ page: 'app',
+ },
+ {
+ name: 'PAGE/AOI',
+ path: '/area-of-interest/:id',
+ page: 'app',
+ },
+ {
+ name: 'PAGE/WDPA',
+ path: '/protected-area/:id',
+ page: 'app',
+ },
+ {
+ name: NOT_FOUND,
+ path: '/404',
+ page: 'not-found'
+ }
+];
+
+export default PAGES;
diff --git a/src/modules/pages/index.js b/src/modules/pages/index.js
new file mode 100644
index 000000000..b9809dcf0
--- /dev/null
+++ b/src/modules/pages/index.js
@@ -0,0 +1,6 @@
+import * as actions from './actions';
+import * as reducers from './reducers';
+import sagas from './sagas';
+import initialState from './initial-state';
+
+export { actions, initialState, reducers, sagas };
diff --git a/src/modules/pages/initial-state.js b/src/modules/pages/initial-state.js
new file mode 100644
index 000000000..6ddc48775
--- /dev/null
+++ b/src/modules/pages/initial-state.js
@@ -0,0 +1,3 @@
+export default {
+ current: 'APP',
+};
diff --git a/src/modules/pages/reducers.js b/src/modules/pages/reducers.js
new file mode 100644
index 000000000..6183f072d
--- /dev/null
+++ b/src/modules/pages/reducers.js
@@ -0,0 +1,10 @@
+import { pageActions } from './actions';
+
+const setPageReducer = key => (state, { payload }) => ({ ...state, current: key, payload });
+
+const reducerMap = Object.keys(pageActions).reduce(
+ (acc, key) => ({ ...acc, [key]: setPageReducer(key) }),
+ {}
+);
+
+export default reducerMap;
diff --git a/src/modules/pages/sagas.js b/src/modules/pages/sagas.js
new file mode 100644
index 000000000..b79b2a10b
--- /dev/null
+++ b/src/modules/pages/sagas.js
@@ -0,0 +1,39 @@
+import { takeLatest, put, select } from 'redux-saga/effects';
+import { fetchLocations, closeSearchPanel, setCurrent } from 'modules/locations/actions';
+import { fetchDashboards } from 'modules/dashboards/actions';
+import { fetchWidgets } from 'modules/widgets/actions';
+import { fetchLayers } from 'modules/layers/actions';
+import { fetchMapStyles } from 'modules/map-styles/actions';
+import { fetchLanguages } from 'modules/languages/actions';
+import { fetchMangroveData } from 'modules/mangrove-data/actions';
+
+function* loadInitialData({ payload }) {
+ const {
+ locations, dashboards, widgets, layers,
+ mapStyles, languages, mangroveData
+ } = yield select();
+ if (!locations.list.length) yield put(fetchLocations());
+ if (!dashboards.defaults.length) yield put(fetchDashboards());
+ if (!widgets.list.length) yield put(fetchWidgets());
+ if (!layers.list.length) yield put(fetchLayers());
+ if (!mapStyles.layers) yield put(fetchMapStyles());
+ if (!languages.list.length) yield put(fetchLanguages());
+ if (!mangroveData.list.length) yield put(fetchMangroveData());
+ yield put(closeSearchPanel());
+
+ /**
+ * Set current location
+ */
+ if (payload.id || payload.iso) {
+ yield put(setCurrent({ ...payload }));
+ } else {
+ yield put(setCurrent({ id: 'worldwide' }));
+ }
+}
+
+export default function* pages() {
+ yield takeLatest('PAGE/APP', loadInitialData);
+ yield takeLatest('PAGE/COUNTRY', loadInitialData);
+ yield takeLatest('PAGE/AOI', loadInitialData);
+ yield takeLatest('PAGE/WDPA', loadInitialData);
+}
diff --git a/src/modules/widgets/actions.js b/src/modules/widgets/actions.js
new file mode 100644
index 000000000..1d4084e24
--- /dev/null
+++ b/src/modules/widgets/actions.js
@@ -0,0 +1,14 @@
+import { createAction } from 'vizzuality-redux-tools';
+
+export const fetchRequested = createAction('WIDGETS/FETCH_REQUESTED');
+export const fetchSucceeded = createAction('WIDGETS/FETCH_SUCCEDED');
+export const fetchFailed = createAction('WIDGETS/FETCH_FAILED');
+export const setCurrent = createAction('WIDGETS/SET_CURRENT');
+export const fetchWidgets = createAction('WIDGETS/FETCH_ALL');
+
+export const toggleCollapse = createAction('WIDGET/TOGGLE_COLLAPSE');
+export const collapseAll = createAction('WIDGETS/COLLAPSE_ALL');
+export const expandAll = createAction('WIDGETS/EXPAND_ALL');
+
+export const toggleActive = createAction('WIDGET/TOGGLE_ACTIVE');
+export const toggleActiveByLayerId = createAction('WIDGET/TOGGLE_ACTIVE_BY_LAYER_ID');
diff --git a/src/modules/widgets/index.js b/src/modules/widgets/index.js
new file mode 100644
index 000000000..aba9ce012
--- /dev/null
+++ b/src/modules/widgets/index.js
@@ -0,0 +1,56 @@
+import * as actions from './actions';
+import * as reducers from './reducers';
+import sagas, { restoreWidgetsState } from './sagas';
+import initialState from './initial-state';
+
+import { fetchSucceeded } from 'modules/layers/actions';
+import queryState from 'utils/query-state';
+
+/**
+ * queryState.add register the namespace for url to state actions.
+ * The name property will become the query param.
+ * It is suppossed to be semantic:
+ *
+ * For namespace 'map'
+ * encode selector
+ * after any of these actions are triggered.
+ *
+ * For namespace 'map'
+ * decode trigger
+ * after all of these actions have happened.
+*/
+queryState.add({
+ name: 'widgets',
+ encode: {
+ after: [
+ actions.expandAll,
+ actions.collapseAll,
+ actions.toggleCollapse,
+ // actions.toggleActive
+ ],
+ selector: state => {
+ const { widgets: { list } } = state;
+ const serializedList = list.map(widget => ({
+ id: widget.slug,
+ isCollapsed: widget.isCollapsed || false,
+ isActive: widget.isActive || false
+ }));
+
+ return serializedList.reduce((acc, widget) => ({
+ ...acc,
+ [widget.id]: {
+ isCollapsed: widget.isCollapsed,
+ isActive: widget.isActive
+ }
+ }), {});
+ }
+ },
+ decode: {
+ after: [
+ fetchSucceeded
+ ],
+ trigger: restoreWidgetsState
+ }
+});
+
+export { actions, initialState, reducers, sagas };
diff --git a/src/modules/widgets/initial-state.js b/src/modules/widgets/initial-state.js
new file mode 100644
index 000000000..431cbce69
--- /dev/null
+++ b/src/modules/widgets/initial-state.js
@@ -0,0 +1,5 @@
+export default {
+ list: [],
+ isLoading: false,
+ error: null
+};
diff --git a/src/modules/widgets/reducers.js b/src/modules/widgets/reducers.js
new file mode 100644
index 000000000..cc6af1ece
--- /dev/null
+++ b/src/modules/widgets/reducers.js
@@ -0,0 +1,66 @@
+import {
+ fetchRequested,
+ fetchSucceeded,
+ fetchFailed,
+ collapseAll,
+ expandAll,
+ toggleCollapse,
+ toggleActive,
+ toggleActiveByLayerId
+} from './actions';
+
+export default {
+ [fetchRequested]: state => ({
+ ...state,
+ isLoading: true,
+ error: null
+ }),
+ [fetchSucceeded]: (state, { payload }) => ({
+ ...state,
+ isLoading: false,
+ list: payload
+ }),
+ [fetchFailed]: (state, { payload }) => ({
+ ...state,
+ isLoading: false,
+ error: payload
+ }),
+ [collapseAll]: state => ({
+ ...state,
+ isCollapsed: true,
+ list: state.list.map(item => ({ ...item, isCollapsed: true }))
+ }),
+ [expandAll]: state => ({
+ ...state,
+ isCollapsed: false,
+ list: state.list.map(item => ({ ...item, isCollapsed: false }))
+ }),
+ [toggleCollapse]: (state, { payload: { id } }) => {
+ const list = state.list.map((item) => {
+ if (item.slug !== id) return item;
+ return ({ ...item, isCollapsed: !item.isCollapsed });
+ });
+
+ const noCollapsed = list.find(item => item.isCollapsed === false);
+
+ return {
+ ...state,
+ list,
+ isCollapsed: !noCollapsed
+ };
+ },
+ [toggleActive]: (state, { payload }) => ({
+ ...state,
+ list: state.list.map((item) => {
+ if (item.slug !== payload.id) return item;
+ return ({ ...item, isActive: payload.isActive });
+ })
+ }),
+ [toggleActiveByLayerId]: (state, { payload }) => ({
+ ...state,
+ list: state.list.map((item) => {
+ if (item.layerId !== payload.layerId) return item;
+ return ({ ...item, isActive: payload.isActive });
+ })
+ })
+};
diff --git a/src/modules/widgets/sagas.js b/src/modules/widgets/sagas.js
new file mode 100644
index 000000000..835bf38db
--- /dev/null
+++ b/src/modules/widgets/sagas.js
@@ -0,0 +1,69 @@
+import { all, takeLeading, takeLatest, put, call, select } from 'redux-saga/effects';
+import DATA from 'config/data.json';
+import { fetchSucceeded, toggleActive, toggleActiveByLayerId } from './actions';
+
+function delay(ms) {
+ return new Promise(resolve => setTimeout(() => resolve(true), ms))
+}
+
+export function* toggleWidgetActive({ payload }) {
+ yield put(toggleActiveByLayerId({ layerId: payload.id, isActive: payload.isActive }));
+}
+
+export function* getWidgets() {
+ const { widgets } = DATA;
+
+ yield put(fetchSucceeded(widgets));
+}
+
+// Part of query state, not normal flow.
+// View ./index.js queryState.add for more info.
+export function* restoreWidgetsState() {
+ /**
+ * A regular selector, it could be on a selectors file with reselect
+ * or better yet, be created automatically by the package based on registered namespace info.
+ */
+ function* handler() {
+ const widgetsSelector = state => ({
+ urlWidgets: (state.router.query && state.router.query.widgets) || null,
+ stateWidgets: state.widgets.list
+ });
+
+ const { urlWidgets, stateWidgets } = yield select(widgetsSelector);
+
+ if (urlWidgets) {
+ const toDispatch = [];
+ const updatedWidgets = stateWidgets.map(widget => {
+ const updatedWidget = Object.assign({}, widget);
+
+ if (urlWidgets[widget.slug]) {
+ const update = urlWidgets[widget.slug];
+
+ if (update.isActive) {
+ updatedWidget.isActive = true;
+ toDispatch.push(put(toggleActive({
+ isActive: true
+ })));
+ }
+
+ if (update.isCollapsed) {
+ updatedWidget.isCollapsed = true;
+ }
+ }
+
+ return updatedWidget;
+ });
+
+ yield put(fetchSucceeded(updatedWidgets));
+ yield call(delay, 1500);
+ yield all(toDispatch);
+ }
+ }
+
+ yield takeLeading(fetchSucceeded().type, handler);
+}
+
+export default function* widgetsSagas() {
+ yield takeLatest('LAYERS/TOGGLE_ACTIVE', toggleWidgetActive);
+ yield takeLatest('WIDGETS/FETCH_ALL', getWidgets);
+}
diff --git a/src/modules/widgets/selectors.js b/src/modules/widgets/selectors.js
new file mode 100644
index 000000000..7dd5ac015
--- /dev/null
+++ b/src/modules/widgets/selectors.js
@@ -0,0 +1,89 @@
+import { createSelector } from 'reselect';
+import { currentDashboard } from 'modules/dashboards/selectors';
+import { currentLocation } from 'modules/locations/selectors';
+
+const widgets = state => state.widgets.list;
+const locations = state => state.locations.list;
+
+export const dashboardWidgets = createSelector(
+ [widgets, currentDashboard],
+ (_widgets, _currentDashboard) => {
+ if (!_currentDashboard) return [];
+
+ const { widgetsSlugs } = _currentDashboard;
+ return _widgets.filter(widget => widgetsSlugs.includes(widget.slug));
+ }
+);
+
+export const activeWidgets = createSelector(
+ [dashboardWidgets],
+ _widgets => _widgets.filter(widget => widget.isActive)
+);
+
+export const activeLayers = createSelector(
+ [activeWidgets],
+ _activeWidgets => _activeWidgets.length
+);
+
+
+export const conservationHotspots = createSelector(
+ [locations],
+ (_locations) => {
+ // Saloum and Rufiji
+ const ids = [4, 40];
+ const widgetData = _locations.filter(location => ids.includes(location.id));
+
+ return { widgetData };
+ }
+);
+
+export const coverageWidget = createSelector(
+ [currentLocation],
+ (_currentLocation) => {
+ const years = Object.keys(_currentLocation.length_mangrove_m);
+ const total = _currentLocation.length_coast_m;
+
+ const widgetData = years.map(year => ({
+ x: Number(year),
+ y: 100,
+ color: '#00857F',
+ percentage: _currentLocation.length_mangrove_m[year] / total * 100,
+ unit: '%',
+ value: _currentLocation.length_mangrove_m[year],
+ label: `Mangroves in ${year}`
+ }));
+
+ return {
+ metadata: { total, years },
+ widgetData
+ };
+ }
+);
+
+
+export const netChangeWidget = createSelector(
+ [currentLocation],
+ (_currentLocation) => {
+ if (_currentLocation.mangrove_loss_m2 && _currentLocation.mangrove_loss_m2) {
+ const gain = _currentLocation.mangrove_gain_m2;
+ const loss = _currentLocation.mangrove_loss_m2;
+ const years = Object.keys(loss);
+ const totalLoss = years
+ .reduce((year, nextYear) => parseFloat(loss[year] || 0) + parseFloat(loss[nextYear] || 0));
+
+ const widgetData = years.map(year => ({
+ Gain: parseFloat(gain[year]),
+ Loss: -parseFloat(loss[year]),
+ 'Net change': parseFloat(gain[year]) - parseFloat(loss[year]),
+ year
+ }));
+
+ return {
+ metadata: { totalLoss, years },
+ widgetData
+ };
+ }
+
+ return { metadata: { years: [] }, widgetData: [] };
+ }
+);
diff --git a/src/pages/app/bg-fixed.svg b/src/pages/app/bg-fixed.svg
new file mode 100644
index 000000000..bcfa3b45a
--- /dev/null
+++ b/src/pages/app/bg-fixed.svg
@@ -0,0 +1,25 @@
+
+
\ No newline at end of file
diff --git a/src/pages/app/bg-shape.svg b/src/pages/app/bg-shape.svg
new file mode 100644
index 000000000..4c8bbc1cf
--- /dev/null
+++ b/src/pages/app/bg-shape.svg
@@ -0,0 +1,34 @@
+
+
\ No newline at end of file
diff --git a/src/pages/app/index.js b/src/pages/app/index.js
new file mode 100644
index 000000000..8b4e6a91e
--- /dev/null
+++ b/src/pages/app/index.js
@@ -0,0 +1,22 @@
+import React from 'react';
+import DesktopLayout from 'components/layout/desktop';
+import MobileLayout from 'components/layout/mobile';
+import LocationModal from 'components/location-modal';
+import MediaQuery from 'react-responsive';
+import { breakpoints } from 'utils/responsive';import styles from './style.module.scss';
+
+
+const AppPage = () => (
+
+
+
+
+
+
+
+ {/* Modals */}
+
+
+);
+
+export default AppPage;
diff --git a/src/pages/app/style.module.scss b/src/pages/app/style.module.scss
new file mode 100644
index 000000000..1d0a09009
--- /dev/null
+++ b/src/pages/app/style.module.scss
@@ -0,0 +1,37 @@
+@import 'styles/vars';
+
+.app {
+
+
+ .overlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100vh;
+ background: rgba(0, 0, 0, 0.7);
+ transform: scale(1);
+ transition:
+ transform 0.3s cubic-bezier(0.465, 0.183, 0.153, 0.946),
+ opacity 0.3s cubic-bezier(0.465, 0.183, 0.153, 0.946);
+ z-index: 150;
+
+ &:empty {
+ z-index: -1;
+ opacity: 0;
+ transform: scale(1.15);
+ transition:
+ transform 0.1s cubic-bezier(0.465, 0.183, 0.153, 0.946),
+ opacity 0.1s cubic-bezier(0.465, 0.183, 0.153, 0.946);
+ }
+ }
+
+ @media screen and (min-width: 600px) {
+ .dashboard {
+ left: 30px;
+ }
+ }
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ max-width: 100%;
+ }
+}
diff --git a/src/pages/not-found/index.js b/src/pages/not-found/index.js
new file mode 100644
index 000000000..36cb9f14a
--- /dev/null
+++ b/src/pages/not-found/index.js
@@ -0,0 +1,5 @@
+import React from 'react';
+
+const NotFoundPage = () => Not found
;
+
+export default NotFoundPage;
diff --git a/src/serviceWorker.js b/src/serviceWorker.js
deleted file mode 100644
index f8c7e50c2..000000000
--- a/src/serviceWorker.js
+++ /dev/null
@@ -1,135 +0,0 @@
-// This optional code is used to register a service worker.
-// register() is not called by default.
-
-// This lets the app load faster on subsequent visits in production, and gives
-// it offline capabilities. However, it also means that developers (and users)
-// will only see deployed updates on subsequent visits to a page, after all the
-// existing tabs open on the page have been closed, since previously cached
-// resources are updated in the background.
-
-// To learn more about the benefits of this model and instructions on how to
-// opt-in, read https://bit.ly/CRA-PWA
-
-const isLocalhost = Boolean(
- window.location.hostname === 'localhost' ||
- // [::1] is the IPv6 localhost address.
- window.location.hostname === '[::1]' ||
- // 127.0.0.1/8 is considered localhost for IPv4.
- window.location.hostname.match(
- /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
- )
-);
-
-export function register(config) {
- if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
- // The URL constructor is available in all browsers that support SW.
- const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);
- if (publicUrl.origin !== window.location.origin) {
- // Our service worker won't work if PUBLIC_URL is on a different origin
- // from what our page is served on. This might happen if a CDN is used to
- // serve assets; see https://github.com/facebook/create-react-app/issues/2374
- return;
- }
-
- window.addEventListener('load', () => {
- const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
-
- if (isLocalhost) {
- // This is running on localhost. Let's check if a service worker still exists or not.
- checkValidServiceWorker(swUrl, config);
-
- // Add some additional logging to localhost, pointing developers to the
- // service worker/PWA documentation.
- navigator.serviceWorker.ready.then(() => {
- console.log(
- 'This web app is being served cache-first by a service ' +
- 'worker. To learn more, visit https://bit.ly/CRA-PWA'
- );
- });
- } else {
- // Is not localhost. Just register service worker
- registerValidSW(swUrl, config);
- }
- });
- }
-}
-
-function registerValidSW(swUrl, config) {
- navigator.serviceWorker
- .register(swUrl)
- .then(registration => {
- registration.onupdatefound = () => {
- const installingWorker = registration.installing;
- if (installingWorker == null) {
- return;
- }
- installingWorker.onstatechange = () => {
- if (installingWorker.state === 'installed') {
- if (navigator.serviceWorker.controller) {
- // At this point, the updated precached content has been fetched,
- // but the previous service worker will still serve the older
- // content until all client tabs are closed.
- console.log(
- 'New content is available and will be used when all ' +
- 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'
- );
-
- // Execute callback
- if (config && config.onUpdate) {
- config.onUpdate(registration);
- }
- } else {
- // At this point, everything has been precached.
- // It's the perfect time to display a
- // "Content is cached for offline use." message.
- console.log('Content is cached for offline use.');
-
- // Execute callback
- if (config && config.onSuccess) {
- config.onSuccess(registration);
- }
- }
- }
- };
- };
- })
- .catch(error => {
- console.error('Error during service worker registration:', error);
- });
-}
-
-function checkValidServiceWorker(swUrl, config) {
- // Check if the service worker can be found. If it can't reload the page.
- fetch(swUrl)
- .then(response => {
- // Ensure service worker exists, and that we really are getting a JS file.
- const contentType = response.headers.get('content-type');
- if (
- response.status === 404 ||
- (contentType != null && contentType.indexOf('javascript') === -1)
- ) {
- // No service worker found. Probably a different app. Reload the page.
- navigator.serviceWorker.ready.then(registration => {
- registration.unregister().then(() => {
- window.location.reload();
- });
- });
- } else {
- // Service worker found. Proceed as normal.
- registerValidSW(swUrl, config);
- }
- })
- .catch(() => {
- console.log(
- 'No internet connection found. App is running in offline mode.'
- );
- });
-}
-
-export function unregister() {
- if ('serviceWorker' in navigator) {
- navigator.serviceWorker.ready.then(registration => {
- registration.unregister();
- });
- }
-}
diff --git a/src/services/api-service.js b/src/services/api-service.js
new file mode 100644
index 000000000..4fc83a2b5
--- /dev/null
+++ b/src/services/api-service.js
@@ -0,0 +1,33 @@
+import axios from 'axios';
+
+class APIService {
+ constructor() {
+ this.client = axios.create({
+ baseURL: `${process.env.REACT_APP_API_URL}/api`,
+ headers: { 'Content-Type': 'application/json' }
+ });
+ }
+
+ fetchLocations = (params = {}) => this.client
+ .get('/locations', { params })
+ .then((response) => {
+ const { status, statusText, data } = response;
+ if (status >= 400) throw new Error(statusText);
+ return data;
+ });
+
+ fetchMangroveData = (params = {}) => {
+ const { id, iso } = params;
+ const locationParam = id || iso || 'worldwide';
+
+ return this.client
+ .get(`/locations/${locationParam}/mangrove_data`)
+ .then((response) => {
+ const { status, statusText, data } = response;
+ if (status >= 400) throw new Error(statusText);
+ return data;
+ });
+ }
+}
+
+export default APIService;
diff --git a/src/services/dataset-service.js b/src/services/dataset-service.js
new file mode 100644
index 000000000..146bd9c93
--- /dev/null
+++ b/src/services/dataset-service.js
@@ -0,0 +1,40 @@
+import axios from 'axios';
+import { geoJsonToJson } from 'utils/jsonParsers';
+
+const account = process.env.REACT_APP_MAPBOX_ACCOUNT;
+/**
+ * Datasets ID shouldn't change.
+ * In case you need to update them:
+ * https://api.mapbox.com/styles/v1/{account}
+ */
+const datasetIds = {
+ locations: 'cjxfwu00x1dfe2ipec6axjhk8',
+ dashboards: 'cjwum0ds523ag2in6jigine6x',
+ widgets: 'cjwum0t940jf62town9y45ev0',
+ layers: 'cjx1q0hbn0e282imghtsuiacg'
+};
+
+class DatasetService {
+ constructor({ entityName }) {
+ this.entityName = entityName;
+ this.client = axios.create({
+ baseURL: `https://api.mapbox.com/datasets/v1/${account}/${datasetIds[entityName]}`,
+ headers: { 'Content-Type': 'application/json' }
+ });
+ }
+
+ fetch = (params = {}) => this.client
+ .get('/features', {
+ params: {
+ ...params,
+ access_token: process.env.REACT_APP_MAPBOX_ACCESS_TOKEN
+ }
+ })
+ .then((response) => {
+ const { status, statusText, data } = response;
+ if (status >= 400) throw new Error(statusText);
+ return geoJsonToJson(data);
+ });
+}
+
+export default DatasetService;
diff --git a/src/services/style-service.js b/src/services/style-service.js
new file mode 100644
index 000000000..c95c538a8
--- /dev/null
+++ b/src/services/style-service.js
@@ -0,0 +1,36 @@
+import axios from 'axios';
+
+const account = process.env.REACT_APP_MAPBOX_ACCOUNT;
+/**
+ * Style ID shouldn't change.
+ * In case you need to update them:
+ * https://api.mapbox.com/styles/v1/{account}
+ */
+const styleIds = {
+ layers: 'cjx4ikse805an1co712z98lel'
+};
+
+class StyleService {
+ constructor({ entityName }) {
+ this.entityName = entityName;
+ this.client = axios.create({
+ baseURL: `https://api.mapbox.com/styles/v1/${account}/${styleIds[entityName]}`,
+ headers: { 'Content-Type': 'application/json' }
+ });
+ }
+
+ fetch = (params = {}) => this.client
+ .get('/', {
+ params: {
+ ...params,
+ access_token: process.env.REACT_APP_MAPBOX_ACCESS_TOKEN
+ }
+ })
+ .then((response) => {
+ const { status, statusText, data } = response;
+ if (status >= 400) throw new Error(statusText);
+ return data;
+ });
+}
+
+export default StyleService;
diff --git a/src/styles/_vars.scss b/src/styles/_vars.scss
new file mode 100644
index 000000000..4a1241ae1
--- /dev/null
+++ b/src/styles/_vars.scss
@@ -0,0 +1,58 @@
+$body-color: rgba(0,0,0,0.85);
+$body-font-size: 14px;
+$body-line-height: 1.4;
+
+/* Theme */
+$primary: #00857F;
+$background-mobile: #00C5BD;
+$black: #000000;
+$white: #FFFFFF;
+
+
+/* Fonts */
+$font-family: 'Open Sans', Arial, Helvetica, sans-serif;
+
+$font-size-small: 12px;
+$font-size-medium: 19px;
+
+@mixin medium-text {
+ font-size: $font-size-medium;
+ font-weight: 300;
+ line-height: 30px;
+}
+
+@mixin upper-text {
+ font-size: $font-size-small;
+ font-weight: bold;
+ text-transform: uppercase;
+ letter-spacing: 1px;
+ line-height: 24px;
+}
+
+// Breakpoints
+$sm: 384px;
+$md: 768px;
+$lg: 992px;
+$xlg: 1280px;
+
+$screen-max-width: 1024px;
+$breakpoints: (
+ sm: $sm,
+ md: $md,
+ lg: $lg,
+ xlg: $xlg
+);
+
+// Mobile
+
+$paddingMobile: 5px;
+
+// To remove
+$font-size-extra-small: 9px;
+$font-size-small: 12px;
+$font-size-default: 16px;
+$font-size-big: 22px;
+$font-size-huge: 120px;
+
+/* Box shadow */
+$box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.08);
diff --git a/src/styles/lib/_react-datepicker.scss b/src/styles/lib/_react-datepicker.scss
new file mode 100644
index 000000000..d95091b2d
--- /dev/null
+++ b/src/styles/lib/_react-datepicker.scss
@@ -0,0 +1,134 @@
+@import '~react-datepicker/dist/react-datepicker.css';
+
+$day-width: 24px;
+$day-padding: 4px;
+$week-width: ($day-width + ($day-padding * 2)) * 7;
+$container-padding: 4px;
+
+.react-datepicker {
+ width: $week-width + ($container-padding * 2);
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.25);
+ transition: transform 0.3s linear;
+ border: none;
+ border-radius: 6px;
+ font-family: $font-family;
+ font-size: $font-size-extra-small;
+ font-weight: bold;
+ letter-spacing: 1px;
+
+ .react-datepicker__navigation {
+ cursor: pointer;
+ position: absolute;
+ top: 14px;
+ z-index: 1;
+ width: 0;
+ padding: 0;
+ background: $primary;
+ border-radius: 50%;
+ border: 1px solid transparent;
+ height: 16px;
+ width: 16px;
+ text-indent: -999em;
+ overflow: hidden;
+ line-height: 1;
+ text-align: center;
+
+ &:after {
+ content: "";
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 0;
+ height: 0;
+ }
+
+ &.react-datepicker__navigation--previous {
+ &:after {
+ margin: -3px 0 0 -3px;
+ border-style: solid;
+ border-width: 3px 4px 3px 0;
+ border-color: transparent $white transparent transparent;
+ }
+ }
+
+ &.react-datepicker__navigation--next {
+ &:after {
+ margin: -3px 0 0 -2px;
+ border-style: solid;
+ border-width: 3px 0px 3px 4px;
+ border-color: transparent transparent transparent $white;
+ }
+ }
+
+ &:hover {
+ background: $primary;
+
+ &.react-datepicker__navigation--previous {
+ &:after {}
+ }
+
+ &.react-datepicker__navigation--next {
+ &:after {}
+ }
+ }
+ }
+
+
+ .react-datepicker__header {
+ padding-top: 12;
+ background: $primary;
+
+ .react-datepicker__current-month {
+ font-size: $font-size-small;
+ font-weight: bold;
+ letter-spacing: 2px;
+ text-transform: uppercase;
+ }
+ }
+
+ .react-datepicker__month-container {
+ float: none!important;
+
+ .react-datepicker__month {
+ padding: $container-padding;
+ margin: 0;
+ }
+ }
+
+ // Week days
+ .react-datepicker__day-names {
+ .react-datepicker__day-name {
+ color: #757575;
+ text-transform: uppercase;
+ }
+ }
+
+ // Days
+ .react-datepicker__day-name,
+ .react-datepicker__day {
+ height: $day-width;
+ width: $day-width;
+ line-height: 24px;
+ margin: 0;
+ padding: $day-padding $day-padding;
+
+ &:hover {
+ border-radius: 50%;
+ }
+ }
+
+ .react-datepicker__day--selected {
+ background: $primary;
+ color: $black;
+ border-radius: 0;
+ border-radius: 50%;
+ }
+
+ .react-datepicker__day--outside-month {
+ opacity: 0.3;
+ }
+}
+
+.react-datepicker__triangle {
+ display: none;
+}
\ No newline at end of file
diff --git a/src/styles/main.scss b/src/styles/main.scss
new file mode 100644
index 000000000..f54e9540e
--- /dev/null
+++ b/src/styles/main.scss
@@ -0,0 +1,41 @@
+@import './vars';
+@import './lib/react-datepicker';
+
+body {
+ color: $body-color;
+ font-family: $font-family;
+ font-size: $body-font-size;
+ line-height: $body-line-height;
+
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ @media screen and (max-width: map-get($breakpoints, md)) {
+ background-color: $background-mobile
+ }
+
+}
+
+button {
+ border: none;
+ background: none;
+ cursor: pointer;
+
+ &:focus {
+ outline: 0;
+ }
+}
+
+strong {
+ font-weight: bold;
+}
+
+
+a {
+ color: $primary;
+ font-weight: 600;
+ text-decoration: none;
+
+ &:hover {
+ text-decoration: underline;
+ }
+}
diff --git a/src/utils/jsonParsers.js b/src/utils/jsonParsers.js
new file mode 100644
index 000000000..fb6197121
--- /dev/null
+++ b/src/utils/jsonParsers.js
@@ -0,0 +1,14 @@
+export const jsonToCSV = (json) => {
+ if (!json.length) return [];
+ const result = [Object.keys(json[0])];
+ json.forEach(element => result.push(Object.values(element)));
+ return result;
+};
+
+export const geoJsonToJson = geojson => geojson.features.map(feature => ({
+ ...feature.properties,
+ id: feature.id,
+ geometry: feature.geometry
+}));
+
+export default { jsonToCSV, geoJsonToJson };
diff --git a/src/utils/nice-date.js b/src/utils/nice-date.js
new file mode 100644
index 000000000..397ef30f0
--- /dev/null
+++ b/src/utils/nice-date.js
@@ -0,0 +1,13 @@
+import moment from 'moment';
+
+export function dmy(strings, ...vars) {
+ const [format] = strings;
+ const [date] = vars;
+ return moment.utc(date).format(format);
+}
+
+export function year(date) {
+ return moment(date).year();
+}
+
+export default dmy;
\ No newline at end of file
diff --git a/src/utils/query-state/constants.js b/src/utils/query-state/constants.js
new file mode 100644
index 000000000..4eb30e5ce
--- /dev/null
+++ b/src/utils/query-state/constants.js
@@ -0,0 +1,8 @@
+import { createAction } from 'vizzuality-redux-tools';
+
+export const ACTIONS = {
+ STORE_STATE: createAction('__QUERY_STATE/STORE_STATE'),
+ RESTORE_STATE: createAction('__QUERY_STATE/RESTORE_STATE')
+};
+
+export default ACTIONS;
\ No newline at end of file
diff --git a/src/utils/query-state/index.js b/src/utils/query-state/index.js
new file mode 100644
index 000000000..835ae7be7
--- /dev/null
+++ b/src/utils/query-state/index.js
@@ -0,0 +1,121 @@
+import { takeEvery, takeLatest, all, fork, put, select } from 'redux-saga/effects';
+import { decodeUrlForState, encodeStateForUrl } from './stateToUrl';
+import get from 'lodash/get';
+import { redirect } from 'redux-first-router';
+
+import ACTIONS from './constants';
+
+class QueryStateManager {
+ /**
+ * Saves the whole namespace object by name.
+ */
+ registry = new Map();
+ /**
+ * Save actions that trigger query encode and the namespace they refer to.
+ */
+ triggers = new Map();
+ /**
+ * Namespaces stores all registered namespaces
+ * It is a set for having dedup, we only need to know
+ * if an url query param is registered.
+ */
+ names = new Set();
+
+ // These are encoding strategies, maybe we can add more later
+ decode = decodeUrlForState;
+ encode = encodeStateForUrl;
+
+ /**
+ * The inspector sniff through redux requests.
+ */
+ inspector = (dispatch, getState, { action }) => {
+ // We make it an arrow function to have registry state available
+ const { kind } = action.meta.location;
+
+ if (kind && kind === 'load') {
+ dispatch(ACTIONS.RESTORE_STATE());
+ } else {
+ // We assume it is put, so far it have worked
+ dispatch(ACTIONS.STORE_STATE());
+ }
+ }
+
+ /**
+ * Add a namespace to the registry for act upon changes.
+ * @param {string} namespace
+ */
+ add(namespace) {
+ const {name} = namespace;
+ const actions = get(namespace, 'encode.after', null);
+
+ if (!actions || actions.length < 1) {
+ // todo: Throw no-encoding-actions error
+ return;
+ }
+
+ this.registry.set(name, namespace);
+ this.names.add(name);
+
+ actions.forEach(action => {
+ this.triggers.set(action().type, name);
+ });
+ }
+
+ /**
+ * This is for redux-sagas... using thunks should work pretty similar though.
+ */
+ *sagas() {
+ const rules = Array.from(this.triggers.entries());
+
+ const encodeRules = rules.map(([action, name]) => {
+ const encodeRule = function * () {
+ const actionListener = function *() {
+ const namespace = this.registry.get(name);
+ const state = yield select();
+ const {router} = state;
+
+ yield put(redirect({type: router.type, payload: {
+ ...router.payload,
+ query: {
+ ...router.query,
+ [name]: namespace.encode.selector(state)
+ }
+ }}));
+ };
+
+ yield takeLatest(action, actionListener.bind(this));
+ };
+
+ return fork(encodeRule.bind(this));
+ });
+
+ const decodeRule = function * decodeRule() {
+ function *sub() {
+ const names = Array.from(this.names);
+ const triggers = names.map(name => {
+ const { decode } = this.registry.get(name);
+
+ if (decode && decode.trigger) {
+ return fork(decode.trigger);
+ }
+
+ return null;
+ });
+
+ yield all(triggers.filter(trigger => Boolean(trigger)));
+ }
+
+ yield takeEvery(ACTIONS.RESTORE_STATE().type, sub.bind(this));
+ };
+
+ yield all([...encodeRules, fork(decodeRule.bind(this))]);
+ }
+}
+
+const queryState = new QueryStateManager();
+
+export default queryState;
+export {
+ QueryStateManager,
+ queryState
+};
diff --git a/src/utils/query-state/stateToUrl.js b/src/utils/query-state/stateToUrl.js
new file mode 100644
index 000000000..6f1194fa4
--- /dev/null
+++ b/src/utils/query-state/stateToUrl.js
@@ -0,0 +1,28 @@
+import queryString from 'query-string';
+
+export const decodeUrlForState = (url) => {
+ const paramsParsed = {};
+ const params = queryString.parse(url);
+ Object.keys(params).forEach((key) => {
+ try {
+ paramsParsed[key] = JSON.parse(atob(params[key]));
+ } catch (err) {
+ paramsParsed[key] = params[key];
+ }
+ });
+
+ return paramsParsed;
+};
+
+export const encodeStateForUrl = (params) => {
+ const paramsParsed = {};
+ Object.keys(params).forEach((key) => {
+ if (typeof params[key] === 'object') {
+ paramsParsed[key] = btoa(JSON.stringify(params[key]));
+ } else {
+ paramsParsed[key] = params[key];
+ }
+ });
+
+ return queryString.stringify(paramsParsed).trim();
+};
diff --git a/src/utils/responsive.js b/src/utils/responsive.js
new file mode 100644
index 000000000..eedde732d
--- /dev/null
+++ b/src/utils/responsive.js
@@ -0,0 +1,10 @@
+export const breakpoints = {
+ sm: 384,
+ md: 768,
+ lg: 992,
+ xlg: 1280
+};
+
+export default {
+ breakpoints
+};
diff --git a/src/utils/storybookProvider.js b/src/utils/storybookProvider.js
new file mode 100644
index 000000000..147699547
--- /dev/null
+++ b/src/utils/storybookProvider.js
@@ -0,0 +1,10 @@
+import React from 'react';
+import { Provider } from 'react-redux';
+import store from 'config/store';
+
+
+export const withProvider = (story) => (
+
+ { story() }
+
+)
diff --git a/yarn.lock b/yarn.lock
index db33c4f89..af8ed572b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,13 +2,20 @@
# yarn lockfile v1
-"@babel/code-frame@7.0.0", "@babel/code-frame@^7.0.0":
+"@babel/code-frame@7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8"
integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==
dependencies:
"@babel/highlight" "^7.0.0"
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d"
+ integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==
+ dependencies:
+ "@babel/highlight" "^7.0.0"
+
"@babel/core@7.4.3":
version "7.4.3"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.3.tgz#198d6d3af4567be3989550d97e068de94503074f"
@@ -29,34 +36,34 @@
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.4.3":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.4.tgz#84055750b05fcd50f9915a826b44fa347a825250"
- integrity sha512-lQgGX3FPRgbz2SKmhMtYgJvVzGZrmjaF4apZ2bLwofAKiSjxU0drPh4S/VasyYXwaTs+A1gvQ45BN8SQJzHsQQ==
+"@babel/core@^7.0.0", "@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.4.5", "@babel/core@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30"
+ integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==
dependencies:
- "@babel/code-frame" "^7.0.0"
- "@babel/generator" "^7.4.4"
- "@babel/helpers" "^7.4.4"
- "@babel/parser" "^7.4.4"
+ "@babel/code-frame" "^7.5.5"
+ "@babel/generator" "^7.5.5"
+ "@babel/helpers" "^7.5.5"
+ "@babel/parser" "^7.5.5"
"@babel/template" "^7.4.4"
- "@babel/traverse" "^7.4.4"
- "@babel/types" "^7.4.4"
+ "@babel/traverse" "^7.5.5"
+ "@babel/types" "^7.5.5"
convert-source-map "^1.1.0"
debug "^4.1.0"
json5 "^2.1.0"
- lodash "^4.17.11"
+ lodash "^4.17.13"
resolve "^1.3.2"
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/generator@^7.4.0", "@babel/generator@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.4.4.tgz#174a215eb843fc392c7edcaabeaa873de6e8f041"
- integrity sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==
+"@babel/generator@^7.4.0", "@babel/generator@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf"
+ integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==
dependencies:
- "@babel/types" "^7.4.4"
+ "@babel/types" "^7.5.5"
jsesc "^2.5.1"
- lodash "^4.17.11"
+ lodash "^4.17.13"
source-map "^0.5.0"
trim-right "^1.0.1"
@@ -92,26 +99,26 @@
"@babel/traverse" "^7.4.4"
"@babel/types" "^7.4.4"
-"@babel/helper-create-class-features-plugin@^7.4.0":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.4.tgz#fc3d690af6554cc9efc607364a82d48f58736dba"
- integrity sha512-UbBHIa2qeAGgyiNR9RszVF7bUHEdgS4JAUNT8SiqrAN6YJVxlOxeLr5pBzb5kan302dejJ9nla4RyKcR1XT6XA==
+"@babel/helper-create-class-features-plugin@^7.4.0", "@babel/helper-create-class-features-plugin@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz#401f302c8ddbc0edd36f7c6b2887d8fa1122e5a4"
+ integrity sha512-ZsxkyYiRA7Bg+ZTRpPvB6AbOFKTFFK4LrvTet8lInm0V468MWCaSYJE+I7v2z2r8KNLtYiV+K5kTCnR7dvyZjg==
dependencies:
"@babel/helper-function-name" "^7.1.0"
- "@babel/helper-member-expression-to-functions" "^7.0.0"
+ "@babel/helper-member-expression-to-functions" "^7.5.5"
"@babel/helper-optimise-call-expression" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-replace-supers" "^7.4.4"
+ "@babel/helper-replace-supers" "^7.5.5"
"@babel/helper-split-export-declaration" "^7.4.4"
-"@babel/helper-define-map@^7.4.0", "@babel/helper-define-map@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz#6969d1f570b46bdc900d1eba8e5d59c48ba2c12a"
- integrity sha512-IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg==
+"@babel/helper-define-map@^7.4.0", "@babel/helper-define-map@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369"
+ integrity sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==
dependencies:
"@babel/helper-function-name" "^7.1.0"
- "@babel/types" "^7.4.4"
- lodash "^4.17.11"
+ "@babel/types" "^7.5.5"
+ lodash "^4.17.13"
"@babel/helper-explode-assignable-expression@^7.1.0":
version "7.1.0"
@@ -144,12 +151,12 @@
dependencies:
"@babel/types" "^7.4.4"
-"@babel/helper-member-expression-to-functions@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f"
- integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==
+"@babel/helper-member-expression-to-functions@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz#1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590"
+ integrity sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==
dependencies:
- "@babel/types" "^7.0.0"
+ "@babel/types" "^7.5.5"
"@babel/helper-module-imports@^7.0.0":
version "7.0.0"
@@ -159,16 +166,16 @@
"@babel/types" "^7.0.0"
"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz#96115ea42a2f139e619e98ed46df6019b94414b8"
- integrity sha512-3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w==
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz#f84ff8a09038dcbca1fd4355661a500937165b4a"
+ integrity sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==
dependencies:
"@babel/helper-module-imports" "^7.0.0"
"@babel/helper-simple-access" "^7.1.0"
"@babel/helper-split-export-declaration" "^7.4.4"
"@babel/template" "^7.4.4"
- "@babel/types" "^7.4.4"
- lodash "^4.17.11"
+ "@babel/types" "^7.5.5"
+ lodash "^4.17.13"
"@babel/helper-optimise-call-expression@^7.0.0":
version "7.0.0"
@@ -183,11 +190,11 @@
integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==
"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.4.4.tgz#a47e02bc91fb259d2e6727c2a30013e3ac13c4a2"
- integrity sha512-Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q==
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351"
+ integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==
dependencies:
- lodash "^4.17.11"
+ lodash "^4.17.13"
"@babel/helper-remap-async-to-generator@^7.1.0":
version "7.1.0"
@@ -200,15 +207,15 @@
"@babel/traverse" "^7.1.0"
"@babel/types" "^7.0.0"
-"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.4.0", "@babel/helper-replace-supers@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz#aee41783ebe4f2d3ab3ae775e1cc6f1a90cefa27"
- integrity sha512-04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg==
+"@babel/helper-replace-supers@^7.4.0", "@babel/helper-replace-supers@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2"
+ integrity sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==
dependencies:
- "@babel/helper-member-expression-to-functions" "^7.0.0"
+ "@babel/helper-member-expression-to-functions" "^7.5.5"
"@babel/helper-optimise-call-expression" "^7.0.0"
- "@babel/traverse" "^7.4.4"
- "@babel/types" "^7.4.4"
+ "@babel/traverse" "^7.5.5"
+ "@babel/types" "^7.5.5"
"@babel/helper-simple-access@^7.1.0":
version "7.1.0"
@@ -235,28 +242,28 @@
"@babel/traverse" "^7.1.0"
"@babel/types" "^7.2.0"
-"@babel/helpers@^7.4.3", "@babel/helpers@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.4.4.tgz#868b0ef59c1dd4e78744562d5ce1b59c89f2f2a5"
- integrity sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A==
+"@babel/helpers@^7.4.3", "@babel/helpers@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e"
+ integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==
dependencies:
"@babel/template" "^7.4.4"
- "@babel/traverse" "^7.4.4"
- "@babel/types" "^7.4.4"
+ "@babel/traverse" "^7.5.5"
+ "@babel/types" "^7.5.5"
"@babel/highlight@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4"
- integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540"
+ integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==
dependencies:
chalk "^2.0.0"
esutils "^2.0.2"
js-tokens "^4.0.0"
-"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.4.tgz#5977129431b8fe33471730d255ce8654ae1250b6"
- integrity sha512-5pCS4mOsL+ANsFZGdvNLybx4wtqAZJ0MJjMHxvzI3bvIsz6sQvzW8XX92EYIkiPtIvcfG3Aj+Ir5VNyjnZhP7w==
+"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b"
+ integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==
"@babel/plugin-proposal-async-generator-functions@^7.2.0":
version "7.2.0"
@@ -275,6 +282,14 @@
"@babel/helper-create-class-features-plugin" "^7.4.0"
"@babel/helper-plugin-utils" "^7.0.0"
+"@babel/plugin-proposal-class-properties@^7.3.3":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz#a974cfae1e37c3110e71f3c6a2e48b8e71958cd4"
+ integrity sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.5.5"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
"@babel/plugin-proposal-decorators@7.4.0":
version "7.4.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.0.tgz#8e1bfd83efa54a5f662033afcc2b8e701f4bb3a9"
@@ -284,6 +299,14 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-decorators" "^7.2.0"
+"@babel/plugin-proposal-dynamic-import@^7.5.0":
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz#e532202db4838723691b10a67b8ce509e397c506"
+ integrity sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-dynamic-import" "^7.2.0"
+
"@babel/plugin-proposal-json-strings@^7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317"
@@ -300,10 +323,10 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-object-rest-spread" "^7.2.0"
-"@babel/plugin-proposal-object-rest-spread@^7.4.3", "@babel/plugin-proposal-object-rest-spread@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz#1ef173fcf24b3e2df92a678f027673b55e7e3005"
- integrity sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g==
+"@babel/plugin-proposal-object-rest-spread@^7.3.2", "@babel/plugin-proposal-object-rest-spread@^7.4.3", "@babel/plugin-proposal-object-rest-spread@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz#61939744f71ba76a3ae46b5eea18a54c16d22e58"
+ integrity sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-object-rest-spread" "^7.2.0"
@@ -339,7 +362,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-dynamic-import@7.2.0":
+"@babel/plugin-syntax-dynamic-import@7.2.0", "@babel/plugin-syntax-dynamic-import@^7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612"
integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==
@@ -395,10 +418,10 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-async-to-generator@^7.4.0", "@babel/plugin-transform-async-to-generator@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz#a3f1d01f2f21cadab20b33a82133116f14fb5894"
- integrity sha512-YiqW2Li8TXmzgbXw+STsSqPBPFnGviiaSp6CYOq55X8GQ2SGVLrXB6pNid8HkqkZAzOH6knbai3snhP7v0fNwA==
+"@babel/plugin-transform-async-to-generator@^7.4.0", "@babel/plugin-transform-async-to-generator@^7.5.0":
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e"
+ integrity sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==
dependencies:
"@babel/helper-module-imports" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
@@ -411,13 +434,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-block-scoping@^7.4.0", "@babel/plugin-transform-block-scoping@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz#c13279fabf6b916661531841a23c4b7dae29646d"
- integrity sha512-jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA==
+"@babel/plugin-transform-block-scoping@^7.4.0", "@babel/plugin-transform-block-scoping@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz#a35f395e5402822f10d2119f6f8e045e3639a2ce"
+ integrity sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
- lodash "^4.17.11"
+ lodash "^4.17.13"
"@babel/plugin-transform-classes@7.4.3":
version "7.4.3"
@@ -433,17 +456,17 @@
"@babel/helper-split-export-declaration" "^7.4.0"
globals "^11.1.0"
-"@babel/plugin-transform-classes@^7.4.3", "@babel/plugin-transform-classes@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz#0ce4094cdafd709721076d3b9c38ad31ca715eb6"
- integrity sha512-/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw==
+"@babel/plugin-transform-classes@^7.4.3", "@babel/plugin-transform-classes@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz#d094299d9bd680a14a2a0edae38305ad60fb4de9"
+ integrity sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==
dependencies:
"@babel/helper-annotate-as-pure" "^7.0.0"
- "@babel/helper-define-map" "^7.4.4"
+ "@babel/helper-define-map" "^7.5.5"
"@babel/helper-function-name" "^7.1.0"
"@babel/helper-optimise-call-expression" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-replace-supers" "^7.4.4"
+ "@babel/helper-replace-supers" "^7.5.5"
"@babel/helper-split-export-declaration" "^7.4.4"
globals "^11.1.0"
@@ -461,10 +484,10 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-destructuring@^7.4.3", "@babel/plugin-transform-destructuring@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz#9d964717829cc9e4b601fc82a26a71a4d8faf20f"
- integrity sha512-/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ==
+"@babel/plugin-transform-destructuring@^7.4.3", "@babel/plugin-transform-destructuring@^7.5.0":
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a"
+ integrity sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
@@ -477,10 +500,10 @@
"@babel/helper-regex" "^7.4.4"
regexpu-core "^4.5.4"
-"@babel/plugin-transform-duplicate-keys@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3"
- integrity sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==
+"@babel/plugin-transform-duplicate-keys@^7.2.0", "@babel/plugin-transform-duplicate-keys@^7.5.0":
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853"
+ integrity sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
@@ -500,6 +523,14 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-flow" "^7.2.0"
+"@babel/plugin-transform-flow-strip-types@^7.0.0":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz#d267a081f49a8705fc9146de0768c6b58dccd8f7"
+ integrity sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-flow" "^7.2.0"
+
"@babel/plugin-transform-for-of@^7.4.3", "@babel/plugin-transform-for-of@^7.4.4":
version "7.4.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556"
@@ -529,30 +560,33 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-modules-amd@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6"
- integrity sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==
+"@babel/plugin-transform-modules-amd@^7.2.0", "@babel/plugin-transform-modules-amd@^7.5.0":
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91"
+ integrity sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==
dependencies:
"@babel/helper-module-transforms" "^7.1.0"
"@babel/helper-plugin-utils" "^7.0.0"
+ babel-plugin-dynamic-import-node "^2.3.0"
-"@babel/plugin-transform-modules-commonjs@^7.4.3", "@babel/plugin-transform-modules-commonjs@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz#0bef4713d30f1d78c2e59b3d6db40e60192cac1e"
- integrity sha512-4sfBOJt58sEo9a2BQXnZq+Q3ZTSAUXyK3E30o36BOGnJ+tvJ6YSxF0PG6kERvbeISgProodWuI9UVG3/FMY6iw==
+"@babel/plugin-transform-modules-commonjs@^7.4.3", "@babel/plugin-transform-modules-commonjs@^7.5.0":
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74"
+ integrity sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ==
dependencies:
"@babel/helper-module-transforms" "^7.4.4"
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/helper-simple-access" "^7.1.0"
+ babel-plugin-dynamic-import-node "^2.3.0"
-"@babel/plugin-transform-modules-systemjs@^7.4.0", "@babel/plugin-transform-modules-systemjs@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz#dc83c5665b07d6c2a7b224c00ac63659ea36a405"
- integrity sha512-MSiModfILQc3/oqnG7NrP1jHaSPryO6tA2kOMmAQApz5dayPxWiHqmq4sWH2xF5LcQK56LlbKByCd8Aah/OIkQ==
+"@babel/plugin-transform-modules-systemjs@^7.4.0", "@babel/plugin-transform-modules-systemjs@^7.5.0":
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249"
+ integrity sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==
dependencies:
"@babel/helper-hoist-variables" "^7.4.4"
"@babel/helper-plugin-utils" "^7.0.0"
+ babel-plugin-dynamic-import-node "^2.3.0"
"@babel/plugin-transform-modules-umd@^7.2.0":
version "7.2.0"
@@ -562,12 +596,12 @@
"@babel/helper-module-transforms" "^7.1.0"
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-named-capturing-groups-regex@^7.4.2", "@babel/plugin-transform-named-capturing-groups-regex@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.4.tgz#5611d96d987dfc4a3a81c4383bb173361037d68d"
- integrity sha512-Ki+Y9nXBlKfhD+LXaRS7v95TtTGYRAf9Y1rTDiE75zf8YQz4GDaWRXosMfJBXxnk88mGFjWdCRIeqDbon7spYA==
+"@babel/plugin-transform-named-capturing-groups-regex@^7.4.2", "@babel/plugin-transform-named-capturing-groups-regex@^7.4.5":
+ version "7.4.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106"
+ integrity sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==
dependencies:
- regexp-tree "^0.1.0"
+ regexp-tree "^0.1.6"
"@babel/plugin-transform-new-target@^7.4.0", "@babel/plugin-transform-new-target@^7.4.4":
version "7.4.4"
@@ -576,13 +610,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-object-super@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598"
- integrity sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==
+"@babel/plugin-transform-object-super@^7.2.0", "@babel/plugin-transform-object-super@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9"
+ integrity sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-replace-supers" "^7.1.0"
+ "@babel/helper-replace-supers" "^7.5.5"
"@babel/plugin-transform-parameters@^7.4.3", "@babel/plugin-transform-parameters@^7.4.4":
version "7.4.4"
@@ -600,7 +634,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-react-constant-elements@7.2.0", "@babel/plugin-transform-react-constant-elements@^7.0.0":
+"@babel/plugin-transform-react-constant-elements@7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.2.0.tgz#ed602dc2d8bff2f0cb1a5ce29263dbdec40779f7"
integrity sha512-YYQFg6giRFMsZPKUM9v+VcHOdfSQdz9jHCx3akAi3UYgyjndmdYGSXylQ/V+HswQt4fL8IklchD9HTsaOCrWQQ==
@@ -608,6 +642,14 @@
"@babel/helper-annotate-as-pure" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
+"@babel/plugin-transform-react-constant-elements@^7.0.0", "@babel/plugin-transform-react-constant-elements@^7.2.0":
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.5.0.tgz#4d6ae4033bc38f8a65dfca2b6235c44522a422fc"
+ integrity sha512-c5Ba8cpybZFp1Izkf2sWGuNjOxoQ32tFgBvvYvwGhi4+9f6vGiSK9Gex4uVuO/Va6YJFu41aAh1MzMjUWkp0IQ==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
"@babel/plugin-transform-react-display-name@7.2.0", "@babel/plugin-transform-react-display-name@^7.0.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0"
@@ -624,9 +666,9 @@
"@babel/plugin-syntax-jsx" "^7.2.0"
"@babel/plugin-transform-react-jsx-source@^7.0.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz#20c8c60f0140f5dd3cd63418d452801cf3f7180f"
- integrity sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g==
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b"
+ integrity sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-jsx" "^7.2.0"
@@ -640,12 +682,12 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-jsx" "^7.2.0"
-"@babel/plugin-transform-regenerator@^7.4.3", "@babel/plugin-transform-regenerator@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.4.tgz#5b4da4df79391895fca9e28f99e87e22cfc02072"
- integrity sha512-Zz3w+pX1SI0KMIiqshFZkwnVGUhDZzpX2vtPzfJBKQQq8WsP/Xy9DNdELWivxcKOCX/Pywge4SiEaPaLtoDT4g==
+"@babel/plugin-transform-regenerator@^7.4.3", "@babel/plugin-transform-regenerator@^7.4.5":
+ version "7.4.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f"
+ integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==
dependencies:
- regenerator-transform "^0.13.4"
+ regenerator-transform "^0.14.0"
"@babel/plugin-transform-reserved-words@^7.2.0":
version "7.2.0"
@@ -702,10 +744,11 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-transform-typescript@^7.3.2":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.4.4.tgz#93e9c3f2a546e6d3da1e9cc990e30791b807aa9f"
- integrity sha512-rwDvjaMTx09WC0rXGBRlYSSkEHOKRrecY6hEr3SVIPKII8DVWXtapNAfAyMC0dovuO+zYArcAuKeu3q9DNRfzA==
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.5.5.tgz#6d862766f09b2da1cb1f7d505fe2aedab6b7d4b8"
+ integrity sha512-pehKf4m640myZu5B2ZviLaiBlxMCjSZ1qTEO459AXKX5GnPueyulJeCqZFs1nz/Ya2dDzXQ1NxZ/kKNWyD4h6w==
dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.5.5"
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-typescript" "^7.2.0"
@@ -772,46 +815,48 @@
js-levenshtein "^1.1.3"
semver "^5.5.0"
-"@babel/preset-env@^7.1.6":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.4.tgz#b6f6825bfb27b3e1394ca3de4f926482722c1d6f"
- integrity sha512-FU1H+ACWqZZqfw1x2G1tgtSSYSfxJLkpaUQL37CenULFARDo+h4xJoVHzRoHbK+85ViLciuI7ME4WTIhFRBBlw==
+"@babel/preset-env@^7.1.6", "@babel/preset-env@^7.4.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz#bc470b53acaa48df4b8db24a570d6da1fef53c9a"
+ integrity sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A==
dependencies:
"@babel/helper-module-imports" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-proposal-async-generator-functions" "^7.2.0"
+ "@babel/plugin-proposal-dynamic-import" "^7.5.0"
"@babel/plugin-proposal-json-strings" "^7.2.0"
- "@babel/plugin-proposal-object-rest-spread" "^7.4.4"
+ "@babel/plugin-proposal-object-rest-spread" "^7.5.5"
"@babel/plugin-proposal-optional-catch-binding" "^7.2.0"
"@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
"@babel/plugin-syntax-async-generators" "^7.2.0"
+ "@babel/plugin-syntax-dynamic-import" "^7.2.0"
"@babel/plugin-syntax-json-strings" "^7.2.0"
"@babel/plugin-syntax-object-rest-spread" "^7.2.0"
"@babel/plugin-syntax-optional-catch-binding" "^7.2.0"
"@babel/plugin-transform-arrow-functions" "^7.2.0"
- "@babel/plugin-transform-async-to-generator" "^7.4.4"
+ "@babel/plugin-transform-async-to-generator" "^7.5.0"
"@babel/plugin-transform-block-scoped-functions" "^7.2.0"
- "@babel/plugin-transform-block-scoping" "^7.4.4"
- "@babel/plugin-transform-classes" "^7.4.4"
+ "@babel/plugin-transform-block-scoping" "^7.5.5"
+ "@babel/plugin-transform-classes" "^7.5.5"
"@babel/plugin-transform-computed-properties" "^7.2.0"
- "@babel/plugin-transform-destructuring" "^7.4.4"
+ "@babel/plugin-transform-destructuring" "^7.5.0"
"@babel/plugin-transform-dotall-regex" "^7.4.4"
- "@babel/plugin-transform-duplicate-keys" "^7.2.0"
+ "@babel/plugin-transform-duplicate-keys" "^7.5.0"
"@babel/plugin-transform-exponentiation-operator" "^7.2.0"
"@babel/plugin-transform-for-of" "^7.4.4"
"@babel/plugin-transform-function-name" "^7.4.4"
"@babel/plugin-transform-literals" "^7.2.0"
"@babel/plugin-transform-member-expression-literals" "^7.2.0"
- "@babel/plugin-transform-modules-amd" "^7.2.0"
- "@babel/plugin-transform-modules-commonjs" "^7.4.4"
- "@babel/plugin-transform-modules-systemjs" "^7.4.4"
+ "@babel/plugin-transform-modules-amd" "^7.5.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.5.0"
+ "@babel/plugin-transform-modules-systemjs" "^7.5.0"
"@babel/plugin-transform-modules-umd" "^7.2.0"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.4"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5"
"@babel/plugin-transform-new-target" "^7.4.4"
- "@babel/plugin-transform-object-super" "^7.2.0"
+ "@babel/plugin-transform-object-super" "^7.5.5"
"@babel/plugin-transform-parameters" "^7.4.4"
"@babel/plugin-transform-property-literals" "^7.2.0"
- "@babel/plugin-transform-regenerator" "^7.4.4"
+ "@babel/plugin-transform-regenerator" "^7.4.5"
"@babel/plugin-transform-reserved-words" "^7.2.0"
"@babel/plugin-transform-shorthand-properties" "^7.2.0"
"@babel/plugin-transform-spread" "^7.2.0"
@@ -819,13 +864,21 @@
"@babel/plugin-transform-template-literals" "^7.4.4"
"@babel/plugin-transform-typeof-symbol" "^7.2.0"
"@babel/plugin-transform-unicode-regex" "^7.4.4"
- "@babel/types" "^7.4.4"
- browserslist "^4.5.2"
- core-js-compat "^3.0.0"
+ "@babel/types" "^7.5.5"
+ browserslist "^4.6.0"
+ core-js-compat "^3.1.1"
invariant "^2.2.2"
js-levenshtein "^1.1.3"
semver "^5.5.0"
+"@babel/preset-flow@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0.tgz#afd764835d9535ec63d8c7d4caf1c06457263da2"
+ integrity sha512-bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-transform-flow-strip-types" "^7.0.0"
+
"@babel/preset-react@7.0.0", "@babel/preset-react@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0"
@@ -845,6 +898,13 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-transform-typescript" "^7.3.2"
+"@babel/runtime@7.3.4":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.4.tgz#73d12ba819e365fcf7fd152aed56d6df97d21c83"
+ integrity sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g==
+ dependencies:
+ regenerator-runtime "^0.12.0"
+
"@babel/runtime@7.4.3":
version "7.4.3"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.3.tgz#79888e452034223ad9609187a0ad1fe0d2ad4bdc"
@@ -852,10 +912,10 @@
dependencies:
regenerator-runtime "^0.13.2"
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.2":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.4.tgz#dc2e34982eb236803aa27a07fea6857af1b9171d"
- integrity sha512-w0+uT71b6Yi7i5SE0co4NioIpSYS6lLiXvCzWzGSKvpK5vdQtCbICHMj+gbAKAOtxiV6HsVh/MBdaF9EQ6faSg==
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.1.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.3", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132"
+ integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ==
dependencies:
regenerator-runtime "^0.13.2"
@@ -868,28 +928,28 @@
"@babel/parser" "^7.4.4"
"@babel/types" "^7.4.4"
-"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.4.tgz#0776f038f6d78361860b6823887d4f3937133fe8"
- integrity sha512-Gw6qqkw/e6AGzlyj9KnkabJX7VcubqPtkUQVAwkc0wUMldr3A/hezNB3Rc5eIvId95iSGkGIOe5hh1kMKf951A==
+"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb"
+ integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==
dependencies:
- "@babel/code-frame" "^7.0.0"
- "@babel/generator" "^7.4.4"
+ "@babel/code-frame" "^7.5.5"
+ "@babel/generator" "^7.5.5"
"@babel/helper-function-name" "^7.1.0"
"@babel/helper-split-export-declaration" "^7.4.4"
- "@babel/parser" "^7.4.4"
- "@babel/types" "^7.4.4"
+ "@babel/parser" "^7.5.5"
+ "@babel/types" "^7.5.5"
debug "^4.1.0"
globals "^11.1.0"
- lodash "^4.17.11"
+ lodash "^4.17.13"
-"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.4.tgz#8db9e9a629bb7c29370009b4b779ed93fe57d5f0"
- integrity sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==
+"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a"
+ integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==
dependencies:
esutils "^2.0.2"
- lodash "^4.17.11"
+ lodash "^4.17.13"
to-fast-properties "^2.0.0"
"@cnakazawa/watch@^1.0.3":
@@ -910,31 +970,294 @@
resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-9.0.1.tgz#c27b391d8457d1e893f1eddeaf5e5412d12ffbb5"
integrity sha512-6It2EVfGskxZCQhuykrfnALg7oVeiI6KclWSmGDqB0AiInVrTGB9Jp9i4/Ad21u9Jde/voVQz6eFX/eSg/UsPA==
+"@deck.gl/aggregation-layers@7.1.10":
+ version "7.1.10"
+ resolved "https://registry.yarnpkg.com/@deck.gl/aggregation-layers/-/aggregation-layers-7.1.10.tgz#84743eb755af0294d021423c9f48ada1c4d30b3b"
+ integrity sha512-gNtjWAoYNcWjbB4iBuN2/CKyFvnN/NXtdUwoHiyXqonzLY7FZYYY9rTP4euSO0CRakCWMe91oLI1WBmZ2Bz32g==
+ dependencies:
+ d3-hexbin "^0.2.1"
+
+"@deck.gl/core@7.1.10":
+ version "7.1.10"
+ resolved "https://registry.yarnpkg.com/@deck.gl/core/-/core-7.1.10.tgz#7d4b291803d145f954ca3d2a6f892542a050dad0"
+ integrity sha512-LUgSyO4bZhlvoMGf6TZHTYc1Yra5vHfV/5l+b9f2f3CLyxJ2Tiu30owjWSWFg4EDfmrfnLR38XP1L5yCpCqa7Q==
+ dependencies:
+ "@luma.gl/core" "^7.1.0"
+ gl-matrix "^3.0.0"
+ math.gl "^2.3.0"
+ mjolnir.js "^2.1.2"
+ probe.gl "^3.0.1"
+ seer "^0.2.4"
+ viewport-mercator-project "^6.1.0"
+
+"@deck.gl/geo-layers@7.1.10":
+ version "7.1.10"
+ resolved "https://registry.yarnpkg.com/@deck.gl/geo-layers/-/geo-layers-7.1.10.tgz#b937293ed06c9370574b4d66b758090e40bd6120"
+ integrity sha512-DNG/grLm7l2xiAg7FSbMFAwX+j6JCGGZ4M+gOE1U7NVzyYfDg//8vYNMhsMFGYFMigpTiJQmAd0qLCSHws+A7g==
+ dependencies:
+ h3-js "^3.4.3"
+ long "^3.2.0"
+ s2-geometry "^1.2.10"
+
+"@deck.gl/google-maps@7.1.10":
+ version "7.1.10"
+ resolved "https://registry.yarnpkg.com/@deck.gl/google-maps/-/google-maps-7.1.10.tgz#5c52dd0143c4aa248d4728754e577b4ad3f13676"
+ integrity sha512-XkyT7gYGU6zV4nOGfA3UYvdyFjP/ey3T9o8i7wy5AEfNoTRb0zl2eYISfbiroBJVy2DYM6s72p3N1Tw7fBnTWQ==
+
+"@deck.gl/json@7.1.10":
+ version "7.1.10"
+ resolved "https://registry.yarnpkg.com/@deck.gl/json/-/json-7.1.10.tgz#f7bc69abe807aaf98aebf41cf179a57e5365da20"
+ integrity sha512-2vLEdZf2mJN2gYaUBo/Ol17kpXh/0IZprAl7YJism+L1aSu3qxeCvEE/KNv6xTwpNYI2grmDrBHyG0WAfKcAbw==
+ dependencies:
+ d3-dsv "^1.0.8"
+
+"@deck.gl/layers@7.1.10":
+ version "7.1.10"
+ resolved "https://registry.yarnpkg.com/@deck.gl/layers/-/layers-7.1.10.tgz#6dc5d8b8ff1dc68ece5cf5ecff3309f6c0bf0af4"
+ integrity sha512-mAXRKuRgr7CneQqe45MJl8KuJyXImsropeh3Si0Z5+6OD05wsnKRTy8uLMwSbvYSs9+Jg09cREjX3u/6KmgqAQ==
+ dependencies:
+ "@loaders.gl/core" "^1.0.3"
+ "@loaders.gl/images" "^1.0.3"
+ "@mapbox/tiny-sdf" "^1.1.0"
+ earcut "^2.0.6"
+
+"@deck.gl/mapbox@7.1.10":
+ version "7.1.10"
+ resolved "https://registry.yarnpkg.com/@deck.gl/mapbox/-/mapbox-7.1.10.tgz#f0821a8eeba55f01278e5618b8268fafcd0d0448"
+ integrity sha512-Pd+7AoUeXPCExVc+42JW44pSZqQpXOWt+qpapNdz3cNCkrACznnA2nY9pRTJ3F1RsFWbYvg2cxkMUtcyxtNohg==
+
+"@deck.gl/mesh-layers@7.1.10":
+ version "7.1.10"
+ resolved "https://registry.yarnpkg.com/@deck.gl/mesh-layers/-/mesh-layers-7.1.10.tgz#f1e518d88573e9d0e8b565fdfa3a83f7a61530b9"
+ integrity sha512-Uw6sKgKSswmsGFaJjaJwAKRupD7nU+4Kjeg+Jsql388RplHjarx8EJ6kpljbo3oHYBkrgTjXWOcakFF2+cv38Q==
+ dependencies:
+ "@loaders.gl/core" "^1.0.3"
+ "@loaders.gl/images" "^1.0.3"
+
+"@deck.gl/react@7.1.10":
+ version "7.1.10"
+ resolved "https://registry.yarnpkg.com/@deck.gl/react/-/react-7.1.10.tgz#cd00427bb85bb53d4e61f487aac2a30005315017"
+ integrity sha512-ODet368DBhh5iAMMmnONqeA8MbW15nBJ/Om4ilElPc4+kd2rJvBRAIFhnQKnCMgnGH0xvZ1yIi+VGUgbmv3CgQ==
+ dependencies:
+ prop-types "^15.6.0"
+
+"@emotion/babel-utils@^0.6.4":
+ version "0.6.10"
+ resolved "https://registry.yarnpkg.com/@emotion/babel-utils/-/babel-utils-0.6.10.tgz#83dbf3dfa933fae9fc566e54fbb45f14674c6ccc"
+ integrity sha512-/fnkM/LTEp3jKe++T0KyTszVGWNKPNOUJfjNKLO17BzQ6QPxgbg3whayom1Qr2oLFH3V92tDymU+dT5q676uow==
+ dependencies:
+ "@emotion/hash" "^0.6.6"
+ "@emotion/memoize" "^0.6.6"
+ "@emotion/serialize" "^0.9.1"
+ convert-source-map "^1.5.1"
+ find-root "^1.1.0"
+ source-map "^0.7.2"
+
+"@emotion/cache@^10.0.14", "@emotion/cache@^10.0.9":
+ version "10.0.14"
+ resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.14.tgz#56093cff025c04b0330bdd92afe8335ed326dd18"
+ integrity sha512-HNGEwWnPlNyy/WPXBXzbjzkzeZFV657Z99/xq2xs5yinJHbMfi3ioCvBJ6Y8Zc8DQzO9F5jDmVXJB41Ytx3QMw==
+ dependencies:
+ "@emotion/sheet" "0.9.3"
+ "@emotion/stylis" "0.8.4"
+ "@emotion/utils" "0.11.2"
+ "@emotion/weak-memoize" "0.2.3"
+
+"@emotion/core@^10.0.9":
+ version "10.0.14"
+ resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.14.tgz#cac5c334b278d5b7688cfff39e460a5b50abb71c"
+ integrity sha512-G9FbyxLm3lSnPfLDcag8fcOQBKui/ueXmWOhV+LuEQg9HrqExuWnWaO6gm6S5rNe+AMcqLXVljf8pYgAdFLNSg==
+ dependencies:
+ "@babel/runtime" "^7.4.3"
+ "@emotion/cache" "^10.0.14"
+ "@emotion/css" "^10.0.14"
+ "@emotion/serialize" "^0.11.8"
+ "@emotion/sheet" "0.9.3"
+ "@emotion/utils" "0.11.2"
+
+"@emotion/css@^10.0.14", "@emotion/css@^10.0.9":
+ version "10.0.14"
+ resolved "https://registry.yarnpkg.com/@emotion/css/-/css-10.0.14.tgz#95dacabdd0e22845d1a1b0b5968d9afa34011139"
+ integrity sha512-MozgPkBEWvorcdpqHZE5x1D/PLEHUitALQCQYt2wayf4UNhpgQs2tN0UwHYS4FMy5ROBH+0ALyCFVYJ/ywmwlg==
+ dependencies:
+ "@emotion/serialize" "^0.11.8"
+ "@emotion/utils" "0.11.2"
+ babel-plugin-emotion "^10.0.14"
+
+"@emotion/hash@0.7.2":
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.2.tgz#53211e564604beb9befa7a4400ebf8147473eeef"
+ integrity sha512-RMtr1i6E8MXaBWwhXL3yeOU8JXRnz8GNxHvaUfVvwxokvayUY0zoBeWbKw1S9XkufmGEEdQd228pSZXFkAln8Q==
+
+"@emotion/hash@^0.6.2", "@emotion/hash@^0.6.6":
+ version "0.6.6"
+ resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.6.6.tgz#62266c5f0eac6941fece302abad69f2ee7e25e44"
+ integrity sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ==
+
+"@emotion/is-prop-valid@0.8.2":
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.2.tgz#b9692080da79041683021fcc32f96b40c54c59dc"
+ integrity sha512-ZQIMAA2kLUWiUeMZNJDTeCwYRx1l8SQL0kHktze4COT22occKpDML1GDUXP5/sxhOMrZO8vZw773ni4H5Snrsg==
+ dependencies:
+ "@emotion/memoize" "0.7.2"
+
+"@emotion/memoize@0.7.2":
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.2.tgz#7f4c71b7654068dfcccad29553520f984cc66b30"
+ integrity sha512-hnHhwQzvPCW1QjBWFyBtsETdllOM92BfrKWbUTmh9aeOlcVOiXvlPsK4104xH8NsaKfg86PTFsWkueQeUfMA/w==
+
+"@emotion/memoize@^0.6.1", "@emotion/memoize@^0.6.6":
+ version "0.6.6"
+ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.6.6.tgz#004b98298d04c7ca3b4f50ca2035d4f60d2eed1b"
+ integrity sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ==
+
+"@emotion/serialize@^0.11.8":
+ version "0.11.8"
+ resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.8.tgz#e41dcf7029e45286a3e0cf922933e670fe05402c"
+ integrity sha512-Qb6Us2Yk1ZW8SOYH6s5z7qzXXb2iHwVeqc6FjXtac0vvxC416ki0eTtHNw4Q5smoyxdyZh3519NKGrQvvvrZ/Q==
+ dependencies:
+ "@emotion/hash" "0.7.2"
+ "@emotion/memoize" "0.7.2"
+ "@emotion/unitless" "0.7.4"
+ "@emotion/utils" "0.11.2"
+ csstype "^2.5.7"
+
+"@emotion/serialize@^0.9.1":
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.9.1.tgz#a494982a6920730dba6303eb018220a2b629c145"
+ integrity sha512-zTuAFtyPvCctHBEL8KZ5lJuwBanGSutFEncqLn/m9T1a6a93smBStK+bZzcNPgj4QS8Rkw9VTwJGhRIUVO8zsQ==
+ dependencies:
+ "@emotion/hash" "^0.6.6"
+ "@emotion/memoize" "^0.6.6"
+ "@emotion/unitless" "^0.6.7"
+ "@emotion/utils" "^0.8.2"
+
+"@emotion/sheet@0.9.3":
+ version "0.9.3"
+ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.3.tgz#689f135ecf87d3c650ed0c4f5ddcbe579883564a"
+ integrity sha512-c3Q6V7Df7jfwSq5AzQWbXHa5soeE4F5cbqi40xn0CzXxWW9/6Mxq48WJEtqfWzbZtW9odZdnRAkwCQwN12ob4A==
+
+"@emotion/styled-base@^10.0.14":
+ version "10.0.14"
+ resolved "https://registry.yarnpkg.com/@emotion/styled-base/-/styled-base-10.0.14.tgz#1b78a93e067ea852b2069339fcfd72c32ec91e4d"
+ integrity sha512-1nC5iO/Rk0DY47M5wXCyWpbo/woiwXWfVbNKDM3QRi7CKq8CwC++PQ5HgiYflFrAt1vjzIVZqnzrIn3idUoQgg==
+ dependencies:
+ "@babel/runtime" "^7.4.3"
+ "@emotion/is-prop-valid" "0.8.2"
+ "@emotion/serialize" "^0.11.8"
+ "@emotion/utils" "0.11.2"
+
+"@emotion/styled@^10.0.7":
+ version "10.0.14"
+ resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-10.0.14.tgz#538bcf0d67bf8f6de946bcfbee53dc7d0187b346"
+ integrity sha512-Ae8d5N/FmjvZKXjqWcjfhZhjCdkvxZSqD95Q72BYDNQnsOKLHIA4vWlMolLXDNkw1dIxV3l2pp82Z87HXj6eYQ==
+ dependencies:
+ "@emotion/styled-base" "^10.0.14"
+ babel-plugin-emotion "^10.0.14"
+
+"@emotion/stylis@0.8.4":
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.4.tgz#6c51afdf1dd0d73666ba09d2eb6c25c220d6fe4c"
+ integrity sha512-TLmkCVm8f8gH0oLv+HWKiu7e8xmBIaokhxcEKPh1m8pXiV/akCiq50FvYgOwY42rjejck8nsdQxZlXZ7pmyBUQ==
+
+"@emotion/stylis@^0.7.0":
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.7.1.tgz#50f63225e712d99e2b2b39c19c70fff023793ca5"
+ integrity sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ==
+
+"@emotion/unitless@0.7.4":
+ version "0.7.4"
+ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.4.tgz#a87b4b04e5ae14a88d48ebef15015f6b7d1f5677"
+ integrity sha512-kBa+cDHOR9jpRJ+kcGMsysrls0leukrm68DmFQoMIWQcXdr2cZvyvypWuGYT7U+9kAExUE7+T7r6G3C3A6L8MQ==
+
+"@emotion/unitless@^0.6.2", "@emotion/unitless@^0.6.7":
+ version "0.6.7"
+ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.6.7.tgz#53e9f1892f725b194d5e6a1684a7b394df592397"
+ integrity sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg==
+
+"@emotion/utils@0.11.2":
+ version "0.11.2"
+ resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.2.tgz#713056bfdffb396b0a14f1c8f18e7b4d0d200183"
+ integrity sha512-UHX2XklLl3sIaP6oiMmlVzT0J+2ATTVpf0dHQVyPJHTkOITvXfaSqnRk6mdDhV9pR8T/tHc3cex78IKXssmzrA==
+
+"@emotion/utils@^0.8.2":
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.8.2.tgz#576ff7fb1230185b619a75d258cbc98f0867a8dc"
+ integrity sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw==
+
+"@emotion/weak-memoize@0.2.3":
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.3.tgz#dfa0c92efe44a1d1a7974fb49ffeb40ef2da5a27"
+ integrity sha512-zVgvPwGK7c1aVdUVc9Qv7SqepOGRDrqCw7KZPSZziWGxSlbII3gmvGLPzLX4d0n0BMbamBacUrN22zOMyFFEkQ==
+
+"@fortawesome/fontawesome-common-types@^0.2.19":
+ version "0.2.19"
+ resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.19.tgz#754a0f85e1290858152e1c05700ab502b11197f1"
+ integrity sha512-nd2Ul/CUs8U9sjofQYAALzOGpgkVJQgEhIJnOHaoyVR/LeC3x2mVg4eB910a4kS6WgLPebAY0M2fApEI497raQ==
+
+"@fortawesome/fontawesome-svg-core@^1.2.19":
+ version "1.2.19"
+ resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.19.tgz#0eca1ce9285c3d99e6e340633ee8f615f9d1a2e0"
+ integrity sha512-D4ICXg9oU08eF9o7Or392gPpjmwwgJu8ecCFusthbID95CLVXOgIyd4mOKD9Nud5Ckz+Ty59pqkNtThDKR0erA==
+ dependencies:
+ "@fortawesome/fontawesome-common-types" "^0.2.19"
+
+"@fortawesome/free-solid-svg-icons@^5.9.0":
+ version "5.9.0"
+ resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.9.0.tgz#1c73e7bac17417d23f934d83f7fff5b100a7fda9"
+ integrity sha512-U8YXPfWcSozsCW0psCtlRGKjjRs5+Am5JJwLOUmVHFZbIEWzaz4YbP84EoPwUsVmSAKrisu3QeNcVOtmGml0Xw==
+ dependencies:
+ "@fortawesome/fontawesome-common-types" "^0.2.19"
+
+"@fortawesome/react-fontawesome@^0.1.4":
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.4.tgz#18d61d9b583ca289a61aa7dccc05bd164d6bc9ad"
+ integrity sha512-GwmxQ+TK7PEdfSwvxtGnMCqrfEm0/HbRHArbUudsYiy9KzVCwndxa2KMcfyTQ8El0vROrq8gOOff09RF1oQe8g==
+ dependencies:
+ humps "^2.0.1"
+ prop-types "^15.5.10"
+
"@hapi/address@2.x.x":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a"
integrity sha512-mV6T0IYqb0xL1UALPFplXYQmR0twnXG0M6jUswpquqT2sD12BOiCiLy3EvMp/Fy7s3DZElC4/aPjEjo2jeZpvw==
"@hapi/hoek@6.x.x":
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-6.2.1.tgz#d3a66329159af879bfdf0b0cff2229c43c5a3451"
- integrity sha512-+ryw4GU9pjr1uT6lBuErHJg3NYqzwJTvZ75nKuJijEzpd00Uqi6oiawTGDDf5Hl0zWmI7qHfOtaqB0kpQZJQzA==
+ version "6.2.4"
+ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-6.2.4.tgz#4b95fbaccbfba90185690890bdf1a2fbbda10595"
+ integrity sha512-HOJ20Kc93DkDVvjwHyHawPwPkX44sIrbXazAUDiUXaY2R9JwQGo2PhFfnQtdrsIe4igjG2fPgMra7NYw7qhy0A==
+
+"@hapi/hoek@8.x.x":
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.0.2.tgz#f63a5ff00e891a4e7aa98f11119f9515c6672032"
+ integrity sha512-O6o6mrV4P65vVccxymuruucb+GhP2zl9NLCG8OdoFRS8BEGw3vwpPp20wpAtpbQQxz1CEUtmxJGgWhjq1XA3qw==
"@hapi/joi@^15.0.0":
- version "15.0.2"
- resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.0.2.tgz#2989041a06ee2941cf6dd247ffff8032640d16bb"
- integrity sha512-c3NwWBHzUnEavcaCpGaepOcygS17pSnOh5ZYUBz+sfqCP7kC9haLcRnd3U8KFC4TbLFmRwKnmYglsc47m9yapg==
+ version "15.1.0"
+ resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.0.tgz#940cb749b5c55c26ab3b34ce362e82b6162c8e7a"
+ integrity sha512-n6kaRQO8S+kepUTbXL9O/UOL788Odqs38/VOfoCrATDtTvyfiO3fgjlSRaNkHabpTLgM7qru9ifqXlXbXk8SeQ==
dependencies:
"@hapi/address" "2.x.x"
"@hapi/hoek" "6.x.x"
+ "@hapi/marker" "1.x.x"
"@hapi/topo" "3.x.x"
+"@hapi/marker@1.x.x":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@hapi/marker/-/marker-1.0.0.tgz#65b0b2b01d1be06304886ce9b4b77b1bfb21a769"
+ integrity sha512-JOfdekTXnJexfE8PyhZFyHvHjt81rBFSAbTIRAhF2vv/2Y1JzoKsGqxH/GpZJoF7aEfYok8JVcAHmSz1gkBieA==
+
"@hapi/topo@3.x.x":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.0.tgz#5c47cd9637c2953db185aa957a27bcb2a8b7a6f8"
- integrity sha512-gZDI/eXOIk8kP2PkUKjWu9RW8GGVd2Hkgjxyr/S7Z+JF+0mr7bAlbw+DkTRxnD580o8Kqxlnba9wvqp5aOHBww==
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.2.tgz#57cc1317be1a8c5f47c124f9b0e3c49cd78424d2"
+ integrity sha512-r+aumOqJ5QbD6aLPJWqVjMAPsx5pZKz+F5yPqXZ/WWG9JTtHbQqlzrJoknJ0iJxLj9vlXtmpSdjlkszseeG8OA==
dependencies:
- "@hapi/hoek" "6.x.x"
+ "@hapi/hoek" "8.x.x"
+
+"@icons/material@^0.2.4":
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/@icons/material/-/material-0.2.4.tgz#e90c9f71768b3736e76d7dd6783fc6c2afa88bc8"
+ integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==
"@jest/console@^24.7.1":
version "24.7.1"
@@ -1082,6 +1405,132 @@
"@types/istanbul-reports" "^1.1.1"
"@types/yargs" "^12.0.9"
+"@loaders.gl/core@^1.0.3":
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/@loaders.gl/core/-/core-1.1.6.tgz#6963e14e93663d9582238f39e70607b01a172c36"
+ integrity sha512-/byPhredVzkxAMVR8CAaD8uzB72p6/pWAmgkvZmDeI7dHrCiQGt59EolmTJoQ5c50FMAFKQ75tidXor7D+fObA==
+ dependencies:
+ "@babel/runtime" "^7.3.1"
+
+"@loaders.gl/images@^1.0.3":
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/@loaders.gl/images/-/images-1.1.6.tgz#21dd3238c97ad1164f7c0ed43d18edaec49d97e1"
+ integrity sha512-Ad63Uj0VGzmA71ucThnyc+VYsJJKZqYKkmANsQDDFe8p9UiR8JaI8DNLTJCfEtusyl5KVBWzWIdqXGPoT2uLWA==
+
+"@luma.gl/constants@7.1.1":
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/@luma.gl/constants/-/constants-7.1.1.tgz#f966fad9069722974e1b7bcae2fcd7a2444090dc"
+ integrity sha512-F+lkZzMJNPvGeTCkOezyHafAb48ottMx10PYx3j1rsKFBM2v1LgBHnV1I37xjkrx8PMhdb/2zMg80nRrniudGw==
+
+"@luma.gl/core@^7.1.0":
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/@luma.gl/core/-/core-7.1.1.tgz#cc9fde5845c2e76b1b1f7a38c6e50ceb49f5bcd1"
+ integrity sha512-C39SmKXiDLyACnYXe5d09Gwh5f011xkNQ8RsE6ffWVGCTWIIb9rK9z1g0L6JuViV/xmWco/sO1SdMQ8uLjC8Zw==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ "@luma.gl/constants" "7.1.1"
+ "@luma.gl/shadertools" "7.1.1"
+ "@luma.gl/webgl" "7.1.1"
+ "@luma.gl/webgl-state-tracker" "7.1.1"
+ "@luma.gl/webgl2-polyfill" "7.1.1"
+ math.gl "^2.3.0"
+ probe.gl "^3.0.2"
+ seer "^0.2.4"
+
+"@luma.gl/shadertools@7.1.1":
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/@luma.gl/shadertools/-/shadertools-7.1.1.tgz#084f6bd18632784ef20d20c4265a167179da6336"
+ integrity sha512-Mr+6LiMUGfnrD9wYEQBa51Far3G33wxNXbl6kGHq4wgyewlpAHPfTuzqLig2o44G7VvGm/BCCAjvr6yXeluUIw==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ math.gl "^2.3.0"
+
+"@luma.gl/webgl-state-tracker@7.1.1":
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.1.1.tgz#ffe37273db771d8c73c2ad3acc2933fffa93d388"
+ integrity sha512-eF63OgMwkt9+XKH9LZ/SIzsZDZiLISfc+jNvRKmT1UyKbxQLJ99V8D9d6tF8GFAl1/0To3d4hdTce2HmjwhXsg==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ "@luma.gl/constants" "7.1.1"
+
+"@luma.gl/webgl2-polyfill@7.1.1":
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/@luma.gl/webgl2-polyfill/-/webgl2-polyfill-7.1.1.tgz#ae75512e01e3ccf4cf675f87cdaf238afe7f8267"
+ integrity sha512-UJxDVG4tojuStNi43ERxFiojgkTHi5ScbuL0Msr8id7X7L9UmeCiQ4H6p9m002yy5swCsJlWg/Y8oEtUA5jhqw==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ "@luma.gl/constants" "7.1.1"
+
+"@luma.gl/webgl@7.1.1":
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/@luma.gl/webgl/-/webgl-7.1.1.tgz#6e227d93f6948af639a7399653018aa42c6ca91a"
+ integrity sha512-2FkkSFdsE6TeA5dTez/pz44rQEoe8dAmyF+z2jsIrHWtIS+pW16L6R/iGwmwqGrEWgYbFkhihrHI21teNM633g==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ "@luma.gl/constants" "7.1.1"
+ "@luma.gl/webgl-state-tracker" "7.1.1"
+ "@luma.gl/webgl2-polyfill" "7.1.1"
+ probe.gl "^3.0.2"
+
+"@mapbox/geojson-area@0.2.2":
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/@mapbox/geojson-area/-/geojson-area-0.2.2.tgz#18d7814aa36bf23fbbcc379f8e26a22927debf10"
+ integrity sha1-GNeBSqNr8j+7zDefjiaiKSfevxA=
+ dependencies:
+ wgs84 "0.0.0"
+
+"@mapbox/geojson-rewind@^0.4.0":
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/@mapbox/geojson-rewind/-/geojson-rewind-0.4.0.tgz#0d3632d4c1b4a928cf10a06ade387e1c8a8c181b"
+ integrity sha512-b+1uPWBERW4Pet/969BNu61ZPDyH2ilIxBjJDFzxyS9TyszF9UrTQyYIl/G38clux3rtpAGGFSGTCSF/qR6UjA==
+ dependencies:
+ "@mapbox/geojson-area" "0.2.2"
+ concat-stream "~1.6.0"
+ minimist "1.2.0"
+ sharkdown "^0.1.0"
+
+"@mapbox/geojson-types@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@mapbox/geojson-types/-/geojson-types-1.0.2.tgz#9aecf642cb00eab1080a57c4f949a65b4a5846d6"
+ integrity sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw==
+
+"@mapbox/jsonlint-lines-primitives@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz#ce56e539f83552b58d10d672ea4d6fc9adc7b234"
+ integrity sha1-zlblOfg1UrWNENZy6k1vya3HsjQ=
+
+"@mapbox/mapbox-gl-supported@^1.4.0":
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.4.1.tgz#c0a03cf75f8b0ad7b57849d6c7e91b0aec4b640f"
+ integrity sha512-yyKza9S6z3ELKuf6w5n6VNUB0Osu6Z93RXPfMHLIlNWohu3KqxewLOq4lMXseYJ92GwkRAxd207Pr/Z98cwmvw==
+
+"@mapbox/point-geometry@0.1.0", "@mapbox/point-geometry@^0.1.0", "@mapbox/point-geometry@~0.1.0":
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz#8a83f9335c7860effa2eeeca254332aa0aeed8f2"
+ integrity sha1-ioP5M1x4YO/6Lu7KJUMyqgru2PI=
+
+"@mapbox/tiny-sdf@^1.1.0":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@mapbox/tiny-sdf/-/tiny-sdf-1.1.1.tgz#16a20c470741bfe9191deb336f46e194da4a91ff"
+ integrity sha512-Ihn1nZcGIswJ5XGbgFAvVumOgWpvIjBX9jiRlIl46uQG9vJOF51ViBYHF95rEZupuyQbEmhLaDPLQlU7fUTsBg==
+
+"@mapbox/unitbezier@^0.0.0":
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz#15651bd553a67b8581fb398810c98ad86a34524e"
+ integrity sha1-FWUb1VOme4WB+zmIEMmK2Go0Uk4=
+
+"@mapbox/vector-tile@^1.3.1":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz#d3a74c90402d06e89ec66de49ec817ff53409666"
+ integrity sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==
+ dependencies:
+ "@mapbox/point-geometry" "~0.1.0"
+
+"@mapbox/whoots-js@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz#497c67a1cef50d1a2459ba60f315e448d2ad87fe"
+ integrity sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==
+
"@mrmlnc/readdir-enhanced@^2.2.1":
version "2.2.1"
resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
@@ -1095,6 +1544,457 @@
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
+"@reach/router@^1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.2.1.tgz#34ae3541a5ac44fa7796e5506a5d7274a162be4e"
+ integrity sha512-kTaX08X4g27tzIFQGRukaHmNbtMYDS3LEWIS8+l6OayGIw6Oyo1HIF/JzeuR2FoF9z6oV+x/wJSVSq4v8tcUGQ==
+ dependencies:
+ create-react-context "^0.2.1"
+ invariant "^2.2.3"
+ prop-types "^15.6.1"
+ react-lifecycles-compat "^3.0.4"
+ warning "^3.0.0"
+
+"@react-bootstrap/react-popper@1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@react-bootstrap/react-popper/-/react-popper-1.2.1.tgz#4edf4851d5b4dcf2eb6b264ebbed1a7b7654177b"
+ integrity sha512-4l3q7LcZEhrSkI4d3Ie3g4CdrXqqTexXX4PFT45CB0z5z2JUbaxgRwKNq7r5j2bLdVpZm+uvUGqxJw8d9vgbJQ==
+ dependencies:
+ babel-runtime "6.x.x"
+ create-react-context "^0.2.1"
+ popper.js "^1.14.4"
+ prop-types "^15.6.1"
+ typed-styles "^0.0.5"
+ warning "^3.0.0"
+
+"@redux-saga/core@^1.0.3":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@redux-saga/core/-/core-1.0.3.tgz#c29ec7ae3d7dfcbcb8dc93177f2b3edc798c5d85"
+ integrity sha512-zf8h5N0oTzaNeSMxOWH9GJMB9IRSM8JubDsrZVsvVltXjzFFSR8DNt7tbPoRJUK0hFfQB1it+bL+dEMWpD7wXA==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ "@redux-saga/deferred" "^1.0.1"
+ "@redux-saga/delay-p" "^1.0.1"
+ "@redux-saga/is" "^1.0.2"
+ "@redux-saga/symbols" "^1.0.1"
+ "@redux-saga/types" "^1.0.2"
+ redux ">=0.10 <5"
+ typescript-tuple "^2.1.0"
+
+"@redux-saga/deferred@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@redux-saga/deferred/-/deferred-1.0.1.tgz#c895445e486bded90acf0b873b4e978fbfe458c2"
+ integrity sha512-+gW5xQ93QXOOmRLAmX8x2Hx1HpbTG6CM6+HcdTSbJovh4uMWaGyeDECnqXSt8QqA/ja3s2nqYXLqXFKepIQ1hw==
+
+"@redux-saga/delay-p@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@redux-saga/delay-p/-/delay-p-1.0.1.tgz#d69fc6103c7509ae80faa144ea17bbc69e51e029"
+ integrity sha512-0SnNDyDLUyB4NThtptAwiprNOnbCNhoed/Rp5JwS7SB+a/AdWynVgg/E6BmjsggLFNr07KW0bzn05tsPRBuU7Q==
+ dependencies:
+ "@redux-saga/symbols" "^1.0.1"
+
+"@redux-saga/is@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@redux-saga/is/-/is-1.0.2.tgz#7f4be014c97061898d7efb11d6c9de31e943ed38"
+ integrity sha512-WnaUOwYvPK2waWjzebT4uhL8zY76XNkzzpJ2EQJe8bN1tByvAjvT7MuJZTSshOhdHL5PsRO0MsH224XIXBJidQ==
+ dependencies:
+ "@redux-saga/symbols" "^1.0.1"
+ "@redux-saga/types" "^1.0.2"
+
+"@redux-saga/symbols@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@redux-saga/symbols/-/symbols-1.0.1.tgz#46512ae1275f88df061c42168d0f600ddb170c1e"
+ integrity sha512-akKkzcVnb1RzJaZV2LQFbi51abvdICMuAKwwLoCjjxLbLAGIw9EJxk5ucNnWSSCEsoEQMeol5tkAcK+Xzuv1Bg==
+
+"@redux-saga/types@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@redux-saga/types/-/types-1.0.2.tgz#1d94f02800b094753f9271c206a26c2a06ca14ee"
+ integrity sha512-8/qcMh15507AnXJ3lBeuhsdFwnWQqnp68EpUuHlYPixJ5vjVmls7/Jq48cnUlrZI8Jd9U1jkhfCl0gaT5KMgVw==
+
+"@restart/context@^2.1.4":
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/@restart/context/-/context-2.1.4.tgz#a99d87c299a34c28bd85bb489cb07bfd23149c02"
+ integrity sha512-INJYZQJP7g+IoDUh/475NlGiTeMfwTXUEr3tmRneckHIxNolGOW9CTq83S8cxq0CgJwwcMzMJFchxvlwe7Rk8Q==
+
+"@restart/hooks@^0.3.0":
+ version "0.3.7"
+ resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.3.7.tgz#8d2768be4822260db7ce074f23ee70d19317fba1"
+ integrity sha512-6jcSoS7VIJf/KMN4AoSwWyZfvl3pFwIrZAD0krvcawnKlMQ68mFkHLjZskPnp0nP7oTMnirNIgn4flIegD+sJw==
+
+"@storybook/addon-actions@^5.0.11":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-5.1.9.tgz#a515b62b109cb886ccd75ef2f5b12f8c27b43dd3"
+ integrity sha512-h/csHPotBESyEUYlML3yyF2jUlDChB+u3TUNC3Ztzh/x7HzLqy88SL0INSIdY0dCBGx4TK5Gh+rMI7z28Hfdyw==
+ dependencies:
+ "@storybook/addons" "5.1.9"
+ "@storybook/api" "5.1.9"
+ "@storybook/components" "5.1.9"
+ "@storybook/core-events" "5.1.9"
+ "@storybook/theming" "5.1.9"
+ core-js "^3.0.1"
+ fast-deep-equal "^2.0.1"
+ global "^4.3.2"
+ lodash "^4.17.11"
+ polished "^3.3.1"
+ prop-types "^15.7.2"
+ react "^16.8.3"
+ react-inspector "^3.0.2"
+ uuid "^3.3.2"
+
+"@storybook/addon-centered@^5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-centered/-/addon-centered-5.1.9.tgz#7a074b1d18450c74bbccac48ecd27db8ca38cc2c"
+ integrity sha512-0GVeRU+i20VDYaO5v404TRx3pBdXsItVuVlyRMnjMye39HLVbL/poaJdk2/PMrrP69ZJr1g5XnH3WmCIzi8T9Q==
+ dependencies:
+ core-js "^3.0.1"
+ global "^4.3.2"
+ util-deprecate "^1.0.2"
+ optionalDependencies:
+ mithril "*"
+ preact "*"
+ react "*"
+
+"@storybook/addon-cssresources@^5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-cssresources/-/addon-cssresources-5.1.9.tgz#300649e7e2efaf8e2ba1dcf7064b9c2085360729"
+ integrity sha512-7IJNGPYI71Cbk3Kc+33/SWTinjDYjzwU5N6xeSVQrf6SWNRJtTKHbAAka96wLr7jRLeDrE4Ylh1SRMHdVwUIyQ==
+ dependencies:
+ "@storybook/addons" "5.1.9"
+ "@storybook/api" "5.1.9"
+ "@storybook/components" "5.1.9"
+ "@storybook/core-events" "5.1.9"
+ core-js "^3.0.1"
+ global "^4.3.2"
+ react "^16.8.3"
+
+"@storybook/addon-knobs@^5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-5.1.9.tgz#74db07fd644b41e63274f8754fbfb18f43d4cf01"
+ integrity sha512-7/bICMYtR9CaTqfZX1kT2pBOTLZo3HxeslyQKWWsWlNElV33Ym2d0PPL5eS36eFxG/ZOp6lQWIFhunNnlmP5xg==
+ dependencies:
+ "@storybook/addons" "5.1.9"
+ "@storybook/client-api" "5.1.9"
+ "@storybook/components" "5.1.9"
+ "@storybook/core-events" "5.1.9"
+ "@storybook/theming" "5.1.9"
+ copy-to-clipboard "^3.0.8"
+ core-js "^3.0.1"
+ escape-html "^1.0.3"
+ fast-deep-equal "^2.0.1"
+ global "^4.3.2"
+ lodash "^4.17.11"
+ prop-types "^15.7.2"
+ qs "^6.6.0"
+ react-color "^2.17.0"
+ react-lifecycles-compat "^3.0.4"
+ react-select "^2.2.0"
+
+"@storybook/addon-notes@^5.0.11":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-notes/-/addon-notes-5.1.9.tgz#7a19373589b4280b9a10a107a0357e63d2d56f5c"
+ integrity sha512-UE+/RNysKRo2ZqCaqllwwV59x2S1laZjF4Netcm0nf9dKNcnqOoSHlTs0t4m8WpmfBQKAde4p+8fJGP2bCM+8A==
+ dependencies:
+ "@storybook/addons" "5.1.9"
+ "@storybook/api" "5.1.9"
+ "@storybook/client-logger" "5.1.9"
+ "@storybook/components" "5.1.9"
+ "@storybook/core-events" "5.1.9"
+ "@storybook/router" "5.1.9"
+ "@storybook/theming" "5.1.9"
+ core-js "^3.0.1"
+ global "^4.3.2"
+ markdown-to-jsx "^6.9.3"
+ memoizerific "^1.11.3"
+ prop-types "^15.7.2"
+ util-deprecate "^1.0.2"
+
+"@storybook/addons@5.1.9", "@storybook/addons@^5.0.11":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-5.1.9.tgz#ecf218d08508b97ca5e6e0f1ed361081385bd3ff"
+ integrity sha512-1bavbcS/NiE65DwyKj8c0DmWmz9VekOinB+has2Pqt2bOffZoZwVnbmepcz9hH3GUyvp5fQBYbxTEmTDvF2lLA==
+ dependencies:
+ "@storybook/api" "5.1.9"
+ "@storybook/channels" "5.1.9"
+ "@storybook/client-logger" "5.1.9"
+ core-js "^3.0.1"
+ global "^4.3.2"
+ util-deprecate "^1.0.2"
+
+"@storybook/api@5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/api/-/api-5.1.9.tgz#eec5b2f775392ce0803930104c6ce14fa4931e8b"
+ integrity sha512-d1HhpOkW+706/WJ9lP5nCqOrp/icvbm0o+6jFFOGJ35AW5O9D8vDBxzvgMEO45jjN4I+rtbcNHQCxshSbPvP9w==
+ dependencies:
+ "@storybook/channels" "5.1.9"
+ "@storybook/client-logger" "5.1.9"
+ "@storybook/core-events" "5.1.9"
+ "@storybook/router" "5.1.9"
+ "@storybook/theming" "5.1.9"
+ core-js "^3.0.1"
+ fast-deep-equal "^2.0.1"
+ global "^4.3.2"
+ lodash "^4.17.11"
+ memoizerific "^1.11.3"
+ prop-types "^15.6.2"
+ react "^16.8.3"
+ semver "^6.0.0"
+ shallow-equal "^1.1.0"
+ store2 "^2.7.1"
+ telejson "^2.2.1"
+ util-deprecate "^1.0.2"
+
+"@storybook/channel-postmessage@5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-5.1.9.tgz#bd710ca74d7998a234c6b1f38009020d7c34bbc0"
+ integrity sha512-H71PsnDKW81eflOS48Lv9yK4O8AcoqXL6ohsWvLdrHWIBsH4zpjOIhdWHtmAaT3hyfMy+l49DQ+uCHLECEt55g==
+ dependencies:
+ "@storybook/channels" "5.1.9"
+ "@storybook/client-logger" "5.1.9"
+ core-js "^3.0.1"
+ global "^4.3.2"
+ telejson "^2.2.1"
+
+"@storybook/channels@5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-5.1.9.tgz#003cfca0b9f1ba6cf47ce68304aedd71bdb55e74"
+ integrity sha512-R6i7859FsXgY9XFFErVe7gS37wGYpQEEWsO1LzUW7YptGuFTUa8yLgKkNkgfy7Zs61Xm+GiBq8PvS/CWxjotPw==
+ dependencies:
+ core-js "^3.0.1"
+
+"@storybook/client-api@5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-5.1.9.tgz#b598efe4ab07bffaeb4cb9e30ed9c21add739df1"
+ integrity sha512-J5HDtOS7x5YRpF/CMiHdxywV5NIh1i/03Xh2RhG15lmPy87VStIGpLzhF71uCRPLEJinYelcjuXRNAJgRzUOlg==
+ dependencies:
+ "@storybook/addons" "5.1.9"
+ "@storybook/client-logger" "5.1.9"
+ "@storybook/core-events" "5.1.9"
+ "@storybook/router" "5.1.9"
+ common-tags "^1.8.0"
+ core-js "^3.0.1"
+ eventemitter3 "^3.1.0"
+ global "^4.3.2"
+ is-plain-object "^3.0.0"
+ lodash "^4.17.11"
+ memoizerific "^1.11.3"
+ qs "^6.6.0"
+
+"@storybook/client-logger@5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-5.1.9.tgz#87e2f7578416269adeccd407584010bc353f14d3"
+ integrity sha512-1+Otcn0EFgWNviDPNCR5LtUViADlboz9fmpZc7UY7bgaY5FVNIUO01E4T43tO7fduiRZoEvdltwTuQRm260Vjw==
+ dependencies:
+ core-js "^3.0.1"
+
+"@storybook/components@5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.1.9.tgz#2a5258780fff07172d103287759946dbb4b13e2d"
+ integrity sha512-F4xcRlifSAfqkuFWtCKRvQDahXyfWBWV2Wa+kYy4YGwEfm3kKtIHVlgdgARL22g9BdYpRFEOJ+42juOu5YvIeQ==
+ dependencies:
+ "@storybook/client-logger" "5.1.9"
+ "@storybook/theming" "5.1.9"
+ core-js "^3.0.1"
+ global "^4.3.2"
+ markdown-to-jsx "^6.9.1"
+ memoizerific "^1.11.3"
+ polished "^3.3.1"
+ popper.js "^1.14.7"
+ prop-types "^15.7.2"
+ react "^16.8.3"
+ react-dom "^16.8.3"
+ react-focus-lock "^1.18.3"
+ react-helmet-async "^1.0.2"
+ react-popper-tooltip "^2.8.3"
+ react-syntax-highlighter "^8.0.1"
+ react-textarea-autosize "^7.1.0"
+ recompose "^0.30.0"
+ simplebar-react "^1.0.0-alpha.6"
+
+"@storybook/core-events@5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.1.9.tgz#441a6297e2ccfa743e15d1db1f4ac445b91f40d8"
+ integrity sha512-jHe2uyoLj9i6fntHtOj5azfGdLOb75LF0e1xXE8U2SX7Zp3uwbLAcfJ+dPStdc/q+f/wBiip3tH1dIjaNuUiMw==
+ dependencies:
+ core-js "^3.0.1"
+
+"@storybook/core@5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/core/-/core-5.1.9.tgz#8b30507676531fd41ac333b7c71b1c0db6b8da35"
+ integrity sha512-P3aavCnl3Cl3WMXVERjQqnqV1Z8tN0tyOTqqiGb1fMxITSE8uZNvp33Dl0K3jr1PBl9trW+2t7eHH4h0sguLlQ==
+ dependencies:
+ "@babel/plugin-proposal-class-properties" "^7.3.3"
+ "@babel/plugin-proposal-object-rest-spread" "^7.3.2"
+ "@babel/plugin-syntax-dynamic-import" "^7.2.0"
+ "@babel/plugin-transform-react-constant-elements" "^7.2.0"
+ "@babel/preset-env" "^7.4.5"
+ "@storybook/addons" "5.1.9"
+ "@storybook/channel-postmessage" "5.1.9"
+ "@storybook/client-api" "5.1.9"
+ "@storybook/client-logger" "5.1.9"
+ "@storybook/core-events" "5.1.9"
+ "@storybook/node-logger" "5.1.9"
+ "@storybook/router" "5.1.9"
+ "@storybook/theming" "5.1.9"
+ "@storybook/ui" "5.1.9"
+ airbnb-js-shims "^1 || ^2"
+ autoprefixer "^9.4.9"
+ babel-plugin-add-react-displayname "^0.0.5"
+ babel-plugin-emotion "^10.0.9"
+ babel-plugin-macros "^2.4.5"
+ babel-preset-minify "^0.5.0 || 0.6.0-alpha.5"
+ boxen "^3.0.0"
+ case-sensitive-paths-webpack-plugin "^2.2.0"
+ chalk "^2.4.2"
+ cli-table3 "0.5.1"
+ commander "^2.19.0"
+ common-tags "^1.8.0"
+ core-js "^3.0.1"
+ corejs-upgrade-webpack-plugin "^2.0.0"
+ css-loader "^2.1.1"
+ detect-port "^1.3.0"
+ dotenv-webpack "^1.7.0"
+ ejs "^2.6.1"
+ express "^4.17.0"
+ file-loader "^3.0.1"
+ file-system-cache "^1.0.5"
+ find-cache-dir "^3.0.0"
+ fs-extra "^8.0.1"
+ global "^4.3.2"
+ html-webpack-plugin "^4.0.0-beta.2"
+ inquirer "^6.2.0"
+ interpret "^1.2.0"
+ ip "^1.1.5"
+ json5 "^2.1.0"
+ lazy-universal-dotenv "^3.0.0"
+ node-fetch "^2.6.0"
+ open "^6.1.0"
+ pnp-webpack-plugin "1.4.3"
+ postcss-flexbugs-fixes "^4.1.0"
+ postcss-loader "^3.0.0"
+ pretty-hrtime "^1.0.3"
+ qs "^6.6.0"
+ raw-loader "^2.0.0"
+ react-dev-utils "^9.0.0"
+ regenerator-runtime "^0.12.1"
+ resolve "^1.11.0"
+ resolve-from "^5.0.0"
+ semver "^6.0.0"
+ serve-favicon "^2.5.0"
+ shelljs "^0.8.3"
+ style-loader "^0.23.1"
+ terser-webpack-plugin "^1.2.4"
+ url-loader "^1.1.2"
+ util-deprecate "^1.0.2"
+ webpack "^4.33.0"
+ webpack-dev-middleware "^3.7.0"
+ webpack-hot-middleware "^2.25.0"
+
+"@storybook/node-logger@5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-5.1.9.tgz#4aacf0096811fde1639fc9d1d2d521f7220dd4be"
+ integrity sha512-rcSuI5n53hDMHW83gl5TR0Yn885/i2XY0AzX1DsbTeGOl3x5LhrCSZsZWetKGcx7zsO4n7o5mQszLuN1JlyE8A==
+ dependencies:
+ chalk "^2.4.2"
+ core-js "^3.0.1"
+ npmlog "^4.1.2"
+ pretty-hrtime "^1.0.3"
+ regenerator-runtime "^0.12.1"
+
+"@storybook/react@^5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/react/-/react-5.1.9.tgz#4052f4b88e91d5a823bb9cbb61104c530fcfb1a1"
+ integrity sha512-Byykpsttf6p2jv3LvqFtntEYfbUZSNTts0TjcZHNsHoUGmT7/M1PyqTeB7JUcYUNwSgdACY8FbowCrwZwDJDWQ==
+ dependencies:
+ "@babel/plugin-transform-react-constant-elements" "^7.2.0"
+ "@babel/preset-flow" "^7.0.0"
+ "@babel/preset-react" "^7.0.0"
+ "@storybook/core" "5.1.9"
+ "@storybook/node-logger" "5.1.9"
+ "@svgr/webpack" "^4.0.3"
+ babel-plugin-add-react-displayname "^0.0.5"
+ babel-plugin-named-asset-import "^0.3.1"
+ babel-plugin-react-docgen "^3.0.0"
+ babel-preset-react-app "^9.0.0"
+ common-tags "^1.8.0"
+ core-js "^3.0.1"
+ global "^4.3.2"
+ lodash "^4.17.11"
+ mini-css-extract-plugin "^0.7.0"
+ prop-types "^15.7.2"
+ react-dev-utils "^9.0.0"
+ regenerator-runtime "^0.12.1"
+ semver "^6.0.0"
+ webpack "^4.33.0"
+
+"@storybook/router@5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/router/-/router-5.1.9.tgz#8cd97bea4f2acf8ec5f6694d06fb0633dde33417"
+ integrity sha512-eAmeerE/OTIwCV7WBnb1BPINVN1GTSMsUXLNWpqSISuyWJ+NZAJlObFkvXoc57QSQlv0cvXlm1FMkmRt8ku1Hw==
+ dependencies:
+ "@reach/router" "^1.2.1"
+ core-js "^3.0.1"
+ global "^4.3.2"
+ memoizerific "^1.11.3"
+ qs "^6.6.0"
+
+"@storybook/theming@5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-5.1.9.tgz#c425f5867fae0db79e01112853b1808332a5f1a2"
+ integrity sha512-4jIFJwTWVf9tsv27noLoFHlKC2Jl9DHV3q+rxGPU8bTNbufCu4oby82SboO5GAKuS3eu1cxL1YY9pYad9WxfHg==
+ dependencies:
+ "@emotion/core" "^10.0.9"
+ "@emotion/styled" "^10.0.7"
+ "@storybook/client-logger" "5.1.9"
+ common-tags "^1.8.0"
+ core-js "^3.0.1"
+ deep-object-diff "^1.1.0"
+ emotion-theming "^10.0.9"
+ global "^4.3.2"
+ memoizerific "^1.11.3"
+ polished "^3.3.1"
+ prop-types "^15.7.2"
+ resolve-from "^5.0.0"
+
+"@storybook/ui@5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-5.1.9.tgz#406667469e6dbdf320086647d8d80776bb051a51"
+ integrity sha512-guzKv4VYM+06BzMXeO3QqlX0IwUHyeS6lwdPCL8Oy2V4Gi2IYHHiD6Hr1NgnBO18j9luxE38f4Ii7gEIzXMFbQ==
+ dependencies:
+ "@storybook/addons" "5.1.9"
+ "@storybook/api" "5.1.9"
+ "@storybook/channels" "5.1.9"
+ "@storybook/client-logger" "5.1.9"
+ "@storybook/components" "5.1.9"
+ "@storybook/core-events" "5.1.9"
+ "@storybook/router" "5.1.9"
+ "@storybook/theming" "5.1.9"
+ copy-to-clipboard "^3.0.8"
+ core-js "^3.0.1"
+ core-js-pure "^3.0.1"
+ emotion-theming "^10.0.10"
+ fast-deep-equal "^2.0.1"
+ fuse.js "^3.4.4"
+ global "^4.3.2"
+ lodash "^4.17.11"
+ markdown-to-jsx "^6.9.3"
+ memoizerific "^1.11.3"
+ polished "^3.3.1"
+ prop-types "^15.7.2"
+ qs "^6.6.0"
+ react "^16.8.3"
+ react-dom "^16.8.3"
+ react-draggable "^3.1.1"
+ react-helmet-async "^1.0.2"
+ react-hotkeys "2.0.0-pre4"
+ react-resize-detector "^4.0.5"
+ recompose "^0.30.0"
+ regenerator-runtime "^0.13.2"
+ resolve-from "^5.0.0"
+ semver "^6.0.0"
+ store2 "^2.7.1"
+ telejson "^2.2.1"
+ util-deprecate "^1.0.2"
+
"@svgr/babel-plugin-add-jsx-attribute@^4.2.0":
version "4.2.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1"
@@ -1115,10 +2015,10 @@
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165"
integrity sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==
-"@svgr/babel-plugin-svg-dynamic-title@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.2.0.tgz#43f0f689a5347a894160eb51b39a109889a4df20"
- integrity sha512-gH2qItapwCUp6CCqbxvzBbc4dh4OyxdYKsW3EOkYexr0XUmQL0ScbdNh6DexkZ01T+sdClniIbnCObsXcnx3sQ==
+"@svgr/babel-plugin-svg-dynamic-title@^4.3.1":
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.1.tgz#646c2f5b5770c2fe318d6e51492344c3d62ddb63"
+ integrity sha512-p6z6JJroP989jHWcuraeWpzdejehTmLUpyC9smhTBWyPN0VVGe2phbYxpPTV7Vh8XzmFrcG55idrnfWn/2oQEw==
"@svgr/babel-plugin-svg-em-dimensions@^4.2.0":
version "4.2.0"
@@ -1135,56 +2035,54 @@
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697"
integrity sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==
-"@svgr/babel-preset@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.2.0.tgz#c9fc236445a02a8cd4e750085e51c181de00d6c5"
- integrity sha512-iLetHpRCQXfK47voAs5/uxd736cCyocEdorisjAveZo8ShxJ/ivSZgstBmucI1c8HyMF5tOrilJLoFbhpkPiKw==
+"@svgr/babel-preset@^4.3.1":
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.1.tgz#62ffcb85d756580e8ce608e9d2ac3b9063be9e28"
+ integrity sha512-rPFKLmyhlh6oeBv3j2vEAj2nd2QbWqpoJLKzBLjwQVt+d9aeXajVaPNEqrES2spjXKR4OxfgSs7U0NtmAEkr0Q==
dependencies:
"@svgr/babel-plugin-add-jsx-attribute" "^4.2.0"
"@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0"
"@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0"
"@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0"
- "@svgr/babel-plugin-svg-dynamic-title" "^4.2.0"
+ "@svgr/babel-plugin-svg-dynamic-title" "^4.3.1"
"@svgr/babel-plugin-svg-em-dimensions" "^4.2.0"
"@svgr/babel-plugin-transform-react-native-svg" "^4.2.0"
"@svgr/babel-plugin-transform-svg-component" "^4.2.0"
-"@svgr/core@^4.1.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.2.0.tgz#f32ef8b9d05312aaa775896ec30ae46a6521e248"
- integrity sha512-nvzXaf2VavqjMCTTfsZfjL4o9035KedALkMzk82qOlHOwBb8JT+9+zYDgBl0oOunbVF94WTLnvGunEg0csNP3Q==
+"@svgr/core@^4.1.0", "@svgr/core@^4.3.2":
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.2.tgz#939c89be670ad79b762f4c063f213f0e02535f2e"
+ integrity sha512-N+tP5CLFd1hP9RpO83QJPZY3NL8AtrdqNbuhRgBkjE/49RnMrrRsFm1wY8pueUfAGvzn6tSXUq29o6ah8RuR5w==
dependencies:
- "@svgr/plugin-jsx" "^4.2.0"
+ "@svgr/plugin-jsx" "^4.3.2"
camelcase "^5.3.1"
- cosmiconfig "^5.2.0"
+ cosmiconfig "^5.2.1"
-"@svgr/hast-util-to-babel-ast@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.2.0.tgz#dd743435a5f3a8e84a1da067f27b5fae3d7b6b63"
- integrity sha512-IvAeb7gqrGB5TH9EGyBsPrMRH/QCzIuAkLySKvH2TLfLb2uqk98qtJamordRQTpHH3e6TORfBXoTo7L7Opo/Ow==
+"@svgr/hast-util-to-babel-ast@^4.3.2":
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8"
+ integrity sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==
dependencies:
- "@babel/types" "^7.4.0"
+ "@babel/types" "^7.4.4"
-"@svgr/plugin-jsx@^4.1.0", "@svgr/plugin-jsx@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.2.0.tgz#15a91562c9b5f90640ea0bdcb2ad59d692ee7ae9"
- integrity sha512-AM1YokmZITgveY9bulLVquqNmwiFo2Px2HL+IlnTCR01YvWDfRL5QKdnF7VjRaS5MNP938mmqvL0/8oz3zQMkg==
+"@svgr/plugin-jsx@^4.1.0", "@svgr/plugin-jsx@^4.3.2":
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.2.tgz#ce9ddafc8cdd74da884c9f7af014afcf37f93d3c"
+ integrity sha512-+1GW32RvmNmCsOkMoclA/TppNjHPLMnNZG3/Ecscxawp051XJ2MkO09Hn11VcotdC2EPrDfT8pELGRo+kbZ1Eg==
dependencies:
- "@babel/core" "^7.4.3"
- "@svgr/babel-preset" "^4.2.0"
- "@svgr/hast-util-to-babel-ast" "^4.2.0"
- rehype-parse "^6.0.0"
- unified "^7.1.0"
- vfile "^4.0.0"
+ "@babel/core" "^7.4.5"
+ "@svgr/babel-preset" "^4.3.1"
+ "@svgr/hast-util-to-babel-ast" "^4.3.2"
+ svg-parser "^2.0.0"
-"@svgr/plugin-svgo@^4.0.3":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.2.0.tgz#2a594a2d3312955e75fd87dc77ae51f377c809f3"
- integrity sha512-zUEKgkT172YzHh3mb2B2q92xCnOAMVjRx+o0waZ1U50XqKLrVQ/8dDqTAtnmapdLsGurv8PSwenjLCUpj6hcvw==
+"@svgr/plugin-svgo@^4.0.3", "@svgr/plugin-svgo@^4.3.1":
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32"
+ integrity sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==
dependencies:
- cosmiconfig "^5.2.0"
+ cosmiconfig "^5.2.1"
merge-deep "^3.0.2"
- svgo "^1.2.1"
+ svgo "^1.2.2"
"@svgr/webpack@4.1.0":
version "4.1.0"
@@ -1200,10 +2098,44 @@
"@svgr/plugin-svgo" "^4.0.3"
loader-utils "^1.1.0"
+"@svgr/webpack@^4.0.3":
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.2.tgz#319d4471c8f3d5c3af35059274834d9b5b8fb956"
+ integrity sha512-F3VE5OvyOWBEd2bF7BdtFRyI6E9it3mN7teDw0JQTlVtc4HZEYiiLSl+Uf9Uub6IYHVGc+qIrxxDyeedkQru2w==
+ dependencies:
+ "@babel/core" "^7.4.5"
+ "@babel/plugin-transform-react-constant-elements" "^7.0.0"
+ "@babel/preset-env" "^7.4.5"
+ "@babel/preset-react" "^7.0.0"
+ "@svgr/core" "^4.3.2"
+ "@svgr/plugin-jsx" "^4.3.2"
+ "@svgr/plugin-svgo" "^4.3.1"
+ loader-utils "^1.2.3"
+
+"@turf/bbox@^6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@turf/bbox/-/bbox-6.0.1.tgz#b966075771475940ee1c16be2a12cf389e6e923a"
+ integrity sha512-EGgaRLettBG25Iyx7VyUINsPpVj1x3nFQFiGS3ER8KCI1MximzNLsam3eXRabqQDjyAKyAE1bJ4EZEpGvspQxw==
+ dependencies:
+ "@turf/helpers" "6.x"
+ "@turf/meta" "6.x"
+
+"@turf/helpers@6.x":
+ version "6.1.4"
+ resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-6.1.4.tgz#d6fd7ebe6782dd9c87dca5559bda5c48ae4c3836"
+ integrity sha512-vJvrdOZy1ngC7r3MDA7zIGSoIgyrkWcGnNIEaqn/APmw+bVLF2gAW7HIsdTxd12s5wQMqEpqIQrmrbRRZ0xC7g==
+
+"@turf/meta@6.x":
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/@turf/meta/-/meta-6.0.2.tgz#eb92951126d24a613ac1b7b99d733fcc20fd30cf"
+ integrity sha512-VA7HJkx7qF1l3+GNGkDVn2oXy4+QoLP6LktXAaZKjuT1JI0YESat7quUkbCMy4zP9lAUuvS4YMslLyTtr919FA==
+ dependencies:
+ "@turf/helpers" "6.x"
+
"@types/babel__core@^7.1.0":
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.1.tgz#ce9a9e5d92b7031421e1d0d74ae59f572ba48be6"
- integrity sha512-+hjBtgcFPYyCTo0A15+nxrCVJL7aC6Acg87TXd5OW3QhHswdrOLoles+ldL2Uk8q++7yIfl4tURtztccdeeyOw==
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f"
+ integrity sha512-cfCCrFmiGY/yq0NuKNxIQvZFy9kY/1immpSpTngOnyIbD4+eJOG5mxphhHDv3CHL9GltO4GcKr54kGBg3RNdbg==
dependencies:
"@babel/parser" "^7.1.0"
"@babel/types" "^7.0.0"
@@ -1227,9 +2159,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"
@@ -1253,11 +2185,6 @@
"@types/istanbul-lib-coverage" "*"
"@types/istanbul-lib-report" "*"
-"@types/node@*":
- version "12.0.0"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.0.tgz#d11813b9c0ff8aaca29f04cbc12817f4c7d656e5"
- integrity sha512-Jrb/x3HT4PTJp6a4avhmJCDEVrPdqLfl3e8GGMbpkGGdwAV5UGlIs4vVEfsHHfylZVOKZWpOqmqFH8CbfOZ6kg==
-
"@types/q@^1.5.1":
version "1.5.2"
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8"
@@ -1268,28 +2195,6 @@
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e"
integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==
-"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
- integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==
-
-"@types/vfile-message@*":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@types/vfile-message/-/vfile-message-1.0.1.tgz#e1e9895cc6b36c462d4244e64e6d0b6eaf65355a"
- integrity sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA==
- dependencies:
- "@types/node" "*"
- "@types/unist" "*"
-
-"@types/vfile@^3.0.0":
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/@types/vfile/-/vfile-3.0.2.tgz#19c18cd232df11ce6fa6ad80259bc86c366b09b9"
- integrity sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==
- dependencies:
- "@types/node" "*"
- "@types/unist" "*"
- "@types/vfile-message" "*"
-
"@types/yargs@^12.0.2", "@types/yargs@^12.0.9":
version "12.0.12"
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916"
@@ -1488,7 +2393,7 @@ abbrev@1:
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
-accepts@~1.3.4, accepts@~1.3.5:
+accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7:
version "1.3.7"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
@@ -1515,19 +2420,19 @@ acorn-jsx@^5.0.0:
integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==
acorn-walk@^6.0.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913"
- integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c"
+ integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==
acorn@^5.5.3:
version "5.7.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
-acorn@^6.0.1, acorn@^6.0.4, acorn@^6.0.5, acorn@^6.0.7:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
- integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==
+acorn@^6.0.1, acorn@^6.0.4, acorn@^6.0.5, acorn@^6.0.7, acorn@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.0.tgz#67f0da2fc339d6cfb5d6fb244fd449f33cd8bbe3"
+ integrity sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==
address@1.0.3:
version "1.0.3"
@@ -1539,20 +2444,43 @@ address@^1.0.1:
resolved "https://registry.yarnpkg.com/address/-/address-1.1.0.tgz#ef8e047847fcd2c5b6f50c16965f924fd99fe709"
integrity sha512-4diPfzWbLEIElVG4AnqP+00SULlPzNuyJFNnmMrLgyaxG6tZXJ1sn7mjBu4fHrJE+Yp/jgylOweJn2xsLMFggQ==
-ajv-errors@^1.0.0:
+"airbnb-js-shims@^1 || ^2":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/airbnb-js-shims/-/airbnb-js-shims-2.2.0.tgz#46e1d9d9516f704ef736de76a3b6d484df9a96d8"
+ integrity sha512-pcSQf1+Kx7/0ibRmxj6rmMYc5V8SHlKu+rkQ80h0bjSLDaIxHg/3PiiFJi4A9mDc01CoBHoc8Fls2G/W0/+s5g==
+ dependencies:
+ array-includes "^3.0.3"
+ array.prototype.flat "^1.2.1"
+ array.prototype.flatmap "^1.2.1"
+ es5-shim "^4.5.13"
+ es6-shim "^0.35.5"
+ function.prototype.name "^1.1.0"
+ globalthis "^1.0.0"
+ object.entries "^1.1.0"
+ object.fromentries "^2.0.0 || ^1.0.0"
+ object.getownpropertydescriptors "^2.0.3"
+ object.values "^1.1.0"
+ promise.allsettled "^1.0.0"
+ promise.prototype.finally "^3.1.0"
+ string.prototype.matchall "^3.0.1"
+ string.prototype.padend "^3.0.0"
+ string.prototype.padstart "^3.0.0"
+ symbol.prototype.description "^1.0.0"
+
+ajv-errors@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
ajv-keywords@^3.1.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d"
- integrity sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
+ integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==
-ajv@^6.1.0, ajv@^6.5.5, ajv@^6.9.1:
- version "6.10.0"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1"
- integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==
+ajv@^6.1.0, ajv@^6.10.2, ajv@^6.5.5, ajv@^6.9.1:
+ version "6.10.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
+ integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
dependencies:
fast-deep-equal "^2.0.1"
fast-json-stable-stringify "^2.0.0"
@@ -1564,6 +2492,18 @@ alphanum-sort@^1.0.0:
resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
+amdefine@>=0.0.4:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+ integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
+
+ansi-align@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb"
+ integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==
+ dependencies:
+ string-width "^3.0.0"
+
ansi-colors@^3.0.0:
version "3.2.4"
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
@@ -1606,6 +2546,11 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1:
dependencies:
color-convert "^1.9.0"
+ansicolors@~0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef"
+ integrity sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8=
+
anymatch@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
@@ -1614,6 +2559,11 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
+app-root-dir@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/app-root-dir/-/app-root-dir-1.0.2.tgz#38187ec2dea7577fff033ffcb12172692ff6e118"
+ integrity sha1-OBh+wt6nV3//Az/8sSFyaS/24Rg=
+
aproba@^1.0.3, aproba@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
@@ -1667,6 +2617,11 @@ array-filter@~0.0.0:
resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw=
+array-find-index@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
+ integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
+
array-flatten@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
@@ -1712,12 +2667,30 @@ array-unique@^0.3.2:
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
+array.prototype.flat@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz#812db8f02cad24d3fab65dd67eabe3b8903494a4"
+ integrity sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw==
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.10.0"
+ function-bind "^1.1.1"
+
+array.prototype.flatmap@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.1.tgz#3103cd4826ef90019c9b0a4839b2535fa6faf4e9"
+ integrity sha512-i18e2APdsiezkcqDyZor78Pbfjfds3S94dG6dgIV2ZASJaUf1N0dz2tGdrmwrmlZuNUgxH+wz6Z0zYVH2c5xzQ==
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.10.0"
+ function-bind "^1.1.1"
+
arrify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
-asap@~2.0.6:
+asap@~2.0.3, asap@~2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
@@ -1761,6 +2734,16 @@ ast-types-flow@0.0.7, ast-types-flow@^0.0.7:
resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0=
+ast-types@0.11.3:
+ version "0.11.3"
+ resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.3.tgz#c20757fe72ee71278ea0ff3d87e5c2ca30d9edf8"
+ integrity sha512-XA5o5dsNw8MhyW0Q7MWXJWc4oOzZKbdsEJq45h7c8q/d9DwWZ5F2ugUc1PuMLPGsUnphCt/cNDHu8JeBbxf1qA==
+
+ast-types@0.12.4:
+ version "0.12.4"
+ resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.12.4.tgz#71ce6383800f24efc9a1a3308f3a6e420a0974d1"
+ integrity sha512-ky/YVYCbtVAS8TdMIaTiPFHwEpRB5z1hctepJplTr3UW5q8TDrpIMCILyk8pmLxGtn2KCtC/lSn7zOsaI7nzDw==
+
astral-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
@@ -1771,6 +2754,11 @@ async-each@^1.0.1:
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
+async-foreach@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
+ integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=
+
async-limiter@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
@@ -1781,6 +2769,13 @@ async@^1.5.2:
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=
+async@^2.1.4:
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
+ integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
+ dependencies:
+ lodash "^4.17.14"
+
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@@ -1792,16 +2787,17 @@ atob@^2.1.1:
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
autoprefixer@^9.4.9:
- version "9.5.1"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.5.1.tgz#243b1267b67e7e947f28919d786b50d3bb0fb357"
- integrity sha512-KJSzkStUl3wP0D5sdMlP82Q52JLy5+atf2MHAre48+ckWkXgixmfHyWmA77wFDy6jTHU6mIgXv6hAQ2mf1PjJQ==
+ version "9.6.1"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz#51967a02d2d2300bb01866c1611ec8348d355a47"
+ integrity sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw==
dependencies:
- browserslist "^4.5.4"
- caniuse-lite "^1.0.30000957"
+ browserslist "^4.6.3"
+ caniuse-lite "^1.0.30000980"
+ chalk "^2.4.2"
normalize-range "^0.1.2"
num2fraction "^1.2.2"
- postcss "^7.0.14"
- postcss-value-parser "^3.3.1"
+ postcss "^7.0.17"
+ postcss-value-parser "^4.0.0"
aws-sign2@~0.7.0:
version "0.7.0"
@@ -1813,7 +2809,15 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
-axobject-query@^2.0.2:
+axios@^0.19.0:
+ version "0.19.0"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.0.tgz#8e09bff3d9122e133f7b8101c8fbdd00ed3d2ab8"
+ integrity sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==
+ dependencies:
+ follow-redirects "1.5.10"
+ is-buffer "^2.0.2"
+
+axobject-query@^2.0.1, axobject-query@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9"
integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==
@@ -1848,6 +2852,41 @@ babel-extract-comments@^1.0.0:
dependencies:
babylon "^6.18.0"
+babel-helper-evaluate-path@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz#a62fa9c4e64ff7ea5cea9353174ef023a900a67c"
+ integrity sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==
+
+babel-helper-flip-expressions@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz#3696736a128ac18bc25254b5f40a22ceb3c1d3fd"
+ integrity sha1-NpZzahKKwYvCUlS19AoizrPB0/0=
+
+babel-helper-is-nodes-equiv@^0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz#34e9b300b1479ddd98ec77ea0bbe9342dfe39684"
+ integrity sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=
+
+babel-helper-is-void-0@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz#7d9c01b4561e7b95dbda0f6eee48f5b60e67313e"
+ integrity sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=
+
+babel-helper-mark-eval-scopes@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz#d244a3bef9844872603ffb46e22ce8acdf551562"
+ integrity sha1-0kSjvvmESHJgP/tG4izorN9VFWI=
+
+babel-helper-remove-or-void@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz#a4f03b40077a0ffe88e45d07010dee241ff5ae60"
+ integrity sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=
+
+babel-helper-to-multiple-sequence-expressions@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz#a3f924e3561882d42fcf48907aa98f7979a4588d"
+ integrity sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==
+
babel-jest@^24.8.0:
version "24.8.0"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.8.0.tgz#5c15ff2b28e20b0f45df43fe6b7f2aae93dba589"
@@ -1871,6 +2910,11 @@ babel-loader@8.0.5:
mkdirp "^0.5.1"
util.promisify "^1.0.0"
+babel-plugin-add-react-displayname@^0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz#339d4cddb7b65fd62d1df9db9fe04de134122bd5"
+ integrity sha1-M51M3be2X9YtHfnbn+BN4TQSK9U=
+
babel-plugin-dynamic-import-node@2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.2.0.tgz#c0adfb07d95f4a4495e9aaac6ec386c4d7c2524e"
@@ -1878,6 +2922,47 @@ babel-plugin-dynamic-import-node@2.2.0:
dependencies:
object.assign "^4.1.0"
+babel-plugin-dynamic-import-node@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f"
+ integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==
+ dependencies:
+ object.assign "^4.1.0"
+
+babel-plugin-emotion@^10.0.14, babel-plugin-emotion@^10.0.9:
+ version "10.0.14"
+ resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.14.tgz#c1d0e4621e303507ea7da57daa3cd771939d6df4"
+ integrity sha512-T7hdxJ4xXkKW3OXcizK0pnUJlBeNj/emjQZPDIZvGOuwl2adIgicQWRNkz6BuwKdDTrqaXQn1vayaL6aL8QW5A==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@emotion/hash" "0.7.2"
+ "@emotion/memoize" "0.7.2"
+ "@emotion/serialize" "^0.11.8"
+ babel-plugin-macros "^2.0.0"
+ babel-plugin-syntax-jsx "^6.18.0"
+ convert-source-map "^1.5.0"
+ escape-string-regexp "^1.0.5"
+ find-root "^1.1.0"
+ source-map "^0.5.7"
+
+babel-plugin-emotion@^9.2.11:
+ version "9.2.11"
+ resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz#319c005a9ee1d15bb447f59fe504c35fd5807728"
+ integrity sha512-dgCImifnOPPSeXod2znAmgc64NhaaOjGEHROR/M+lmStb3841yK1sgaDYAYMnlvWNz8GnpwIPN0VmNpbWYZ+VQ==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@emotion/babel-utils" "^0.6.4"
+ "@emotion/hash" "^0.6.2"
+ "@emotion/memoize" "^0.6.1"
+ "@emotion/stylis" "^0.7.0"
+ babel-plugin-macros "^2.0.0"
+ babel-plugin-syntax-jsx "^6.18.0"
+ convert-source-map "^1.5.0"
+ find-root "^1.1.0"
+ mkdirp "^0.5.1"
+ source-map "^0.5.7"
+ touch "^2.0.1"
+
babel-plugin-istanbul@^5.1.0:
version "5.1.4"
resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.4.tgz#841d16b9a58eeb407a0ddce622ba02fe87a752ba"
@@ -1903,16 +2988,133 @@ babel-plugin-macros@2.5.1:
cosmiconfig "^5.2.0"
resolve "^1.10.0"
-babel-plugin-named-asset-import@^0.3.2:
+babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.4.5:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz#41f7ead616fc36f6a93180e89697f69f51671181"
+ integrity sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ==
+ dependencies:
+ "@babel/runtime" "^7.4.2"
+ cosmiconfig "^5.2.0"
+ resolve "^1.10.0"
+
+babel-plugin-minify-builtins@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz#31eb82ed1a0d0efdc31312f93b6e4741ce82c36b"
+ integrity sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==
+
+babel-plugin-minify-constant-folding@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz#f84bc8dbf6a561e5e350ff95ae216b0ad5515b6e"
+ integrity sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==
+ dependencies:
+ babel-helper-evaluate-path "^0.5.0"
+
+babel-plugin-minify-dead-code-elimination@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.0.tgz#d23ef5445238ad06e8addf5c1cf6aec835bcda87"
+ integrity sha512-XQteBGXlgEoAKc/BhO6oafUdT4LBa7ARi55mxoyhLHNuA+RlzRmeMAfc31pb/UqU01wBzRc36YqHQzopnkd/6Q==
+ dependencies:
+ babel-helper-evaluate-path "^0.5.0"
+ babel-helper-mark-eval-scopes "^0.4.3"
+ babel-helper-remove-or-void "^0.4.3"
+ lodash.some "^4.6.0"
+
+babel-plugin-minify-flip-comparisons@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz#00ca870cb8f13b45c038b3c1ebc0f227293c965a"
+ integrity sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=
+ dependencies:
+ babel-helper-is-void-0 "^0.4.3"
+
+babel-plugin-minify-guarded-expressions@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.3.tgz#cc709b4453fd21b1f302877444c89f88427ce397"
+ integrity sha1-zHCbRFP9IbHzAod0RMifiEJ845c=
+ dependencies:
+ babel-helper-flip-expressions "^0.4.3"
+
+babel-plugin-minify-infinity@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz#dfb876a1b08a06576384ef3f92e653ba607b39ca"
+ integrity sha1-37h2obCKBldjhO8/kuZTumB7Oco=
+
+babel-plugin-minify-mangle-names@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz#bcddb507c91d2c99e138bd6b17a19c3c271e3fd3"
+ integrity sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==
+ dependencies:
+ babel-helper-mark-eval-scopes "^0.4.3"
+
+babel-plugin-minify-numeric-literals@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz#8e4fd561c79f7801286ff60e8c5fd9deee93c0bc"
+ integrity sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=
+
+babel-plugin-minify-replace@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz#d3e2c9946c9096c070efc96761ce288ec5c3f71c"
+ integrity sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==
+
+babel-plugin-minify-simplify@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.0.tgz#1f090018afb90d8b54d3d027fd8a4927f243da6f"
+ integrity sha512-TM01J/YcKZ8XIQd1Z3nF2AdWHoDsarjtZ5fWPDksYZNsoOjQ2UO2EWm824Ym6sp127m44gPlLFiO5KFxU8pA5Q==
+ dependencies:
+ babel-helper-flip-expressions "^0.4.3"
+ babel-helper-is-nodes-equiv "^0.0.1"
+ babel-helper-to-multiple-sequence-expressions "^0.5.0"
+
+babel-plugin-minify-type-constructors@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz#1bc6f15b87f7ab1085d42b330b717657a2156500"
+ integrity sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=
+ dependencies:
+ babel-helper-is-void-0 "^0.4.3"
+
+babel-plugin-named-asset-import@^0.3.1, babel-plugin-named-asset-import@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.2.tgz#20978ed446b8e1bf4a2f42d0a94c0ece85f75f4f"
integrity sha512-CxwvxrZ9OirpXQ201Ec57OmGhmI8/ui/GwTDy0hSp6CmRvgRC0pSair6Z04Ck+JStA0sMPZzSJ3uE4n17EXpPQ==
+babel-plugin-react-docgen@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-react-docgen/-/babel-plugin-react-docgen-3.1.0.tgz#14b02b363a38cc9e08c871df16960d27ef92030f"
+ integrity sha512-W6xqZnZIWjZuE9IjP7XolxxgFGB5Y9GZk4cLPSWKa10MrT86q7bX4ke9jbrNhFVIRhbmzL8wE1Sn++mIWoJLbw==
+ dependencies:
+ lodash "^4.17.11"
+ react-docgen "^4.1.0"
+ recast "^0.14.7"
+
+babel-plugin-syntax-jsx@^6.18.0:
+ version "6.18.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
+ integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
+
babel-plugin-syntax-object-rest-spread@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=
+babel-plugin-transform-inline-consecutive-adds@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz#323d47a3ea63a83a7ac3c811ae8e6941faf2b0d1"
+ integrity sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=
+
+babel-plugin-transform-member-expression-literals@^6.9.4:
+ version "6.9.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz#37039c9a0c3313a39495faac2ff3a6b5b9d038bf"
+ integrity sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=
+
+babel-plugin-transform-merge-sibling-variables@^6.9.4:
+ version "6.9.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz#85b422fc3377b449c9d1cde44087203532401dae"
+ integrity sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=
+
+babel-plugin-transform-minify-booleans@^6.9.4:
+ version "6.9.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz#acbb3e56a3555dd23928e4b582d285162dd2b198"
+ integrity sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=
+
babel-plugin-transform-object-rest-spread@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06"
@@ -1921,11 +3123,50 @@ babel-plugin-transform-object-rest-spread@^6.26.0:
babel-plugin-syntax-object-rest-spread "^6.8.0"
babel-runtime "^6.26.0"
+babel-plugin-transform-property-literals@^6.9.4:
+ version "6.9.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz#98c1d21e255736573f93ece54459f6ce24985d39"
+ integrity sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=
+ dependencies:
+ esutils "^2.0.2"
+
babel-plugin-transform-react-remove-prop-types@0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a"
integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==
+babel-plugin-transform-regexp-constructors@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz#58b7775b63afcf33328fae9a5f88fbd4fb0b4965"
+ integrity sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=
+
+babel-plugin-transform-remove-console@^6.9.4:
+ version "6.9.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz#b980360c067384e24b357a588d807d3c83527780"
+ integrity sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=
+
+babel-plugin-transform-remove-debugger@^6.9.4:
+ version "6.9.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz#42b727631c97978e1eb2d199a7aec84a18339ef2"
+ integrity sha1-QrcnYxyXl44estGZp67IShgznvI=
+
+babel-plugin-transform-remove-undefined@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz#80208b31225766c630c97fa2d288952056ea22dd"
+ integrity sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==
+ dependencies:
+ babel-helper-evaluate-path "^0.5.0"
+
+babel-plugin-transform-simplify-comparison-operators@^6.9.4:
+ version "6.9.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz#f62afe096cab0e1f68a2d753fdf283888471ceb9"
+ integrity sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=
+
+babel-plugin-transform-undefined-to-void@^6.9.4:
+ version "6.9.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz#be241ca81404030678b748717322b89d0c8fe280"
+ integrity sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=
+
babel-preset-jest@^24.6.0:
version "24.6.0"
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz#66f06136eefce87797539c0d63f1769cc3915984"
@@ -1934,6 +3175,35 @@ babel-preset-jest@^24.6.0:
"@babel/plugin-syntax-object-rest-spread" "^7.0.0"
babel-plugin-jest-hoist "^24.6.0"
+"babel-preset-minify@^0.5.0 || 0.6.0-alpha.5":
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-minify/-/babel-preset-minify-0.5.0.tgz#e25bb8d3590087af02b650967159a77c19bfb96b"
+ integrity sha512-xj1s9Mon+RFubH569vrGCayA9Fm2GMsCgDRm1Jb8SgctOB7KFcrVc2o8K3YHUyMz+SWP8aea75BoS8YfsXXuiA==
+ dependencies:
+ babel-plugin-minify-builtins "^0.5.0"
+ babel-plugin-minify-constant-folding "^0.5.0"
+ babel-plugin-minify-dead-code-elimination "^0.5.0"
+ babel-plugin-minify-flip-comparisons "^0.4.3"
+ babel-plugin-minify-guarded-expressions "^0.4.3"
+ babel-plugin-minify-infinity "^0.4.3"
+ babel-plugin-minify-mangle-names "^0.5.0"
+ babel-plugin-minify-numeric-literals "^0.4.3"
+ babel-plugin-minify-replace "^0.5.0"
+ babel-plugin-minify-simplify "^0.5.0"
+ babel-plugin-minify-type-constructors "^0.4.3"
+ babel-plugin-transform-inline-consecutive-adds "^0.4.3"
+ babel-plugin-transform-member-expression-literals "^6.9.4"
+ babel-plugin-transform-merge-sibling-variables "^6.9.4"
+ babel-plugin-transform-minify-booleans "^6.9.4"
+ babel-plugin-transform-property-literals "^6.9.4"
+ babel-plugin-transform-regexp-constructors "^0.4.3"
+ babel-plugin-transform-remove-console "^6.9.4"
+ babel-plugin-transform-remove-debugger "^6.9.4"
+ babel-plugin-transform-remove-undefined "^0.5.0"
+ babel-plugin-transform-simplify-comparison-operators "^6.9.4"
+ babel-plugin-transform-undefined-to-void "^6.9.4"
+ lodash.isplainobject "^4.0.6"
+
babel-preset-react-app@^9.0.0:
version "9.0.0"
resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.0.0.tgz#703108142bc9dd7173bde6a1a0138a762abc76f9"
@@ -1958,7 +3228,7 @@ babel-preset-react-app@^9.0.0:
babel-plugin-macros "2.5.1"
babel-plugin-transform-react-remove-prop-types "0.4.24"
-babel-runtime@^6.26.0:
+babel-runtime@6.x.x, babel-runtime@^6.18.0, babel-runtime@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
@@ -1971,10 +3241,10 @@ babylon@^6.18.0:
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
-bail@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.4.tgz#7181b66d508aa3055d3f6c13f0a0c720641dde9b"
- integrity sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==
+balanced-match@^0.4.2:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
+ integrity sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=
balanced-match@^1.0.0:
version "1.0.0"
@@ -2021,31 +3291,38 @@ binary-extensions@^1.0.0:
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
-bluebird@^3.5.3:
- version "3.5.4"
- resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.4.tgz#d6cc661595de30d5b3af5fcedd3c0b3ef6ec5714"
- integrity sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==
+block-stream@*:
+ version "0.0.9"
+ resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
+ integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=
+ dependencies:
+ inherits "~2.0.0"
+
+bluebird@^3.3.5, bluebird@^3.5.5:
+ version "3.5.5"
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f"
+ integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
version "4.11.8"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
-body-parser@1.18.3:
- version "1.18.3"
- resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4"
- integrity sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=
+body-parser@1.19.0:
+ version "1.19.0"
+ resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
+ integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
dependencies:
- bytes "3.0.0"
+ bytes "3.1.0"
content-type "~1.0.4"
debug "2.6.9"
depd "~1.1.2"
- http-errors "~1.6.3"
- iconv-lite "0.4.23"
+ http-errors "1.7.2"
+ iconv-lite "0.4.24"
on-finished "~2.3.0"
- qs "6.5.2"
- raw-body "2.3.3"
- type-is "~1.6.16"
+ qs "6.7.0"
+ raw-body "2.4.0"
+ type-is "~1.6.17"
bonjour@^3.5.0:
version "3.5.0"
@@ -2064,6 +3341,20 @@ boolbase@^1.0.0, boolbase@~1.0.0:
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
+boxen@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/boxen/-/boxen-3.2.0.tgz#fbdff0de93636ab4450886b6ff45b92d098f45eb"
+ integrity sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==
+ dependencies:
+ ansi-align "^3.0.0"
+ camelcase "^5.3.1"
+ chalk "^2.4.2"
+ cli-boxes "^2.2.0"
+ string-width "^3.0.0"
+ term-size "^1.2.0"
+ type-fest "^0.3.0"
+ widest-line "^2.0.0"
+
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -2173,19 +3464,19 @@ browserslist@4.5.4:
electron-to-chromium "^1.3.122"
node-releases "^1.1.13"
-browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.4.2, browserslist@^4.5.2, browserslist@^4.5.4:
- version "4.5.6"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.5.6.tgz#ea42e8581ca2513fa7f371d4dd66da763938163d"
- integrity sha512-o/hPOtbU9oX507lIqon+UvPYqpx3mHc8cV3QemSBTXwkG8gSQSK6UKvXcE/DcleU3+A59XTUHyCvZ5qGy8xVAg==
+browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.4.2, browserslist@^4.5.2, browserslist@^4.6.0, browserslist@^4.6.2, browserslist@^4.6.3:
+ version "4.6.6"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453"
+ integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==
dependencies:
- caniuse-lite "^1.0.30000963"
- electron-to-chromium "^1.3.127"
- node-releases "^1.1.17"
+ caniuse-lite "^1.0.30000984"
+ electron-to-chromium "^1.3.191"
+ node-releases "^1.1.25"
bser@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
- integrity sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5"
+ integrity sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==
dependencies:
node-int64 "^0.4.0"
@@ -2223,22 +3514,27 @@ bytes@3.0.0:
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
-cacache@^11.0.2:
- version "11.3.2"
- resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz#2d81e308e3d258ca38125b676b98b2ac9ce69bfa"
- integrity sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==
+bytes@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
+ integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
+
+cacache@^11.0.2, cacache@^11.3.2:
+ version "11.3.3"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc"
+ integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==
dependencies:
- bluebird "^3.5.3"
+ bluebird "^3.5.5"
chownr "^1.1.1"
figgy-pudding "^3.5.1"
- glob "^7.1.3"
+ glob "^7.1.4"
graceful-fs "^4.1.15"
lru-cache "^5.1.1"
mississippi "^3.0.0"
mkdirp "^0.5.1"
move-concurrently "^1.0.1"
promise-inflight "^1.0.1"
- rimraf "^2.6.2"
+ rimraf "^2.6.3"
ssri "^6.0.1"
unique-filename "^1.1.1"
y18n "^4.0.0"
@@ -2287,7 +3583,7 @@ callsites@^3.0.0:
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-camel-case@3.0.x:
+camel-case@3.0.x, camel-case@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=
@@ -2295,6 +3591,24 @@ camel-case@3.0.x:
no-case "^2.2.0"
upper-case "^1.1.1"
+camelcase-keys@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
+ integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc=
+ dependencies:
+ camelcase "^2.0.0"
+ map-obj "^1.0.0"
+
+camelcase@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
+ integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
+
+camelcase@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
+ integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo=
+
camelcase@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
@@ -2305,6 +3619,11 @@ camelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+can-use-dom@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/can-use-dom/-/can-use-dom-0.1.0.tgz#22cc4a34a0abc43950f42c6411024a3f6366b45a"
+ integrity sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo=
+
caniuse-api@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
@@ -2315,10 +3634,10 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000939, caniuse-lite@^1.0.30000955, caniuse-lite@^1.0.30000957, caniuse-lite@^1.0.30000963:
- version "1.0.30000967"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000967.tgz#a5039577806fccee80a04aaafb2c0890b1ee2f73"
- integrity sha512-rUBIbap+VJfxTzrM4akJ00lkvVb5/n5v3EGXfWzSH5zT8aJmGzjA8HWhJ4U6kCpzxozUSnB+yvAYDRPY6mRpgQ==
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000939, caniuse-lite@^1.0.30000955, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000984:
+ version "1.0.30000984"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000984.tgz#dc96c3c469e9bcfc6ad5bdd24c77ec918ea76fe0"
+ integrity sha512-n5tKOjMaZ1fksIpQbjERuqCyfgec/m9pferkFQbLmWtqLUdmt12hNhjSwsmPdqeiG2NkITOQhr1VYIwWSAceiA==
capture-exit@^2.0.0:
version "2.0.0"
@@ -2327,7 +3646,15 @@ capture-exit@^2.0.0:
dependencies:
rsvp "^4.8.4"
-case-sensitive-paths-webpack-plugin@2.2.0:
+cardinal@~0.4.2:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-0.4.4.tgz#ca5bb68a5b511b90fe93b9acea49bdee5c32bfe2"
+ integrity sha1-ylu2iltRG5D+k7ms6km97lwyv+I=
+ dependencies:
+ ansicolors "~0.2.1"
+ redeyed "~0.4.0"
+
+case-sensitive-paths-webpack-plugin@2.2.0, case-sensitive-paths-webpack-plugin@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz#3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e"
integrity sha512-u5ElzokS8A1pm9vM3/iDgTcI3xqHxuCao94Oz8etI3cf0Tio0p8izkDYbTIn09uP3yUUr6+veaE6IkjnTYS46g==
@@ -2337,11 +3664,6 @@ caseless@~0.12.0:
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
-ccount@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.4.tgz#9cf2de494ca84060a2a8d2854edd6dfb0445f386"
- integrity sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w==
-
chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
@@ -2351,7 +3673,7 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-chalk@^1.1.3:
+chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
@@ -2362,15 +3684,35 @@ chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
+change-emitter@^0.1.2:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/change-emitter/-/change-emitter-0.1.6.tgz#e8b2fe3d7f1ab7d69a32199aff91ea6931409515"
+ integrity sha1-6LL+PX8at9aaMhma/5HqaTFAlRU=
+
+character-entities-legacy@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz#3c729991d9293da0ede6dddcaf1f2ce1009ee8b4"
+ integrity sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==
+
+character-entities@^1.0.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.3.tgz#bbed4a52fe7ef98cc713c6d80d9faa26916d54e6"
+ integrity sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==
+
+character-reference-invalid@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz#1647f4f726638d3ea4a750cf5d1975c1c7919a85"
+ integrity sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==
+
chardet@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4:
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.5.tgz#0ae8434d962281a5f56c72869e79cb6d9d86ad4d"
- integrity sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A==
+ version "2.1.6"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5"
+ integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==
dependencies:
anymatch "^2.0.0"
async-each "^1.0.1"
@@ -2387,14 +3729,14 @@ chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4:
fsevents "^1.2.7"
chownr@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494"
- integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6"
+ integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==
chrome-trace-event@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48"
- integrity sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4"
+ integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==
dependencies:
tslib "^1.9.0"
@@ -2421,13 +3763,23 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
-clean-css@4.2.x:
+classnames@^2.2.5, classnames@^2.2.6:
+ version "2.2.6"
+ resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
+ integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
+
+clean-css@4.2.x, clean-css@^4.2.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17"
integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==
dependencies:
source-map "~0.6.0"
+cli-boxes@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d"
+ integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==
+
cli-cursor@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
@@ -2435,11 +3787,39 @@ cli-cursor@^2.1.0:
dependencies:
restore-cursor "^2.0.0"
+cli-table3@0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202"
+ integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==
+ dependencies:
+ object-assign "^4.1.0"
+ string-width "^2.1.1"
+ optionalDependencies:
+ colors "^1.1.2"
+
cli-width@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=
+clipboard@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.4.tgz#836dafd66cf0fea5d71ce5d5b0bf6e958009112d"
+ integrity sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==
+ dependencies:
+ good-listener "^1.2.2"
+ select "^1.1.2"
+ tiny-emitter "^2.0.0"
+
+cliui@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
+ integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ wrap-ansi "^2.0.0"
+
cliui@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
@@ -2523,35 +3903,40 @@ color-string@^1.5.2:
simple-swizzle "^0.2.2"
color@^3.0.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/color/-/color-3.1.1.tgz#7abf5c0d38e89378284e873c207ae2172dcc8a61"
- integrity sha512-PvUltIXRjehRKPSy89VnDWFKY58xyhTLyxIg21vwQBI6qLwZNPmC8k3C1uytIgFKEpOIzN4y32iPm8231zFHIg==
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
+ integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==
dependencies:
color-convert "^1.9.1"
color-string "^1.5.2"
+colors@^1.1.2:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d"
+ integrity sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==
+
combined-stream@^1.0.6, combined-stream@~1.0.6:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828"
- integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
dependencies:
delayed-stream "~1.0.0"
comma-separated-tokens@^1.0.0:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.6.tgz#3cd3d8adc725ab473843db338bcdfd4a7bb087bf"
- integrity sha512-f20oA7jsrrmERTS70r3tmRSxR8IJV2MTN7qe6hzgX+3ARfXrdMJFvGWvWQK0xpcBurg9j9eO2MiqzZ8Y+/UPCA==
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz#419cd7fb3258b1ed838dc0953167a25e152f5b59"
+ integrity sha512-Jrx3xsP4pPv4AwJUDWY9wOXGtwPXARej6Xd99h4TUGotmf8APuquKMpK+dnD3UgyxK7OEWaisjZz+3b5jtL6xQ==
+
+commander@2, commander@^2.11.0, commander@^2.19.0, commander@^2.20.0, commander@~2.20.0:
+ version "2.20.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
+ integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
commander@2.17.x:
version "2.17.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
-commander@^2.11.0, commander@^2.19.0, commander@~2.20.0:
- version "2.20.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
- integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
-
commander@~2.19.0:
version "2.19.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
@@ -2597,7 +3982,7 @@ concat-map@0.0.1:
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-concat-stream@^1.5.0:
+concat-stream@^1.5.0, concat-stream@~1.6.0:
version "1.6.2"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
@@ -2607,7 +3992,7 @@ concat-stream@^1.5.0:
readable-stream "^2.2.2"
typedarray "^0.0.6"
-confusing-browser-globals@^1.0.7:
+confusing-browser-globals@^1.0.5, confusing-browser-globals@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.7.tgz#5ae852bd541a910e7ffb2dbb864a2d21a36ad29b"
integrity sha512-cgHI1azax5ATrZ8rJ+ODDML9Fvu67PimB6aNxBrc/QwSaDaM9eTfIEUHx3bBLJJ82ioSb+/5zfsMCCEJax3ByQ==
@@ -2639,17 +4024,19 @@ contains-path@^0.1.0:
resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
-content-disposition@0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
- integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ=
+content-disposition@0.5.3:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
+ integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
+ dependencies:
+ safe-buffer "5.1.2"
content-type@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
-convert-source-map@^1.1.0, convert-source-map@^1.4.0:
+convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1:
version "1.6.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20"
integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==
@@ -2661,10 +4048,10 @@ cookie-signature@1.0.6:
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
-cookie@0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
- integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=
+cookie@0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
+ integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
copy-concurrently@^1.0.0:
version "1.0.5"
@@ -2683,54 +4070,68 @@ copy-descriptor@^0.1.0:
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
-core-js-compat@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.0.1.tgz#bff73ba31ca8687431b9c88f78d3362646fb76f0"
- integrity sha512-2pC3e+Ht/1/gD7Sim/sqzvRplMiRnFQVlPpDVaHtY9l7zZP7knamr3VRD6NyGfHd84MrDC0tAM9ulNxYMW0T3g==
+copy-to-clipboard@^3.0.8:
+ 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==
dependencies:
- browserslist "^4.5.4"
- core-js "3.0.1"
- core-js-pure "3.0.1"
- semver "^6.0.0"
+ toggle-selection "^1.0.6"
-core-js-pure@3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.0.1.tgz#37358fb0d024e6b86d443d794f4e37e949098cbe"
- integrity sha512-mSxeQ6IghKW3MoyF4cz19GJ1cMm7761ON+WObSyLfTu/Jn3x7w4NwNFnrZxgl4MTSvYYepVLNuRtlB4loMwJ5g==
+core-js-compat@^3.0.0, core-js-compat@^3.1.1:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.4.tgz#e4d0c40fbd01e65b1d457980fe4112d4358a7408"
+ integrity sha512-Z5zbO9f1d0YrJdoaQhphVAnKPimX92D6z8lCGphH89MNRxlL1prI9ExJPqVwP0/kgkQCv8c4GJGT8X16yUncOg==
+ dependencies:
+ browserslist "^4.6.2"
+ core-js-pure "3.1.4"
+ semver "^6.1.1"
+
+core-js-pure@3.1.4, core-js-pure@^3.0.1:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.4.tgz#5fa17dc77002a169a3566cc48dc774d2e13e3769"
+ integrity sha512-uJ4Z7iPNwiu1foygbcZYJsJs1jiXrTTCvxfLDXNhI/I+NHbSIEyr548y4fcsCEyWY0XgfAG/qqaunJ1SThHenA==
core-js@3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.0.1.tgz#1343182634298f7f38622f95e73f54e48ddf4738"
integrity sha512-sco40rF+2KlE0ROMvydjkrVMMG1vYilP2ALoRXcYR4obqbYIuV3Bg+51GEDW+HF8n7NRA+iaA4qD0nD9lo9mew==
-core-js@^2.4.0:
- version "2.6.5"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz#44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895"
- integrity sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==
+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, core-js@^2.5.1:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2"
+ integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==
+
+core-js@^3.0.1, core-js@^3.0.4:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.1.4.tgz#3a2837fc48e582e1ae25907afcd6cf03b0cc7a07"
+ integrity sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ==
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
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==
+corejs-upgrade-webpack-plugin@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/corejs-upgrade-webpack-plugin/-/corejs-upgrade-webpack-plugin-2.1.0.tgz#6afa44672486353ae639c297548c0686b64fb325"
+ integrity sha512-gc+S4t8VT9YFSgOPrhZlD6kDoGZtUq71QwXxS2neGNPhli0veKhbzzilODIpy73TjXGUrCHCpevK8vBnzUPuhw==
dependencies:
- is-directory "^0.3.1"
- js-yaml "^3.9.0"
- parse-json "^4.0.0"
- require-from-string "^2.0.1"
+ resolve-from "^5.0.0"
+ webpack "^4.33.0"
-cosmiconfig@^5.0.0, cosmiconfig@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.0.tgz#45038e4d28a7fe787203aede9c25bca4a08b12c8"
- integrity sha512-nxt+Nfc3JAqf4WIWd0jXLjTJZmsPLrA9DDc4nRw2KFJQJK7DNooqSXrNI7tzLG50CF8axczly5UV929tBmh/7g==
+cosmiconfig@^5.0.0, cosmiconfig@^5.2.0, cosmiconfig@^5.2.1:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
+ integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
dependencies:
import-fresh "^2.0.0"
is-directory "^0.3.1"
- js-yaml "^3.13.0"
+ js-yaml "^3.13.1"
parse-json "^4.0.0"
create-ecdh@^4.0.0:
@@ -2741,6 +4142,19 @@ create-ecdh@^4.0.0:
bn.js "^4.1.0"
elliptic "^6.0.0"
+create-emotion@^9.2.12:
+ version "9.2.12"
+ resolved "https://registry.yarnpkg.com/create-emotion/-/create-emotion-9.2.12.tgz#0fc8e7f92c4f8bb924b0fef6781f66b1d07cb26f"
+ integrity sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA==
+ dependencies:
+ "@emotion/hash" "^0.6.2"
+ "@emotion/memoize" "^0.6.1"
+ "@emotion/stylis" "^0.7.0"
+ "@emotion/unitless" "^0.6.2"
+ csstype "^2.5.2"
+ stylis "^3.5.0"
+ stylis-rule-sheet "^0.0.10"
+
create-hash@^1.1.0, create-hash@^1.1.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
@@ -2764,6 +4178,22 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
+create-react-context@<=0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.2.tgz#9836542f9aaa22868cd7d4a6f82667df38019dca"
+ integrity sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==
+ dependencies:
+ fbjs "^0.8.0"
+ gud "^1.0.0"
+
+create-react-context@^0.2.1:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.3.tgz#9ec140a6914a22ef04b8b09b7771de89567cb6f3"
+ integrity sha512-CQBmD0+QGgTaxDL3OX1IDXYqjkp2It4RIbcb99jS6AEg27Ga+a9G3JtK6SIu0HBwPLZlmwt9F7UwWA4Bn92Rag==
+ dependencies:
+ fbjs "^0.8.0"
+ gud "^1.0.0"
+
cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
@@ -2775,6 +4205,23 @@ cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5:
shebang-command "^1.2.0"
which "^1.2.9"
+cross-spawn@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
+ integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI=
+ dependencies:
+ lru-cache "^4.0.1"
+ which "^1.2.9"
+
+cross-spawn@^5.0.1:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
+ integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=
+ dependencies:
+ lru-cache "^4.0.1"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
crypto-browserify@^3.11.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
@@ -2820,7 +4267,7 @@ css-has-pseudo@^0.10.0:
postcss "^7.0.6"
postcss-selector-parser "^5.0.0-rc.4"
-css-loader@2.1.1:
+css-loader@2.1.1, css-loader@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea"
integrity sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==
@@ -2837,6 +4284,11 @@ css-loader@2.1.1:
postcss-value-parser "^3.3.0"
schema-utils "^1.0.0"
+css-mediaquery@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/css-mediaquery/-/css-mediaquery-0.1.2.tgz#6a2c37344928618631c54bd33cedd301da18bea0"
+ integrity sha1-aiw3NEkoYYYxxUvTPO3TAdoYvqA=
+
css-prefers-color-scheme@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4"
@@ -2869,14 +4321,6 @@ css-select@^2.0.0:
domutils "^1.7.0"
nth-check "^1.0.2"
-css-tree@1.0.0-alpha.28:
- version "1.0.0-alpha.28"
- resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f"
- integrity sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==
- dependencies:
- mdn-data "~1.1.0"
- source-map "^0.5.3"
-
css-tree@1.0.0-alpha.29:
version "1.0.0-alpha.29"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39"
@@ -2885,21 +4329,29 @@ css-tree@1.0.0-alpha.29:
mdn-data "~1.1.0"
source-map "^0.5.3"
-css-unit-converter@^1.1.1:
+css-tree@1.0.0-alpha.33:
+ version "1.0.0-alpha.33"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.33.tgz#970e20e5a91f7a378ddd0fc58d0b6c8d4f3be93e"
+ integrity sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==
+ dependencies:
+ mdn-data "2.0.4"
+ source-map "^0.5.3"
+
+css-unit-converter@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996"
integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=
-css-url-regex@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec"
- integrity sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=
-
css-what@2.1, css-what@^2.1.2:
version "2.1.3"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==
+csscolorparser@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/csscolorparser/-/csscolorparser-1.0.3.tgz#b34f391eea4da8f3e98231e2ccd8df9c041f171b"
+ integrity sha1-s085HupNqPPpgjHizNjfnAQfFxs=
+
cssdb@^4.3.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0"
@@ -2991,26 +4443,120 @@ csso@^3.5.1:
css-tree "1.0.0-alpha.29"
cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4:
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.6.tgz#f85206cee04efa841f3c5982a74ba96ab20d65ad"
- integrity sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==
+ version "0.3.8"
+ resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
+ integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
cssstyle@^1.0.0, cssstyle@^1.1.1:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.2.2.tgz#427ea4d585b18624f6fdbf9de7a2a1a3ba713077"
- integrity sha512-43wY3kl1CVQSvL7wUY1qXkxVGkStjpkDmVjiIKX8R97uhajy8Bybay78uOtqvh7Q5GK75dNPfW0geWjE6qQQow==
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1"
+ integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==
dependencies:
cssom "0.3.x"
+csstype@^2.5.2, csstype@^2.5.7:
+ version "2.6.6"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz#c34f8226a94bbb10c32cc0d714afdf942291fc41"
+ integrity sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg==
+
+currently-unhandled@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
+ integrity sha1-mI3zP+qxke95mmE2nddsF635V+o=
+ dependencies:
+ array-find-index "^1.0.1"
+
cyclist@~0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=
+d3-array@^1.2.0:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f"
+ integrity sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==
+
+d3-collection@1:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e"
+ integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==
+
+d3-color@1:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.2.8.tgz#4eaf9b60ef188c893fcf8b28f3546aafebfbd9f4"
+ integrity sha512-yeANXzP37PHk0DbSTMNPhnJD+Nn4G//O5E825bR6fAfHH43hobSBpgB9G9oWVl9+XgUaQ4yCnsX1H+l8DoaL9A==
+
+d3-dsv@^1.0.8:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.1.1.tgz#aaa830ecb76c4b5015572c647cc6441e3c7bb701"
+ integrity sha512-1EH1oRGSkeDUlDRbhsFytAXU6cAmXFzc52YUe6MRlPClmWb85MP1J5x+YJRzya4ynZWnbELdSAvATFW/MbxaXw==
+ dependencies:
+ commander "2"
+ iconv-lite "0.4"
+ rw "1"
+
+d3-ease@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.5.tgz#8ce59276d81241b1b72042d6af2d40e76d936ffb"
+ integrity sha512-Ct1O//ly5y5lFM9YTdu+ygq7LleSgSE4oj7vUt9tPLHUi8VCV7QoizGpdWRWAwCO9LdYzIrQDg97+hGVdsSGPQ==
+
+d3-format@1, d3-format@^1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.3.2.tgz#6a96b5e31bcb98122a30863f7d92365c00603562"
+ integrity sha512-Z18Dprj96ExragQ0DeGi+SYPQ7pPfRMtUXtsg/ChVIKNBCzjO8XYJvRTC1usblx52lqge56V5ect+frYTQc8WQ==
+
+d3-hexbin@^0.2.1:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/d3-hexbin/-/d3-hexbin-0.2.2.tgz#9c5837dacfd471ab05337a9e91ef10bfc4f98831"
+ integrity sha1-nFg32s/UcasFM3qeke8Qv8T5iDE=
+
+d3-interpolate@1, d3-interpolate@^1.3.0:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.3.2.tgz#417d3ebdeb4bc4efcc8fd4361c55e4040211fd68"
+ integrity sha512-NlNKGopqaz9qM1PXh9gBF1KSCVh+jSFErrSlD/4hybwoNX/gt1d8CDbDW+3i+5UOHhjC6s6nMvRxcuoMVNgL2w==
+ dependencies:
+ d3-color "1"
+
+d3-path@1:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.7.tgz#8de7cd693a75ac0b5480d3abaccd94793e58aae8"
+ integrity sha512-q0cW1RpvA5c5ma2rch62mX8AYaiLX0+bdaSM2wxSU9tXjU4DNvkx9qiUvjkuWCj3p22UO/hlPivujqMiR9PDzA==
+
+d3-scale@^2.1.0:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-2.2.2.tgz#4e880e0b2745acaaddd3ede26a9e908a9e17b81f"
+ integrity sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==
+ dependencies:
+ d3-array "^1.2.0"
+ d3-collection "1"
+ d3-format "1"
+ d3-interpolate "1"
+ d3-time "1"
+ d3-time-format "2"
+
+d3-shape@^1.2.0:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.5.tgz#e81aea5940f59f0a79cfccac012232a8987c6033"
+ integrity sha512-VKazVR3phgD+MUCldapHD7P9kcrvPcexeX/PkMJmkUov4JM8IxsSg1DvbYoYich9AtdTsa5nNk2++ImPiDiSxg==
+ dependencies:
+ d3-path "1"
+
+d3-time-format@2:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.1.3.tgz#ae06f8e0126a9d60d6364eac5b1533ae1bac826b"
+ integrity sha512-6k0a2rZryzGm5Ihx+aFMuO1GgelgIz+7HhB4PH4OEndD5q2zGn1mDfRdNrulspOfR6JXkb2sThhDK41CSK85QA==
+ dependencies:
+ d3-time "1"
+
+d3-time@1:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.11.tgz#1d831a3e25cd189eb256c17770a666368762bbce"
+ integrity sha512-Z3wpvhPLW4vEScGeIMUckDW7+3hWKOQfAWg/U7PlWBnQmeKQ00gCUsTtWSYulrKNA7ta8hJ+xXc6MHrMuITwEw==
+
damerau-levenshtein@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514"
- integrity sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414"
+ integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA==
dashdash@^1.12.0:
version "1.14.1"
@@ -3028,6 +4574,11 @@ data-urls@^1.0.0, data-urls@^1.1.0:
whatwg-mimetype "^2.2.0"
whatwg-url "^7.0.0"
+date-fns@^v2.0.0-beta.1:
+ version "2.0.0-beta.4"
+ resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.0.0-beta.4.tgz#3e1bf33a15da69481f81972c4a50aad762a81f2c"
+ integrity sha512-xekjYm7ZDBuzePM/GBodhi3hW3P8dd2RbuIOLBjet2E6EGFR82wHTTXCSGuDEoapqlDvsx88ymRsq85lbM7dDw==
+
date-now@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
@@ -3040,6 +4591,13 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8, debug@^2.6.
dependencies:
ms "2.0.0"
+debug@=3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
+ dependencies:
+ ms "2.0.0"
+
debug@^3.2.5, debug@^3.2.6:
version "3.2.6"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
@@ -3054,7 +4612,7 @@ debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
dependencies:
ms "^2.1.1"
-decamelize@^1.2.0:
+decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
@@ -3066,6 +4624,26 @@ decamelize@^2.0.0:
dependencies:
xregexp "4.0.0"
+decimal.js-light@^2.4.1:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/decimal.js-light/-/decimal.js-light-2.5.0.tgz#ca7faf504c799326df94b0ab920424fdfc125348"
+ integrity sha512-b3VJCbd2hwUpeRGG3Toob+CRo8W22xplipNhP3tN7TSVB/cyMX71P1vM2Xjc9H74uV6dS2hDDmo/rHq8L87Upg==
+
+deck.gl@^7.1.4:
+ version "7.1.10"
+ resolved "https://registry.yarnpkg.com/deck.gl/-/deck.gl-7.1.10.tgz#fc0022dc642879b5a8c56d1627d169857006993c"
+ integrity sha512-MngDfVHrS31GKlcYNPCBEKHC/FXFNNwxCI2vAtROP8IcdqEV0lhh+HFl6TiPlHVUZvvZyd1HUK+aLakKI36kGw==
+ dependencies:
+ "@deck.gl/aggregation-layers" "7.1.10"
+ "@deck.gl/core" "7.1.10"
+ "@deck.gl/geo-layers" "7.1.10"
+ "@deck.gl/google-maps" "7.1.10"
+ "@deck.gl/json" "7.1.10"
+ "@deck.gl/layers" "7.1.10"
+ "@deck.gl/mapbox" "7.1.10"
+ "@deck.gl/mesh-layers" "7.1.10"
+ "@deck.gl/react" "7.1.10"
+
decode-uri-component@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
@@ -3086,6 +4664,11 @@ deep-is@~0.1.3:
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
+deep-object-diff@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/deep-object-diff/-/deep-object-diff-1.1.0.tgz#d6fabf476c2ed1751fc94d5ca693d2ed8c18bc5a"
+ integrity sha512-b+QLs5vHgS+IoSNcUE4n9HP2NwcHj7aqnJWsjPtuG75Rh5TOaGt0OjAYInh77d5T16V5cRDC+Pw/6ZZZiETBGw==
+
default-gateway@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b"
@@ -3140,6 +4723,11 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+delegate@^3.1.2:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
+ integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==
+
delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
@@ -3186,6 +4774,14 @@ detect-port-alt@1.1.6:
address "^1.0.1"
debug "^2.6.0"
+detect-port@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.3.0.tgz#d9c40e9accadd4df5cac6a782aefd014d573d1f1"
+ integrity sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==
+ dependencies:
+ address "^1.0.1"
+ debug "^2.6.0"
+
diff-sequences@^24.3.0:
version "24.3.0"
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.3.0.tgz#0f20e8a1df1abddaf4d9c226680952e64118b975"
@@ -3257,6 +4853,13 @@ dom-converter@^0.2:
dependencies:
utila "~0.4"
+dom-helpers@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8"
+ integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==
+ dependencies:
+ "@babel/runtime" "^7.1.2"
+
dom-serializer@0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0"
@@ -3265,6 +4868,11 @@ dom-serializer@0:
domelementtype "^1.3.0"
entities "^1.1.1"
+dom-walk@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018"
+ integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=
+
domain-browser@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
@@ -3312,16 +4920,40 @@ dot-prop@^4.1.1:
dependencies:
is-obj "^1.0.0"
+dotenv-defaults@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/dotenv-defaults/-/dotenv-defaults-1.0.2.tgz#441cf5f067653fca4bbdce9dd3b803f6f84c585d"
+ integrity sha512-iXFvHtXl/hZPiFj++1hBg4lbKwGM+t/GlvELDnRtOFdjXyWP7mubkVr+eZGWG62kdsbulXAef6v/j6kiWc/xGA==
+ dependencies:
+ dotenv "^6.2.0"
+
dotenv-expand@4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-4.2.0.tgz#def1f1ca5d6059d24a766e587942c21106ce1275"
integrity sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=
-dotenv@6.2.0:
+dotenv-expand@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0"
+ integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==
+
+dotenv-webpack@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-1.7.0.tgz#4384d8c57ee6f405c296278c14a9f9167856d3a1"
+ integrity sha512-wwNtOBW/6gLQSkb8p43y0Wts970A3xtNiG/mpwj9MLUhtPCQG6i+/DSXXoNN7fbPCU/vQ7JjwGmgOeGZSSZnsw==
+ dependencies:
+ dotenv-defaults "^1.0.2"
+
+dotenv@6.2.0, dotenv@^6.2.0:
version "6.2.0"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064"
integrity sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==
+dotenv@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.0.0.tgz#ed310c165b4e8a97bb745b0a9d99c31bda566440"
+ integrity sha512-30xVGqjLjiUOArT4+M5q9sYdvuR4riM6yK9wMcas9Vbp6zZa+ocC9dp6QoftuhTPhFAiLK/0C5Ni2nou/Bk8lg==
+
duplexer@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
@@ -3337,6 +4969,11 @@ duplexify@^3.4.2, duplexify@^3.6.0:
readable-stream "^2.0.0"
stream-shift "^1.0.0"
+earcut@^2.0.6, earcut@^2.1.5:
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/earcut/-/earcut-2.1.5.tgz#829280a9a3a0f5fee0529f0a47c3e4eff09b21e4"
+ integrity sha512-QFWC7ywTVLtvRAJTVp8ugsuuGQ5mVqNmJ1cRYeLrSHgP3nycr2RHTJob9OtM0v8ujuoKN0NY1a93J/omeTL1PA==
+
ecc-jsbn@~0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
@@ -3350,15 +4987,20 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
-electron-to-chromium@^1.3.122, electron-to-chromium@^1.3.127:
- version "1.3.133"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.133.tgz#c47639c19b91feee3e22fad69f5556142007008c"
- integrity sha512-lyoC8aoqbbDqsprb6aPdt9n3DpOZZzdz/T4IZKsR0/dkZIxnJVUjjcpOSwA66jPRIOyDAamCTAUqweU05kKNSg==
+ejs@^2.6.1:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.2.tgz#3a32c63d1cd16d11266cd4703b14fec4e74ab4f6"
+ integrity sha512-PcW2a0tyTuPHz3tWyYqtK6r1fZ3gp+3Sop8Ph+ZYN81Ob5rwmbHEzaqs10N3BEsaGTkh/ooniXK+WwszGlc2+Q==
+
+electron-to-chromium@^1.3.122, electron-to-chromium@^1.3.191:
+ version "1.3.194"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.194.tgz#a96452a96d4539131957aade9f634a45721f2819"
+ integrity sha512-w0LHR2YD9Ex1o+Sz4IN2hYzCB8vaFtMNW+yJcBf6SZlVqgFahkne/4rGVJdk4fPF98Gch9snY7PiabOh+vqHNg==
elliptic@^6.0.0:
- version "6.4.1"
- resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a"
- integrity sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca"
+ integrity sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==
dependencies:
bn.js "^4.4.0"
brorand "^1.0.1"
@@ -3368,6 +5010,11 @@ elliptic@^6.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.0"
+emoji-regex@^6.5.1:
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2"
+ integrity sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==
+
emoji-regex@^7.0.1, emoji-regex@^7.0.2:
version "7.0.3"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
@@ -3378,11 +5025,35 @@ emojis-list@^2.0.0:
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
+emotion-theming@^10.0.10, emotion-theming@^10.0.9:
+ version "10.0.14"
+ resolved "https://registry.yarnpkg.com/emotion-theming/-/emotion-theming-10.0.14.tgz#e548d388493d07bedbb0d9d3bbe221766174b1f4"
+ integrity sha512-zMGhPSYz48AAR6DYjQVaZHeO42cYKPq4VyB1XjxzgR62/NmO99679fx8qDDB1QZVYGkRWZtsOe+zJE/e30XdbA==
+ dependencies:
+ "@babel/runtime" "^7.4.3"
+ "@emotion/weak-memoize" "0.2.3"
+ hoist-non-react-statics "^3.3.0"
+
+emotion@^9.1.2:
+ version "9.2.12"
+ resolved "https://registry.yarnpkg.com/emotion/-/emotion-9.2.12.tgz#53925aaa005614e65c6e43db8243c843574d1ea9"
+ integrity sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ==
+ dependencies:
+ babel-plugin-emotion "^9.2.11"
+ create-emotion "^9.2.12"
+
encodeurl@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
+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"
+
end-of-stream@^1.0.0, end-of-stream@^1.1.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43"
@@ -3418,7 +5089,7 @@ error-ex@^1.2.0, error-ex@^1.3.1:
dependencies:
is-arrayish "^0.2.1"
-es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.5.1, es-abstract@^1.7.0:
+es-abstract@^1.10.0, es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.13.0, es-abstract@^1.4.3, es-abstract@^1.5.1, es-abstract@^1.7.0, es-abstract@^1.9.0:
version "1.13.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==
@@ -3439,7 +5110,17 @@ es-to-primitive@^1.2.0:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
-escape-html@~1.0.3:
+es5-shim@^4.5.13:
+ version "4.5.13"
+ resolved "https://registry.yarnpkg.com/es5-shim/-/es5-shim-4.5.13.tgz#5d88062de049f8969f83783f4a4884395f21d28b"
+ integrity sha512-xi6hh6gsvDE0MaW4Vp1lgNEBpVcCXRWfPXj5egDvtgLz4L9MEvNwYEMdJH+JJinWkwa8c3c3o5HduV7dB/e1Hw==
+
+es6-shim@^0.35.5:
+ version "0.35.5"
+ resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.5.tgz#46f59dc0a84a1c5029e8ff1166ca0a902077a9ab"
+ integrity sha512-E9kK/bjtCQRpN1K28Xh4BlmP8egvZBGJJ+9GtnzOwt7mdqtrjHFuVGr7QJfdjBIKqrlU5duPf3pCBoDrkjVYFg==
+
+escape-html@^1.0.3, escape-html@~1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
@@ -3461,6 +5142,24 @@ escodegen@^1.11.0, escodegen@^1.9.1:
optionalDependencies:
source-map "~0.6.1"
+eslint-config-airbnb-base@^13.1.0:
+ version "13.2.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.2.0.tgz#f6ea81459ff4dec2dda200c35f1d8f7419d57943"
+ integrity sha512-1mg/7eoB4AUeB0X1c/ho4vb2gYkNH8Trr/EgCT/aGmKhhG+F6vF5s8+iRBlWAzFIAphxIdp3YfEKgEl0f9Xg+w==
+ dependencies:
+ confusing-browser-globals "^1.0.5"
+ object.assign "^4.1.0"
+ object.entries "^1.1.0"
+
+eslint-config-airbnb@17.1.0:
+ version "17.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-17.1.0.tgz#3964ed4bc198240315ff52030bf8636f42bc4732"
+ integrity sha512-R9jw28hFfEQnpPau01NO5K/JWMGLi6aymiF6RsnMURjTk+MqZKllCqGK/0tOvHkPi/NWSSOU2Ced/GX++YxLnw==
+ dependencies:
+ eslint-config-airbnb-base "^13.1.0"
+ object.assign "^4.1.0"
+ object.entries "^1.0.4"
+
eslint-config-react-app@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-4.0.1.tgz#23fd0fd7ea89442ef1e733f66a7207674b23c8db"
@@ -3468,6 +5167,11 @@ eslint-config-react-app@^4.0.1:
dependencies:
confusing-browser-globals "^1.0.7"
+eslint-config-vizzuality@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-vizzuality/-/eslint-config-vizzuality-1.3.0.tgz#7aed96ba3bfed13348cdf6d42d3301a81645f05d"
+ integrity sha512-48xFPJmkJOggXqhj1VPOhhaj/jeGhffBBSJ0ns3EKYe5T9KN4r9qb76pe+6SfR2mS1Ie8c+lfU42LNe2NBBumA==
+
eslint-import-resolver-node@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
@@ -3487,7 +5191,7 @@ eslint-loader@2.1.2:
object-hash "^1.1.4"
rimraf "^2.6.1"
-eslint-module-utils@^2.3.0:
+eslint-module-utils@^2.3.0, eslint-module-utils@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz#8b93499e9b00eab80ccb6614e69f03678e84e09a"
integrity sha512-14tltLm38Eu3zS+mt0KvILC3q8jyIAH518MlG+HO0p+yK885Lb1UHTY/UgR91eOyGdmxAPb+OLoW4znqIT6Ndw==
@@ -3518,6 +5222,37 @@ eslint-plugin-import@2.16.0:
read-pkg-up "^2.0.0"
resolve "^1.9.0"
+eslint-plugin-import@^2.17.2:
+ version "2.18.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.0.tgz#7a5ba8d32622fb35eb9c8db195c2090bd18a3678"
+ integrity sha512-PZpAEC4gj/6DEMMoU2Df01C5c50r7zdGIN52Yfi7CvvWaYssG7Jt5R9nFG5gmqodxNOz9vQS87xk6Izdtpdrig==
+ dependencies:
+ array-includes "^3.0.3"
+ contains-path "^0.1.0"
+ debug "^2.6.9"
+ doctrine "1.5.0"
+ eslint-import-resolver-node "^0.3.2"
+ eslint-module-utils "^2.4.0"
+ has "^1.0.3"
+ lodash "^4.17.11"
+ minimatch "^3.0.4"
+ read-pkg-up "^2.0.0"
+ resolve "^1.11.0"
+
+eslint-plugin-jsx-a11y@6.1.1:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.1.tgz#7bf56dbe7d47d811d14dbb3ddff644aa656ce8e1"
+ integrity sha512-JsxNKqa3TwmPypeXNnI75FntkUktGzI1wSa1LgNZdSOMI+B4sxnr1lSF8m8lPiz4mKiC+14ysZQM4scewUrP7A==
+ dependencies:
+ aria-query "^3.0.0"
+ array-includes "^3.0.3"
+ ast-types-flow "^0.0.7"
+ axobject-query "^2.0.1"
+ damerau-levenshtein "^1.0.4"
+ emoji-regex "^6.5.1"
+ has "^1.0.3"
+ jsx-ast-utils "^2.0.1"
+
eslint-plugin-jsx-a11y@6.2.1:
version "6.2.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.1.tgz#4ebba9f339b600ff415ae4166e3e2e008831cf0c"
@@ -3533,9 +5268,20 @@ eslint-plugin-jsx-a11y@6.2.1:
jsx-ast-utils "^2.0.1"
eslint-plugin-react-hooks@^1.5.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.6.0.tgz#348efcda8fb426399ac7b8609607c7b4025a6f5f"
- integrity sha512-lHBVRIaz5ibnIgNG07JNiAuBUeKhEf8l4etNx5vfAEwqQ5tcuK3jV9yjmopPgQDagQb7HwIuQVsE3IVcGrRnag==
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.6.1.tgz#3c66a5515ea3e0a221ffc5d4e75c971c217b1a4c"
+ integrity sha512-wHhmGJyVuijnYIJXZJHDUF2WM+rJYTjulUTqF9k61d3BTk8etydz+M4dXUVH7M76ZRS85rqBTCx0Es/lLsrjnA==
+
+eslint-plugin-react@7.11.0:
+ version "7.11.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.11.0.tgz#b3124af974c4da978e62a57ea49a7bc26f11e76d"
+ integrity sha512-SJOh2p3Mr1nbp/Nd5odTuSn2rvaMvO5DaOpuAGc9Sc+Gcxqkyffb1mqQGIKB9tWQJlvrfsrzWnMJexZJ7YRDUw==
+ dependencies:
+ array-includes "^3.0.3"
+ doctrine "^2.1.0"
+ has "^1.0.3"
+ jsx-ast-utils "^2.0.1"
+ prop-types "^15.6.2"
eslint-plugin-react@7.12.4:
version "7.12.4"
@@ -3567,16 +5313,18 @@ eslint-scope@^4.0.0, eslint-scope@^4.0.3:
estraverse "^4.1.1"
eslint-utils@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512"
- integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.0.tgz#e2c3c8dba768425f897cf0f9e51fe2e241485d4c"
+ integrity sha512-7ehnzPaP5IIEh1r1tkjuIrxqhNkzUJa9z3R92tLJdZIVdWaczEhr3EbhGtsMrVxi1KeR8qA7Off6SWc5WNQqyQ==
+ dependencies:
+ eslint-visitor-keys "^1.0.0"
eslint-visitor-keys@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==
-eslint@^5.16.0:
+eslint@5.16.0, eslint@^5.16.0:
version "5.16.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea"
integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==
@@ -3618,6 +5366,11 @@ eslint@^5.16.0:
table "^5.2.3"
text-table "^0.2.0"
+esm@~3.0.84:
+ version "3.0.84"
+ resolved "https://registry.yarnpkg.com/esm/-/esm-3.0.84.tgz#bb108989f4673b32d4f62406869c28eed3815a63"
+ integrity sha512-SzSGoZc17S7P+12R9cg21Bdb7eybX25RnIeRZ80xZs+VZ3kdQKzqTp2k4hZJjR7p9l0186TTXSgrxzlMDBktlw==
+
espree@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a"
@@ -3632,11 +5385,16 @@ esprima@^3.1.3:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=
-esprima@^4.0.0:
+esprima@^4.0.0, esprima@~4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+esprima@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad"
+ integrity sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=
+
esquery@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
@@ -3666,7 +5424,7 @@ etag@~1.8.1:
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
-eventemitter3@^3.0.0:
+eventemitter3@^3.0.0, eventemitter3@^3.1.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7"
integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==
@@ -3696,6 +5454,19 @@ exec-sh@^0.3.2:
resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b"
integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==
+execa@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
+ integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=
+ dependencies:
+ cross-spawn "^5.0.1"
+ get-stream "^3.0.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
execa@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
@@ -3709,6 +5480,11 @@ execa@^1.0.0:
signal-exit "^3.0.0"
strip-eof "^1.0.0"
+exenv@^1.2.0:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d"
+ integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=
+
exit@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
@@ -3739,39 +5515,44 @@ expect@^24.8.0:
jest-message-util "^24.8.0"
jest-regex-util "^24.3.0"
-express@^4.16.2:
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e"
- integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==
+express-favicon@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/express-favicon/-/express-favicon-2.0.1.tgz#6d852a1bc576ac72db006d3550cc09b23a96eef7"
+ integrity sha512-KZZF9lIUKU9lkyZM/7AVql7qeXA6EVkHCU5rGU4NvgbWNcYFn6zvCw3cwS5IY/vvP+MzVNVvBABnWfaVZoy7bQ==
+
+express@^4.16.2, express@^4.17.0, express@^4.17.1:
+ version "4.17.1"
+ resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
+ integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
dependencies:
- accepts "~1.3.5"
+ accepts "~1.3.7"
array-flatten "1.1.1"
- body-parser "1.18.3"
- content-disposition "0.5.2"
+ body-parser "1.19.0"
+ content-disposition "0.5.3"
content-type "~1.0.4"
- cookie "0.3.1"
+ cookie "0.4.0"
cookie-signature "1.0.6"
debug "2.6.9"
depd "~1.1.2"
encodeurl "~1.0.2"
escape-html "~1.0.3"
etag "~1.8.1"
- finalhandler "1.1.1"
+ finalhandler "~1.1.2"
fresh "0.5.2"
merge-descriptors "1.0.1"
methods "~1.1.2"
on-finished "~2.3.0"
- parseurl "~1.3.2"
+ parseurl "~1.3.3"
path-to-regexp "0.1.7"
- proxy-addr "~2.0.4"
- qs "6.5.2"
- range-parser "~1.2.0"
+ proxy-addr "~2.0.5"
+ qs "6.7.0"
+ range-parser "~1.2.1"
safe-buffer "5.1.2"
- send "0.16.2"
- serve-static "1.13.2"
- setprototypeof "1.1.0"
- statuses "~1.4.0"
- type-is "~1.6.16"
+ send "0.17.1"
+ serve-static "1.14.1"
+ setprototypeof "1.1.1"
+ statuses "~1.5.0"
+ type-is "~1.6.18"
utils-merge "1.0.1"
vary "~1.1.2"
@@ -3790,15 +5571,15 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
-extend@^3.0.0, extend@~3.0.2:
+extend@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
external-editor@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27"
- integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
+ integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
dependencies:
chardet "^0.7.0"
iconv-lite "^0.4.24"
@@ -3834,9 +5615,9 @@ fast-deep-equal@^2.0.1:
integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
fast-glob@^2.0.2:
- version "2.2.6"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.6.tgz#a5d5b697ec8deda468d85a74035290a025a95295"
- integrity sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w==
+ version "2.2.7"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d"
+ integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==
dependencies:
"@mrmlnc/readdir-enhanced" "^2.2.1"
"@nodelib/fs.stat" "^1.1.2"
@@ -3855,6 +5636,13 @@ fast-levenshtein@~2.0.4:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+fault@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.3.tgz#4da88cf979b6b792b4e13c7ec836767725170b7e"
+ integrity sha512-sfFuP4X0hzrbGKjAUNXYvNqsZ5F6ohx/dZ9I0KQud/aiZNwg263r5L9yGB0clvXHCkzXh5W3t7RSHchggYIFmA==
+ dependencies:
+ format "^0.2.2"
+
faye-websocket@^0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
@@ -3863,9 +5651,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"
@@ -3876,6 +5664,19 @@ fb-watchman@^2.0.0:
dependencies:
bser "^2.0.0"
+fbjs@^0.8.0, fbjs@^0.8.1:
+ 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"
+ loose-envify "^1.0.0"
+ object-assign "^4.1.0"
+ promise "^7.1.1"
+ setimmediate "^1.0.5"
+ ua-parser-js "^0.7.18"
+
figgy-pudding@^3.5.1:
version "3.5.1"
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
@@ -3895,7 +5696,7 @@ file-entry-cache@^5.0.1:
dependencies:
flat-cache "^2.0.1"
-file-loader@3.0.1:
+file-loader@3.0.1, file-loader@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa"
integrity sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==
@@ -3903,6 +5704,15 @@ file-loader@3.0.1:
loader-utils "^1.0.2"
schema-utils "^1.0.0"
+file-system-cache@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/file-system-cache/-/file-system-cache-1.0.5.tgz#84259b36a2bbb8d3d6eb1021d3132ffe64cfff4f"
+ integrity sha1-hCWbNqK7uNPW6xAh0xMv/mTP/08=
+ dependencies:
+ bluebird "^3.3.5"
+ fs-extra "^0.30.0"
+ ramda "^0.21.0"
+
filesize@3.6.1:
version "3.6.1"
resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317"
@@ -3918,17 +5728,17 @@ fill-range@^4.0.0:
repeat-string "^1.6.1"
to-regex-range "^2.1.0"
-finalhandler@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105"
- integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==
+finalhandler@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
+ integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
dependencies:
debug "2.6.9"
encodeurl "~1.0.2"
escape-html "~1.0.3"
on-finished "~2.3.0"
- parseurl "~1.3.2"
- statuses "~1.4.0"
+ parseurl "~1.3.3"
+ statuses "~1.5.0"
unpipe "~1.0.0"
find-cache-dir@^0.1.1:
@@ -3949,6 +5759,20 @@ find-cache-dir@^2.0.0:
make-dir "^2.0.0"
pkg-dir "^3.0.0"
+find-cache-dir@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.0.0.tgz#cd4b7dd97b7185b7e17dbfe2d6e4115ee3eeb8fc"
+ integrity sha512-t7ulV1fmbxh5G9l/492O1p5+EBbr3uwpt6odhFTMc+nWyhmbloe+ja9BZ8pIBtqFWhOmCWVjx+pTW4zDkFoclw==
+ dependencies:
+ commondir "^1.0.1"
+ make-dir "^3.0.0"
+ pkg-dir "^4.1.0"
+
+find-root@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
+ integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
+
find-up@3.0.0, find-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
@@ -3971,6 +5795,14 @@ find-up@^2.0.0, find-up@^2.1.0:
dependencies:
locate-path "^2.0.0"
+find-up@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+ integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+ dependencies:
+ locate-path "^5.0.0"
+ path-exists "^4.0.0"
+
flat-cache@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
@@ -3981,9 +5813,9 @@ flat-cache@^2.0.1:
write "1.0.3"
flatted@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916"
- integrity sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08"
+ integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==
flatten@^1.0.2:
version "1.0.2"
@@ -3998,6 +5830,18 @@ flush-write-stream@^1.0.0:
inherits "^2.0.3"
readable-stream "^2.3.6"
+focus-lock@^0.6.3:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-0.6.5.tgz#f6eb37832a9b1b205406175f5277396a28c0fce1"
+ integrity sha512-i/mVBOoa9o+tl+u9owOJUF8k8L85odZNIsctB+JAK2HFT8jckiBwmk+3uydlm6FN8czgnkIwQtBv6yyAbrzXjw==
+
+follow-redirects@1.5.10:
+ version "1.5.10"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
+ integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
+ dependencies:
+ debug "=3.1.0"
+
follow-redirects@^1.0.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.7.0.tgz#489ebc198dc0e7f64167bd23b03c4c19b5784c76"
@@ -4057,6 +5901,11 @@ form-data@~2.3.2:
combined-stream "^1.0.6"
mime-types "^2.1.12"
+format@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"
+ integrity sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=
+
forwarded@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
@@ -4091,6 +5940,17 @@ fs-extra@7.0.1, fs-extra@^7.0.0:
jsonfile "^4.0.0"
universalify "^0.1.0"
+fs-extra@^0.30.0:
+ version "0.30.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0"
+ integrity sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^2.1.0"
+ klaw "^1.0.0"
+ path-is-absolute "^1.0.0"
+ rimraf "^2.2.8"
+
fs-extra@^4.0.2:
version "4.0.3"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
@@ -4100,10 +5960,19 @@ fs-extra@^4.0.2:
jsonfile "^4.0.0"
universalify "^0.1.0"
+fs-extra@^8.0.1:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
+ integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
fs-minipass@^1.2.5:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
- integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07"
+ integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==
dependencies:
minipass "^2.2.1"
@@ -4135,16 +6004,40 @@ fsevents@^1.2.7:
nan "^2.12.1"
node-pre-gyp "^0.12.0"
-function-bind@^1.1.1:
+fstream@^1.0.0, fstream@^1.0.12:
+ version "1.0.12"
+ resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"
+ integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==
+ dependencies:
+ graceful-fs "^4.1.2"
+ inherits "~2.0.0"
+ mkdirp ">=0.5 0"
+ rimraf "2"
+
+function-bind@^1.0.2, function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+function.prototype.name@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327"
+ integrity sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg==
+ dependencies:
+ define-properties "^1.1.2"
+ function-bind "^1.1.1"
+ is-callable "^1.1.3"
+
functional-red-black-tree@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
+fuse.js@^3.4.4:
+ version "3.4.5"
+ resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.4.5.tgz#8954fb43f9729bd5dbcb8c08f251db552595a7a6"
+ integrity sha512-s9PGTaQIkT69HaeoTVjwGsLfb8V8ScJLx5XGFcKHg0MqLUH/UZ4EKOtqtXX9k7AFqCGxD1aJmYb8Q5VYDibVRQ==
+
gauge@~2.7.3:
version "2.7.4"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
@@ -4159,6 +6052,18 @@ gauge@~2.7.3:
strip-ansi "^3.0.1"
wide-align "^1.1.0"
+gaze@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a"
+ integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==
+ dependencies:
+ globule "^1.0.0"
+
+geojson-vt@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/geojson-vt/-/geojson-vt-3.2.1.tgz#f8adb614d2c1d3f6ee7c4265cad4bbf3ad60c8b7"
+ integrity sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==
+
get-caller-file@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
@@ -4169,6 +6074,16 @@ get-own-enumerable-property-symbols@^3.0.0:
resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203"
integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==
+get-stdin@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
+ integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
+
+get-stream@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
+ integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
+
get-stream@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
@@ -4188,6 +6103,11 @@ getpass@^0.1.1:
dependencies:
assert-plus "^1.0.0"
+gl-matrix@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-3.0.0.tgz#888301ac7650e148c3865370e13ec66d08a8381f"
+ integrity sha512-PD4mVH/C/Zs64kOozeFnKY8ybhgwxXXQYGWdB4h68krAHknWJgk9uKOn6z8YElh5//vs++90pb6csrTIDWnexA==
+
glob-parent@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
@@ -4201,7 +6121,7 @@ glob-to-regexp@^0.3.0:
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=
-glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3:
+glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1:
version "7.1.4"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
@@ -4229,11 +6149,28 @@ global-prefix@^3.0.0:
kind-of "^6.0.2"
which "^1.3.1"
+global@^4.3.2:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406"
+ integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==
+ dependencies:
+ min-document "^2.19.0"
+ process "^0.11.10"
+
globals@^11.1.0, globals@^11.7.0:
version "11.12.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+globalthis@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.0.tgz#c5fb98213a9b4595f59cf3e7074f141b4169daae"
+ integrity sha512-vcCAZTJ3r5Qcu5l8/2oyVdoFwxKgfYnMTR2vwWeux/NAVZK3PwcMaWkdUIn4GJbmKuRK7xcvDsLuK+CKcXyodg==
+ dependencies:
+ define-properties "^1.1.2"
+ function-bind "^1.1.1"
+ object-keys "^1.0.12"
+
globby@8.0.2:
version "8.0.2"
resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d"
@@ -4258,16 +6195,42 @@ globby@^6.1.0:
pify "^2.0.0"
pinkie-promise "^2.0.0"
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
- version "4.1.15"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
- integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
+globule@^1.0.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d"
+ integrity sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==
+ dependencies:
+ glob "~7.1.1"
+ lodash "~4.17.10"
+ minimatch "~3.0.2"
+
+good-listener@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
+ integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=
+ dependencies:
+ delegate "^3.1.2"
+
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b"
+ integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==
+
+grid-index@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/grid-index/-/grid-index-1.1.0.tgz#97f8221edec1026c8377b86446a7c71e79522ea7"
+ integrity sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==
growly@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=
+gud@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0"
+ integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==
+
gzip-size@5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.0.0.tgz#a55ecd99222f4c48fd8c01c625ce3b349d0a0e80"
@@ -4276,6 +6239,16 @@ gzip-size@5.0.0:
duplexer "^0.1.1"
pify "^3.0.0"
+h3-js@^3.4.3:
+ version "3.4.3"
+ resolved "https://registry.yarnpkg.com/h3-js/-/h3-js-3.4.3.tgz#7a9fe281fbd962c56954aab3955032ae08ceb241"
+ integrity sha512-rr+kkErW7DqDlFN1KikjjDEurQxaPb0dJHpcijSzr+/WDjMYK7F9/Qr412HNSG5BkbG8XXK9CbPHVjDI85GYUA==
+
+hammerjs@^2.0.8:
+ version "2.0.8"
+ resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1"
+ integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=
+
handle-thing@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754"
@@ -4386,33 +6359,22 @@ hash.js@^1.0.0, hash.js@^1.0.3:
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
-hast-util-from-parse5@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-5.0.0.tgz#a505a05766e0f96e389bfb0b1dd809eeefcef47b"
- integrity sha512-A7ev5OseS/J15214cvDdcI62uwovJO2PB60Xhnq7kaxvvQRFDEccuqbkrFXU03GPBGopdPqlpQBRqIcDS/Fjbg==
- dependencies:
- ccount "^1.0.3"
- hastscript "^5.0.0"
- property-information "^5.0.0"
- web-namespaces "^1.1.2"
- xtend "^4.0.1"
-
hast-util-parse-selector@^2.2.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.1.tgz#4ddbae1ae12c124e3eb91b581d2556441766f0ab"
- integrity sha512-Xyh0v+nHmQvrOqop2Jqd8gOdyQtE8sIP9IQf7mlVDqp924W4w/8Liuguk2L2qei9hARnQSG2m+wAOCxM7npJVw==
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.2.tgz#66aabccb252c47d94975f50a281446955160380b"
+ integrity sha512-jIMtnzrLTjzqgVEQqPEmwEZV+ea4zHRFTP8Z2Utw0I5HuBOXHzUPPQWr6ouJdJqDKLbFU/OEiYwZ79LalZkmmw==
hastscript@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.0.0.tgz#fee10382c1bc4ba3f1be311521d368c047d2c43a"
- integrity sha512-xJtuJ8D42Xtq5yJrnDg/KAIxl2cXBXKoiIJwmWX9XMf8113qHTGl/Bf7jEsxmENJ4w6q4Tfl8s/Y6mEZo8x8qw==
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.1.0.tgz#a19b3cca6a26a2bcd0f1b1eac574af9427c1c7df"
+ integrity sha512-7mOQX5VfVs/gmrOGlN8/EDfp1GqV6P3gTNVt+KnX4gbYhpASTM8bklFdFQCbFRAadURXAmw0R1QQdBdqp7jswQ==
dependencies:
comma-separated-tokens "^1.0.0"
hast-util-parse-selector "^2.2.0"
property-information "^5.0.1"
space-separated-tokens "^1.0.0"
-he@1.2.x:
+he@1.2.x, he@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
@@ -4422,6 +6384,11 @@ hex-color-regex@^1.1.0:
resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
+highlight.js@~9.12.0:
+ version "9.12.0"
+ resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.12.0.tgz#e6d9dbe57cbefe60751f02af336195870c90c01e"
+ integrity sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=
+
hmac-drbg@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
@@ -4431,6 +6398,18 @@ hmac-drbg@^1.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
+hoist-non-react-statics@^2.3.1:
+ version "2.5.5"
+ resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47"
+ integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==
+
+hoist-non-react-statics@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b"
+ integrity sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==
+ dependencies:
+ react-is "^16.7.0"
+
hosted-git-info@^2.1.4:
version "2.7.1"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047"
@@ -4486,6 +6465,19 @@ html-minifier@^3.5.20:
relateurl "0.2.x"
uglify-js "3.4.x"
+html-minifier@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-4.0.0.tgz#cca9aad8bce1175e02e17a8c33e46d8988889f56"
+ integrity sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==
+ dependencies:
+ camel-case "^3.0.0"
+ clean-css "^4.2.1"
+ commander "^2.19.0"
+ he "^1.2.0"
+ param-case "^2.1.1"
+ relateurl "^0.2.7"
+ uglify-js "^3.5.1"
+
html-webpack-plugin@4.0.0-beta.5:
version "4.0.0-beta.5"
resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.5.tgz#2c53083c1151bfec20479b1f8aaf0039e77b5513"
@@ -4498,7 +6490,19 @@ html-webpack-plugin@4.0.0-beta.5:
tapable "^1.1.0"
util.promisify "1.0.0"
-htmlparser2@^3.3.0:
+html-webpack-plugin@^4.0.0-beta.2:
+ version "4.0.0-beta.8"
+ resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.8.tgz#d9a8d4322d8cf310f1568f6f4f585a80df0ad378"
+ integrity sha512-n5S2hJi3/vioRvEDswZP2WFgZU8TUqFoYIrkg5dt+xDC4TigQEhIcl4Y81Qs2La/EqKWuJZP8+ikbHGVmzQ4Mg==
+ dependencies:
+ html-minifier "^4.0.0"
+ loader-utils "^1.2.3"
+ lodash "^4.17.11"
+ pretty-error "^2.1.1"
+ tapable "^1.1.3"
+ util.promisify "1.0.0"
+
+htmlparser2@^3.3.0:
version "3.10.1"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==
@@ -4515,7 +6519,18 @@ http-deceiver@^1.2.7:
resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=
-http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3:
+http-errors@1.7.2:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
+ integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.3"
+ setprototypeof "1.1.1"
+ statuses ">= 1.5.0 < 2"
+ toidentifier "1.0.0"
+
+http-errors@~1.6.2:
version "1.6.3"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=
@@ -4525,10 +6540,21 @@ http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3:
setprototypeof "1.1.0"
statuses ">= 1.4.0 < 2"
-http-parser-js@>=0.4.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz#d65edbede84349d0dc30320815a15d39cc3cbbd8"
- integrity sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==
+http-errors@~1.7.2:
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
+ integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.4"
+ setprototypeof "1.1.1"
+ statuses ">= 1.5.0 < 2"
+ toidentifier "1.0.0"
+
+"http-parser-js@>=0.4.0 <0.4.11":
+ version "0.4.10"
+ resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4"
+ integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=
http-proxy-middleware@^0.19.1:
version "0.19.1"
@@ -4563,14 +6589,17 @@ https-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
-iconv-lite@0.4.23:
- version "0.4.23"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63"
- integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
+humps@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/humps/-/humps-2.0.1.tgz#dd02ea6081bd0568dc5d073184463957ba9ef9aa"
+ integrity sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao=
+
+hyphenate-style-name@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz#097bb7fa0b8f1a9cf0bd5c734cf95899981a9b48"
+ integrity sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ==
-iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4:
+iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, 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==
@@ -4583,9 +6612,9 @@ icss-replace-symbols@^1.1.0:
integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=
icss-utils@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.0.tgz#339dbbffb9f8729a243b701e1c29d4cc58c52f0e"
- integrity sha512-3DEun4VOeMvSczifM3F2cKQrDQ5Pj6WKhkOq6HD4QTnDUAq8MQRxy5TX6Sy1iY6WPBe4gQ3p5vTECjbIkglkkQ==
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467"
+ integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==
dependencies:
postcss "^7.0.14"
@@ -4596,7 +6625,7 @@ identity-obj-proxy@3.0.0:
dependencies:
harmony-reflect "^1.4.6"
-ieee754@^1.1.4:
+ieee754@^1.1.12, ieee754@^1.1.4:
version "1.1.13"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
@@ -4644,9 +6673,9 @@ import-fresh@^2.0.0:
resolve-from "^3.0.0"
import-fresh@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390"
- integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118"
+ integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==
dependencies:
parent-module "^1.0.0"
resolve-from "^4.0.0"
@@ -4671,16 +6700,23 @@ imurmurhash@^0.1.4:
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
+in-publish@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51"
+ integrity sha1-4g/146KvwmkDILbcVSaCqcf631E=
+
+indent-string@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
+ integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=
+ dependencies:
+ repeating "^2.0.0"
+
indexes-of@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc=
-indexof@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
- integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=
-
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
@@ -4689,16 +6725,21 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
- integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
+inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
inherits@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
+inherits@2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+ integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
+
ini@^1.3.5, ini@~1.3.0:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
@@ -4723,10 +6764,10 @@ inquirer@6.2.2:
strip-ansi "^5.0.0"
through "^2.3.6"
-inquirer@^6.2.2:
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.3.1.tgz#7a413b5e7950811013a3db491c61d1f3b776e8e7"
- integrity sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA==
+inquirer@^6.2.0, inquirer@^6.2.2:
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42"
+ integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA==
dependencies:
ansi-escapes "^3.2.0"
chalk "^2.4.2"
@@ -4734,7 +6775,7 @@ inquirer@^6.2.2:
cli-width "^2.0.0"
external-editor "^3.0.3"
figures "^2.0.0"
- lodash "^4.17.11"
+ lodash "^4.17.12"
mute-stream "0.0.7"
run-async "^2.2.0"
rxjs "^6.4.0"
@@ -4750,13 +6791,23 @@ internal-ip@^4.2.0:
default-gateway "^4.2.0"
ipaddr.js "^1.9.0"
-invariant@^2.2.2, invariant@^2.2.4:
+interpret@^1.0.0, interpret@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
+ integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==
+
+invariant@2.2.4, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.3, invariant@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
dependencies:
loose-envify "^1.0.0"
+invert-kv@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+ integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY=
+
invert-kv@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
@@ -4772,11 +6823,16 @@ ip@^1.1.0, ip@^1.1.5:
resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
-ipaddr.js@1.9.0, ipaddr.js@^1.9.0:
+ipaddr.js@1.9.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65"
integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==
+ipaddr.js@^1.9.0:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
+ integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
+
is-absolute-url@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
@@ -4796,6 +6852,19 @@ is-accessor-descriptor@^1.0.0:
dependencies:
kind-of "^6.0.0"
+is-alphabetical@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz#eb04cc47219a8895d8450ace4715abff2258a1f8"
+ integrity sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==
+
+is-alphanumerical@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz#57ae21c374277b3defe0274c640a5704b8f6657c"
+ integrity sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==
+ dependencies:
+ is-alphabetical "^1.0.0"
+ is-decimal "^1.0.0"
+
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
@@ -4818,12 +6887,12 @@ is-buffer@^1.0.2, is-buffer@^1.1.5:
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
-is-buffer@^2.0.0:
+is-buffer@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725"
integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==
-is-callable@^1.1.4:
+is-callable@^1.1.3, is-callable@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==
@@ -4866,6 +6935,11 @@ is-date-object@^1.0.1:
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=
+is-decimal@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.3.tgz#381068759b9dc807d8c0dc0bfbae2b68e1da48b7"
+ integrity sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==
+
is-descriptor@^0.1.0:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
@@ -4889,6 +6963,14 @@ is-directory@^0.3.1:
resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
+is-dom@^1.0.9:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-dom/-/is-dom-1.1.0.tgz#af1fced292742443bb59ca3f76ab5e80907b4e8a"
+ integrity sha512-u82f6mvhYxRPKpw8V1N0W8ce1xXwOrQtgGcxl6UCL5zBmZu3is/18K0rR7uFCnMDuAsS/3W54mGL4vsaFUQlEQ==
+ dependencies:
+ is-object "^1.0.1"
+ is-window "^1.0.2"
+
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
@@ -4906,6 +6988,13 @@ is-extglob@^2.1.0, is-extglob@^2.1.1:
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
+is-finite@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
+ integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=
+ dependencies:
+ number-is-nan "^1.0.0"
+
is-fullwidth-code-point@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
@@ -4918,6 +7007,11 @@ is-fullwidth-code-point@^2.0.0:
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+is-function@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5"
+ integrity sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=
+
is-generator-fn@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
@@ -4937,6 +7031,11 @@ is-glob@^4.0.0:
dependencies:
is-extglob "^2.1.1"
+is-hexadecimal@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz#e8a426a69b6d31470d3a33a47bb825cda02506ee"
+ integrity sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==
+
is-number@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
@@ -4949,6 +7048,11 @@ is-obj@^1.0.0, is-obj@^1.0.1:
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
+is-object@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470"
+ integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA=
+
is-path-cwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
@@ -4968,7 +7072,7 @@ is-path-inside@^1.0.0:
dependencies:
path-is-inside "^1.0.1"
-is-plain-obj@^1.1.0:
+is-plain-obj@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
@@ -4980,6 +7084,13 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
dependencies:
isobject "^3.0.1"
+is-plain-object@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928"
+ integrity sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==
+ dependencies:
+ isobject "^4.0.0"
+
is-promise@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
@@ -5007,7 +7118,7 @@ is-root@2.0.0:
resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.0.0.tgz#838d1e82318144e5a6f77819d90207645acc7019"
integrity sha512-F/pJIk8QD6OX5DNhRB7hWamLsUilmkDGho48KbgZ6xg/lmAZXHxzXQ91jzB3yRSw5kdQGGGc4yz8HYhTYIMWPg==
-is-stream@^1.1.0:
+is-stream@^1.0.1, is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
@@ -5031,6 +7142,16 @@ is-typedarray@~1.0.0:
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+ integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
+
+is-window@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-window/-/is-window-1.0.2.tgz#2c896ca53db97de45d3c33133a65d8c9f563480d"
+ integrity sha1-LIlspT25feRdPDMTOmXYyfVjSA0=
+
is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
@@ -5041,6 +7162,11 @@ is-wsl@^1.1.0:
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
+isarray@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+ integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
+
isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
@@ -5063,6 +7189,19 @@ isobject@^3.0.0, isobject@^3.0.1:
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
+isobject@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0"
+ integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==
+
+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"
+
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
@@ -5107,9 +7246,9 @@ istanbul-lib-source-maps@^3.0.1:
source-map "^0.6.1"
istanbul-reports@^2.1.1:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.4.tgz#4e0d0ddf0f0ad5b49a314069d31b4f06afe49ad3"
- integrity sha512-QCHGyZEK0bfi9GR215QSm+NJwFKEShbtc7tfbUdLAEzn3kKhLDDZqvljn8rPZM9v8CEOhzL1nlYoO4r1ryl67w==
+ version "2.2.6"
+ resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af"
+ integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==
dependencies:
handlebars "^4.1.2"
@@ -5230,9 +7369,9 @@ jest-get-type@^24.8.0:
integrity sha512-RR4fo8jEmMD9zSz2nLbs2j0zvPpk/KCEz3a62jJWbd2ayNo0cb+KFRxPHVhE4ZmgGJEQp0fosmNz84IfqM8cMQ==
jest-haste-map@^24.8.0:
- version "24.8.0"
- resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.8.0.tgz#51794182d877b3ddfd6e6d23920e3fe72f305800"
- integrity sha512-ZBPRGHdPt1rHajWelXdqygIDpJx8u3xOoLyUBWRW28r3tagrgoepPrzAozW7kW9HrQfhvmiv1tncsxqHJO1onQ==
+ version "24.8.1"
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.8.1.tgz#f39cc1d2b1d907e014165b4bd5a957afcb992982"
+ integrity sha512-SwaxMGVdAZk3ernAx2Uv2sorA7jm3Kx+lR0grp6rMmnY06Kn/urtKx1LPN2mGTea4fCT38impYT28FfcLUhX0g==
dependencies:
"@jest/types" "^24.8.0"
anymatch "^2.0.0"
@@ -5497,6 +7636,11 @@ jest@24.7.1:
import-local "^2.0.0"
jest-cli "^24.7.1"
+js-base64@^2.1.8:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121"
+ integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==
+
js-levenshtein@^1.1.3:
version "1.1.6"
resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
@@ -5512,7 +7656,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==
@@ -5632,9 +7776,9 @@ json-stringify-safe@~5.0.1:
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
json3@^3.3.2:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
- integrity sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81"
+ integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==
json5@^1.0.1:
version "1.0.1"
@@ -5650,6 +7794,13 @@ json5@^2.1.0:
dependencies:
minimist "^1.2.0"
+jsonfile@^2.1.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
+ integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug=
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
jsonfile@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
@@ -5673,11 +7824,27 @@ jsprim@^1.2.2:
verror "1.10.0"
jsx-ast-utils@^2.0.1:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.1.0.tgz#0ee4e2c971fb9601c67b5641b71be80faecf0b36"
- integrity sha512-yDGDG2DS4JcqhA6blsuYbtsT09xL8AoLuUR2Gb5exrw7UEM19sBcOTq+YBBhrNbl0PUC4R4LnFu+dHg2HKeVvA==
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb"
+ integrity sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ==
dependencies:
array-includes "^3.0.3"
+ object.assign "^4.1.0"
+
+just-curry-it@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/just-curry-it/-/just-curry-it-3.1.0.tgz#ab59daed308a58b847ada166edd0a2d40766fbc5"
+ integrity sha512-mjzgSOFzlrurlURaHVjnQodyPNvrHrf1TbQP2XU9NSqBtHQPuHZ+Eb6TAJP7ASeJN9h9K0KXoRTs8u6ouHBKvg==
+
+kdbush@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/kdbush/-/kdbush-3.0.0.tgz#f8484794d47004cc2d85ed3a79353dbe0abc2bf0"
+ integrity sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==
+
+keycode@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz#3d0af56dc7b8b8e5cba8d0a97f107204eec22b04"
+ integrity sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=
killable@^1.0.0:
version "1.0.1"
@@ -5715,6 +7882,13 @@ kind-of@^6.0.0, kind-of@^6.0.2:
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
+klaw@^1.0.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
+ integrity sha1-QIhDO0azsbolnXh4XY6W9zugJDk=
+ optionalDependencies:
+ graceful-fs "^4.1.9"
+
kleur@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
@@ -5738,6 +7912,24 @@ lazy-cache@^1.0.3:
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=
+lazy-universal-dotenv@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lazy-universal-dotenv/-/lazy-universal-dotenv-3.0.0.tgz#e71f07f89d8de6bbf491478e4503df3c96729b8d"
+ integrity sha512-Mbf5AeGOs74lE5BdQXHFJ7Rt383jxnWKNfW2EWL0Pibnhea5JRStRIiUpdTenyMxCGuCjlMpYQhhay1XZBSSQA==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ app-root-dir "^1.0.2"
+ core-js "^3.0.4"
+ dotenv "^8.0.0"
+ dotenv-expand "^5.1.0"
+
+lcid@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
+ integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=
+ dependencies:
+ invert-kv "^1.0.0"
+
lcid@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
@@ -5763,6 +7955,17 @@ levn@^0.3.0, levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
+load-json-file@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
load-json-file@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
@@ -5821,16 +8024,48 @@ locate-path@^3.0.0:
p-locate "^3.0.0"
path-exists "^3.0.0"
-lodash._reinterpolate@~3.0.0:
+locate-path@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
+ integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
+ dependencies:
+ p-locate "^4.1.0"
+
+lodash-es@^4.17.11:
+ version "4.17.14"
+ resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.14.tgz#12a95a963cc5955683cee3b74e85458954f37ecc"
+ integrity sha512-7zchRrGa8UZXjD/4ivUWP1867jDkhzTG2c/uj739utSd7O/pFFdxspCemIFKEEjErbcqRzn8nKnGsi7mvTgRPA==
+
+lodash._reinterpolate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
+lodash.debounce@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
+ integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
+
+lodash.get@^4.4.2:
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
+ integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
+
+lodash.isplainobject@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
+ integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
+
lodash.memoize@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
+lodash.some@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
+ integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=
+
lodash.sortby@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
@@ -5841,20 +8076,25 @@ lodash.tail@^4.1.1:
resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664"
integrity sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=
-lodash.template@^4.2.4, lodash.template@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0"
- integrity sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=
+lodash.template@^4.4.0, lodash.template@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
+ integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==
dependencies:
- lodash._reinterpolate "~3.0.0"
+ lodash._reinterpolate "^3.0.0"
lodash.templatesettings "^4.0.0"
lodash.templatesettings@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316"
- integrity sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33"
+ integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==
dependencies:
- lodash._reinterpolate "~3.0.0"
+ lodash._reinterpolate "^3.0.0"
+
+lodash.throttle@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
+ integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=
lodash.unescape@4.0.1:
version "4.0.1"
@@ -5866,28 +8106,57 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-"lodash@>=3.5 <5", lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.5:
- version "4.17.11"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
- integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
+"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.0.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.5, lodash@~4.17.10, lodash@~4.17.4:
+ version "4.17.14"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba"
+ integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==
loglevel@^1.4.1:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa"
- integrity sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=
+ 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.4.0:
+long@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b"
+ integrity sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=
+
+loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, 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"
+loud-rejection@^1.0.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
+ integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=
+ dependencies:
+ currently-unhandled "^0.4.1"
+ signal-exit "^3.0.0"
+
lower-case@^1.1.1:
version "1.1.4"
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
+lowlight@~1.9.1:
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.9.2.tgz#0b9127e3cec2c3021b7795dd81005c709a42fdd1"
+ integrity sha512-Ek18ElVCf/wF/jEm1b92gTnigh94CtBNWiZ2ad+vTgW7cTmQxUY3I98BjHK68gZAJEWmybGBZgx9qv3QxLQB/Q==
+ dependencies:
+ fault "^1.0.2"
+ highlight.js "~9.12.0"
+
+lru-cache@^4.0.1:
+ version "4.1.5"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
+ integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
+ dependencies:
+ pseudomap "^1.0.2"
+ yallist "^2.1.2"
+
lru-cache@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
@@ -5903,6 +8172,13 @@ make-dir@^2.0.0, make-dir@^2.1.0:
pify "^4.0.1"
semver "^5.6.0"
+make-dir@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.0.tgz#1b5f39f6b9270ed33f9f054c5c0f84304989f801"
+ integrity sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==
+ dependencies:
+ semver "^6.0.0"
+
makeerror@1.0.x:
version "1.0.11"
resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
@@ -5927,6 +8203,16 @@ map-cache@^0.2.2:
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
+map-obj@^1.0.0, map-obj@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+ integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
+
+map-or-similar@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/map-or-similar/-/map-or-similar-1.5.0.tgz#6de2653174adfb5d9edc33c69d3e92a1b76faf08"
+ integrity sha1-beJlMXSt+12e3DPGnT6Sobdvrwg=
+
map-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
@@ -5934,6 +8220,69 @@ map-visit@^1.0.0:
dependencies:
object-visit "^1.0.0"
+mapbox-gl@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/mapbox-gl/-/mapbox-gl-1.1.1.tgz#b8e8e1dfa34edd92a7b834887831dbd1761550b8"
+ integrity sha512-i57kASg8J/U/lJzBePyqTP2ImKUcx8FkHyCjb3ssWYaBBXHUeZ4STGXXfU9u1AQU9170PjDIJLubUUB1vLLSBQ==
+ dependencies:
+ "@mapbox/geojson-rewind" "^0.4.0"
+ "@mapbox/geojson-types" "^1.0.2"
+ "@mapbox/jsonlint-lines-primitives" "^2.0.2"
+ "@mapbox/mapbox-gl-supported" "^1.4.0"
+ "@mapbox/point-geometry" "^0.1.0"
+ "@mapbox/tiny-sdf" "^1.1.0"
+ "@mapbox/unitbezier" "^0.0.0"
+ "@mapbox/vector-tile" "^1.3.1"
+ "@mapbox/whoots-js" "^3.1.0"
+ csscolorparser "~1.0.2"
+ earcut "^2.1.5"
+ esm "~3.0.84"
+ geojson-vt "^3.2.1"
+ gl-matrix "^3.0.0"
+ grid-index "^1.1.0"
+ minimist "0.0.8"
+ murmurhash-js "^1.0.0"
+ pbf "^3.0.5"
+ potpack "^1.0.1"
+ quickselect "^2.0.0"
+ rw "^1.3.3"
+ supercluster "^6.0.1"
+ tinyqueue "^2.0.0"
+ vt-pbf "^3.1.1"
+
+markdown-to-jsx@^6.9.1, markdown-to-jsx@^6.9.3:
+ version "6.10.2"
+ resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-6.10.2.tgz#644f602b81d088f10aef1c3674874876146cf38b"
+ integrity sha512-eDCsRobOkbQ4PqCphrxNi/U8geA8DGf52dMP4BrrYsVFyQ2ILFnXIB5sRcIxnRK2nPl8k5hUYdRNRXLlQNYLYg==
+ dependencies:
+ prop-types "^15.6.2"
+ unquote "^1.1.0"
+
+matchmediaquery@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/matchmediaquery/-/matchmediaquery-0.3.0.tgz#6f672bcdbc44de16825c6917fbcdcfb9b82607b1"
+ integrity sha512-u0dlv+VENJ+3YepvwSPBieuvnA6DWfaYa/ctwysAR13y4XLJNyt7bEVKzNj/Nvjo+50d88Pj+xL9xaSo6JmX/w==
+ dependencies:
+ css-mediaquery "^0.1.2"
+
+material-colors@^1.2.1:
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46"
+ integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==
+
+math-expression-evaluator@^1.2.14:
+ version "1.2.17"
+ resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac"
+ integrity sha1-3oGf282E3M2PrlnGrreWFbnSZqw=
+
+math.gl@^2.3.0:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/math.gl/-/math.gl-2.3.3.tgz#69d07904507145c639835aefcd0ec5e790cd3046"
+ integrity sha512-wZhx7574KHUpJVMzkaQ559zfn3R8iB0BOilwNrfL/fOLQfPo2TPWsKX96PdfS4svKA2XIGi3yfizrv2Redcv0g==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ gl-matrix "^3.0.0"
+
md5.js@^1.3.4:
version "1.3.5"
resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
@@ -5943,6 +8292,11 @@ md5.js@^1.3.4:
inherits "^2.0.1"
safe-buffer "^5.1.2"
+mdn-data@2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
+ integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==
+
mdn-data@~1.1.0:
version "1.1.4"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01"
@@ -5962,6 +8316,18 @@ mem@^4.0.0:
mimic-fn "^2.0.0"
p-is-promise "^2.0.0"
+memoize-one@^5.0.0:
+ version "5.0.5"
+ resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.5.tgz#8cd3809555723a07684afafcd6f756072ac75d7e"
+ integrity sha512-ey6EpYv0tEaIbM/nTDOpHciXUvd+ackQrJgEzBwemhZZIWZjcyodqEcrmqDy2BKRTM3a65kKBV4WtLXJDt26SQ==
+
+memoizerific@^1.11.3:
+ version "1.11.3"
+ resolved "https://registry.yarnpkg.com/memoizerific/-/memoizerific-1.11.3.tgz#7c87a4646444c32d75438570905f2dbd1b1a805a"
+ integrity sha1-fIekZGREwy11Q4VwkF8tvRsagFo=
+ dependencies:
+ map-or-similar "^1.5.0"
+
memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
@@ -5970,6 +8336,22 @@ memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1:
errno "^0.1.3"
readable-stream "^2.0.1"
+meow@^3.7.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
+ integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=
+ dependencies:
+ camelcase-keys "^2.0.0"
+ decamelize "^1.1.2"
+ loud-rejection "^1.0.0"
+ map-obj "^1.0.1"
+ minimist "^1.1.3"
+ normalize-package-data "^2.3.4"
+ object-assign "^4.0.1"
+ read-pkg-up "^1.0.1"
+ redent "^1.0.0"
+ trim-newlines "^1.0.0"
+
merge-deep@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2"
@@ -6001,10 +8383,10 @@ methods@~1.1.2:
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
-microevent.ts@~0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.0.tgz#390748b8a515083e6b63cd5112a3f18c2fe0eba8"
- integrity sha1-OQdIuKUVCD5rY81REqPxjC/g66g=
+microevent.ts@~0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0"
+ integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==
micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8:
version "3.1.10"
@@ -6045,15 +8427,15 @@ mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
dependencies:
mime-db "1.40.0"
-mime@1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
- integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==
+mime@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
-mime@^2.0.3, mime@^2.3.1:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.2.tgz#ce5229a5e99ffc313abac806b482c10e7ba6ac78"
- integrity sha512-zJBfZDkwRu+j3Pdd2aHsR5GfH2jIWhmL1ZzBoc+X+3JEti2hbArWcyJ+1laC1D2/U/W1a/+Cegj0/OnEU2ybjg==
+mime@^2.0.3, mime@^2.4.2:
+ version "2.4.4"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5"
+ integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==
mimic-fn@^1.0.0:
version "1.2.0"
@@ -6065,6 +8447,13 @@ mimic-fn@^2.0.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+min-document@^2.19.0:
+ version "2.19.0"
+ resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
+ integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=
+ dependencies:
+ dom-walk "^0.1.0"
+
mini-css-extract-plugin@0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz#ac0059b02b9692515a637115b0cc9fed3a35c7b0"
@@ -6074,6 +8463,16 @@ mini-css-extract-plugin@0.5.0:
schema-utils "^1.0.0"
webpack-sources "^1.1.0"
+mini-css-extract-plugin@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.7.0.tgz#5ba8290fbb4179a43dd27cca444ba150bee743a0"
+ integrity sha512-RQIw6+7utTYn8DBGsf/LpRgZCJMpZt+kuawJ/fju0KiOL6nAaTBNmCJwS7HtwSCXfS47gCkmtBFS7HdsquhdxQ==
+ dependencies:
+ loader-utils "^1.1.0"
+ normalize-url "1.9.1"
+ schema-utils "^1.0.0"
+ webpack-sources "^1.1.0"
+
minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
@@ -6084,19 +8483,24 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
-minimatch@3.0.4, minimatch@^3.0.4:
+minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
dependencies:
brace-expansion "^1.1.7"
+minimist@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.5.tgz#d7aa327bcecf518f9106ac6b8f003fa3bcea8566"
+ integrity sha1-16oye87PUY+RBqxrjwA/o7zqhWY=
+
minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
-minimist@^1.1.1, minimist@^1.2.0:
+minimist@1.2.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
@@ -6106,7 +8510,7 @@ minimist@~0.0.1:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=
-minipass@^2.2.1, minipass@^2.3.4:
+minipass@^2.2.1, minipass@^2.3.5:
version "2.3.5"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848"
integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==
@@ -6114,7 +8518,7 @@ minipass@^2.2.1, minipass@^2.3.4:
safe-buffer "^5.1.2"
yallist "^3.0.0"
-minizlib@^1.1.1:
+minizlib@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614"
integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==
@@ -6137,10 +8541,15 @@ mississippi@^3.0.0:
stream-each "^1.1.0"
through2 "^2.0.0"
+mithril@*:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/mithril/-/mithril-1.1.6.tgz#bd2cc0de3d3c86076a6a7a30367a601a1bd108f3"
+ integrity sha512-fWcUrQTCqu8M916rj1MFGlHaPh65rznPu6U/N2U9g81H89klDCIptSK5bnkNkC+jyi3sJIXjyGhSQjUnR8jzZA==
+
mixin-deep@^1.2.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe"
- integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
+ integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
dependencies:
for-in "^1.0.2"
is-extendable "^1.0.1"
@@ -6153,13 +8562,26 @@ mixin-object@^2.0.1:
for-in "^0.1.3"
is-extendable "^0.1.1"
-mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
+mjolnir.js@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/mjolnir.js/-/mjolnir.js-2.1.2.tgz#db89819c418b6f3d200b1c51386fc7487f98bd5a"
+ integrity sha512-OjvkNzTCdJd/I7XxgIomNozYS6me6OWY+t8I6SZlINaFmNmgAW3I5x+Hd8sgA+WxAjFvBf576lD7N1MGo89/WA==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ hammerjs "^2.0.8"
+
+mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
dependencies:
minimist "0.0.8"
+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==
+
move-concurrently@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
@@ -6177,11 +8599,16 @@ ms@2.0.0:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
-ms@^2.1.1:
+ms@2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
+ms@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
multicast-dns-service-types@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901"
@@ -6195,15 +8622,20 @@ multicast-dns@^6.0.1:
dns-packet "^1.3.1"
thunky "^1.0.2"
+murmurhash-js@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/murmurhash-js/-/murmurhash-js-1.0.0.tgz#b06278e21fc6c37fa5313732b0412bcb6ae15f51"
+ integrity sha1-sGJ44h/Gw3+lMTcysEEry2rhX1E=
+
mute-stream@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
-nan@^2.12.1:
- version "2.13.2"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7"
- integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==
+nan@^2.12.1, nan@^2.13.2:
+ version "2.14.0"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
+ integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
nanomatch@^1.2.9:
version "1.2.13"
@@ -6228,11 +8660,11 @@ natural-compare@^1.4.0:
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
needle@^2.2.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/needle/-/needle-2.3.1.tgz#d272f2f4034afb9c4c9ab1379aabc17fc85c9388"
- integrity sha512-CaLXV3W8Vnbps8ZANqDGz7j4x7Yj1LW4TWF/TQuDfj7Cfx4nAPTvw98qgTevtto1oHDrh3pQkaODbqupXlsWTg==
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c"
+ integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==
dependencies:
- debug "^4.1.0"
+ debug "^3.2.6"
iconv-lite "^0.4.4"
sax "^1.2.4"
@@ -6242,9 +8674,9 @@ negotiator@0.6.2:
integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
neo-async@^2.5.0, neo-async@^2.6.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.0.tgz#b9d15e4d71c6762908654b5183ed38b753340835"
- integrity sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c"
+ integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==
nice-try@^1.0.4:
version "1.0.5"
@@ -6258,20 +8690,58 @@ no-case@^2.2.0:
dependencies:
lower-case "^1.1.1"
+node-dir@^0.1.10:
+ version "0.1.17"
+ resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5"
+ integrity sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=
+ dependencies:
+ minimatch "^3.0.2"
+
+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"
+
+node-fetch@^2.6.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
+ integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
+
node-forge@0.7.5:
version "0.7.5"
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df"
integrity sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==
+node-gyp@^3.8.0:
+ version "3.8.0"
+ resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c"
+ integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==
+ dependencies:
+ fstream "^1.0.0"
+ glob "^7.0.3"
+ graceful-fs "^4.1.2"
+ mkdirp "^0.5.0"
+ nopt "2 || 3"
+ npmlog "0 || 1 || 2 || 3 || 4"
+ osenv "0"
+ request "^2.87.0"
+ rimraf "2"
+ semver "~5.3.0"
+ tar "^2.0.0"
+ which "1"
+
node-int64@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=
node-libs-browser@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.0.tgz#c72f60d9d46de08a940dedbb25f3ffa2f9bbaa77"
- integrity sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
+ integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
dependencies:
assert "^1.1.1"
browserify-zlib "^0.2.0"
@@ -6283,7 +8753,7 @@ node-libs-browser@^2.0.0:
events "^3.0.0"
https-browserify "^1.0.0"
os-browserify "^0.3.0"
- path-browserify "0.0.0"
+ path-browserify "0.0.1"
process "^0.11.10"
punycode "^1.2.4"
querystring-es3 "^0.2.0"
@@ -6295,7 +8765,7 @@ node-libs-browser@^2.0.0:
tty-browserify "0.0.0"
url "^0.11.0"
util "^0.11.0"
- vm-browserify "0.0.4"
+ vm-browserify "^1.0.1"
node-modules-regexp@^1.0.0:
version "1.0.0"
@@ -6329,13 +8799,43 @@ node-pre-gyp@^0.12.0:
semver "^5.3.0"
tar "^4"
-node-releases@^1.1.13, node-releases@^1.1.17:
- version "1.1.18"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.18.tgz#cc98fd75598a324a77188ebddf6650e9cbd8b1d5"
- integrity sha512-/mnVgm6u/8OwlIsoyRXtTI0RfQcxZoAZbdwyXap0EeWwcOpDDymyCHM2/aR9XKmHXrvizHoPAOs0pcbiJ6RUaA==
+node-releases@^1.1.13, node-releases@^1.1.25:
+ version "1.1.25"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.25.tgz#0c2d7dbc7fed30fbe02a9ee3007b8c90bf0133d3"
+ integrity sha512-fI5BXuk83lKEoZDdH3gRhtsNgh05/wZacuXkgbiYkceE7+QIMXOg98n9ZV7mz27B+kFHnqHcUpscZZlGRSmTpQ==
dependencies:
semver "^5.3.0"
+node-sass@^4.12.0:
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.12.0.tgz#0914f531932380114a30cc5fa4fa63233a25f017"
+ integrity sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==
+ dependencies:
+ async-foreach "^0.1.3"
+ chalk "^1.1.1"
+ cross-spawn "^3.0.0"
+ gaze "^1.0.0"
+ get-stdin "^4.0.1"
+ glob "^7.0.3"
+ in-publish "^2.0.0"
+ lodash "^4.17.11"
+ meow "^3.7.0"
+ mkdirp "^0.5.1"
+ nan "^2.13.2"
+ node-gyp "^3.8.0"
+ npmlog "^4.0.0"
+ request "^2.88.0"
+ sass-graph "^2.2.4"
+ stdout-stream "^1.4.0"
+ "true-case-path" "^1.0.2"
+
+"nopt@2 || 3":
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
+ integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
+ dependencies:
+ abbrev "1"
+
nopt@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
@@ -6344,7 +8844,14 @@ nopt@^4.0.1:
abbrev "1"
osenv "^0.1.4"
-normalize-package-data@^2.3.2:
+nopt@~1.0.10:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
+ integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=
+ dependencies:
+ abbrev "1"
+
+normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
version "2.5.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
@@ -6371,6 +8878,16 @@ normalize-range@^0.1.2:
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
+normalize-url@1.9.1:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
+ integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=
+ dependencies:
+ object-assign "^4.0.1"
+ prepend-http "^1.0.0"
+ query-string "^4.1.0"
+ sort-keys "^1.0.0"
+
normalize-url@^3.0.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
@@ -6382,9 +8899,9 @@ npm-bundled@^1.0.1:
integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==
npm-packlist@^1.1.6:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz#19064cdf988da80ea3cee45533879d90192bbfbc"
- integrity sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44"
+ integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw==
dependencies:
ignore-walk "^3.0.1"
npm-bundled "^1.0.1"
@@ -6396,7 +8913,7 @@ npm-run-path@^2.0.0:
dependencies:
path-key "^2.0.0"
-npmlog@^4.0.2:
+"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2, npmlog@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
@@ -6474,7 +8991,17 @@ object.assign@^4.1.0:
has-symbols "^1.0.0"
object-keys "^1.0.11"
-object.fromentries@^2.0.0:
+object.entries@^1.0.4, object.entries@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519"
+ integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.12.0"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+
+object.fromentries@^2.0.0, "object.fromentries@^2.0.0 || ^1.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab"
integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA==
@@ -6540,6 +9067,13 @@ onetime@^2.0.0:
dependencies:
mimic-fn "^1.0.0"
+open@^6.1.0:
+ version "6.4.0"
+ resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9"
+ integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==
+ dependencies:
+ is-wsl "^1.1.0"
+
opn@5.4.0:
version "5.4.0"
resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035"
@@ -6599,8 +9133,15 @@ os-homedir@^1.0.0:
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
-os-locale@^3.0.0:
- version "3.1.0"
+os-locale@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
+ integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=
+ dependencies:
+ lcid "^1.0.0"
+
+os-locale@^3.0.0:
+ version "3.1.0"
resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==
dependencies:
@@ -6613,7 +9154,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
-osenv@^0.1.4:
+osenv@0, osenv@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
@@ -6650,7 +9191,7 @@ p-limit@^1.1.0:
dependencies:
p-try "^1.0.0"
-p-limit@^2.0.0:
+p-limit@^2.0.0, p-limit@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2"
integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==
@@ -6671,6 +9212,13 @@ p-locate@^3.0.0:
dependencies:
p-limit "^2.0.0"
+p-locate@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
+ integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+ dependencies:
+ p-limit "^2.2.0"
+
p-map@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b"
@@ -6705,7 +9253,7 @@ parallel-transform@^1.1.0:
inherits "^2.0.3"
readable-stream "^2.1.5"
-param-case@2.1.x:
+param-case@2.1.x, param-case@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc=
@@ -6731,6 +9279,18 @@ parse-asn1@^5.0.0:
pbkdf2 "^3.0.3"
safe-buffer "^5.1.1"
+parse-entities@^1.1.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50"
+ integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==
+ dependencies:
+ character-entities "^1.0.0"
+ character-entities-legacy "^1.0.0"
+ character-reference-invalid "^1.0.0"
+ is-alphanumerical "^1.0.0"
+ is-decimal "^1.0.0"
+ is-hexadecimal "^1.0.0"
+
parse-json@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
@@ -6751,12 +9311,12 @@ parse5@4.0.0:
resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==
-parse5@5.1.0, parse5@^5.0.0:
+parse5@5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2"
integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==
-parseurl@~1.3.2:
+parseurl@~1.3.2, parseurl@~1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
@@ -6766,10 +9326,10 @@ pascalcase@^0.1.1:
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
-path-browserify@0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
- integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=
+path-browserify@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
+ integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
path-dirname@^1.0.0:
version "1.0.2"
@@ -6788,6 +9348,11 @@ path-exists@^3.0.0:
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
@@ -6813,6 +9378,22 @@ path-to-regexp@0.1.7:
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
+path-to-regexp@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
+ integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=
+ dependencies:
+ isarray "0.0.1"
+
+path-type@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
path-type@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
@@ -6827,6 +9408,14 @@ path-type@^3.0.0:
dependencies:
pify "^3.0.0"
+pbf@^3.0.5:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/pbf/-/pbf-3.2.0.tgz#e76f9f5114e395c25077ad6fe463b3507d6877fc"
+ integrity sha512-98Eh7rsJNJF/Im6XYMLaOW3cLnNyedlOd6hu3iWMD5I7FZGgpw8yN3vQBrmLbLodu7G784Irb9Qsv2yFrxSAGw==
+ dependencies:
+ ieee754 "^1.1.12"
+ resolve-protobuf-schema "^2.1.0"
+
pbkdf2@^3.0.3:
version "3.0.17"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6"
@@ -6898,6 +9487,13 @@ pkg-dir@^3.0.0:
dependencies:
find-up "^3.0.0"
+pkg-dir@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
+ integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
+ dependencies:
+ find-up "^4.0.0"
+
pkg-up@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f"
@@ -6917,10 +9513,29 @@ pnp-webpack-plugin@1.2.1:
dependencies:
ts-pnp "^1.0.0"
+pnp-webpack-plugin@1.4.3:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.4.3.tgz#0a100b63f4a1d09cee6ee55a87393b69f03ab5c7"
+ integrity sha512-ExrNwuFH3DudHwWY2uRMqyiCOBEDdhQYHIAsqW/CM6hIZlSgXC/ma/p08FoNOUhVyh9hl1NGnMpR94T5i3SHaQ==
+ dependencies:
+ ts-pnp "^1.1.2"
+
+polished@^3.3.1:
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/polished/-/polished-3.4.1.tgz#1eb5597ec1792206365635811d465751f5cbf71c"
+ integrity sha512-GflTnlP5rrpDoigjczEkS6Ye7NDA4sFvAnlr5hSDrEvjiVj97Xzev3hZlLi3UB27fpxyTS9rWU64VzVLWkG+mg==
+ dependencies:
+ "@babel/runtime" "^7.4.5"
+
+popper.js@^1.14.4, popper.js@^1.14.7:
+ version "1.15.0"
+ resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.15.0.tgz#5560b99bbad7647e9faa475c6b8056621f5a4ff2"
+ integrity sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA==
+
portfinder@^1.0.9:
- version "1.0.20"
- resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a"
- integrity sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==
+ version "1.0.21"
+ resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.21.tgz#60e1397b95ac170749db70034ece306b9a27e324"
+ integrity sha512-ESabpDCzmBS3ekHbmpAIiESq3udRsCBGiBZLsC+HgBKv2ezb0R4oG+7RnYEVZ/ZCfhel5Tx3UzdNWA0Lox2QCA==
dependencies:
async "^1.5.2"
debug "^2.2.0"
@@ -7025,11 +9640,11 @@ postcss-custom-media@^7.0.7:
postcss "^7.0.14"
postcss-custom-properties@^8.0.9:
- version "8.0.10"
- resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.10.tgz#e8dc969e1e15c555f0b836b7f278ef47e3cdeaff"
- integrity sha512-GDL0dyd7++goDR4SSasYdRNNvp4Gqy1XMzcCnTijiph7VB27XXpJ8bW/AI0i2VSBZ55TpdGhMr37kMSpRfYD0Q==
+ version "8.0.11"
+ resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97"
+ integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==
dependencies:
- postcss "^7.0.14"
+ postcss "^7.0.17"
postcss-values-parser "^2.0.1"
postcss-custom-selectors@^5.1.2:
@@ -7092,7 +9707,7 @@ postcss-env-function@^2.0.2:
postcss "^7.0.2"
postcss-values-parser "^2.0.0"
-postcss-flexbugs-fixes@4.1.0:
+postcss-flexbugs-fixes@4.1.0, postcss-flexbugs-fixes@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz#e094a9df1783e2200b7b19f875dcad3b3aff8b20"
integrity sha512-jr1LHxQvStNNAHlgco6PzY308zvLklh7SJVYuWUwyUQncofaAlD2l+P/gxKHOdqWKe7xJSkVLFF/2Tp+JqMSZA==
@@ -7136,11 +9751,11 @@ postcss-image-set-function@^3.0.1:
postcss-values-parser "^2.0.0"
postcss-initial@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.0.tgz#1772512faf11421b791fb2ca6879df5f68aa0517"
- integrity sha512-WzrqZ5nG9R9fUtrA+we92R4jhVvEB32IIRTzfIG/PLL8UV4CvbF1ugTEHEFX6vWxl41Xt5RTCJPEZkuWzrOM+Q==
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.1.tgz#99d319669a13d6c06ef8e70d852f68cb1b399b61"
+ integrity sha512-I2Sz83ZSHybMNh02xQDK609lZ1/QOyYeuizCjzEhlMgeV/HcDJapQiH4yTqLjZss0X6/6VvKFXUeObaHpJoINw==
dependencies:
- lodash.template "^4.2.4"
+ lodash.template "^4.5.0"
postcss "^7.0.2"
postcss-lab-function@^2.0.1:
@@ -7153,14 +9768,14 @@ 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:
+postcss-loader@3.0.0, postcss-loader@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d"
integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==
@@ -7559,6 +10174,11 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
+postcss-value-parser@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.0.tgz#99a983d365f7b2ad8d0f9b8c3094926eab4b936d"
+ integrity sha512-ESPktioptiSUchCKgggAkzdmkgzKfmp0EU8jXH+5kbIUB+unr0Y4CY9SRMvibuvYUBjNh1ACLbxqYNpdTQOteQ==
+
postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f"
@@ -7568,20 +10188,35 @@ postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1:
indexes-of "^1.0.1"
uniq "^1.0.1"
-postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6:
- version "7.0.16"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.16.tgz#48f64f1b4b558cb8b52c88987724359acb010da2"
- integrity sha512-MOo8zNSlIqh22Uaa3drkdIAgUGEL+AD1ESiSdmElLUmE2uVDo1QloiT/IfW9qRw8Gw+Y/w69UVMGwbufMSftxA==
+postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6:
+ version "7.0.17"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f"
+ integrity sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ==
dependencies:
chalk "^2.4.2"
source-map "^0.6.1"
supports-color "^6.1.0"
+potpack@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/potpack/-/potpack-1.0.1.tgz#d1b1afd89e4c8f7762865ec30bd112ab767e2ebf"
+ integrity sha512-15vItUAbViaYrmaB/Pbw7z6qX2xENbFSTA7Ii4tgbPtasxm5v6ryKhKtL91tpWovDJzTiZqdwzhcFBCwiMVdVw==
+
+preact@*:
+ version "8.4.2"
+ resolved "https://registry.yarnpkg.com/preact/-/preact-8.4.2.tgz#1263b974a17d1ea80b66590e41ef786ced5d6a23"
+ integrity sha512-TsINETWiisfB6RTk0wh3/mvxbGRvx+ljeBccZ4Z6MPFKgu/KFGyf2Bmw3Z/jlXhL5JlNKY6QAbA9PVyzIy9//A==
+
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
+prepend-http@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+ integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
+
pretty-bytes@^5.1.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.2.0.tgz#96c92c6e95a0b35059253fb33c03e260d40f5a1f"
@@ -7605,15 +10240,34 @@ pretty-format@^24.8.0:
ansi-styles "^3.2.0"
react-is "^16.8.4"
-private@^0.1.6:
+pretty-hrtime@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
+ integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=
+
+prismjs@^1.8.4, prismjs@~1.16.0:
+ version "1.16.0"
+ resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.16.0.tgz#406eb2c8aacb0f5f0f1167930cb83835d10a4308"
+ integrity sha512-OA4MKxjFZHSvZcisLGe14THYsug/nF6O1f0pAJc0KN0wTyAcLqmsbE+lTGKSpyh+9pEW57+k6pg2AfYR+coyHA==
+ optionalDependencies:
+ clipboard "^2.0.0"
+
+private@^0.1.6, private@^0.1.8, private@~0.1.5:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
+probe.gl@^3.0.1, probe.gl@^3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/probe.gl/-/probe.gl-3.0.3.tgz#e4d13bbd38c5895b54b4740e72468e65d66ae584"
+ integrity sha512-nkE+rh4m2JRQqorW327X7rVogknVmNvgrtcDG4F3OxckAIHSi4l/PUPy6GVaI6PIUJC7CYx4WYwcdgh4RUJe7A==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+
process-nextick-args@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
- integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+ integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
process@^0.11.10:
version "0.11.10"
@@ -7630,6 +10284,24 @@ promise-inflight@^1.0.1:
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
+promise.allsettled@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.1.tgz#afe4bfcc13b26e2263a97a7fbbb19b8ca6eb619c"
+ integrity sha512-3ST7RS7TY3TYLOIe+OACZFvcWVe1osbgz2x07nTb446pa3t4GUZWidMDzQ4zf9jC2l6mRa1/3X81icFYbi+D/g==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.13.0"
+ function-bind "^1.1.1"
+
+promise.prototype.finally@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.0.tgz#66f161b1643636e50e7cf201dc1b84a857f3864e"
+ integrity sha512-7p/K2f6dI+dM8yjRQEGrTQs5hTQixUAdOGpMEA3+pVxpX5oHKRSKAXyLw9Q9HUWDTdwtoo39dSHGQtN90HcEwQ==
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.9.0"
+ function-bind "^1.1.1"
+
promise@8.0.2:
version "8.0.2"
resolved "https://registry.yarnpkg.com/promise/-/promise-8.0.2.tgz#9dcd0672192c589477d56891271bdc27547ae9f0"
@@ -7637,15 +10309,30 @@ promise@8.0.2:
dependencies:
asap "~2.0.6"
+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"
+
prompts@^2.0.1:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.0.4.tgz#179f9d4db3128b9933aa35f93a800d8fce76a682"
- integrity sha512-HTzM3UWp/99A0gk51gAegwo1QRYA7xjcZufMNe33rCclFszUYAuHe1fIN/3ZmiHeGPkUsNaRyQm1hHOfM0PKxA==
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db"
+ integrity sha512-+x5TozgqYdOwWsQFZizE/Tra3fKvAoy037kOyU6cgz84n8f6zxngLOV4O32kTwt9FcLCxAqw0P/c8rOr9y+Gfg==
dependencies:
kleur "^3.0.2"
sisteransi "^1.0.0"
-prop-types@^15.6.2:
+prop-types-extra@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.1.0.tgz#32609910ea2dcf190366bacd3490d5a6412a605f"
+ integrity sha512-QFyuDxvMipmIVKD2TwxLVPzMnO4e5oOf1vr3tJIomL8E7d0lr6phTHd5nkPhFIzTD1idBLLEPeylL9g+rrTzRg==
+ dependencies:
+ react-is "^16.3.2"
+ warning "^3.0.0"
+
+prop-types@15.7.2, prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, 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==
@@ -7654,14 +10341,19 @@ prop-types@^15.6.2:
object-assign "^4.1.1"
react-is "^16.8.1"
-property-information@^5.0.0, property-information@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.0.1.tgz#c3b09f4f5750b1634c0b24205adbf78f18bdf94f"
- integrity sha512-nAtBDVeSwFM3Ot/YxT7s4NqZmqXI7lLzf46BThvotEtYf2uk2yH0ACYuWQkJ7gxKs49PPtKVY0UlDGkyN9aJlw==
+property-information@^5.0.1:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.2.2.tgz#20555eafd2296278a682e5a51d5123e7878ecc30"
+ integrity sha512-N2moasZmjn2mjVGIWpaqz5qnz6QyeQSGgGvMtl81gA9cPTWa6wpesRSe/quNnOjUHpvSH1oZx0pdz0EEckLFnA==
dependencies:
xtend "^4.0.1"
-proxy-addr@~2.0.4:
+protocol-buffers-schema@^3.3.1:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.3.2.tgz#00434f608b4e8df54c59e070efeefc37fb4bb859"
+ integrity sha512-Xdayp8sB/mU+sUV4G7ws8xtYMGdQnxbeIfLjyO9TZZRJdztBGhlmbI5x1qcY4TG5hBkIKGnc28i7nXxaugu88w==
+
+proxy-addr@~2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34"
integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==
@@ -7674,10 +10366,15 @@ prr@~1.0.1:
resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
+pseudomap@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+ integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
+
psl@^1.1.24, psl@^1.1.28:
- version "1.1.31"
- resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184"
- integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.2.0.tgz#df12b5b1b3a30f51c329eacbdef98f3a6e136dc6"
+ integrity sha512-GEn74ZffufCmkDDLNcl3uuyF/aSD6exEyh1v/ZSdAomB82t6G9hzJVRx0jBmLDW+VfZqks3aScmMw9DszwUalA==
public-encrypt@^4.0.0:
version "4.0.3"
@@ -7736,17 +10433,39 @@ q@^1.1.2:
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
-qs@6.5.2, qs@~6.5.2:
+qs@6.7.0, qs@^6.6.0:
+ version "6.7.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
+ integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
+
+qs@~6.5.2:
version "6.5.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
+query-string@^4.1.0:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
+ integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s=
+ dependencies:
+ object-assign "^4.1.0"
+ strict-uri-encode "^1.0.0"
+
+query-string@^6.5.0:
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.1.tgz#62c54a7ef37d01b538c8fd56f95740c81d438a26"
+ integrity sha512-g6y0Lbq10a5pPQpjlFuojfMfV1Pd2Jw9h75ypiYPPia3Gcq2rgkKiIwbkS6JxH7c5f5u/B/sB+d13PU+g1eu4Q==
+ dependencies:
+ decode-uri-component "^0.2.0"
+ split-on-first "^1.0.0"
+ strict-uri-encode "^2.0.0"
+
querystring-es3@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
-querystring@0.2.0:
+querystring@0.2.0, querystring@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
@@ -7756,13 +10475,28 @@ querystringify@^2.1.1:
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==
-raf@3.4.1:
+quickselect@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018"
+ integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==
+
+raf-schd@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.2.tgz#bd44c708188f2e84c810bf55fcea9231bcaed8a0"
+ integrity sha512-VhlMZmGy6A6hrkJWHLNTGl5gtgMUm+xfGza6wbwnE914yeQ5Ybm18vgM734RZhMgfw4tacUrWseGZlpUrrakEQ==
+
+raf@3.4.1, raf@^3.4.0:
version "3.4.1"
resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"
integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==
dependencies:
performance-now "^2.1.0"
+ramda@^0.21.0:
+ version "0.21.0"
+ resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.21.0.tgz#a001abedb3ff61077d4ff1d577d44de77e8d0a35"
+ integrity sha1-oAGr7bP/YQd9T/HVd9RN536NCjU=
+
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
@@ -7778,21 +10512,29 @@ randomfill@^1.0.3:
randombytes "^2.0.5"
safe-buffer "^5.1.0"
-range-parser@^1.0.3, range-parser@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
- integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=
+range-parser@^1.2.1, range-parser@~1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
+ integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
-raw-body@2.3.3:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3"
- integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==
+raw-body@2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
+ integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
dependencies:
- bytes "3.0.0"
- http-errors "1.6.3"
- iconv-lite "0.4.23"
+ bytes "3.1.0"
+ http-errors "1.7.2"
+ iconv-lite "0.4.24"
unpipe "1.0.0"
+raw-loader@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-2.0.0.tgz#e2813d9e1e3f80d1bbade5ad082e809679e20c26"
+ integrity sha512-kZnO5MoIyrojfrPWqrhFNLZemIAX8edMOCp++yC5RKxzFB3m92DqKNhKlU6+FvpOhWtvyh3jOaD7J6/9tpdIKg==
+ dependencies:
+ loader-utils "^1.1.0"
+ schema-utils "^1.0.0"
+
rc@^1.2.7:
version "1.2.8"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
@@ -7815,7 +10557,68 @@ react-app-polyfill@^1.0.1:
regenerator-runtime "0.13.2"
whatwg-fetch "3.0.0"
-react-dev-utils@^9.0.1:
+react-bootstrap@^1.0.0-beta.9:
+ version "1.0.0-beta.9"
+ resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-1.0.0-beta.9.tgz#3d9e429fd3d7a81db241aa824646c73e99a8566c"
+ integrity sha512-M0BYLuuUdMITJ16+DDDb1p4vWV87csEBi/uOxZYODuDZh7hvbrJVahfvPXcqeqq4eEpNL+PKSlqb9fNaY0HZyA==
+ dependencies:
+ "@babel/runtime" "^7.4.2"
+ "@react-bootstrap/react-popper" "1.2.1"
+ "@restart/context" "^2.1.4"
+ "@restart/hooks" "^0.3.0"
+ classnames "^2.2.6"
+ dom-helpers "^3.4.0"
+ invariant "^2.2.4"
+ keycode "^2.2.0"
+ popper.js "^1.14.7"
+ prop-types "^15.7.2"
+ prop-types-extra "^1.1.0"
+ react-overlays "^1.2.0"
+ react-transition-group "^4.0.0"
+ uncontrollable "^6.1.0"
+ warning "^4.0.3"
+
+react-clientside-effect@^1.2.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.1.tgz#feb81abe9531061d4987941c15a00f2b3d0b6071"
+ integrity sha512-foSwZatJak6r+F4OqJ8a+MOWcBi3jwa7/RPdJIDZI1Ck0dn/FJZkkFu7YK+SiZxsCZIrotolxHSobcnBHgIjfw==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+
+react-color@^2.17.0:
+ version "2.17.3"
+ resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.17.3.tgz#b8556d744f95193468c7061d2aa19180118d4a48"
+ integrity sha512-1dtO8LqAVotPIChlmo6kLtFS1FP89ll8/OiA8EcFRDR+ntcK+0ukJgByuIQHRtzvigf26dV5HklnxDIvhON9VQ==
+ dependencies:
+ "@icons/material" "^0.2.4"
+ lodash "^4.17.11"
+ material-colors "^1.2.1"
+ prop-types "^15.5.10"
+ reactcss "^1.2.0"
+ tinycolor2 "^1.4.1"
+
+react-context-toolbox@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/react-context-toolbox/-/react-context-toolbox-2.0.2.tgz#35637287cb23f801e6ed802c2bb7a97e1f04e3fb"
+ integrity sha512-tY4j0imkYC3n5ZlYSgFkaw7fmlCp3IoQQ6DxpqeNHzcD0hf+6V+/HeJxviLUZ1Rv1Yn3N3xyO2EhkkZwHn0m1A==
+
+react-csv@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/react-csv/-/react-csv-1.1.1.tgz#718dadd2607a1795bfc8dbd32ca282a043739634"
+ integrity sha512-eQSrkEfzPN+1IeXT58kJaDNmpFr3RhdjfE09jTrw+jdTEp0g0Ig9NOI+TpvMBbCukE1HQhOf4dyrLDRFKgZzbA==
+
+react-datepicker@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/react-datepicker/-/react-datepicker-2.8.0.tgz#d93423a2abe9eeef8d3eaa7ff437f31be8a3a2f5"
+ integrity sha512-TL9YemykqK77hq1LRGIWbLFpHvNfSb8yZr3q1zk5XTGdSLsVtZ6mlXby3zuGwi8sL0+h9SEnNaqK8IeOl0R2iQ==
+ dependencies:
+ classnames "^2.2.5"
+ date-fns "^v2.0.0-beta.1"
+ prop-types "^15.6.0"
+ react-onclickoutside "^6.7.1"
+ react-popper "^1.0.2"
+
+react-dev-utils@^9.0.0, react-dev-utils@^9.0.1:
version "9.0.1"
resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.0.1.tgz#5c03d85a0b2537d0c46af7165c24a7dfb274bef2"
integrity sha512-pnaeMo/Pxel8aZpxk1WwxT3uXxM3tEwYvsjCYn5R7gNxjhN1auowdcLDzFB8kr7rafAj2rxmvfic/fbac5CzwQ==
@@ -7846,7 +10649,20 @@ react-dev-utils@^9.0.1:
strip-ansi "5.2.0"
text-table "0.2.0"
-react-dom@16.8.6:
+react-docgen@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-4.1.1.tgz#8fef0212dbf14733e09edecef1de6b224d87219e"
+ integrity sha512-o1wdswIxbgJRI4pckskE7qumiFyqkbvCO++TylEDOo2RbMiueIOg8YzKU4X9++r0DjrbXePw/LHnh81GRBTWRw==
+ dependencies:
+ "@babel/core" "^7.0.0"
+ "@babel/runtime" "^7.0.0"
+ async "^2.1.4"
+ commander "^2.19.0"
+ doctrine "^3.0.0"
+ node-dir "^0.1.10"
+ recast "^0.17.3"
+
+react-dom@^16.8.3, react-dom@^16.8.6:
version "16.8.6"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f"
integrity sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==
@@ -7856,16 +10672,188 @@ react-dom@16.8.6:
prop-types "^15.6.2"
scheduler "^0.13.6"
+react-draggable@^3.1.1:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-3.3.0.tgz#2ed7ea3f92e7d742d747f9e6324860606cd4d997"
+ integrity sha512-U7/jD0tAW4T0S7DCPK0kkKLyL0z61sC/eqU+NUfDjnq+JtBKaYKDHpsK2wazctiA4alEzCXUnzkREoxppOySVw==
+ dependencies:
+ classnames "^2.2.5"
+ prop-types "^15.6.0"
+
react-error-overlay@^5.1.6:
version "5.1.6"
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-5.1.6.tgz#0cd73407c5d141f9638ae1e0c63e7b2bf7e9929d"
integrity sha512-X1Y+0jR47ImDVr54Ab6V9eGk0Hnu7fVWGeHQSOXHf/C2pF9c6uy3gef8QUeuUiWlNb0i08InPSE5a/KJzNzw1Q==
-react-is@^16.8.1, react-is@^16.8.4:
+react-fast-compare@2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9"
+ integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==
+
+react-focus-lock@^1.18.3:
+ version "1.19.1"
+ resolved "https://registry.yarnpkg.com/react-focus-lock/-/react-focus-lock-1.19.1.tgz#2f3429793edaefe2d077121f973ce5a3c7a0651a"
+ integrity sha512-TPpfiack1/nF4uttySfpxPk4rGZTLXlaZl7ncZg/ELAk24Iq2B1UUaUioID8H8dneUXqznT83JTNDHDj+kwryw==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ focus-lock "^0.6.3"
+ prop-types "^15.6.2"
+ react-clientside-effect "^1.2.0"
+
+react-helmet-async@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-1.0.2.tgz#bb55dd8268f7b15aac69c6b22e2f950abda8cc44"
+ integrity sha512-qzzchrM/ibHuPS/60ief8jaibPunuRdeta4iBDQV+ri2SFKwOV+X2NlEpvevZOauhmHrH/I6dI4E90EPVfJBBg==
+ dependencies:
+ "@babel/runtime" "7.3.4"
+ invariant "2.2.4"
+ prop-types "15.7.2"
+ react-fast-compare "2.0.4"
+ shallowequal "1.1.0"
+
+react-hotkeys@2.0.0-pre4:
+ version "2.0.0-pre4"
+ resolved "https://registry.yarnpkg.com/react-hotkeys/-/react-hotkeys-2.0.0-pre4.tgz#a1c248a51bdba4282c36bf3204f80d58abc73333"
+ integrity sha512-oa+UncSWyOwMK3GExt+oELXaR7T3ItgcMolsupQFdKvwkEhVAluJd5rYczsRSQpQlVkdNoHG46De2NUeuS+88Q==
+ dependencies:
+ prop-types "^15.6.1"
+
+react-input-autosize@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.1.tgz#ec428fa15b1592994fb5f9aa15bb1eb6baf420f8"
+ integrity sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA==
+ dependencies:
+ prop-types "^15.5.8"
+
+react-inspector@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-3.0.2.tgz#c530a06101f562475537e47df428e1d7aff16ed8"
+ integrity sha512-PSR8xDoGFN8R3LKmq1NT+hBBwhxjd9Qwz8yKY+5NXY/CHpxXHm01CVabxzI7zFwFav/M3JoC/Z0Ro2kSX6Ef2Q==
+ dependencies:
+ babel-runtime "^6.26.0"
+ is-dom "^1.0.9"
+ prop-types "^15.6.1"
+
+react-is@^16.3.2, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6:
version "16.8.6"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16"
integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==
+react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
+ integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
+
+react-map-gl@^5.0.3:
+ version "5.0.7"
+ resolved "https://registry.yarnpkg.com/react-map-gl/-/react-map-gl-5.0.7.tgz#91ce55f60171d06b9c4a6951304c6ffcdaddd8d0"
+ integrity sha512-5NVwb2xFfLMg/Uq28lBkzloEljdXu44YrrNJm9Td/22Z9kC4jClZXPV3/HxlA6mInMHOe8jS0AhjDW0uXKrByw==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ mapbox-gl "^1.0.0"
+ mjolnir.js "^2.1.2"
+ prop-types "^15.7.2"
+ react-virtualized-auto-sizer "^1.0.2"
+ viewport-mercator-project "^6.1.0"
+
+react-modal@^3.9.1:
+ version "3.9.1"
+ resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.9.1.tgz#82ce53d110eea0d8f028f3315ef336d0baffa9b9"
+ integrity sha512-k+TUkhGWpIVHLsEyjNmlyOYL0Uz03fNZvlkhCImd1h+6fhNgTi6H6jexVXPVhD2LMMDzJyfugxMN+APN/em+eQ==
+ dependencies:
+ exenv "^1.2.0"
+ prop-types "^15.5.10"
+ react-lifecycles-compat "^3.0.0"
+ warning "^4.0.3"
+
+react-on-scroll@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/react-on-scroll/-/react-on-scroll-0.2.2.tgz#785ec59091a21cd6f95be41214a01dc0384cf718"
+ integrity sha512-BBVQjxmxqt5YAxovyMi7fNSZrLc7hg/ciGA5iY6R0Xq4P0eq9zi3eyvyrJOhSzNr4WCuf18LqOPCME6a8grZPA==
+ dependencies:
+ react "^16.2.0"
+
+react-onclickoutside@^6.7.1:
+ version "6.8.0"
+ resolved "https://registry.yarnpkg.com/react-onclickoutside/-/react-onclickoutside-6.8.0.tgz#9f91b5b3ed59f4d9e43fd71620dc200773a4d569"
+ integrity sha512-5Q4Rn7QLEoh7WIe66KFvYIpWJ49GeHoygP1/EtJyZjXKgrWH19Tf0Ty3lWyQzrEEDyLOwUvvmBFSE3dcDdvagA==
+
+react-overlays@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-1.2.0.tgz#205368eeb0a5fb0b7f9b717fa7a12d518500abdb"
+ integrity sha512-i/FCV8wR6aRaI+Kz/dpJhOdyx+ah2tN1RhT9InPrexyC4uzf3N4bNayFTGtUeQVacj57j1Mqh1CwV60/5153Iw==
+ dependencies:
+ classnames "^2.2.6"
+ dom-helpers "^3.4.0"
+ prop-types "^15.6.2"
+ prop-types-extra "^1.1.0"
+ react-context-toolbox "^2.0.2"
+ react-popper "^1.3.2"
+ uncontrollable "^6.0.0"
+ warning "^4.0.2"
+
+react-popper-tooltip@^2.8.3:
+ version "2.8.3"
+ resolved "https://registry.yarnpkg.com/react-popper-tooltip/-/react-popper-tooltip-2.8.3.tgz#1c63e7473a96362bd93be6c94fa404470a265197"
+ integrity sha512-g5tfxmuj8ClNVwH4zswYJcD3GKoc5RMeRawd/WZnbyZGEDecsRKaVL+Kj7L3BG7w5qb6/MHcLTG8yE4CidwezQ==
+ dependencies:
+ "@babel/runtime" "^7.4.5"
+ react-popper "^1.3.3"
+
+react-popper@^1.0.2, react-popper@^1.3.2, react-popper@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.3.tgz#2c6cef7515a991256b4f0536cd4bdcb58a7b6af6"
+ integrity sha512-ynMZBPkXONPc5K4P5yFWgZx5JGAUIP3pGGLNs58cfAPgK67olx7fmLp+AdpZ0+GoQ+ieFDa/z4cdV6u7sioH6w==
+ dependencies:
+ "@babel/runtime" "^7.1.2"
+ create-react-context "<=0.2.2"
+ popper.js "^1.14.4"
+ prop-types "^15.6.1"
+ typed-styles "^0.0.7"
+ warning "^4.0.2"
+
+react-redux@^7.0.3:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.1.0.tgz#72af7cf490a74acdc516ea9c1dd80e25af9ea0b2"
+ integrity sha512-hyu/PoFK3vZgdLTg9ozbt7WF3GgX5+Yn3pZm5/96/o4UueXA+zj08aiSC9Mfj2WtD1bvpIb3C5yvskzZySzzaw==
+ dependencies:
+ "@babel/runtime" "^7.4.5"
+ hoist-non-react-statics "^3.3.0"
+ invariant "^2.2.4"
+ loose-envify "^1.4.0"
+ prop-types "^15.7.2"
+ react-is "^16.8.6"
+
+react-resize-detector@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-2.3.0.tgz#57bad1ae26a28a62a2ddb678ba6ffdf8fa2b599c"
+ integrity sha512-oCAddEWWeFWYH5FAcHdBYcZjAw9fMzRUK9sWSx6WvSSOPVRxcHd5zTIGy/mOus+AhN/u6T4TMiWxvq79PywnJQ==
+ dependencies:
+ lodash.debounce "^4.0.8"
+ lodash.throttle "^4.1.1"
+ prop-types "^15.6.0"
+ resize-observer-polyfill "^1.5.0"
+
+react-resize-detector@^4.0.5:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-4.2.0.tgz#b87aee6b37c9e8a52daca8736b3230cf6a2a8647"
+ integrity sha512-AtOaNIxs0ydua7tEoglXR3902/EdlIj9PXDu1Zj0ug2VAUnkSQjguLGzaG/N6CXLOhJSccTsUCZxjLayQ1mE9Q==
+ dependencies:
+ lodash "^4.17.11"
+ lodash-es "^4.17.11"
+ prop-types "^15.7.2"
+ raf-schd "^4.0.0"
+ resize-observer-polyfill "^1.5.1"
+
+react-responsive@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/react-responsive/-/react-responsive-7.0.0.tgz#0abde0ccbb50e5e8407e3d61dd4696447e7ebd3c"
+ integrity sha512-RukaKD+UI/MIR+P8eUgVGURfiCafRvvcVnq41scT0eEQWHwDGliH/OAlrwIr1oyz8aKLGroZa+U8mTZV5ihPfA==
+ dependencies:
+ hyphenate-style-name "^1.0.0"
+ matchmediaquery "^0.3.0"
+ prop-types "^15.6.1"
+
react-scripts@3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.0.1.tgz#e5565350d8069cc9966b5998d3fe3befe3d243ac"
@@ -7926,7 +10914,99 @@ react-scripts@3.0.1:
optionalDependencies:
fsevents "2.0.6"
-react@16.8.6:
+react-select@^2.2.0:
+ version "2.4.4"
+ resolved "https://registry.yarnpkg.com/react-select/-/react-select-2.4.4.tgz#ba72468ef1060c7d46fbb862b0748f96491f1f73"
+ integrity sha512-C4QPLgy9h42J/KkdrpVxNmkY6p4lb49fsrbDk/hRcZpX7JvZPNb6mGj+c5SzyEtBv1DmQ9oPH4NmhAFvCrg8Jw==
+ dependencies:
+ classnames "^2.2.5"
+ emotion "^9.1.2"
+ memoize-one "^5.0.0"
+ prop-types "^15.6.0"
+ raf "^3.4.0"
+ react-input-autosize "^2.2.1"
+ react-transition-group "^2.2.1"
+
+react-select@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.0.4.tgz#16bde37c24fd4f6444914d4681e78f15ffbc86d3"
+ integrity sha512-fbVISKa/lSUlLsltuatfUiKcWCNvdLXxFFyrzVQCBUsjxJZH/m7UMPdw/ywmRixAmwXAP++MdbNNZypOsiDEfA==
+ dependencies:
+ "@babel/runtime" "^7.4.4"
+ "@emotion/cache" "^10.0.9"
+ "@emotion/core" "^10.0.9"
+ "@emotion/css" "^10.0.9"
+ classnames "^2.2.5"
+ memoize-one "^5.0.0"
+ prop-types "^15.6.0"
+ raf "^3.4.0"
+ react-input-autosize "^2.2.1"
+ react-transition-group "^2.2.1"
+
+react-smooth@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/react-smooth/-/react-smooth-1.0.2.tgz#f7a2d932ece8db898646078c3c97f3e9533e0486"
+ integrity sha512-pIGzL1g9VGAsRsdZQokIK0vrCkcdKtnOnS1gyB2rrowdLy69lNSWoIjCTWAfgbiYvria8tm5hEZqj+jwXMkV4A==
+ dependencies:
+ lodash "~4.17.4"
+ prop-types "^15.6.0"
+ raf "^3.4.0"
+ react-transition-group "^2.5.0"
+
+react-sticky-box@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/react-sticky-box/-/react-sticky-box-0.8.0.tgz#1c191936af8f5420087b703ec6da4ef46060076c"
+ integrity sha512-al7fY+VzTKBgVrn14l21jQfhuG582Z6FD8tVbWVQDDqzcjLmUrFb+ljG2phxHhRRazg64L3yH4nOKjn78PZmag==
+ dependencies:
+ "@babel/runtime" "^7.1.5"
+ prop-types "^15.6.2"
+ resize-observer-polyfill "^1.5.1"
+
+react-syntax-highlighter@^8.0.1:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-8.1.0.tgz#59103ff17a828a27ed7c8f035ae2558f09b6b78c"
+ integrity sha512-G2bkZxmF3VOa4atEdXIDSfwwCqjw6ZQX5znfTaHcErA1WqHIS0o6DaSCDKFPVaOMXQEB9Hf1UySYQvuJmV8CXg==
+ dependencies:
+ babel-runtime "^6.18.0"
+ highlight.js "~9.12.0"
+ lowlight "~1.9.1"
+ prismjs "^1.8.4"
+ refractor "^2.4.1"
+
+react-textarea-autosize@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-7.1.0.tgz#3132cb77e65d94417558d37c0bfe415a5afd3445"
+ integrity sha512-c2FlR/fP0qbxmlrW96SdrbgP/v0XZMTupqB90zybvmDVDutytUgPl7beU35klwcTeMepUIQEpQUn3P3bdshGPg==
+ dependencies:
+ "@babel/runtime" "^7.1.2"
+ prop-types "^15.6.0"
+
+react-transition-group@^2.2.1, react-transition-group@^2.5.0:
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d"
+ integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==
+ dependencies:
+ dom-helpers "^3.4.0"
+ loose-envify "^1.4.0"
+ prop-types "^15.6.2"
+ react-lifecycles-compat "^3.0.4"
+
+react-transition-group@^4.0.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.2.1.tgz#61fc9e36568bff9a1fe4e60fae323c8a6dbc0680"
+ integrity sha512-IXrPr93VzCPupwm2O6n6C2kJIofJ/Rp5Ltihhm9UfE8lkuVX2ng/SUUl/oWjblybK9Fq2Io7LGa6maVqPB762Q==
+ dependencies:
+ "@babel/runtime" "^7.4.5"
+ dom-helpers "^3.4.0"
+ loose-envify "^1.4.0"
+ prop-types "^15.6.2"
+
+react-virtualized-auto-sizer@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.2.tgz#a61dd4f756458bbf63bd895a92379f9b70f803bd"
+ integrity sha512-MYXhTY1BZpdJFjUovvYHVBmkq79szK/k7V3MO+36gJkWGkrXKtyr4vCPtpphaTLRAdDNoYEYFZWE8LjN+PIHNg==
+
+react@*, react@^16.2.0, react@^16.8.3, react@^16.8.6:
version "16.8.6"
resolved "https://registry.yarnpkg.com/react/-/react-16.8.6.tgz#ad6c3a9614fd3a4e9ef51117f54d888da01f2bbe"
integrity sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==
@@ -7936,6 +11016,21 @@ react@16.8.6:
prop-types "^15.6.2"
scheduler "^0.13.6"
+reactcss@^1.2.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.3.tgz#c00013875e557b1cf0dfd9a368a1c3dab3b548dd"
+ integrity sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==
+ dependencies:
+ lodash "^4.0.1"
+
+read-pkg-up@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=
+ dependencies:
+ find-up "^1.0.0"
+ read-pkg "^1.0.0"
+
read-pkg-up@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
@@ -7952,6 +11047,15 @@ read-pkg-up@^4.0.0:
find-up "^3.0.0"
read-pkg "^3.0.0"
+read-pkg@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
read-pkg@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
@@ -7984,9 +11088,9 @@ read-pkg@^3.0.0:
util-deprecate "~1.0.1"
readable-stream@^3.0.6, readable-stream@^3.1.1:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.3.0.tgz#cb8011aad002eb717bf040291feba8569c986fb9"
- integrity sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc"
+ integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==
dependencies:
inherits "^2.0.3"
string_decoder "^1.1.1"
@@ -8008,6 +11112,69 @@ realpath-native@^1.1.0:
dependencies:
util.promisify "^1.0.0"
+recast@^0.14.7:
+ version "0.14.7"
+ resolved "https://registry.yarnpkg.com/recast/-/recast-0.14.7.tgz#4f1497c2b5826d42a66e8e3c9d80c512983ff61d"
+ integrity sha512-/nwm9pkrcWagN40JeJhkPaRxiHXBRkXyRh/hgU088Z/v+qCy+zIHHY6bC6o7NaKAxPqtE6nD8zBH1LfU0/Wx6A==
+ dependencies:
+ ast-types "0.11.3"
+ esprima "~4.0.0"
+ private "~0.1.5"
+ source-map "~0.6.1"
+
+recast@^0.17.3:
+ version "0.17.6"
+ resolved "https://registry.yarnpkg.com/recast/-/recast-0.17.6.tgz#64ae98d0d2dfb10ff92ff5fb9ffb7371823b69fa"
+ integrity sha512-yoQRMRrK1lszNtbkGyM4kN45AwylV5hMiuEveUBlxytUViWevjvX6w+tzJt1LH4cfUhWt4NZvy3ThIhu6+m5wQ==
+ dependencies:
+ ast-types "0.12.4"
+ esprima "~4.0.0"
+ private "^0.1.8"
+ source-map "~0.6.1"
+
+recharts-scale@^0.4.2:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/recharts-scale/-/recharts-scale-0.4.2.tgz#b66315d985cd9b80d5f7d977a5aab9a305abc354"
+ integrity sha512-p/cKt7j17D1CImLgX2f5+6IXLbRHGUQkogIp06VUoci/XkhOQiGSzUrsD1uRmiI7jha4u8XNFOjkHkzzBPivMg==
+ dependencies:
+ decimal.js-light "^2.4.1"
+
+recharts@^1.6.2:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/recharts/-/recharts-1.6.2.tgz#4ced884f04b680e8dac5d3e109f99b0e7cfb9b0f"
+ integrity sha512-NqVN8Hq5wrrBthTxQB+iCnZjup1dc+AYRIB6Q9ck9UjdSJTt4PbLepGpudQEYJEN5iIpP/I2vThC4uiTJa7xUQ==
+ dependencies:
+ classnames "^2.2.5"
+ core-js "^2.5.1"
+ d3-interpolate "^1.3.0"
+ d3-scale "^2.1.0"
+ d3-shape "^1.2.0"
+ lodash "^4.17.5"
+ prop-types "^15.6.0"
+ react-resize-detector "^2.3.0"
+ react-smooth "^1.0.0"
+ recharts-scale "^0.4.2"
+ reduce-css-calc "^1.3.0"
+
+rechoir@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
+ integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
+ dependencies:
+ resolve "^1.1.6"
+
+recompose@^0.30.0:
+ version "0.30.0"
+ resolved "https://registry.yarnpkg.com/recompose/-/recompose-0.30.0.tgz#82773641b3927e8c7d24a0d87d65aeeba18aabd0"
+ integrity sha512-ZTrzzUDa9AqUIhRk4KmVFihH0rapdCSMFXjhHbNrjAWxBuUD/guYlyysMnuHjlZC/KRiOKRtB4jf96yYSkKE8w==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ change-emitter "^0.1.2"
+ fbjs "^0.8.1"
+ hoist-non-react-statics "^2.3.1"
+ react-lifecycles-compat "^3.0.2"
+ symbol-observable "^1.0.4"
+
recursive-readdir@2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f"
@@ -8015,10 +11182,123 @@ recursive-readdir@2.2.2:
dependencies:
minimatch "3.0.4"
+redent@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
+ integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=
+ dependencies:
+ indent-string "^2.1.0"
+ strip-indent "^1.0.1"
+
+redeyed@~0.4.0:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-0.4.4.tgz#37e990a6f2b21b2a11c2e6a48fd4135698cba97f"
+ integrity sha1-N+mQpvKyGyoRwuakj9QTVpjLqX8=
+ dependencies:
+ esprima "~1.0.4"
+
+reduce-css-calc@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716"
+ integrity sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=
+ dependencies:
+ balanced-match "^0.4.2"
+ math-expression-evaluator "^1.2.14"
+ reduce-function-call "^1.0.1"
+
+reduce-function-call@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99"
+ integrity sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=
+ dependencies:
+ balanced-match "^0.4.2"
+
+reduce-reducers@^0.1.0:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/reduce-reducers/-/reduce-reducers-0.1.5.tgz#ff77ca8068ff41007319b8b4b91533c7e0e54576"
+ integrity sha512-uoVmQnZQ+BtKKDKpBdbBri5SLNyIK9ULZGOA504++VbHcwouWE+fJDIo8AuESPF9/EYSkI0v05LDEQK6stCbTA==
+
+reduce-reducers@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/reduce-reducers/-/reduce-reducers-0.4.3.tgz#8e052618801cd8fc2714b4915adaa8937eb6d66c"
+ integrity sha512-+CNMnI8QhgVMtAt54uQs3kUxC3Sybpa7Y63HR14uGLgI9/QR5ggHvpxwhGGe3wmx5V91YwqQIblN9k5lspAmGw==
+
+redux-actions@^0.10.1:
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/redux-actions/-/redux-actions-0.10.1.tgz#bb442ee37dd9643a94933e4071e089f435587135"
+ integrity sha1-u0Qu433ZZDqUkz5AceCJ9DVYcTU=
+ dependencies:
+ reduce-reducers "^0.1.0"
+
+redux-actions@^2.6.5:
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/redux-actions/-/redux-actions-2.6.5.tgz#bdca548768ee99832a63910c276def85e821a27e"
+ integrity sha512-pFhEcWFTYNk7DhQgxMGnbsB1H2glqhQJRQrtPb96kD3hWiZRzXHwwmFPswg6V2MjraXRXWNmuP9P84tvdLAJmw==
+ dependencies:
+ invariant "^2.2.4"
+ just-curry-it "^3.1.0"
+ loose-envify "^1.4.0"
+ reduce-reducers "^0.4.3"
+ to-camel-case "^1.0.0"
+
+redux-devtools-extension@^2.13.8:
+ version "2.13.8"
+ resolved "https://registry.yarnpkg.com/redux-devtools-extension/-/redux-devtools-extension-2.13.8.tgz#37b982688626e5e4993ff87220c9bbb7cd2d96e1"
+ integrity sha512-8qlpooP2QqPtZHQZRhx3x3OP5skEV1py/zUdMY28WNAocbafxdG2tRD1MWE7sp8obGMNYuLWanhhQ7EQvT1FBg==
+
+redux-first-router-link@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/redux-first-router-link/-/redux-first-router-link-2.1.1.tgz#93097de2d0863578c15547d16e71688b4e8b763a"
+ integrity sha512-WjOuaMPWhdeWCFGpkcwSJqhhNa5+v9XJwZOrfZki+Nv51QO+klDb11xQEPiLFRPZvQ9yqv5waqRrnbCCZe7d0A==
+ dependencies:
+ path-to-regexp "^1.7.0"
+ prop-types "^15.5.10"
+ rudy-history "^1.0.0"
+ rudy-match-path "^0.3.0"
+
+redux-first-router@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/redux-first-router/-/redux-first-router-2.1.2.tgz#e4e267dc60c50ffbecc69931099d49cfdc1b0ded"
+ integrity sha512-X0v4qtWloSI6GTEuaLImlBWCcLlKPC+p9SJ9VQosgATnY1tbu+Y3BTCUi891x/svnfe8VOtD59C3SVlHlBTx2g==
+ dependencies:
+ rudy-history "^1.0.0"
+ rudy-match-path "^0.3.0"
+
+redux-saga@^1.0.2:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-1.0.5.tgz#03317261bc5fa7ee2ecb778f4e4848f573557bbb"
+ integrity sha512-ytGFtaHyz6NQMQp7/LpQ/6CtOkbPRCcAeljUpc4c95hRm5U6dFvrRiZHeBPuQZ56L3oXfTX3hiYh8/3ZudsiNg==
+ dependencies:
+ "@redux-saga/core" "^1.0.3"
+
+redux-thunk-actions@^1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/redux-thunk-actions/-/redux-thunk-actions-1.3.2.tgz#a239f1afc10f45bcb13525d5ff86f7f695a7a9c7"
+ integrity sha512-tB3XlTybdBW79gJIgb5+Lifcg7melgCrJWAqsZJRWT2lz/wreFfWPofDZ/wQZOJn50Bse//vQrS4bGM3bmkJGQ==
+ dependencies:
+ redux-actions "^0.10.1"
+
+"redux@>=0.10 <5", redux@^4.0.1:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.4.tgz#4ee1aeb164b63d6a1bcc57ae4aa0b6e6fa7a3796"
+ integrity sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q==
+ dependencies:
+ loose-envify "^1.4.0"
+ symbol-observable "^1.2.0"
+
+refractor@^2.4.1:
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/refractor/-/refractor-2.9.0.tgz#0a381aadb51513e4e6ec1ed410b5104dd65e2489"
+ integrity sha512-lCnCYvXpqd8hC7ksuvo516rz5q4NwzBbq0X5qjH5pxRfcQKiQxKZ8JctrSQmrR/7pcV2TRrs9TT+Whmq/wtluQ==
+ dependencies:
+ hastscript "^5.0.0"
+ parse-entities "^1.1.2"
+ prismjs "~1.16.0"
+
regenerate-unicode-properties@^8.0.2:
- version "8.0.2"
- resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.0.2.tgz#7b38faa296252376d363558cfbda90c9ce709662"
- integrity sha512-SbA/iNrBUf6Pv2zU8Ekv1Qbhv92yxL4hiDa2siuxs4KKn4oOoMDHXjAf7+Nz9qinUQ46B1LcWEi/PhJfPWpZWQ==
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e"
+ integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==
dependencies:
regenerate "^1.4.0"
@@ -8037,10 +11317,15 @@ regenerator-runtime@^0.11.0:
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
-regenerator-transform@^0.13.4:
- version "0.13.4"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.4.tgz#18f6763cf1382c69c36df76c6ce122cc694284fb"
- integrity sha512-T0QMBjK3J0MtxjPmdIMXm72Wvj2Abb0Bd4HADdfijwMdoIsyQZ6fWC7kDFhk2YinBBEMZDL7Y7wh0J1sGx3S4A==
+regenerator-runtime@^0.12.0, regenerator-runtime@^0.12.1:
+ version "0.12.1"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de"
+ integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==
+
+regenerator-transform@^0.14.0:
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.0.tgz#2ca9aaf7a2c239dd32e4761218425b8c7a86ecaf"
+ integrity sha512-rtOelq4Cawlbmq9xuMR5gdFmv7ku/sFoB7sRiywx7aq53bc52b4j6zvH7Te1Vt/X2YveDKnCGUbioieU7FEL3w==
dependencies:
private "^0.1.6"
@@ -8052,10 +11337,17 @@ regex-not@^1.0.0, regex-not@^1.0.2:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
-regexp-tree@^0.1.0:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.6.tgz#84900fa12fdf428a2ac25f04300382a7c0148479"
- integrity sha512-LFrA98Dw/heXqDojz7qKFdygZmFoiVlvE1Zp7Cq2cvF+ZA+03Gmhy0k0PQlsC1jvHPiTUSs+pDHEuSWv6+6D7w==
+regexp-tree@^0.1.6:
+ version "0.1.11"
+ resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.11.tgz#c9c7f00fcf722e0a56c7390983a7a63dd6c272f3"
+ integrity sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg==
+
+regexp.prototype.flags@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c"
+ integrity sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==
+ dependencies:
+ define-properties "^1.1.2"
regexpp@^2.0.1:
version "2.0.1"
@@ -8086,16 +11378,7 @@ regjsparser@^0.6.0:
dependencies:
jsesc "~0.5.0"
-rehype-parse@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-6.0.0.tgz#f681555f2598165bee2c778b39f9073d17b16bca"
- integrity sha512-V2OjMD0xcSt39G4uRdMTqDXXm6HwkUbLMDayYKA/d037j8/OtVSQ+tqKwYWOuyBeoCs/3clXRe30VUjeMDTBSA==
- dependencies:
- hast-util-from-parse5 "^5.0.0"
- parse5 "^5.0.0"
- xtend "^4.0.1"
-
-relateurl@0.2.x:
+relateurl@0.2.x, relateurl@^0.2.7:
version "0.2.7"
resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
@@ -8126,10 +11409,12 @@ repeat-string@^1.6.1:
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
-replace-ext@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
- integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=
+repeating@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
+ dependencies:
+ is-finite "^1.0.0"
request-promise-core@1.1.2:
version "1.1.2"
@@ -8178,11 +11463,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"
@@ -8203,6 +11483,16 @@ requires-port@^1.0.0:
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
+reselect@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.0.0.tgz#f2529830e5d3d0e021408b246a206ef4ea4437f7"
+ integrity sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA==
+
+resize-observer-polyfill@^1.5.0, resize-observer-polyfill@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
+ integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
+
resolve-cwd@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
@@ -8220,6 +11510,23 @@ resolve-from@^4.0.0:
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+resolve-from@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
+ integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+
+resolve-pathname@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879"
+ integrity sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg==
+
+resolve-protobuf-schema@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758"
+ integrity sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==
+ dependencies:
+ protocol-buffers-schema "^3.3.1"
+
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
@@ -8237,10 +11544,10 @@ resolve@1.10.0:
dependencies:
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.10.1"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.1.tgz#664842ac960795bbe758221cdccda61fb64b5f18"
- integrity sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==
+resolve@^1.1.6, resolve@^1.10.0, resolve@^1.11.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==
dependencies:
path-parse "^1.0.6"
@@ -8267,7 +11574,7 @@ rgba-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
-rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3:
+rimraf@2, rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
@@ -8283,9 +11590,27 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
inherits "^2.0.1"
rsvp@^4.8.4:
- version "4.8.4"
- resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.4.tgz#b50e6b34583f3dd89329a2f23a8a2be072845911"
- integrity sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA==
+ version "4.8.5"
+ resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734"
+ integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==
+
+rudy-history@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/rudy-history/-/rudy-history-1.0.0.tgz#6e716bfea7b6dc00768a9423ace964fd0f168127"
+ integrity sha512-UTW+bwDNXurwxBaLl7hixG8OW3nwhbtUFipGJ6hmyHFASihWiZQbcg0noqe3gqmmk+zVRBblls9sguAvTx+ciQ==
+ dependencies:
+ invariant "^2.2.1"
+ loose-envify "^1.2.0"
+ resolve-pathname "^2.2.0"
+ value-equal "^0.4.0"
+ warning "^3.0.0"
+
+rudy-match-path@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/rudy-match-path/-/rudy-match-path-0.3.0.tgz#c90e23caac500f244d5e4ab448e2725f1254e2e8"
+ integrity sha512-xxdsPJZr7JtOibXCBYFmAgiEOvw1QK1rLSQ5sHiBvyzyD08rwjIZwg00Lt4G80g/4mhu639CSxRxQA4H+d1OHw==
+ dependencies:
+ path-to-regexp "^1.7.0"
run-async@^2.2.0:
version "2.3.0"
@@ -8301,18 +11626,40 @@ run-queue@^1.0.0, run-queue@^1.0.3:
dependencies:
aproba "^1.1.1"
+rw@1, rw@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4"
+ integrity sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=
+
rxjs@^6.4.0:
- version "6.5.1"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.1.tgz#f7a005a9386361921b8524f38f54cbf80e5d08f4"
- integrity sha512-y0j31WJc83wPu31vS1VlAFW5JGrnGC+j+TtGAa1fRQphy48+fDYiDmX8tjGloToEsMkxnouOg/1IzXGKkJnZMg==
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7"
+ integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==
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:
+s2-geometry@^1.2.10:
+ version "1.2.10"
+ resolved "https://registry.yarnpkg.com/s2-geometry/-/s2-geometry-1.2.10.tgz#c6ff22f3eccafd0eea491b60b44c141b9887acab"
+ integrity sha1-xv8i8+zK/Q7qSRtgtEwUG5iHrKs=
+ dependencies:
+ long "^3.2.0"
+
+safe-buffer@5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
+ integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==
+
+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==
+safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
+ integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
+
safe-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
@@ -8340,6 +11687,16 @@ sane@^4.0.3:
minimist "^1.1.1"
walker "~1.0.5"
+sass-graph@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49"
+ integrity sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=
+ dependencies:
+ glob "^7.0.0"
+ lodash "^4.0.0"
+ scss-tokenizer "^0.2.3"
+ yargs "^7.0.0"
+
sass-loader@7.1.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.1.0.tgz#16fd5138cb8b424bf8a759528a1972d72aad069d"
@@ -8358,11 +11715,11 @@ 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.11"
+ resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b"
+ integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==
dependencies:
- xmlchars "^1.3.1"
+ xmlchars "^2.1.1"
scheduler@^0.13.6:
version "0.13.6"
@@ -8381,11 +11738,29 @@ schema-utils@^1.0.0:
ajv-errors "^1.0.0"
ajv-keywords "^3.1.0"
+scss-tokenizer@^0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
+ integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE=
+ dependencies:
+ js-base64 "^2.1.8"
+ source-map "^0.4.2"
+
+seer@^0.2.4:
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/seer/-/seer-0.2.5.tgz#f0975153741f4d1c3916a144eef4738458bcb05a"
+ integrity sha512-//0Zwt0x97KQhIWrp4oq9AVNvGA2ctCx4dmFddpkORjRr6bW+hyC8eOhWBVIhiU3uHv1XLU1dekfFKOi28RGHA==
+
select-hose@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=
+select@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
+ integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
+
selfsigned@^1.9.1:
version "1.10.4"
resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.4.tgz#cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd"
@@ -8403,15 +11778,25 @@ semver@5.5.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==
-semver@6.0.0, semver@^6.0.0:
+semver@6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.0.0.tgz#05e359ee571e5ad7ed641a6eec1e547ba52dea65"
integrity sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==
-send@0.16.2:
- version "0.16.2"
- resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1"
- integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==
+semver@^6.0.0, semver@^6.1.1:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db"
+ integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==
+
+semver@~5.3.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
+ integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8=
+
+send@0.17.1:
+ version "0.17.1"
+ resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
+ integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
dependencies:
debug "2.6.9"
depd "~1.1.2"
@@ -8420,18 +11805,29 @@ send@0.16.2:
escape-html "~1.0.3"
etag "~1.8.1"
fresh "0.5.2"
- http-errors "~1.6.2"
- mime "1.4.1"
- ms "2.0.0"
+ http-errors "~1.7.2"
+ mime "1.6.0"
+ ms "2.1.1"
on-finished "~2.3.0"
- range-parser "~1.2.0"
- statuses "~1.4.0"
+ range-parser "~1.2.1"
+ statuses "~1.5.0"
-serialize-javascript@^1.4.0:
+serialize-javascript@^1.4.0, serialize-javascript@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65"
integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==
+serve-favicon@^2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.5.0.tgz#935d240cdfe0f5805307fdfe967d88942a2cbcf0"
+ integrity sha1-k10kDN/g9YBTB/3+ln2IlCosvPA=
+ dependencies:
+ etag "~1.8.1"
+ fresh "0.5.2"
+ ms "2.1.1"
+ parseurl "~1.3.2"
+ safe-buffer "5.1.1"
+
serve-index@^1.7.2:
version "1.9.1"
resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239"
@@ -8445,42 +11841,32 @@ serve-index@^1.7.2:
mime-types "~2.1.17"
parseurl "~1.3.2"
-serve-static@1.13.2:
- version "1.13.2"
- resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1"
- integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==
+serve-static@1.14.1:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
+ integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
dependencies:
encodeurl "~1.0.2"
escape-html "~1.0.3"
- parseurl "~1.3.2"
- send "0.16.2"
+ parseurl "~1.3.3"
+ send "0.17.1"
set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
-set-value@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"
- integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE=
- dependencies:
- extend-shallow "^2.0.1"
- is-extendable "^0.1.1"
- is-plain-object "^2.0.1"
- to-object-path "^0.3.0"
-
-set-value@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274"
- integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==
+set-value@^2.0.0, set-value@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
+ integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
dependencies:
extend-shallow "^2.0.1"
is-extendable "^0.1.1"
is-plain-object "^2.0.3"
split-string "^3.0.1"
-setimmediate@^1.0.4:
+setimmediate@^1.0.4, setimmediate@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
@@ -8490,6 +11876,11 @@ setprototypeof@1.1.0:
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==
+setprototypeof@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
+ integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
+
sha.js@^2.4.0, sha.js@^2.4.8:
version "2.4.11"
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
@@ -8517,6 +11908,25 @@ shallow-clone@^1.0.0:
kind-of "^5.0.0"
mixin-object "^2.0.1"
+shallow-equal@^1.1.0:
+ 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@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
+ integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
+
+sharkdown@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/sharkdown/-/sharkdown-0.1.1.tgz#64484bd0f08f347f8319e9ff947a670f6b48b1b2"
+ integrity sha512-exwooSpmo5s45lrexgz6Q0rFQM574wYIX3iDZ7RLLqOb7IAoQZu9nxlZODU972g19sR69OIpKP2cpHTzU+PHIg==
+ dependencies:
+ cardinal "~0.4.2"
+ minimist "0.0.5"
+ split "~0.2.10"
+
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@@ -8539,6 +11949,15 @@ shell-quote@1.6.1:
array-reduce "~0.0.0"
jsonify "~0.0.0"
+shelljs@^0.8.3:
+ version "0.8.3"
+ resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097"
+ integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==
+ dependencies:
+ glob "^7.0.0"
+ interpret "^1.0.0"
+ rechoir "^0.6.2"
+
shellwords@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
@@ -8556,10 +11975,30 @@ simple-swizzle@^0.2.2:
dependencies:
is-arrayish "^0.3.1"
+simplebar-react@^1.0.0-alpha.6:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/simplebar-react/-/simplebar-react-1.1.0.tgz#9241817265aee28b40abced66d6a2663e046d721"
+ integrity sha512-0nbUpoB5Gq3z2dbhRjPxwTLlscgFjCw8vKQRmbXIr47JMc5BeHj/WbZdVAESuKAvua7ESh6mkxbzywMNgRdbCw==
+ dependencies:
+ prop-types "^15.6.1"
+ simplebar "^4.1.0"
+
+simplebar@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/simplebar/-/simplebar-4.1.0.tgz#c4b78b278dd0ce41ed70a71473bfad8132a6260f"
+ integrity sha512-kX+CsWbWLeufIsqJl8xg5J4WbYMyq5NONR/aTaehN8XLQxOthSgRT/uAXsqX9Yrw3iiGxD9PPwM1PmEJfWAdcg==
+ dependencies:
+ can-use-dom "^0.1.0"
+ core-js "^3.0.1"
+ lodash.debounce "^4.0.8"
+ lodash.memoize "^4.1.2"
+ lodash.throttle "^4.1.1"
+ resize-observer-polyfill "^1.5.1"
+
sisteransi@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c"
- integrity sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ==
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.2.tgz#ec57d64b6f25c4f26c0e2c7dd23f2d7f12f7e418"
+ integrity sha512-ZcYcZcT69nSLAR2oLN2JwNmLkJEKGooFMCdvOkFrToUt/WfcRWqhIg4P4KwY4dmLbuyXIx4o4YmPsvMRJYJd/w==
slash@^1.0.0:
version "1.0.0"
@@ -8630,6 +12069,13 @@ sockjs@0.3.19:
faye-websocket "^0.10.0"
uuid "^3.0.1"
+sort-keys@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
+ integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0=
+ dependencies:
+ is-plain-obj "^1.0.0"
+
source-list-map@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
@@ -8646,7 +12092,7 @@ source-map-resolve@^0.5.0:
source-map-url "^0.4.0"
urix "^0.1.0"
-source-map-support@^0.5.6, source-map-support@~0.5.10:
+source-map-support@^0.5.6, source-map-support@~0.5.10, source-map-support@~0.5.12:
version "0.5.12"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599"
integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==
@@ -8659,7 +12105,14 @@ source-map-url@^0.4.0:
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
-source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6:
+source-map@^0.4.2:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
+ integrity sha1-66T12pwNyZneaAMti092FzZSA2s=
+ dependencies:
+ amdefine ">=0.0.4"
+
+source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
@@ -8669,10 +12122,15 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+source-map@^0.7.2:
+ version "0.7.3"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
+ integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
+
space-separated-tokens@^1.0.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.3.tgz#bc6500e116d13285a94b59b58c44c7f045fe6124"
- integrity sha512-/M5RAdBuQlSDPNfA5ube+fkHbHyY08pMuADLmsAQURzo56w90r681oiOoz3o3ZQyWdSeNucpTFjL+Ggd5qui3w==
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz#27910835ae00d0adfcdbd0ad7e611fb9544351fa"
+ integrity sha512-UyhMSmeIqZrQn2UdjYpxEkwY9JUrn8pP+7L4f91zRzOQuI8MF1FGLfYU9DKCYeLdo7LXMxwrX5zKFy7eeeVHuA==
spdx-correct@^3.0.0:
version "3.1.0"
@@ -8696,9 +12154,9 @@ spdx-expression-parse@^3.0.0:
spdx-license-ids "^3.0.0"
spdx-license-ids@^3.0.0:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz#75ecd1a88de8c184ef015eafb51b5b48bfd11bb1"
- integrity sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654"
+ integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==
spdy-transport@^3.0.0:
version "3.0.0"
@@ -8723,6 +12181,11 @@ spdy@^4.0.0:
select-hose "^2.0.0"
spdy-transport "^3.0.0"
+split-on-first@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
+ integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
+
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
@@ -8730,6 +12193,13 @@ split-string@^3.0.1, split-string@^3.0.2:
dependencies:
extend-shallow "^3.0.0"
+split@~0.2.10:
+ version "0.2.10"
+ resolved "https://registry.yarnpkg.com/split/-/split-0.2.10.tgz#67097c601d697ce1368f418f06cd201cf0521a57"
+ integrity sha1-Zwl8YB1pfOE2j0GPBs0gHPBSGlc=
+ dependencies:
+ through "2"
+
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
@@ -8775,21 +12245,28 @@ static-extend@^0.1.1:
define-property "^0.2.5"
object-copy "^0.1.0"
-"statuses@>= 1.4.0 < 2":
+"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
-statuses@~1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
- integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==
+stdout-stream@^1.4.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de"
+ integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==
+ dependencies:
+ readable-stream "^2.0.1"
stealthy-require@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
+store2@^2.7.1:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/store2/-/store2-2.7.1.tgz#22070b7dc04748a792fc6912a58ab99d3a21d788"
+ integrity sha512-zzzP5ZY6QWumnAFV6kBRbS44pUMcpZBNER5DWUe1HETlaKXqLcCQxbNu6IHaKr1pUsjuhUGBdOy8sWKmMkL6pQ==
+
stream-browserify@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
@@ -8822,6 +12299,16 @@ stream-shift@^1.0.0:
resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=
+strict-uri-encode@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
+ integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
+
+strict-uri-encode@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
+ integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
+
string-length@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed"
@@ -8830,7 +12317,7 @@ string-length@^2.0.0:
astral-regex "^1.0.0"
strip-ansi "^4.0.0"
-string-width@^1.0.1:
+string-width@^1.0.1, string-width@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
@@ -8856,6 +12343,35 @@ string-width@^3.0.0:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^5.1.0"
+string.prototype.matchall@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-3.0.1.tgz#5a9e0b64bcbeb336aa4814820237c2006985646d"
+ integrity sha512-NSiU0ILQr9PQ1SZmM1X327U5LsM+KfDTassJfqN1al1+0iNpKzmQ4BfXOJwRnTEqv8nKJ67mFpqRoPaGWwvy5A==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.12.0"
+ function-bind "^1.1.1"
+ has-symbols "^1.0.0"
+ regexp.prototype.flags "^1.2.0"
+
+string.prototype.padend@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0"
+ integrity sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.4.3"
+ function-bind "^1.0.2"
+
+string.prototype.padstart@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/string.prototype.padstart/-/string.prototype.padstart-3.0.0.tgz#5bcfad39f4649bb2d031292e19bcf0b510d4b242"
+ integrity sha1-W8+tOfRkm7LQMSkuGbzwtRDUskI=
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.4.3"
+ function-bind "^1.0.2"
+
string_decoder@^1.0.0, string_decoder@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d"
@@ -8900,6 +12416,13 @@ strip-ansi@^4.0.0:
dependencies:
ansi-regex "^3.0.0"
+strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
+ dependencies:
+ is-utf8 "^0.2.0"
+
strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
@@ -8918,12 +12441,19 @@ strip-eof@^1.0.0:
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
+strip-indent@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
+ integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=
+ dependencies:
+ get-stdin "^4.0.1"
+
strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
-style-loader@0.23.1:
+style-loader@0.23.1, style-loader@^0.23.1:
version "0.23.1"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925"
integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==
@@ -8940,6 +12470,23 @@ stylehacks@^4.0.0:
postcss "^7.0.0"
postcss-selector-parser "^3.0.0"
+stylis-rule-sheet@^0.0.10:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430"
+ integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==
+
+stylis@^3.5.0:
+ version "3.5.4"
+ resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe"
+ integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==
+
+supercluster@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/supercluster/-/supercluster-6.0.1.tgz#4c0177d96daa195d58a5bad9f55dbf12fb727a4c"
+ integrity sha512-NTth/FBFUt9mwW03+Z6Byscex+UHu0utroIe6uXjGu9PrTuWtW70LYv9I1vPSYYIHQL74S5zAkrXrHEk0L7dGA==
+ dependencies:
+ kdbush "^3.0.0"
+
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
@@ -8959,17 +12506,21 @@ supports-color@^6.1.0:
dependencies:
has-flag "^3.0.0"
-svgo@^1.0.0, svgo@^1.2.1:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.2.2.tgz#0253d34eccf2aed4ad4f283e11ee75198f9d7316"
- integrity sha512-rAfulcwp2D9jjdGu+0CuqlrAUin6bBWrpoqXWwKDZZZJfXcUXQSxLJOFJCQCSA0x0pP2U0TxSlJu2ROq5Bq6qA==
+svg-parser@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.1.tgz#2379e84748b31fad7bf80913e173492f3bcc9f20"
+ integrity sha512-8eUnCsU2sc2hyfvjK++zi5u24a2UQIB2DK9GY/cprGlaDr7SIhm9F0m9CkGYOnOgrK3iTUSnJ7M1DTLqqZt96g==
+
+svgo@^1.0.0, svgo@^1.2.2:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz#bae51ba95ded9a33a36b7c46ce9c359ae9154313"
+ integrity sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==
dependencies:
chalk "^2.4.1"
coa "^2.0.2"
css-select "^2.0.0"
css-select-base-adapter "^0.1.1"
- css-tree "1.0.0-alpha.28"
- css-url-regex "^1.1.0"
+ css-tree "1.0.0-alpha.33"
csso "^3.5.1"
js-yaml "^3.13.1"
mkdirp "~0.5.1"
@@ -8979,40 +12530,81 @@ svgo@^1.0.0, svgo@^1.2.1:
unquote "~1.1.1"
util.promisify "~1.0.0"
+symbol-observable@^1.0.4, symbol-observable@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
+ integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
+
symbol-tree@^3.2.2:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
- integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
+ integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
+
+symbol.prototype.description@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/symbol.prototype.description/-/symbol.prototype.description-1.0.0.tgz#6e355660eb1e44ca8ad53a68fdb72ef131ca4b12"
+ integrity sha512-I9mrbZ5M96s7QeJDv95toF1svkUjeBybe8ydhY7foPaBmr0SPJMFupArmMkDrOKTTj0sJVr+nvQNxWLziQ7nDQ==
+ dependencies:
+ has-symbols "^1.0.0"
table@^5.2.3:
- version "5.2.3"
- resolved "https://registry.yarnpkg.com/table/-/table-5.2.3.tgz#cde0cc6eb06751c009efab27e8c820ca5b67b7f2"
- integrity sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ==
+ version "5.4.4"
+ resolved "https://registry.yarnpkg.com/table/-/table-5.4.4.tgz#6e0f88fdae3692793d1077fd172a4667afe986a6"
+ integrity sha512-IIfEAUx5QlODLblLrGTTLJA7Tk0iLSGBvgY8essPRVNGHAzThujww1YqHLs6h3HfTg55h++RzLHH5Xw/rfv+mg==
dependencies:
- ajv "^6.9.1"
- lodash "^4.17.11"
+ ajv "^6.10.2"
+ lodash "^4.17.14"
slice-ansi "^2.1.0"
string-width "^3.0.0"
-tapable@^1.0.0, tapable@^1.1.0:
+tapable@^1.0.0, tapable@^1.1.0, tapable@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
+tar@^2.0.0:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40"
+ integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==
+ dependencies:
+ block-stream "*"
+ fstream "^1.0.12"
+ inherits "2"
+
tar@^4:
- version "4.4.8"
- resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d"
- integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==
+ version "4.4.10"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1"
+ integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==
dependencies:
chownr "^1.1.1"
fs-minipass "^1.2.5"
- minipass "^2.3.4"
- minizlib "^1.1.1"
+ minipass "^2.3.5"
+ minizlib "^1.2.1"
mkdirp "^0.5.0"
safe-buffer "^5.1.2"
- yallist "^3.0.2"
+ yallist "^3.0.3"
+
+telejson@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/telejson/-/telejson-2.2.1.tgz#d9ee7e7eba0c81d9378257342fde7142a03787e2"
+ integrity sha512-JtFAnITek+Z9t+uQjVl4Fxur9Z3Bi3flytBLc3KZVXmMUHLXdtAxiP0g8IBkHvKn1kQIYZC57IG0jjGH1s64HQ==
+ dependencies:
+ global "^4.3.2"
+ is-function "^1.0.1"
+ is-regex "^1.0.4"
+ is-symbol "^1.0.2"
+ isobject "^3.0.1"
+ lodash.get "^4.4.2"
+ memoizerific "^1.11.3"
+
+term-size@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69"
+ integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=
+ dependencies:
+ execa "^0.7.0"
-terser-webpack-plugin@1.2.3, terser-webpack-plugin@^1.1.0:
+terser-webpack-plugin@1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.2.3.tgz#3f98bc902fac3e5d0de730869f50668561262ec8"
integrity sha512-GOK7q85oAb/5kE12fMuLdn2btOS9OBZn4VsecpHDywoUC/jLhSAKOiYo0ezx7ss2EXPMzyEWFoE0s1WLE+4+oA==
@@ -9026,6 +12618,22 @@ terser-webpack-plugin@1.2.3, terser-webpack-plugin@^1.1.0:
webpack-sources "^1.1.0"
worker-farm "^1.5.2"
+terser-webpack-plugin@^1.1.0, terser-webpack-plugin@^1.2.4:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz#69aa22426299f4b5b3775cbed8cb2c5d419aa1d4"
+ integrity sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg==
+ dependencies:
+ cacache "^11.3.2"
+ find-cache-dir "^2.0.0"
+ is-wsl "^1.1.0"
+ loader-utils "^1.2.3"
+ schema-utils "^1.0.0"
+ serialize-javascript "^1.7.0"
+ source-map "^0.6.1"
+ terser "^4.0.0"
+ webpack-sources "^1.3.0"
+ worker-farm "^1.7.0"
+
terser@^3.16.1:
version "3.17.0"
resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2"
@@ -9035,6 +12643,15 @@ terser@^3.16.1:
source-map "~0.6.1"
source-map-support "~0.5.10"
+terser@^4.0.0:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.2.tgz#b2656c8a506f7ce805a3f300a2ff48db022fa391"
+ integrity sha512-jvNoEQSPXJdssFwqPSgWjsOrb+ELoE+ILpHPKXC83tIxOlh2U75F1KuB2luLD/3a6/7K3Vw5pDn+hvu0C4AzSw==
+ dependencies:
+ commander "^2.20.0"
+ source-map "~0.6.1"
+ source-map-support "~0.5.12"
+
test-exclude@^5.2.3:
version "5.2.3"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0"
@@ -9063,7 +12680,7 @@ through2@^2.0.0:
readable-stream "~2.3.6"
xtend "~4.0.1"
-through@^2.3.6:
+through@2, through@^2.3.6:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
@@ -9085,6 +12702,21 @@ timsort@^0.3.0:
resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
+tiny-emitter@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
+ integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
+
+tinycolor2@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8"
+ integrity sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=
+
+tinyqueue@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/tinyqueue/-/tinyqueue-2.0.3.tgz#64d8492ebf39e7801d7bd34062e29b45b2035f08"
+ integrity sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==
+
tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
@@ -9102,11 +12734,23 @@ to-arraybuffer@^1.0.0:
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
+to-camel-case@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/to-camel-case/-/to-camel-case-1.0.0.tgz#1a56054b2f9d696298ce66a60897322b6f423e46"
+ integrity sha1-GlYFSy+daWKYzmamCJcyK29CPkY=
+ dependencies:
+ to-space-case "^1.0.0"
+
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+to-no-case@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/to-no-case/-/to-no-case-1.0.2.tgz#c722907164ef6b178132c8e69930212d1b4aa16a"
+ integrity sha1-xyKQcWTvaxeBMsjmmTAhLRtKoWo=
+
to-object-path@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
@@ -9132,6 +12776,30 @@ to-regex@^3.0.1, to-regex@^3.0.2:
regex-not "^1.0.2"
safe-regex "^1.1.0"
+to-space-case@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/to-space-case/-/to-space-case-1.0.0.tgz#b052daafb1b2b29dc770cea0163e5ec0ebc9fc17"
+ integrity sha1-sFLar7Gysp3HcM6gFj5ewOvJ/Bc=
+ dependencies:
+ to-no-case "^1.0.0"
+
+toggle-selection@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
+ integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI=
+
+toidentifier@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
+ integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
+
+touch@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/touch/-/touch-2.0.2.tgz#ca0b2a3ae3211246a61b16ba9e6cbf1596287164"
+ integrity sha512-qjNtvsFXTRq7IuMLweVgFxmEuQ6gLbRs2jQxL80TtZ31dEKWYIxRXquij6w6VimyDek5hD3PytljHmEtAs2u0A==
+ dependencies:
+ nopt "~1.0.10"
+
tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
@@ -9155,30 +12823,37 @@ tr46@^1.0.1:
dependencies:
punycode "^2.1.0"
+trim-newlines@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
+ integrity sha1-WIeWa7WCpFA6QetST301ARgVphM=
+
trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
-trough@^1.0.0:
+"true-case-path@^1.0.2":
version "1.0.3"
- resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.3.tgz#e29bd1614c6458d44869fc28b255ab7857ef7c24"
- integrity sha512-fwkLWH+DimvA4YCy+/nvJd61nWQQ2liO/nF/RjkTpiOGi+zxZzVkhb1mvbHIIW4b/8nDsYI8uTmAlc0nNkRMOw==
+ resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d"
+ integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==
+ dependencies:
+ glob "^7.1.2"
-ts-pnp@1.1.2, ts-pnp@^1.0.0:
+ts-pnp@1.1.2, ts-pnp@^1.0.0, ts-pnp@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.2.tgz#be8e4bfce5d00f0f58e0666a82260c34a57af552"
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.10.0"
- resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.10.0.tgz#6f1c95c94606e098592b0dff06590cf9659227d6"
- integrity sha512-q20XSMq7jutbGB8luhKKsQldRKWvyBO2BGqni3p4yq8Ys9bEP/xQw3KepKmMRt9gJ4lvQSScrihJrcKdKoSU7Q==
+ version "3.14.0"
+ resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.14.0.tgz#bf8d5a7bae5369331fa0f2b0a5a10bd7f7396c77"
+ integrity sha512-SmzGbB0l+8I0QwsPgjooFRaRvHLBLNYM8SeQ0k6rtNDru5sCGeLJcZdwilNndN+GysuFjF5EIYgN8GfFG6UeUw==
dependencies:
tslib "^1.8.1"
@@ -9206,7 +12881,12 @@ type-check@~0.3.2:
dependencies:
prelude-ls "~1.1.2"
-type-is@~1.6.16:
+type-fest@^0.3.0:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1"
+ integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==
+
+type-is@~1.6.17, type-is@~1.6.18:
version "1.6.18"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
@@ -9214,11 +12894,50 @@ type-is@~1.6.16:
media-typer "0.3.0"
mime-types "~2.1.24"
+typed-styles@^0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/typed-styles/-/typed-styles-0.0.5.tgz#a60df245d482a9b1adf9c06c078d0f06085ed1cf"
+ integrity sha512-ht+rEe5UsdEBAa3gr64+QjUOqjOLJfWLvl5HZR5Ev9uo/OnD3p43wPeFSB1hNFc13GXQF/JU1Bn0YHLUqBRIlw==
+
+typed-styles@^0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/typed-styles/-/typed-styles-0.0.7.tgz#93392a008794c4595119ff62dde6809dbc40a3d9"
+ integrity sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q==
+
typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+typescript-compare@^0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/typescript-compare/-/typescript-compare-0.0.2.tgz#7ee40a400a406c2ea0a7e551efd3309021d5f425"
+ integrity sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==
+ dependencies:
+ typescript-logic "^0.0.0"
+
+typescript-logic@^0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/typescript-logic/-/typescript-logic-0.0.0.tgz#66ebd82a2548f2b444a43667bec120b496890196"
+ integrity sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q==
+
+typescript-tuple@^2.1.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/typescript-tuple/-/typescript-tuple-2.2.1.tgz#7d9813fb4b355f69ac55032e0363e8bb0f04dad2"
+ integrity sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q==
+ dependencies:
+ typescript-compare "^0.0.2"
+
+typescript@^3.5.3:
+ version "3.5.3"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977"
+ integrity sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==
+
+ua-parser-js@^0.7.18:
+ version "0.7.20"
+ resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.20.tgz#7527178b82f6a62a0f243d1f94fd30e3e3c21098"
+ integrity sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw==
+
uglify-js@3.4.x:
version "3.4.10"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f"
@@ -9227,14 +12946,22 @@ uglify-js@3.4.x:
commander "~2.19.0"
source-map "~0.6.1"
-uglify-js@^3.1.4:
- version "3.5.11"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.5.11.tgz#833442c0aa29b3a7d34344c7c63adaa3f3504f6a"
- integrity sha512-izPJg8RsSyqxbdnqX36ExpbH3K7tDBsAU/VfNv89VkMFy3z39zFjunQGsSHOlGlyIfGLGprGeosgQno3bo2/Kg==
+uglify-js@^3.1.4, uglify-js@^3.5.1:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5"
+ integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==
dependencies:
commander "~2.20.0"
source-map "~0.6.1"
+uncontrollable@^6.0.0, uncontrollable@^6.1.0:
+ version "6.2.3"
+ resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-6.2.3.tgz#e7dba0d746e075122ed178f27ad2354d343196c7"
+ integrity sha512-VgOAoBU2ptCL2bfTG2Mra0I8i1u6Aq84AFonD5tmCAYSfs3hWvr2Rlw0q2ntoxXTHjcQOmZOh3FKaN+UZVyREQ==
+ dependencies:
+ "@babel/runtime" "^7.4.5"
+ invariant "^2.2.4"
+
unicode-canonical-property-names-ecmascript@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
@@ -9258,29 +12985,15 @@ unicode-property-aliases-ecmascript@^1.0.4:
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57"
integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==
-unified@^7.1.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/unified/-/unified-7.1.0.tgz#5032f1c1ee3364bd09da12e27fdd4a7553c7be13"
- integrity sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==
- dependencies:
- "@types/unist" "^2.0.0"
- "@types/vfile" "^3.0.0"
- bail "^1.0.0"
- extend "^3.0.0"
- is-plain-obj "^1.1.0"
- trough "^1.0.0"
- vfile "^3.0.0"
- x-is-string "^0.1.0"
-
union-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"
- integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
+ integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
dependencies:
arr-union "^3.1.0"
get-value "^2.0.6"
is-extendable "^0.1.1"
- set-value "^0.4.3"
+ set-value "^2.0.1"
uniq@^1.0.1:
version "1.0.1"
@@ -9300,24 +13013,12 @@ 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"
-unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6"
- integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==
-
-unist-util-stringify-position@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.0.tgz#4c452c0dbcbc509f7bcd366e9a8afd646f9d51ae"
- integrity sha512-Uz5negUTrf9zm2ZT2Z9kdOL7Mr7FJLyq3ByqagUi7QZRVK1HnspVazvSqwHt73jj7APHtpuJ4K110Jm8O6/elw==
- dependencies:
- "@types/unist" "^2.0.2"
-
universalify@^0.1.0:
version "0.1.2"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
@@ -9328,7 +13029,7 @@ unpipe@1.0.0, unpipe@~1.0.0:
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
-unquote@~1.1.1:
+unquote@^1.1.0, unquote@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=
@@ -9363,7 +13064,7 @@ urix@^0.1.0:
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
-url-loader@1.1.2:
+url-loader@1.1.2, url-loader@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-1.1.2.tgz#b971d191b83af693c5e3fea4064be9e1f2d7f8d8"
integrity sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==
@@ -9393,7 +13094,7 @@ use@^3.1.0:
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
-util-deprecate@^1.0.1, util-deprecate@~1.0.1:
+util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
@@ -9443,15 +13144,20 @@ validate-npm-package-license@^3.0.1:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
+value-equal@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7"
+ integrity sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw==
+
vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
vendors@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801"
- integrity sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz#a6467781abd366217c050f8202e7e50cc9eef8c0"
+ integrity sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==
verror@1.10.0:
version "1.10.0"
@@ -9462,48 +13168,35 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
-vfile-message@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1"
- integrity sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==
- dependencies:
- unist-util-stringify-position "^1.1.1"
-
-vfile-message@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.0.tgz#750bbb86fe545988a67e899b329bbcabb73edef6"
- integrity sha512-YS6qg6UpBfIeiO+6XlhPOuJaoLvt1Y9g2cmlwqhBOOU0XRV8j5RLeoz72t6PWLvNXq3EBG1fQ05wNPrUoz0deQ==
+viewport-mercator-project@^6.1.0, viewport-mercator-project@^6.1.1:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/viewport-mercator-project/-/viewport-mercator-project-6.1.1.tgz#d7b2cb3cb772b819f1daab17cf4019102a9102a6"
+ integrity sha512-nI0GEmXnESwZxWSJuaQkdCnvOv6yckUfqqFbNB8KWVbQY3eUExVM4ZziqCVVs5mNznLjDF1auj6HLW5D5DKcng==
dependencies:
- "@types/unist" "^2.0.2"
- unist-util-stringify-position "^1.1.1"
+ "@babel/runtime" "^7.0.0"
+ gl-matrix "^3.0.0"
-vfile@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803"
- integrity sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==
+vizzuality-redux-tools@^4.0.2:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/vizzuality-redux-tools/-/vizzuality-redux-tools-4.1.1.tgz#f4f3a736443032ec74ef842c66fd5745ab8c9d90"
+ integrity sha512-b6by+seoENZuLGaeuUrXaHYx898uX0z+CGO+LLcuO7hzAoqRifvmz7CRPHyRFHWIaqnBIMRsApdAKoUxu3wC6Q==
dependencies:
- is-buffer "^2.0.0"
- replace-ext "1.0.0"
- unist-util-stringify-position "^1.0.0"
- vfile-message "^1.0.0"
+ redux-actions "^2.6.5"
+ redux-thunk-actions "^1.3.2"
-vfile@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.0.0.tgz#ebf3b48af9fcde524d5e08d5f75812058a5f78ad"
- integrity sha512-WMNeHy5djSl895BqE86D7WqA0Ie5fAIeGCa7V1EqiXyJg5LaGch2SUaZueok5abYQGH6mXEAsZ45jkoILIOlyA==
- dependencies:
- "@types/unist" "^2.0.2"
- is-buffer "^2.0.0"
- replace-ext "1.0.0"
- unist-util-stringify-position "^2.0.0"
- vfile-message "^2.0.0"
+vm-browserify@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019"
+ integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==
-vm-browserify@0.0.4:
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
- integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=
+vt-pbf@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/vt-pbf/-/vt-pbf-3.1.1.tgz#b0f627e39a10ce91d943b898ed2363d21899fb82"
+ integrity sha512-pHjWdrIoxurpmTcbfBWXaPwSmtPAHS105253P1qyEfSTV2HJddqjM+kIHquaT/L6lVJIk9ltTGc0IxR/G47hYA==
dependencies:
- indexof "0.0.1"
+ "@mapbox/point-geometry" "0.1.0"
+ "@mapbox/vector-tile" "^1.3.1"
+ pbf "^3.0.5"
w3c-hr-time@^1.0.1:
version "1.0.1"
@@ -9528,6 +13221,20 @@ walker@^1.0.7, walker@~1.0.5:
dependencies:
makeerror "1.0.x"
+warning@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c"
+ integrity sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=
+ dependencies:
+ loose-envify "^1.0.0"
+
+warning@^4.0.2, 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==
+ dependencies:
+ loose-envify "^1.0.0"
+
watchpack@^1.5.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
@@ -9544,24 +13251,19 @@ wbuf@^1.1.0, wbuf@^1.7.3:
dependencies:
minimalistic-assert "^1.0.0"
-web-namespaces@^1.1.2:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.3.tgz#9bbf5c99ff0908d2da031f1d732492a96571a83f"
- integrity sha512-r8sAtNmgR0WKOKOxzuSgk09JsHlpKlB+uHi937qypOu3PZ17UxPrierFKDye/uNHjNTTEshu5PId8rojIPj/tA==
-
webidl-conversions@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
-webpack-dev-middleware@^3.5.1:
- version "3.6.2"
- resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.6.2.tgz#f37a27ad7c09cd7dc67cd97655413abaa1f55942"
- integrity sha512-A47I5SX60IkHrMmZUlB0ZKSWi29TZTcPz7cha1Z75yYOsgWh/1AcPmQEbC8ZIbU3A1ytSv1PMU0PyPz2Lmz2jg==
+webpack-dev-middleware@^3.5.1, webpack-dev-middleware@^3.7.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz#ef751d25f4e9a5c8a35da600c5fda3582b5c6cff"
+ integrity sha512-qvDesR1QZRIAZHOE3iQ4CXLZZSQ1lAUsSpnQmlB1PBfoN/xdRjmge3Dok0W4IdaVLJOGJy3sGI4sZHwjRU0PCA==
dependencies:
memory-fs "^0.4.1"
- mime "^2.3.1"
- range-parser "^1.0.3"
+ mime "^2.4.2"
+ range-parser "^1.2.1"
webpack-log "^2.0.0"
webpack-dev-server@3.2.1:
@@ -9600,6 +13302,16 @@ webpack-dev-server@3.2.1:
webpack-log "^2.0.0"
yargs "12.0.2"
+webpack-hot-middleware@^2.25.0:
+ version "2.25.0"
+ resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz#4528a0a63ec37f8f8ef565cf9e534d57d09fe706"
+ integrity sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA==
+ dependencies:
+ ansi-html "0.0.7"
+ html-entities "^1.2.0"
+ querystring "^0.2.0"
+ strip-ansi "^3.0.0"
+
webpack-log@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f"
@@ -9655,12 +13367,42 @@ webpack@4.29.6:
watchpack "^1.5.0"
webpack-sources "^1.3.0"
+webpack@^4.33.0:
+ version "4.36.1"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.36.1.tgz#f546fda7a403a76faeaaa7196c50d12370ed18a9"
+ integrity sha512-Ej01/N9W8DVyhEpeQnbUdGvOECw0L46FxS12cCOs8gSK7bhUlrbHRnWkjiXckGlHjUrmL89kDpTRIkUk6Y+fKg==
+ dependencies:
+ "@webassemblyjs/ast" "1.8.5"
+ "@webassemblyjs/helper-module-context" "1.8.5"
+ "@webassemblyjs/wasm-edit" "1.8.5"
+ "@webassemblyjs/wasm-parser" "1.8.5"
+ acorn "^6.2.0"
+ ajv "^6.1.0"
+ ajv-keywords "^3.1.0"
+ chrome-trace-event "^1.0.0"
+ enhanced-resolve "^4.1.0"
+ eslint-scope "^4.0.0"
+ json-parse-better-errors "^1.0.2"
+ loader-runner "^2.3.0"
+ loader-utils "^1.1.0"
+ memory-fs "~0.4.1"
+ micromatch "^3.1.8"
+ mkdirp "~0.5.0"
+ neo-async "^2.5.0"
+ node-libs-browser "^2.0.0"
+ schema-utils "^1.0.0"
+ tapable "^1.1.0"
+ terser-webpack-plugin "^1.1.0"
+ watchpack "^1.5.0"
+ 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.3"
+ resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9"
+ integrity sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==
dependencies:
- http-parser-js ">=0.4.0"
+ http-parser-js ">=0.4.0 <0.4.11"
+ safe-buffer ">=5.1.0"
websocket-extensions ">=0.1.1"
websocket-extensions@>=0.1.1:
@@ -9668,6 +13410,11 @@ websocket-extensions@>=0.1.1:
resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29"
integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==
+wgs84@0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/wgs84/-/wgs84-0.0.0.tgz#34fdc555917b6e57cf2a282ed043710c049cdc76"
+ integrity sha1-NP3FVZF7blfPKigu0ENxDASc3HY=
+
whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
@@ -9675,7 +13422,7 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5:
dependencies:
iconv-lite "0.4.24"
-whatwg-fetch@3.0.0:
+whatwg-fetch@3.0.0, whatwg-fetch@>=0.10.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb"
integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==
@@ -9703,12 +13450,17 @@ whatwg-url@^7.0.0:
tr46 "^1.0.1"
webidl-conversions "^4.0.2"
+which-module@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
+ integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=
+
which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
-which@^1.2.9, which@^1.3.0, which@^1.3.1:
+which@1, which@^1.2.9, which@^1.3.0, which@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
@@ -9722,6 +13474,13 @@ wide-align@^1.1.0:
dependencies:
string-width "^1.0.2 || 2"
+widest-line@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc"
+ integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==
+ dependencies:
+ string-width "^2.1.1"
+
wordwrap@~0.0.2:
version "0.0.3"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
@@ -9867,7 +13626,7 @@ workbox-window@^4.3.1:
dependencies:
workbox-core "^4.3.1"
-worker-farm@^1.5.2:
+worker-farm@^1.5.2, worker-farm@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==
@@ -9875,11 +13634,11 @@ worker-farm@^1.5.2:
errno "~0.1.7"
worker-rpc@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.0.tgz#5f1258dca3d617cd18ca86587f8a05ac0eebd834"
- integrity sha1-XxJY3KPWF80YyoZYf4oFrA7r2DQ=
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5"
+ integrity sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==
dependencies:
- microevent.ts "~0.1.0"
+ microevent.ts "~0.1.1"
wrap-ansi@^2.0.0:
version "2.1.0"
@@ -9924,20 +13683,15 @@ ws@^6.1.2:
dependencies:
async-limiter "~1.0.0"
-x-is-string@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"
- integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=
-
xml-name-validator@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
-xmlchars@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-1.3.1.tgz#1dda035f833dbb4f86a0c28eaa6ca769214793cf"
- integrity sha512-tGkGJkN8XqCod7OT+EvGYK5Z4SfDQGD30zAa58OcnAa0RRWgzUEK72tkXhsX1FZd+rgnhRxFtmO+ihkp8LHSkw==
+xmlchars@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.1.1.tgz#ef1a81c05bff629c2280007f12daca21bd6f6c93"
+ integrity sha512-7hew1RPJ1iIuje/Y01bGD/mXokXxegAgVS+e+E0wSi2ILHQkYAH1+JXARwTjZSM4Z4Z+c73aKspEcqj+zPPL/w==
xregexp@4.0.0:
version "4.0.0"
@@ -9945,16 +13699,26 @@ xregexp@4.0.0:
integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==
xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
- integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68=
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+ integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+
+y18n@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
+ integrity sha1-bRX7qITAhnnA136I53WegR4H+kE=
"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
-yallist@^3.0.0, yallist@^3.0.2:
+yallist@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+ integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
+
+yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==
@@ -9974,6 +13738,13 @@ yargs-parser@^11.1.1:
camelcase "^5.0.0"
decamelize "^1.2.0"
+yargs-parser@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
+ integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=
+ dependencies:
+ camelcase "^3.0.0"
+
yargs@12.0.2:
version "12.0.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc"
@@ -10009,3 +13780,22 @@ yargs@^12.0.2:
which-module "^2.0.0"
y18n "^3.2.1 || ^4.0.0"
yargs-parser "^11.1.1"
+
+yargs@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
+ integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=
+ dependencies:
+ camelcase "^3.0.0"
+ cliui "^3.2.0"
+ decamelize "^1.1.1"
+ get-caller-file "^1.0.1"
+ os-locale "^1.4.0"
+ read-pkg-up "^1.0.1"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^1.0.2"
+ which-module "^1.0.0"
+ y18n "^3.2.1"
+ yargs-parser "^5.0.0"