├── .babelrc
├── .gitignore
├── .npmignore
├── LICENSE
├── README.md
├── demo
├── git-mark.png
├── index.html
├── index.js
├── main.css
└── src
│ ├── index.js
│ └── layout.js
├── package-lock.json
├── package.json
├── rollup.config.js
└── src
└── index.js
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | "@babel/env",
4 | "@babel/preset-react"
5 | ]
6 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | npm-debug.log
4 | .DS_Store
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | src/
2 | demo
3 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2017 Gaurav Chikhale
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # react-simple-sidenav [](https://www.npmjs.com/package/react-simple-sidenav) [](https://www.npmjs.com/package/react-simple-sidenav)
2 |
3 | Simple, light weight(4.78 kB), fully customizable React component for side navigation.
4 |
5 | Inspired by [Side Navigation Bar TL;DW episode of Supercharged](https://youtu.be/Mhnj3PiPnZw)
6 |
7 | **Demo:** https://gauravchl.github.io/react-simple-sidenav/demo/
8 |
9 |
10 |
11 | **Install:**
12 |
13 | ```
14 | npm install react-simple-sidenav
15 | ```
16 |
17 | **Use:**
18 |
19 | ```javascript
20 | import React, { useState } from 'react';
21 | import SideNav, { MenuIcon } from 'react-simple-sidenav';
22 |
23 | const MyComponent = (props) => {
24 | const [showNav, setShowNav] = useState();
25 |
26 | return (
27 |
28 | setShowNav(true)} />
29 | setShowNav(false)} />
30 |
31 | );
32 | };
33 | ```
34 |
35 | **Props:**
36 |
37 | | Props | Type | Description |
38 | | -------------- | -------- | ---------------------------------------------------------------------------------------------------------------- |
39 | | style | object | Style for root element |
40 | | navStyle | object | Style for nav element |
41 | | titleStyle | object | Styles for title |
42 | | itemStyle | object | Styles for item |
43 | | itemHoverStyle | object | Hover style for item |
44 | | title | node | Will display on top |
45 | | items | [node] | Array of items in navigation list below the title |
46 | | showNav | boolean | Control whether to open or close side navigation |
47 | | openFromRight | boolean | This opens navigation from right side of the window, default is false (from left side). |
48 | | onShowNav | function | Trigger when navigation opens |
49 | | onHideNav | function | Trigger when navigation close |
50 | | children | node | Content of navigation. If supplying children to SideNav, title and items will be ignore and replaced by children |
51 |
52 | **Examples:**
53 |
54 | ```javascript
55 | // With custom styles
56 | import React, { useState } from 'react';
57 | import SideNav, { MenuIcon } from 'react-simple-sidenav';
58 |
59 | const MyComponent = (props) => {
60 | const [showNav, setShowNav] = useState();
61 | return (
62 |
63 | setShowNav(true)} />{' '}
64 | setShowNav(false)}
67 | title="Hello World"
68 | items={['home', 'services', 'about', 'contact']}
69 | titleStyle={{ backgroundColor: '#4CAF50' }}
70 | itemStyle={{ backgroundColor: '#fff' }}
71 | itemHoverStyle={{ backgroundColor: '#CDDC39' }}
72 | />
73 |
74 | );
75 | };
76 | ```
77 |
78 | ```javascript
79 | // With custom items
80 | import React, { useState } from 'react';
81 | import SideNav, { MenuIcon } from 'react-simple-sidenav';
82 |
83 | const MyComponent = (props) => {
84 | const [showNav, setShowNav] = useState();
85 | const navItems = [
86 |
87 | Link1
88 | ,
89 |
90 | Link2
91 | ,
92 |
93 | Link3
94 | ,
95 | ];
96 |
97 | const title = Hello octo ;
98 |
99 | return (
100 |
101 | setShowNav(true)} />
102 | setShowNav(false)} title={title} items={navItems} />
103 |
104 | );
105 | };
106 | ```
107 |
108 | **Contributing:**
109 |
110 | Please feel free to submit any bugs or suggestions as issues. Pull requests are welcome.
111 | To build package locally run following commands which will build the package from source and update the demo inside `react-simple-sidenav/demo/`.
112 |
113 | ```
114 | cd /react-simple-sidenav/
115 | npm install
116 | npm run build
117 | ```
118 |
--------------------------------------------------------------------------------
/demo/git-mark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gauravchl/react-simple-sidenav/b7fa51741d72177632d8c0c73c7a59eed38d83d6/demo/git-mark.png
--------------------------------------------------------------------------------
/demo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | react-simple-sidenav
8 |
9 |
10 |
11 |
12 |
13 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/demo/main.css:
--------------------------------------------------------------------------------
1 | body{
2 | font-family: sans-serif;
3 | padding: 0;
4 | margin: 0;
5 | }
6 | ul{
7 | list-style-type: none;
8 | padding: 0;
9 | margin: 0;
10 | }
11 | li:hover{
12 | background: #E0E0E0;
13 | }
14 |
15 |
16 | .ripple{
17 | position: relative;
18 | display: inline-block;
19 | }
20 | .ripple:after{
21 | content: '';
22 | width: 48px;
23 | height: 48px;
24 | opacity: 0;
25 | position: absolute;
26 | background: rgba(0,0,0,.6);
27 | border-radius: 50%;
28 | animation: ripple 4s infinite;
29 | left: 0px;
30 | top: 0px;
31 | right: 0px;
32 | bottom: 0px;
33 | margin: auto;
34 | pointer-events: none;
35 | }
36 | .ripple.delay-1:after{
37 | animation-delay: 2s
38 | }
39 | .ripple.delay-2:after{
40 | animation-delay: 3s
41 | }
42 |
43 | @keyframes ripple {
44 | 0%{
45 | transform: scale(0);
46 | opacity: 1;
47 | }
48 | 40%{
49 | transform: scale(1);
50 | opacity: 0;
51 | }
52 | 100%{
53 | transform: scale(1);
54 | opacity: 0
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/demo/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import Layout from './layout.js';
4 |
5 | document.addEventListener('DOMContentLoaded', () => {
6 | ReactDOM.render( , document.getElementById('main'));
7 | });
8 |
--------------------------------------------------------------------------------
/demo/src/layout.js:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react';
2 | import SideNav, { MenuIcon } from '../../src/index.js';
3 |
4 | export default (props) => {
5 | const [showNav1, setShowNav1] = useState();
6 | const [showNav2, setShowNav2] = useState();
7 | const [showNav3, setShowNav3] = useState();
8 | const [showNav4, setShowNav4] = useState();
9 |
10 | const styles = {
11 | menuBar: {
12 | width: '100%',
13 | background: '#0AC',
14 | color: '#fff',
15 | display: 'flex',
16 | alignItems: 'center',
17 | position: 'fixed',
18 | zIndex: 2,
19 | top: 0,
20 | },
21 | exampleWrapper: {
22 | textAlign: 'center',
23 | },
24 | exampleBox: {
25 | textAlign: 'left',
26 | maxWidth: 500,
27 | width: '90%',
28 | margin: '32px 12px',
29 | display: 'inline-block',
30 | },
31 | topBar: {
32 | background: '#0ac',
33 | color: '#fff',
34 | fontSize: '14px',
35 | },
36 |
37 | codeWrap: {
38 | background: '#f5f5f5',
39 | whiteSpace: 'pre',
40 | overflow: 'scroll',
41 | height: 300,
42 | },
43 | bg1: {
44 | backgroundColor: '#e91e63',
45 | },
46 | bg2: {
47 | backgroundColor: '#4CAF50',
48 | },
49 | bg3: {
50 | backgroundColor: '#2196F3',
51 | },
52 | bg4: {
53 | backgroundColor: '#FF5722',
54 | },
55 | menuIcon: {
56 | padding: 12,
57 | verticalAlign: 'middle',
58 | },
59 | };
60 |
61 | return (
62 |
63 |
64 |
setShowNav1(true)} style={{ verticalAlign: 'middle', padding: '12px' }} />
65 | Demo [react-simple-sidenav]
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 | setShowNav1(true)} />
76 |
77 | Demo 1 [with default styles]
78 |
79 |
80 | {example1}
81 |
82 |
83 |
84 |
85 |
86 |
87 | setShowNav2(true)} />
88 |
89 | Demo 2 [with custom styles]
90 |
91 |
92 | {example2}
93 |
94 |
95 |
96 |
97 |
98 |
99 | setShowNav3(true)} />
100 |
101 | Demo 3 [with custom items]
102 |
103 |
104 | {example3}
105 |
106 |
107 |
108 |
109 |
110 |
111 | setShowNav4(true)} />
112 |
113 | Demo 4 [open from right]
114 |
115 |
116 | {example4}
117 |
118 |
119 |
120 |
121 |
console.log('onShowNav')} onHideNav={() => setShowNav1(false)} />
122 |
123 | setShowNav2(false)}
126 | title="Hello World"
127 | titleStyle={styles.bg2}
128 | items={['home', 'services', 'about', 'contact']}
129 | itemStyle={{ backgroundColor: '#fff' }}
130 | itemHoverStyle={{ backgroundColor: '#CDDC39' }}
131 | />
132 |
133 | setShowNav3(false)}
136 | title={
137 |
138 | Hello octo
139 |
140 | }
141 | titleStyle={styles.bg3}
142 | items={[
143 |
144 | View Source on github
145 | ,
146 |
147 | Install via npm
148 | ,
149 |
150 | demo
151 | ,
152 | ]}
153 | />
154 |
155 | setShowNav4(false)}
159 | title="Open From right"
160 | titleStyle={styles.bg4}
161 | items={['Item1', 'Item2', 'Item3']}
162 | />
163 |
164 | );
165 | };
166 |
167 | const example1 = `
168 | import react from 'react';
169 | import SideNav, {MenuIcon} from 'react-simple-sidenav';
170 |
171 | React.createClass({
172 | render() {
173 | return(
174 | this.setState({showNav: true})}/>
175 |
176 | this.setState({showNav: false})} />
179 | )
180 | }
181 | })
182 | `;
183 |
184 | const example2 = `
185 | this.setState({showNav: false})}
188 | title = "Hello World"
189 | items = {['home', 'services', 'about', 'contact']}
190 | titleStyle = {{backgroundColor: '#4CAF50'}}
191 | itemStyle = {{backgroundColor: '#fff'}}
192 | itemHoverStyle = {{backgroundColor: '#CDDC39'}}
193 | />
194 |
195 | `;
196 |
197 | const example3 = `
198 | this.setState({showNav3:false})}
201 | title={Hello octo
}
202 | titleStyle={{backgroundColor: '#2196F3'}}
203 | items={[
204 | View Source on github ,
205 | Install via npm ,
206 | demo
207 | ]} />
208 |
209 | `;
210 | const example4 = `
211 | this.setState({showNav4: false})}
215 | title='Open From right'
216 | titleStyle={{backgroundColor: '#FF5722'}}
217 | items={['Item1', 'Item2', 'Item3']} />
218 | `;
219 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-simple-sidenav",
3 | "version": "1.0.1",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@babel/code-frame": {
8 | "version": "7.8.3",
9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
10 | "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
11 | "dev": true,
12 | "requires": {
13 | "@babel/highlight": "^7.8.3"
14 | }
15 | },
16 | "@babel/compat-data": {
17 | "version": "7.9.0",
18 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.0.tgz",
19 | "integrity": "sha512-zeFQrr+284Ekvd9e7KAX954LkapWiOmQtsfHirhxqfdlX6MEC32iRE+pqUGlYIBchdevaCwvzxWGSy/YBNI85g==",
20 | "dev": true,
21 | "requires": {
22 | "browserslist": "^4.9.1",
23 | "invariant": "^2.2.4",
24 | "semver": "^5.5.0"
25 | }
26 | },
27 | "@babel/core": {
28 | "version": "7.9.0",
29 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz",
30 | "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==",
31 | "dev": true,
32 | "requires": {
33 | "@babel/code-frame": "^7.8.3",
34 | "@babel/generator": "^7.9.0",
35 | "@babel/helper-module-transforms": "^7.9.0",
36 | "@babel/helpers": "^7.9.0",
37 | "@babel/parser": "^7.9.0",
38 | "@babel/template": "^7.8.6",
39 | "@babel/traverse": "^7.9.0",
40 | "@babel/types": "^7.9.0",
41 | "convert-source-map": "^1.7.0",
42 | "debug": "^4.1.0",
43 | "gensync": "^1.0.0-beta.1",
44 | "json5": "^2.1.2",
45 | "lodash": "^4.17.13",
46 | "resolve": "^1.3.2",
47 | "semver": "^5.4.1",
48 | "source-map": "^0.5.0"
49 | }
50 | },
51 | "@babel/generator": {
52 | "version": "7.9.5",
53 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.5.tgz",
54 | "integrity": "sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==",
55 | "dev": true,
56 | "requires": {
57 | "@babel/types": "^7.9.5",
58 | "jsesc": "^2.5.1",
59 | "lodash": "^4.17.13",
60 | "source-map": "^0.5.0"
61 | }
62 | },
63 | "@babel/helper-annotate-as-pure": {
64 | "version": "7.8.3",
65 | "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
66 | "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
67 | "dev": true,
68 | "requires": {
69 | "@babel/types": "^7.8.3"
70 | }
71 | },
72 | "@babel/helper-builder-binary-assignment-operator-visitor": {
73 | "version": "7.8.3",
74 | "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz",
75 | "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==",
76 | "dev": true,
77 | "requires": {
78 | "@babel/helper-explode-assignable-expression": "^7.8.3",
79 | "@babel/types": "^7.8.3"
80 | }
81 | },
82 | "@babel/helper-builder-react-jsx": {
83 | "version": "7.9.0",
84 | "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz",
85 | "integrity": "sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw==",
86 | "dev": true,
87 | "requires": {
88 | "@babel/helper-annotate-as-pure": "^7.8.3",
89 | "@babel/types": "^7.9.0"
90 | }
91 | },
92 | "@babel/helper-builder-react-jsx-experimental": {
93 | "version": "7.9.5",
94 | "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.5.tgz",
95 | "integrity": "sha512-HAagjAC93tk748jcXpZ7oYRZH485RCq/+yEv9SIWezHRPv9moZArTnkUNciUNzvwHUABmiWKlcxJvMcu59UwTg==",
96 | "dev": true,
97 | "requires": {
98 | "@babel/helper-annotate-as-pure": "^7.8.3",
99 | "@babel/helper-module-imports": "^7.8.3",
100 | "@babel/types": "^7.9.5"
101 | }
102 | },
103 | "@babel/helper-compilation-targets": {
104 | "version": "7.8.7",
105 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz",
106 | "integrity": "sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw==",
107 | "dev": true,
108 | "requires": {
109 | "@babel/compat-data": "^7.8.6",
110 | "browserslist": "^4.9.1",
111 | "invariant": "^2.2.4",
112 | "levenary": "^1.1.1",
113 | "semver": "^5.5.0"
114 | }
115 | },
116 | "@babel/helper-create-regexp-features-plugin": {
117 | "version": "7.8.8",
118 | "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz",
119 | "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==",
120 | "dev": true,
121 | "requires": {
122 | "@babel/helper-annotate-as-pure": "^7.8.3",
123 | "@babel/helper-regex": "^7.8.3",
124 | "regexpu-core": "^4.7.0"
125 | }
126 | },
127 | "@babel/helper-define-map": {
128 | "version": "7.8.3",
129 | "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz",
130 | "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==",
131 | "dev": true,
132 | "requires": {
133 | "@babel/helper-function-name": "^7.8.3",
134 | "@babel/types": "^7.8.3",
135 | "lodash": "^4.17.13"
136 | }
137 | },
138 | "@babel/helper-explode-assignable-expression": {
139 | "version": "7.8.3",
140 | "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz",
141 | "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==",
142 | "dev": true,
143 | "requires": {
144 | "@babel/traverse": "^7.8.3",
145 | "@babel/types": "^7.8.3"
146 | }
147 | },
148 | "@babel/helper-function-name": {
149 | "version": "7.9.5",
150 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz",
151 | "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==",
152 | "dev": true,
153 | "requires": {
154 | "@babel/helper-get-function-arity": "^7.8.3",
155 | "@babel/template": "^7.8.3",
156 | "@babel/types": "^7.9.5"
157 | }
158 | },
159 | "@babel/helper-get-function-arity": {
160 | "version": "7.8.3",
161 | "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
162 | "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
163 | "dev": true,
164 | "requires": {
165 | "@babel/types": "^7.8.3"
166 | }
167 | },
168 | "@babel/helper-hoist-variables": {
169 | "version": "7.8.3",
170 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz",
171 | "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==",
172 | "dev": true,
173 | "requires": {
174 | "@babel/types": "^7.8.3"
175 | }
176 | },
177 | "@babel/helper-member-expression-to-functions": {
178 | "version": "7.8.3",
179 | "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
180 | "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
181 | "dev": true,
182 | "requires": {
183 | "@babel/types": "^7.8.3"
184 | }
185 | },
186 | "@babel/helper-module-imports": {
187 | "version": "7.8.3",
188 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
189 | "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
190 | "dev": true,
191 | "requires": {
192 | "@babel/types": "^7.8.3"
193 | }
194 | },
195 | "@babel/helper-module-transforms": {
196 | "version": "7.9.0",
197 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz",
198 | "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==",
199 | "dev": true,
200 | "requires": {
201 | "@babel/helper-module-imports": "^7.8.3",
202 | "@babel/helper-replace-supers": "^7.8.6",
203 | "@babel/helper-simple-access": "^7.8.3",
204 | "@babel/helper-split-export-declaration": "^7.8.3",
205 | "@babel/template": "^7.8.6",
206 | "@babel/types": "^7.9.0",
207 | "lodash": "^4.17.13"
208 | }
209 | },
210 | "@babel/helper-optimise-call-expression": {
211 | "version": "7.8.3",
212 | "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
213 | "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
214 | "dev": true,
215 | "requires": {
216 | "@babel/types": "^7.8.3"
217 | }
218 | },
219 | "@babel/helper-plugin-utils": {
220 | "version": "7.8.3",
221 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
222 | "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
223 | "dev": true
224 | },
225 | "@babel/helper-regex": {
226 | "version": "7.8.3",
227 | "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
228 | "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
229 | "dev": true,
230 | "requires": {
231 | "lodash": "^4.17.13"
232 | }
233 | },
234 | "@babel/helper-remap-async-to-generator": {
235 | "version": "7.8.3",
236 | "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz",
237 | "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==",
238 | "dev": true,
239 | "requires": {
240 | "@babel/helper-annotate-as-pure": "^7.8.3",
241 | "@babel/helper-wrap-function": "^7.8.3",
242 | "@babel/template": "^7.8.3",
243 | "@babel/traverse": "^7.8.3",
244 | "@babel/types": "^7.8.3"
245 | }
246 | },
247 | "@babel/helper-replace-supers": {
248 | "version": "7.8.6",
249 | "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz",
250 | "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==",
251 | "dev": true,
252 | "requires": {
253 | "@babel/helper-member-expression-to-functions": "^7.8.3",
254 | "@babel/helper-optimise-call-expression": "^7.8.3",
255 | "@babel/traverse": "^7.8.6",
256 | "@babel/types": "^7.8.6"
257 | }
258 | },
259 | "@babel/helper-simple-access": {
260 | "version": "7.8.3",
261 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
262 | "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
263 | "dev": true,
264 | "requires": {
265 | "@babel/template": "^7.8.3",
266 | "@babel/types": "^7.8.3"
267 | }
268 | },
269 | "@babel/helper-split-export-declaration": {
270 | "version": "7.8.3",
271 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
272 | "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
273 | "dev": true,
274 | "requires": {
275 | "@babel/types": "^7.8.3"
276 | }
277 | },
278 | "@babel/helper-validator-identifier": {
279 | "version": "7.9.5",
280 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz",
281 | "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==",
282 | "dev": true
283 | },
284 | "@babel/helper-wrap-function": {
285 | "version": "7.8.3",
286 | "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz",
287 | "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==",
288 | "dev": true,
289 | "requires": {
290 | "@babel/helper-function-name": "^7.8.3",
291 | "@babel/template": "^7.8.3",
292 | "@babel/traverse": "^7.8.3",
293 | "@babel/types": "^7.8.3"
294 | }
295 | },
296 | "@babel/helpers": {
297 | "version": "7.9.2",
298 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.2.tgz",
299 | "integrity": "sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA==",
300 | "dev": true,
301 | "requires": {
302 | "@babel/template": "^7.8.3",
303 | "@babel/traverse": "^7.9.0",
304 | "@babel/types": "^7.9.0"
305 | }
306 | },
307 | "@babel/highlight": {
308 | "version": "7.9.0",
309 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
310 | "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
311 | "dev": true,
312 | "requires": {
313 | "@babel/helper-validator-identifier": "^7.9.0",
314 | "chalk": "^2.0.0",
315 | "js-tokens": "^4.0.0"
316 | }
317 | },
318 | "@babel/parser": {
319 | "version": "7.9.4",
320 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz",
321 | "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==",
322 | "dev": true
323 | },
324 | "@babel/plugin-proposal-async-generator-functions": {
325 | "version": "7.8.3",
326 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz",
327 | "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==",
328 | "dev": true,
329 | "requires": {
330 | "@babel/helper-plugin-utils": "^7.8.3",
331 | "@babel/helper-remap-async-to-generator": "^7.8.3",
332 | "@babel/plugin-syntax-async-generators": "^7.8.0"
333 | }
334 | },
335 | "@babel/plugin-proposal-dynamic-import": {
336 | "version": "7.8.3",
337 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz",
338 | "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==",
339 | "dev": true,
340 | "requires": {
341 | "@babel/helper-plugin-utils": "^7.8.3",
342 | "@babel/plugin-syntax-dynamic-import": "^7.8.0"
343 | }
344 | },
345 | "@babel/plugin-proposal-json-strings": {
346 | "version": "7.8.3",
347 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz",
348 | "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==",
349 | "dev": true,
350 | "requires": {
351 | "@babel/helper-plugin-utils": "^7.8.3",
352 | "@babel/plugin-syntax-json-strings": "^7.8.0"
353 | }
354 | },
355 | "@babel/plugin-proposal-nullish-coalescing-operator": {
356 | "version": "7.8.3",
357 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz",
358 | "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==",
359 | "dev": true,
360 | "requires": {
361 | "@babel/helper-plugin-utils": "^7.8.3",
362 | "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
363 | }
364 | },
365 | "@babel/plugin-proposal-numeric-separator": {
366 | "version": "7.8.3",
367 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz",
368 | "integrity": "sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==",
369 | "dev": true,
370 | "requires": {
371 | "@babel/helper-plugin-utils": "^7.8.3",
372 | "@babel/plugin-syntax-numeric-separator": "^7.8.3"
373 | }
374 | },
375 | "@babel/plugin-proposal-object-rest-spread": {
376 | "version": "7.9.5",
377 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.5.tgz",
378 | "integrity": "sha512-VP2oXvAf7KCYTthbUHwBlewbl1Iq059f6seJGsxMizaCdgHIeczOr7FBqELhSqfkIl04Fi8okzWzl63UKbQmmg==",
379 | "dev": true,
380 | "requires": {
381 | "@babel/helper-plugin-utils": "^7.8.3",
382 | "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
383 | "@babel/plugin-transform-parameters": "^7.9.5"
384 | }
385 | },
386 | "@babel/plugin-proposal-optional-catch-binding": {
387 | "version": "7.8.3",
388 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz",
389 | "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==",
390 | "dev": true,
391 | "requires": {
392 | "@babel/helper-plugin-utils": "^7.8.3",
393 | "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
394 | }
395 | },
396 | "@babel/plugin-proposal-optional-chaining": {
397 | "version": "7.9.0",
398 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz",
399 | "integrity": "sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==",
400 | "dev": true,
401 | "requires": {
402 | "@babel/helper-plugin-utils": "^7.8.3",
403 | "@babel/plugin-syntax-optional-chaining": "^7.8.0"
404 | }
405 | },
406 | "@babel/plugin-proposal-unicode-property-regex": {
407 | "version": "7.8.8",
408 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz",
409 | "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==",
410 | "dev": true,
411 | "requires": {
412 | "@babel/helper-create-regexp-features-plugin": "^7.8.8",
413 | "@babel/helper-plugin-utils": "^7.8.3"
414 | }
415 | },
416 | "@babel/plugin-syntax-async-generators": {
417 | "version": "7.8.4",
418 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
419 | "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
420 | "dev": true,
421 | "requires": {
422 | "@babel/helper-plugin-utils": "^7.8.0"
423 | }
424 | },
425 | "@babel/plugin-syntax-dynamic-import": {
426 | "version": "7.8.3",
427 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
428 | "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
429 | "dev": true,
430 | "requires": {
431 | "@babel/helper-plugin-utils": "^7.8.0"
432 | }
433 | },
434 | "@babel/plugin-syntax-json-strings": {
435 | "version": "7.8.3",
436 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
437 | "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
438 | "dev": true,
439 | "requires": {
440 | "@babel/helper-plugin-utils": "^7.8.0"
441 | }
442 | },
443 | "@babel/plugin-syntax-jsx": {
444 | "version": "7.8.3",
445 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz",
446 | "integrity": "sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A==",
447 | "dev": true,
448 | "requires": {
449 | "@babel/helper-plugin-utils": "^7.8.3"
450 | }
451 | },
452 | "@babel/plugin-syntax-nullish-coalescing-operator": {
453 | "version": "7.8.3",
454 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
455 | "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
456 | "dev": true,
457 | "requires": {
458 | "@babel/helper-plugin-utils": "^7.8.0"
459 | }
460 | },
461 | "@babel/plugin-syntax-numeric-separator": {
462 | "version": "7.8.3",
463 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz",
464 | "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==",
465 | "dev": true,
466 | "requires": {
467 | "@babel/helper-plugin-utils": "^7.8.3"
468 | }
469 | },
470 | "@babel/plugin-syntax-object-rest-spread": {
471 | "version": "7.8.3",
472 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
473 | "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
474 | "dev": true,
475 | "requires": {
476 | "@babel/helper-plugin-utils": "^7.8.0"
477 | }
478 | },
479 | "@babel/plugin-syntax-optional-catch-binding": {
480 | "version": "7.8.3",
481 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
482 | "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
483 | "dev": true,
484 | "requires": {
485 | "@babel/helper-plugin-utils": "^7.8.0"
486 | }
487 | },
488 | "@babel/plugin-syntax-optional-chaining": {
489 | "version": "7.8.3",
490 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
491 | "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
492 | "dev": true,
493 | "requires": {
494 | "@babel/helper-plugin-utils": "^7.8.0"
495 | }
496 | },
497 | "@babel/plugin-syntax-top-level-await": {
498 | "version": "7.8.3",
499 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz",
500 | "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==",
501 | "dev": true,
502 | "requires": {
503 | "@babel/helper-plugin-utils": "^7.8.3"
504 | }
505 | },
506 | "@babel/plugin-transform-arrow-functions": {
507 | "version": "7.8.3",
508 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz",
509 | "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==",
510 | "dev": true,
511 | "requires": {
512 | "@babel/helper-plugin-utils": "^7.8.3"
513 | }
514 | },
515 | "@babel/plugin-transform-async-to-generator": {
516 | "version": "7.8.3",
517 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz",
518 | "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==",
519 | "dev": true,
520 | "requires": {
521 | "@babel/helper-module-imports": "^7.8.3",
522 | "@babel/helper-plugin-utils": "^7.8.3",
523 | "@babel/helper-remap-async-to-generator": "^7.8.3"
524 | }
525 | },
526 | "@babel/plugin-transform-block-scoped-functions": {
527 | "version": "7.8.3",
528 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz",
529 | "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==",
530 | "dev": true,
531 | "requires": {
532 | "@babel/helper-plugin-utils": "^7.8.3"
533 | }
534 | },
535 | "@babel/plugin-transform-block-scoping": {
536 | "version": "7.8.3",
537 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz",
538 | "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==",
539 | "dev": true,
540 | "requires": {
541 | "@babel/helper-plugin-utils": "^7.8.3",
542 | "lodash": "^4.17.13"
543 | }
544 | },
545 | "@babel/plugin-transform-classes": {
546 | "version": "7.9.5",
547 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz",
548 | "integrity": "sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==",
549 | "dev": true,
550 | "requires": {
551 | "@babel/helper-annotate-as-pure": "^7.8.3",
552 | "@babel/helper-define-map": "^7.8.3",
553 | "@babel/helper-function-name": "^7.9.5",
554 | "@babel/helper-optimise-call-expression": "^7.8.3",
555 | "@babel/helper-plugin-utils": "^7.8.3",
556 | "@babel/helper-replace-supers": "^7.8.6",
557 | "@babel/helper-split-export-declaration": "^7.8.3",
558 | "globals": "^11.1.0"
559 | }
560 | },
561 | "@babel/plugin-transform-computed-properties": {
562 | "version": "7.8.3",
563 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz",
564 | "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==",
565 | "dev": true,
566 | "requires": {
567 | "@babel/helper-plugin-utils": "^7.8.3"
568 | }
569 | },
570 | "@babel/plugin-transform-destructuring": {
571 | "version": "7.9.5",
572 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz",
573 | "integrity": "sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==",
574 | "dev": true,
575 | "requires": {
576 | "@babel/helper-plugin-utils": "^7.8.3"
577 | }
578 | },
579 | "@babel/plugin-transform-dotall-regex": {
580 | "version": "7.8.3",
581 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz",
582 | "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==",
583 | "dev": true,
584 | "requires": {
585 | "@babel/helper-create-regexp-features-plugin": "^7.8.3",
586 | "@babel/helper-plugin-utils": "^7.8.3"
587 | }
588 | },
589 | "@babel/plugin-transform-duplicate-keys": {
590 | "version": "7.8.3",
591 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz",
592 | "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==",
593 | "dev": true,
594 | "requires": {
595 | "@babel/helper-plugin-utils": "^7.8.3"
596 | }
597 | },
598 | "@babel/plugin-transform-exponentiation-operator": {
599 | "version": "7.8.3",
600 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz",
601 | "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==",
602 | "dev": true,
603 | "requires": {
604 | "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3",
605 | "@babel/helper-plugin-utils": "^7.8.3"
606 | }
607 | },
608 | "@babel/plugin-transform-for-of": {
609 | "version": "7.9.0",
610 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz",
611 | "integrity": "sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==",
612 | "dev": true,
613 | "requires": {
614 | "@babel/helper-plugin-utils": "^7.8.3"
615 | }
616 | },
617 | "@babel/plugin-transform-function-name": {
618 | "version": "7.8.3",
619 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz",
620 | "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==",
621 | "dev": true,
622 | "requires": {
623 | "@babel/helper-function-name": "^7.8.3",
624 | "@babel/helper-plugin-utils": "^7.8.3"
625 | }
626 | },
627 | "@babel/plugin-transform-literals": {
628 | "version": "7.8.3",
629 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz",
630 | "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==",
631 | "dev": true,
632 | "requires": {
633 | "@babel/helper-plugin-utils": "^7.8.3"
634 | }
635 | },
636 | "@babel/plugin-transform-member-expression-literals": {
637 | "version": "7.8.3",
638 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz",
639 | "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==",
640 | "dev": true,
641 | "requires": {
642 | "@babel/helper-plugin-utils": "^7.8.3"
643 | }
644 | },
645 | "@babel/plugin-transform-modules-amd": {
646 | "version": "7.9.0",
647 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.0.tgz",
648 | "integrity": "sha512-vZgDDF003B14O8zJy0XXLnPH4sg+9X5hFBBGN1V+B2rgrB+J2xIypSN6Rk9imB2hSTHQi5OHLrFWsZab1GMk+Q==",
649 | "dev": true,
650 | "requires": {
651 | "@babel/helper-module-transforms": "^7.9.0",
652 | "@babel/helper-plugin-utils": "^7.8.3",
653 | "babel-plugin-dynamic-import-node": "^2.3.0"
654 | }
655 | },
656 | "@babel/plugin-transform-modules-commonjs": {
657 | "version": "7.9.0",
658 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.0.tgz",
659 | "integrity": "sha512-qzlCrLnKqio4SlgJ6FMMLBe4bySNis8DFn1VkGmOcxG9gqEyPIOzeQrA//u0HAKrWpJlpZbZMPB1n/OPa4+n8g==",
660 | "dev": true,
661 | "requires": {
662 | "@babel/helper-module-transforms": "^7.9.0",
663 | "@babel/helper-plugin-utils": "^7.8.3",
664 | "@babel/helper-simple-access": "^7.8.3",
665 | "babel-plugin-dynamic-import-node": "^2.3.0"
666 | }
667 | },
668 | "@babel/plugin-transform-modules-systemjs": {
669 | "version": "7.9.0",
670 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.0.tgz",
671 | "integrity": "sha512-FsiAv/nao/ud2ZWy4wFacoLOm5uxl0ExSQ7ErvP7jpoihLR6Cq90ilOFyX9UXct3rbtKsAiZ9kFt5XGfPe/5SQ==",
672 | "dev": true,
673 | "requires": {
674 | "@babel/helper-hoist-variables": "^7.8.3",
675 | "@babel/helper-module-transforms": "^7.9.0",
676 | "@babel/helper-plugin-utils": "^7.8.3",
677 | "babel-plugin-dynamic-import-node": "^2.3.0"
678 | }
679 | },
680 | "@babel/plugin-transform-modules-umd": {
681 | "version": "7.9.0",
682 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz",
683 | "integrity": "sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==",
684 | "dev": true,
685 | "requires": {
686 | "@babel/helper-module-transforms": "^7.9.0",
687 | "@babel/helper-plugin-utils": "^7.8.3"
688 | }
689 | },
690 | "@babel/plugin-transform-named-capturing-groups-regex": {
691 | "version": "7.8.3",
692 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz",
693 | "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==",
694 | "dev": true,
695 | "requires": {
696 | "@babel/helper-create-regexp-features-plugin": "^7.8.3"
697 | }
698 | },
699 | "@babel/plugin-transform-new-target": {
700 | "version": "7.8.3",
701 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz",
702 | "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==",
703 | "dev": true,
704 | "requires": {
705 | "@babel/helper-plugin-utils": "^7.8.3"
706 | }
707 | },
708 | "@babel/plugin-transform-object-super": {
709 | "version": "7.8.3",
710 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz",
711 | "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==",
712 | "dev": true,
713 | "requires": {
714 | "@babel/helper-plugin-utils": "^7.8.3",
715 | "@babel/helper-replace-supers": "^7.8.3"
716 | }
717 | },
718 | "@babel/plugin-transform-parameters": {
719 | "version": "7.9.5",
720 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz",
721 | "integrity": "sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==",
722 | "dev": true,
723 | "requires": {
724 | "@babel/helper-get-function-arity": "^7.8.3",
725 | "@babel/helper-plugin-utils": "^7.8.3"
726 | }
727 | },
728 | "@babel/plugin-transform-property-literals": {
729 | "version": "7.8.3",
730 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz",
731 | "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==",
732 | "dev": true,
733 | "requires": {
734 | "@babel/helper-plugin-utils": "^7.8.3"
735 | }
736 | },
737 | "@babel/plugin-transform-react-display-name": {
738 | "version": "7.8.3",
739 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz",
740 | "integrity": "sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A==",
741 | "dev": true,
742 | "requires": {
743 | "@babel/helper-plugin-utils": "^7.8.3"
744 | }
745 | },
746 | "@babel/plugin-transform-react-jsx": {
747 | "version": "7.9.4",
748 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz",
749 | "integrity": "sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw==",
750 | "dev": true,
751 | "requires": {
752 | "@babel/helper-builder-react-jsx": "^7.9.0",
753 | "@babel/helper-builder-react-jsx-experimental": "^7.9.0",
754 | "@babel/helper-plugin-utils": "^7.8.3",
755 | "@babel/plugin-syntax-jsx": "^7.8.3"
756 | }
757 | },
758 | "@babel/plugin-transform-react-jsx-development": {
759 | "version": "7.9.0",
760 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz",
761 | "integrity": "sha512-tK8hWKrQncVvrhvtOiPpKrQjfNX3DtkNLSX4ObuGcpS9p0QrGetKmlySIGR07y48Zft8WVgPakqd/bk46JrMSw==",
762 | "dev": true,
763 | "requires": {
764 | "@babel/helper-builder-react-jsx-experimental": "^7.9.0",
765 | "@babel/helper-plugin-utils": "^7.8.3",
766 | "@babel/plugin-syntax-jsx": "^7.8.3"
767 | }
768 | },
769 | "@babel/plugin-transform-react-jsx-self": {
770 | "version": "7.9.0",
771 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz",
772 | "integrity": "sha512-K2ObbWPKT7KUTAoyjCsFilOkEgMvFG+y0FqOl6Lezd0/13kMkkjHskVsZvblRPj1PHA44PrToaZANrryppzTvQ==",
773 | "dev": true,
774 | "requires": {
775 | "@babel/helper-plugin-utils": "^7.8.3",
776 | "@babel/plugin-syntax-jsx": "^7.8.3"
777 | }
778 | },
779 | "@babel/plugin-transform-react-jsx-source": {
780 | "version": "7.9.0",
781 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz",
782 | "integrity": "sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw==",
783 | "dev": true,
784 | "requires": {
785 | "@babel/helper-plugin-utils": "^7.8.3",
786 | "@babel/plugin-syntax-jsx": "^7.8.3"
787 | }
788 | },
789 | "@babel/plugin-transform-regenerator": {
790 | "version": "7.8.7",
791 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz",
792 | "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==",
793 | "dev": true,
794 | "requires": {
795 | "regenerator-transform": "^0.14.2"
796 | }
797 | },
798 | "@babel/plugin-transform-reserved-words": {
799 | "version": "7.8.3",
800 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz",
801 | "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==",
802 | "dev": true,
803 | "requires": {
804 | "@babel/helper-plugin-utils": "^7.8.3"
805 | }
806 | },
807 | "@babel/plugin-transform-shorthand-properties": {
808 | "version": "7.8.3",
809 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz",
810 | "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==",
811 | "dev": true,
812 | "requires": {
813 | "@babel/helper-plugin-utils": "^7.8.3"
814 | }
815 | },
816 | "@babel/plugin-transform-spread": {
817 | "version": "7.8.3",
818 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz",
819 | "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==",
820 | "dev": true,
821 | "requires": {
822 | "@babel/helper-plugin-utils": "^7.8.3"
823 | }
824 | },
825 | "@babel/plugin-transform-sticky-regex": {
826 | "version": "7.8.3",
827 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz",
828 | "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==",
829 | "dev": true,
830 | "requires": {
831 | "@babel/helper-plugin-utils": "^7.8.3",
832 | "@babel/helper-regex": "^7.8.3"
833 | }
834 | },
835 | "@babel/plugin-transform-template-literals": {
836 | "version": "7.8.3",
837 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz",
838 | "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==",
839 | "dev": true,
840 | "requires": {
841 | "@babel/helper-annotate-as-pure": "^7.8.3",
842 | "@babel/helper-plugin-utils": "^7.8.3"
843 | }
844 | },
845 | "@babel/plugin-transform-typeof-symbol": {
846 | "version": "7.8.4",
847 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz",
848 | "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==",
849 | "dev": true,
850 | "requires": {
851 | "@babel/helper-plugin-utils": "^7.8.3"
852 | }
853 | },
854 | "@babel/plugin-transform-unicode-regex": {
855 | "version": "7.8.3",
856 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz",
857 | "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==",
858 | "dev": true,
859 | "requires": {
860 | "@babel/helper-create-regexp-features-plugin": "^7.8.3",
861 | "@babel/helper-plugin-utils": "^7.8.3"
862 | }
863 | },
864 | "@babel/preset-env": {
865 | "version": "7.9.5",
866 | "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.5.tgz",
867 | "integrity": "sha512-eWGYeADTlPJH+wq1F0wNfPbVS1w1wtmMJiYk55Td5Yu28AsdR9AsC97sZ0Qq8fHqQuslVSIYSGJMcblr345GfQ==",
868 | "dev": true,
869 | "requires": {
870 | "@babel/compat-data": "^7.9.0",
871 | "@babel/helper-compilation-targets": "^7.8.7",
872 | "@babel/helper-module-imports": "^7.8.3",
873 | "@babel/helper-plugin-utils": "^7.8.3",
874 | "@babel/plugin-proposal-async-generator-functions": "^7.8.3",
875 | "@babel/plugin-proposal-dynamic-import": "^7.8.3",
876 | "@babel/plugin-proposal-json-strings": "^7.8.3",
877 | "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3",
878 | "@babel/plugin-proposal-numeric-separator": "^7.8.3",
879 | "@babel/plugin-proposal-object-rest-spread": "^7.9.5",
880 | "@babel/plugin-proposal-optional-catch-binding": "^7.8.3",
881 | "@babel/plugin-proposal-optional-chaining": "^7.9.0",
882 | "@babel/plugin-proposal-unicode-property-regex": "^7.8.3",
883 | "@babel/plugin-syntax-async-generators": "^7.8.0",
884 | "@babel/plugin-syntax-dynamic-import": "^7.8.0",
885 | "@babel/plugin-syntax-json-strings": "^7.8.0",
886 | "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
887 | "@babel/plugin-syntax-numeric-separator": "^7.8.0",
888 | "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
889 | "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
890 | "@babel/plugin-syntax-optional-chaining": "^7.8.0",
891 | "@babel/plugin-syntax-top-level-await": "^7.8.3",
892 | "@babel/plugin-transform-arrow-functions": "^7.8.3",
893 | "@babel/plugin-transform-async-to-generator": "^7.8.3",
894 | "@babel/plugin-transform-block-scoped-functions": "^7.8.3",
895 | "@babel/plugin-transform-block-scoping": "^7.8.3",
896 | "@babel/plugin-transform-classes": "^7.9.5",
897 | "@babel/plugin-transform-computed-properties": "^7.8.3",
898 | "@babel/plugin-transform-destructuring": "^7.9.5",
899 | "@babel/plugin-transform-dotall-regex": "^7.8.3",
900 | "@babel/plugin-transform-duplicate-keys": "^7.8.3",
901 | "@babel/plugin-transform-exponentiation-operator": "^7.8.3",
902 | "@babel/plugin-transform-for-of": "^7.9.0",
903 | "@babel/plugin-transform-function-name": "^7.8.3",
904 | "@babel/plugin-transform-literals": "^7.8.3",
905 | "@babel/plugin-transform-member-expression-literals": "^7.8.3",
906 | "@babel/plugin-transform-modules-amd": "^7.9.0",
907 | "@babel/plugin-transform-modules-commonjs": "^7.9.0",
908 | "@babel/plugin-transform-modules-systemjs": "^7.9.0",
909 | "@babel/plugin-transform-modules-umd": "^7.9.0",
910 | "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3",
911 | "@babel/plugin-transform-new-target": "^7.8.3",
912 | "@babel/plugin-transform-object-super": "^7.8.3",
913 | "@babel/plugin-transform-parameters": "^7.9.5",
914 | "@babel/plugin-transform-property-literals": "^7.8.3",
915 | "@babel/plugin-transform-regenerator": "^7.8.7",
916 | "@babel/plugin-transform-reserved-words": "^7.8.3",
917 | "@babel/plugin-transform-shorthand-properties": "^7.8.3",
918 | "@babel/plugin-transform-spread": "^7.8.3",
919 | "@babel/plugin-transform-sticky-regex": "^7.8.3",
920 | "@babel/plugin-transform-template-literals": "^7.8.3",
921 | "@babel/plugin-transform-typeof-symbol": "^7.8.4",
922 | "@babel/plugin-transform-unicode-regex": "^7.8.3",
923 | "@babel/preset-modules": "^0.1.3",
924 | "@babel/types": "^7.9.5",
925 | "browserslist": "^4.9.1",
926 | "core-js-compat": "^3.6.2",
927 | "invariant": "^2.2.2",
928 | "levenary": "^1.1.1",
929 | "semver": "^5.5.0"
930 | }
931 | },
932 | "@babel/preset-modules": {
933 | "version": "0.1.3",
934 | "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz",
935 | "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==",
936 | "dev": true,
937 | "requires": {
938 | "@babel/helper-plugin-utils": "^7.0.0",
939 | "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
940 | "@babel/plugin-transform-dotall-regex": "^7.4.4",
941 | "@babel/types": "^7.4.4",
942 | "esutils": "^2.0.2"
943 | }
944 | },
945 | "@babel/preset-react": {
946 | "version": "7.9.4",
947 | "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.9.4.tgz",
948 | "integrity": "sha512-AxylVB3FXeOTQXNXyiuAQJSvss62FEotbX2Pzx3K/7c+MKJMdSg6Ose6QYllkdCFA8EInCJVw7M/o5QbLuA4ZQ==",
949 | "dev": true,
950 | "requires": {
951 | "@babel/helper-plugin-utils": "^7.8.3",
952 | "@babel/plugin-transform-react-display-name": "^7.8.3",
953 | "@babel/plugin-transform-react-jsx": "^7.9.4",
954 | "@babel/plugin-transform-react-jsx-development": "^7.9.0",
955 | "@babel/plugin-transform-react-jsx-self": "^7.9.0",
956 | "@babel/plugin-transform-react-jsx-source": "^7.9.0"
957 | }
958 | },
959 | "@babel/runtime": {
960 | "version": "7.9.2",
961 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz",
962 | "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==",
963 | "dev": true,
964 | "requires": {
965 | "regenerator-runtime": "^0.13.4"
966 | }
967 | },
968 | "@babel/template": {
969 | "version": "7.8.6",
970 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
971 | "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
972 | "dev": true,
973 | "requires": {
974 | "@babel/code-frame": "^7.8.3",
975 | "@babel/parser": "^7.8.6",
976 | "@babel/types": "^7.8.6"
977 | }
978 | },
979 | "@babel/traverse": {
980 | "version": "7.9.5",
981 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz",
982 | "integrity": "sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==",
983 | "dev": true,
984 | "requires": {
985 | "@babel/code-frame": "^7.8.3",
986 | "@babel/generator": "^7.9.5",
987 | "@babel/helper-function-name": "^7.9.5",
988 | "@babel/helper-split-export-declaration": "^7.8.3",
989 | "@babel/parser": "^7.9.0",
990 | "@babel/types": "^7.9.5",
991 | "debug": "^4.1.0",
992 | "globals": "^11.1.0",
993 | "lodash": "^4.17.13"
994 | }
995 | },
996 | "@babel/types": {
997 | "version": "7.9.5",
998 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz",
999 | "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==",
1000 | "dev": true,
1001 | "requires": {
1002 | "@babel/helper-validator-identifier": "^7.9.5",
1003 | "lodash": "^4.17.13",
1004 | "to-fast-properties": "^2.0.0"
1005 | }
1006 | },
1007 | "@rollup/plugin-commonjs": {
1008 | "version": "11.1.0",
1009 | "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz",
1010 | "integrity": "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==",
1011 | "dev": true,
1012 | "requires": {
1013 | "@rollup/pluginutils": "^3.0.8",
1014 | "commondir": "^1.0.1",
1015 | "estree-walker": "^1.0.1",
1016 | "glob": "^7.1.2",
1017 | "is-reference": "^1.1.2",
1018 | "magic-string": "^0.25.2",
1019 | "resolve": "^1.11.0"
1020 | }
1021 | },
1022 | "@rollup/plugin-node-resolve": {
1023 | "version": "7.1.3",
1024 | "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz",
1025 | "integrity": "sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==",
1026 | "dev": true,
1027 | "requires": {
1028 | "@rollup/pluginutils": "^3.0.8",
1029 | "@types/resolve": "0.0.8",
1030 | "builtin-modules": "^3.1.0",
1031 | "is-module": "^1.0.0",
1032 | "resolve": "^1.14.2"
1033 | }
1034 | },
1035 | "@rollup/pluginutils": {
1036 | "version": "3.0.9",
1037 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.0.9.tgz",
1038 | "integrity": "sha512-TLZavlfPAZYI7v33wQh4mTP6zojne14yok3DNSLcjoG/Hirxfkonn6icP5rrNWRn8nZsirJBFFpijVOJzkUHDg==",
1039 | "dev": true,
1040 | "requires": {
1041 | "@types/estree": "0.0.39",
1042 | "estree-walker": "^1.0.1",
1043 | "micromatch": "^4.0.2"
1044 | }
1045 | },
1046 | "@types/estree": {
1047 | "version": "0.0.39",
1048 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
1049 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
1050 | "dev": true
1051 | },
1052 | "@types/node": {
1053 | "version": "13.13.0",
1054 | "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.0.tgz",
1055 | "integrity": "sha512-WE4IOAC6r/yBZss1oQGM5zs2D7RuKR6Q+w+X2SouPofnWn+LbCqClRyhO3ZE7Ix8nmFgo/oVuuE01cJT2XB13A==",
1056 | "dev": true
1057 | },
1058 | "@types/resolve": {
1059 | "version": "0.0.8",
1060 | "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
1061 | "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==",
1062 | "dev": true,
1063 | "requires": {
1064 | "@types/node": "*"
1065 | }
1066 | },
1067 | "ansi-regex": {
1068 | "version": "2.1.1",
1069 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
1070 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
1071 | "dev": true
1072 | },
1073 | "ansi-styles": {
1074 | "version": "3.2.1",
1075 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
1076 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
1077 | "dev": true,
1078 | "requires": {
1079 | "color-convert": "^1.9.0"
1080 | }
1081 | },
1082 | "async": {
1083 | "version": "2.6.3",
1084 | "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
1085 | "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
1086 | "dev": true,
1087 | "requires": {
1088 | "lodash": "^4.17.14"
1089 | }
1090 | },
1091 | "babel-plugin-dynamic-import-node": {
1092 | "version": "2.3.0",
1093 | "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz",
1094 | "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==",
1095 | "dev": true,
1096 | "requires": {
1097 | "object.assign": "^4.1.0"
1098 | }
1099 | },
1100 | "balanced-match": {
1101 | "version": "1.0.0",
1102 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
1103 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
1104 | "dev": true
1105 | },
1106 | "basic-auth": {
1107 | "version": "1.1.0",
1108 | "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.1.0.tgz",
1109 | "integrity": "sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ=",
1110 | "dev": true
1111 | },
1112 | "brace-expansion": {
1113 | "version": "1.1.11",
1114 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1115 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
1116 | "dev": true,
1117 | "requires": {
1118 | "balanced-match": "^1.0.0",
1119 | "concat-map": "0.0.1"
1120 | }
1121 | },
1122 | "braces": {
1123 | "version": "3.0.2",
1124 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
1125 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
1126 | "dev": true,
1127 | "requires": {
1128 | "fill-range": "^7.0.1"
1129 | }
1130 | },
1131 | "browserslist": {
1132 | "version": "4.11.1",
1133 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.11.1.tgz",
1134 | "integrity": "sha512-DCTr3kDrKEYNw6Jb9HFxVLQNaue8z+0ZfRBRjmCunKDEXEBajKDj2Y+Uelg+Pi29OnvaSGwjOsnRyNEkXzHg5g==",
1135 | "dev": true,
1136 | "requires": {
1137 | "caniuse-lite": "^1.0.30001038",
1138 | "electron-to-chromium": "^1.3.390",
1139 | "node-releases": "^1.1.53",
1140 | "pkg-up": "^2.0.0"
1141 | }
1142 | },
1143 | "buffer-from": {
1144 | "version": "1.1.1",
1145 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
1146 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
1147 | "dev": true
1148 | },
1149 | "builtin-modules": {
1150 | "version": "3.1.0",
1151 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz",
1152 | "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==",
1153 | "dev": true
1154 | },
1155 | "caniuse-lite": {
1156 | "version": "1.0.30001043",
1157 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001043.tgz",
1158 | "integrity": "sha512-MrBDRPJPDBYwACtSQvxg9+fkna5jPXhJlKmuxenl/ml9uf8LHKlDmLpElu+zTW/bEz7lC1m0wTDD7jiIB+hgFg==",
1159 | "dev": true
1160 | },
1161 | "chalk": {
1162 | "version": "2.4.2",
1163 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1164 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1165 | "dev": true,
1166 | "requires": {
1167 | "ansi-styles": "^3.2.1",
1168 | "escape-string-regexp": "^1.0.5",
1169 | "supports-color": "^5.3.0"
1170 | }
1171 | },
1172 | "color-convert": {
1173 | "version": "1.9.3",
1174 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1175 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1176 | "dev": true,
1177 | "requires": {
1178 | "color-name": "1.1.3"
1179 | }
1180 | },
1181 | "color-name": {
1182 | "version": "1.1.3",
1183 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1184 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
1185 | "dev": true
1186 | },
1187 | "colors": {
1188 | "version": "1.4.0",
1189 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
1190 | "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
1191 | "dev": true
1192 | },
1193 | "commander": {
1194 | "version": "2.20.3",
1195 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
1196 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
1197 | "dev": true
1198 | },
1199 | "commondir": {
1200 | "version": "1.0.1",
1201 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
1202 | "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
1203 | "dev": true
1204 | },
1205 | "concat-map": {
1206 | "version": "0.0.1",
1207 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1208 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
1209 | "dev": true
1210 | },
1211 | "convert-source-map": {
1212 | "version": "1.7.0",
1213 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
1214 | "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
1215 | "dev": true,
1216 | "requires": {
1217 | "safe-buffer": "~5.1.1"
1218 | }
1219 | },
1220 | "core-js-compat": {
1221 | "version": "3.6.5",
1222 | "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz",
1223 | "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==",
1224 | "dev": true,
1225 | "requires": {
1226 | "browserslist": "^4.8.5",
1227 | "semver": "7.0.0"
1228 | },
1229 | "dependencies": {
1230 | "semver": {
1231 | "version": "7.0.0",
1232 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
1233 | "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
1234 | "dev": true
1235 | }
1236 | }
1237 | },
1238 | "corser": {
1239 | "version": "2.0.1",
1240 | "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz",
1241 | "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=",
1242 | "dev": true
1243 | },
1244 | "debug": {
1245 | "version": "4.1.1",
1246 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
1247 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
1248 | "dev": true,
1249 | "requires": {
1250 | "ms": "^2.1.1"
1251 | }
1252 | },
1253 | "define-properties": {
1254 | "version": "1.1.3",
1255 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
1256 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
1257 | "dev": true,
1258 | "requires": {
1259 | "object-keys": "^1.0.12"
1260 | }
1261 | },
1262 | "duplexer": {
1263 | "version": "0.1.1",
1264 | "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
1265 | "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
1266 | "dev": true
1267 | },
1268 | "ecstatic": {
1269 | "version": "3.3.2",
1270 | "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.2.tgz",
1271 | "integrity": "sha512-fLf9l1hnwrHI2xn9mEDT7KIi22UDqA2jaCwyCbSUJh9a1V+LEUSL/JO/6TIz/QyuBURWUHrFL5Kg2TtO1bkkog==",
1272 | "dev": true,
1273 | "requires": {
1274 | "he": "^1.1.1",
1275 | "mime": "^1.6.0",
1276 | "minimist": "^1.1.0",
1277 | "url-join": "^2.0.5"
1278 | }
1279 | },
1280 | "electron-to-chromium": {
1281 | "version": "1.3.413",
1282 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.413.tgz",
1283 | "integrity": "sha512-Jm1Rrd3siqYHO3jftZwDljL2LYQafj3Kki5r+udqE58d0i91SkjItVJ5RwlJn9yko8i7MOcoidVKjQlgSdd1hg==",
1284 | "dev": true
1285 | },
1286 | "escape-string-regexp": {
1287 | "version": "1.0.5",
1288 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1289 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1290 | "dev": true
1291 | },
1292 | "estree-walker": {
1293 | "version": "1.0.1",
1294 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
1295 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
1296 | "dev": true
1297 | },
1298 | "esutils": {
1299 | "version": "2.0.3",
1300 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
1301 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
1302 | "dev": true
1303 | },
1304 | "eventemitter3": {
1305 | "version": "4.0.0",
1306 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz",
1307 | "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==",
1308 | "dev": true
1309 | },
1310 | "figures": {
1311 | "version": "1.7.0",
1312 | "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
1313 | "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
1314 | "dev": true,
1315 | "requires": {
1316 | "escape-string-regexp": "^1.0.5",
1317 | "object-assign": "^4.1.0"
1318 | }
1319 | },
1320 | "fill-range": {
1321 | "version": "7.0.1",
1322 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
1323 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1324 | "dev": true,
1325 | "requires": {
1326 | "to-regex-range": "^5.0.1"
1327 | }
1328 | },
1329 | "find-up": {
1330 | "version": "2.1.0",
1331 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
1332 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
1333 | "dev": true,
1334 | "requires": {
1335 | "locate-path": "^2.0.0"
1336 | }
1337 | },
1338 | "follow-redirects": {
1339 | "version": "1.11.0",
1340 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.11.0.tgz",
1341 | "integrity": "sha512-KZm0V+ll8PfBrKwMzdo5D13b1bur9Iq9Zd/RMmAoQQcl2PxxFml8cxXPaaPYVbV0RjNjq1CU7zIzAOqtUPudmA==",
1342 | "dev": true,
1343 | "requires": {
1344 | "debug": "^3.0.0"
1345 | },
1346 | "dependencies": {
1347 | "debug": {
1348 | "version": "3.2.6",
1349 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
1350 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
1351 | "dev": true,
1352 | "requires": {
1353 | "ms": "^2.1.1"
1354 | }
1355 | }
1356 | }
1357 | },
1358 | "fs.realpath": {
1359 | "version": "1.0.0",
1360 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1361 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1362 | "dev": true
1363 | },
1364 | "fsevents": {
1365 | "version": "2.1.2",
1366 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz",
1367 | "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==",
1368 | "dev": true,
1369 | "optional": true
1370 | },
1371 | "function-bind": {
1372 | "version": "1.1.1",
1373 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1374 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1375 | "dev": true
1376 | },
1377 | "gensync": {
1378 | "version": "1.0.0-beta.1",
1379 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
1380 | "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
1381 | "dev": true
1382 | },
1383 | "glob": {
1384 | "version": "7.1.6",
1385 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
1386 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
1387 | "dev": true,
1388 | "requires": {
1389 | "fs.realpath": "^1.0.0",
1390 | "inflight": "^1.0.4",
1391 | "inherits": "2",
1392 | "minimatch": "^3.0.4",
1393 | "once": "^1.3.0",
1394 | "path-is-absolute": "^1.0.0"
1395 | }
1396 | },
1397 | "globals": {
1398 | "version": "11.12.0",
1399 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
1400 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
1401 | "dev": true
1402 | },
1403 | "gzip-size": {
1404 | "version": "3.0.0",
1405 | "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz",
1406 | "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=",
1407 | "dev": true,
1408 | "requires": {
1409 | "duplexer": "^0.1.1"
1410 | }
1411 | },
1412 | "has-ansi": {
1413 | "version": "2.0.0",
1414 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
1415 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
1416 | "dev": true,
1417 | "requires": {
1418 | "ansi-regex": "^2.0.0"
1419 | }
1420 | },
1421 | "has-flag": {
1422 | "version": "3.0.0",
1423 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1424 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
1425 | "dev": true
1426 | },
1427 | "has-symbols": {
1428 | "version": "1.0.1",
1429 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
1430 | "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
1431 | "dev": true
1432 | },
1433 | "he": {
1434 | "version": "1.2.0",
1435 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
1436 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
1437 | "dev": true
1438 | },
1439 | "http-proxy": {
1440 | "version": "1.18.0",
1441 | "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz",
1442 | "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==",
1443 | "dev": true,
1444 | "requires": {
1445 | "eventemitter3": "^4.0.0",
1446 | "follow-redirects": "^1.0.0",
1447 | "requires-port": "^1.0.0"
1448 | }
1449 | },
1450 | "http-server": {
1451 | "version": "0.12.1",
1452 | "resolved": "https://registry.npmjs.org/http-server/-/http-server-0.12.1.tgz",
1453 | "integrity": "sha512-T0jB+7J7GJ2Vo+a4/T7P7SbQ3x2GPDnqRqQXdfEuPuUOmES/9NBxPnDm7dh1HGEeUWqUmLUNtGV63ZC5Uy3tGA==",
1454 | "dev": true,
1455 | "requires": {
1456 | "basic-auth": "^1.0.3",
1457 | "colors": "^1.3.3",
1458 | "corser": "^2.0.1",
1459 | "ecstatic": "^3.3.2",
1460 | "http-proxy": "^1.17.0",
1461 | "opener": "^1.5.1",
1462 | "optimist": "~0.6.1",
1463 | "portfinder": "^1.0.20",
1464 | "secure-compare": "3.0.1",
1465 | "union": "~0.5.0"
1466 | }
1467 | },
1468 | "inflight": {
1469 | "version": "1.0.6",
1470 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1471 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1472 | "dev": true,
1473 | "requires": {
1474 | "once": "^1.3.0",
1475 | "wrappy": "1"
1476 | }
1477 | },
1478 | "inherits": {
1479 | "version": "2.0.4",
1480 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1481 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1482 | "dev": true
1483 | },
1484 | "invariant": {
1485 | "version": "2.2.4",
1486 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
1487 | "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
1488 | "dev": true,
1489 | "requires": {
1490 | "loose-envify": "^1.0.0"
1491 | }
1492 | },
1493 | "is-module": {
1494 | "version": "1.0.0",
1495 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
1496 | "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
1497 | "dev": true
1498 | },
1499 | "is-number": {
1500 | "version": "7.0.0",
1501 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1502 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1503 | "dev": true
1504 | },
1505 | "is-reference": {
1506 | "version": "1.1.4",
1507 | "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.4.tgz",
1508 | "integrity": "sha512-uJA/CDPO3Tao3GTrxYn6AwkM4nUPJiGGYu5+cB8qbC7WGFlrKZbiRo7SFKxUAEpFUfiHofWCXBUNhvYJMh+6zw==",
1509 | "dev": true,
1510 | "requires": {
1511 | "@types/estree": "0.0.39"
1512 | }
1513 | },
1514 | "jest-worker": {
1515 | "version": "24.9.0",
1516 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
1517 | "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
1518 | "dev": true,
1519 | "requires": {
1520 | "merge-stream": "^2.0.0",
1521 | "supports-color": "^6.1.0"
1522 | },
1523 | "dependencies": {
1524 | "supports-color": {
1525 | "version": "6.1.0",
1526 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
1527 | "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
1528 | "dev": true,
1529 | "requires": {
1530 | "has-flag": "^3.0.0"
1531 | }
1532 | }
1533 | }
1534 | },
1535 | "js-tokens": {
1536 | "version": "4.0.0",
1537 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1538 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
1539 | "dev": true
1540 | },
1541 | "jsesc": {
1542 | "version": "2.5.2",
1543 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
1544 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
1545 | "dev": true
1546 | },
1547 | "json5": {
1548 | "version": "2.1.3",
1549 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
1550 | "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
1551 | "dev": true,
1552 | "requires": {
1553 | "minimist": "^1.2.5"
1554 | }
1555 | },
1556 | "leven": {
1557 | "version": "3.1.0",
1558 | "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
1559 | "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
1560 | "dev": true
1561 | },
1562 | "levenary": {
1563 | "version": "1.1.1",
1564 | "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz",
1565 | "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==",
1566 | "dev": true,
1567 | "requires": {
1568 | "leven": "^3.1.0"
1569 | }
1570 | },
1571 | "locate-path": {
1572 | "version": "2.0.0",
1573 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
1574 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
1575 | "dev": true,
1576 | "requires": {
1577 | "p-locate": "^2.0.0",
1578 | "path-exists": "^3.0.0"
1579 | }
1580 | },
1581 | "lodash": {
1582 | "version": "4.17.15",
1583 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
1584 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
1585 | "dev": true
1586 | },
1587 | "loose-envify": {
1588 | "version": "1.4.0",
1589 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
1590 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
1591 | "dev": true,
1592 | "requires": {
1593 | "js-tokens": "^3.0.0 || ^4.0.0"
1594 | }
1595 | },
1596 | "magic-string": {
1597 | "version": "0.25.7",
1598 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
1599 | "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
1600 | "dev": true,
1601 | "requires": {
1602 | "sourcemap-codec": "^1.4.4"
1603 | }
1604 | },
1605 | "maxmin": {
1606 | "version": "2.1.0",
1607 | "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz",
1608 | "integrity": "sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY=",
1609 | "dev": true,
1610 | "requires": {
1611 | "chalk": "^1.0.0",
1612 | "figures": "^1.0.1",
1613 | "gzip-size": "^3.0.0",
1614 | "pretty-bytes": "^3.0.0"
1615 | },
1616 | "dependencies": {
1617 | "ansi-styles": {
1618 | "version": "2.2.1",
1619 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
1620 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
1621 | "dev": true
1622 | },
1623 | "chalk": {
1624 | "version": "1.1.3",
1625 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
1626 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
1627 | "dev": true,
1628 | "requires": {
1629 | "ansi-styles": "^2.2.1",
1630 | "escape-string-regexp": "^1.0.2",
1631 | "has-ansi": "^2.0.0",
1632 | "strip-ansi": "^3.0.0",
1633 | "supports-color": "^2.0.0"
1634 | }
1635 | },
1636 | "supports-color": {
1637 | "version": "2.0.0",
1638 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
1639 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
1640 | "dev": true
1641 | }
1642 | }
1643 | },
1644 | "merge-stream": {
1645 | "version": "2.0.0",
1646 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
1647 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
1648 | "dev": true
1649 | },
1650 | "micromatch": {
1651 | "version": "4.0.2",
1652 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
1653 | "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
1654 | "dev": true,
1655 | "requires": {
1656 | "braces": "^3.0.1",
1657 | "picomatch": "^2.0.5"
1658 | }
1659 | },
1660 | "mime": {
1661 | "version": "1.6.0",
1662 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
1663 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
1664 | "dev": true
1665 | },
1666 | "minimatch": {
1667 | "version": "3.0.4",
1668 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1669 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1670 | "dev": true,
1671 | "requires": {
1672 | "brace-expansion": "^1.1.7"
1673 | }
1674 | },
1675 | "minimist": {
1676 | "version": "1.2.5",
1677 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
1678 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
1679 | "dev": true
1680 | },
1681 | "mkdirp": {
1682 | "version": "0.5.5",
1683 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
1684 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
1685 | "dev": true,
1686 | "requires": {
1687 | "minimist": "^1.2.5"
1688 | }
1689 | },
1690 | "ms": {
1691 | "version": "2.1.2",
1692 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1693 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1694 | "dev": true
1695 | },
1696 | "node-releases": {
1697 | "version": "1.1.53",
1698 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.53.tgz",
1699 | "integrity": "sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ==",
1700 | "dev": true
1701 | },
1702 | "number-is-nan": {
1703 | "version": "1.0.1",
1704 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
1705 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
1706 | "dev": true
1707 | },
1708 | "object-assign": {
1709 | "version": "4.1.1",
1710 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1711 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
1712 | "dev": true
1713 | },
1714 | "object-keys": {
1715 | "version": "1.1.1",
1716 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
1717 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
1718 | "dev": true
1719 | },
1720 | "object.assign": {
1721 | "version": "4.1.0",
1722 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
1723 | "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
1724 | "dev": true,
1725 | "requires": {
1726 | "define-properties": "^1.1.2",
1727 | "function-bind": "^1.1.1",
1728 | "has-symbols": "^1.0.0",
1729 | "object-keys": "^1.0.11"
1730 | }
1731 | },
1732 | "once": {
1733 | "version": "1.4.0",
1734 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1735 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1736 | "dev": true,
1737 | "requires": {
1738 | "wrappy": "1"
1739 | }
1740 | },
1741 | "opener": {
1742 | "version": "1.5.1",
1743 | "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz",
1744 | "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==",
1745 | "dev": true
1746 | },
1747 | "optimist": {
1748 | "version": "0.6.1",
1749 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
1750 | "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
1751 | "dev": true,
1752 | "requires": {
1753 | "minimist": "~0.0.1",
1754 | "wordwrap": "~0.0.2"
1755 | },
1756 | "dependencies": {
1757 | "minimist": {
1758 | "version": "0.0.10",
1759 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
1760 | "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
1761 | "dev": true
1762 | }
1763 | }
1764 | },
1765 | "p-limit": {
1766 | "version": "1.3.0",
1767 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
1768 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
1769 | "dev": true,
1770 | "requires": {
1771 | "p-try": "^1.0.0"
1772 | }
1773 | },
1774 | "p-locate": {
1775 | "version": "2.0.0",
1776 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
1777 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
1778 | "dev": true,
1779 | "requires": {
1780 | "p-limit": "^1.1.0"
1781 | }
1782 | },
1783 | "p-try": {
1784 | "version": "1.0.0",
1785 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
1786 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
1787 | "dev": true
1788 | },
1789 | "path-exists": {
1790 | "version": "3.0.0",
1791 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
1792 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
1793 | "dev": true
1794 | },
1795 | "path-is-absolute": {
1796 | "version": "1.0.1",
1797 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1798 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1799 | "dev": true
1800 | },
1801 | "path-parse": {
1802 | "version": "1.0.6",
1803 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
1804 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
1805 | "dev": true
1806 | },
1807 | "picomatch": {
1808 | "version": "2.2.2",
1809 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
1810 | "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
1811 | "dev": true
1812 | },
1813 | "pkg-up": {
1814 | "version": "2.0.0",
1815 | "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
1816 | "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
1817 | "dev": true,
1818 | "requires": {
1819 | "find-up": "^2.1.0"
1820 | }
1821 | },
1822 | "portfinder": {
1823 | "version": "1.0.25",
1824 | "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz",
1825 | "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==",
1826 | "dev": true,
1827 | "requires": {
1828 | "async": "^2.6.2",
1829 | "debug": "^3.1.1",
1830 | "mkdirp": "^0.5.1"
1831 | },
1832 | "dependencies": {
1833 | "debug": {
1834 | "version": "3.2.6",
1835 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
1836 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
1837 | "dev": true,
1838 | "requires": {
1839 | "ms": "^2.1.1"
1840 | }
1841 | }
1842 | }
1843 | },
1844 | "prettier": {
1845 | "version": "2.0.4",
1846 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.4.tgz",
1847 | "integrity": "sha512-SVJIQ51spzFDvh4fIbCLvciiDMCrRhlN3mbZvv/+ycjvmF5E73bKdGfU8QDLNmjYJf+lsGnDBC4UUnvTe5OO0w==",
1848 | "dev": true
1849 | },
1850 | "pretty-bytes": {
1851 | "version": "3.0.1",
1852 | "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz",
1853 | "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=",
1854 | "dev": true,
1855 | "requires": {
1856 | "number-is-nan": "^1.0.0"
1857 | }
1858 | },
1859 | "private": {
1860 | "version": "0.1.8",
1861 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
1862 | "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
1863 | "dev": true
1864 | },
1865 | "prop-types": {
1866 | "version": "15.7.2",
1867 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
1868 | "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
1869 | "dev": true,
1870 | "requires": {
1871 | "loose-envify": "^1.4.0",
1872 | "object-assign": "^4.1.1",
1873 | "react-is": "^16.8.1"
1874 | }
1875 | },
1876 | "qs": {
1877 | "version": "6.9.3",
1878 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz",
1879 | "integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==",
1880 | "dev": true
1881 | },
1882 | "react": {
1883 | "version": "16.13.1",
1884 | "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz",
1885 | "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==",
1886 | "dev": true,
1887 | "requires": {
1888 | "loose-envify": "^1.1.0",
1889 | "object-assign": "^4.1.1",
1890 | "prop-types": "^15.6.2"
1891 | }
1892 | },
1893 | "react-dom": {
1894 | "version": "16.13.1",
1895 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz",
1896 | "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==",
1897 | "dev": true,
1898 | "requires": {
1899 | "loose-envify": "^1.1.0",
1900 | "object-assign": "^4.1.1",
1901 | "prop-types": "^15.6.2",
1902 | "scheduler": "^0.19.1"
1903 | }
1904 | },
1905 | "react-is": {
1906 | "version": "16.13.1",
1907 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
1908 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
1909 | "dev": true
1910 | },
1911 | "regenerate": {
1912 | "version": "1.4.0",
1913 | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
1914 | "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
1915 | "dev": true
1916 | },
1917 | "regenerate-unicode-properties": {
1918 | "version": "8.2.0",
1919 | "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
1920 | "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
1921 | "dev": true,
1922 | "requires": {
1923 | "regenerate": "^1.4.0"
1924 | }
1925 | },
1926 | "regenerator-runtime": {
1927 | "version": "0.13.5",
1928 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
1929 | "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==",
1930 | "dev": true
1931 | },
1932 | "regenerator-transform": {
1933 | "version": "0.14.4",
1934 | "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz",
1935 | "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==",
1936 | "dev": true,
1937 | "requires": {
1938 | "@babel/runtime": "^7.8.4",
1939 | "private": "^0.1.8"
1940 | }
1941 | },
1942 | "regexpu-core": {
1943 | "version": "4.7.0",
1944 | "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
1945 | "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
1946 | "dev": true,
1947 | "requires": {
1948 | "regenerate": "^1.4.0",
1949 | "regenerate-unicode-properties": "^8.2.0",
1950 | "regjsgen": "^0.5.1",
1951 | "regjsparser": "^0.6.4",
1952 | "unicode-match-property-ecmascript": "^1.0.4",
1953 | "unicode-match-property-value-ecmascript": "^1.2.0"
1954 | }
1955 | },
1956 | "regjsgen": {
1957 | "version": "0.5.1",
1958 | "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
1959 | "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==",
1960 | "dev": true
1961 | },
1962 | "regjsparser": {
1963 | "version": "0.6.4",
1964 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
1965 | "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
1966 | "dev": true,
1967 | "requires": {
1968 | "jsesc": "~0.5.0"
1969 | },
1970 | "dependencies": {
1971 | "jsesc": {
1972 | "version": "0.5.0",
1973 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
1974 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
1975 | "dev": true
1976 | }
1977 | }
1978 | },
1979 | "requires-port": {
1980 | "version": "1.0.0",
1981 | "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
1982 | "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
1983 | "dev": true
1984 | },
1985 | "resolve": {
1986 | "version": "1.16.1",
1987 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.16.1.tgz",
1988 | "integrity": "sha512-rmAglCSqWWMrrBv/XM6sW0NuRFiKViw/W4d9EbC4pt+49H8JwHy+mcGmALTEg504AUDcLTvb1T2q3E9AnmY+ig==",
1989 | "dev": true,
1990 | "requires": {
1991 | "path-parse": "^1.0.6"
1992 | }
1993 | },
1994 | "rollup": {
1995 | "version": "2.6.1",
1996 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.6.1.tgz",
1997 | "integrity": "sha512-1RhFDRJeg027YjBO6+JxmVWkEZY0ASztHhoEUEWxOwkh4mjO58TFD6Uo7T7Y3FbmDpRTfKhM5NVxJyimCn0Elg==",
1998 | "dev": true,
1999 | "requires": {
2000 | "fsevents": "~2.1.2"
2001 | }
2002 | },
2003 | "rollup-plugin-babel": {
2004 | "version": "4.4.0",
2005 | "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz",
2006 | "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==",
2007 | "dev": true,
2008 | "requires": {
2009 | "@babel/helper-module-imports": "^7.0.0",
2010 | "rollup-pluginutils": "^2.8.1"
2011 | }
2012 | },
2013 | "rollup-plugin-bundle-size": {
2014 | "version": "1.0.3",
2015 | "resolved": "https://registry.npmjs.org/rollup-plugin-bundle-size/-/rollup-plugin-bundle-size-1.0.3.tgz",
2016 | "integrity": "sha512-aWj0Pvzq90fqbI5vN1IvUrlf4utOqy+AERYxwWjegH1G8PzheMnrRIgQ5tkwKVtQMDP0bHZEACW/zLDF+XgfXQ==",
2017 | "dev": true,
2018 | "requires": {
2019 | "chalk": "^1.1.3",
2020 | "maxmin": "^2.1.0"
2021 | },
2022 | "dependencies": {
2023 | "ansi-styles": {
2024 | "version": "2.2.1",
2025 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
2026 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
2027 | "dev": true
2028 | },
2029 | "chalk": {
2030 | "version": "1.1.3",
2031 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
2032 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
2033 | "dev": true,
2034 | "requires": {
2035 | "ansi-styles": "^2.2.1",
2036 | "escape-string-regexp": "^1.0.2",
2037 | "has-ansi": "^2.0.0",
2038 | "strip-ansi": "^3.0.0",
2039 | "supports-color": "^2.0.0"
2040 | }
2041 | },
2042 | "supports-color": {
2043 | "version": "2.0.0",
2044 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
2045 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
2046 | "dev": true
2047 | }
2048 | }
2049 | },
2050 | "rollup-plugin-replace": {
2051 | "version": "2.2.0",
2052 | "resolved": "https://registry.npmjs.org/rollup-plugin-replace/-/rollup-plugin-replace-2.2.0.tgz",
2053 | "integrity": "sha512-/5bxtUPkDHyBJAKketb4NfaeZjL5yLZdeUihSfbF2PQMz+rSTEb8ARKoOl3UBT4m7/X+QOXJo3sLTcq+yMMYTA==",
2054 | "dev": true,
2055 | "requires": {
2056 | "magic-string": "^0.25.2",
2057 | "rollup-pluginutils": "^2.6.0"
2058 | }
2059 | },
2060 | "rollup-plugin-terser": {
2061 | "version": "5.3.0",
2062 | "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.0.tgz",
2063 | "integrity": "sha512-XGMJihTIO3eIBsVGq7jiNYOdDMb3pVxuzY0uhOE/FM4x/u9nQgr3+McsjzqBn3QfHIpNSZmFnpoKAwHBEcsT7g==",
2064 | "dev": true,
2065 | "requires": {
2066 | "@babel/code-frame": "^7.5.5",
2067 | "jest-worker": "^24.9.0",
2068 | "rollup-pluginutils": "^2.8.2",
2069 | "serialize-javascript": "^2.1.2",
2070 | "terser": "^4.6.2"
2071 | }
2072 | },
2073 | "rollup-pluginutils": {
2074 | "version": "2.8.2",
2075 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
2076 | "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
2077 | "dev": true,
2078 | "requires": {
2079 | "estree-walker": "^0.6.1"
2080 | },
2081 | "dependencies": {
2082 | "estree-walker": {
2083 | "version": "0.6.1",
2084 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
2085 | "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
2086 | "dev": true
2087 | }
2088 | }
2089 | },
2090 | "safe-buffer": {
2091 | "version": "5.1.2",
2092 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
2093 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
2094 | "dev": true
2095 | },
2096 | "scheduler": {
2097 | "version": "0.19.1",
2098 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz",
2099 | "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==",
2100 | "dev": true,
2101 | "requires": {
2102 | "loose-envify": "^1.1.0",
2103 | "object-assign": "^4.1.1"
2104 | }
2105 | },
2106 | "secure-compare": {
2107 | "version": "3.0.1",
2108 | "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz",
2109 | "integrity": "sha1-8aAymzCLIh+uN7mXTz1XjQypmeM=",
2110 | "dev": true
2111 | },
2112 | "semver": {
2113 | "version": "5.7.1",
2114 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
2115 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
2116 | "dev": true
2117 | },
2118 | "serialize-javascript": {
2119 | "version": "2.1.2",
2120 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz",
2121 | "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==",
2122 | "dev": true
2123 | },
2124 | "source-map": {
2125 | "version": "0.5.7",
2126 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
2127 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
2128 | "dev": true
2129 | },
2130 | "source-map-support": {
2131 | "version": "0.5.17",
2132 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.17.tgz",
2133 | "integrity": "sha512-bwdKOBZ5L0gFRh4KOxNap/J/MpvX9Yxsq9lFDx65s3o7F/NiHy7JRaGIS8MwW6tZPAq9UXE207Il0cfcb5yu/Q==",
2134 | "dev": true,
2135 | "requires": {
2136 | "buffer-from": "^1.0.0",
2137 | "source-map": "^0.6.0"
2138 | },
2139 | "dependencies": {
2140 | "source-map": {
2141 | "version": "0.6.1",
2142 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2143 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2144 | "dev": true
2145 | }
2146 | }
2147 | },
2148 | "sourcemap-codec": {
2149 | "version": "1.4.8",
2150 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
2151 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
2152 | "dev": true
2153 | },
2154 | "strip-ansi": {
2155 | "version": "3.0.1",
2156 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
2157 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
2158 | "dev": true,
2159 | "requires": {
2160 | "ansi-regex": "^2.0.0"
2161 | }
2162 | },
2163 | "supports-color": {
2164 | "version": "5.5.0",
2165 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
2166 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
2167 | "dev": true,
2168 | "requires": {
2169 | "has-flag": "^3.0.0"
2170 | }
2171 | },
2172 | "terser": {
2173 | "version": "4.6.11",
2174 | "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.11.tgz",
2175 | "integrity": "sha512-76Ynm7OXUG5xhOpblhytE7X58oeNSmC8xnNhjWVo8CksHit0U0kO4hfNbPrrYwowLWFgM2n9L176VNx2QaHmtA==",
2176 | "dev": true,
2177 | "requires": {
2178 | "commander": "^2.20.0",
2179 | "source-map": "~0.6.1",
2180 | "source-map-support": "~0.5.12"
2181 | },
2182 | "dependencies": {
2183 | "source-map": {
2184 | "version": "0.6.1",
2185 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2186 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2187 | "dev": true
2188 | }
2189 | }
2190 | },
2191 | "to-fast-properties": {
2192 | "version": "2.0.0",
2193 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
2194 | "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
2195 | "dev": true
2196 | },
2197 | "to-regex-range": {
2198 | "version": "5.0.1",
2199 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
2200 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
2201 | "dev": true,
2202 | "requires": {
2203 | "is-number": "^7.0.0"
2204 | }
2205 | },
2206 | "unicode-canonical-property-names-ecmascript": {
2207 | "version": "1.0.4",
2208 | "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
2209 | "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
2210 | "dev": true
2211 | },
2212 | "unicode-match-property-ecmascript": {
2213 | "version": "1.0.4",
2214 | "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
2215 | "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
2216 | "dev": true,
2217 | "requires": {
2218 | "unicode-canonical-property-names-ecmascript": "^1.0.4",
2219 | "unicode-property-aliases-ecmascript": "^1.0.4"
2220 | }
2221 | },
2222 | "unicode-match-property-value-ecmascript": {
2223 | "version": "1.2.0",
2224 | "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
2225 | "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
2226 | "dev": true
2227 | },
2228 | "unicode-property-aliases-ecmascript": {
2229 | "version": "1.1.0",
2230 | "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
2231 | "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
2232 | "dev": true
2233 | },
2234 | "union": {
2235 | "version": "0.5.0",
2236 | "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz",
2237 | "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==",
2238 | "dev": true,
2239 | "requires": {
2240 | "qs": "^6.4.0"
2241 | }
2242 | },
2243 | "url-join": {
2244 | "version": "2.0.5",
2245 | "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz",
2246 | "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=",
2247 | "dev": true
2248 | },
2249 | "wordwrap": {
2250 | "version": "0.0.3",
2251 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
2252 | "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
2253 | "dev": true
2254 | },
2255 | "wrappy": {
2256 | "version": "1.0.2",
2257 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2258 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
2259 | "dev": true
2260 | }
2261 | }
2262 | }
2263 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-simple-sidenav",
3 | "version": "2.0.0",
4 | "description": "A simple React component for side navigation",
5 | "main": "dist/bundle.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "build": "NODE_ENV=production rollup -c",
9 | "build:dev": "NODE_ENV=development rollup -c",
10 | "watch": "NODE_ENV=development rollup -c -w",
11 | "serve": "http-server ./demo",
12 | "prepublish": "npm run build"
13 | },
14 | "repository": {
15 | "type": "git",
16 | "url": "git+https://github.com/gauravchl/react-simple-sidenav.git"
17 | },
18 | "keywords": [
19 | "react",
20 | "react-component",
21 | "navigation",
22 | "sidenav"
23 | ],
24 | "author": "Gaurav Chikhale ",
25 | "license": "MIT",
26 | "bugs": {
27 | "url": "https://github.com/gauravchl/react-simple-sidenav/issues"
28 | },
29 | "homepage": "https://github.com/gauravchl/react-simple-sidenav#readme",
30 | "devDependencies": {
31 | "@babel/core": "7.9.0",
32 | "@babel/preset-env": "7.9.5",
33 | "@babel/preset-react": "7.9.4",
34 | "@rollup/plugin-commonjs": "11.1.0",
35 | "@rollup/plugin-node-resolve": "7.1.3",
36 | "http-server": "0.12.1",
37 | "prettier": "2.0.4",
38 | "react": "16.13.1",
39 | "react-dom": "16.13.1",
40 | "rollup": "2.6.1",
41 | "rollup-plugin-babel": "4.4.0",
42 | "rollup-plugin-bundle-size": "1.0.3",
43 | "rollup-plugin-replace": "2.2.0",
44 | "rollup-plugin-terser": "5.3.0"
45 | },
46 | "prettier": {
47 | "singleQuote": true,
48 | "printWidth": 120
49 | },
50 | "peerDependencies": {
51 | "react": "^16.9.0",
52 | "react-dom": "^16.11.0"
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | import resolve from '@rollup/plugin-node-resolve';
2 | import babel from 'rollup-plugin-babel';
3 | import commonjs from '@rollup/plugin-commonjs';
4 | import { terser } from 'rollup-plugin-terser';
5 | import bundleSize from 'rollup-plugin-bundle-size';
6 | import replace from 'rollup-plugin-replace';
7 | import react from 'react';
8 | import reactDom from 'react-dom';
9 |
10 | const isProduction = process.env.NODE_ENV === 'production';
11 |
12 | export default [
13 | {
14 | input: 'src/index.js',
15 | output: [
16 | {
17 | file: 'dist/bundle.js',
18 | format: 'cjs',
19 | plugins: [isProduction && terser()],
20 | },
21 | ],
22 | plugins: [
23 | resolve(),
24 | babel({
25 | exclude: 'node_modules/**', // only transpile our source code
26 | }),
27 | commonjs(), // convert cjs into ES(especially added for react)
28 | bundleSize(),
29 | ],
30 | external: ['react', 'react-dom'],
31 | },
32 | {
33 | input: 'demo/src/index.js',
34 | output: [
35 | {
36 | file: 'demo/index.js',
37 | format: 'cjs',
38 | plugins: [isProduction && terser()],
39 | },
40 | ],
41 | plugins: [
42 | resolve(),
43 | replace({
44 | 'process.env.NODE_ENV': JSON.stringify(isProduction ? 'production' : 'development'),
45 | }),
46 | babel({
47 | exclude: 'node_modules/**', // only transpile our source code
48 | }),
49 | commonjs({
50 | include: 'node_modules/**',
51 | namedExports: {
52 | react: Object.keys(react),
53 | 'react-dom': Object.keys(reactDom),
54 | },
55 | }),
56 |
57 | bundleSize(),
58 | ],
59 | },
60 | ];
61 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import React, { useRef, useState } from 'react';
2 |
3 | const SideNav = (props) => {
4 | const { style, navStyle, children, showNav, openFromRight, onHideNav } = props;
5 |
6 | const navEle = useRef();
7 | let startX;
8 | let currentX;
9 | let touchingSideNav;
10 |
11 | const hideNav = () => {
12 | onHideNav && onHideNav();
13 | };
14 |
15 | const onTouchStart = (e) => {
16 | startX = currentX = e.touches[0].pageX;
17 | touchingSideNav = true;
18 | requestAnimationFrame(update);
19 | };
20 |
21 | const onTouchMove = (e) => {
22 | if (!touchingSideNav) return;
23 | currentX = e.touches[0].pageX;
24 | };
25 |
26 | const onTouchEnd = (evt) => {
27 | if (!touchingSideNav) return;
28 | touchingSideNav = false;
29 | const translateX = Math[openFromRight ? 'max' : 'min'](0, currentX - startX);
30 | navEle.current.style.transform = '';
31 | if (!openFromRight && translateX < 0) hideNav();
32 | if (openFromRight && translateX > 0) hideNav();
33 | };
34 |
35 | const update = () => {
36 | if (!touchingSideNav) return;
37 | requestAnimationFrame(update);
38 | const translateX = Math[openFromRight ? 'max' : 'min'](0, currentX - startX);
39 | navEle.current.style.transform = `translateX(${translateX}px)`;
40 | };
41 |
42 | const styles = {
43 | root: {
44 | left: 0,
45 | top: 0,
46 | width: '100%',
47 | height: '100%',
48 | position: 'fixed',
49 | overflow: 'hidden',
50 | zIndex: 8,
51 | pointerEvents: showNav ? 'auto' : 'none',
52 | ...(style || {}),
53 | },
54 | nav: {
55 | position: 'relative',
56 | width: '90%',
57 | maxWidth: 400,
58 | height: '100%',
59 | background: '#FFF',
60 | boxShadow: '2px 0 12px rgba(0,0,0,0.4)',
61 | transform: showNav ? 'none' : `translateX(${openFromRight ? 102 : -102}%)`,
62 | transition: `transform ${showNav ? '0.33s' : '0.13s'} cubic-bezier(0,0,0.3,1)`,
63 | display: 'flex',
64 | willChange: 'transform',
65 | flexDirection: 'column',
66 | float: openFromRight ? 'right' : 'left',
67 | ...(navStyle || {}),
68 | },
69 | overlay: {
70 | position: 'absolute',
71 | width: '100%',
72 | height: '100%',
73 | top: 0,
74 | left: 0,
75 | opacity: showNav ? 1 : 0,
76 | background: 'rgba(0,0,0,0.4)',
77 | transition: 'opacity 0.3s cubic-bezier(0, 0, 0.3, 1)',
78 | willChange: 'opacity',
79 | },
80 | };
81 |
82 | return (
83 |
84 |
85 | {
88 | e.target.style.transition = 'none';
89 | }}
90 | onTouchStart={onTouchStart}
91 | onTouchMove={onTouchMove}
92 | onTouchEnd={onTouchEnd}
93 | ref={navEle}
94 | >
95 | {children || }
96 |
97 |
98 | );
99 | };
100 |
101 | const MenuIcon = (props) => (
102 |
111 |
112 |
113 |
114 | );
115 |
116 | export { SideNav, MenuIcon };
117 | export default SideNav;
118 |
119 | const DefaultContent = (props) => {
120 | const { titleStyle, itemStyle, itemHoverStyle, title, items } = props;
121 | const [hoverItemKey, setHoverItemKey] = useState();
122 |
123 | const handleItemHover = (e, enter, key) => {
124 | if (enter) return setHoverItemKey(key);
125 | setHoverItemKey();
126 | };
127 |
128 | const getItemStyle = (key) => {
129 | return {
130 | padding: '22px',
131 | cursor: 'pointer',
132 | backgroundColor: '#fff',
133 | ...(itemStyle || {}),
134 | ...(key === hoverItemKey ? itemHoverStyle || { backgroundColor: '#f5f5f5' } : {}),
135 | };
136 | };
137 |
138 | const titleStyles = {
139 | background: '#E91E63',
140 | color: '#fff',
141 | fontWeight: 400,
142 | margin: 0,
143 | lineHeight: '82px',
144 | padding: 22,
145 | ...(titleStyle || {}),
146 | };
147 |
148 | return (
149 |
150 |
{title || 'Simple SideNav'}
151 |
152 | {items ? (
153 | items.map((item, key) => (
154 | handleItemHover(e, true, key)}
158 | onMouseOut={(e) => handleItemHover(e, false)}
159 | >
160 | {item}
161 |
162 | ))
163 | ) : (
164 |
165 | Item 1
166 |
167 | )}
168 |
169 |
170 | );
171 | };
172 |
--------------------------------------------------------------------------------