From be88c1a1be9e376dbc5d59d9e88a9951fa5fdcd3 Mon Sep 17 00:00:00 2001 From: Aaron Cunnington Date: Fri, 10 Aug 2018 14:21:33 +0100 Subject: [PATCH 01/44] Update README.md Fixed typos in groupArraysAfterLength prop documentation. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fed04f2f..86c4cfa4 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ Name|Type|Default|Description `collapsed`|`boolean` or `integer`|`false`|When set to `true`, all nodes will be collapsed by default. Use an integer value to collapse at a particular depth. `collapseStringsAfterLength`|`integer`|`false`|When an integer value is assigned, strings will be cut off at that length. Collapsed strings are followed by an ellipsis. String content can be expanded and collapsed by clicking on the string value. `shouldCollapse`|`(field)=>{}`|`false`|Callback function to provide control over what objects and arrays should be collapsed by default. An object is passed to the callback containing `name`, `src`, `type` ("array" or "object") and `namespace`. -`groupArraysAfterLength`|`integer`|`100`|When an integer value is assigned, arrays will be displayed in groups by count of the value. Groups are displayed with brakcet notation and can be expanded and collapsed by clickong on the brackets. +`groupArraysAfterLength`|`integer`|`100`|When an integer value is assigned, arrays will be displayed in groups by count of the value. Groups are displayed with bracket notation and can be expanded and collapsed by clicking on the brackets. `enableClipboard`|`boolean` or `(copy)=>{}`|`true`|When prop is not `false`, the user can copy objects and arrays to clipboard by clicking on the clipboard icon. Copy callbacks are supported. `displayObjectSize`|`boolean`|`true`|When set to `true`, objects and arrays are labeled with size `displayDataTypes`|`boolean`|`true`|When set to `true`, data type labels prefix values From d49c9ba26c3ae6c9067a94842eed6a9b1111c843 Mon Sep 17 00:00:00 2001 From: Guillaume FORTAINE Date: Tue, 4 Sep 2018 09:49:16 +0200 Subject: [PATCH 02/44] set default style with min-height & word-bread --- src/style/scss/global.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/style/scss/global.scss b/src/style/scss/global.scss index 8f65e092..a7a2d2d5 100644 --- a/src/style/scss/global.scss +++ b/src/style/scss/global.scss @@ -1,4 +1,8 @@ .react-json-view { + min-height: 96px; + word-break: break-all; + -ms-word-break: break-all; + .copy-to-clipboard-container { vertical-align: top; display: none; From 8f3c832d7003b4ab725cfad06600f8c5acc3f78b Mon Sep 17 00:00:00 2001 From: EvertE Date: Tue, 6 Nov 2018 12:03:04 +0100 Subject: [PATCH 03/44] Fix bug with small floats and add support for scientific notation --- src/js/helpers/parseInput.js | 16 ++++++++++++++-- test/tests/js/helpers/parseInput-test.js | 12 ++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/js/helpers/parseInput.js b/src/js/helpers/parseInput.js index 24030717..f2bd5db3 100644 --- a/src/js/helpers/parseInput.js +++ b/src/js/helpers/parseInput.js @@ -19,14 +19,26 @@ export default function parseInput(input) { input.match(/\-?\d+\.\d+/) && input.match(/\-?\d+\.\d+/)[0] === input ) { - //integer + //float return formatResponse('float', parseFloat(input)); + } else if ( + input.match(/\-?\d+e-\d+/) + && input.match(/\-?\d+e-\d+/)[0] === input + ) { + //scientific float + return formatResponse('float', Number(input)); } else if ( input.match(/\-?\d+/) && input.match(/\-?\d+/)[0] === input ) { - //float + //integer return formatResponse('integer', parseInt(input)); + } else if ( + input.match(/\-?\d+e\+\d+/) + && input.match(/\-?\d+e\+\d+/)[0] === input + ) { + //scientific integer + return formatResponse('integer', Number(input)); } } catch (e) { // no-op diff --git a/test/tests/js/helpers/parseInput-test.js b/test/tests/js/helpers/parseInput-test.js index 1cdd64c7..1d091afe 100644 --- a/test/tests/js/helpers/parseInput-test.js +++ b/test/tests/js/helpers/parseInput-test.js @@ -20,6 +20,14 @@ describe("parseInput", function() { expect(parseInput("5.22").type).to.equal("float") }) + it("parseInput small float", function() { + expect(parseInput("0.0000002").type).to.equal("float") + }) + + it("parseInput scientific notation float", function() { + expect(parseInput("2e-7").type).to.equal("float") + }) + it("parseInput date", function() { expect(parseInput("5/22").type).to.equal("date") }) @@ -28,6 +36,10 @@ describe("parseInput", function() { expect(parseInput("22").type).to.equal("integer") }) + it("parseInput scientific notation integer", function() { + expect(parseInput("4e+8").type).to.equal("integer") + }) + it("parseInput NaN", function() { expect(parseInput("nan").type).to.equal("nan") From 1a4591b55a09e8e201c9087377cccc0548c644f2 Mon Sep 17 00:00:00 2001 From: Craig Kochis Date: Fri, 6 Sep 2019 10:43:45 -0400 Subject: [PATCH 04/44] add quotesOnKeys option --- README.md | 1 + src/js/components/ObjectName.js | 10 ++++--- src/js/index.js | 1 + .../js/components/DataTypes/Object-test.js | 2 ++ test/tests/js/components/ObjectName-test.js | 26 +++++++++++++++++++ 5 files changed, 37 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index fed04f2f..27853e97 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ Name|Type|Default|Description `onDelete`|`(delete)=>{}`|`false`|When a callback function is passed in, `delete` functionality is enabled. The callback is invoked before deletions are completed. Returning `false` from `onDelete` will prevent the change from being made. [see: onDelete docs](#onedit-onadd-and-ondelete-interaction) `onSelect`|`(select)=>{}`|`false`|When a function is passed in, clicking a value triggers the `onSelect` method to be called. `sortKeys`|`boolean`|`false`|set to true to sort object keys +`quotesOnKeys`|`boolean`|`true`|set to false to remove quotes from keys (eg. `"name":` vs. `name:`) `validationMessage`|`string`|"Validation Error"|Custom message for validation failures to `onEdit`, `onAdd`, or `onDelete` callbacks ### Features diff --git a/src/js/components/ObjectName.js b/src/js/components/ObjectName.js index 05124dbc..b8ff841c 100644 --- a/src/js/components/ObjectName.js +++ b/src/js/components/ObjectName.js @@ -3,7 +3,7 @@ import Theme from './../themes/getStyle'; export default function getObjectName(props) { const { - parent_type, namespace, theme, jsvRoot, name + parent_type, namespace, quotesOnKeys, theme, jsvRoot, name } = props; const display_name = props.name ? props.name : ''; @@ -21,9 +21,13 @@ export default function getObjectName(props) { return ( - " + { quotesOnKeys && + " + } {display_name} - " + { quotesOnKeys && + " + } : diff --git a/src/js/index.js b/src/js/index.js index 64773a3a..23871668 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -46,6 +46,7 @@ class ReactJsonView extends React.PureComponent { collapseStringsAfterLength: false, shouldCollapse: false, sortKeys: false, + quotesOnKeys: true, groupArraysAfterLength: 100, indentWidth: 4, enableClipboard: true, diff --git a/test/tests/js/components/DataTypes/Object-test.js b/test/tests/js/components/DataTypes/Object-test.js index 02ce4b18..01f62067 100644 --- a/test/tests/js/components/DataTypes/Object-test.js +++ b/test/tests/js/components/DataTypes/Object-test.js @@ -341,6 +341,7 @@ describe("", function() { sortKeys={true} collapsed={false} shouldCollapse={() => false} + quotesOnKeys={true} /> ) expect(wrapper.text()).to.equal('"":{"a":"a""b":"b""c":"c""d":"d"}'); @@ -361,6 +362,7 @@ describe("", function() { namespace={["root"]} collapsed={false} shouldCollapse={() => false} + quotesOnKeys={true} /> ) expect(wrapper.text()).to.equal('"":{"d":"d""b":"b""a":"a""c":"c"}'); diff --git a/test/tests/js/components/ObjectName-test.js b/test/tests/js/components/ObjectName-test.js index 0e368f66..b42f38b4 100644 --- a/test/tests/js/components/ObjectName-test.js +++ b/test/tests/js/components/ObjectName-test.js @@ -41,4 +41,30 @@ describe("", function() { ) expect(wrapper.find("span").children()).to.have.length(0) }) + + it("ObjectName with quotesOnKeys enabled (default)", function() { + const wrapper = render( + + ) + expect(wrapper.find(".object-key").children('span')).to.have.length(3) + }) + + it("ObjectName with quotesOnKeys disabled", function() { + const wrapper = render( + + ) + expect(wrapper.find(".object-key").children('span')).to.have.length(1) + }) }) From 1d4eee7392c01a894e8bb0846542aec957791f28 Mon Sep 17 00:00:00 2001 From: Daniel Santos Date: Sat, 4 Apr 2020 18:19:57 -0400 Subject: [PATCH 05/44] Add property that hides the array keys Change: Closes #180 This change introduces the `displayArrayKey` property to the `ReactJsonView` component defaulting to `true`. This property will allow users to hide the `array-key` in the component output. Verification: - Run unit test - Added unit test - Toggle the `displayArrayKey` and visually verified the key is not displayed when expected --- README.md | 1 + src/js/components/ObjectName.js | 6 +++--- src/js/components/VariableEditor.js | 14 +++++++------- src/js/index.js | 1 + test/tests/js/components/ObjectName-test.js | 15 +++++++++++++++ 5 files changed, 27 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index fed04f2f..48ae1373 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ Name|Type|Default|Description `onSelect`|`(select)=>{}`|`false`|When a function is passed in, clicking a value triggers the `onSelect` method to be called. `sortKeys`|`boolean`|`false`|set to true to sort object keys `validationMessage`|`string`|"Validation Error"|Custom message for validation failures to `onEdit`, `onAdd`, or `onDelete` callbacks +`displayArrayKey`|`boolean`|`true`|When set to `true`, the index of the elements prefix values ### Features * `onEdit`, `onAdd` and `onDelete` props allow users to edit the `src` variable diff --git a/src/js/components/ObjectName.js b/src/js/components/ObjectName.js index 05124dbc..68970866 100644 --- a/src/js/components/ObjectName.js +++ b/src/js/components/ObjectName.js @@ -3,7 +3,7 @@ import Theme from './../themes/getStyle'; export default function getObjectName(props) { const { - parent_type, namespace, theme, jsvRoot, name + parent_type, namespace, theme, jsvRoot, name, displayArrayKey } = props; const display_name = props.name ? props.name : ''; @@ -11,12 +11,12 @@ export default function getObjectName(props) { if (jsvRoot && (name === false || name === null)) { return (); } else if (parent_type == 'array') { - return ( + return displayArrayKey ? ( {display_name} : - ); + ) : (); } else { return ( diff --git a/src/js/components/VariableEditor.js b/src/js/components/VariableEditor.js index 60497bac..6a373213 100644 --- a/src/js/components/VariableEditor.js +++ b/src/js/components/VariableEditor.js @@ -54,10 +54,10 @@ class VariableEditor extends React.PureComponent { onEdit, onDelete, onSelect, - rjvId + rjvId, + displayArrayKey } = this.props; const { editMode } = this.state; - return (
- {type == 'array' ? ( - + key={variable.name + '_' + namespace}> {variable.name}
:
-
+ ) + : null) ) : ( ", function() { parent_type="array" theme="rjv-default" jsvRoot={false} + displayArrayKey={true} /> ) expect(wrapper.find(".array-key")).to.have.length(1) @@ -41,4 +42,18 @@ describe("", function() { ) expect(wrapper.find("span").children()).to.have.length(0) }) + + it("ObjectName array hides key", function() { + const wrapper = render( + + ) + expect(wrapper.find(".array-key")).to.have.length(0) + }) }) From 2459d454c4144d83c543d264cd66f4314aded26d Mon Sep 17 00:00:00 2001 From: Oleg Proskurin Date: Tue, 7 Jul 2020 02:20:37 +0300 Subject: [PATCH 06/44] Add Github actions to run tests on CI --- .github/workflows/ci-tests.yml | 25 +++++++++++++++++++++++++ package-lock.json | 15 ++++++++++----- package.json | 15 +++++---------- 3 files changed, 40 insertions(+), 15 deletions(-) create mode 100644 .github/workflows/ci-tests.yml diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml new file mode 100644 index 00000000..21eeccba --- /dev/null +++ b/.github/workflows/ci-tests.yml @@ -0,0 +1,25 @@ +name: ci_tests + +on: + pull_request: + branches: + - master + push: + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions/setup-node@v1 + with: + node-version: 12 + - name: Cache node modules + uses: actions/cache@v1 + with: + path: node_modules + key: dependencies + - run: npm i + - run: npm run lint + - run: npm run test + diff --git a/package-lock.json b/package-lock.json index 95b48c8e..774e2ef4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "react-json-view", - "version": "1.18.1", + "version": "1.19.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -4286,7 +4286,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -4701,7 +4702,8 @@ "safe-buffer": { "version": "5.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -4757,6 +4759,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -4800,12 +4803,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, diff --git a/package.json b/package.json index bc5089ff..72922dff 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,6 @@ { "name": "react-json-view", - "description": - "Interactive react component for displaying javascript arrays and JSON objects.", + "description": "Interactive react component for displaying javascript arrays and JSON objects.", "version": "1.19.1", "main": "dist/main.js", "dependencies": { @@ -56,17 +55,13 @@ "react-dom": "^16.0.0 || ^15.5.4" }, "scripts": { - "build": - "webpack --config webpack/webpack.config.js -p --display-error-details --progress --optimize-minimize", + "build": "webpack --config webpack/webpack.config.js -p --display-error-details --progress --optimize-minimize", "prebuild": "npm run test:unit", - "build:demo": - "webpack --config webpack/webpack.config-demo.js -p --display-error-details --progress --optimize-minimize", - "dev": - "webpack-dev-server --config webpack/webpack.config-dev.js --open", + "build:demo": "webpack --config webpack/webpack.config-demo.js -p --display-error-details --progress --optimize-minimize", + "dev": "webpack-dev-server --config webpack/webpack.config-dev.js --open", "modules:debug": "./docker/debug.sh", "modules:tree": "webpack --config webpack/webpack.config.js --json ", - "modules:size-analyzer": - "webpack --config webpack/webpack.config.js --json | webpack-bundle-size-analyzer", + "modules:size-analyzer": "webpack --config webpack/webpack.config.js --json | webpack-bundle-size-analyzer", "test": "npm run test:unit && npm run test:coverage", "test:unit": "nyc mocha test/**/*-test.js", "test:coverage": "nyc report --reporter=text-lcov | coveralls", From 677a50db712b8dc8bed48a3d05a23a437ec64738 Mon Sep 17 00:00:00 2001 From: Tom McLaughlin Date: Fri, 28 Aug 2020 20:16:52 -0700 Subject: [PATCH 07/44] Inline SCSS styles --- src/js/components/CopyToClipboard.js | 9 ++++-- src/js/components/DataTypes/Object.js | 9 ++++-- src/js/components/VariableEditor.js | 16 ++++++++-- src/js/components/VariableMeta.js | 21 ++++++++---- src/js/index.js | 3 -- src/style/scss/global.scss | 46 --------------------------- webpack/webpack.config-demo.js | 14 -------- webpack/webpack.config-dev.js | 14 -------- webpack/webpack.config.js | 14 -------- 9 files changed, 41 insertions(+), 105 deletions(-) delete mode 100644 src/style/scss/global.scss diff --git a/src/js/components/CopyToClipboard.js b/src/js/components/CopyToClipboard.js index a3eb4dae..b63a4ac9 100644 --- a/src/js/components/CopyToClipboard.js +++ b/src/js/components/CopyToClipboard.js @@ -88,7 +88,7 @@ export default class extends React.PureComponent { } render() { - const { src, theme, hidden } = this.props; + const { src, theme, hidden, rowHovered } = this.props; let style = Theme(theme, 'copy-to-clipboard').style; let display = 'inline'; @@ -97,7 +97,12 @@ export default class extends React.PureComponent { } return ( - + { const { rjvId, theme } = this.props; - const { size } = this.state; - return ; + const { size, hovered } = this.state; + return ; } getBraceStart(object_type, expanded) { @@ -199,6 +200,8 @@ class RjvObject extends React.PureComponent { return (
this.setState({...this.state, hovered: true})} + onMouseLeave={() => this.setState({...this.state, hovered: false})} {...Theme(theme, jsvRoot ? 'jsv-root' : 'objectKeyVal', styles)} > {this.getBraceStart(object_type, expanded)} diff --git a/src/js/components/VariableEditor.js b/src/js/components/VariableEditor.js index 60497bac..ff5538d0 100644 --- a/src/js/components/VariableEditor.js +++ b/src/js/components/VariableEditor.js @@ -33,6 +33,7 @@ class VariableEditor extends React.PureComponent { this.state = { editMode: false, editValue: '', + hovered: false, renameKey: false, parsedInput: { type: false, @@ -63,6 +64,8 @@ class VariableEditor extends React.PureComponent { {...Theme(theme, 'objectKeyVal', { paddingLeft: indentWidth * singleIndent })} + onMouseEnter={() => this.setState({...this.state, hovered: true})} + onMouseLeave={() => this.setState({...this.state, hovered: false})} class="variable-row" key={variable.name} > @@ -116,6 +119,7 @@ class VariableEditor extends React.PureComponent {
{enableClipboard ? (
); - } + }; getEllipsis = () => { const { size } = this.state; @@ -123,13 +127,15 @@ class RjvObject extends React.PureComponent { ); } - } + }; getObjectMetaData = src => { const { rjvId, theme } = this.props; const { size, hovered } = this.state; - return ; - } + return ( + + ); + }; getBraceStart(object_type, expanded) { const { src, theme, iconStyle, parent_type } = this.props; @@ -200,17 +206,21 @@ class RjvObject extends React.PureComponent { return (
this.setState({...this.state, hovered: true})} - onMouseLeave={() => this.setState({...this.state, hovered: false})} + onMouseEnter={() => + this.setState({ ...this.state, hovered: true }) + } + onMouseLeave={() => + this.setState({ ...this.state, hovered: false }) + } {...Theme(theme, jsvRoot ? 'jsv-root' : 'objectKeyVal', styles)} > {this.getBraceStart(object_type, expanded)} {expanded ? this.getObjectContent(depth, src, { - theme, - iconStyle, - ...rest - }) + theme, + iconStyle, + ...rest + }) : this.getEllipsis()} { - this.setState({ - collapsed: !this.state.collapsed - }, () => { - AttributeStore.set( - this.props.rjvId, - this.props.namespace, - 'collapsed', - this.state.collapsed - ); - }); - } + this.setState( + { + collapsed: !this.state.collapsed + }, + () => { + AttributeStore.set( + this.props.rjvId, + this.props.namespace, + 'collapsed', + this.state.collapsed + ); + } + ); + }; render() { const type_name = 'string'; diff --git a/src/js/components/DataTypes/Undefined.js b/src/js/components/DataTypes/Undefined.js index 37352e22..534132f2 100644 --- a/src/js/components/DataTypes/Undefined.js +++ b/src/js/components/DataTypes/Undefined.js @@ -4,12 +4,7 @@ import React from 'react'; import Theme from './../../themes/getStyle'; export default class extends React.PureComponent { - render() { - return ( -
- undefined -
- ); + return
undefined
; } } diff --git a/src/js/components/JsonViewer.js b/src/js/components/JsonViewer.js index f3129e1f..9e6b2eac 100644 --- a/src/js/components/JsonViewer.js +++ b/src/js/components/JsonViewer.js @@ -4,24 +4,28 @@ import ArrayGroup from './ArrayGroup'; export default class extends React.PureComponent { render = () => { - const {props} = this; + const { props } = this; const namespace = [props.name]; let ObjectComponent = JsonObject; - if (props.groupArraysAfterLength && props.src.length > props.groupArraysAfterLength) { + if ( + props.groupArraysAfterLength && + props.src.length > props.groupArraysAfterLength + ) { ObjectComponent = ArrayGroup; } return ( -
+
+ {...props} + />
); - } + }; } diff --git a/src/js/components/ObjectKeyModal/AddKeyRequest.js b/src/js/components/ObjectKeyModal/AddKeyRequest.js index c881ca0d..65eb7b06 100644 --- a/src/js/components/ObjectKeyModal/AddKeyRequest.js +++ b/src/js/components/ObjectKeyModal/AddKeyRequest.js @@ -6,12 +6,10 @@ import ObjectKeyModal from './ObjectKeyModal'; //global theme import Theme from './../../themes/getStyle'; - //this input appears when adding a new value to an object export default class extends React.PureComponent { - render() { - const {active, theme, rjvId} = this.props; + const { active, theme, rjvId } = this.props; return active ? ( { - const {rjvId} = this.props; + isValid = input => { + const { rjvId } = this.props; const request = ObjectAttributes.get( - rjvId, 'action', 'new-key-request' + rjvId, + 'action', + 'new-key-request' ); return ( - input != '' - && Object.keys(request.existing_value).indexOf(input) === -1 + input != '' && + Object.keys(request.existing_value).indexOf(input) === -1 ); - } + }; - submit = (input) => { - const {rjvId} = this.props; - let request = ObjectAttributes.get( - rjvId, 'action', 'new-key-request' - ); - request.new_value = {...request.existing_value}; + submit = input => { + const { rjvId } = this.props; + let request = ObjectAttributes.get(rjvId, 'action', 'new-key-request'); + request.new_value = { ...request.existing_value }; request.new_value[input] = this.props.defaultValue; dispatcher.dispatch({ name: 'VARIABLE_ADDED', rjvId: rjvId, data: request }); - } - + }; } diff --git a/src/js/components/ObjectKeyModal/ObjectKeyModal.js b/src/js/components/ObjectKeyModal/ObjectKeyModal.js index 81f261ff..67389154 100644 --- a/src/js/components/ObjectKeyModal/ObjectKeyModal.js +++ b/src/js/components/ObjectKeyModal/ObjectKeyModal.js @@ -1,12 +1,11 @@ import React from 'react'; import dispatcher from './../../helpers/dispatcher'; -import {CheckCircle, Add as Cancel} from './../icons'; +import { CheckCircle, Add as Cancel } from './../icons'; //global theme import Theme from './../../themes/getStyle'; - //this input appears when adding a new value to an object export default class extends React.PureComponent { constructor(props) { @@ -17,8 +16,8 @@ export default class extends React.PureComponent { } render() { - const {theme, rjvId, isValid} = this.props; - const {input} = this.state; + const { theme, rjvId, isValid } = this.props; + const { input } = this.state; const valid = isValid(input); @@ -30,24 +29,25 @@ export default class extends React.PureComponent { >
{e.stopPropagation();}} + onClick={e => { + e.stopPropagation(); + }} > -
- Key Name: -
-
- Key Name:
+
+ el && el.focus()} spellCheck={false} value={input} placeholder="..." - onChange={(e)=>{ + onChange={e => { this.setState({ input: e.target.value }); }} - onKeyPress={(e)=>{ + onKeyPress={e => { if (valid && e.key === 'Enter') { this.submit(); } else if (e.key === 'Escape') { @@ -55,22 +55,25 @@ export default class extends React.PureComponent { } }} /> - {valid - ? this.submit()} /> - : null} + ) : null}
- { + onClick={() => { dispatcher.dispatch({ rjvId: rjvId, name: 'RESET' }); - }} /> + }} + />
@@ -82,9 +85,9 @@ export default class extends React.PureComponent { rjvId: this.props.rjvId, name: 'RESET' }); - } + }; submit = () => { this.props.submit(this.state.input); - } + }; } diff --git a/src/js/components/ObjectName.js b/src/js/components/ObjectName.js index b8ff841c..9ca5f835 100644 --- a/src/js/components/ObjectName.js +++ b/src/js/components/ObjectName.js @@ -3,13 +3,18 @@ import Theme from './../themes/getStyle'; export default function getObjectName(props) { const { - parent_type, namespace, quotesOnKeys, theme, jsvRoot, name + parent_type, + namespace, + quotesOnKeys, + theme, + jsvRoot, + name } = props; const display_name = props.name ? props.name : ''; if (jsvRoot && (name === false || name === null)) { - return (); + return ; } else if (parent_type == 'array') { return ( @@ -21,13 +26,13 @@ export default function getObjectName(props) { return ( - { quotesOnKeys && - " - } + {quotesOnKeys && ( + " + )} {display_name} - { quotesOnKeys && - " - } + {quotesOnKeys && ( + " + )} : diff --git a/src/js/components/ToggleIcons.js b/src/js/components/ToggleIcons.js index f2c5498a..2ad34122 100644 --- a/src/js/components/ToggleIcons.js +++ b/src/js/components/ToggleIcons.js @@ -2,49 +2,64 @@ import React from 'react'; import Theme from './../themes/getStyle'; import { - CircleMinus, CirclePlus, - SquareMinus, SquarePlus, - ArrowRight, ArrowDown + CircleMinus, + CirclePlus, + SquareMinus, + SquarePlus, + ArrowRight, + ArrowDown } from './icons'; export function ExpandedIcon(props) { - const {theme, iconStyle} = props; + const { theme, iconStyle } = props; switch (iconStyle) { - case 'triangle': - return (); - case 'square': - return ; - default: - return ; + case 'triangle': + return ( + + ); + case 'square': + return ( + + ); + default: + return ( + + ); } } export function CollapsedIcon(props) { - const {theme, iconStyle} = props; + const { theme, iconStyle } = props; switch (iconStyle) { - case 'triangle': - return ; - case 'square': - return ; - default: - return ; + case 'triangle': + return ( + + ); + case 'square': + return ( + + ); + default: + return ( + + ); } } diff --git a/src/js/components/ValidationFailure.js b/src/js/components/ValidationFailure.js index 9d22e90e..ea2981a3 100644 --- a/src/js/components/ValidationFailure.js +++ b/src/js/components/ValidationFailure.js @@ -2,23 +2,21 @@ import React from 'react'; import dispatcher from './../helpers/dispatcher'; import ObjectAttributes from './../stores/ObjectAttributes'; -import {Add as Clear} from './icons'; +import { Add as Clear } from './icons'; //global theme import Theme from './../themes/getStyle'; - //this input appears when adding a new value to an object export default class extends React.PureComponent { - render() { - const {message, active, theme, rjvId} = this.props; + const { message, active, theme, rjvId } = this.props; return active ? (
{ + onClick={() => { dispatcher.dispatch({ rjvId: rjvId, name: 'RESET' @@ -28,8 +26,7 @@ export default class extends React.PureComponent { {message} - +
) : null; } diff --git a/src/js/components/VariableEditor.js b/src/js/components/VariableEditor.js index ff5538d0..4a7cb8d9 100644 --- a/src/js/components/VariableEditor.js +++ b/src/js/components/VariableEditor.js @@ -64,8 +64,12 @@ class VariableEditor extends React.PureComponent { {...Theme(theme, 'objectKeyVal', { paddingLeft: indentWidth * singleIndent })} - onMouseEnter={() => this.setState({...this.state, hovered: true})} - onMouseLeave={() => this.setState({...this.state, hovered: false})} + onMouseEnter={() => + this.setState({ ...this.state, hovered: true }) + } + onMouseLeave={() => + this.setState({ ...this.state, hovered: false }) + } class="variable-row" key={variable.name} > @@ -99,17 +103,20 @@ class VariableEditor extends React.PureComponent { onSelect === false && onEdit === false ? null : e => { - let location = [...namespace]; - if ((e.ctrlKey || e.metaKey) && onEdit !== false) { - this.prepopInput(variable); - } else if (onSelect !== false) { - location.shift(); - onSelect({ - ...variable, - namespace: location - }); - } - } + let location = [...namespace]; + if ( + (e.ctrlKey || e.metaKey) && + onEdit !== false + ) { + this.prepopInput(variable); + } else if (onSelect !== false) { + location.shift(); + onSelect({ + ...variable, + namespace: location + }); + } + } } {...Theme(theme, 'variableValue', { cursor: onSelect === false ? 'default' : 'pointer' @@ -140,11 +147,13 @@ class VariableEditor extends React.PureComponent { const { variable, theme } = this.props; return ( -
+
); - } + }; prepopInput = variable => { if (this.props.onEdit !== false) { @@ -169,17 +178,19 @@ class VariableEditor extends React.PureComponent { } }); } - } + }; getRemoveIcon = () => { const { variable, namespace, theme, rjvId } = this.props; return ( -
+
); - } + }; getValue = (variable, editMode) => { const type = editMode ? false : variable.type; const { props } = this; switch (type) { - case false: - return this.getEditInput(); - case 'string': - return ; - case 'integer': - return ; - case 'float': - return ; - case 'boolean': - return ; - case 'function': - return ; - case 'null': - return ; - case 'nan': - return ; - case 'undefined': - return ; - case 'date': - return ; - case 'regexp': - return ; - default: - // catch-all for types that weren't anticipated - return ( -
- {JSON.stringify(variable.value)} -
- ); + case false: + return this.getEditInput(); + case 'string': + return ; + case 'integer': + return ; + case 'float': + return ; + case 'boolean': + return ; + case 'function': + return ; + case 'null': + return ; + case 'nan': + return ; + case 'undefined': + return ; + case 'date': + return ; + case 'regexp': + return ; + default: + // catch-all for types that weren't anticipated + return ( +
+ {JSON.stringify(variable.value)} +
+ ); } - } + }; getEditInput = () => { const { theme } = this.props; @@ -260,19 +271,19 @@ class VariableEditor extends React.PureComponent { }} onKeyDown={e => { switch (e.key) { - case 'Escape': { - this.setState({ - editMode: false, - editValue: '' - }); - break; - } - case 'Enter': { - if (e.ctrlKey || e.metaKey) { - this.submitEdit(true); + case 'Escape': { + this.setState({ + editMode: false, + editValue: '' + }); + break; + } + case 'Enter': { + if (e.ctrlKey || e.metaKey) { + this.submitEdit(true); + } + break; } - break; - } } e.stopPropagation(); }} @@ -298,7 +309,7 @@ class VariableEditor extends React.PureComponent {
); - } + }; submitEdit = submit_detected => { const { variable, namespace, rjvId } = this.props; @@ -321,7 +332,7 @@ class VariableEditor extends React.PureComponent { variable_removed: false } }); - } + }; showDetected = () => { const { theme, variable, namespace, rjvId } = this.props; @@ -347,7 +358,7 @@ class VariableEditor extends React.PureComponent {
); } - } + }; getDetectedInput = () => { const { parsedInput } = this.state; @@ -357,85 +368,85 @@ class VariableEditor extends React.PureComponent { if (type !== false) { switch (type.toLowerCase()) { - case 'object': - return ( - - - {'{'} - - + case 'object': + return ( + + + {'{'} + + ... + + + {'}'} + - - {'}'} - - - ); - case 'array': - return ( - - - {'['} - - + ); + case 'array': + return ( + + + {'['} + + ... + + + {']'} + - - {']'} - - - ); - case 'string': - return ; - case 'integer': - return ; - case 'float': - return ; - case 'boolean': - return ; - case 'function': - return ; - case 'null': - return ; - case 'nan': - return ; - case 'undefined': - return ; - case 'date': - return ; + ); + case 'string': + return ; + case 'integer': + return ; + case 'float': + return ; + case 'boolean': + return ; + case 'function': + return ; + case 'null': + return ; + case 'nan': + return ; + case 'undefined': + return ; + case 'date': + return ; } } - } + }; } //export component diff --git a/src/js/components/VariableMeta.js b/src/js/components/VariableMeta.js index f612049a..d6f6da74 100644 --- a/src/js/components/VariableMeta.js +++ b/src/js/components/VariableMeta.js @@ -2,34 +2,28 @@ import React from 'react'; import dispatcher from './../helpers/dispatcher'; import CopyToClipboard from './CopyToClipboard'; -import {toType} from './../helpers/util'; +import { toType } from './../helpers/util'; //icons -import { - RemoveCircle as Remove, AddCircle as Add -} from './icons'; +import { RemoveCircle as Remove, AddCircle as Add } from './icons'; //theme import Theme from './../themes/getStyle'; - export default class extends React.PureComponent { getObjectSize = () => { - const {size, theme, displayObjectSize} = this.props; + const { size, theme, displayObjectSize } = this.props; if (displayObjectSize) { return ( - + {size} item{size === 1 ? '' : 's'} ); } - } + }; - getAddAttribute = (rowHovered) => { - const { - theme, namespace, name, src, rjvId, depth - } = this.props; + getAddAttribute = rowHovered => { + const { theme, namespace, name, src, rjvId, depth } = this.props; return ( + }} + > 0 ? name : null, namespace: namespace.splice( - 0, (namespace.length-1) + 0, + namespace.length - 1 ), existing_value: src, variable_removed: false, @@ -55,7 +51,7 @@ export default class extends React.PureComponent { dispatcher.dispatch({ name: 'ADD_VARIABLE_KEY_REQUEST', rjvId: rjvId, - data: request, + data: request }); } else { dispatcher.dispatch({ @@ -71,22 +67,22 @@ export default class extends React.PureComponent { /> ); - } + }; - getRemoveObject = (rowHovered) => { - const { - theme, hover, namespace, name, src, rjvId - } = this.props; + getRemoveObject = rowHovered => { + const { theme, hover, namespace, name, src, rjvId } = this.props; //don't allow deleting of root node if (namespace.length === 1) { return; } return ( - + ); - } + }; render = () => { const { @@ -115,31 +114,30 @@ export default class extends React.PureComponent { enableClipboard, src, namespace, - rowHovered, + rowHovered } = this.props; return ( ); - } - + }; } diff --git a/src/js/components/icons.js b/src/js/components/icons.js index 16491f0a..863eb9ea 100644 --- a/src/js/components/icons.js +++ b/src/js/components/icons.js @@ -6,12 +6,13 @@ const DEFAULT_COLOR = '#000000'; export class CircleMinus extends React.PureComponent { render() { - const {props} = this; - const {style, ...rest} = props; + const { props } = this; + const { style, ...rest } = props; return ( - - - - + viewBox="0 0 1792 1792" + > + ); @@ -63,17 +68,20 @@ export class SquareMinus extends React.PureComponent { export class SquarePlus extends React.PureComponent { render() { - const {props} = this; - const {style, ...rest} = props; + const { props } = this; + const { style, ...rest } = props; const svgStyle = getIconStyle(style).style; return ( - - + viewBox="0 0 1792 1792" + > + ); @@ -82,13 +90,17 @@ export class SquarePlus extends React.PureComponent { export class ArrowRight extends React.PureComponent { render() { - const {props} = this; - const {style, ...rest} = props; + const { props } = this; + const { style, ...rest } = props; return ( @@ -101,13 +113,17 @@ export class ArrowRight extends React.PureComponent { export class ArrowDown extends React.PureComponent { render() { - const {props} = this; - const {style, ...rest} = props; + const { props } = this; + const { style, ...rest } = props; return ( @@ -120,12 +136,13 @@ export class ArrowDown extends React.PureComponent { export class Clippy extends React.PureComponent { render() { - const {props} = this; - const {style, ...rest} = props; + const { props } = this; + const { style, ...rest } = props; return ( - - - - - - { const type = toType(value); let string_value; switch (type) { - case 'undefined': { - string_value = 'undefined'; - break; - } - case 'nan': - string_value = 'NaN'; - break; - case 'string': - string_value = value; - break; - case 'date': - string_value = value.toString(); - break; - case 'function': - string_value = value.toString(); - break; - case 'regexp': - string_value = value.toString(); - break; - default: { - try { - string_value = JSON.stringify(value, null, ' '); - } catch (e) { - string_value = ''; + case 'undefined': { + string_value = 'undefined'; + break; + } + case 'nan': + string_value = 'NaN'; + break; + case 'string': + string_value = value; + break; + case 'date': + string_value = value.toString(); + break; + case 'function': + string_value = value.toString(); + break; + case 'regexp': + string_value = value.toString(); + break; + default: { + try { + string_value = JSON.stringify(value, null, ' '); + } catch (e) { + string_value = ''; + } } - } } return string_value; diff --git a/src/js/index.js b/src/js/index.js index 117cec39..421b5adf 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -1,9 +1,9 @@ import React from 'react'; -import {polyfill} from 'react-lifecycles-compat'; +import { polyfill } from 'react-lifecycles-compat'; import JsonViewer from './components/JsonViewer'; import AddKeyRequest from './components/ObjectKeyModal/AddKeyRequest'; import ValidationFailure from './components/ValidationFailure'; -import {toType, isTheme} from './helpers/util'; +import { toType, isTheme } from './helpers/util'; import ObjectAttributes from './stores/ObjectAttributes'; //global theme @@ -11,7 +11,6 @@ import Theme from './themes/getStyle'; //forward src through to JsonObject component class ReactJsonView extends React.PureComponent { - constructor(props) { super(props); this.state = { @@ -27,12 +26,12 @@ class ReactJsonView extends React.PureComponent { // old and new props in getDerivedStateFromProps(). prevSrc: ReactJsonView.defaultProps.src, prevName: ReactJsonView.defaultProps.name, - prevTheme: ReactJsonView.defaultProps.theme, + prevTheme: ReactJsonView.defaultProps.theme }; } //reference id for this instance - rjvId = Date.now().toString() + rjvId = Date.now().toString(); //all acceptable props and default values static defaultProps = { @@ -56,12 +55,13 @@ class ReactJsonView extends React.PureComponent { iconStyle: 'triangle', style: {}, validationMessage: 'Validation Error', - defaultValue: null, - } + defaultValue: null + }; // will trigger whenever setState() is called, or parent passes in new props. static getDerivedStateFromProps(nextProps, prevState) { - if (nextProps.src !== prevState.prevSrc || + if ( + nextProps.src !== prevState.prevSrc || nextProps.name !== prevState.prevName || nextProps.theme !== prevState.prevTheme ) { @@ -82,18 +82,11 @@ class ReactJsonView extends React.PureComponent { componentDidMount() { // initialize - ObjectAttributes.set( - this.rjvId, - 'global', - 'src', - this.state.src - ); + ObjectAttributes.set(this.rjvId, 'global', 'src', this.state.src); // bind to events const listeners = this.getListeners(); for (const i in listeners) { - ObjectAttributes.on( - i + '-' + this.rjvId, listeners[i] - ); + ObjectAttributes.on(i + '-' + this.rjvId, listeners[i]); } //reset key request to false once it's observed this.setState({ @@ -115,38 +108,29 @@ class ReactJsonView extends React.PureComponent { }); } if (prevProps.src !== this.state.src) { - ObjectAttributes.set( - this.rjvId, - 'global', - 'src', - this.state.src - ); + ObjectAttributes.set(this.rjvId, 'global', 'src', this.state.src); } } componentWillUnmount() { const listeners = this.getListeners(); for (const i in listeners) { - ObjectAttributes.removeListener( - i + '-' + this.rjvId, listeners[i] - ); + ObjectAttributes.removeListener(i + '-' + this.rjvId, listeners[i]); } } getListeners = () => { return { - 'reset': this.resetState, + reset: this.resetState, 'variable-update': this.updateSrc, 'add-key-request': this.addKeyRequest }; - } + }; //make sure props are passed in as expected - static validateState = (state) => { + static validateState = state => { const validatedState = {}; //make sure theme is valid - if (toType(state.theme) === 'object' - && !isTheme(state.theme) - ) { + if (toType(state.theme) === 'object' && !isTheme(state.theme)) { console.error( 'react-json-view error:', 'theme prop must be a theme name or valid base-16 theme object.', @@ -155,9 +139,7 @@ class ReactJsonView extends React.PureComponent { validatedState.theme = 'rjv-default'; } //make sure `src` prop is valid - if (toType(state.src) !== 'object' - && toType(state.src) !== 'array' - ) { + if (toType(state.src) !== 'object' && toType(state.src) !== 'array') { console.error( 'react-json-view error:', 'src property must be a valid json object' @@ -173,7 +155,7 @@ class ReactJsonView extends React.PureComponent { // override the original state ...validatedState }; - } + }; render() { const { @@ -190,36 +172,42 @@ class ReactJsonView extends React.PureComponent { return (
+ rjvId={this.rjvId} + /> + rjvId={this.rjvId} + /> + defaultValue={defaultValue} + />
); } updateSrc = () => { const { - name, namespace, new_value, existing_value, - variable_removed, updated_src, type - } = ObjectAttributes.get( - this.rjvId, 'action', 'variable-update' - ); + name, + namespace, + new_value, + existing_value, + variable_removed, + updated_src, + type + } = ObjectAttributes.get(this.rjvId, 'action', 'variable-update'); const { onEdit, onDelete, onAdd } = this.props; const { src } = this.state; @@ -232,19 +220,19 @@ class ReactJsonView extends React.PureComponent { updated_src: updated_src, name: name, namespace: namespace, - existing_value: existing_value, + existing_value: existing_value }; switch (type) { - case 'variable-added': - result = onAdd(on_edit_payload); - break; - case 'variable-edited': - result = onEdit(on_edit_payload); - break; - case 'variable-removed': - result = onDelete(on_edit_payload); - break; + case 'variable-added': + result = onAdd(on_edit_payload); + break; + case 'variable-edited': + result = onEdit(on_edit_payload); + break; + case 'variable-removed': + result = onDelete(on_edit_payload); + break; } if (result !== false) { @@ -257,20 +245,20 @@ class ReactJsonView extends React.PureComponent { validationFailure: true }); } - } + }; addKeyRequest = () => { this.setState({ addKeyRequest: true }); - } + }; resetState = () => { this.setState({ validationFailure: false, addKeyRequest: false }); - } + }; } polyfill(ReactJsonView); diff --git a/src/js/stores/ObjectAttributes.js b/src/js/stores/ObjectAttributes.js index 14987e8b..a3f1aaff 100644 --- a/src/js/stores/ObjectAttributes.js +++ b/src/js/stores/ObjectAttributes.js @@ -1,11 +1,10 @@ -import {EventEmitter} from 'events'; +import { EventEmitter } from 'events'; import dispatcher from './../helpers/dispatcher'; -import {toType} from './../helpers/util'; +import { toType } from './../helpers/util'; //store persistent display attributes for objects and arrays class ObjectAttributes extends EventEmitter { - - objects = {} + objects = {}; set = (rjvId, name, key, value) => { if (this.objects[rjvId] === undefined) { @@ -15,64 +14,63 @@ class ObjectAttributes extends EventEmitter { this.objects[rjvId][name] = {}; } this.objects[rjvId][name][key] = value; - } + }; get = (rjvId, name, key, default_value) => { - if (this.objects[rjvId] === undefined - || this.objects[rjvId][name] === undefined - || this.objects[rjvId][name][key] == undefined + if ( + this.objects[rjvId] === undefined || + this.objects[rjvId][name] === undefined || + this.objects[rjvId][name][key] == undefined ) { return default_value; } return this.objects[rjvId][name][key]; - } + }; - handleAction = (action) => { - const {rjvId, data, name} = action; + handleAction = action => { + const { rjvId, data, name } = action; switch (name) { - case 'RESET': - this.emit('reset-' + rjvId); - break; - case 'VARIABLE_UPDATED': - action.data.updated_src = this.updateSrc( - rjvId, data - ); - this.set( - rjvId, 'action', 'variable-update', - {...data, type:'variable-edited'} - ); - this.emit('variable-update-' + rjvId); - break; - case 'VARIABLE_REMOVED': - action.data.updated_src = this.updateSrc( - rjvId, data - ); - this.set( - rjvId, 'action', 'variable-update', - {...data, type:'variable-removed'} - ); - this.emit('variable-update-' + rjvId); - break; - case 'VARIABLE_ADDED': - action.data.updated_src = this.updateSrc( - rjvId, data - ); - this.set( - rjvId, 'action', 'variable-update', - {...data, type:'variable-added'} - ); - this.emit('variable-update-' + rjvId); - break; - case 'ADD_VARIABLE_KEY_REQUEST': - this.set(rjvId, 'action', 'new-key-request', data); - this.emit('add-key-request-' + rjvId); - break; + case 'RESET': + this.emit('reset-' + rjvId); + break; + case 'VARIABLE_UPDATED': + action.data.updated_src = this.updateSrc(rjvId, data); + this.set(rjvId, 'action', 'variable-update', { + ...data, + type: 'variable-edited' + }); + this.emit('variable-update-' + rjvId); + break; + case 'VARIABLE_REMOVED': + action.data.updated_src = this.updateSrc(rjvId, data); + this.set(rjvId, 'action', 'variable-update', { + ...data, + type: 'variable-removed' + }); + this.emit('variable-update-' + rjvId); + break; + case 'VARIABLE_ADDED': + action.data.updated_src = this.updateSrc(rjvId, data); + this.set(rjvId, 'action', 'variable-update', { + ...data, + type: 'variable-added' + }); + this.emit('variable-update-' + rjvId); + break; + case 'ADD_VARIABLE_KEY_REQUEST': + this.set(rjvId, 'action', 'new-key-request', data); + this.emit('add-key-request-' + rjvId); + break; } - } + }; updateSrc = (rjvId, request) => { let { - name, namespace, new_value, existing_value, variable_removed + name, + namespace, + new_value, + existing_value, + variable_removed } = request; namespace.shift(); @@ -88,7 +86,6 @@ class ObjectAttributes extends EventEmitter { walk = walk[idx]; } - if (variable_removed) { if (toType(walk) == 'array') { walk.splice(name, 1); @@ -104,12 +101,10 @@ class ObjectAttributes extends EventEmitter { } } - this.set( - rjvId, 'global', 'src', updated_src - ); + this.set(rjvId, 'global', 'src', updated_src); return updated_src; - } + }; deepCopy = (src, copy_namespace) => { const type = toType(src); @@ -118,15 +113,15 @@ class ObjectAttributes extends EventEmitter { if (type == 'array') { result = [...src]; } else if (type == 'object') { - result = {...src}; + result = { ...src }; } if (idx !== undefined) { result[idx] = this.deepCopy(src[idx], copy_namespace); } return result; - } + }; } -const attributeStore = new ObjectAttributes; +const attributeStore = new ObjectAttributes(); dispatcher.register(attributeStore.handleAction.bind(attributeStore)); export default attributeStore; From b0b8914c70e84643f9b61f34a92efd6401fcb9a8 Mon Sep 17 00:00:00 2001 From: mac-s-g Date: Sat, 16 Jan 2021 17:37:45 -0800 Subject: [PATCH 18/44] went-down-a-rabbit-hole --- .babelrc | 3 +- .nycrc | 2 +- dev-server/src/index.js | 172 +++++++++--------- package-lock.json | 37 ++++ package.json | 14 +- src/js/components/ArrayGroup.js | 3 +- src/js/components/DataTypes/Object.js | 5 +- test/tests/js/components/ArrayGroup-test.js | 103 ++++++----- .../js/helpers/stringifyVariable-test.js | 166 ++++++++--------- 9 files changed, 272 insertions(+), 233 deletions(-) diff --git a/.babelrc b/.babelrc index efc9473e..137d4bb6 100644 --- a/.babelrc +++ b/.babelrc @@ -2,6 +2,7 @@ "presets": ["react-app"], "plugins": [ "@babel/plugin-syntax-class-properties", - "@babel/plugin-syntax-jsx" + "@babel/plugin-syntax-jsx", + "react-html-attrs" ] } \ No newline at end of file diff --git a/.nycrc b/.nycrc index 687707a4..423612b2 100644 --- a/.nycrc +++ b/.nycrc @@ -1,7 +1,7 @@ { "plugins": ["transform-decorators-legacy"], "require": [ - "babel-register", + "@babel/register", "./test/testHelpers/requireSources.js" ] } \ No newline at end of file diff --git a/dev-server/src/index.js b/dev-server/src/index.js index 168bb3a2..52394c35 100644 --- a/dev-server/src/index.js +++ b/dev-server/src/index.js @@ -1,13 +1,13 @@ -"use strict" +'use strict'; //import react and reactDom for browser rendering -import React from "react" -import ReactDom from "react-dom" +import React from 'react'; +import ReactDom from 'react-dom'; -import Moment from "moment" +import Moment from 'moment'; //import the react-json-view component (installed with npm) -import JsonViewer from "./../../src/js/index" +import JsonViewer from './../../src/js/index'; //render 2 different examples of the react-json-view component ReactDom.render( @@ -15,40 +15,40 @@ ReactDom.render( {/* just pass in your JSON to the src attribute */} { - console.log("edit callback", e) - if (e.new_value == "error") { - return false + console.log('edit callback', e); + if (e.new_value == 'error') { + return false; } }} onDelete={e => { - console.log("delete callback", e) + console.log('delete callback', e); }} onAdd={e => { - console.log("add callback", e) - if (e.new_value == "error") { - return false + console.log('add callback', e); + if (e.new_value == 'error') { + return false; } }} onSelect={e => { - console.log("select callback", e) - console.log(e.namespace) + console.log('select callback', e); + console.log(e.namespace); }} displayObjectSize={true} - name={"dev-server"} + name={'dev-server'} enableClipboard={copy => { - console.log("you copied to clipboard!", copy) + console.log('you copied to clipboard!', copy); }} shouldCollapse={({ src, namespace, type }) => { - if (type === "array" && src.indexOf("test") > -1) { - return true - } else if (namespace.indexOf("moment") > -1) { - return true + if (type === 'array' && src.indexOf('test') > -1) { + return true; + } else if (namespace.indexOf('moment') > -1) { + return true; } - return false + return false; }} defaultValue="" /> @@ -62,26 +62,26 @@ ReactDom.render( validationMessage="You're doing something wrong." collapseStringsAfterLength={15} onEdit={e => { - console.log(e) - if (e.new_value === "error") { - return false + console.log(e); + if (e.new_value === 'error') { + return false; } }} onDelete={e => { - console.log(e) + console.log(e); }} onAdd={e => { - console.log(e) - if (e.new_value === "error") { - return false + console.log(e); + if (e.new_value === 'error') { + return false; } }} name={false} iconStyle="triangle" shouldCollapse={({ src, type }) => - type === "object" && + type === 'object' && src.constructor && - src.constructor.name === "Moment" + src.constructor.name === 'Moment' } /> @@ -91,7 +91,7 @@ ReactDom.render( @@ -102,7 +102,7 @@ ReactDom.render( @@ -113,7 +113,7 @@ ReactDom.render( { - console.log(edit) + console.log(edit); }} /> @@ -138,25 +138,25 @@ ReactDom.render( enableClipboard={false} src={getExampleJson1()} shouldCollapse={({ src, namespace, type }) => - namespace.indexOf("moment") > -1 + namespace.indexOf('moment') > -1 } theme={{ - base00: "white", - base01: "#ddd", - base02: "#ddd", - base03: "#444", - base04: "purple", - base05: "#444", - base06: "#444", - base07: "#444", - base08: "#444", - base09: "rgba(70, 70, 230, 1)", - base0A: "rgba(70, 70, 230, 1)", - base0B: "rgba(70, 70, 230, 1)", - base0C: "rgba(70, 70, 230, 1)", - base0D: "rgba(70, 70, 230, 1)", - base0E: "rgba(70, 70, 230, 1)", - base0F: "rgba(70, 70, 230, 1)" + base00: 'white', + base01: '#ddd', + base02: '#ddd', + base03: '#444', + base04: 'purple', + base05: '#444', + base06: '#444', + base07: '#444', + base08: '#444', + base09: 'rgba(70, 70, 230, 1)', + base0A: 'rgba(70, 70, 230, 1)', + base0B: 'rgba(70, 70, 230, 1)', + base0C: 'rgba(70, 70, 230, 1)', + base0D: 'rgba(70, 70, 230, 1)', + base0E: 'rgba(70, 70, 230, 1)', + base0F: 'rgba(70, 70, 230, 1)' }} /> @@ -168,8 +168,8 @@ ReactDom.render( src={getExampleJson4()} /> , - document.getElementById("app-container") -) + document.getElementById('app-container') +); /*-------------------------------------------------------------------------*/ /* the following functions just contain test json data for display */ @@ -178,11 +178,11 @@ ReactDom.render( //just a function to get an example JSON object function getExampleJson1() { return { - string: "this is a test string", + string: 'this is a test string', integer: 42, empty_array: [], empty_object: {}, - array: [1, 2, 3, "test"], + array: [1, 2, 3, 'test'], float: -2.757, undefined_var: undefined, parent: { @@ -190,90 +190,90 @@ function getExampleJson1() { sibling2: false, sibling3: null, isString: value => { - if (typeof value === "string") { - return "string" + if (typeof value === 'string') { + return 'string'; } else { - return "other" + return 'other'; } } }, - string_number: "1234", + string_number: '1234', date: new Date(), moment: Moment(), regexp: /[0-9]/gi - } + }; } //and another a function to get an example JSON object function getExampleJson2() { return { normalized: { - "1-grams": { + '1-grams': { body: 1, testing: 1 }, - "2-grams": { - "testing body": 1 + '2-grams': { + 'testing body': 1 }, - "3-grams": {} + '3-grams': {} }, noun_phrases: { body: 1 }, lemmatized: { - "1-grams": { + '1-grams': { test: 1, body: 1 }, - "2-grams": { - "test body": 1 + '2-grams': { + 'test body': 1 }, - "3-grams": {} + '3-grams': {} }, dependency: { - "1-grams": { + '1-grams': { testingVERBROOTtestingVERB: 1, bodyNOUNdobjtestingVERB: 1 }, - "2-grams": { - "testingVERBROOTtestingVERB bodyNOUNdobjtestingVERB": 1 + '2-grams': { + 'testingVERBROOTtestingVERB bodyNOUNdobjtestingVERB': 1 }, - "3-grams": {} + '3-grams': {} } - } + }; } function getExampleJson3() { return { example_information: - "this example has the collapsed prop set to true and the indentWidth prop is set to 8", + 'this example has the collapsed prop set to true and the indentWidth prop is set to 8', default_collapsed: true, collapsed_array: [ - "you expanded me", - "try collapsing and expanding the root node", - "i will still be expanded", + 'you expanded me', + 'try collapsing and expanding the root node', + 'i will still be expanded', { leaf_node: true } ] - } + }; } function getExampleJson4() { const large_array = new Array(225).fill( - "this is a large array full of items" - ) + 'this is a large array full of items' + ); - large_array.push(getExampleArray()) + large_array.push(getExampleArray()); - large_array.push(new Array(75).fill(Math.random())) + large_array.push(new Array(75).fill(Math.random())); - return large_array + return large_array; } function getExampleArray() { return [ - "you can also display arrays!", + 'you can also display arrays!', new Date(), 1, 2, @@ -281,5 +281,5 @@ function getExampleArray() { { pretty_cool: true } - ] + ]; } diff --git a/package-lock.json b/package-lock.json index 091bc95d..e484f15f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2332,6 +2332,37 @@ "@babel/plugin-transform-typescript": "^7.12.1" } }, + "@babel/register": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.12.10.tgz", + "integrity": "sha512-EvX/BvMMJRAA3jZgILWgbsrHwBQvllC5T8B29McyME8DvkdOxk4ujESfrMvME8IHSDvWXrmMXxPvA/lx2gqPLQ==", + "dev": true, + "requires": { + "find-cache-dir": "^2.0.0", + "lodash": "^4.17.19", + "make-dir": "^2.1.0", + "pirates": "^4.0.0", + "source-map-support": "^0.5.16" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, "@babel/runtime": { "version": "7.12.5", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", @@ -5474,6 +5505,12 @@ "integrity": "sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==", "dev": true }, + "babel-plugin-react-html-attrs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-html-attrs/-/babel-plugin-react-html-attrs-2.1.0.tgz", + "integrity": "sha512-UAXnfrH9c/V0D6efhJ41emUb0tOM83xFS1xGu7lQdFT/jBZ+3moK3pk/O3MfAmljEUt47nYUea77DduOXAMWWg==", + "dev": true + }, "babel-plugin-syntax-object-rest-spread": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", diff --git a/package.json b/package.json index 974a4c0e..409428cf 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,8 @@ "@babel/eslint-parser": "^7.12.1", "@babel/plugin-syntax-class-properties": "^7.12.1", "@babel/plugin-syntax-jsx": "^7.12.1", + "@babel/register": "7.12.10", + "babel-plugin-react-html-attrs": "^2.1.0", "chai": "^4.1.2", "coveralls": "^3.1.0", "css-loader": "^4.2.2", @@ -55,16 +57,16 @@ "build": "webpack --config webpack/webpack.config.js -p --display-error-details --progress --optimize-minimize", "prebuild": "npm run test:unit", "build:demo": "webpack --config webpack/webpack.config-demo.js -p --display-error-details --progress --optimize-minimize", - "dev": "webpack-dev-server --config webpack/webpack.config-dev.js --open", + "dev": "NODE_ENV=development webpack-dev-server --config webpack/webpack.config-dev.js --open", "modules:debug": "./docker/debug.sh", "modules:tree": "webpack --config webpack/webpack.config.js --json ", "modules:size-analyzer": "webpack --config webpack/webpack.config.js --json | webpack-bundle-size-analyzer", - "test": "npm run test:unit && npm run test:coverage", - "test:unit": "nyc mocha test/**/*-test.js", + "test": "NODE_ENV=test npm run test:unit && npm run test:coverage", + "test:unit": "NODE_ENV=test nyc mocha test/**/*-test.js", "test:coverage": "NODE_ENV=test nyc report --reporter=text-lcov | coveralls", - "test:watch": "nyc mocha -w test/**/*-test.js", - "lint": "BABEL_ENV=test ./node_modules/.bin/eslint src", - "lint-fixup": "BABEL_ENV=test ./node_modules/.bin/eslint src --ext .js,.jsx --fix", + "test:watch": "NODE_ENV=test nyc mocha -w test/**/*-test.js", + "lint": "NODE_ENV=test ./node_modules/.bin/eslint src", + "lint-fixup": "NODE_ENV=test ./node_modules/.bin/eslint src --ext .js,.jsx --fix", "upgrade-interactive": "npm-check --update" }, "repository": { diff --git a/src/js/components/ArrayGroup.js b/src/js/components/ArrayGroup.js index a4aa64e2..deae3f8e 100644 --- a/src/js/components/ArrayGroup.js +++ b/src/js/components/ArrayGroup.js @@ -53,8 +53,7 @@ export default class extends React.PureComponent { ...rest } = this.props; - let expanded_icon, - object_padding_left = 0; + let object_padding_left = 0; const array_group_padding_left = this.props.indentWidth * SINGLE_INDENT; diff --git a/src/js/components/DataTypes/Object.js b/src/js/components/DataTypes/Object.js index 12ab7e0b..831c6a4c 100644 --- a/src/js/components/DataTypes/Object.js +++ b/src/js/components/DataTypes/Object.js @@ -246,20 +246,20 @@ class RjvObject extends React.PureComponent { namespace } = this.props; const { object_type } = this.state; - let theme = props.theme; let elements = [], variable; let keys = Object.keys(variables || {}); if (this.props.sortKeys) { keys = keys.sort(); } + keys.forEach(name => { variable = new JsonVariable(name, variables[name]); if (parent_type === 'array_group' && index_offset) { variable.name = parseInt(variable.name) + index_offset; } - if (!Object.prototype.hasOwnProperty(variables, name)) { + if (!variables.hasOwnProperty(name)) { return; } else if (variable.type === 'object') { elements.push( @@ -308,6 +308,7 @@ class RjvObject extends React.PureComponent { ); } }); + return elements; }; } diff --git a/test/tests/js/components/ArrayGroup-test.js b/test/tests/js/components/ArrayGroup-test.js index 8273ab9d..7295be47 100644 --- a/test/tests/js/components/ArrayGroup-test.js +++ b/test/tests/js/components/ArrayGroup-test.js @@ -1,114 +1,113 @@ -import React from "react" -import { render, shallow, mount } from "enzyme" -import { expect } from "chai" +import React from 'react'; +import { render, shallow, mount } from 'enzyme'; +import { expect } from 'chai'; -import ArrayGroup from "./../../../../src/js/components/ArrayGroup" -import JsonObject from "./../../../../src/js/components/DataTypes/Object" -import JsonString from "./../../../../src/js/components/DataTypes/String" +import ArrayGroup from './../../../../src/js/components/ArrayGroup'; +import JsonObject from './../../../../src/js/components/DataTypes/Object'; +import JsonString from './../../../../src/js/components/DataTypes/String'; -describe("", function() { - var large_array = new Array(15).fill("test") +describe('', function () { + var large_array = new Array(15).fill('test'); - it("ArrayGroup mount", function() { + it('ArrayGroup mount', function () { const wrapper = render( - ) + ); - expect(wrapper.find(".array-group").length).to.equal(3) - }) + expect(wrapper.find('.array-group').length).to.equal(3); + }); - it("ArrayGroup expands and collapses", function() { + it('ArrayGroup expands and collapses', function () { const wrapper = shallow( - ) + ); - wrapper - .find(".array-group-brace") - .first() - .simulate("click") + wrapper.find('.array-group-brace').first().simulate('click'); - expect(wrapper.state().expanded[0]).to.equal(true) + expect(wrapper.state().expanded[0]).to.equal(true); wrapper - .find(".array-group") + .find('.array-group') .first() - .find(".icon-container") - .simulate("click") + .find('.icon-container') + .simulate('click'); - expect(wrapper.state().expanded[0]).to.equal(false) - }) + expect(wrapper.state().expanded[0]).to.equal(false); + }); - it("ArrayGroup displays arrays on expansion", function() { + it('ArrayGroup displays arrays on expansion', function () { const wrapper = mount( - ) + ); - wrapper.setState({ expanded: { 0: true } }) + wrapper.setState({ expanded: { 0: true } }); - expect(wrapper.find(JsonObject).length).to.equal(1) + expect(wrapper.find(JsonObject).length).to.equal(1); - expect(wrapper.find(JsonObject).find(JsonString).length).to.equal(5) - }) + expect(wrapper.find(JsonObject).find(JsonString).length).to.equal(5); + }); - it("ArrayGroup paginates groups accurately", function() { - var test_array = new Array(17).fill("test") + it('ArrayGroup paginates groups accurately', function () { + var test_array = new Array(17).fill('test'); const wrapper = mount( - ) + ); - expect(wrapper.find(".array-group").length).to.equal(4) + expect(wrapper.find('.array-group').length).to.equal(4); - wrapper.setState({ expanded: { 3: true } }) + wrapper.setState({ expanded: { 3: true } }); expect( - wrapper - .find(".array-group") - .last() - .find(JsonString).length - ).to.equal(2) - }) - - it("ArrayGroup renders at root", function() { + wrapper.find('.array-group').last().find(JsonString).length + ).to.equal(2); + }); + + it('ArrayGroup renders at root', function () { const wrapper = render( - ) + ); - expect(wrapper.find(".array-group").length).to.equal(3) - }) -}) + expect(wrapper.find('.array-group').length).to.equal(3); + }); +}); diff --git a/test/tests/js/helpers/stringifyVariable-test.js b/test/tests/js/helpers/stringifyVariable-test.js index 077c8fb8..2d364fde 100644 --- a/test/tests/js/helpers/stringifyVariable-test.js +++ b/test/tests/js/helpers/stringifyVariable-test.js @@ -1,88 +1,88 @@ -import React from "react" -import { expect } from "chai" +import React from 'react'; +import { expect } from 'chai'; -import stringifyVariable from "./../../../../src/js/helpers/stringifyVariable" +import stringifyVariable from './../../../../src/js/helpers/stringifyVariable'; -describe("stringifyVariable", function() { - it("stringifyVariable object", function() { - let test = { a: true } +describe('stringifyVariable', function () { + it('stringifyVariable object', function () { + let test = { a: true }; expect(stringifyVariable(test)).to.equal( - JSON.stringify(test, null, " ") - ) - }) + JSON.stringify(test, null, ' ') + ); + }); - it("stringifyVariable array", function() { - let test = [1, 2, 3] + it('stringifyVariable array', function () { + let test = [1, 2, 3]; expect(stringifyVariable(test)).to.equal( - JSON.stringify(test, null, " ") - ) - }) - - it("stringifyVariable integers", function() { - let test = 5 - expect(stringifyVariable(test)).to.equal("5") - - test = -15 - expect(stringifyVariable(test)).to.equal("-15") - - test = 0 - expect(stringifyVariable(test)).to.equal("0") - }) - - it("stringifyVariable floats", function() { - let test = 1.123 - expect(stringifyVariable(test)).to.equal("1.123") - - test = -10.123 - expect(stringifyVariable(test)).to.equal("-10.123") - }) - - it("stringifyVariable booleans", function() { - let test = true - expect(stringifyVariable(test)).to.equal("true") - - test = false - expect(stringifyVariable(test)).to.equal("false") - }) - - it("stringifyVariable NaN", function() { - let test = NaN - expect(stringifyVariable(test)).to.equal("NaN") - }) - - it("stringifyVariable null", function() { - let test = null - expect(stringifyVariable(test)).to.equal("null") - }) - - it("stringifyVariable undefined", function() { - let test = undefined - expect(stringifyVariable(test)).to.equal("undefined") - }) - - it("stringifyVariable strings", function() { - let test = "test string" - expect(stringifyVariable(test)).to.equal("test string") - - test = "" - expect(stringifyVariable(test)).to.equal("") - }) - - it("stringifyVariable functions", function() { - let test = function(e) {} - expect(stringifyVariable(test)).to.equal("function test(e) {}") - - test = e => {} - expect(stringifyVariable(test)).to.equal("function test(e) {}") - }) - - it("stringifyVariable date", function() { - let test = new Date() - expect(stringifyVariable(test)).to.equal(test.toString()) - }) - - it("stringifyVariable regex", function() { - let regex = /[0-9]/gi - expect(stringifyVariable(regex)).to.equal(regex.toString()) - }) -}) + JSON.stringify(test, null, ' ') + ); + }); + + it('stringifyVariable integers', function () { + let test = 5; + expect(stringifyVariable(test)).to.equal('5'); + + test = -15; + expect(stringifyVariable(test)).to.equal('-15'); + + test = 0; + expect(stringifyVariable(test)).to.equal('0'); + }); + + it('stringifyVariable floats', function () { + let test = 1.123; + expect(stringifyVariable(test)).to.equal('1.123'); + + test = -10.123; + expect(stringifyVariable(test)).to.equal('-10.123'); + }); + + it('stringifyVariable booleans', function () { + let test = true; + expect(stringifyVariable(test)).to.equal('true'); + + test = false; + expect(stringifyVariable(test)).to.equal('false'); + }); + + it('stringifyVariable NaN', function () { + let test = NaN; + expect(stringifyVariable(test)).to.equal('NaN'); + }); + + it('stringifyVariable null', function () { + let test = null; + expect(stringifyVariable(test)).to.equal('null'); + }); + + it('stringifyVariable undefined', function () { + let test = undefined; + expect(stringifyVariable(test)).to.equal('undefined'); + }); + + it('stringifyVariable strings', function () { + let test = 'test string'; + expect(stringifyVariable(test)).to.equal('test string'); + + test = ''; + expect(stringifyVariable(test)).to.equal(''); + }); + + it('stringifyVariable functions', function () { + function test(e) {} + expect(stringifyVariable(test)).to.equal('function test(e) {}'); + + let testArrow = e => {}; + expect(stringifyVariable(testArrow)).to.equal('e => {}'); + }); + + it('stringifyVariable date', function () { + let test = new Date(); + expect(stringifyVariable(test)).to.equal(test.toString()); + }); + + it('stringifyVariable regex', function () { + let regex = /[0-9]/gi; + expect(stringifyVariable(regex)).to.equal(regex.toString()); + }); +}); From 875a3f4a4e552259487272583430ac43bf2003e7 Mon Sep 17 00:00:00 2001 From: mac-s-g Date: Sat, 16 Jan 2021 17:48:55 -0800 Subject: [PATCH 19/44] wrong git user From 937d7832543b35c6e0875dcdf35207bbd13193f3 Mon Sep 17 00:00:00 2001 From: mac-s-g Date: Sat, 16 Jan 2021 18:05:57 -0800 Subject: [PATCH 20/44] upgraded some dependencies, upgraded docker node image --- Dockerfile | 2 +- package-lock.json | 2230 ++++++++++++++------------------------------- package.json | 30 +- 3 files changed, 721 insertions(+), 1541 deletions(-) diff --git a/Dockerfile b/Dockerfile index bf0f3ea8..2bcb7bdc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:8.4.0-slim +FROM node:14.15.4-buster-slim MAINTAINER mac # install the node modules at container build time diff --git a/package-lock.json b/package-lock.json index e484f15f..41e73ca6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4788,15 +4788,6 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, - "ansi-align": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", - "dev": true, - "requires": { - "string-width": "^2.0.0" - } - }, "ansi-colors": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", @@ -4961,9 +4952,9 @@ "dev": true }, "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, "array-from": { @@ -5118,12 +5109,6 @@ } } }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", @@ -6018,12 +6003,6 @@ "type-is": "~1.6.17" }, "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -6053,6 +6032,14 @@ "dns-txt": "^2.0.2", "multicast-dns": "^6.0.1", "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + } } }, "boolbase": { @@ -6061,58 +6048,6 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, - "boxen": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", - "dev": true, - "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -6323,9 +6258,9 @@ "dev": true }, "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", "dev": true }, "cacache": { @@ -6462,26 +6397,6 @@ "caller-callsite": "^2.0.0" } }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, - "callsite-record": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/callsite-record/-/callsite-record-3.2.2.tgz", - "integrity": "sha1-mgOQZC5D/ou4I5ReUUZPafQWQ94=", - "dev": true, - "requires": { - "callsite": "^1.0.0", - "chalk": "^1.1.1", - "error-stack-parser": "^1.3.3", - "highlight-es": "^1.0.0", - "lodash": "4.6.1 || ^4.16.1", - "pinkie-promise": "^2.0.0" - } - }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -6541,12 +6456,6 @@ "rsvp": "^4.8.4" } }, - "capture-stack-trace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", - "dev": true - }, "case-sensitive-paths-webpack-plugin": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", @@ -6696,12 +6605,6 @@ "tslib": "^1.9.0" } }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", - "dev": true - }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -6770,24 +6673,6 @@ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true }, - "cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", - "dev": true - }, - "cli-spinners": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-0.1.2.tgz", - "integrity": "sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw=", - "dev": true - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, "cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", @@ -7013,6 +6898,14 @@ "on-headers": "~1.0.2", "safe-buffer": "5.1.2", "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + } } }, "concat-map": { @@ -7059,20 +6952,6 @@ } } }, - "configstore": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.5.tgz", - "integrity": "sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA==", - "dev": true, - "requires": { - "dot-prop": "^4.2.1", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" - } - }, "confusing-browser-globals": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", @@ -7264,15 +7143,6 @@ } } }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "dev": true, - "requires": { - "capture-stack-trace": "^1.0.0" - } - }, "create-hash": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", @@ -7313,16 +7183,6 @@ "which": "^1.2.9" } }, - "cross-spawn-async": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz", - "integrity": "sha1-hF/wwINKPe2dFg2sptOQkGuyiMw=", - "dev": true, - "requires": { - "lru-cache": "^4.0.0", - "which": "^1.2.8" - } - }, "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", @@ -7423,9 +7283,9 @@ } }, "css-loader": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-4.2.2.tgz", - "integrity": "sha512-omVGsTkZPVwVRpckeUnLshPp12KsmMSLqYxs12+RzM9jRR5Y+Idn/tBffjXRvOE+qW7if24cuceFJqYR5FmGBg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-4.3.0.tgz", + "integrity": "sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg==", "dev": true, "requires": { "camelcase": "^6.0.0", @@ -7438,14 +7298,14 @@ "postcss-modules-scope": "^2.2.0", "postcss-modules-values": "^3.0.0", "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.0", + "schema-utils": "^2.7.1", "semver": "^7.3.2" }, "dependencies": { "camelcase": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz", - "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", "dev": true }, "json5": { @@ -7468,21 +7328,39 @@ "json5": "^2.1.2" } }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dev": true, "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" } }, "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } @@ -7774,12 +7652,6 @@ "whatwg-url": "^8.0.0" } }, - "de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", - "dev": true - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -7836,12 +7708,6 @@ "regexp.prototype.flags": "^1.2.0" } }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -7998,275 +7864,77 @@ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true }, - "depcheck": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/depcheck/-/depcheck-0.8.3.tgz", - "integrity": "sha512-xcLTnaovCFFTts5Ge7mUUhMGHSu6eRfftvVvOjN7gXO5EFUhJfX6UQa1b08a0SIwKfzG9eKNn5mzZlXp0mZARA==", + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "dev": true, "requires": { - "@babel/parser": "^7.3.1", - "@babel/traverse": "^7.2.3", - "builtin-modules": "^3.0.0", - "deprecate": "^1.0.0", - "deps-regex": "^0.1.4", - "js-yaml": "^3.4.2", - "lodash": "^4.17.11", - "minimatch": "^3.0.2", - "node-sass-tilde-importer": "^1.0.2", - "please-upgrade-node": "^3.1.1", - "require-package-name": "^2.0.1", - "resolve": "^1.10.0", - "vue-template-compiler": "^2.6.10", - "walkdir": "^0.3.2", - "yargs": "^13.2.2" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.11.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.4.tgz", - "integrity": "sha512-Rn26vueFx0eOoz7iifCN2UHT6rGtnkSGWSoDRIy8jZN3B91PzeSULbswfLoOWuTuAcNwpG/mxy+uCTDnZ9Mp1g==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.0.tgz", - "integrity": "sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.11.0", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.11.0", - "@babel/types": "^7.11.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.0.tgz", - "integrity": "sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - } - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "deprecate": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deprecate/-/deprecate-1.1.1.tgz", - "integrity": "sha512-ZGDXefq1xknT292LnorMY5s8UVU08/WKdzDZCUT6t9JzsiMSP4uzUhgpqugffNVcT5WC6wMBiSQ+LFjlv3v7iQ==", - "dev": true - }, - "deps-regex": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deps-regex/-/deps-regex-0.1.4.tgz", - "integrity": "sha1-UYZnt2kUYKXn4KNBvnbrfOgJAYQ=", - "dev": true - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", - "dev": true - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "dev": true, - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - } - }, - "diff": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", - "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", - "dev": true - }, - "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dev": true, + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + } + }, + "diff": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", + "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", + "dev": true + }, + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" }, "dependencies": { "bn.js": { @@ -8444,15 +8112,6 @@ } } }, - "dot-prop": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", - "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", - "dev": true, - "requires": { - "is-obj": "^1.0.0" - } - }, "dotenv": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", @@ -8471,12 +8130,6 @@ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, "duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", @@ -8708,9 +8361,9 @@ } }, "enzyme-adapter-react-16": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.3.tgz", - "integrity": "sha512-98rqNI4n9HZslWIPuuwy4hK1bxRuMy+XX0CU1dS8iUqcgisTxeBaap6oPp2r4MWC8OphCbbqAT8EU/xHz3zIaQ==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.5.tgz", + "integrity": "sha512-33yUJGT1nHFQlbVI5qdo5Pfqvu/h4qPwi1o0a6ZZsjpiqq92a3HjynDhwd1IeED+Su60HDWV8mxJqkTnLYdGkw==", "dev": true, "requires": { "enzyme-adapter-utils": "^1.13.1", @@ -8725,17 +8378,82 @@ } }, "enzyme-adapter-utils": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.13.1.tgz", - "integrity": "sha512-5A9MXXgmh/Tkvee3bL/9RCAAgleHqFnsurTYCbymecO4ohvtNO5zqIhHxV370t7nJAwaCfkgtffarKpC0GPt0g==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.14.0.tgz", + "integrity": "sha512-F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg==", "dev": true, "requires": { "airbnb-prop-types": "^2.16.0", - "function.prototype.name": "^1.1.2", - "object.assign": "^4.1.0", - "object.fromentries": "^2.0.2", + "function.prototype.name": "^1.1.3", + "has": "^1.0.3", + "object.assign": "^4.1.2", + "object.fromentries": "^2.0.3", "prop-types": "^15.7.2", "semver": "^5.7.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "function.prototype.name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.3.tgz", + "integrity": "sha512-H51qkbNSp8mtkJt+nyW1gyStBiKZxfRqySNUR99ylq6BPXHKI4SEvIlTKp4odLfjRKJV04DFWMU3G/YRlQOsag==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "functions-have-names": "^1.2.1" + } + }, + "is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.fromentries": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.3.tgz", + "integrity": "sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + } + } } }, "enzyme-shallow-equal": { @@ -8766,15 +8484,6 @@ "is-arrayish": "^0.2.1" } }, - "error-stack-parser": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz", - "integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=", - "dev": true, - "requires": { - "stackframe": "^0.3.1" - } - }, "es-abstract": { "version": "1.17.6", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", @@ -9871,46 +9580,12 @@ "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", "dev": true }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } - } - }, "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", - "dev": true - }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -10033,12 +9708,6 @@ "vary": "~1.1.2" }, "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -10261,9 +9930,9 @@ } }, "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -10449,12 +10118,6 @@ } } }, - "find-parent-dir": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz", - "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=", - "dev": true - }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -10555,9 +10218,9 @@ } }, "follow-redirects": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", - "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", + "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==", "dev": true }, "for-in": { @@ -10952,12 +10615,6 @@ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", "dev": true }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -10973,12 +10630,6 @@ "assert-plus": "^1.0.0" } }, - "giturl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/giturl/-/giturl-1.0.1.tgz", - "integrity": "sha512-wQourBdI13n8tbjcZTDl6k+ZrCRMU6p9vfp9jknZq+zfWc8xXNztpZFM4XkPHVzHcMSUZxEMYYKZjIGkPlei6Q==", - "dev": true - }, "glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", @@ -11012,15 +10663,6 @@ "process": "^0.11.10" } }, - "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", - "dev": true, - "requires": { - "ini": "^1.3.4" - } - }, "global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", @@ -11083,25 +10725,6 @@ "minimatch": "~3.0.2" } }, - "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", - "dev": true, - "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" - } - }, "graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", @@ -11294,54 +10917,6 @@ "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", "dev": true }, - "highlight-es": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/highlight-es/-/highlight-es-1.0.3.tgz", - "integrity": "sha512-s/SIX6yp/5S1p8aC/NRDC1fwEb+myGIfp8/TzZz0rtAv8fzsdX7vGl3Q1TrXCsczFq8DI3CBFBCySPClfBSdbg==", - "dev": true, - "requires": { - "chalk": "^2.4.0", - "is-es2016-keyword": "^1.0.0", - "js-tokens": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -11622,6 +11197,12 @@ } } }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, "http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", @@ -11766,12 +11347,6 @@ } } }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true - }, "import-local": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", @@ -11963,10 +11538,13 @@ } }, "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", - "dev": true + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } }, "is-arrayish": { "version": "0.2.1", @@ -12002,15 +11580,6 @@ "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", "dev": true }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "dev": true, - "requires": { - "ci-info": "^1.5.0" - } - }, "is-color-stop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", @@ -12091,12 +11660,6 @@ "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", "dev": true }, - "is-es2016-keyword": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-es2016-keyword/-/is-es2016-keyword-1.0.0.tgz", - "integrity": "sha1-9uVOEQxeT40mXmnS7Q6vjPX0dxg=", - "dev": true - }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -12136,16 +11699,6 @@ "is-extglob": "^2.1.1" } }, - "is-installed-globally": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", - "dev": true, - "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" - } - }, "is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", @@ -12158,12 +11711,6 @@ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true }, - "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", - "dev": true - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -12222,15 +11769,6 @@ } } }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", @@ -12252,12 +11790,6 @@ "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", "dev": true }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", - "dev": true - }, "is-regex": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", @@ -12279,12 +11811,6 @@ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "dev": true - }, "is-root": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", @@ -15218,9 +14744,9 @@ "dev": true }, "klona": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.3.tgz", - "integrity": "sha512-CgPOT3ZadDpXxKcfV56lEQ9OQSZ42Mk26gnozI+uN/k39vzD8toUhRQoqsX0m9Q3eMPEfsLWmtyUpK/yqST4yg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", "dev": true }, "language-subtag-registry": { @@ -15248,15 +14774,6 @@ "webpack-sources": "^1.1.0" } }, - "latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", - "dev": true, - "requires": { - "package-json": "^4.0.0" - } - }, "lcov-parse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", @@ -15301,33 +14818,7 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "load-yaml-file": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.1.1.tgz", - "integrity": "sha512-G910TofXH7u0NfslAzqv6c9pHpvBzObNOo2hMG0/KUDpdHeFY0wE/fTBMExt0Gb12gg5bXS7Hj6pb0e+xbBXLA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.13.0", - "pify": "^2.3.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } } @@ -15447,12 +14938,6 @@ "lodash._reinterpolate": "^3.0.0" } }, - "lodash.toarray": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", - "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=", - "dev": true - }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -15466,9 +14951,9 @@ "dev": true }, "loglevel": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz", - "integrity": "sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", "dev": true }, "lolex": { @@ -15501,12 +14986,6 @@ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", "dev": true }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, "lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", @@ -15526,15 +15005,6 @@ "sourcemap-codec": "^1.4.4" } }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, "makeerror": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", @@ -15982,9 +15452,9 @@ } }, "moment": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz", - "integrity": "sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ==", + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", "dev": true }, "moo": { @@ -16156,12 +15626,19 @@ } }, "node": { - "version": "10.22.0", - "resolved": "https://registry.npmjs.org/node/-/node-10.22.0.tgz", - "integrity": "sha512-sEMuCzx8OvYOmRoSAtISr9nWjP4o04+yFm16I0AqowVAP3rulnvH0kNr+K8ih2ES1hEbXaRXtkpYogvCmSFLKw==", + "version": "10.23.0", + "resolved": "https://registry.npmjs.org/node/-/node-10.23.0.tgz", + "integrity": "sha512-iC4soH/Ej+F/ncc5s1vs5w1rp/iIKym2p8CM05VsfLHkj0FFMUoYbsTSXtICFmFeou9FCGNs0XrPImhP3xlAPA==", "dev": true, "requires": { "node-bin-setup": "^1.0.0" + }, + "dependencies": { + "node-linux-x64": { + "version": "10.23.0", + "resolved": "https://registry.npmjs.org/node-linux-x64/-/node-linux-x64-10.23.0.tgz", + "integrity": "sha512-KuUWzD+jGcycoKQ1+9slLfgMSBRAysXYq9jI/YtjtdYS/j2wFAgu+9AEhlxzA3VocM6xv8QMS2SHoIknd+wl8g==" + } } }, "node-bin-setup": { @@ -16170,15 +15647,6 @@ "integrity": "sha512-uPIxXNis1CRbv1DwqAxkgBk5NFV3s7cMN/Gf556jSw6jBvV7ca4F9lRL/8cALcZecRibeqU+5dFYqFFmzv5a0Q==", "dev": true }, - "node-emoji": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", - "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", - "dev": true, - "requires": { - "lodash.toarray": "^4.4.0" - } - }, "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", @@ -16189,9 +15657,9 @@ } }, "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", "dev": true }, "node-gyp": { @@ -16422,15 +15890,6 @@ } } }, - "node-sass-tilde-importer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/node-sass-tilde-importer/-/node-sass-tilde-importer-1.0.2.tgz", - "integrity": "sha512-Swcmr38Y7uB78itQeBm3mThjxBy9/Ah/ykPIaURY/L6Nec9AyRoL/jJ7ECfMR+oZeCTVQNxVMu/aHU+TLRVbdg==", - "dev": true, - "requires": { - "find-parent-dir": "^0.3.0" - } - }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", @@ -16476,222 +15935,6 @@ "sort-keys": "^1.0.0" } }, - "npm-check": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/npm-check/-/npm-check-5.9.2.tgz", - "integrity": "sha512-YlTZGP1A8+Rad5wldGil9STYxgZpZl18X6GZI03f4Ch6qTI1TLHIYM0ISco19qgg8M3UHfooEqMfYOpOkF3AeA==", - "dev": true, - "requires": { - "babel-runtime": "^6.6.1", - "callsite-record": "^3.0.0", - "chalk": "^1.1.3", - "co": "^4.6.0", - "depcheck": "0.8.3", - "execa": "^0.2.2", - "giturl": "^1.0.0", - "global-modules": "^1.0.0", - "globby": "^4.0.0", - "inquirer": "^0.12.0", - "is-ci": "^1.0.8", - "lodash": "^4.17.15", - "meow": "^3.7.0", - "minimatch": "^3.0.2", - "node-emoji": "^1.0.3", - "ora": "^0.2.1", - "package-json": "^4.0.1", - "path-exists": "^2.1.0", - "pkg-dir": "^1.0.0", - "preferred-pm": "^1.0.1", - "semver": "^5.0.1", - "semver-diff": "^2.0.0", - "text-table": "^0.2.0", - "throat": "^2.0.2", - "update-notifier": "^2.1.0", - "xtend": "^4.0.1" - }, - "dependencies": { - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", - "dev": true - }, - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", - "dev": true, - "requires": { - "restore-cursor": "^1.0.1" - } - }, - "execa": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.2.2.tgz", - "integrity": "sha1-4urUcsLDGq1vc/GslW7vReEjIMs=", - "dev": true, - "requires": { - "cross-spawn-async": "^2.1.1", - "npm-run-path": "^1.0.0", - "object-assign": "^4.0.1", - "path-key": "^1.0.0", - "strip-eof": "^1.0.0" - } - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "globby": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz", - "integrity": "sha1-CA9UVJ7BuCpsYOYx/ILhIR2+lfg=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^6.0.1", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "inquirer": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", - "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", - "dev": true, - "requires": { - "ansi-escapes": "^1.1.0", - "ansi-regex": "^2.0.0", - "chalk": "^1.0.0", - "cli-cursor": "^1.0.1", - "cli-width": "^2.0.0", - "figures": "^1.3.5", - "lodash": "^4.3.0", - "readline2": "^1.0.1", - "run-async": "^0.1.0", - "rx-lite": "^3.1.2", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.0", - "through": "^2.3.6" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "npm-run-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-1.0.0.tgz", - "integrity": "sha1-9cMr9ZX+ga6Sfa7FLoL4sACsPI8=", - "dev": true, - "requires": { - "path-key": "^1.0.0" - } - }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-key": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-1.0.0.tgz", - "integrity": "sha1-XVPVeAGWRsDWiADbThRua9wqx68=", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true, - "requires": { - "find-up": "^1.0.0" - } - }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "dev": true, - "requires": { - "exit-hook": "^1.0.0", - "onetime": "^1.0.0" - } - }, - "run-async": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", - "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", - "dev": true, - "requires": { - "once": "^1.3.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -17237,9 +16480,9 @@ } }, "opener": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", - "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", "dev": true }, "opn": { @@ -17275,45 +16518,6 @@ "word-wrap": "~1.2.3" } }, - "ora": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/ora/-/ora-0.2.3.tgz", - "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=", - "dev": true, - "requires": { - "chalk": "^1.1.1", - "cli-cursor": "^1.0.2", - "cli-spinners": "^0.1.2", - "object-assign": "^4.0.1" - }, - "dependencies": { - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", - "dev": true, - "requires": { - "restore-cursor": "^1.0.1" - } - }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true - }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "dev": true, - "requires": { - "exit-hook": "^1.0.0", - "onetime": "^1.0.0" - } - } - } - }, "original": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", @@ -17417,18 +16621,6 @@ "release-zalgo": "^1.0.0" } }, - "package-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", - "dev": true, - "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" - } - }, "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -17685,12 +16877,6 @@ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", "dev": true }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", @@ -17733,15 +16919,6 @@ "find-up": "^3.0.0" } }, - "please-upgrade-node": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", - "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", - "dev": true, - "requires": { - "semver-compare": "^1.0.0" - } - }, "pnp-webpack-plugin": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", @@ -17763,18 +16940,18 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -18917,16 +18094,6 @@ "uniq": "^1.0.1" } }, - "preferred-pm": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-1.0.1.tgz", - "integrity": "sha512-9Uxgin5Xnsl67DBvlNFsmDIlBuG9/XKK2cVBTj//7/7wW6ZY+IC9/GlLqxyHABpoasAsJ1MARFOdYPxMUtndxA==", - "dev": true, - "requires": { - "path-exists": "^3.0.0", - "which-pm": "^1.0.1" - } - }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -19288,12 +18455,6 @@ "unpipe": "1.0.0" }, "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -19305,22 +18466,10 @@ } } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, "react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -19654,9 +18803,9 @@ } }, "react-dom": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", - "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -19681,9 +18830,9 @@ } }, "react-hot-loader": { - "version": "4.12.21", - "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.12.21.tgz", - "integrity": "sha512-Ynxa6ROfWUeKWsTHxsrL2KMzujxJVPjs385lmB2t5cHUxdoRPGind9F00tOkdc1l5WBleOF4XEAMILY1KPIIDA==", + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.13.0.tgz", + "integrity": "sha512-JrLlvUPqh6wIkrK2hZDfOyq/Uh/WeVEr8nc7hkn2/3Ul0sx1Kr5y4kOGNacNRoj7RhwLNcQ3Udf1KJXrqc0ZtA==", "dev": true, "requires": { "fast-levenshtein": "^2.0.6", @@ -19910,6 +19059,27 @@ "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", "dev": true }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, "bfj": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", @@ -19922,6 +19092,12 @@ "tryer": "^1.0.1" } }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, "cacache": { "version": "15.0.5", "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", @@ -19959,6 +19135,38 @@ "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==", "dev": true }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1" + } + } + } + }, "chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -20004,6 +19212,15 @@ "estraverse": "^4.1.1" } }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, "find-cache-dir": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", @@ -20025,6 +19242,27 @@ "path-exists": "^4.0.0" } }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, "html-webpack-plugin": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz", @@ -20064,6 +19302,21 @@ } } }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, "json5": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", @@ -20190,6 +19443,32 @@ "find-up": "^4.0.0" } }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, "resolve": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", @@ -20276,6 +19555,51 @@ "randombytes": "^2.1.0" } }, + "sockjs": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", + "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.4.0", + "websocket-driver": "0.6.5" + } + }, + "sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "dev": true, + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, "ssri": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", @@ -20285,6 +19609,15 @@ "minipass": "^3.1.1" } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "style-loader": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", @@ -20295,6 +19628,15 @@ "schema-utils": "^2.7.0" } }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, "tar": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", @@ -20649,6 +19991,84 @@ } } }, + "webpack-dev-server": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", + "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.20", + "sockjs-client": "1.4.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "websocket-driver": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "dev": true, + "requires": { + "websocket-extensions": ">=0.1.1" + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -20669,9 +20089,9 @@ } }, "react-test-renderer": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.13.1.tgz", - "integrity": "sha512-Sn2VRyOK2YJJldOqoh8Tn/lWQ+ZiKhyZTPtaO0Q6yNj+QDbmRkVFap6pZPy3YQk8DScRDfyqm/KxKYP9gCMRiQ==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.14.0.tgz", + "integrity": "sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==", "dev": true, "requires": { "object-assign": "^4.1.1", @@ -20751,34 +20171,6 @@ "picomatch": "^2.2.1" } }, - "readline2": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", - "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "mute-stream": "0.0.5" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "mute-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", - "dev": true - } - } - }, "recursive-readdir": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", @@ -20880,25 +20272,6 @@ "unicode-match-property-value-ecmascript": "^1.2.0" } }, - "registry-auth-token": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", - "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", - "dev": true, - "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "dev": true, - "requires": { - "rc": "^1.0.1" - } - }, "regjsgen": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", @@ -21043,12 +20416,6 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, - "require-package-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz", - "integrity": "sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk=", - "dev": true - }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -21396,12 +20763,6 @@ "aproba": "^1.1.1" } }, - "rx-lite": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", - "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", - "dev": true - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -21509,18 +20870,36 @@ } }, "sass-loader": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.0.1.tgz", - "integrity": "sha512-b2PSldKVTS3JcFPHSrEXh3BeAfR7XknGiGCAO5aHruR3Pf3kqLP3Gb2ypXLglRrAzgZkloNxLZ7GXEGDX0hBUQ==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", + "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", "dev": true, "requires": { - "klona": "^2.0.3", + "klona": "^2.0.4", "loader-utils": "^2.0.0", "neo-async": "^2.6.2", - "schema-utils": "^2.7.0", + "schema-utils": "^3.0.0", "semver": "^7.3.2" }, "dependencies": { + "@types/json-schema": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "json5": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", @@ -21541,21 +20920,39 @@ "json5": "^2.1.2" } }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", "dev": true, "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } }, "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } @@ -21624,12 +21021,12 @@ "dev": true }, "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", "dev": true, "requires": { - "node-forge": "0.9.0" + "node-forge": "^0.10.0" } }, "semver": { @@ -21638,21 +21035,6 @@ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, - "semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true - }, - "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", - "dev": true, - "requires": { - "semver": "^5.0.3" - } - }, "send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", @@ -22068,52 +21450,43 @@ } }, "sockjs": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", - "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", "dev": true, "requires": { - "faye-websocket": "^0.10.0", + "faye-websocket": "^0.11.3", "uuid": "^3.4.0", - "websocket-driver": "0.6.5" + "websocket-driver": "^0.7.4" } }, "sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", "dev": true, "requires": { - "debug": "^3.2.5", + "debug": "^3.2.6", "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.4.7" }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "websocket-driver": ">=0.5.1" + "ms": "^2.1.1" } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -22277,12 +21650,12 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -22308,12 +21681,12 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -22388,12 +21761,6 @@ } } }, - "stackframe": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz", - "integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=", - "dev": true - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -22782,20 +22149,14 @@ "get-stdin": "^4.0.1" } }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, "style-loader": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz", - "integrity": "sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", + "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==", "dev": true, "requires": { "loader-utils": "^2.0.0", - "schema-utils": "^2.6.6" + "schema-utils": "^2.7.0" }, "dependencies": { "json5": { @@ -22819,14 +22180,14 @@ } }, "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dev": true, "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" } } } @@ -23107,15 +22468,6 @@ } } }, - "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", - "dev": true, - "requires": { - "execa": "^0.7.0" - } - }, "terminal-link": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", @@ -23172,85 +22524,6 @@ "worker-farm": "^1.7.0" }, "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -23276,18 +22549,6 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "throat": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/throat/-/throat-2.0.2.tgz", - "integrity": "sha1-qfzoCLaeEzpjJZB4DzQsMKYkmwI=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -23330,12 +22591,6 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true - }, "timers-browserify": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", @@ -23752,67 +23007,12 @@ } } }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", - "dev": true - }, "upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true }, - "update-notifier": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", - "dev": true, - "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "upper-case": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", @@ -23924,15 +23124,6 @@ "requires-port": "^1.0.0" } }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "requires": { - "prepend-http": "^1.0.1" - } - }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -24056,16 +23247,6 @@ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, - "vue-template-compiler": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz", - "integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==", - "dev": true, - "requires": { - "de-indent": "^1.0.2", - "he": "^1.1.0" - } - }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -24084,12 +23265,6 @@ "xml-name-validator": "^3.0.0" } }, - "walkdir": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.3.2.tgz", - "integrity": "sha512-0Twghia4Z5wDGDYWURlhZmI47GvERMCsXIu0QZWVVZyW9ZjpbbZvD9Zy9M6cWiQQRRbAcYajIyKNavaZZDt1Uw==", - "dev": true - }, "walker": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", @@ -24271,9 +23446,9 @@ "dev": true }, "webpack": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.1.tgz", - "integrity": "sha512-4UOGAohv/VGUNQJstzEywwNxqX417FnjZgZJpJQegddzPmTvph37eBIRbRTfdySXzVtJXLJfbMN3mMYhM6GdmQ==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -24284,7 +23459,7 @@ "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", + "enhanced-resolve": "^4.5.0", "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.4.0", @@ -24301,6 +23476,29 @@ "webpack-sources": "^1.4.1" }, "dependencies": { + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, "eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", @@ -24310,13 +23508,37 @@ "esrecurse": "^4.1.0", "estraverse": "^4.1.1" } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } } } }, "webpack-bundle-analyzer": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz", - "integrity": "sha512-PODQhAYVEourCcOuU+NiYI7WdR8QyELZGgPvB1y2tjbUpbmcQOt5Q7jEK+ttd5se0KSBKD9SXHCEozS++Wllmw==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz", + "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==", "dev": true, "requires": { "acorn": "^7.1.1", @@ -24328,22 +23550,16 @@ "express": "^4.16.3", "filesize": "^3.6.1", "gzip-size": "^5.0.0", - "lodash": "^4.17.15", + "lodash": "^4.17.19", "mkdirp": "^0.5.1", "opener": "^1.5.1", "ws": "^6.0.0" }, "dependencies": { "acorn": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", - "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", - "dev": true - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, "ansi-styles": { @@ -24479,9 +23695,9 @@ } }, "webpack-dev-middleware": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", - "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", "dev": true, "requires": { "memory-fs": "^0.4.1", @@ -24492,17 +23708,17 @@ }, "dependencies": { "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", "dev": true } } }, "webpack-dev-server": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", - "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -24525,11 +23741,11 @@ "p-retry": "^3.0.1", "portfinder": "^1.0.26", "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", + "selfsigned": "^1.10.8", "semver": "^6.3.0", "serve-index": "^1.9.1", - "sockjs": "0.3.20", - "sockjs-client": "1.4.0", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", "spdy": "^4.0.2", "strip-ansi": "^3.0.1", "supports-color": "^6.1.0", @@ -24588,12 +23804,12 @@ } }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "fsevents": { @@ -24778,11 +23994,13 @@ } }, "websocket-driver": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, @@ -24849,16 +24067,6 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "which-pm": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-1.1.0.tgz", - "integrity": "sha512-7GHHJQpALk7BWMD8I+xSILSbHyngvBlfSXlwGpdRFY2voFwVCx+eJAybXTzTnUYmt7zio6B9SEdI81T0fBjxNA==", - "dev": true, - "requires": { - "load-yaml-file": "^0.1.0", - "path-exists": "^3.0.0" - } - }, "wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", @@ -24868,15 +24076,6 @@ "string-width": "^1.0.2 || 2" } }, - "widest-line": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", - "dev": true, - "requires": { - "string-width": "^2.1.1" - } - }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -25172,29 +24371,12 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, "ws": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==", "dev": true }, - "xdg-basedir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", - "dev": true - }, "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", diff --git a/package.json b/package.json index 409428cf..e785705a 100644 --- a/package.json +++ b/package.json @@ -17,9 +17,9 @@ "babel-plugin-react-html-attrs": "^2.1.0", "chai": "^4.1.2", "coveralls": "^3.1.0", - "css-loader": "^4.2.2", + "css-loader": "^4.3.0", "enzyme": "^3.2.0", - "enzyme-adapter-react-16": "^1.1.1", + "enzyme-adapter-react-16": "^1.15.5", "eslint": "^7.16.0", "eslint-plugin-prettier": "^3.3.1", "eslint-plugin-react": "^7.21.5", @@ -27,27 +27,26 @@ "ignore-styles": "^5.0.1", "jsdom": "^16.4.0", "mocha": "^4.0.1", - "moment": "^2.22.2", - "node": "^10.18.0", + "moment": "^2.29.1", + "node": "^10.23.0", "node-sass": "^4.14.1", - "npm-check": "^5.9.2", "nyc": "^15.1.0", "prettier": "^2.2.1", - "react": "^16.4.0", - "react-dom": "^16.4.0", + "react": "^16.14.0", + "react-dom": "^16.14.0", "react-github-button": "^0.1.11", - "react-hot-loader": "^4.12.21", + "react-hot-loader": "^4.13.0", "react-scripts": "4.0.1", "react-select": "^1.1.0", - "react-test-renderer": "^16.4.0", - "sass-loader": "^10.0.1", + "react-test-renderer": "^16.14.0", + "sass-loader": "^10.1.1", "sinon": "^4.5.0", - "style-loader": "^1.2.1", - "webpack": "^4.44.1", - "webpack-bundle-analyzer": "^3.8.0", + "style-loader": "^1.3.0", + "webpack": "^4.46.0", + "webpack-bundle-analyzer": "^3.9.0", "webpack-bundle-size-analyzer": "^3.1.0", "webpack-cli": "^3.3.12", - "webpack-dev-server": "^3.11.0" + "webpack-dev-server": "^3.11.2" }, "peerDependencies": { "react": "^17.0.0 || ^16.3.0 || ^15.5.4", @@ -66,8 +65,7 @@ "test:coverage": "NODE_ENV=test nyc report --reporter=text-lcov | coveralls", "test:watch": "NODE_ENV=test nyc mocha -w test/**/*-test.js", "lint": "NODE_ENV=test ./node_modules/.bin/eslint src", - "lint-fixup": "NODE_ENV=test ./node_modules/.bin/eslint src --ext .js,.jsx --fix", - "upgrade-interactive": "npm-check --update" + "lint-fixup": "NODE_ENV=test ./node_modules/.bin/eslint src --ext .js,.jsx --fix" }, "repository": { "type": "git", From e12f320d5633c21ee09f9254c768d99be7394053 Mon Sep 17 00:00:00 2001 From: mac-s-g Date: Sat, 16 Jan 2021 19:34:33 -0800 Subject: [PATCH 21/44] i think i got it --- .babelrc | 3 +- .coveralls.yml | 2 +- package-lock.json | 489 ++++++++++++------ package.json | 10 +- test/testHelpers/requireSources.js | 34 +- .../js/components/DataTypes/Object-test.js | 264 +++++----- 6 files changed, 498 insertions(+), 304 deletions(-) diff --git a/.babelrc b/.babelrc index 137d4bb6..c948dc88 100644 --- a/.babelrc +++ b/.babelrc @@ -3,6 +3,7 @@ "plugins": [ "@babel/plugin-syntax-class-properties", "@babel/plugin-syntax-jsx", - "react-html-attrs" + "react-html-attrs", + "istanbul" ] } \ No newline at end of file diff --git a/.coveralls.yml b/.coveralls.yml index 47214ae4..b8f080e3 100644 --- a/.coveralls.yml +++ b/.coveralls.yml @@ -1,2 +1,2 @@ service-name: travis-ci -repo_token: vgY2Lq1R7eqlkcmpp4wU32xZI7JskTACs \ No newline at end of file +repo_token: 5tBngUO90HTikmfFGI6ve2w7sVSau3N9K diff --git a/package-lock.json b/package-lock.json index 41e73ca6..1592e8a6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3631,24 +3631,15 @@ "@sinonjs/commons": "^1.7.0" } }, - "@sinonjs/formatio": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz", - "integrity": "sha512-ls6CAMA6/5gG+O/IdsBcblvnd8qcO/l1TYoNeAzp3wcISOxlPXQEus0mLcdwazEkWjaBdaJ3TaxmNgCLWwvWzg==", - "dev": true, - "requires": { - "samsam": "1.3.0" - } - }, "@sinonjs/samsam": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.3.tgz", - "integrity": "sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz", + "integrity": "sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==", "dev": true, "requires": { - "@sinonjs/commons": "^1.3.0", - "array-from": "^2.1.1", - "lodash": "^4.17.15" + "@sinonjs/commons": "^1.6.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" } }, "@sinonjs/text-encoding": { @@ -4434,6 +4425,12 @@ } } }, + "@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true + }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", @@ -4957,12 +4954,6 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, - "array-from": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", - "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=", - "dev": true - }, "array-includes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz", @@ -5961,8 +5952,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true, - "optional": true + "dev": true }, "block-stream": { "version": "0.0.9", @@ -6100,9 +6090,9 @@ "dev": true }, "browser-stdout": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", - "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, "browserify-aes": { @@ -6564,13 +6554,6 @@ "to-regex-range": "^5.0.1" } }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -7915,9 +7898,9 @@ } }, "diff": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", - "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, "diff-sequences": { @@ -10139,6 +10122,12 @@ "resolve-dir": "^1.0.1" } }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true + }, "flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -10474,9 +10463,9 @@ "dev": true }, "fsevents": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", - "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", "dev": true, "optional": true }, @@ -10732,9 +10721,9 @@ "dev": true }, "growl": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", - "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true }, "growly": { @@ -11557,7 +11546,6 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "optional": true, "requires": { "binary-extensions": "^2.0.0" } @@ -14720,9 +14708,9 @@ } }, "just-extend": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.1.0.tgz", - "integrity": "sha512-ApcjaOdVTJ7y4r08xI5wIqpvwS48Q0PBG4DJROcEkH1f8MdAiNFyFxz3xoL0LWAVwjrwPYZdVHHxhRHcx/uGLA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.1.1.tgz", + "integrity": "sha512-aWgeGFW67BP3e5181Ep1Fv2v8z//iBJfrvyTnq8wG86vEESwmonn1zPBJ0VfmT9CJq2FIT0VsETtrNFm2a+SHA==", "dev": true }, "killable": { @@ -14950,18 +14938,72 @@ "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", "dev": true }, + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "requires": { + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "loglevel": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", "dev": true }, - "lolex": { - "version": "2.7.5", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.5.tgz", - "integrity": "sha512-l9x0+1offnKKIzYVjyXU2SiwhXDLekRzKyhnbyldPHvC7BvLPVpdNUNR2KeMAiCN2D/kLNttZgQD5WjSxuBx3Q==", - "dev": true - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -15367,86 +15409,209 @@ } }, "mocha": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.1.0.tgz", - "integrity": "sha512-0RVnjg1HJsXY2YFDoTNzcc1NKhYuXKRrBAG2gDygmJJA136Cs2QlRliZG1mA0ap7cuaT30mw16luAeln+4RiNA==", - "dev": true, - "requires": { - "browser-stdout": "1.3.0", - "commander": "2.11.0", - "debug": "3.1.0", - "diff": "3.3.1", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.3", - "he": "1.1.1", - "mkdirp": "0.5.1", - "supports-color": "4.4.0" + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz", + "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==", + "dev": true, + "requires": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.4.3", + "debug": "4.2.0", + "diff": "4.0.2", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.14.0", + "log-symbols": "4.0.0", + "minimatch": "3.0.4", + "ms": "2.1.2", + "nanoid": "3.1.12", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "7.2.0", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.0.2", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "2.0.0" }, "dependencies": { - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "ms": "2.0.0" + "to-regex-range": "^5.0.1" } }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" } }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "nanoid": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", + "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { - "minimist": "0.0.8" + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" } }, "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" } } } @@ -15583,37 +15748,16 @@ "dev": true }, "nise": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/nise/-/nise-1.5.3.tgz", - "integrity": "sha512-Ymbac/94xeIrMf59REBPOv0thr+CJVFMhrlAkW/gjCIE58BGQdCj0x7KRCb3yz+Ga2Rz3E9XXSvUyyxqqhjQAQ==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/nise/-/nise-4.0.4.tgz", + "integrity": "sha512-bTTRUNlemx6deJa+ZyoCUTRvH3liK5+N6VQZ4NIw90AgDXY6iPnsqplNFf6STcj+ePk0H/xqxnP75Lr0J0Fq3A==", "dev": true, "requires": { - "@sinonjs/formatio": "^3.2.1", + "@sinonjs/commons": "^1.7.0", + "@sinonjs/fake-timers": "^6.0.0", "@sinonjs/text-encoding": "^0.7.1", "just-extend": "^4.0.2", - "lolex": "^5.0.1", "path-to-regexp": "^1.7.0" - }, - "dependencies": { - "@sinonjs/formatio": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz", - "integrity": "sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1", - "@sinonjs/samsam": "^3.1.0" - } - }, - "lolex": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", - "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - } } }, "no-case": { @@ -20783,12 +20927,6 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "samsam": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz", - "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==", - "dev": true - }, "sane": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", @@ -21262,27 +21400,32 @@ } }, "sinon": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.5.0.tgz", - "integrity": "sha512-trdx+mB0VBBgoYucy6a9L7/jfQOmvGeaKZT4OOJ+lPAtI8623xyGr8wLiE4eojzBS8G9yXbhx42GHUOVLr4X2w==", + "version": "9.2.3", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.3.tgz", + "integrity": "sha512-m+DyAWvqVHZtjnjX/nuShasykFeiZ+nPuEfD4G3gpvKGkXRhkF/6NSt2qN2FjZhfrcHXFzUzI+NLnk+42fnLEw==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "diff": "^3.1.0", - "lodash.get": "^4.4.2", - "lolex": "^2.2.0", - "nise": "^1.2.0", - "supports-color": "^5.1.0", - "type-detect": "^4.0.5" + "@sinonjs/commons": "^1.8.1", + "@sinonjs/fake-timers": "^6.0.1", + "@sinonjs/samsam": "^5.3.0", + "diff": "^4.0.2", + "nise": "^4.0.4", + "supports-color": "^7.1.0" }, "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } } } @@ -22149,6 +22292,12 @@ "get-stdin": "^4.0.1" } }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, "style-loader": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", @@ -24317,6 +24466,12 @@ "microevent.ts": "~0.1.1" } }, + "workerpool": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz", + "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==", + "dev": true + }, "wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -24520,6 +24675,38 @@ } } }, + "yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "dependencies": { + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + } + } + }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index e785705a..c796f6b5 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "@babel/plugin-syntax-jsx": "^7.12.1", "@babel/register": "7.12.10", "babel-plugin-react-html-attrs": "^2.1.0", - "chai": "^4.1.2", + "chai": "^4.2.0", "coveralls": "^3.1.0", "css-loader": "^4.3.0", "enzyme": "^3.2.0", @@ -26,7 +26,7 @@ "html-webpack-plugin": "2.30.1", "ignore-styles": "^5.0.1", "jsdom": "^16.4.0", - "mocha": "^4.0.1", + "mocha": "^8.2.1", "moment": "^2.29.1", "node": "^10.23.0", "node-sass": "^4.14.1", @@ -40,7 +40,7 @@ "react-select": "^1.1.0", "react-test-renderer": "^16.14.0", "sass-loader": "^10.1.1", - "sinon": "^4.5.0", + "sinon": "^9.2.3", "style-loader": "^1.3.0", "webpack": "^4.46.0", "webpack-bundle-analyzer": "^3.9.0", @@ -60,9 +60,9 @@ "modules:debug": "./docker/debug.sh", "modules:tree": "webpack --config webpack/webpack.config.js --json ", "modules:size-analyzer": "webpack --config webpack/webpack.config.js --json | webpack-bundle-size-analyzer", - "test": "NODE_ENV=test npm run test:unit && npm run test:coverage", + "test": "npm run test:coverage", "test:unit": "NODE_ENV=test nyc mocha test/**/*-test.js", - "test:coverage": "NODE_ENV=test nyc report --reporter=text-lcov | coveralls", + "test:coverage": "NODE_ENV=test nyc --reporter=text-lcov mocha test/**/*-test.js | coveralls", "test:watch": "NODE_ENV=test nyc mocha -w test/**/*-test.js", "lint": "NODE_ENV=test ./node_modules/.bin/eslint src", "lint-fixup": "NODE_ENV=test ./node_modules/.bin/eslint src --ext .js,.jsx --fix" diff --git a/test/testHelpers/requireSources.js b/test/testHelpers/requireSources.js index 03ff4d07..d61fdd65 100644 --- a/test/testHelpers/requireSources.js +++ b/test/testHelpers/requireSources.js @@ -1,6 +1,6 @@ -import register from "ignore-styles" -register([".sass", ".scss"]) -import "./../../src/js/index" +import register from 'ignore-styles'; +register(['.sass', '.scss']); +import './../../src/js/index'; import Adapter from 'enzyme-adapter-react-16'; import { configure } from 'enzyme'; @@ -8,25 +8,25 @@ import jsdom from 'jsdom'; //https://stackoverflow.com/questions/46896639/ensure-a-dom-environment-is-loaded-for-enzyme function setUpDomEnvironment() { - const { JSDOM } = jsdom; - const dom = new JSDOM(''); - const { window } = dom; + const { JSDOM } = jsdom; + const dom = new JSDOM(''); + const { window } = dom; - global.window = window; - global.document = window.document; - global.navigator = { - userAgent: 'node.js', - }; - copyProps(window, global); + global.window = window; + global.document = window.document; + global.navigator = { + userAgent: 'node.js' + }; + copyProps(window, global); } function copyProps(src, target) { - const props = Object.getOwnPropertyNames(src) - .filter(prop => typeof target[prop] === 'undefined') - .map(prop => Object.getOwnPropertyDescriptor(src, prop)); - Object.defineProperties(target, props); + const props = Object.getOwnPropertyNames(src) + .filter(prop => typeof target[prop] === 'undefined') + .map(prop => Object.getOwnPropertyDescriptor(src, prop)); + Object.defineProperties(target, props); } setUpDomEnvironment(); -configure({ adapter: new Adapter() }) \ No newline at end of file +configure({ adapter: new Adapter() }); diff --git a/test/tests/js/components/DataTypes/Object-test.js b/test/tests/js/components/DataTypes/Object-test.js index 01f62067..d50c8d7d 100644 --- a/test/tests/js/components/DataTypes/Object-test.js +++ b/test/tests/js/components/DataTypes/Object-test.js @@ -1,20 +1,20 @@ -import React from "react" -import { shallow, render, mount } from "enzyme" -import { expect } from "chai" +import React from 'react'; +import { shallow, render, mount } from 'enzyme'; +import { expect } from 'chai'; -import JsonObject from "./../../../../../src/js/components/DataTypes/Object" +import JsonObject from './../../../../../src/js/components/DataTypes/Object'; -describe("", function() { - const rjvId = 1 +describe('', function () { + const rjvId = 1; - it("Object component should have a data type label", function() { + it('Object component should have a data type label', function () { let src = { test: true - } + }; const wrapper = shallow( ", function() { displayDataTypes={true} type="object" /> - ) - expect(wrapper.find(".object-key-val")).to.have.length(1) - }) + ); + expect(wrapper.find('.object-key-val')).to.have.length(1); + }); - it("Object mount, multiple data type labels", function() { + it('Object mount, multiple data type labels', function () { let src = { bool: true, //should have label int: 5, //should have label - str: "test", //should have label + str: 'test', //should have label nan: NaN, null: null, undefined: undefined, - func: function() {}, //should have label + func: function () {}, //should have label float: 1.325, //should have label arr: [ 1, //should have label @@ -45,11 +45,11 @@ describe("", function() { }, empty_arr: [], empty_obj: {} - } + }; const wrapper = render( ", function() { displayDataTypes={true} type="object" /> - ) - expect(wrapper.find(".data-type-label")).to.have.length(8) - }) + ); + expect(wrapper.find('.data-type-label')).to.have.length(8); + }); - it("Object mount, no data type labels when collapsed", function() { + it('Object mount, no data type labels when collapsed', function () { let src = { bool: true, //should have label int: 5, //should have label - str: "test", //should have label + str: 'test', //should have label nan: NaN, null: null, undefined: undefined, - func: function() {}, //should have label + func: function () {}, //should have label float: 1.325, //should have label arr: [ 1, //should have label @@ -79,11 +79,11 @@ describe("", function() { obj: { test: true //should have label } - } + }; const wrapper = render( ", function() { collapsed={true} type="object" /> - ) - expect(wrapper.find(".data-type-label")).to.have.length(0) - }) + ); + expect(wrapper.find('.data-type-label')).to.have.length(0); + }); - it("Array mount expanded", function() { + it('Array mount expanded', function () { let src = { - arr1: [("arr2": ["test"])] - } + arr1: [('arr2': ['test'])] + }; const wrapper = render( ", function() { displayDataTypes={true} type="array" /> - ) - expect(wrapper.find(".expanded-icon")).to.have.length(2) - expect(wrapper.find(".collapsed-icon")).to.have.length(0) - }) + ); + expect(wrapper.find('.expanded-icon')).to.have.length(2); + expect(wrapper.find('.collapsed-icon')).to.have.length(0); + }); - it("Array mount collapsed", function() { + it('Array mount collapsed', function () { let src = { - arr1: [("arr2": ["test"])] - } + arr1: [('arr2': ['test'])] + }; const wrapper = render( ", function() { depth={1} type="array" /> - ) - expect(wrapper.find(".expanded-icon")).to.have.length(0) - expect(wrapper.find(".collapsed-icon")).to.have.length(1) - }) + ); + expect(wrapper.find('.expanded-icon')).to.have.length(0); + expect(wrapper.find('.collapsed-icon')).to.have.length(1); + }); - it("Array mount collapsed circle", function() { + it('Array mount collapsed circle', function () { let src = { - arr1: [("arr2": ["test"])] - } + arr1: [('arr2': ['test'])] + }; const wrapper = render( ", function() { depth={1} type="array" /> - ) - expect(wrapper.find(".expanded-icon")).to.have.length(0) - expect(wrapper.find(".collapsed-icon")).to.have.length(1) - }) + ); + expect(wrapper.find('.expanded-icon')).to.have.length(0); + expect(wrapper.find('.collapsed-icon')).to.have.length(1); + }); - it("Array mount collapsed square", function() { + it('Array mount collapsed square', function () { let src = { - arr1: [("arr2": ["test"])] - } + arr1: [('arr2': ['test'])] + }; const wrapper = render( ", function() { iconStyle="square" type="array" /> - ) - expect(wrapper.find(".expanded-icon")).to.have.length(0) - expect(wrapper.find(".collapsed-icon")).to.have.length(1) - }) + ); + expect(wrapper.find('.expanded-icon')).to.have.length(0); + expect(wrapper.find('.collapsed-icon')).to.have.length(1); + }); - it("Array mount collapsed triangle", function() { + it('Array mount collapsed triangle', function () { let src = { - arr1: [("arr2": ["test"])] - } + arr1: [('arr2': ['test'])] + }; const wrapper = render( ", function() { iconStyle="triangle" type="array" /> - ) - expect(wrapper.find(".expanded-icon")).to.have.length(0) - expect(wrapper.find(".collapsed-icon")).to.have.length(1) - }) + ); + expect(wrapper.find('.expanded-icon')).to.have.length(0); + expect(wrapper.find('.collapsed-icon')).to.have.length(1); + }); - it("non-empty object should be expanded", function() { - let src = { test: true } + it('non-empty object should be expanded', function () { + let src = { test: true }; const wrapper = shallow( - ) - expect(wrapper.state("expanded")).to.equal(true) - }) + ); + expect(wrapper.state('expanded')).to.equal(true); + }); - it("empty object should not be expanded", function() { - let src = {} + it('empty object should not be expanded', function () { + let src = {}; const wrapper = shallow( - ) - expect(wrapper.state("expanded")).to.equal(false) - }) + ); + expect(wrapper.state('expanded')).to.equal(false); + }); - it("non-empty array should be expanded", function() { - let src = [1, 2, 3] + it('non-empty array should be expanded', function () { + let src = [1, 2, 3]; const wrapper = shallow( - ) - expect(wrapper.state("expanded")).to.equal(true) - }) + ); + expect(wrapper.state('expanded')).to.equal(true); + }); - it("empty array should not be expanded", function() { - let src = [] + it('empty array should not be expanded', function () { + let src = []; const wrapper = shallow( - ) - expect(wrapper.state("expanded")).to.equal(false) - }) + ); + expect(wrapper.state('expanded')).to.equal(false); + }); - it("non-empty array should have ellipsis", function() { - let src = [1, 2, 3] + it('non-empty array should have ellipsis', function () { + let src = [1, 2, 3]; const wrapper = render( - ) + ); - expect(wrapper.find(".node-ellipsis")).to.have.length(1) - }) + expect(wrapper.find('.node-ellipsis')).to.have.length(1); + }); - it("empty array should not have ellipsis", function() { - let src = [] + it('empty array should not have ellipsis', function () { + let src = []; const wrapper = render( - ) + ); - expect(wrapper.find(".node-ellipsis")).to.have.length(0) - }) + expect(wrapper.find('.node-ellipsis')).to.have.length(0); + }); - it("should collapse at shouldCollapse logic", function() { - let src = { prop1: 1, prop2: 2, prop3: 3 } + it('should collapse at shouldCollapse logic', function () { + let src = { prop1: 1, prop2: 2, prop3: 3 }; const wrapper = shallow( true} /> - ) + ); - expect(wrapper.state("expanded")).to.equal(false) - }) + expect(wrapper.state('expanded')).to.equal(false); + }); - it("should expand based on shouldCollapse logic", function() { - let src = { prop1: 1, prop2: 2, prop3: 3 } + it('should expand based on shouldCollapse logic', function () { + let src = { prop1: 1, prop2: 2, prop3: 3 }; const wrapper = shallow( false} + indentWidth={1} /> - ) + ); - expect(wrapper.state("expanded")).to.equal(true) - }) - it("sort object keys", () => { + expect(wrapper.state('expanded')).to.equal(true); + }); + it('sort object keys', () => { let src = { d: 'd', b: 'b', a: 'a', - c: 'c', - } + c: 'c' + }; const wrapper = render( false} quotesOnKeys={true} + indentWidth={1} /> - ) + ); expect(wrapper.text()).to.equal('"":{"a":"a""b":"b""c":"c""d":"d"}'); - }) + }); - it("do not sort object keys", () => { + it('do not sort object keys', () => { let src = { d: 'd', b: 'b', a: 'a', - c: 'c', - } + c: 'c' + }; const wrapper = render( false} quotesOnKeys={true} + indentWidth={1} /> - ) + ); expect(wrapper.text()).to.equal('"":{"d":"d""b":"b""a":"a""c":"c"}'); - }) -}) + }); +}); From db92bbeea8f28fa02c9a0f2e0971f093f6e120de Mon Sep 17 00:00:00 2001 From: mac-s-g Date: Sat, 16 Jan 2021 21:09:01 -0800 Subject: [PATCH 22/44] bump version and update demo build --- demo/dist/main.js | 44157 +++++++++++++++++++++++++---------- docker/entrypoints/demo.sh | 1 + package-lock.json | 24 +- package.json | 10 +- 4 files changed, 31484 insertions(+), 12708 deletions(-) diff --git a/demo/dist/main.js b/demo/dist/main.js index b3f8d295..2dc1046f 100644 --- a/demo/dist/main.js +++ b/demo/dist/main.js @@ -7,7 +7,7 @@ exports["reactJsonView"] = factory(require("React"), require("ReactDOM")); else root["reactJsonView"] = factory(root["React"], root["ReactDOM"]); -})(window, function(__WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__19__) { +})(window, function(__WEBPACK_EXTERNAL_MODULE__0__, __WEBPACK_EXTERNAL_MODULE__9__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -91,11 +91,17 @@ return /******/ (function(modules) { // webpackBootstrap /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 66); +/******/ return __webpack_require__(__webpack_require__.s = 55); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__0__; + +/***/ }), +/* 1 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -108,444 +114,12 @@ return /******/ (function(modules) { // webpackBootstrap if (false) { var throwOnDirectAccess, ReactIs; } else { // By explicitly using `prop-types` you are opting into new production behavior. // http://fb.me/prop-types-in-prod - module.exports = __webpack_require__(71)(); + module.exports = __webpack_require__(56)(); } -/***/ }), -/* 1 */ -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE__1__; - /***/ }), /* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -exports.default = style; - -var _rjvThemes = __webpack_require__(76); - -var _styleConstants = __webpack_require__(77); - -var _styleConstants2 = _interopRequireDefault(_styleConstants); - -var _reactBase16Styling = __webpack_require__(78); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var colorMap = function colorMap(theme) { - return { - backgroundColor: theme.base00, - ellipsisColor: theme.base09, - braceColor: theme.base07, - expandedIcon: theme.base0D, - collapsedIcon: theme.base0E, - keyColor: theme.base07, - arrayKeyColor: theme.base0C, - objectSize: theme.base04, - copyToClipboard: theme.base0F, - copyToClipboardCheck: theme.base0D, - objectBorder: theme.base02, - dataTypes: { - boolean: theme.base0E, - date: theme.base0D, - float: theme.base0B, - function: theme.base0D, - integer: theme.base0F, - string: theme.base09, - nan: theme.base08, - null: theme.base0A, - undefined: theme.base05, - regexp: theme.base0A, - background: theme.base02 - }, - editVariable: { - editIcon: theme.base0E, - cancelIcon: theme.base09, - removeIcon: theme.base09, - addIcon: theme.base0E, - checkIcon: theme.base0E, - background: theme.base01, - color: theme.base0A, - border: theme.base07 - }, - addKeyModal: { - background: theme.base05, - border: theme.base04, - color: theme.base0A, - labelColor: theme.base01 - }, - validationFailure: { - background: theme.base09, - iconColor: theme.base01, - fontColor: theme.base01 - } - }; -}; - -var getDefaultThemeStyling = function getDefaultThemeStyling(theme) { - var colors = colorMap(theme); - - return { - 'app-container': { - fontFamily: _styleConstants2.default.globalFontFamily, - cursor: _styleConstants2.default.globalCursor, - backgroundColor: colors.backgroundColor, - position: 'relative' - }, - ellipsis: { - display: 'inline-block', - color: colors.ellipsisColor, - fontSize: _styleConstants2.default.ellipsisFontSize, - lineHeight: _styleConstants2.default.ellipsisLineHeight, - cursor: _styleConstants2.default.ellipsisCursor - }, - 'brace-row': { - display: 'inline-block', - cursor: 'pointer' - }, - brace: { - display: 'inline-block', - cursor: _styleConstants2.default.braceCursor, - fontWeight: _styleConstants2.default.braceFontWeight, - color: colors.braceColor - }, - 'expanded-icon': { - color: colors.expandedIcon - }, - 'collapsed-icon': { - color: colors.collapsedIcon - }, - colon: { - display: 'inline-block', - margin: _styleConstants2.default.keyMargin, - color: colors.keyColor, - verticalAlign: 'top' - }, - objectKeyVal: function objectKeyVal(component, variable_style) { - return { - style: _extends({ - paddingTop: _styleConstants2.default.keyValPaddingTop, - paddingRight: _styleConstants2.default.keyValPaddingRight, - paddingBottom: _styleConstants2.default.keyValPaddingBottom, - borderLeft: _styleConstants2.default.keyValBorderLeft + ' ' + colors.objectBorder, - ':hover': { - paddingLeft: variable_style.paddingLeft - 1 + 'px', - borderLeft: _styleConstants2.default.keyValBorderHover + ' ' + colors.objectBorder - } - }, variable_style) - }; - }, - 'object-key-val-no-border': { - padding: _styleConstants2.default.keyValPadding - }, - 'pushed-content': { - marginLeft: _styleConstants2.default.pushedContentMarginLeft - }, - variableValue: function variableValue(component, variable_style) { - return { - style: _extends({ - display: 'inline-block', - paddingRight: _styleConstants2.default.variableValuePaddingRight, - position: 'relative' - }, variable_style) - }; - }, - 'object-name': { - display: 'inline-block', - color: colors.keyColor, - letterSpacing: _styleConstants2.default.keyLetterSpacing, - fontStyle: _styleConstants2.default.keyFontStyle, - verticalAlign: _styleConstants2.default.keyVerticalAlign, - opacity: _styleConstants2.default.keyOpacity, - ':hover': { - opacity: _styleConstants2.default.keyOpacityHover - } - }, - 'array-key': { - display: 'inline-block', - color: colors.arrayKeyColor, - letterSpacing: _styleConstants2.default.keyLetterSpacing, - fontStyle: _styleConstants2.default.keyFontStyle, - verticalAlign: _styleConstants2.default.keyVerticalAlign, - opacity: _styleConstants2.default.keyOpacity, - ':hover': { - opacity: _styleConstants2.default.keyOpacityHover - } - }, - 'object-size': { - color: colors.objectSize, - borderRadius: _styleConstants2.default.objectSizeBorderRadius, - fontStyle: _styleConstants2.default.objectSizeFontStyle, - margin: _styleConstants2.default.objectSizeMargin, - cursor: 'default' - }, - 'data-type-label': { - fontSize: _styleConstants2.default.dataTypeFontSize, - marginRight: _styleConstants2.default.dataTypeMarginRight, - opacity: _styleConstants2.default.datatypeOpacity - }, - boolean: { - display: 'inline-block', - color: colors.dataTypes.boolean - }, - date: { - display: 'inline-block', - color: colors.dataTypes.date - }, - 'date-value': { - marginLeft: _styleConstants2.default.dateValueMarginLeft - }, - float: { - display: 'inline-block', - color: colors.dataTypes.float - }, - function: { - display: 'inline-block', - color: colors.dataTypes['function'], - cursor: 'pointer', - whiteSpace: 'pre-line' - }, - 'function-value': { - fontStyle: 'italic' - }, - integer: { - display: 'inline-block', - color: colors.dataTypes.integer - }, - string: { - display: 'inline-block', - color: colors.dataTypes.string - }, - nan: { - display: 'inline-block', - color: colors.dataTypes.nan, - fontSize: _styleConstants2.default.nanFontSize, - fontWeight: _styleConstants2.default.nanFontWeight, - backgroundColor: colors.dataTypes.background, - padding: _styleConstants2.default.nanPadding, - borderRadius: _styleConstants2.default.nanBorderRadius - }, - null: { - display: 'inline-block', - color: colors.dataTypes.null, - fontSize: _styleConstants2.default.nullFontSize, - fontWeight: _styleConstants2.default.nullFontWeight, - backgroundColor: colors.dataTypes.background, - padding: _styleConstants2.default.nullPadding, - borderRadius: _styleConstants2.default.nullBorderRadius - }, - undefined: { - display: 'inline-block', - color: colors.dataTypes.undefined, - fontSize: _styleConstants2.default.undefinedFontSize, - padding: _styleConstants2.default.undefinedPadding, - borderRadius: _styleConstants2.default.undefinedBorderRadius, - backgroundColor: colors.dataTypes.background - }, - regexp: { - display: 'inline-block', - color: colors.dataTypes.regexp - }, - 'copy-to-clipboard': { - cursor: _styleConstants2.default.clipboardCursor - }, - 'copy-icon': { - color: colors.copyToClipboard, - fontSize: _styleConstants2.default.iconFontSize, - marginRight: _styleConstants2.default.iconMarginRight, - verticalAlign: 'top' - }, - 'copy-icon-copied': { - color: colors.copyToClipboardCheck, - marginLeft: _styleConstants2.default.clipboardCheckMarginLeft - }, - 'array-group-meta-data': { - display: 'inline-block', - padding: _styleConstants2.default.arrayGroupMetaPadding - }, - 'object-meta-data': { - display: 'inline-block', - padding: _styleConstants2.default.metaDataPadding - }, - 'icon-container': { - display: 'inline-block', - width: _styleConstants2.default.iconContainerWidth - }, - tooltip: { - padding: _styleConstants2.default.tooltipPadding - }, - removeVarIcon: { - verticalAlign: 'top', - display: 'inline-block', - color: colors.editVariable.removeIcon, - cursor: _styleConstants2.default.iconCursor, - fontSize: _styleConstants2.default.iconFontSize, - marginRight: _styleConstants2.default.iconMarginRight - }, - addVarIcon: { - verticalAlign: 'top', - display: 'inline-block', - color: colors.editVariable.addIcon, - cursor: _styleConstants2.default.iconCursor, - fontSize: _styleConstants2.default.iconFontSize, - marginRight: _styleConstants2.default.iconMarginRight - }, - editVarIcon: { - verticalAlign: 'top', - display: 'inline-block', - color: colors.editVariable.editIcon, - cursor: _styleConstants2.default.iconCursor, - fontSize: _styleConstants2.default.iconFontSize, - marginRight: _styleConstants2.default.iconMarginRight - }, - 'edit-icon-container': { - display: 'inline-block', - verticalAlign: 'top' - }, - 'check-icon': { - display: 'inline-block', - cursor: _styleConstants2.default.iconCursor, - color: colors.editVariable.checkIcon, - fontSize: _styleConstants2.default.iconFontSize, - paddingRight: _styleConstants2.default.iconPaddingRight - }, - 'cancel-icon': { - display: 'inline-block', - cursor: _styleConstants2.default.iconCursor, - color: colors.editVariable.cancelIcon, - fontSize: _styleConstants2.default.iconFontSize, - paddingRight: _styleConstants2.default.iconPaddingRight - }, - 'edit-input': { - display: 'inline-block', - minHeight: _styleConstants2.default.editInputHeight, - minWidth: _styleConstants2.default.editInputMinWidth, - borderRadius: _styleConstants2.default.editInputBorderRadius, - backgroundColor: colors.editVariable.background, - color: colors.editVariable.color, - padding: _styleConstants2.default.editInputPadding, - marginRight: _styleConstants2.default.editInputMarginRight, - fontFamily: _styleConstants2.default.editInputFontFamily - }, - 'detected-row': { - paddingTop: _styleConstants2.default.detectedRowPaddingTop - }, - 'key-modal-request': { - position: _styleConstants2.default.addKeyCoverPosition, - top: _styleConstants2.default.addKeyCoverPositionPx, - left: _styleConstants2.default.addKeyCoverPositionPx, - right: _styleConstants2.default.addKeyCoverPositionPx, - bottom: _styleConstants2.default.addKeyCoverPositionPx, - backgroundColor: _styleConstants2.default.addKeyCoverBackground - }, - 'key-modal': { - width: _styleConstants2.default.addKeyModalWidth, - backgroundColor: colors.addKeyModal.background, - marginLeft: _styleConstants2.default.addKeyModalMargin, - marginRight: _styleConstants2.default.addKeyModalMargin, - padding: _styleConstants2.default.addKeyModalPadding, - borderRadius: _styleConstants2.default.addKeyModalRadius, - marginTop: '15px', - position: 'relative' - }, - 'key-modal-label': { - color: colors.addKeyModal.labelColor, - marginLeft: '2px', - marginBottom: '5px', - fontSize: '11px' - }, - 'key-modal-input-container': { - overflow: 'hidden' - }, - 'key-modal-input': { - width: '100%', - padding: '3px 6px', - fontFamily: 'monospace', - color: colors.addKeyModal.color, - border: 'none', - boxSizing: 'border-box', - borderRadius: '2px' - }, - 'key-modal-cancel': { - backgroundColor: colors.editVariable.removeIcon, - position: 'absolute', - top: '0px', - right: '0px', - borderRadius: '0px 3px 0px 3px', - cursor: 'pointer' - }, - 'key-modal-cancel-icon': { - color: colors.addKeyModal.labelColor, - fontSize: _styleConstants2.default.iconFontSize, - transform: 'rotate(45deg)' - }, - 'key-modal-submit': { - color: colors.editVariable.addIcon, - fontSize: _styleConstants2.default.iconFontSize, - position: 'absolute', - right: '2px', - top: '3px', - cursor: 'pointer' - }, - 'function-ellipsis': { - display: 'inline-block', - color: colors.ellipsisColor, - fontSize: _styleConstants2.default.ellipsisFontSize, - lineHeight: _styleConstants2.default.ellipsisLineHeight, - cursor: _styleConstants2.default.ellipsisCursor - }, - 'validation-failure': { - float: 'right', - padding: '3px 6px', - borderRadius: '2px', - cursor: 'pointer', - color: colors.validationFailure.fontColor, - backgroundColor: colors.validationFailure.background - }, - 'validation-failure-label': { - marginRight: '6px' - }, - 'validation-failure-clear': { - position: 'relative', - verticalAlign: 'top', - cursor: 'pointer', - color: colors.validationFailure.iconColor, - fontSize: _styleConstants2.default.iconFontSize, - transform: 'rotate(45deg)' - } - }; -}; - -var getStyle = function getStyle(theme) { - var rjv_theme = _rjvThemes.rjv_default; - if (theme === false || theme === 'none') { - rjv_theme = _rjvThemes.rjv_grey; - } - - return (0, _reactBase16Styling.createStyling)(getDefaultThemeStyling, { defaultBase16: rjv_theme })(theme); -}; - -function style(theme, component, args) { - if (!theme) { - console.error('theme has not been set'); - } - - return getStyle(theme)(component, args); -} - -/***/ }), -/* 3 */ /***/ (function(module, exports) { var core = module.exports = { version: '2.6.11' }; @@ -553,12 +127,12 @@ if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef /***/ }), -/* 4 */ +/* 3 */ /***/ (function(module, exports, __webpack_require__) { -var store = __webpack_require__(38)('wks'); -var uid = __webpack_require__(27); -var Symbol = __webpack_require__(6).Symbol; +var store = __webpack_require__(31)('wks'); +var uid = __webpack_require__(21); +var Symbol = __webpack_require__(4).Symbol; var USE_SYMBOL = typeof Symbol == 'function'; var $exports = module.exports = function (name) { @@ -570,55 +144,7 @@ $exports.store = store; /***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.toType = toType; -exports.isTheme = isTheme; -//returns a string "type" of input object -function toType(obj) { - var type = getType(obj); - // some extra disambiguation for numbers - if (type === 'number') { - if (isNaN(obj)) { - type = 'nan'; - } else if ((obj | 0) != obj) { - //bitwise OR produces integers - type = 'float'; - } else { - type = 'integer'; - } - } - return type; -} - -//source: http://stackoverflow.com/questions/7390426/better-way-to-get-type-of-a-javascript-variable/7390612#7390612 -function getType(obj) { - return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase(); -} - -//validation for base-16 themes -function isTheme(theme) { - var theme_keys = ['base00', 'base01', 'base02', 'base03', 'base04', 'base05', 'base06', 'base07', 'base08', 'base09', 'base0A', 'base0B', 'base0C', 'base0D', 'base0E', 'base0F']; - if (toType(theme) === 'object') { - for (var i = 0; i < theme_keys.length; i++) { - if (!(theme_keys[i] in theme)) { - return false; - } - } - return true; - } - return false; -} - -/***/ }), -/* 6 */ +/* 4 */ /***/ (function(module, exports) { // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 @@ -630,7 +156,7 @@ if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef /***/ }), -/* 7 */ +/* 5 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -730,7 +256,7 @@ function toComment(sourceMap) { } /***/ }), -/* 8 */ +/* 6 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! @@ -787,87 +313,17 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! /***/ }), -/* 9 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _getStyle = __webpack_require__(2); - -var _getStyle2 = _interopRequireDefault(_getStyle); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -//theme - - -var _class = function (_React$PureComponent) { - _inherits(_class, _React$PureComponent); - - function _class() { - _classCallCheck(this, _class); - - return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments)); - } - - _createClass(_class, [{ - key: 'render', - value: function render() { - var _props = this.props, - rjvId = _props.rjvId, - type_name = _props.type_name, - displayDataTypes = _props.displayDataTypes, - theme = _props.theme; - - if (displayDataTypes) { - return _react2.default.createElement( - 'span', - _extends({ - className: 'data-type-label' - }, (0, _getStyle2.default)(theme, 'data-type-label')), - type_name - ); - } - return null; - } - }]); - - return _class; -}(_react2.default.PureComponent); - -exports.default = _class; - -/***/ }), -/* 10 */ +/* 7 */ /***/ (function(module, exports, __webpack_require__) { // Thank's IE8 for his funny defineProperty -module.exports = !__webpack_require__(14)(function () { +module.exports = !__webpack_require__(12)(function () { return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; }); /***/ }), -/* 11 */ +/* 8 */ /***/ (function(module, exports) { var hasOwnProperty = {}.hasOwnProperty; @@ -877,12 +333,18 @@ module.exports = function (it, key) { /***/ }), -/* 12 */ +/* 9 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__9__; + +/***/ }), +/* 10 */ /***/ (function(module, exports, __webpack_require__) { -var dP = __webpack_require__(13); -var createDesc = __webpack_require__(26); -module.exports = __webpack_require__(10) ? function (object, key, value) { +var dP = __webpack_require__(11); +var createDesc = __webpack_require__(20); +module.exports = __webpack_require__(7) ? function (object, key, value) { return dP.f(object, key, createDesc(1, value)); } : function (object, key, value) { object[key] = value; @@ -891,15 +353,15 @@ module.exports = __webpack_require__(10) ? function (object, key, value) { /***/ }), -/* 13 */ +/* 11 */ /***/ (function(module, exports, __webpack_require__) { -var anObject = __webpack_require__(20); -var IE8_DOM_DEFINE = __webpack_require__(49); -var toPrimitive = __webpack_require__(35); +var anObject = __webpack_require__(14); +var IE8_DOM_DEFINE = __webpack_require__(40); +var toPrimitive = __webpack_require__(28); var dP = Object.defineProperty; -exports.f = __webpack_require__(10) ? Object.defineProperty : function defineProperty(O, P, Attributes) { +exports.f = __webpack_require__(7) ? Object.defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPrimitive(P, true); anObject(Attributes); @@ -913,7 +375,7 @@ exports.f = __webpack_require__(10) ? Object.defineProperty : function definePro /***/ }), -/* 14 */ +/* 12 */ /***/ (function(module, exports) { module.exports = function (exec) { @@ -926,772 +388,74 @@ module.exports = function (exec) { /***/ }), -/* 15 */ +/* 13 */ /***/ (function(module, exports, __webpack_require__) { // to indexed object, toObject with fallback for non-array-like ES3 strings -var IObject = __webpack_require__(54); -var defined = __webpack_require__(34); +var IObject = __webpack_require__(45); +var defined = __webpack_require__(27); module.exports = function (it) { return IObject(defined(it)); }; /***/ }), -/* 16 */ +/* 14 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _events = __webpack_require__(173); - -var _dispatcher = __webpack_require__(17); - -var _dispatcher2 = _interopRequireDefault(_dispatcher); - -var _util = __webpack_require__(5); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -//store persistent display attributes for objects and arrays -var ObjectAttributes = function (_EventEmitter) { - _inherits(ObjectAttributes, _EventEmitter); - - function ObjectAttributes() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, ObjectAttributes); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ObjectAttributes.__proto__ || Object.getPrototypeOf(ObjectAttributes)).call.apply(_ref, [this].concat(args))), _this), _this.objects = {}, _this.set = function (rjvId, name, key, value) { - if (_this.objects[rjvId] === undefined) { - _this.objects[rjvId] = {}; - } - if (_this.objects[rjvId][name] === undefined) { - _this.objects[rjvId][name] = {}; - } - _this.objects[rjvId][name][key] = value; - }, _this.get = function (rjvId, name, key, default_value) { - if (_this.objects[rjvId] === undefined || _this.objects[rjvId][name] === undefined || _this.objects[rjvId][name][key] == undefined) { - return default_value; - } - return _this.objects[rjvId][name][key]; - }, _this.handleAction = function (action) { - var rjvId = action.rjvId, - data = action.data, - name = action.name; - - switch (name) { - case 'RESET': - _this.emit('reset-' + rjvId); - break; - case 'VARIABLE_UPDATED': - action.data.updated_src = _this.updateSrc(rjvId, data); - _this.set(rjvId, 'action', 'variable-update', _extends({}, data, { type: 'variable-edited' })); - _this.emit('variable-update-' + rjvId); - break; - case 'VARIABLE_REMOVED': - action.data.updated_src = _this.updateSrc(rjvId, data); - _this.set(rjvId, 'action', 'variable-update', _extends({}, data, { type: 'variable-removed' })); - _this.emit('variable-update-' + rjvId); - break; - case 'VARIABLE_ADDED': - action.data.updated_src = _this.updateSrc(rjvId, data); - _this.set(rjvId, 'action', 'variable-update', _extends({}, data, { type: 'variable-added' })); - _this.emit('variable-update-' + rjvId); - break; - case 'ADD_VARIABLE_KEY_REQUEST': - _this.set(rjvId, 'action', 'new-key-request', data); - _this.emit('add-key-request-' + rjvId); - break; - } - }, _this.updateSrc = function (rjvId, request) { - var name = request.name, - namespace = request.namespace, - new_value = request.new_value, - existing_value = request.existing_value, - variable_removed = request.variable_removed; - - - namespace.shift(); - - //deepy copy src - var src = _this.get(rjvId, 'global', 'src'); - //deep copy of src variable - var updated_src = _this.deepCopy(src, [].concat(_toConsumableArray(namespace))); +var isObject = __webpack_require__(15); +module.exports = function (it) { + if (!isObject(it)) throw TypeError(it + ' is not an object!'); + return it; +}; - //point at current index - var walk = updated_src; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - try { - for (var _iterator = namespace[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var idx = _step.value; +/***/ }), +/* 15 */ +/***/ (function(module, exports) { - walk = walk[idx]; - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; - if (variable_removed) { - if ((0, _util.toType)(walk) == 'array') { - walk.splice(name, 1); - } else { - delete walk[name]; - } - } else { - //update copied variable at specified namespace - if (name !== null) { - walk[name] = new_value; - } else { - updated_src = new_value; - } - } - _this.set(rjvId, 'global', 'src', updated_src); - - return updated_src; - }, _this.deepCopy = function (src, copy_namespace) { - var type = (0, _util.toType)(src); - var result = void 0; - var idx = copy_namespace.shift(); - if (type == 'array') { - result = [].concat(_toConsumableArray(src)); - } else if (type == 'object') { - result = _extends({}, src); - } - if (idx !== undefined) { - result[idx] = _this.deepCopy(src[idx], copy_namespace); - } - return result; - }, _temp), _possibleConstructorReturn(_this, _ret); - } +/***/ }), +/* 16 */ +/***/ (function(module, exports) { - return ObjectAttributes; -}(_events.EventEmitter); +module.exports = {}; -var attributeStore = new ObjectAttributes(); -_dispatcher2.default.register(attributeStore.handleAction.bind(attributeStore)); -exports.default = attributeStore; /***/ }), /* 17 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +var $keys = __webpack_require__(44); +var enumBugKeys = __webpack_require__(32); -var _flux = __webpack_require__(174); +module.exports = Object.keys || function keys(O) { + return $keys(O, enumBugKeys); +}; -var dispatcher = new _flux.Dispatcher(); -exports.default = dispatcher; /***/ }), /* 18 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.CheckCircle = exports.Edit = exports.Add = exports.AddCircle = exports.RemoveCircle = exports.Clippy = exports.ArrowDown = exports.ArrowRight = exports.SquarePlus = exports.SquareMinus = exports.CirclePlus = exports.CircleMinus = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var DEFAULT_WIDTH = 24; -var DEFAULT_HEIGHT = 24; -var DEFAULT_COLOR = '#000000'; - -var CircleMinus = exports.CircleMinus = function (_React$PureComponent) { - _inherits(CircleMinus, _React$PureComponent); - - function CircleMinus() { - _classCallCheck(this, CircleMinus); +/***/ (function(module, exports) { - return _possibleConstructorReturn(this, (CircleMinus.__proto__ || Object.getPrototypeOf(CircleMinus)).apply(this, arguments)); - } +module.exports = true; - _createClass(CircleMinus, [{ - key: 'render', - value: function render() { - var props = this.props; - var style = props.style, - rest = _objectWithoutProperties(props, ['style']); +/***/ }), +/* 19 */ +/***/ (function(module, exports, __webpack_require__) { - return _react2.default.createElement( - 'span', - rest, - _react2.default.createElement( - 'svg', - _extends({}, getIconStyle(style), { - viewBox: '0 0 24 24', - fill: 'currentColor', - preserveAspectRatio: 'xMidYMid meet' - }), - _react2.default.createElement('path', { d: 'M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,13H17V11H7' }) - ) - ); - } - }]); - - return CircleMinus; -}(_react2.default.PureComponent); - -var CirclePlus = exports.CirclePlus = function (_React$PureComponent2) { - _inherits(CirclePlus, _React$PureComponent2); - - function CirclePlus() { - _classCallCheck(this, CirclePlus); - - return _possibleConstructorReturn(this, (CirclePlus.__proto__ || Object.getPrototypeOf(CirclePlus)).apply(this, arguments)); - } - - _createClass(CirclePlus, [{ - key: 'render', - value: function render() { - var props = this.props; - - var style = props.style, - rest = _objectWithoutProperties(props, ['style']); - - return _react2.default.createElement( - 'span', - rest, - _react2.default.createElement( - 'svg', - _extends({}, getIconStyle(style), { - viewBox: '0 0 24 24', - fill: 'currentColor', - preserveAspectRatio: 'xMidYMid meet' - }), - _react2.default.createElement('path', { d: 'M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M13,7H11V11H7V13H11V17H13V13H17V11H13V7Z' }) - ) - ); - } - }]); - - return CirclePlus; -}(_react2.default.PureComponent); - -var SquareMinus = exports.SquareMinus = function (_React$PureComponent3) { - _inherits(SquareMinus, _React$PureComponent3); - - function SquareMinus() { - _classCallCheck(this, SquareMinus); - - return _possibleConstructorReturn(this, (SquareMinus.__proto__ || Object.getPrototypeOf(SquareMinus)).apply(this, arguments)); - } - - _createClass(SquareMinus, [{ - key: 'render', - value: function render() { - var props = this.props; - - var style = props.style, - rest = _objectWithoutProperties(props, ['style']); - - var svgStyle = getIconStyle(style).style; - - return _react2.default.createElement( - 'span', - rest, - _react2.default.createElement( - 'svg', - { fill: svgStyle.color, - width: svgStyle.height, height: svgStyle.width, - style: svgStyle, - viewBox: '0 0 1792 1792' }, - _react2.default.createElement('path', { d: 'M1344 800v64q0 14-9 23t-23 9h-832q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h832q14 0 23 9t9 23zm128 448v-832q0-66-47-113t-113-47h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113zm128-832v832q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q119 0 203.5 84.5t84.5 203.5z' }) - ) - ); - } - }]); - - return SquareMinus; -}(_react2.default.PureComponent); - -var SquarePlus = exports.SquarePlus = function (_React$PureComponent4) { - _inherits(SquarePlus, _React$PureComponent4); - - function SquarePlus() { - _classCallCheck(this, SquarePlus); - - return _possibleConstructorReturn(this, (SquarePlus.__proto__ || Object.getPrototypeOf(SquarePlus)).apply(this, arguments)); - } - - _createClass(SquarePlus, [{ - key: 'render', - value: function render() { - var props = this.props; - - var style = props.style, - rest = _objectWithoutProperties(props, ['style']); - - var svgStyle = getIconStyle(style).style; - - return _react2.default.createElement( - 'span', - rest, - _react2.default.createElement( - 'svg', - { fill: svgStyle.color, - width: svgStyle.height, height: svgStyle.width, - style: svgStyle, - viewBox: '0 0 1792 1792' }, - _react2.default.createElement('path', { d: 'M1344 800v64q0 14-9 23t-23 9h-352v352q0 14-9 23t-23 9h-64q-14 0-23-9t-9-23v-352h-352q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h352v-352q0-14 9-23t23-9h64q14 0 23 9t9 23v352h352q14 0 23 9t9 23zm128 448v-832q0-66-47-113t-113-47h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113zm128-832v832q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q119 0 203.5 84.5t84.5 203.5z' }) - ) - ); - } - }]); - - return SquarePlus; -}(_react2.default.PureComponent); - -var ArrowRight = exports.ArrowRight = function (_React$PureComponent5) { - _inherits(ArrowRight, _React$PureComponent5); - - function ArrowRight() { - _classCallCheck(this, ArrowRight); - - return _possibleConstructorReturn(this, (ArrowRight.__proto__ || Object.getPrototypeOf(ArrowRight)).apply(this, arguments)); - } - - _createClass(ArrowRight, [{ - key: 'render', - value: function render() { - var props = this.props; - - var style = props.style, - rest = _objectWithoutProperties(props, ['style']); - - return _react2.default.createElement( - 'span', - rest, - _react2.default.createElement( - 'svg', - { - style: _extends({}, getIconStyle(style).style, { paddingLeft: '2px', verticalAlign: 'top' }), - viewBox: '0 0 15 15', - fill: 'currentColor' - }, - _react2.default.createElement('path', { d: 'M0 14l6-6-6-6z' }) - ) - ); - } - }]); - - return ArrowRight; -}(_react2.default.PureComponent); - -var ArrowDown = exports.ArrowDown = function (_React$PureComponent6) { - _inherits(ArrowDown, _React$PureComponent6); - - function ArrowDown() { - _classCallCheck(this, ArrowDown); - - return _possibleConstructorReturn(this, (ArrowDown.__proto__ || Object.getPrototypeOf(ArrowDown)).apply(this, arguments)); - } - - _createClass(ArrowDown, [{ - key: 'render', - value: function render() { - var props = this.props; - - var style = props.style, - rest = _objectWithoutProperties(props, ['style']); - - return _react2.default.createElement( - 'span', - rest, - _react2.default.createElement( - 'svg', - { - style: _extends({}, getIconStyle(style).style, { paddingLeft: '2px', verticalAlign: 'top' }), - viewBox: '0 0 15 15', - fill: 'currentColor' - }, - _react2.default.createElement('path', { d: 'M0 5l6 6 6-6z' }) - ) - ); - } - }]); - - return ArrowDown; -}(_react2.default.PureComponent); - -var Clippy = exports.Clippy = function (_React$PureComponent7) { - _inherits(Clippy, _React$PureComponent7); - - function Clippy() { - _classCallCheck(this, Clippy); - - return _possibleConstructorReturn(this, (Clippy.__proto__ || Object.getPrototypeOf(Clippy)).apply(this, arguments)); - } - - _createClass(Clippy, [{ - key: 'render', - value: function render() { - var props = this.props; - - var style = props.style, - rest = _objectWithoutProperties(props, ['style']); - - return _react2.default.createElement( - 'span', - rest, - _react2.default.createElement( - 'svg', - _extends({}, getIconStyle(style), { - viewBox: '0 0 40 40', - fill: 'currentColor', - preserveAspectRatio: 'xMidYMid meet' - }), - _react2.default.createElement( - 'g', - null, - _react2.default.createElement('path', { d: 'm30 35h-25v-22.5h25v7.5h2.5v-12.5c0-1.4-1.1-2.5-2.5-2.5h-7.5c0-2.8-2.2-5-5-5s-5 2.2-5 5h-7.5c-1.4 0-2.5 1.1-2.5 2.5v27.5c0 1.4 1.1 2.5 2.5 2.5h25c1.4 0 2.5-1.1 2.5-2.5v-5h-2.5v5z m-20-27.5h2.5s2.5-1.1 2.5-2.5 1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5 1.3 2.5 2.5 2.5h2.5s2.5 1.1 2.5 2.5h-20c0-1.5 1.1-2.5 2.5-2.5z m-2.5 20h5v-2.5h-5v2.5z m17.5-5v-5l-10 7.5 10 7.5v-5h12.5v-5h-12.5z m-17.5 10h7.5v-2.5h-7.5v2.5z m12.5-17.5h-12.5v2.5h12.5v-2.5z m-7.5 5h-5v2.5h5v-2.5z' }) - ) - ) - ); - } - }]); - - return Clippy; -}(_react2.default.PureComponent); - -var RemoveCircle = exports.RemoveCircle = function (_React$PureComponent8) { - _inherits(RemoveCircle, _React$PureComponent8); - - function RemoveCircle() { - _classCallCheck(this, RemoveCircle); - - return _possibleConstructorReturn(this, (RemoveCircle.__proto__ || Object.getPrototypeOf(RemoveCircle)).apply(this, arguments)); - } - - _createClass(RemoveCircle, [{ - key: 'render', - value: function render() { - var props = this.props; - - var style = props.style, - rest = _objectWithoutProperties(props, ['style']); - - return _react2.default.createElement( - 'span', - rest, - _react2.default.createElement( - 'svg', - _extends({}, getIconStyle(style), { - viewBox: '0 0 40 40', - fill: 'currentColor', - preserveAspectRatio: 'xMidYMid meet' - }), - _react2.default.createElement( - 'g', - null, - _react2.default.createElement('path', { d: 'm28.6 25q0-0.5-0.4-1l-4-4 4-4q0.4-0.5 0.4-1 0-0.6-0.4-1.1l-2-2q-0.4-0.4-1-0.4-0.6 0-1 0.4l-4.1 4.1-4-4.1q-0.4-0.4-1-0.4-0.6 0-1 0.4l-2 2q-0.5 0.5-0.5 1.1 0 0.5 0.5 1l4 4-4 4q-0.5 0.5-0.5 1 0 0.7 0.5 1.1l2 2q0.4 0.4 1 0.4 0.6 0 1-0.4l4-4.1 4.1 4.1q0.4 0.4 1 0.4 0.6 0 1-0.4l2-2q0.4-0.4 0.4-1z m8.7-5q0 4.7-2.3 8.6t-6.3 6.2-8.6 2.3-8.6-2.3-6.2-6.2-2.3-8.6 2.3-8.6 6.2-6.2 8.6-2.3 8.6 2.3 6.3 6.2 2.3 8.6z' }) - ) - ) - ); - } - }]); - - return RemoveCircle; -}(_react2.default.PureComponent); - -var AddCircle = exports.AddCircle = function (_React$PureComponent9) { - _inherits(AddCircle, _React$PureComponent9); - - function AddCircle() { - _classCallCheck(this, AddCircle); - - return _possibleConstructorReturn(this, (AddCircle.__proto__ || Object.getPrototypeOf(AddCircle)).apply(this, arguments)); - } - - _createClass(AddCircle, [{ - key: 'render', - value: function render() { - var props = this.props; - - var style = props.style, - rest = _objectWithoutProperties(props, ['style']); - - return _react2.default.createElement( - 'span', - rest, - _react2.default.createElement( - 'svg', - _extends({}, getIconStyle(style), { - viewBox: '0 0 40 40', - fill: 'currentColor', - preserveAspectRatio: 'xMidYMid meet' - }), - _react2.default.createElement( - 'g', - null, - _react2.default.createElement('path', { d: 'm30.1 21.4v-2.8q0-0.6-0.4-1t-1-0.5h-5.7v-5.7q0-0.6-0.4-1t-1-0.4h-2.9q-0.6 0-1 0.4t-0.4 1v5.7h-5.7q-0.6 0-1 0.5t-0.5 1v2.8q0 0.6 0.5 1t1 0.5h5.7v5.7q0 0.5 0.4 1t1 0.4h2.9q0.6 0 1-0.4t0.4-1v-5.7h5.7q0.6 0 1-0.5t0.4-1z m7.2-1.4q0 4.7-2.3 8.6t-6.3 6.2-8.6 2.3-8.6-2.3-6.2-6.2-2.3-8.6 2.3-8.6 6.2-6.2 8.6-2.3 8.6 2.3 6.3 6.2 2.3 8.6z' }) - ) - ) - ); - } - }]); - - return AddCircle; -}(_react2.default.PureComponent); - -var Add = exports.Add = function (_React$PureComponent10) { - _inherits(Add, _React$PureComponent10); - - function Add() { - _classCallCheck(this, Add); - - return _possibleConstructorReturn(this, (Add.__proto__ || Object.getPrototypeOf(Add)).apply(this, arguments)); - } - - _createClass(Add, [{ - key: 'render', - value: function render() { - var props = this.props; - - var style = props.style, - rest = _objectWithoutProperties(props, ['style']); - - return _react2.default.createElement( - 'span', - rest, - _react2.default.createElement( - 'svg', - _extends({}, getIconStyle(style), { - viewBox: '0 0 40 40', - fill: 'currentColor', - preserveAspectRatio: 'xMidYMid meet' - }), - _react2.default.createElement( - 'g', - null, - _react2.default.createElement('path', { d: 'm31.6 21.6h-10v10h-3.2v-10h-10v-3.2h10v-10h3.2v10h10v3.2z' }) - ) - ) - ); - } - }]); - - return Add; -}(_react2.default.PureComponent); - -var Edit = exports.Edit = function (_React$PureComponent11) { - _inherits(Edit, _React$PureComponent11); - - function Edit() { - _classCallCheck(this, Edit); - - return _possibleConstructorReturn(this, (Edit.__proto__ || Object.getPrototypeOf(Edit)).apply(this, arguments)); - } - - _createClass(Edit, [{ - key: 'render', - value: function render() { - var props = this.props; - - var style = props.style, - rest = _objectWithoutProperties(props, ['style']); - - return _react2.default.createElement( - 'span', - rest, - _react2.default.createElement( - 'svg', - _extends({}, getIconStyle(style), { - viewBox: '0 0 40 40', - fill: 'currentColor', - preserveAspectRatio: 'xMidYMid meet' - }), - _react2.default.createElement( - 'g', - null, - _react2.default.createElement('path', { d: 'm19.8 26.4l2.6-2.6-3.4-3.4-2.6 2.6v1.3h2.2v2.1h1.2z m9.8-16q-0.3-0.4-0.7 0l-7.8 7.8q-0.4 0.4 0 0.7t0.7 0l7.8-7.8q0.4-0.4 0-0.7z m1.8 13.2v4.3q0 2.6-1.9 4.5t-4.5 1.9h-18.6q-2.6 0-4.5-1.9t-1.9-4.5v-18.6q0-2.7 1.9-4.6t4.5-1.8h18.6q1.4 0 2.6 0.5 0.3 0.2 0.4 0.5 0.1 0.4-0.2 0.7l-1.1 1.1q-0.3 0.3-0.7 0.1-0.5-0.1-1-0.1h-18.6q-1.4 0-2.5 1.1t-1 2.5v18.6q0 1.4 1 2.5t2.5 1h18.6q1.5 0 2.5-1t1.1-2.5v-2.9q0-0.2 0.2-0.4l1.4-1.5q0.3-0.3 0.8-0.1t0.4 0.6z m-2.1-16.5l6.4 6.5-15 15h-6.4v-6.5z m9.9 3l-2.1 2-6.4-6.4 2.1-2q0.6-0.7 1.5-0.7t1.5 0.7l3.4 3.4q0.6 0.6 0.6 1.5t-0.6 1.5z' }) - ) - ) - ); - } - }]); - - return Edit; -}(_react2.default.PureComponent); - -var CheckCircle = exports.CheckCircle = function (_React$PureComponent12) { - _inherits(CheckCircle, _React$PureComponent12); - - function CheckCircle() { - _classCallCheck(this, CheckCircle); - - return _possibleConstructorReturn(this, (CheckCircle.__proto__ || Object.getPrototypeOf(CheckCircle)).apply(this, arguments)); - } - - _createClass(CheckCircle, [{ - key: 'render', - value: function render() { - var props = this.props; - - var style = props.style, - rest = _objectWithoutProperties(props, ['style']); - - return _react2.default.createElement( - 'span', - rest, - _react2.default.createElement( - 'svg', - _extends({}, getIconStyle(style), { - viewBox: '0 0 40 40', - fill: 'currentColor', - preserveAspectRatio: 'xMidYMid meet' - }), - _react2.default.createElement( - 'g', - null, - _react2.default.createElement('path', { d: 'm31.7 16.4q0-0.6-0.4-1l-2.1-2.1q-0.4-0.4-1-0.4t-1 0.4l-9.1 9.1-5-5q-0.5-0.4-1-0.4t-1 0.4l-2.1 2q-0.4 0.4-0.4 1 0 0.6 0.4 1l8.1 8.1q0.4 0.4 1 0.4 0.6 0 1-0.4l12.2-12.1q0.4-0.4 0.4-1z m5.6 3.6q0 4.7-2.3 8.6t-6.3 6.2-8.6 2.3-8.6-2.3-6.2-6.2-2.3-8.6 2.3-8.6 6.2-6.2 8.6-2.3 8.6 2.3 6.3 6.2 2.3 8.6z' }) - ) - ) - ); - } - }]); - - return CheckCircle; -}(_react2.default.PureComponent); - -function getIconStyle(style) { - if (!style) { - style = {}; - } - return { style: _extends({ - verticalAlign: 'middle' - }, style, { - color: style.color ? style.color : DEFAULT_COLOR, - height: '1em', - width: '1em' - }) }; -} - -/***/ }), -/* 19 */ -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE__19__; - -/***/ }), -/* 20 */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(21); -module.exports = function (it) { - if (!isObject(it)) throw TypeError(it + ' is not an object!'); - return it; -}; - - -/***/ }), -/* 21 */ -/***/ (function(module, exports) { - -module.exports = function (it) { - return typeof it === 'object' ? it !== null : typeof it === 'function'; -}; - - -/***/ }), -/* 22 */ -/***/ (function(module, exports) { - -module.exports = {}; - - -/***/ }), -/* 23 */ -/***/ (function(module, exports, __webpack_require__) { - -// 19.1.2.14 / 15.2.3.14 Object.keys(O) -var $keys = __webpack_require__(53); -var enumBugKeys = __webpack_require__(39); - -module.exports = Object.keys || function keys(O) { - return $keys(O, enumBugKeys); -}; - - -/***/ }), -/* 24 */ -/***/ (function(module, exports) { - -module.exports = true; - - -/***/ }), -/* 25 */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(6); -var core = __webpack_require__(3); -var ctx = __webpack_require__(83); -var hide = __webpack_require__(12); -var has = __webpack_require__(11); -var PROTOTYPE = 'prototype'; +var global = __webpack_require__(4); +var core = __webpack_require__(2); +var ctx = __webpack_require__(62); +var hide = __webpack_require__(10); +var has = __webpack_require__(8); +var PROTOTYPE = 'prototype'; var $export = function (type, name, source) { var IS_FORCED = type & $export.F; @@ -1751,7 +515,7 @@ module.exports = $export; /***/ }), -/* 26 */ +/* 20 */ /***/ (function(module, exports) { module.exports = function (bitmap, value) { @@ -1765,7 +529,7 @@ module.exports = function (bitmap, value) { /***/ }), -/* 27 */ +/* 21 */ /***/ (function(module, exports) { var id = 0; @@ -1776,25 +540,25 @@ module.exports = function (key) { /***/ }), -/* 28 */ +/* 22 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.13 ToObject(argument) -var defined = __webpack_require__(34); +var defined = __webpack_require__(27); module.exports = function (it) { return Object(defined(it)); }; /***/ }), -/* 29 */ +/* 23 */ /***/ (function(module, exports) { exports.f = {}.propertyIsEnumerable; /***/ }), -/* 30 */ +/* 24 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1973,7 +737,7 @@ function applyToTag(style, options, obj) { style.removeAttribute('media'); } - if (sourceMap && btoa) { + if (sourceMap && typeof btoa !== 'undefined') { css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); } // For old IE @@ -2069,400 +833,15 @@ module.exports = function (list, options) { }; /***/ }), -/* 31 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _reactLifecyclesCompat = __webpack_require__(46); - -var _util = __webpack_require__(5); - -var _DataTypes = __webpack_require__(47); - -var _VariableEditor = __webpack_require__(183); - -var _VariableEditor2 = _interopRequireDefault(_VariableEditor); - -var _VariableMeta = __webpack_require__(61); - -var _VariableMeta2 = _interopRequireDefault(_VariableMeta); - -var _ArrayGroup = __webpack_require__(62); - -var _ArrayGroup2 = _interopRequireDefault(_ArrayGroup); - -var _ObjectName = __webpack_require__(63); - -var _ObjectName2 = _interopRequireDefault(_ObjectName); - -var _ObjectAttributes = __webpack_require__(16); - -var _ObjectAttributes2 = _interopRequireDefault(_ObjectAttributes); - -var _ToggleIcons = __webpack_require__(64); - -var _getStyle = __webpack_require__(2); - -var _getStyle2 = _interopRequireDefault(_getStyle); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -//data type components - - -//attribute store - - -//icons - - -//theme - - -//increment 1 with each nested object & array -var DEPTH_INCREMENT = 1; -//single indent is 5px -var SINGLE_INDENT = 5; - -var RjvObject = function (_React$PureComponent) { - _inherits(RjvObject, _React$PureComponent); - - function RjvObject(props) { - _classCallCheck(this, RjvObject); - - var _this = _possibleConstructorReturn(this, (RjvObject.__proto__ || Object.getPrototypeOf(RjvObject)).call(this, props)); - - _initialiseProps.call(_this); - - var state = RjvObject.getState(props); - _this.state = _extends({}, state, { - prevProps: {} - }); - return _this; - } - - _createClass(RjvObject, [{ - key: 'getBraceStart', - value: function getBraceStart(object_type, expanded) { - var _this2 = this; - - var _props = this.props, - src = _props.src, - theme = _props.theme, - iconStyle = _props.iconStyle, - parent_type = _props.parent_type; - - - if (parent_type === 'array_group') { - return _react2.default.createElement( - 'span', - null, - _react2.default.createElement( - 'span', - (0, _getStyle2.default)(theme, 'brace'), - object_type === 'array' ? '[' : '{' - ), - expanded ? this.getObjectMetaData(src) : null - ); - } - - var IconComponent = expanded ? _ToggleIcons.ExpandedIcon : _ToggleIcons.CollapsedIcon; - - return _react2.default.createElement( - 'span', - null, - _react2.default.createElement( - 'span', - _extends({ - onClick: function onClick(e) { - _this2.toggleCollapsed(); - } - }, (0, _getStyle2.default)(theme, 'brace-row')), - _react2.default.createElement( - 'div', - _extends({ - className: 'icon-container' - }, (0, _getStyle2.default)(theme, 'icon-container')), - _react2.default.createElement(IconComponent, { theme: theme, iconStyle: iconStyle }) - ), - _react2.default.createElement(_ObjectName2.default, this.props), - _react2.default.createElement( - 'span', - (0, _getStyle2.default)(theme, 'brace'), - object_type === 'array' ? '[' : '{' - ) - ), - expanded ? this.getObjectMetaData(src) : null - ); - } - }, { - key: 'render', - value: function render() { - var _this3 = this; - - // `indentWidth` and `collapsed` props will - // perpetuate to children via `...rest` - var _props2 = this.props, - depth = _props2.depth, - src = _props2.src, - namespace = _props2.namespace, - name = _props2.name, - type = _props2.type, - parent_type = _props2.parent_type, - theme = _props2.theme, - jsvRoot = _props2.jsvRoot, - iconStyle = _props2.iconStyle, - rest = _objectWithoutProperties(_props2, ['depth', 'src', 'namespace', 'name', 'type', 'parent_type', 'theme', 'jsvRoot', 'iconStyle']); - - var _state = this.state, - object_type = _state.object_type, - expanded = _state.expanded; - - - var styles = {}; - if (!jsvRoot && parent_type !== 'array_group') { - styles.paddingLeft = this.props.indentWidth * SINGLE_INDENT; - } else if (parent_type === 'array_group') { - styles.borderLeft = 0; - styles.display = 'inline'; - } - - return _react2.default.createElement( - 'div', - _extends({ - className: 'object-key-val', - onMouseEnter: function onMouseEnter() { - return _this3.setState(_extends({}, _this3.state, { hovered: true })); - }, - onMouseLeave: function onMouseLeave() { - return _this3.setState(_extends({}, _this3.state, { hovered: false })); - } - }, (0, _getStyle2.default)(theme, jsvRoot ? 'jsv-root' : 'objectKeyVal', styles)), - this.getBraceStart(object_type, expanded), - expanded ? this.getObjectContent(depth, src, _extends({ - theme: theme, - iconStyle: iconStyle - }, rest)) : this.getEllipsis(), - _react2.default.createElement( - 'span', - { className: 'brace-row' }, - _react2.default.createElement( - 'span', - { - style: _extends({}, (0, _getStyle2.default)(theme, 'brace').style, { - paddingLeft: expanded ? '3px' : '0px' - }) - }, - object_type === 'array' ? ']' : '}' - ), - expanded ? null : this.getObjectMetaData(src) - ) - ); - } - }], [{ - key: 'getDerivedStateFromProps', - value: function getDerivedStateFromProps(nextProps, prevState) { - var prevProps = prevState.prevProps; - - if (nextProps.src !== prevProps.src || nextProps.collapsed !== prevProps.collapsed || nextProps.name !== prevProps.name || nextProps.namespace !== prevProps.namespace || nextProps.rjvId !== prevProps.rjvId) { - var newState = RjvObject.getState(nextProps); - return _extends({}, newState, { - prevProps: nextProps - }); - } - return null; - } - }]); - - return RjvObject; -}(_react2.default.PureComponent); - -//just store name, value and type with a variable - - -RjvObject.getState = function (props) { - var size = Object.keys(props.src).length; - var expanded = (props.collapsed === false || props.collapsed !== true && props.collapsed > props.depth) && (!props.shouldCollapse || props.shouldCollapse({ - name: props.name, - src: props.src, - type: (0, _util.toType)(props.src), - namespace: props.namespace - }) === false) && - //initialize closed if object has no items - size !== 0; - var state = { - expanded: _ObjectAttributes2.default.get(props.rjvId, props.namespace, 'expanded', expanded), - object_type: props.type === 'array' ? 'array' : 'object', - parent_type: props.type === 'array' ? 'array' : 'object', - size: size, - hovered: false - }; - return state; -}; - -var _initialiseProps = function _initialiseProps() { - var _this4 = this; - - this.toggleCollapsed = function () { - _this4.setState({ - expanded: !_this4.state.expanded - }, function () { - _ObjectAttributes2.default.set(_this4.props.rjvId, _this4.props.namespace, 'expanded', _this4.state.expanded); - }); - }; - - this.getObjectContent = function (depth, src, props) { - return _react2.default.createElement( - 'div', - { className: 'pushed-content object-container' }, - _react2.default.createElement( - 'div', - _extends({ - className: 'object-content' - }, (0, _getStyle2.default)(_this4.props.theme, 'pushed-content')), - _this4.renderObjectContents(src, props) - ) - ); - }; - - this.getEllipsis = function () { - var size = _this4.state.size; - - - if (size === 0) { - //don't render an ellipsis when an object has no items - return null; - } else { - return _react2.default.createElement( - 'div', - _extends({}, (0, _getStyle2.default)(_this4.props.theme, 'ellipsis'), { - className: 'node-ellipsis', - onClick: _this4.toggleCollapsed - }), - '...' - ); - } - }; - - this.getObjectMetaData = function (src) { - var _props3 = _this4.props, - rjvId = _props3.rjvId, - theme = _props3.theme; - var _state2 = _this4.state, - size = _state2.size, - hovered = _state2.hovered; - - return _react2.default.createElement(_VariableMeta2.default, _extends({ rowHovered: hovered, size: size }, _this4.props)); - }; - - this.renderObjectContents = function (variables, props) { - var _props4 = _this4.props, - depth = _props4.depth, - parent_type = _props4.parent_type, - index_offset = _props4.index_offset, - groupArraysAfterLength = _props4.groupArraysAfterLength, - namespace = _props4.namespace; - var object_type = _this4.state.object_type; - - var theme = props.theme; - var elements = [], - variable = void 0; - var keys = Object.keys(variables || {}); - if (_this4.props.sortKeys) { - keys = keys.sort(); - } - keys.forEach(function (name) { - variable = new JsonVariable(name, variables[name]); - - if (parent_type === 'array_group' && index_offset) { - variable.name = parseInt(variable.name) + index_offset; - } - if (!variables.hasOwnProperty(name)) { - return; - } else if (variable.type === 'object') { - elements.push(_react2.default.createElement(_DataTypes.JsonObject, _extends({ - key: variable.name, - depth: depth + DEPTH_INCREMENT, - name: variable.name, - src: variable.value, - namespace: namespace.concat(variable.name), - parent_type: object_type - }, props))); - } else if (variable.type === 'array') { - var ObjectComponent = _DataTypes.JsonObject; - - if (groupArraysAfterLength && variable.value.length > groupArraysAfterLength) { - ObjectComponent = _ArrayGroup2.default; - } - - elements.push(_react2.default.createElement(ObjectComponent, _extends({ - key: variable.name, - depth: depth + DEPTH_INCREMENT, - name: variable.name, - src: variable.value, - namespace: namespace.concat(variable.name), - type: 'array', - parent_type: object_type - }, props))); - } else { - elements.push(_react2.default.createElement(_VariableEditor2.default, _extends({ - key: variable.name + '_' + namespace, - variable: variable, - singleIndent: SINGLE_INDENT, - namespace: namespace, - type: _this4.props.type - }, props))); - } - }); - return elements; - }; -}; - -var JsonVariable = function JsonVariable(name, value) { - _classCallCheck(this, JsonVariable); - - this.name = name; - this.value = value; - this.type = (0, _util.toType)(value); -}; - -(0, _reactLifecyclesCompat.polyfill)(RjvObject); - -//export component -exports.default = RjvObject; - -/***/ }), -/* 32 */ +/* 25 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var $at = __webpack_require__(82)(true); +var $at = __webpack_require__(61)(true); // 21.1.3.27 String.prototype[@@iterator]() -__webpack_require__(48)(String, 'String', function (iterated) { +__webpack_require__(39)(String, 'String', function (iterated) { this._t = String(iterated); // target this._i = 0; // next index // 21.1.5.2.1 %StringIteratorPrototype%.next() @@ -2478,7 +857,7 @@ __webpack_require__(48)(String, 'String', function (iterated) { /***/ }), -/* 33 */ +/* 26 */ /***/ (function(module, exports) { // 7.1.4 ToInteger @@ -2490,7 +869,7 @@ module.exports = function (it) { /***/ }), -/* 34 */ +/* 27 */ /***/ (function(module, exports) { // 7.2.1 RequireObjectCoercible(argument) @@ -2501,11 +880,11 @@ module.exports = function (it) { /***/ }), -/* 35 */ +/* 28 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.1 ToPrimitive(input [, PreferredType]) -var isObject = __webpack_require__(21); +var isObject = __webpack_require__(15); // instead of the ES6 spec version, we didn't implement @@toPrimitive case // and the second argument - flag - preferred type is a string module.exports = function (it, S) { @@ -2519,7 +898,7 @@ module.exports = function (it, S) { /***/ }), -/* 36 */ +/* 29 */ /***/ (function(module, exports) { var toString = {}.toString; @@ -2530,22 +909,22 @@ module.exports = function (it) { /***/ }), -/* 37 */ +/* 30 */ /***/ (function(module, exports, __webpack_require__) { -var shared = __webpack_require__(38)('keys'); -var uid = __webpack_require__(27); +var shared = __webpack_require__(31)('keys'); +var uid = __webpack_require__(21); module.exports = function (key) { return shared[key] || (shared[key] = uid(key)); }; /***/ }), -/* 38 */ +/* 31 */ /***/ (function(module, exports, __webpack_require__) { -var core = __webpack_require__(3); -var global = __webpack_require__(6); +var core = __webpack_require__(2); +var global = __webpack_require__(4); var SHARED = '__core-js_shared__'; var store = global[SHARED] || (global[SHARED] = {}); @@ -2553,13 +932,13 @@ var store = global[SHARED] || (global[SHARED] = {}); return store[key] || (store[key] = value !== undefined ? value : {}); })('versions', []).push({ version: core.version, - mode: __webpack_require__(24) ? 'pure' : 'global', + mode: __webpack_require__(18) ? 'pure' : 'global', copyright: '© 2019 Denis Pushkarev (zloirock.ru)' }); /***/ }), -/* 39 */ +/* 32 */ /***/ (function(module, exports) { // IE 8- don't enum bug keys @@ -2569,12 +948,12 @@ module.exports = ( /***/ }), -/* 40 */ +/* 33 */ /***/ (function(module, exports, __webpack_require__) { -var def = __webpack_require__(13).f; -var has = __webpack_require__(11); -var TAG = __webpack_require__(4)('toStringTag'); +var def = __webpack_require__(11).f; +var has = __webpack_require__(8); +var TAG = __webpack_require__(3)('toStringTag'); module.exports = function (it, tag, stat) { if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); @@ -2582,14 +961,14 @@ module.exports = function (it, tag, stat) { /***/ }), -/* 41 */ +/* 34 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(92); -var global = __webpack_require__(6); -var hide = __webpack_require__(12); -var Iterators = __webpack_require__(22); -var TO_STRING_TAG = __webpack_require__(4)('toStringTag'); +__webpack_require__(71); +var global = __webpack_require__(4); +var hide = __webpack_require__(10); +var Iterators = __webpack_require__(16); +var TO_STRING_TAG = __webpack_require__(3)('toStringTag'); var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' + 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' + @@ -2607,21 +986,21 @@ for (var i = 0; i < DOMIterables.length; i++) { /***/ }), -/* 42 */ +/* 35 */ /***/ (function(module, exports, __webpack_require__) { -exports.f = __webpack_require__(4); +exports.f = __webpack_require__(3); /***/ }), -/* 43 */ +/* 36 */ /***/ (function(module, exports, __webpack_require__) { -var global = __webpack_require__(6); -var core = __webpack_require__(3); -var LIBRARY = __webpack_require__(24); -var wksExt = __webpack_require__(42); -var defineProperty = __webpack_require__(13).f; +var global = __webpack_require__(4); +var core = __webpack_require__(2); +var LIBRARY = __webpack_require__(18); +var wksExt = __webpack_require__(35); +var defineProperty = __webpack_require__(11).f; module.exports = function (name) { var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); @@ -2629,14 +1008,14 @@ module.exports = function (name) { /***/ }), -/* 44 */ +/* 37 */ /***/ (function(module, exports) { exports.f = Object.getOwnPropertySymbols; /***/ }), -/* 45 */ +/* 38 */ /***/ (function(module, exports) { function clamp(val, min, max) { @@ -2646,303 +1025,24 @@ function clamp(val, min, max) { module.exports = clamp; /***/ }), -/* 46 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/* 39 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "polyfill", function() { return polyfill; }); -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -function componentWillMount() { - // Call this.constructor.gDSFP to support sub-classes. - var state = this.constructor.getDerivedStateFromProps(this.props, this.state); - if (state !== null && state !== undefined) { - this.setState(state); - } -} - -function componentWillReceiveProps(nextProps) { - // Call this.constructor.gDSFP to support sub-classes. - // Use the setState() updater to ensure state isn't stale in certain edge cases. - function updater(prevState) { - var state = this.constructor.getDerivedStateFromProps(nextProps, prevState); - return state !== null && state !== undefined ? state : null; - } - // Binding "this" is important for shallow renderer support. - this.setState(updater.bind(this)); -} - -function componentWillUpdate(nextProps, nextState) { - try { - var prevProps = this.props; - var prevState = this.state; - this.props = nextProps; - this.state = nextState; - this.__reactInternalSnapshotFlag = true; - this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate( - prevProps, - prevState - ); - } finally { - this.props = prevProps; - this.state = prevState; - } -} - -// React may warn about cWM/cWRP/cWU methods being deprecated. -// Add a flag to suppress these warnings for this special case. -componentWillMount.__suppressDeprecationWarning = true; -componentWillReceiveProps.__suppressDeprecationWarning = true; -componentWillUpdate.__suppressDeprecationWarning = true; - -function polyfill(Component) { - var prototype = Component.prototype; - - if (!prototype || !prototype.isReactComponent) { - throw new Error('Can only polyfill class components'); - } - - if ( - typeof Component.getDerivedStateFromProps !== 'function' && - typeof prototype.getSnapshotBeforeUpdate !== 'function' - ) { - return Component; - } - - // If new component APIs are defined, "unsafe" lifecycles won't be called. - // Error if any of these lifecycles are present, - // Because they would work differently between older and newer (16.3+) versions of React. - var foundWillMountName = null; - var foundWillReceivePropsName = null; - var foundWillUpdateName = null; - if (typeof prototype.componentWillMount === 'function') { - foundWillMountName = 'componentWillMount'; - } else if (typeof prototype.UNSAFE_componentWillMount === 'function') { - foundWillMountName = 'UNSAFE_componentWillMount'; - } - if (typeof prototype.componentWillReceiveProps === 'function') { - foundWillReceivePropsName = 'componentWillReceiveProps'; - } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') { - foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps'; - } - if (typeof prototype.componentWillUpdate === 'function') { - foundWillUpdateName = 'componentWillUpdate'; - } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') { - foundWillUpdateName = 'UNSAFE_componentWillUpdate'; - } - if ( - foundWillMountName !== null || - foundWillReceivePropsName !== null || - foundWillUpdateName !== null - ) { - var componentName = Component.displayName || Component.name; - var newApiName = - typeof Component.getDerivedStateFromProps === 'function' - ? 'getDerivedStateFromProps()' - : 'getSnapshotBeforeUpdate()'; - - throw Error( - 'Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' + - componentName + - ' uses ' + - newApiName + - ' but also contains the following legacy lifecycles:' + - (foundWillMountName !== null ? '\n ' + foundWillMountName : '') + - (foundWillReceivePropsName !== null - ? '\n ' + foundWillReceivePropsName - : '') + - (foundWillUpdateName !== null ? '\n ' + foundWillUpdateName : '') + - '\n\nThe above lifecycles should be removed. Learn more about this warning here:\n' + - 'https://fb.me/react-async-component-lifecycle-hooks' - ); - } - - // React <= 16.2 does not support static getDerivedStateFromProps. - // As a workaround, use cWM and cWRP to invoke the new static lifecycle. - // Newer versions of React will ignore these lifecycles if gDSFP exists. - if (typeof Component.getDerivedStateFromProps === 'function') { - prototype.componentWillMount = componentWillMount; - prototype.componentWillReceiveProps = componentWillReceiveProps; - } - - // React <= 16.2 does not support getSnapshotBeforeUpdate. - // As a workaround, use cWU to invoke the new lifecycle. - // Newer versions of React will ignore that lifecycle if gSBU exists. - if (typeof prototype.getSnapshotBeforeUpdate === 'function') { - if (typeof prototype.componentDidUpdate !== 'function') { - throw new Error( - 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype' - ); - } - - prototype.componentWillUpdate = componentWillUpdate; - - var componentDidUpdate = prototype.componentDidUpdate; - - prototype.componentDidUpdate = function componentDidUpdatePolyfill( - prevProps, - prevState, - maybeSnapshot - ) { - // 16.3+ will not execute our will-update method; - // It will pass a snapshot value to did-update though. - // Older versions will require our polyfilled will-update value. - // We need to handle both cases, but can't just check for the presence of "maybeSnapshot", - // Because for <= 15.x versions this might be a "prevContext" object. - // We also can't just check "__reactInternalSnapshot", - // Because get-snapshot might return a falsy value. - // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior. - var snapshot = this.__reactInternalSnapshotFlag - ? this.__reactInternalSnapshot - : maybeSnapshot; - - componentDidUpdate.call(this, prevProps, prevState, snapshot); - }; - } - - return Component; -} - - - - -/***/ }), -/* 47 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _Boolean = __webpack_require__(75); - -Object.defineProperty(exports, 'JsonBoolean', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_Boolean).default; - } -}); - -var _Date = __webpack_require__(170); - -Object.defineProperty(exports, 'JsonDate', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_Date).default; - } -}); - -var _Float = __webpack_require__(171); - -Object.defineProperty(exports, 'JsonFloat', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_Float).default; - } -}); - -var _Function = __webpack_require__(172); - -Object.defineProperty(exports, 'JsonFunction', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_Function).default; - } -}); - -var _Nan = __webpack_require__(177); - -Object.defineProperty(exports, 'JsonNan', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_Nan).default; - } -}); - -var _Null = __webpack_require__(178); - -Object.defineProperty(exports, 'JsonNull', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_Null).default; - } -}); - -var _Integer = __webpack_require__(179); - -Object.defineProperty(exports, 'JsonInteger', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_Integer).default; - } -}); - -var _Object = __webpack_require__(31); - -Object.defineProperty(exports, 'JsonObject', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_Object).default; - } -}); - -var _Regexp = __webpack_require__(180); - -Object.defineProperty(exports, 'JsonRegexp', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_Regexp).default; - } -}); - -var _String = __webpack_require__(181); - -Object.defineProperty(exports, 'JsonString', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_String).default; - } -}); - -var _Undefined = __webpack_require__(182); - -Object.defineProperty(exports, 'JsonUndefined', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_Undefined).default; - } -}); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/***/ }), -/* 48 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var LIBRARY = __webpack_require__(24); -var $export = __webpack_require__(25); -var redefine = __webpack_require__(51); -var hide = __webpack_require__(12); -var Iterators = __webpack_require__(22); -var $iterCreate = __webpack_require__(85); -var setToStringTag = __webpack_require__(40); -var getPrototypeOf = __webpack_require__(91); -var ITERATOR = __webpack_require__(4)('iterator'); -var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` -var FF_ITERATOR = '@@iterator'; -var KEYS = 'keys'; -var VALUES = 'values'; +var LIBRARY = __webpack_require__(18); +var $export = __webpack_require__(19); +var redefine = __webpack_require__(42); +var hide = __webpack_require__(10); +var Iterators = __webpack_require__(16); +var $iterCreate = __webpack_require__(64); +var setToStringTag = __webpack_require__(33); +var getPrototypeOf = __webpack_require__(70); +var ITERATOR = __webpack_require__(3)('iterator'); +var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` +var FF_ITERATOR = '@@iterator'; +var KEYS = 'keys'; +var VALUES = 'values'; var returnThis = function () { return this; }; @@ -3001,20 +1101,20 @@ module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE /***/ }), -/* 49 */ +/* 40 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = !__webpack_require__(10) && !__webpack_require__(14)(function () { - return Object.defineProperty(__webpack_require__(50)('div'), 'a', { get: function () { return 7; } }).a != 7; +module.exports = !__webpack_require__(7) && !__webpack_require__(12)(function () { + return Object.defineProperty(__webpack_require__(41)('div'), 'a', { get: function () { return 7; } }).a != 7; }); /***/ }), -/* 50 */ +/* 41 */ /***/ (function(module, exports, __webpack_require__) { -var isObject = __webpack_require__(21); -var document = __webpack_require__(6).document; +var isObject = __webpack_require__(15); +var document = __webpack_require__(4).document; // typeof document.createElement is 'object' in old IE var is = isObject(document) && isObject(document.createElement); module.exports = function (it) { @@ -3023,34 +1123,34 @@ module.exports = function (it) { /***/ }), -/* 51 */ +/* 42 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(12); +module.exports = __webpack_require__(10); /***/ }), -/* 52 */ +/* 43 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -var anObject = __webpack_require__(20); -var dPs = __webpack_require__(86); -var enumBugKeys = __webpack_require__(39); -var IE_PROTO = __webpack_require__(37)('IE_PROTO'); +var anObject = __webpack_require__(14); +var dPs = __webpack_require__(65); +var enumBugKeys = __webpack_require__(32); +var IE_PROTO = __webpack_require__(30)('IE_PROTO'); var Empty = function () { /* empty */ }; var PROTOTYPE = 'prototype'; // Create object with fake `null` prototype: use iframe Object with cleared prototype var createDict = function () { // Thrash, waste and sodomy: IE GC bug - var iframe = __webpack_require__(50)('iframe'); + var iframe = __webpack_require__(41)('iframe'); var i = enumBugKeys.length; var lt = '<'; var gt = '>'; var iframeDocument; iframe.style.display = 'none'; - __webpack_require__(90).appendChild(iframe); + __webpack_require__(69).appendChild(iframe); iframe.src = 'javascript:'; // eslint-disable-line no-script-url // createDict = iframe.contentWindow.Object; // html.removeChild(iframe); @@ -3077,13 +1177,13 @@ module.exports = Object.create || function create(O, Properties) { /***/ }), -/* 53 */ +/* 44 */ /***/ (function(module, exports, __webpack_require__) { -var has = __webpack_require__(11); -var toIObject = __webpack_require__(15); -var arrayIndexOf = __webpack_require__(87)(false); -var IE_PROTO = __webpack_require__(37)('IE_PROTO'); +var has = __webpack_require__(8); +var toIObject = __webpack_require__(13); +var arrayIndexOf = __webpack_require__(66)(false); +var IE_PROTO = __webpack_require__(30)('IE_PROTO'); module.exports = function (object, names) { var O = toIObject(object); @@ -3100,11 +1200,11 @@ module.exports = function (object, names) { /***/ }), -/* 54 */ +/* 45 */ /***/ (function(module, exports, __webpack_require__) { // fallback for non-array-like ES3 and non-enumerable old V8 strings -var cof = __webpack_require__(36); +var cof = __webpack_require__(29); // eslint-disable-next-line no-prototype-builtins module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { return cof(it) == 'String' ? it.split('') : Object(it); @@ -3112,12 +1212,12 @@ module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { /***/ }), -/* 55 */ +/* 46 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) -var $keys = __webpack_require__(53); -var hiddenKeys = __webpack_require__(39).concat('length', 'prototype'); +var $keys = __webpack_require__(44); +var hiddenKeys = __webpack_require__(32).concat('length', 'prototype'); exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return $keys(O, hiddenKeys); @@ -3125,12 +1225,12 @@ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { /***/ }), -/* 56 */ +/* 47 */ /***/ (function(module, exports, __webpack_require__) { // getting tag from 19.1.3.6 Object.prototype.toString() -var cof = __webpack_require__(36); -var TAG = __webpack_require__(4)('toStringTag'); +var cof = __webpack_require__(29); +var TAG = __webpack_require__(3)('toStringTag'); // ES3 wrong here var ARG = cof(function () { return arguments; }()) == 'Arguments'; @@ -3154,7 +1254,7 @@ module.exports = function (it) { /***/ }), -/* 57 */ +/* 48 */ /***/ (function(module, exports) { var g; @@ -3180,7 +1280,7 @@ module.exports = g; /***/ }), -/* 58 */ +/* 49 */ /***/ (function(module, exports) { var component = /-?\d+(\.\d+)?%?/g; @@ -3191,796 +1291,25 @@ function extractComponents(color) { module.exports = extractComponents; /***/ }), -/* 59 */ +/* 50 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { - value: true + value: true }); -var _util = __webpack_require__(5); - -exports.default = function (value) { - var type = (0, _util.toType)(value); - var string_value = void 0; - switch (type) { - case 'undefined': - { - string_value = 'undefined'; - break; - } - case 'nan': - string_value = 'NaN'; - break; - case 'string': - string_value = value; - break; - case 'date': - string_value = value.toString(); - break; - case 'function': - string_value = value.toString(); - break; - case 'regexp': - string_value = value.toString(); - break; - default: - { - try { - string_value = JSON.stringify(value, null, ' '); - } catch (e) { - string_value = ''; - } - } - } - - return string_value; -}; - -/***/ }), -/* 60 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _util = __webpack_require__(5); - -var _stringifyVariable = __webpack_require__(59); - -var _stringifyVariable2 = _interopRequireDefault(_stringifyVariable); - -var _icons = __webpack_require__(18); - -var _getStyle = __webpack_require__(2); - -var _getStyle2 = _interopRequireDefault(_getStyle); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -//clibboard icon - - -//theme - - -var _class = function (_React$PureComponent) { - _inherits(_class, _React$PureComponent); - - function _class(props) { - _classCallCheck(this, _class); - - var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props)); - - _this.copiedTimer = null; - - _this.handleCopy = function () { - var container = document.createElement('textarea'); - var _this$props = _this.props, - clickCallback = _this$props.clickCallback, - src = _this$props.src, - namespace = _this$props.namespace; - - - container.innerHTML = JSON.stringify(_this.clipboardValue(src), null, ' '); - - document.body.appendChild(container); - container.select(); - document.execCommand('copy'); - - document.body.removeChild(container); - - _this.copiedTimer = setTimeout(function () { - _this.setState({ - copied: false - }); - }, 5500); - - _this.setState({ copied: true }, function () { - if (typeof clickCallback !== 'function') { - return; - } - - clickCallback({ - src: src, - namespace: namespace, - name: namespace[namespace.length - 1] - }); - }); - }; - - _this.getClippyIcon = function () { - var theme = _this.props.theme; - - - if (_this.state.copied) { - return _react2.default.createElement( - 'span', - null, - _react2.default.createElement(_icons.Clippy, _extends({ className: 'copy-icon' }, (0, _getStyle2.default)(theme, 'copy-icon'))), - _react2.default.createElement( - 'span', - (0, _getStyle2.default)(theme, 'copy-icon-copied'), - '\u2714' - ) - ); - } - - return _react2.default.createElement(_icons.Clippy, _extends({ className: 'copy-icon' }, (0, _getStyle2.default)(theme, 'copy-icon'))); - }; - - _this.clipboardValue = function (value) { - var type = (0, _util.toType)(value); - switch (type) { - case 'function': - case 'regexp': - return value.toString(); - default: - return value; - } - }; - - _this.state = { - copied: false - }; - return _this; - } - - _createClass(_class, [{ - key: 'componentWillUnmount', - value: function componentWillUnmount() { - if (this.copiedTimer) { - clearTimeout(this.copiedTimer); - this.copiedTimer = null; - } - } - }, { - key: 'render', - value: function render() { - var _props = this.props, - src = _props.src, - theme = _props.theme, - hidden = _props.hidden, - rowHovered = _props.rowHovered; - - var style = (0, _getStyle2.default)(theme, 'copy-to-clipboard').style; - var display = 'inline'; - - if (hidden) { - display = 'none'; - } - - return _react2.default.createElement( - 'span', - { className: 'copy-to-clipboard-container', - title: 'Copy to clipboard', - style: { - verticalAlign: 'top', - display: rowHovered ? 'inline-block' : 'none' - } }, - _react2.default.createElement( - 'span', - { - style: _extends({}, style, { - display: display - }), - onClick: this.handleCopy - }, - this.getClippyIcon() - ) - ); - } - }]); - - return _class; -}(_react2.default.PureComponent); - -exports.default = _class; - -/***/ }), -/* 61 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _dispatcher = __webpack_require__(17); - -var _dispatcher2 = _interopRequireDefault(_dispatcher); - -var _CopyToClipboard = __webpack_require__(60); - -var _CopyToClipboard2 = _interopRequireDefault(_CopyToClipboard); - -var _util = __webpack_require__(5); - -var _icons = __webpack_require__(18); - -var _getStyle = __webpack_require__(2); - -var _getStyle2 = _interopRequireDefault(_getStyle); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -//icons - - -//theme - - -var _class = function (_React$PureComponent) { - _inherits(_class, _React$PureComponent); - - function _class() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, _class); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.getObjectSize = function () { - var _this$props = _this.props, - size = _this$props.size, - theme = _this$props.theme, - displayObjectSize = _this$props.displayObjectSize; - - if (displayObjectSize) { - return _react2.default.createElement( - 'span', - _extends({ className: 'object-size' - }, (0, _getStyle2.default)(theme, 'object-size')), - size, - ' item', - size === 1 ? '' : 's' - ); - } - }, _this.getAddAttribute = function (rowHovered) { - var _this$props2 = _this.props, - theme = _this$props2.theme, - namespace = _this$props2.namespace, - name = _this$props2.name, - src = _this$props2.src, - rjvId = _this$props2.rjvId, - depth = _this$props2.depth; - - - return _react2.default.createElement( - 'span', - { - className: 'click-to-add', - style: { - verticalAlign: 'top', - display: rowHovered ? 'inline-block' : 'none' - } }, - _react2.default.createElement(_icons.AddCircle, _extends({ - className: 'click-to-add-icon' - }, (0, _getStyle2.default)(theme, 'addVarIcon'), { - onClick: function onClick() { - var request = { - name: depth > 0 ? name : null, - namespace: namespace.splice(0, namespace.length - 1), - existing_value: src, - variable_removed: false, - key_name: null - }; - if ((0, _util.toType)(src) === 'object') { - _dispatcher2.default.dispatch({ - name: 'ADD_VARIABLE_KEY_REQUEST', - rjvId: rjvId, - data: request - }); - } else { - _dispatcher2.default.dispatch({ - name: 'VARIABLE_ADDED', - rjvId: rjvId, - data: _extends({}, request, { - new_value: [].concat(_toConsumableArray(src), [null]) - }) - }); - } - } - })) - ); - }, _this.getRemoveObject = function (rowHovered) { - var _this$props3 = _this.props, - theme = _this$props3.theme, - hover = _this$props3.hover, - namespace = _this$props3.namespace, - name = _this$props3.name, - src = _this$props3.src, - rjvId = _this$props3.rjvId; - - //don't allow deleting of root node - - if (namespace.length === 1) { - return; - } - return _react2.default.createElement( - 'span', - { className: 'click-to-remove', - style: { - display: rowHovered ? 'inline-block' : 'none' - } }, - _react2.default.createElement(_icons.RemoveCircle, _extends({ - className: 'click-to-remove-icon' - }, (0, _getStyle2.default)(theme, 'removeVarIcon'), { - onClick: function onClick() { - _dispatcher2.default.dispatch({ - name: 'VARIABLE_REMOVED', - rjvId: rjvId, - data: { - name: name, - namespace: namespace.splice(0, namespace.length - 1), - existing_value: src, - variable_removed: true - } - }); - } - })) - ); - }, _this.render = function () { - var _this$props4 = _this.props, - theme = _this$props4.theme, - onDelete = _this$props4.onDelete, - onAdd = _this$props4.onAdd, - enableClipboard = _this$props4.enableClipboard, - src = _this$props4.src, - namespace = _this$props4.namespace, - rowHovered = _this$props4.rowHovered; - - return _react2.default.createElement( - 'div', - _extends({}, (0, _getStyle2.default)(theme, 'object-meta-data'), { - className: 'object-meta-data', - onClick: function onClick(e) { - e.stopPropagation(); - } - }), - _this.getObjectSize(), - enableClipboard ? _react2.default.createElement(_CopyToClipboard2.default, _extends({ - rowHovered: rowHovered, - clickCallback: enableClipboard - }, { src: src, theme: theme, namespace: namespace })) : null, - onAdd !== false ? _this.getAddAttribute(rowHovered) : null, - onDelete !== false ? _this.getRemoveObject(rowHovered) : null - ); - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - return _class; -}(_react2.default.PureComponent); - -exports.default = _class; - -/***/ }), -/* 62 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _getStyle = __webpack_require__(2); - -var _getStyle2 = _interopRequireDefault(_getStyle); - -var _VariableMeta = __webpack_require__(61); - -var _VariableMeta2 = _interopRequireDefault(_VariableMeta); - -var _ObjectName = __webpack_require__(63); - -var _ObjectName2 = _interopRequireDefault(_ObjectName); - -var _Object = __webpack_require__(31); - -var _Object2 = _interopRequireDefault(_Object); - -var _ToggleIcons = __webpack_require__(64); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -//icons - - -//single indent is 5px -var SINGLE_INDENT = 5; - -var _class = function (_React$PureComponent) { - _inherits(_class, _React$PureComponent); - - function _class(props) { - _classCallCheck(this, _class); - - var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props)); - - _this.toggleCollapsed = function (i) { - var newExpanded = []; - for (var j in _this.state.expanded) { - newExpanded.push(_this.state.expanded[j]); - } - newExpanded[i] = !newExpanded[i]; - _this.setState({ - expanded: newExpanded - }); - }; - - _this.state = { - expanded: [] - }; - return _this; - } - - _createClass(_class, [{ - key: 'getExpandedIcon', - value: function getExpandedIcon(i) { - var _props = this.props, - theme = _props.theme, - iconStyle = _props.iconStyle; - - - if (this.state.expanded[i]) { - return _react2.default.createElement(_ToggleIcons.ExpandedIcon, { theme: theme, iconStyle: iconStyle }); - } - - return _react2.default.createElement(_ToggleIcons.CollapsedIcon, { theme: theme, iconStyle: iconStyle }); - } - }, { - key: 'render', - value: function render() { - var _this2 = this; - - var _props2 = this.props, - src = _props2.src, - groupArraysAfterLength = _props2.groupArraysAfterLength, - depth = _props2.depth, - name = _props2.name, - theme = _props2.theme, - jsvRoot = _props2.jsvRoot, - namespace = _props2.namespace, - parent_type = _props2.parent_type, - rest = _objectWithoutProperties(_props2, ['src', 'groupArraysAfterLength', 'depth', 'name', 'theme', 'jsvRoot', 'namespace', 'parent_type']); - - var expanded_icon = void 0, - object_padding_left = 0; - - var array_group_padding_left = this.props.indentWidth * SINGLE_INDENT; - - if (!jsvRoot) { - object_padding_left = this.props.indentWidth * SINGLE_INDENT; - } - - var size = groupArraysAfterLength; - var groups = Math.ceil(src.length / size); - - return _react2.default.createElement( - 'div', - _extends({ className: 'object-key-val' - }, (0, _getStyle2.default)(theme, jsvRoot ? 'jsv-root' : 'objectKeyVal', { paddingLeft: object_padding_left })), - _react2.default.createElement(_ObjectName2.default, this.props), - _react2.default.createElement( - 'span', - null, - _react2.default.createElement(_VariableMeta2.default, _extends({ size: src.length }, this.props)) - ), - [].concat(_toConsumableArray(Array(groups))).map(function (_, i) { - return _react2.default.createElement( - 'div', - _extends({ key: i, className: 'object-key-val array-group' }, (0, _getStyle2.default)(theme, 'objectKeyVal', { - marginLeft: 6, - paddingLeft: array_group_padding_left - })), - _react2.default.createElement( - 'span', - (0, _getStyle2.default)(theme, 'brace-row'), - _react2.default.createElement( - 'div', - _extends({ className: 'icon-container' }, (0, _getStyle2.default)(theme, 'icon-container'), { - onClick: function onClick(e) { - _this2.toggleCollapsed(i); - } }), - _this2.getExpandedIcon(i) - ), - _this2.state.expanded[i] ? _react2.default.createElement(_Object2.default, _extends({ - key: name + i, - depth: 0, - name: false, - collapsed: false, - groupArraysAfterLength: size, - index_offset: i * size, - src: src.slice(i * size, i * size + size), - namespace: namespace, - type: 'array', - parent_type: 'array_group', - theme: theme - }, rest)) : _react2.default.createElement( - 'span', - _extends({}, (0, _getStyle2.default)(theme, 'brace'), { onClick: function onClick(e) { - _this2.toggleCollapsed(i); - }, className: 'array-group-brace' }), - '[', - _react2.default.createElement( - 'div', - _extends({}, (0, _getStyle2.default)(theme, 'array-group-meta-data'), { className: 'array-group-meta-data' }), - _react2.default.createElement( - 'span', - _extends({ className: 'object-size' - }, (0, _getStyle2.default)(theme, 'object-size')), - i * size, - ' - ', - i * size + size > src.length ? src.length : i * size + size - ) - ), - ']' - ) - ) - ); - }) - ); - } - }]); - - return _class; -}(_react2.default.PureComponent); - -exports.default = _class; - -/***/ }), -/* 63 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -exports.default = getObjectName; - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _getStyle = __webpack_require__(2); - -var _getStyle2 = _interopRequireDefault(_getStyle); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function getObjectName(props) { - var parent_type = props.parent_type, - namespace = props.namespace, - theme = props.theme, - jsvRoot = props.jsvRoot, - name = props.name; - - - var display_name = props.name ? props.name : ''; - - if (jsvRoot && (name === false || name === null)) { - return _react2.default.createElement('span', null); - } else if (parent_type == 'array') { - return _react2.default.createElement( - 'span', - _extends({}, (0, _getStyle2.default)(theme, 'array-key'), { key: namespace }), - _react2.default.createElement( - 'span', - { className: 'array-key' }, - display_name - ), - _react2.default.createElement( - 'span', - (0, _getStyle2.default)(theme, 'colon'), - ':' - ) - ); - } else { - return _react2.default.createElement( - 'span', - _extends({}, (0, _getStyle2.default)(theme, 'object-name'), { key: namespace }), - _react2.default.createElement( - 'span', - { className: 'object-key' }, - _react2.default.createElement( - 'span', - { style: { verticalAlign: 'top' } }, - '"' - ), - _react2.default.createElement( - 'span', - null, - display_name - ), - _react2.default.createElement( - 'span', - { style: { verticalAlign: 'top' } }, - '"' - ) - ), - _react2.default.createElement( - 'span', - (0, _getStyle2.default)(theme, 'colon'), - ':' - ) - ); - } -} - -/***/ }), -/* 64 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -exports.ExpandedIcon = ExpandedIcon; -exports.CollapsedIcon = CollapsedIcon; - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _getStyle = __webpack_require__(2); - -var _getStyle2 = _interopRequireDefault(_getStyle); - -var _icons = __webpack_require__(18); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function ExpandedIcon(props) { - var theme = props.theme, - iconStyle = props.iconStyle; - - switch (iconStyle) { - case 'triangle': - return _react2.default.createElement(_icons.ArrowDown, _extends({}, (0, _getStyle2.default)(theme, 'expanded-icon'), { - className: 'expanded-icon' - })); - case 'square': - return _react2.default.createElement(_icons.SquareMinus, _extends({}, (0, _getStyle2.default)(theme, 'expanded-icon'), { - className: 'expanded-icon' - })); - default: - return _react2.default.createElement(_icons.CircleMinus, _extends({}, (0, _getStyle2.default)(theme, 'expanded-icon'), { - className: 'expanded-icon' - })); - } -} - -function CollapsedIcon(props) { - var theme = props.theme, - iconStyle = props.iconStyle; - - switch (iconStyle) { - case 'triangle': - return _react2.default.createElement(_icons.ArrowRight, _extends({}, (0, _getStyle2.default)(theme, 'collapsed-icon'), { - className: 'collapsed-icon' - })); - case 'square': - return _react2.default.createElement(_icons.SquarePlus, _extends({}, (0, _getStyle2.default)(theme, 'collapsed-icon'), { - className: 'collapsed-icon' - })); - default: - return _react2.default.createElement(_icons.CirclePlus, _extends({}, (0, _getStyle2.default)(theme, 'collapsed-icon'), { - className: 'collapsed-icon' - })); - } -} - -/***/ }), -/* 65 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); -var _react = __webpack_require__(1); +var _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); -var _propTypes = __webpack_require__(0); +var _propTypes = __webpack_require__(1); var _propTypes2 = _interopRequireDefault(_propTypes); @@ -4236,11844 +1565,33312 @@ AutosizeInput.defaultProps = { exports.default = AutosizeInput; /***/ }), -/* 66 */ +/* 51 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(67); +"use strict"; -/***/ }), -/* 67 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getBase16Theme = exports.createStyling = exports.invertTheme = undefined; -var _reactDom = __webpack_require__(19); +var _typeof2 = __webpack_require__(58); -var _reactDom2 = _interopRequireDefault(_reactDom); +var _typeof3 = _interopRequireDefault(_typeof2); -var _index = __webpack_require__(68); +var _extends2 = __webpack_require__(85); -var _index2 = _interopRequireDefault(_index); +var _extends3 = _interopRequireDefault(_extends2); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _slicedToArray2 = __webpack_require__(90); -__webpack_require__(199); +var _slicedToArray3 = _interopRequireDefault(_slicedToArray2); -var app = document.getElementById('mac-react-container'); +var _keys = __webpack_require__(98); -//app entrypoint -_reactDom2.default.render(React.createElement( - 'div', - { className: 'app-entry' }, - React.createElement(_index2.default, null) -), app); +var _keys2 = _interopRequireDefault(_keys); -/***/ }), -/* 68 */ -/***/ (function(module, exports, __webpack_require__) { +var _lodash = __webpack_require__(102); -"use strict"; +var _lodash2 = _interopRequireDefault(_lodash); +var _base = __webpack_require__(103); -Object.defineProperty(exports, "__esModule", { - value: true -}); +var base16 = _interopRequireWildcard(_base); -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +var _rgb2hex = __webpack_require__(141); -var _react = __webpack_require__(1); +var _rgb2hex2 = _interopRequireDefault(_rgb2hex); -var _react2 = _interopRequireDefault(_react); +var _parse = __webpack_require__(142); -var _Demo = __webpack_require__(69); +var _parse2 = _interopRequireDefault(_parse); -var _Demo2 = _interopRequireDefault(_Demo); +var _lodash3 = __webpack_require__(147); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _lodash4 = _interopRequireDefault(_lodash3); -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } +var _colorConverters = __webpack_require__(148); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +var DEFAULT_BASE16 = base16.default; -//index entrypoint component -var _class = function (_React$PureComponent) { - _inherits(_class, _React$PureComponent); +var BASE16_KEYS = (0, _keys2.default)(DEFAULT_BASE16); - function _class() { - _classCallCheck(this, _class); +// we need a correcting factor, so that a dark, but not black background color +// converts to bright enough inversed color +var flip = function flip(x) { + return x < 0.25 ? 1 : x < 0.5 ? 0.9 - x : 1.1 - x; +}; - return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments)); - } +var invertColor = (0, _lodash4.default)(_parse2.default, _colorConverters.rgb2yuv, function (_ref) { + var _ref2 = (0, _slicedToArray3.default)(_ref, 3), + y = _ref2[0], + u = _ref2[1], + v = _ref2[2]; - _createClass(_class, [{ - key: 'render', - value: function render() { - var props = _objectWithoutProperties(this.state, []); + return [flip(y), u, v]; +}, _colorConverters.yuv2rgb, _rgb2hex2.default); - return _react2.default.createElement( - 'div', - { className: 'mac-react' }, - _react2.default.createElement(_Demo2.default, null) - ); - } - }]); +var merger = function merger(styling) { + return function (prevStyling) { + return { + className: [prevStyling.className, styling.className].filter(Boolean).join(' '), + style: (0, _extends3.default)({}, prevStyling.style || {}, styling.style || {}) + }; + }; +}; - return _class; -}(_react2.default.PureComponent); +var mergeStyling = function mergeStyling(customStyling, defaultStyling) { + if (customStyling === undefined) { + return defaultStyling; + } + if (defaultStyling === undefined) { + return customStyling; + } -exports.default = _class; + var customType = typeof customStyling === 'undefined' ? 'undefined' : (0, _typeof3.default)(customStyling); + var defaultType = typeof defaultStyling === 'undefined' ? 'undefined' : (0, _typeof3.default)(defaultStyling); -/***/ }), -/* 69 */ -/***/ (function(module, exports, __webpack_require__) { + switch (customType) { + case 'string': + switch (defaultType) { + case 'string': + return [defaultStyling, customStyling].filter(Boolean).join(' '); + case 'object': + return merger({ className: customStyling, style: defaultStyling }); + case 'function': + return function (styling) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } -"use strict"; + return merger({ + className: customStyling + })(defaultStyling.apply(undefined, [styling].concat(args))); + }; + } + case 'object': + switch (defaultType) { + case 'string': + return merger({ className: defaultStyling, style: customStyling }); + case 'object': + return (0, _extends3.default)({}, defaultStyling, customStyling); + case 'function': + return function (styling) { + for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + return merger({ + style: customStyling + })(defaultStyling.apply(undefined, [styling].concat(args))); + }; + } + case 'function': + switch (defaultType) { + case 'string': + return function (styling) { + for (var _len3 = arguments.length, args = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { + args[_key3 - 1] = arguments[_key3]; + } -Object.defineProperty(exports, "__esModule", { - value: true -}); + return customStyling.apply(undefined, [merger(styling)({ + className: defaultStyling + })].concat(args)); + }; + case 'object': + return function (styling) { + for (var _len4 = arguments.length, args = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { + args[_key4 - 1] = arguments[_key4]; + } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + return customStyling.apply(undefined, [merger(styling)({ + style: defaultStyling + })].concat(args)); + }; + case 'function': + return function (styling) { + for (var _len5 = arguments.length, args = Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) { + args[_key5 - 1] = arguments[_key5]; + } -var _react = __webpack_require__(1); + return customStyling.apply(undefined, [defaultStyling.apply(undefined, [styling].concat(args))].concat(args)); + }; + } + } +}; -var _react2 = _interopRequireDefault(_react); +var mergeStylings = function mergeStylings(customStylings, defaultStylings) { + var keys = (0, _keys2.default)(defaultStylings); + for (var key in customStylings) { + if (keys.indexOf(key) === -1) keys.push(key); + } -var _reactSelect = __webpack_require__(70); + return keys.reduce(function (mergedStyling, key) { + return mergedStyling[key] = mergeStyling(customStylings[key], defaultStylings[key]), mergedStyling; + }, {}); +}; -var _reactSelect2 = _interopRequireDefault(_reactSelect); +var getStylingByKeys = function getStylingByKeys(mergedStyling, keys) { + for (var _len6 = arguments.length, args = Array(_len6 > 2 ? _len6 - 2 : 0), _key6 = 2; _key6 < _len6; _key6++) { + args[_key6 - 2] = arguments[_key6]; + } -var _index = __webpack_require__(73); + if (keys === null) { + return mergedStyling; + } -var _index2 = _interopRequireDefault(_index); + if (!Array.isArray(keys)) { + keys = [keys]; + } -var _reactGithubButton = __webpack_require__(189); + var styles = keys.map(function (key) { + return mergedStyling[key]; + }).filter(Boolean); -var _reactGithubButton2 = _interopRequireDefault(_reactGithubButton); + var props = styles.reduce(function (obj, s) { + if (typeof s === 'string') { + obj.className = [obj.className, s].filter(Boolean).join(' '); + } else if ((typeof s === 'undefined' ? 'undefined' : (0, _typeof3.default)(s)) === 'object') { + obj.style = (0, _extends3.default)({}, obj.style, s); + } else if (typeof s === 'function') { + obj = (0, _extends3.default)({}, obj, s.apply(undefined, [obj].concat(args))); + } -var _Code = __webpack_require__(192); + return obj; + }, { className: '', style: {} }); -var _Code2 = _interopRequireDefault(_Code); + if (!props.className) { + delete props.className; + } -__webpack_require__(193); + if ((0, _keys2.default)(props.style).length === 0) { + delete props.style; + } -__webpack_require__(195); + return props; +}; -__webpack_require__(197); +var invertTheme = exports.invertTheme = function invertTheme(theme) { + return (0, _keys2.default)(theme).reduce(function (t, key) { + return t[key] = /^base/.test(key) ? invertColor(theme[key]) : key === 'scheme' ? theme[key] + ':inverted' : theme[key], t; + }, {}); +}; -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var createStyling = exports.createStyling = (0, _lodash2.default)(function (getStylingFromBase16) { + for (var _len7 = arguments.length, args = Array(_len7 > 3 ? _len7 - 3 : 0), _key7 = 3; _key7 < _len7; _key7++) { + args[_key7 - 3] = arguments[_key7]; + } -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var themeOrStyling = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var _options$defaultBase = options.defaultBase16, + defaultBase16 = _options$defaultBase === undefined ? DEFAULT_BASE16 : _options$defaultBase, + _options$base16Themes = options.base16Themes, + base16Themes = _options$base16Themes === undefined ? null : _options$base16Themes; -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + var base16Theme = getBase16Theme(themeOrStyling, base16Themes); + if (base16Theme) { + themeOrStyling = (0, _extends3.default)({}, base16Theme, themeOrStyling); + } -//index entrypoint component -var _class = function (_React$PureComponent) { - _inherits(_class, _React$PureComponent); - - function _class(props) { - _classCallCheck(this, _class); - - var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, props)); - - _this.getNotes = function (on_edit_enabled, on_add_enabled) { - var notes = []; - if (on_edit_enabled) { - notes.push(_react2.default.createElement( - "span", - null, - "To edit a value, try ", - _react2.default.createElement( - _Code2.default, - null, - "ctrl/cmd + click" - ), - " enter edit mode" - )); - notes.push(_react2.default.createElement( - "span", - null, - "When editing a value, try ", - _react2.default.createElement( - _Code2.default, - null, - "ctrl/cmd + Enter" - ), - " to submit changes" - )); - notes.push(_react2.default.createElement( - "span", - null, - "When editing a value, try ", - _react2.default.createElement( - _Code2.default, - null, - "Escape" - ), - " key to cancel" - )); - } - if (on_add_enabled) { - notes.push(_react2.default.createElement( - "span", - null, - "When adding a new key, try ", - _react2.default.createElement( - _Code2.default, - null, - "Enter" - ), - " to submit" - )); - notes.push(_react2.default.createElement( - "span", - null, - "When adding a new key, try ", - _react2.default.createElement( - _Code2.default, - null, - "Escape" - ), - " to cancel" - )); - } + var theme = BASE16_KEYS.reduce(function (t, key) { + return t[key] = themeOrStyling[key] || defaultBase16[key], t; + }, {}); - if (notes.length === 0) { - return null; - } + var customStyling = (0, _keys2.default)(themeOrStyling).reduce(function (s, key) { + return BASE16_KEYS.indexOf(key) === -1 ? (s[key] = themeOrStyling[key], s) : s; + }, {}); - return _react2.default.createElement( - "div", - { style: { marginTop: "20px", fontStyle: "italic" } }, - "Keyboard Shortcuts", - _react2.default.createElement( - "ul", - null, - notes.map(function (note) { - return _react2.default.createElement( - "li", - null, - note - ); - }) - ) - ); - }; + var defaultStyling = getStylingFromBase16(theme); - _this.getIconStyleInput = function (iconStyle) { - return _react2.default.createElement(_reactSelect2.default, { - name: "icon-style", - value: iconStyle, - options: [{ value: "circle", label: "circle" }, { value: "square", label: "square" }, { value: "triangle", label: "triangle" }], - onChange: function onChange(val) { - _this.set("iconStyle", val); - } - }); - }; + var mergedStyling = mergeStylings(customStyling, defaultStyling); - _this.getEditInput = function (onEdit) { - return _react2.default.createElement(_reactSelect2.default, { - name: "enable-edit", - value: onEdit, - options: [{ value: true, label: "true" }, { value: false, label: "false" }], - onChange: function onChange(val) { - _this.set("onEdit", val); - } - }); - }; + return (0, _lodash2.default)(getStylingByKeys, 2).apply(undefined, [mergedStyling].concat(args)); +}, 3); - _this.getAddInput = function (onAdd) { - return _react2.default.createElement(_reactSelect2.default, { - name: "enable-add", - value: onAdd, - options: [{ value: true, label: "true" }, { value: false, label: "false" }], - onChange: function onChange(val) { - _this.set("onAdd", val); - } - }); - }; +var getBase16Theme = exports.getBase16Theme = function getBase16Theme(theme, base16Themes) { + if (theme && theme.extend) { + theme = theme.extend; + } - _this.getDeleteInput = function (onDelete) { - return _react2.default.createElement(_reactSelect2.default, { - name: "enable-delete", - value: onDelete, - options: [{ value: true, label: "true" }, { value: false, label: "false" }], - onChange: function onChange(val) { - _this.set("onDelete", val); - } - }); - }; + if (typeof theme === 'string') { + var _theme$split = theme.split(':'), + _theme$split2 = (0, _slicedToArray3.default)(_theme$split, 2), + themeName = _theme$split2[0], + modifier = _theme$split2[1]; - _this.getEnableClipboardInput = function (enableClipboard) { - return _react2.default.createElement(_reactSelect2.default, { - name: "enable-clipboard", - value: enableClipboard, - options: [{ value: true, label: "true" }, { value: false, label: "false" }], - onChange: function onChange(val) { - _this.set("enableClipboard", val); - } - }); - }; + theme = (base16Themes || {})[themeName] || base16[themeName]; + if (modifier === 'inverted') { + theme = invertTheme(theme); + } + } - _this.getObjectSizeInput = function (displayObjectSize) { - return _react2.default.createElement(_reactSelect2.default, { - name: "display-object-size", - value: displayObjectSize, - options: [{ value: true, label: "true" }, { value: false, label: "false" }], - onChange: function onChange(val) { - _this.set("displayObjectSize", val); - } - }); - }; + return theme && theme.hasOwnProperty('base00') ? theme : undefined; +}; - _this.getDataTypesInput = function (displayDataTypes) { - return _react2.default.createElement(_reactSelect2.default, { - name: "display-data-types", - value: displayDataTypes, - options: [{ value: true, label: "true" }, { value: false, label: "false" }], - onChange: function onChange(val) { - _this.set("displayDataTypes", val); - } - }); - }; +/***/ }), +/* 52 */ +/***/ (function(module, exports, __webpack_require__) { - _this.getCollapsedStringsInput = function (collapseStringsAfter) { - return _react2.default.createElement(_reactSelect2.default, { - name: "collapse-strings", - value: collapseStringsAfter, - options: [{ value: false, label: "false" }, { value: 5, label: 5 }, { value: 10, label: 10 }, { value: 15, label: 15 }, { value: 20, label: 20 }], - onChange: function onChange(val) { - _this.set("collapseStringsAfter", val); - } - }); - }; - - _this.getCollapsedInput = function (collapsed) { - return _react2.default.createElement(_reactSelect2.default, { - name: "collapsed", - value: collapsed, - options: [{ value: true, label: "true" }, { value: false, label: "false" }, { value: 1, label: 1 }, { value: 2, label: 2 }], - onChange: function onChange(val) { - _this.set("collapsed", val); - } - }); - }; +"use strict"; +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. - _this.getIndentWidthInput = function (indentWidth) { - return _react2.default.createElement(_reactSelect2.default, { - name: "indent-width", - value: indentWidth, - options: [{ value: 0, label: 0 }, { value: 1, label: 1 }, { value: 2, label: 2 }, { value: 3, label: 3 }, { value: 4, label: 4 }, { value: 5, label: 5 }, { value: 6, label: 6 }, { value: 7, label: 7 }, { value: 8, label: 8 }, { value: 9, label: 9 }, { value: 10, label: 10 }], - onChange: function onChange(val) { - _this.set("indentWidth", val); - } - }); - }; - _this.getThemeInput = function (theme) { - return _react2.default.createElement(_reactSelect2.default, { - name: "theme-select", - value: theme, - options: [{ value: "apathy", label: "apathy" }, { value: "apathy:inverted", label: "apathy:inverted" }, { value: "ashes", label: "ashes" }, { value: "bespin", label: "bespin" }, { value: "brewer", label: "brewer" }, { value: "bright:inverted", label: "bright:inverted" }, { value: "bright", label: "bright" }, { value: "chalk", label: "chalk" }, { value: "codeschool", label: "codeschool" }, { value: "colors", label: "colors" }, { value: "eighties", label: "eighties" }, { value: "embers", label: "embers" }, { value: "flat", label: "flat" }, { value: "google", label: "google" }, { value: "grayscale", label: "grayscale" }, { - value: "grayscale:inverted", - label: "grayscale:inverted" - }, { value: "greenscreen", label: "greenscreen" }, { value: "harmonic", label: "harmonic" }, { value: "hopscotch", label: "hopscotch" }, { value: "isotope", label: "isotope" }, { value: "marrakesh", label: "marrakesh" }, { value: "mocha", label: "mocha" }, { value: "monokai", label: "monokai" }, { value: "ocean", label: "ocean" }, { value: "paraiso", label: "paraiso" }, { value: "pop", label: "pop" }, { value: "railscasts", label: "railscasts" }, { value: "rjv-default", label: "rjv-default" }, { value: "shapeshifter", label: "shapeshifter" }, { - value: "shapeshifter:inverted", - label: "shapeshifter:inverted" - }, { value: "solarized", label: "solarized" }, { value: "summerfruit", label: "summerfruit" }, { - value: "summerfruit:inverted", - label: "summerfruit:inverted" - }, { value: "threezerotwofour", label: "threezerotwofour" }, { value: "tomorrow", label: "tomorrow" }, { value: "tube", label: "tube" }, { value: "twilight", label: "twilight" }], - onChange: function onChange(val) { - _this.set("theme", val); - } - }); - }; - _this.set = function (field, value) { - var state = {}; - state[field] = value.value; - _this.setState(state); - }; +var R = typeof Reflect === 'object' ? Reflect : null +var ReflectApply = R && typeof R.apply === 'function' + ? R.apply + : function ReflectApply(target, receiver, args) { + return Function.prototype.apply.call(target, receiver, args); + } - _this.getExampleJson = function () { - return { - string: "this is a test string", - integer: 42, - array: [1, 2, 3, "test", NaN], - float: 3.14159, - undefined: undefined, - object: { - "first-child": true, - "second-child": false, - "last-child": null - }, - string_number: "1234", - date: new Date() - }; - }; +var ReflectOwnKeys +if (R && typeof R.ownKeys === 'function') { + ReflectOwnKeys = R.ownKeys +} else if (Object.getOwnPropertySymbols) { + ReflectOwnKeys = function ReflectOwnKeys(target) { + return Object.getOwnPropertyNames(target) + .concat(Object.getOwnPropertySymbols(target)); + }; +} else { + ReflectOwnKeys = function ReflectOwnKeys(target) { + return Object.getOwnPropertyNames(target); + }; +} - _this.state = { - src: _this.getExampleJson() - }; - return _this; - } - - _createClass(_class, [{ - key: "render", - value: function render() { - var _this2 = this; - - var _props = this.props, - collapseStringsAfter = _props.collapseStringsAfter, - onAdd = _props.onAdd, - onEdit = _props.onEdit, - onDelete = _props.onDelete, - displayObjectSize = _props.displayObjectSize, - enableClipboard = _props.enableClipboard, - theme = _props.theme, - iconStyle = _props.iconStyle, - collapsed = _props.collapsed, - indentWidth = _props.indentWidth, - displayDataTypes = _props.displayDataTypes; - var src = this.state.src; - - var style = { - padding: "10px", - borderRadius: "3px", - margin: "10px 0px" - }; - - return _react2.default.createElement( - "div", - { className: "rjv-demo" }, - _react2.default.createElement( - "div", - { className: "rjv-header" }, - _react2.default.createElement( - "div", - { className: "header-1" }, - "react-json-view" - ), - _react2.default.createElement( - "div", - { className: "header-2" }, - "component demo" - ), - _react2.default.createElement("img", { - className: "rjv-logo", - src: "https://github.com/mac-s-g/react-json-view/blob/master/doc/rjv-icon-alt.png?raw=true", - onClick: function onClick() { - window.open("https://github.com/mac-s-g/react-json-view", "_blank"); - } - }), - _react2.default.createElement(_reactGithubButton2.default, { - type: "stargazers", - namespace: "mac-s-g", - repo: "react-json-view" - }) - ), - _react2.default.createElement(_index2.default, { - name: false, - collapsed: collapsed, - style: style, - theme: theme, - src: src, - collapseStringsAfterLength: collapseStringsAfter, - onEdit: onEdit ? function (e) { - console.log(e); - _this2.setState({ src: e.updated_src }); - } : false, - onDelete: onDelete ? function (e) { - console.log(e); - _this2.setState({ src: e.updated_src }); - } : false, - onAdd: onAdd ? function (e) { - console.log(e); - _this2.setState({ src: e.updated_src }); - } : false, - displayObjectSize: displayObjectSize, - enableClipboard: enableClipboard, - indentWidth: indentWidth, - displayDataTypes: displayDataTypes, - iconStyle: iconStyle - }), - _react2.default.createElement( - "div", - { className: "rjv-settings" }, - _react2.default.createElement( - "div", - { className: "rjv-input" }, - _react2.default.createElement( - "div", - { className: "rjv-label" }, - "Theme:" - ), - this.getThemeInput(theme) - ), - _react2.default.createElement( - "div", - { className: "rjv-input" }, - _react2.default.createElement( - "div", - { className: "rjv-label" }, - "Icon Style:" - ), - this.getIconStyleInput(iconStyle) - ), - _react2.default.createElement( - "div", - { className: "rjv-input" }, - _react2.default.createElement( - "div", - { className: "rjv-label" }, - "Enable Edit:" - ), - this.getEditInput(onEdit) - ), - _react2.default.createElement( - "div", - { className: "rjv-input" }, - _react2.default.createElement( - "div", - { className: "rjv-label" }, - "Enable Add:" - ), - this.getAddInput(onAdd) - ), - _react2.default.createElement( - "div", - { className: "rjv-input" }, - _react2.default.createElement( - "div", - { className: "rjv-label" }, - "Enable Delete:" - ), - this.getDeleteInput(onDelete) - ), - _react2.default.createElement( - "div", - { className: "rjv-input" }, - _react2.default.createElement( - "div", - { className: "rjv-label" }, - "Enable Clipboard:" - ), - this.getEnableClipboardInput(enableClipboard) - ) - ), - _react2.default.createElement( - "div", - { className: "rjv-settings" }, - _react2.default.createElement( - "div", - { className: "rjv-input" }, - _react2.default.createElement( - "div", - { className: "rjv-label" }, - "Display Data Types:" - ), - this.getDataTypesInput(displayDataTypes) - ), - _react2.default.createElement( - "div", - { className: "rjv-input" }, - _react2.default.createElement( - "div", - { className: "rjv-label" }, - "Display Object Size:" - ), - this.getObjectSizeInput(displayObjectSize) - ), - _react2.default.createElement( - "div", - { className: "rjv-input" }, - _react2.default.createElement( - "div", - { className: "rjv-label" }, - "Indent Width:" - ), - this.getIndentWidthInput(indentWidth) - ), - _react2.default.createElement( - "div", - { className: "rjv-input" }, - _react2.default.createElement( - "div", - { className: "rjv-label" }, - "Collapsed:" - ), - this.getCollapsedInput(collapsed) - ), - _react2.default.createElement( - "div", - { className: "rjv-input" }, - _react2.default.createElement( - "div", - { className: "rjv-label" }, - "Collapse Strings After Length:" - ), - this.getCollapsedStringsInput(collapseStringsAfter) - ) - ), - this.getNotes(onEdit, onAdd) - ); - } - - //just a function to get an example JSON object - - }]); - - return _class; -}(_react2.default.PureComponent); - -_class.defaultProps = { - theme: "monokai", - src: null, - collapsed: false, - collapseStringsAfter: 15, - onAdd: true, - onEdit: true, - onDelete: true, - displayObjectSize: true, - enableClipboard: true, - indentWidth: 4, - displayDataTypes: true, - iconStyle: "triangle" -}; -exports.default = _class; +function ProcessEmitWarning(warning) { + if (console && console.warn) console.warn(warning); +} -/***/ }), -/* 70 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) { + return value !== value; +} -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Async", function() { return Async; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AsyncCreatable", function() { return AsyncCreatableSelect; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Creatable", function() { return CreatableSelect; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Value", function() { return Value; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Option", function() { return Option; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultMenuRenderer", function() { return menuRenderer; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultArrowRenderer", function() { return arrowRenderer; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultClearRenderer", function() { return clearRenderer; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultFilterOptions", function() { return filterOptions; }); -/* harmony import */ var react_input_autosize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65); -/* harmony import */ var react_input_autosize__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_input_autosize__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8); -/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(19); -/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_4__); +function EventEmitter() { + EventEmitter.init.call(this); +} +module.exports = EventEmitter; +module.exports.once = once; +// Backwards-compat with node 0.10.x +EventEmitter.EventEmitter = EventEmitter; +EventEmitter.prototype._events = undefined; +EventEmitter.prototype._eventsCount = 0; +EventEmitter.prototype._maxListeners = undefined; +// By default EventEmitters will print a warning if more than 10 listeners are +// added to it. This is a useful default which helps finding memory leaks. +var defaultMaxListeners = 10; +function checkListener(listener) { + if (typeof listener !== 'function') { + throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener); + } +} +Object.defineProperty(EventEmitter, 'defaultMaxListeners', { + enumerable: true, + get: function() { + return defaultMaxListeners; + }, + set: function(arg) { + if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) { + throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.'); + } + defaultMaxListeners = arg; + } +}); -var arrowRenderer = function arrowRenderer(_ref) { - var onMouseDown = _ref.onMouseDown; +EventEmitter.init = function() { - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement('span', { - className: 'Select-arrow', - onMouseDown: onMouseDown - }); -}; + if (this._events === undefined || + this._events === Object.getPrototypeOf(this)._events) { + this._events = Object.create(null); + this._eventsCount = 0; + } -arrowRenderer.propTypes = { - onMouseDown: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func + this._maxListeners = this._maxListeners || undefined; }; -var clearRenderer = function clearRenderer() { - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement('span', { - className: 'Select-clear', - dangerouslySetInnerHTML: { __html: '×' } - }); +// Obviously not all Emitters should be limited to 10. This function allows +// that to be increased. Set to zero for unlimited. +EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) { + if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) { + throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.'); + } + this._maxListeners = n; + return this; }; -var map = [{ 'base': 'A', 'letters': /[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g }, { 'base': 'AA', 'letters': /[\uA732]/g }, { 'base': 'AE', 'letters': /[\u00C6\u01FC\u01E2]/g }, { 'base': 'AO', 'letters': /[\uA734]/g }, { 'base': 'AU', 'letters': /[\uA736]/g }, { 'base': 'AV', 'letters': /[\uA738\uA73A]/g }, { 'base': 'AY', 'letters': /[\uA73C]/g }, { 'base': 'B', 'letters': /[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g }, { 'base': 'C', 'letters': /[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g }, { 'base': 'D', 'letters': /[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g }, { 'base': 'DZ', 'letters': /[\u01F1\u01C4]/g }, { 'base': 'Dz', 'letters': /[\u01F2\u01C5]/g }, { 'base': 'E', 'letters': /[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g }, { 'base': 'F', 'letters': /[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g }, { 'base': 'G', 'letters': /[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g }, { 'base': 'H', 'letters': /[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g }, { 'base': 'I', 'letters': /[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g }, { 'base': 'J', 'letters': /[\u004A\u24BF\uFF2A\u0134\u0248]/g }, { 'base': 'K', 'letters': /[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g }, { 'base': 'L', 'letters': /[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g }, { 'base': 'LJ', 'letters': /[\u01C7]/g }, { 'base': 'Lj', 'letters': /[\u01C8]/g }, { 'base': 'M', 'letters': /[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g }, { 'base': 'N', 'letters': /[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g }, { 'base': 'NJ', 'letters': /[\u01CA]/g }, { 'base': 'Nj', 'letters': /[\u01CB]/g }, { 'base': 'O', 'letters': /[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g }, { 'base': 'OI', 'letters': /[\u01A2]/g }, { 'base': 'OO', 'letters': /[\uA74E]/g }, { 'base': 'OU', 'letters': /[\u0222]/g }, { 'base': 'P', 'letters': /[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g }, { 'base': 'Q', 'letters': /[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g }, { 'base': 'R', 'letters': /[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g }, { 'base': 'S', 'letters': /[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g }, { 'base': 'T', 'letters': /[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g }, { 'base': 'TZ', 'letters': /[\uA728]/g }, { 'base': 'U', 'letters': /[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g }, { 'base': 'V', 'letters': /[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g }, { 'base': 'VY', 'letters': /[\uA760]/g }, { 'base': 'W', 'letters': /[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g }, { 'base': 'X', 'letters': /[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g }, { 'base': 'Y', 'letters': /[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g }, { 'base': 'Z', 'letters': /[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g }, { 'base': 'a', 'letters': /[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g }, { 'base': 'aa', 'letters': /[\uA733]/g }, { 'base': 'ae', 'letters': /[\u00E6\u01FD\u01E3]/g }, { 'base': 'ao', 'letters': /[\uA735]/g }, { 'base': 'au', 'letters': /[\uA737]/g }, { 'base': 'av', 'letters': /[\uA739\uA73B]/g }, { 'base': 'ay', 'letters': /[\uA73D]/g }, { 'base': 'b', 'letters': /[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g }, { 'base': 'c', 'letters': /[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g }, { 'base': 'd', 'letters': /[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g }, { 'base': 'dz', 'letters': /[\u01F3\u01C6]/g }, { 'base': 'e', 'letters': /[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g }, { 'base': 'f', 'letters': /[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g }, { 'base': 'g', 'letters': /[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g }, { 'base': 'h', 'letters': /[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g }, { 'base': 'hv', 'letters': /[\u0195]/g }, { 'base': 'i', 'letters': /[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g }, { 'base': 'j', 'letters': /[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g }, { 'base': 'k', 'letters': /[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g }, { 'base': 'l', 'letters': /[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g }, { 'base': 'lj', 'letters': /[\u01C9]/g }, { 'base': 'm', 'letters': /[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g }, { 'base': 'n', 'letters': /[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g }, { 'base': 'nj', 'letters': /[\u01CC]/g }, { 'base': 'o', 'letters': /[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g }, { 'base': 'oi', 'letters': /[\u01A3]/g }, { 'base': 'ou', 'letters': /[\u0223]/g }, { 'base': 'oo', 'letters': /[\uA74F]/g }, { 'base': 'p', 'letters': /[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g }, { 'base': 'q', 'letters': /[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g }, { 'base': 'r', 'letters': /[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g }, { 'base': 's', 'letters': /[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g }, { 'base': 't', 'letters': /[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g }, { 'base': 'tz', 'letters': /[\uA729]/g }, { 'base': 'u', 'letters': /[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g }, { 'base': 'v', 'letters': /[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g }, { 'base': 'vy', 'letters': /[\uA761]/g }, { 'base': 'w', 'letters': /[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g }, { 'base': 'x', 'letters': /[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g }, { 'base': 'y', 'letters': /[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g }, { 'base': 'z', 'letters': /[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g }]; - -var stripDiacritics = function stripDiacritics(str) { - for (var i = 0; i < map.length; i++) { - str = str.replace(map[i].letters, map[i].base); - } - return str; -}; +function _getMaxListeners(that) { + if (that._maxListeners === undefined) + return EventEmitter.defaultMaxListeners; + return that._maxListeners; +} -var trim = function trim(str) { - return str.replace(/^\s+|\s+$/g, ''); +EventEmitter.prototype.getMaxListeners = function getMaxListeners() { + return _getMaxListeners(this); }; -var isValid = function isValid(value) { - return typeof value !== 'undefined' && value !== null && value !== ''; -}; +EventEmitter.prototype.emit = function emit(type) { + var args = []; + for (var i = 1; i < arguments.length; i++) args.push(arguments[i]); + var doError = (type === 'error'); -var filterOptions = function filterOptions(options, filterValue, excludeOptions, props) { - if (props.ignoreAccents) { - filterValue = stripDiacritics(filterValue); - } + var events = this._events; + if (events !== undefined) + doError = (doError && events.error === undefined); + else if (!doError) + return false; - if (props.ignoreCase) { - filterValue = filterValue.toLowerCase(); - } + // If there is no 'error' event listener then throw. + if (doError) { + var er; + if (args.length > 0) + er = args[0]; + if (er instanceof Error) { + // Note: The comments on the `throw` lines are intentional, they show + // up in Node's output if this results in an unhandled exception. + throw er; // Unhandled 'error' event + } + // At least give some kind of context to the user + var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : '')); + err.context = er; + throw err; // Unhandled 'error' event + } - if (props.trimFilter) { - filterValue = trim(filterValue); - } + var handler = events[type]; - if (excludeOptions) excludeOptions = excludeOptions.map(function (i) { - return i[props.valueKey]; - }); + if (handler === undefined) + return false; - return options.filter(function (option) { - if (excludeOptions && excludeOptions.indexOf(option[props.valueKey]) > -1) return false; - if (props.filterOption) return props.filterOption.call(undefined, option, filterValue); - if (!filterValue) return true; + if (typeof handler === 'function') { + ReflectApply(handler, this, args); + } else { + var len = handler.length; + var listeners = arrayClone(handler, len); + for (var i = 0; i < len; ++i) + ReflectApply(listeners[i], this, args); + } - var value = option[props.valueKey]; - var label = option[props.labelKey]; - var hasValue = isValid(value); - var hasLabel = isValid(label); + return true; +}; - if (!hasValue && !hasLabel) { - return false; - } +function _addListener(target, type, listener, prepend) { + var m; + var events; + var existing; - var valueTest = hasValue ? String(value) : null; - var labelTest = hasLabel ? String(label) : null; + checkListener(listener); - if (props.ignoreAccents) { - if (valueTest && props.matchProp !== 'label') valueTest = stripDiacritics(valueTest); - if (labelTest && props.matchProp !== 'value') labelTest = stripDiacritics(labelTest); - } + events = target._events; + if (events === undefined) { + events = target._events = Object.create(null); + target._eventsCount = 0; + } else { + // To avoid recursion in the case that type === "newListener"! Before + // adding it to the listeners, first emit "newListener". + if (events.newListener !== undefined) { + target.emit('newListener', type, + listener.listener ? listener.listener : listener); - if (props.ignoreCase) { - if (valueTest && props.matchProp !== 'label') valueTest = valueTest.toLowerCase(); - if (labelTest && props.matchProp !== 'value') labelTest = labelTest.toLowerCase(); - } + // Re-assign `events` because a newListener handler could have caused the + // this._events to be assigned to a new object + events = target._events; + } + existing = events[type]; + } - return props.matchPos === 'start' ? valueTest && props.matchProp !== 'label' && valueTest.substr(0, filterValue.length) === filterValue || labelTest && props.matchProp !== 'value' && labelTest.substr(0, filterValue.length) === filterValue : valueTest && props.matchProp !== 'label' && valueTest.indexOf(filterValue) >= 0 || labelTest && props.matchProp !== 'value' && labelTest.indexOf(filterValue) >= 0; - }); -}; + if (existing === undefined) { + // Optimize the case of one listener. Don't need the extra array object. + existing = events[type] = listener; + ++target._eventsCount; + } else { + if (typeof existing === 'function') { + // Adding the second element, need to change to array. + existing = events[type] = + prepend ? [listener, existing] : [existing, listener]; + // If we've already got an array, just append. + } else if (prepend) { + existing.unshift(listener); + } else { + existing.push(listener); + } -var menuRenderer = function menuRenderer(_ref) { - var focusedOption = _ref.focusedOption, - focusOption = _ref.focusOption, - inputValue = _ref.inputValue, - instancePrefix = _ref.instancePrefix, - onFocus = _ref.onFocus, - onOptionRef = _ref.onOptionRef, - onSelect = _ref.onSelect, - optionClassName = _ref.optionClassName, - optionComponent = _ref.optionComponent, - optionRenderer = _ref.optionRenderer, - options = _ref.options, - removeValue = _ref.removeValue, - selectValue = _ref.selectValue, - valueArray = _ref.valueArray, - valueKey = _ref.valueKey; - - var Option = optionComponent; + // Check for listener leak + m = _getMaxListeners(target); + if (m > 0 && existing.length > m && !existing.warned) { + existing.warned = true; + // No error code for this since it is a Warning + // eslint-disable-next-line no-restricted-syntax + var w = new Error('Possible EventEmitter memory leak detected. ' + + existing.length + ' ' + String(type) + ' listeners ' + + 'added. Use emitter.setMaxListeners() to ' + + 'increase limit'); + w.name = 'MaxListenersExceededWarning'; + w.emitter = target; + w.type = type; + w.count = existing.length; + ProcessEmitWarning(w); + } + } - return options.map(function (option, i) { - var isSelected = valueArray && valueArray.some(function (x) { - return x[valueKey] === option[valueKey]; - }); - var isFocused = option === focusedOption; - var optionClass = classnames__WEBPACK_IMPORTED_MODULE_1___default()(optionClassName, { - 'Select-option': true, - 'is-selected': isSelected, - 'is-focused': isFocused, - 'is-disabled': option.disabled - }); + return target; +} - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - Option, - { - className: optionClass, - focusOption: focusOption, - inputValue: inputValue, - instancePrefix: instancePrefix, - isDisabled: option.disabled, - isFocused: isFocused, - isSelected: isSelected, - key: 'option-' + i + '-' + option[valueKey], - onFocus: onFocus, - onSelect: onSelect, - option: option, - optionIndex: i, - ref: function ref(_ref2) { - onOptionRef(_ref2, isFocused); - }, - removeValue: removeValue, - selectValue: selectValue - }, - optionRenderer(option, i, inputValue) - ); - }); +EventEmitter.prototype.addListener = function addListener(type, listener) { + return _addListener(this, type, listener, false); }; -menuRenderer.propTypes = { - focusOption: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, - focusedOption: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, - inputValue: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, - instancePrefix: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, - onFocus: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, - onOptionRef: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, - onSelect: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, - optionClassName: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, - optionComponent: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, - optionRenderer: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, - options: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.array, - removeValue: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, - selectValue: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, - valueArray: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.array, - valueKey: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string -}; +EventEmitter.prototype.on = EventEmitter.prototype.addListener; -var blockEvent = (function (event) { - event.preventDefault(); - event.stopPropagation(); - if (event.target.tagName !== 'A' || !('href' in event.target)) { - return; - } - if (event.target.target) { - window.open(event.target.href, event.target.target); - } else { - window.location.href = event.target.href; - } -}); +EventEmitter.prototype.prependListener = + function prependListener(type, listener) { + return _addListener(this, type, listener, true); + }; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { - return typeof obj; -} : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; -}; +function onceWrapper() { + if (!this.fired) { + this.target.removeListener(this.type, this.wrapFn); + this.fired = true; + if (arguments.length === 0) + return this.listener.call(this.target); + return this.listener.apply(this.target, arguments); + } +} +function _onceWrap(target, type, listener) { + var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener }; + var wrapped = onceWrapper.bind(state); + wrapped.listener = listener; + state.wrapFn = wrapped; + return wrapped; +} +EventEmitter.prototype.once = function once(type, listener) { + checkListener(listener); + this.on(type, _onceWrap(this, type, listener)); + return this; +}; +EventEmitter.prototype.prependOnceListener = + function prependOnceListener(type, listener) { + checkListener(listener); + this.prependListener(type, _onceWrap(this, type, listener)); + return this; + }; +// Emits a 'removeListener' event if and only if the listener was removed. +EventEmitter.prototype.removeListener = + function removeListener(type, listener) { + var list, events, position, i, originalListener; -var asyncGenerator = function () { - function AwaitValue(value) { - this.value = value; - } + checkListener(listener); - function AsyncGenerator(gen) { - var front, back; + events = this._events; + if (events === undefined) + return this; - function send(key, arg) { - return new Promise(function (resolve, reject) { - var request = { - key: key, - arg: arg, - resolve: resolve, - reject: reject, - next: null - }; + list = events[type]; + if (list === undefined) + return this; - if (back) { - back = back.next = request; - } else { - front = back = request; - resume(key, arg); + if (list === listener || list.listener === listener) { + if (--this._eventsCount === 0) + this._events = Object.create(null); + else { + delete events[type]; + if (events.removeListener) + this.emit('removeListener', type, list.listener || listener); } - }); - } - - function resume(key, arg) { - try { - var result = gen[key](arg); - var value = result.value; + } else if (typeof list !== 'function') { + position = -1; - if (value instanceof AwaitValue) { - Promise.resolve(value.value).then(function (arg) { - resume("next", arg); - }, function (arg) { - resume("throw", arg); - }); - } else { - settle(result.done ? "return" : "normal", result.value); + for (i = list.length - 1; i >= 0; i--) { + if (list[i] === listener || list[i].listener === listener) { + originalListener = list[i].listener; + position = i; + break; + } } - } catch (err) { - settle("throw", err); - } - } - function settle(type, value) { - switch (type) { - case "return": - front.resolve({ - value: value, - done: true - }); - break; - - case "throw": - front.reject(value); - break; + if (position < 0) + return this; - default: - front.resolve({ - value: value, - done: false - }); - break; - } + if (position === 0) + list.shift(); + else { + spliceOne(list, position); + } - front = front.next; + if (list.length === 1) + events[type] = list[0]; - if (front) { - resume(front.key, front.arg); - } else { - back = null; + if (events.removeListener !== undefined) + this.emit('removeListener', type, originalListener || listener); } - } - - this._invoke = send; - - if (typeof gen.return !== "function") { - this.return = undefined; - } - } - if (typeof Symbol === "function" && Symbol.asyncIterator) { - AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; }; - } - - AsyncGenerator.prototype.next = function (arg) { - return this._invoke("next", arg); - }; - - AsyncGenerator.prototype.throw = function (arg) { - return this._invoke("throw", arg); - }; - - AsyncGenerator.prototype.return = function (arg) { - return this._invoke("return", arg); - }; - - return { - wrap: function (fn) { - return function () { - return new AsyncGenerator(fn.apply(this, arguments)); - }; - }, - await: function (value) { - return new AwaitValue(value); - } - }; -}(); - +EventEmitter.prototype.off = EventEmitter.prototype.removeListener; +EventEmitter.prototype.removeAllListeners = + function removeAllListeners(type) { + var listeners, events, i; + events = this._events; + if (events === undefined) + return this; -var classCallCheck = function (instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -}; + // not listening for removeListener, no need to emit + if (events.removeListener === undefined) { + if (arguments.length === 0) { + this._events = Object.create(null); + this._eventsCount = 0; + } else if (events[type] !== undefined) { + if (--this._eventsCount === 0) + this._events = Object.create(null); + else + delete events[type]; + } + return this; + } -var createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } + // emit removeListener for all listeners on all events + if (arguments.length === 0) { + var keys = Object.keys(events); + var key; + for (i = 0; i < keys.length; ++i) { + key = keys[i]; + if (key === 'removeListener') continue; + this.removeAllListeners(key); + } + this.removeAllListeners('removeListener'); + this._events = Object.create(null); + this._eventsCount = 0; + return this; + } - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; -}(); + listeners = events[type]; + if (typeof listeners === 'function') { + this.removeListener(type, listeners); + } else if (listeners !== undefined) { + // LIFO order + for (i = listeners.length - 1; i >= 0; i--) { + this.removeListener(type, listeners[i]); + } + } + return this; + }; +function _listeners(target, type, unwrap) { + var events = target._events; + if (events === undefined) + return []; -var defineProperty = function (obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); + var evlistener = events[type]; + if (evlistener === undefined) + return []; + + if (typeof evlistener === 'function') + return unwrap ? [evlistener.listener || evlistener] : [evlistener]; + + return unwrap ? + unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length); +} + +EventEmitter.prototype.listeners = function listeners(type) { + return _listeners(this, type, true); +}; + +EventEmitter.prototype.rawListeners = function rawListeners(type) { + return _listeners(this, type, false); +}; + +EventEmitter.listenerCount = function(emitter, type) { + if (typeof emitter.listenerCount === 'function') { + return emitter.listenerCount(type); } else { - obj[key] = value; + return listenerCount.call(emitter, type); } - - return obj; }; -var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; +EventEmitter.prototype.listenerCount = listenerCount; +function listenerCount(type) { + var events = this._events; - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } + if (events !== undefined) { + var evlistener = events[type]; + + if (typeof evlistener === 'function') { + return 1; + } else if (evlistener !== undefined) { + return evlistener.length; } } - return target; + return 0; +} + +EventEmitter.prototype.eventNames = function eventNames() { + return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : []; }; +function arrayClone(arr, n) { + var copy = new Array(n); + for (var i = 0; i < n; ++i) + copy[i] = arr[i]; + return copy; +} +function spliceOne(list, index) { + for (; index + 1 < list.length; index++) + list[index] = list[index + 1]; + list.pop(); +} -var inherits = function (subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); +function unwrapListeners(arr) { + var ret = new Array(arr.length); + for (var i = 0; i < ret.length; ++i) { + ret[i] = arr[i].listener || arr[i]; } + return ret; +} - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - enumerable: false, - writable: true, - configurable: true +function once(emitter, name) { + return new Promise(function (resolve, reject) { + function eventListener() { + if (errorListener !== undefined) { + emitter.removeListener('error', errorListener); + } + resolve([].slice.call(arguments)); + }; + var errorListener; + + // Adding an error listener is not optional because + // if an error is thrown on an event emitter we cannot + // guarantee that the actual event we are waiting will + // be fired. The result could be a silent way to create + // memory or file descriptor leaks, which is something + // we should avoid. + if (name !== 'error') { + errorListener = function errorListener(err) { + emitter.removeListener(name, eventListener); + reject(err); + }; + + emitter.once('error', errorListener); } + + emitter.once(name, eventListener); }); - if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; -}; +} +/***/ }), +/* 53 */ +/***/ (function(module, exports, __webpack_require__) { +/** + * Copyright (c) 2014-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ +module.exports.Dispatcher = __webpack_require__(149); +/***/ }), +/* 54 */ +/***/ (function(module, exports, __webpack_require__) { +"use strict"; -var objectWithoutProperties = function (obj, keys) { - var target = {}; +Object.defineProperty(exports, "__esModule", { + value: true +}); - for (var i in obj) { - if (keys.indexOf(i) >= 0) continue; - if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; - target[i] = obj[i]; - } +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - return target; -}; +var _react = __webpack_require__(0); -var possibleConstructorReturn = function (self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } +var _react2 = _interopRequireDefault(_react); - return call && (typeof call === "object" || typeof call === "function") ? call : self; -}; +var _propTypes = __webpack_require__(1); -var Option = function (_React$Component) { - inherits(Option, _React$Component); +var _propTypes2 = _interopRequireDefault(_propTypes); - function Option(props) { - classCallCheck(this, Option); +var _ajaxGet = __webpack_require__(151); - var _this = possibleConstructorReturn(this, (Option.__proto__ || Object.getPrototypeOf(Option)).call(this, props)); +var _ajaxGet2 = _interopRequireDefault(_ajaxGet); - _this.handleMouseDown = _this.handleMouseDown.bind(_this); - _this.handleMouseEnter = _this.handleMouseEnter.bind(_this); - _this.handleMouseMove = _this.handleMouseMove.bind(_this); - _this.handleTouchStart = _this.handleTouchStart.bind(_this); - _this.handleTouchEnd = _this.handleTouchEnd.bind(_this); - _this.handleTouchMove = _this.handleTouchMove.bind(_this); - _this.onFocus = _this.onFocus.bind(_this); - return _this; - } +var _utils = __webpack_require__(152); - createClass(Option, [{ - key: 'handleMouseDown', - value: function handleMouseDown(event) { - event.preventDefault(); - event.stopPropagation(); - this.props.onSelect(this.props.option, event); - } - }, { - key: 'handleMouseEnter', - value: function handleMouseEnter(event) { - this.onFocus(event); - } - }, { - key: 'handleMouseMove', - value: function handleMouseMove(event) { - this.onFocus(event); - } - }, { - key: 'handleTouchEnd', - value: function handleTouchEnd(event) { - // Check if the view is being dragged, In this case - // we don't want to fire the click event (because the user only wants to scroll) - if (this.dragging) return; +var utils = _interopRequireWildcard(_utils); - this.handleMouseDown(event); - } - }, { - key: 'handleTouchMove', - value: function handleTouchMove() { - // Set a flag that the view is being dragged - this.dragging = true; - } - }, { - key: 'handleTouchStart', - value: function handleTouchStart() { - // Set a flag that the view is not being dragged - this.dragging = false; - } - }, { - key: 'onFocus', - value: function onFocus(event) { - if (!this.props.isFocused) { - this.props.onFocus(this.props.option, event); - } - } - }, { - key: 'render', - value: function render() { - var _props = this.props, - option = _props.option, - instancePrefix = _props.instancePrefix, - optionIndex = _props.optionIndex; +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } } - var className = classnames__WEBPACK_IMPORTED_MODULE_1___default()(this.props.className, option.className); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - return option.disabled ? react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'div', - { className: className, - onMouseDown: blockEvent, - onClick: blockEvent }, - this.props.children - ) : react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'div', - { className: className, - style: option.style, - role: 'option', - 'aria-label': option.label, - onMouseDown: this.handleMouseDown, - onMouseEnter: this.handleMouseEnter, - onMouseMove: this.handleMouseMove, - onTouchStart: this.handleTouchStart, - onTouchMove: this.handleTouchMove, - onTouchEnd: this.handleTouchEnd, - id: instancePrefix + '-option-' + optionIndex, - title: option.title }, - this.props.children - ); - } - }]); - return Option; -}(react__WEBPACK_IMPORTED_MODULE_3___default.a.Component); - -Option.propTypes = { - children: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.node, - className: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, // className (based on mouse position) - instancePrefix: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string.isRequired, // unique prefix for the ids (used for aria) - isDisabled: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // the option is disabled - isFocused: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // the option is focused - isSelected: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // the option is selected - onFocus: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // method to handle mouseEnter on option element - onSelect: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // method to handle click on option element - onUnfocus: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // method to handle mouseLeave on option element - option: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object.isRequired, // object that is base for that option - optionIndex: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number // index of the option, used to generate unique ids for aria -}; - -var Value = function (_React$Component) { - inherits(Value, _React$Component); +function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; } - function Value(props) { - classCallCheck(this, Value); +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - var _this = possibleConstructorReturn(this, (Value.__proto__ || Object.getPrototypeOf(Value)).call(this, props)); +function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - _this.handleMouseDown = _this.handleMouseDown.bind(_this); - _this.onRemove = _this.onRemove.bind(_this); - _this.handleTouchEndRemove = _this.handleTouchEndRemove.bind(_this); - _this.handleTouchMove = _this.handleTouchMove.bind(_this); - _this.handleTouchStart = _this.handleTouchStart.bind(_this); - return _this; - } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - createClass(Value, [{ - key: 'handleMouseDown', - value: function handleMouseDown(event) { - if (event.type === 'mousedown' && event.button !== 0) { - return; - } - if (this.props.onClick) { - event.stopPropagation(); - this.props.onClick(this.props.value, event); - return; - } - if (this.props.value.href) { - event.stopPropagation(); - } - } - }, { - key: 'onRemove', - value: function onRemove(event) { - event.preventDefault(); - event.stopPropagation(); - this.props.onRemove(this.props.value); - } - }, { - key: 'handleTouchEndRemove', - value: function handleTouchEndRemove(event) { - // Check if the view is being dragged, In this case - // we don't want to fire the click event (because the user only wants to scroll) - if (this.dragging) return; +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - // Fire the mouse events - this.onRemove(event); - } - }, { - key: 'handleTouchMove', - value: function handleTouchMove() { - // Set a flag that the view is being dragged - this.dragging = true; - } - }, { - key: 'handleTouchStart', - value: function handleTouchStart() { - // Set a flag that the view is not being dragged - this.dragging = false; - } - }, { - key: 'renderRemoveIcon', - value: function renderRemoveIcon() { - if (this.props.disabled || !this.props.onRemove) return; - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'span', - { className: 'Select-value-icon', - 'aria-hidden': 'true', - onMouseDown: this.onRemove, - onTouchEnd: this.handleTouchEndRemove, - onTouchStart: this.handleTouchStart, - onTouchMove: this.handleTouchMove }, - '\xD7' - ); - } - }, { - key: 'renderLabel', - value: function renderLabel() { - var className = 'Select-value-label'; - return this.props.onClick || this.props.value.href ? react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'a', - { className: className, href: this.props.value.href, target: this.props.value.target, onMouseDown: this.handleMouseDown, onTouchEnd: this.handleMouseDown }, - this.props.children - ) : react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'span', - { className: className, role: 'option', 'aria-selected': 'true', id: this.props.id }, - this.props.children - ); - } - }, { - key: 'render', - value: function render() { - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'div', - { className: classnames__WEBPACK_IMPORTED_MODULE_1___default()('Select-value', this.props.value.disabled ? 'Select-value-disabled' : '', this.props.value.className), - style: this.props.value.style, - title: this.props.value.title - }, - this.renderRemoveIcon(), - this.renderLabel() - ); - } - }]); - return Value; -}(react__WEBPACK_IMPORTED_MODULE_3___default.a.Component); +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } -Value.propTypes = { - children: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.node, - disabled: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // disabled prop passed to ReactSelect - id: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, // Unique id for the value - used for aria - onClick: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // method to handle click on value label - onRemove: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // method to handle removal of the value - value: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object.isRequired // the option object for this value +var typeToLabel = { + stargazers: 'Star', + watchers: 'Watch', + forks: 'Fork' }; -/*! - Copyright (c) 2018 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/react-select -*/ -var stringifyValue = function stringifyValue(value) { - return typeof value === 'string' ? value : value !== null && JSON.stringify(value) || ''; +var typeToPath = { + forks: 'network' }; -var stringOrNode = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.node]); -var stringOrNumber = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number]); +var GitHubButton = function (_React$Component) { + _inherits(GitHubButton, _React$Component); -var instanceId = 1; + function GitHubButton() { + var _temp, _this, _ret; -var shouldShowValue = function shouldShowValue(state, props) { - var inputValue = state.inputValue, - isPseudoFocused = state.isPseudoFocused, - isFocused = state.isFocused; - var onSelectResetsInput = props.onSelectResetsInput; + _classCallCheck(this, GitHubButton); + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } - if (!inputValue) return true; + return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = { + count: null + }, _temp), _possibleConstructorReturn(_this, _ret); + } - if (!onSelectResetsInput) { - return !(!isFocused && isPseudoFocused || isFocused && !isPseudoFocused); - } + GitHubButton.prototype.componentDidMount = function componentDidMount() { + var _this2 = this; - return false; -}; + this.xhr = (0, _ajaxGet2["default"])(this.getRequestUrl(), function (response) { + _this2.setCount(response); + }); + }; -var shouldShowPlaceholder = function shouldShowPlaceholder(state, props, isOpen) { - var inputValue = state.inputValue, - isPseudoFocused = state.isPseudoFocused, - isFocused = state.isFocused; - var onSelectResetsInput = props.onSelectResetsInput; + GitHubButton.prototype.componentWillUnmount = function componentWillUnmount() { + if (this.xhr) { + this.xhr.abort(); + } + }; + GitHubButton.prototype.setCount = function setCount(data) { + if (!data) return; + var count = data[this.props.type + '_count']; + this.setState({ count: count }); + }; - return !inputValue || !onSelectResetsInput && !isOpen && !isPseudoFocused && !isFocused; -}; + GitHubButton.prototype.getRequestUrl = function getRequestUrl() { + var _props = this.props, + namespace = _props.namespace, + repo = _props.repo; -/** - * Retrieve a value from the given options and valueKey - * @param {String|Number|Array} value - the selected value(s) - * @param {Object} props - the Select component's props (or nextProps) - */ -var expandValue = function expandValue(value, props) { - var valueType = typeof value === 'undefined' ? 'undefined' : _typeof(value); - if (valueType !== 'string' && valueType !== 'number' && valueType !== 'boolean') return value; - var options = props.options, - valueKey = props.valueKey; + return '//api.github.com/repos/' + namespace + '/' + repo; + }; - if (!options) return; - for (var i = 0; i < options.length; i++) { - if (String(options[i][valueKey]) === String(value)) return options[i]; - } -}; + GitHubButton.prototype.getRepoUrl = function getRepoUrl() { + var _props2 = this.props, + namespace = _props2.namespace, + repo = _props2.repo; -var handleRequired = function handleRequired(value, multi) { - if (!value) return true; - return multi ? value.length === 0 : Object.keys(value).length === 0; -}; + return '//github.com/' + namespace + '/' + repo + '/'; + }; -var Select$1 = function (_React$Component) { - inherits(Select, _React$Component); + GitHubButton.prototype.getCountUrl = function getCountUrl() { + var _props3 = this.props, + namespace = _props3.namespace, + repo = _props3.repo, + type = _props3.type; - function Select(props) { - classCallCheck(this, Select); + return '//github.com/' + namespace + '/' + repo + '/' + (typeToPath[type] || type) + '/'; + }; - var _this = possibleConstructorReturn(this, (Select.__proto__ || Object.getPrototypeOf(Select)).call(this, props)); + GitHubButton.prototype.getCountStyle = function getCountStyle() { + var count = this.state.count; + if (count !== null) { + return { + display: 'block' + }; + } + return null; + }; - ['clearValue', 'focusOption', 'getOptionLabel', 'handleInputBlur', 'handleInputChange', 'handleInputFocus', 'handleInputValueChange', 'handleKeyDown', 'handleMenuScroll', 'handleMouseDown', 'handleMouseDownOnArrow', 'handleMouseDownOnMenu', 'handleTouchEnd', 'handleTouchEndClearValue', 'handleTouchMove', 'handleTouchOutside', 'handleTouchStart', 'handleValueClick', 'onOptionRef', 'removeValue', 'selectValue'].forEach(function (fn) { - return _this[fn] = _this[fn].bind(_this); - }); - - _this.state = { - inputValue: '', - isFocused: false, - isOpen: false, - isPseudoFocused: false, - required: false - }; - return _this; - } + GitHubButton.prototype.render = function render() { + var _props4 = this.props, + className = _props4.className, + type = _props4.type, + size = _props4.size, + rest = _objectWithoutProperties(_props4, ['className', 'type', 'size']); - createClass(Select, [{ - key: 'componentWillMount', - value: function componentWillMount() { - this._instancePrefix = 'react-select-' + (this.props.instanceId || ++instanceId) + '-'; - var valueArray = this.getValueArray(this.props.value); + delete rest.namespace; + delete rest.repo; - if (this.props.required) { - this.setState({ - required: handleRequired(valueArray[0], this.props.multi) - }); - } - } - }, { - key: 'componentDidMount', - value: function componentDidMount() { - if (typeof this.props.autofocus !== 'undefined' && typeof console !== 'undefined') { - console.warn('Warning: The autofocus prop has changed to autoFocus, support will be removed after react-select@1.0'); - } - if (this.props.autoFocus || this.props.autofocus) { - this.focus(); - } - } - }, { - key: 'componentWillReceiveProps', - value: function componentWillReceiveProps(nextProps) { - var valueArray = this.getValueArray(nextProps.value, nextProps); + var count = this.state.count; - if (nextProps.required) { - this.setState({ - required: handleRequired(valueArray[0], nextProps.multi) - }); - } else if (this.props.required) { - // Used to be required but it's not any more - this.setState({ required: false }); - } + var buttonClassName = utils.classNames(_defineProperty({ + 'github-btn': true, + 'github-btn-large': size === 'large' + }, className, className)); - if (this.state.inputValue && this.props.value !== nextProps.value && nextProps.onSelectResetsInput) { - this.setState({ inputValue: this.handleInputValueChange('') }); - } - } - }, { - key: 'componentDidUpdate', - value: function componentDidUpdate(prevProps, prevState) { - // focus to the selected option - if (this.menu && this.focused && this.state.isOpen && !this.hasScrolledToOption) { - var focusedOptionNode = Object(react_dom__WEBPACK_IMPORTED_MODULE_4__["findDOMNode"])(this.focused); - var menuNode = Object(react_dom__WEBPACK_IMPORTED_MODULE_4__["findDOMNode"])(this.menu); + return _react2["default"].createElement( + 'span', + _extends({}, rest, { className: buttonClassName }), + _react2["default"].createElement( + 'a', + { className: 'gh-btn', href: this.getRepoUrl(), target: '_blank' }, + _react2["default"].createElement('span', { className: 'gh-ico', 'aria-hidden': 'true' }), + _react2["default"].createElement( + 'span', + { className: 'gh-text' }, + typeToLabel[type] + ) + ), + _react2["default"].createElement( + 'a', + { className: 'gh-count', target: '_blank', + href: this.getCountUrl(), + style: this.getCountStyle() + }, + count + ) + ); + }; - var scrollTop = menuNode.scrollTop; - var scrollBottom = scrollTop + menuNode.offsetHeight; - var optionTop = focusedOptionNode.offsetTop; - var optionBottom = optionTop + focusedOptionNode.offsetHeight; + return GitHubButton; +}(_react2["default"].Component); - if (scrollTop > optionTop || scrollBottom < optionBottom) { - menuNode.scrollTop = focusedOptionNode.offsetTop; - } +GitHubButton.displayName = 'GitHubButton'; +GitHubButton.propTypes = { + className: _propTypes2["default"].string, + type: _propTypes2["default"].oneOf(['stargazers', 'watchers', 'forks']).isRequired, + namespace: _propTypes2["default"].string.isRequired, + repo: _propTypes2["default"].string.isRequired, + size: _propTypes2["default"].oneOf(['large']) +}; +exports["default"] = GitHubButton; +module.exports = exports['default']; - // We still set hasScrolledToOption to true even if we didn't - // actually need to scroll, as we've still confirmed that the - // option is in view. - this.hasScrolledToOption = true; - } else if (!this.state.isOpen) { - this.hasScrolledToOption = false; - } +/***/ }), +/* 55 */ +/***/ (function(module, exports, __webpack_require__) { - if (this._scrollToFocusedOptionOnUpdate && this.focused && this.menu) { - this._scrollToFocusedOptionOnUpdate = false; - var focusedDOM = Object(react_dom__WEBPACK_IMPORTED_MODULE_4__["findDOMNode"])(this.focused); - var menuDOM = Object(react_dom__WEBPACK_IMPORTED_MODULE_4__["findDOMNode"])(this.menu); - var focusedRect = focusedDOM.getBoundingClientRect(); - var menuRect = menuDOM.getBoundingClientRect(); - if (focusedRect.bottom > menuRect.bottom) { - menuDOM.scrollTop = focusedDOM.offsetTop + focusedDOM.clientHeight - menuDOM.offsetHeight; - } else if (focusedRect.top < menuRect.top) { - menuDOM.scrollTop = focusedDOM.offsetTop; - } - } - if (this.props.scrollMenuIntoView && this.menuContainer) { - var menuContainerRect = this.menuContainer.getBoundingClientRect(); - if (window.innerHeight < menuContainerRect.bottom + this.props.menuBuffer) { - window.scrollBy(0, menuContainerRect.bottom + this.props.menuBuffer - window.innerHeight); - } - } - if (prevProps.disabled !== this.props.disabled) { - this.setState({ isFocused: false }); // eslint-disable-line react/no-did-update-set-state - this.closeMenu(); - } - if (prevState.isOpen !== this.state.isOpen) { - this.toggleTouchOutsideEvent(this.state.isOpen); - var handler = this.state.isOpen ? this.props.onOpen : this.props.onClose; - handler && handler(); - } - } - }, { - key: 'componentWillUnmount', - value: function componentWillUnmount() { - this.toggleTouchOutsideEvent(false); - } - }, { - key: 'toggleTouchOutsideEvent', - value: function toggleTouchOutsideEvent(enabled) { - var eventTogglerName = enabled ? document.addEventListener ? 'addEventListener' : 'attachEvent' : document.removeEventListener ? 'removeEventListener' : 'detachEvent'; - var pref = document.addEventListener ? '' : 'on'; +module.exports = __webpack_require__(161); - document[eventTogglerName](pref + 'touchstart', this.handleTouchOutside); - document[eventTogglerName](pref + 'mousedown', this.handleTouchOutside); - } - }, { - key: 'handleTouchOutside', - value: function handleTouchOutside(event) { - // handle touch outside on ios to dismiss menu - if (this.wrapper && !this.wrapper.contains(event.target)) { - this.closeMenu(); - } - } - }, { - key: 'focus', - value: function focus() { - if (!this.input) return; - this.input.focus(); - } - }, { - key: 'blurInput', - value: function blurInput() { - if (!this.input) return; - this.input.blur(); - } - }, { - key: 'handleTouchMove', - value: function handleTouchMove() { - // Set a flag that the view is being dragged - this.dragging = true; - } - }, { - key: 'handleTouchStart', - value: function handleTouchStart() { - // Set a flag that the view is not being dragged - this.dragging = false; - } - }, { - key: 'handleTouchEnd', - value: function handleTouchEnd(event) { - // Check if the view is being dragged, In this case - // we don't want to fire the click event (because the user only wants to scroll) - if (this.dragging) return; - // Fire the mouse events - this.handleMouseDown(event); - } - }, { - key: 'handleTouchEndClearValue', - value: function handleTouchEndClearValue(event) { - // Check if the view is being dragged, In this case - // we don't want to fire the click event (because the user only wants to scroll) - if (this.dragging) return; +/***/ }), +/* 56 */ +/***/ (function(module, exports, __webpack_require__) { - // Clear the value - this.clearValue(event); - } - }, { - key: 'handleMouseDown', - value: function handleMouseDown(event) { - // if the event was triggered by a mousedown and not the primary - // button, or if the component is disabled, ignore it. - if (this.props.disabled || event.type === 'mousedown' && event.button !== 0) { - return; - } +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ - if (event.target.tagName === 'INPUT') { - if (!this.state.isFocused) { - this._openAfterFocus = this.props.openOnClick; - this.focus(); - } else if (!this.state.isOpen) { - this.setState({ - isOpen: true, - isPseudoFocused: false, - focusedOption: null - }); - } - return; - } - // prevent default event handlers - event.preventDefault(); +var ReactPropTypesSecret = __webpack_require__(57); - // for the non-searchable select, toggle the menu - if (!this.props.searchable) { - // This code means that if a select is searchable, onClick the options menu will not appear, only on subsequent click will it open. - this.focus(); - return this.setState({ - isOpen: !this.state.isOpen, - focusedOption: null - }); - } +function emptyFunction() {} +function emptyFunctionWithReset() {} +emptyFunctionWithReset.resetWarningCache = emptyFunction; - if (this.state.isFocused) { - // On iOS, we can get into a state where we think the input is focused but it isn't really, - // since iOS ignores programmatic calls to input.focus() that weren't triggered by a click event. - // Call focus() again here to be safe. - this.focus(); +module.exports = function() { + function shim(props, propName, componentName, location, propFullName, secret) { + if (secret === ReactPropTypesSecret) { + // It is still safe when called from React. + return; + } + var err = new Error( + 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + + 'Use PropTypes.checkPropTypes() to call them. ' + + 'Read more at http://fb.me/use-check-prop-types' + ); + err.name = 'Invariant Violation'; + throw err; + }; + shim.isRequired = shim; + function getShim() { + return shim; + }; + // Important! + // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. + var ReactPropTypes = { + array: shim, + bool: shim, + func: shim, + number: shim, + object: shim, + string: shim, + symbol: shim, - var input = this.input; - var toOpen = true; + any: shim, + arrayOf: getShim, + element: shim, + elementType: shim, + instanceOf: getShim, + node: shim, + objectOf: getShim, + oneOf: getShim, + oneOfType: getShim, + shape: getShim, + exact: getShim, - if (typeof input.getInput === 'function') { - // Get the actual DOM input if the ref is an component - input = input.getInput(); - } + checkPropTypes: emptyFunctionWithReset, + resetWarningCache: emptyFunction + }; - // clears the value so that the cursor will be at the end of input when the component re-renders - input.value = ''; + ReactPropTypes.PropTypes = ReactPropTypes; - if (this._focusAfterClear) { - toOpen = false; - this._focusAfterClear = false; - } + return ReactPropTypes; +}; - // if the input is focused, ensure the menu is open - this.setState({ - isOpen: toOpen, - isPseudoFocused: false, - focusedOption: null - }); - } else { - // otherwise, focus the input and open the menu - this._openAfterFocus = this.props.openOnClick; - this.focus(); - this.setState({ focusedOption: null }); - } - } - }, { - key: 'handleMouseDownOnArrow', - value: function handleMouseDownOnArrow(event) { - // if the event was triggered by a mousedown and not the primary - // button, or if the component is disabled, ignore it. - if (this.props.disabled || event.type === 'mousedown' && event.button !== 0) { - return; - } - if (this.state.isOpen) { - // prevent default event handlers - event.stopPropagation(); - event.preventDefault(); - // close the menu - this.closeMenu(); - } else { - // If the menu isn't open, let the event bubble to the main handleMouseDown - this.setState({ - isOpen: true - }); - } - } - }, { - key: 'handleMouseDownOnMenu', - value: function handleMouseDownOnMenu(event) { - // if the event was triggered by a mousedown and not the primary - // button, or if the component is disabled, ignore it. - if (this.props.disabled || event.type === 'mousedown' && event.button !== 0) { - return; - } +/***/ }), +/* 57 */ +/***/ (function(module, exports, __webpack_require__) { - event.stopPropagation(); - event.preventDefault(); +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ - this._openAfterFocus = true; - this.focus(); - } - }, { - key: 'closeMenu', - value: function closeMenu() { - if (this.props.onCloseResetsInput) { - this.setState({ - inputValue: this.handleInputValueChange(''), - isOpen: false, - isPseudoFocused: this.state.isFocused && !this.props.multi - }); - } else { - this.setState({ - isOpen: false, - isPseudoFocused: this.state.isFocused && !this.props.multi - }); - } - this.hasScrolledToOption = false; - } - }, { - key: 'handleInputFocus', - value: function handleInputFocus(event) { - if (this.props.disabled) return; - var toOpen = this.state.isOpen || this._openAfterFocus || this.props.openOnFocus; - toOpen = this._focusAfterClear ? false : toOpen; //if focus happens after clear values, don't open dropdown yet. - if (this.props.onFocus) { - this.props.onFocus(event); - } +var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; - this.setState({ - isFocused: true, - isOpen: !!toOpen - }); +module.exports = ReactPropTypesSecret; - this._focusAfterClear = false; - this._openAfterFocus = false; - } - }, { - key: 'handleInputBlur', - value: function handleInputBlur(event) { - // The check for menu.contains(activeElement) is necessary to prevent IE11's scrollbar from closing the menu in certain contexts. - if (this.menu && (this.menu === document.activeElement || this.menu.contains(document.activeElement))) { - this.focus(); - return; - } - if (this.props.onBlur) { - this.props.onBlur(event); - } - var onBlurredState = { - isFocused: false, - isOpen: false, - isPseudoFocused: false - }; - if (this.props.onBlurResetsInput) { - onBlurredState.inputValue = this.handleInputValueChange(''); - } - this.setState(onBlurredState); - } - }, { - key: 'handleInputChange', - value: function handleInputChange(event) { - var newInputValue = event.target.value; +/***/ }), +/* 58 */ +/***/ (function(module, exports, __webpack_require__) { - if (this.state.inputValue !== event.target.value) { - newInputValue = this.handleInputValueChange(newInputValue); - } +"use strict"; - this.setState({ - inputValue: newInputValue, - isOpen: true, - isPseudoFocused: false - }); - } - }, { - key: 'setInputValue', - value: function setInputValue(newValue) { - if (this.props.onInputChange) { - var nextState = this.props.onInputChange(newValue); - if (nextState != null && (typeof nextState === 'undefined' ? 'undefined' : _typeof(nextState)) !== 'object') { - newValue = '' + nextState; - } - } - this.setState({ - inputValue: newValue - }); - } - }, { - key: 'handleInputValueChange', - value: function handleInputValueChange(newValue) { - if (this.props.onInputChange) { - var nextState = this.props.onInputChange(newValue); - // Note: != used deliberately here to catch undefined and null - if (nextState != null && (typeof nextState === 'undefined' ? 'undefined' : _typeof(nextState)) !== 'object') { - newValue = '' + nextState; - } - } - return newValue; - } - }, { - key: 'handleKeyDown', - value: function handleKeyDown(event) { - if (this.props.disabled) return; - if (typeof this.props.onInputKeyDown === 'function') { - this.props.onInputKeyDown(event); - if (event.defaultPrevented) { - return; - } - } +exports.__esModule = true; - switch (event.keyCode) { - case 8: - // backspace - if (!this.state.inputValue && this.props.backspaceRemoves) { - event.preventDefault(); - this.popValue(); - } - break; - case 9: - // tab - if (event.shiftKey || !this.state.isOpen || !this.props.tabSelectsValue) { - break; - } - event.preventDefault(); - this.selectFocusedOption(); - break; - case 13: - // enter - event.preventDefault(); - event.stopPropagation(); - if (this.state.isOpen) { - this.selectFocusedOption(); - } else { - this.focusNextOption(); - } - break; - case 27: - // escape - event.preventDefault(); - if (this.state.isOpen) { - this.closeMenu(); - event.stopPropagation(); - } else if (this.props.clearable && this.props.escapeClearsValue) { - this.clearValue(event); - event.stopPropagation(); - } - break; - case 32: - // space - if (this.props.searchable) { - break; - } - event.preventDefault(); - if (!this.state.isOpen) { - this.focusNextOption(); - break; - } - event.stopPropagation(); - this.selectFocusedOption(); - break; - case 38: - // up - event.preventDefault(); - this.focusPreviousOption(); - break; - case 40: - // down - event.preventDefault(); - this.focusNextOption(); - break; - case 33: - // page up - event.preventDefault(); - this.focusPageUpOption(); - break; - case 34: - // page down - event.preventDefault(); - this.focusPageDownOption(); - break; - case 35: - // end key - if (event.shiftKey) { - break; - } - event.preventDefault(); - this.focusEndOption(); - break; - case 36: - // home key - if (event.shiftKey) { - break; - } - event.preventDefault(); - this.focusStartOption(); - break; - case 46: - // delete - if (!this.state.inputValue && this.props.deleteRemoves) { - event.preventDefault(); - this.popValue(); - } - break; - } - } - }, { - key: 'handleValueClick', - value: function handleValueClick(option, event) { - if (!this.props.onValueClick) return; - this.props.onValueClick(option, event); - } - }, { - key: 'handleMenuScroll', - value: function handleMenuScroll(event) { - if (!this.props.onMenuScrollToBottom) return; - var target = event.target; +var _iterator = __webpack_require__(59); - if (target.scrollHeight > target.offsetHeight && target.scrollHeight - target.offsetHeight - target.scrollTop <= 0) { - this.props.onMenuScrollToBottom(); - } - } - }, { - key: 'getOptionLabel', - value: function getOptionLabel(op) { - return op[this.props.labelKey]; - } +var _iterator2 = _interopRequireDefault(_iterator); - /** - * Turns a value into an array from the given options - * @param {String|Number|Array} value - the value of the select input - * @param {Object} nextProps - optionally specify the nextProps so the returned array uses the latest configuration - * @returns {Array} the value of the select represented in an array - */ +var _symbol = __webpack_require__(74); - }, { - key: 'getValueArray', - value: function getValueArray(value) { - var nextProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; +var _symbol2 = _interopRequireDefault(_symbol); - /** support optionally passing in the `nextProps` so `componentWillReceiveProps` updates will function as expected */ - var props = (typeof nextProps === 'undefined' ? 'undefined' : _typeof(nextProps)) === 'object' ? nextProps : this.props; - if (props.multi) { - if (typeof value === 'string') { - value = value.split(props.delimiter); - } - if (!Array.isArray(value)) { - if (value === null || value === undefined) return []; - value = [value]; - } - return value.map(function (value) { - return expandValue(value, props); - }).filter(function (i) { - return i; - }); - } - var expandedValue = expandValue(value, props); - return expandedValue ? [expandedValue] : []; - } - }, { - key: 'setValue', - value: function setValue(value) { - var _this2 = this; +var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; }; - if (this.props.autoBlur) { - this.blurInput(); - } - if (this.props.required) { - var required = handleRequired(value, this.props.multi); - this.setState({ required: required }); - } - if (this.props.simpleValue && value) { - value = this.props.multi ? value.map(function (i) { - return i[_this2.props.valueKey]; - }).join(this.props.delimiter) : value[this.props.valueKey]; - } - if (this.props.onChange) { - this.props.onChange(value); - } - } - }, { - key: 'selectValue', - value: function selectValue(value) { - var _this3 = this; +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - // NOTE: we actually add/set the value in a callback to make sure the - // input value is empty to avoid styling issues in Chrome - if (this.props.closeOnSelect) { - this.hasScrolledToOption = false; - } - var updatedValue = this.props.onSelectResetsInput ? '' : this.state.inputValue; - if (this.props.multi) { - this.setState({ - focusedIndex: null, - inputValue: this.handleInputValueChange(updatedValue), - isOpen: !this.props.closeOnSelect - }, function () { - var valueArray = _this3.getValueArray(_this3.props.value); - if (valueArray.some(function (i) { - return i[_this3.props.valueKey] === value[_this3.props.valueKey]; - })) { - _this3.removeValue(value); - } else { - _this3.addValue(value); - } - }); - } else { - this.setState({ - inputValue: this.handleInputValueChange(updatedValue), - isOpen: !this.props.closeOnSelect, - isPseudoFocused: this.state.isFocused - }, function () { - _this3.setValue(value); - }); - } - } - }, { - key: 'addValue', - value: function addValue(value) { - var valueArray = this.getValueArray(this.props.value); - var visibleOptions = this._visibleOptions.filter(function (val) { - return !val.disabled; - }); - var lastValueIndex = visibleOptions.indexOf(value); - this.setValue(valueArray.concat(value)); - if (!this.props.closeOnSelect) { - return; - } - if (visibleOptions.length - 1 === lastValueIndex) { - // the last option was selected; focus the second-last one - this.focusOption(visibleOptions[lastValueIndex - 1]); - } else if (visibleOptions.length > lastValueIndex) { - // focus the option below the selected one - this.focusOption(visibleOptions[lastValueIndex + 1]); - } - } - }, { - key: 'popValue', - value: function popValue() { - var valueArray = this.getValueArray(this.props.value); - if (!valueArray.length) return; - if (valueArray[valueArray.length - 1].clearableValue === false) return; - this.setValue(this.props.multi ? valueArray.slice(0, valueArray.length - 1) : null); - } - }, { - key: 'removeValue', - value: function removeValue(value) { - var _this4 = this; +exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) { + return typeof obj === "undefined" ? "undefined" : _typeof(obj); +} : function (obj) { + return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); +}; - var valueArray = this.getValueArray(this.props.value); - this.setValue(valueArray.filter(function (i) { - return i[_this4.props.valueKey] !== value[_this4.props.valueKey]; - })); - this.focus(); - } - }, { - key: 'clearValue', - value: function clearValue(event) { - // if the event was triggered by a mousedown and not the primary - // button, ignore it. - if (event && event.type === 'mousedown' && event.button !== 0) { - return; - } +/***/ }), +/* 59 */ +/***/ (function(module, exports, __webpack_require__) { - event.preventDefault(); +module.exports = { "default": __webpack_require__(60), __esModule: true }; - this.setValue(this.getResetValue()); - this.setState({ - inputValue: this.handleInputValueChange(''), - isOpen: false - }, this.focus); +/***/ }), +/* 60 */ +/***/ (function(module, exports, __webpack_require__) { - this._focusAfterClear = true; - } - }, { - key: 'getResetValue', - value: function getResetValue() { - if (this.props.resetValue !== undefined) { - return this.props.resetValue; - } else if (this.props.multi) { - return []; - } else { - return null; - } - } - }, { - key: 'focusOption', - value: function focusOption(option) { - this.setState({ - focusedOption: option - }); - } - }, { - key: 'focusNextOption', - value: function focusNextOption() { - this.focusAdjacentOption('next'); - } - }, { - key: 'focusPreviousOption', - value: function focusPreviousOption() { - this.focusAdjacentOption('previous'); - } - }, { - key: 'focusPageUpOption', - value: function focusPageUpOption() { - this.focusAdjacentOption('page_up'); - } - }, { - key: 'focusPageDownOption', - value: function focusPageDownOption() { - this.focusAdjacentOption('page_down'); - } - }, { - key: 'focusStartOption', - value: function focusStartOption() { - this.focusAdjacentOption('start'); - } - }, { - key: 'focusEndOption', - value: function focusEndOption() { - this.focusAdjacentOption('end'); - } - }, { - key: 'focusAdjacentOption', - value: function focusAdjacentOption(dir) { - var options = this._visibleOptions.map(function (option, index) { - return { option: option, index: index }; - }).filter(function (option) { - return !option.option.disabled; - }); - this._scrollToFocusedOptionOnUpdate = true; - if (!this.state.isOpen) { - var newState = { - focusedOption: this._focusedOption || (options.length ? options[dir === 'next' ? 0 : options.length - 1].option : null), - isOpen: true - }; - if (this.props.onSelectResetsInput) { - newState.inputValue = ''; - } - this.setState(newState); - return; - } - if (!options.length) return; - var focusedIndex = -1; - for (var i = 0; i < options.length; i++) { - if (this._focusedOption === options[i].option) { - focusedIndex = i; - break; - } - } - if (dir === 'next' && focusedIndex !== -1) { - focusedIndex = (focusedIndex + 1) % options.length; - } else if (dir === 'previous') { - if (focusedIndex > 0) { - focusedIndex = focusedIndex - 1; - } else { - focusedIndex = options.length - 1; - } - } else if (dir === 'start') { - focusedIndex = 0; - } else if (dir === 'end') { - focusedIndex = options.length - 1; - } else if (dir === 'page_up') { - var potentialIndex = focusedIndex - this.props.pageSize; - if (potentialIndex < 0) { - focusedIndex = 0; - } else { - focusedIndex = potentialIndex; - } - } else if (dir === 'page_down') { - var _potentialIndex = focusedIndex + this.props.pageSize; - if (_potentialIndex > options.length - 1) { - focusedIndex = options.length - 1; - } else { - focusedIndex = _potentialIndex; - } - } +__webpack_require__(25); +__webpack_require__(34); +module.exports = __webpack_require__(35).f('iterator'); - if (focusedIndex === -1) { - focusedIndex = 0; - } - this.setState({ - focusedIndex: options[focusedIndex].index, - focusedOption: options[focusedIndex].option - }); - } - }, { - key: 'getFocusedOption', - value: function getFocusedOption() { - return this._focusedOption; - } - }, { - key: 'selectFocusedOption', - value: function selectFocusedOption() { - if (this._focusedOption) { - return this.selectValue(this._focusedOption); - } - } - }, { - key: 'renderLoading', - value: function renderLoading() { - if (!this.props.isLoading) return; - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'span', - { className: 'Select-loading-zone', 'aria-hidden': 'true' }, - react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement('span', { className: 'Select-loading' }) - ); - } - }, { - key: 'renderValue', - value: function renderValue(valueArray, isOpen) { - var _this5 = this; +/***/ }), +/* 61 */ +/***/ (function(module, exports, __webpack_require__) { - var renderLabel = this.props.valueRenderer || this.getOptionLabel; - var ValueComponent = this.props.valueComponent; - if (!valueArray.length) { - var showPlaceholder = shouldShowPlaceholder(this.state, this.props, isOpen); - return showPlaceholder ? react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'div', - { className: 'Select-placeholder' }, - this.props.placeholder - ) : null; - } - var onClick = this.props.onValueClick ? this.handleValueClick : null; - if (this.props.multi) { - return valueArray.map(function (value, i) { - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - ValueComponent, - { - disabled: _this5.props.disabled || value.clearableValue === false, - id: _this5._instancePrefix + '-value-' + i, - instancePrefix: _this5._instancePrefix, - key: 'value-' + i + '-' + value[_this5.props.valueKey], - onClick: onClick, - onRemove: _this5.removeValue, - placeholder: _this5.props.placeholder, - value: value, - values: valueArray - }, - renderLabel(value, i), - react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'span', - { className: 'Select-aria-only' }, - '\xA0' - ) - ); - }); - } else if (shouldShowValue(this.state, this.props)) { - if (isOpen) onClick = null; - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - ValueComponent, - { - disabled: this.props.disabled, - id: this._instancePrefix + '-value-item', - instancePrefix: this._instancePrefix, - onClick: onClick, - placeholder: this.props.placeholder, - value: valueArray[0] - }, - renderLabel(valueArray[0]) - ); - } - } - }, { - key: 'renderInput', - value: function renderInput(valueArray, focusedOptionIndex) { - var _classNames, - _this6 = this; +var toInteger = __webpack_require__(26); +var defined = __webpack_require__(27); +// true -> String#at +// false -> String#codePointAt +module.exports = function (TO_STRING) { + return function (that, pos) { + var s = String(defined(that)); + var i = toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) return TO_STRING ? '' : undefined; + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; +}; - var className = classnames__WEBPACK_IMPORTED_MODULE_1___default()('Select-input', this.props.inputProps.className); - var isOpen = this.state.isOpen; - var ariaOwns = classnames__WEBPACK_IMPORTED_MODULE_1___default()((_classNames = {}, defineProperty(_classNames, this._instancePrefix + '-list', isOpen), defineProperty(_classNames, this._instancePrefix + '-backspace-remove-message', this.props.multi && !this.props.disabled && this.state.isFocused && !this.state.inputValue), _classNames)); +/***/ }), +/* 62 */ +/***/ (function(module, exports, __webpack_require__) { - var value = this.state.inputValue; - if (value && !this.props.onSelectResetsInput && !this.state.isFocused) { - // it hides input value when it is not focused and was not reset on select - value = ''; - } +// optional / simple context binding +var aFunction = __webpack_require__(63); +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; - var inputProps = _extends({}, this.props.inputProps, { - 'aria-activedescendant': isOpen ? this._instancePrefix + '-option-' + focusedOptionIndex : this._instancePrefix + '-value', - 'aria-describedby': this.props['aria-describedby'], - 'aria-expanded': '' + isOpen, - 'aria-haspopup': '' + isOpen, - 'aria-label': this.props['aria-label'], - 'aria-labelledby': this.props['aria-labelledby'], - 'aria-owns': ariaOwns, - onBlur: this.handleInputBlur, - onChange: this.handleInputChange, - onFocus: this.handleInputFocus, - ref: function ref(_ref) { - return _this6.input = _ref; - }, - role: 'combobox', - required: this.state.required, - tabIndex: this.props.tabIndex, - value: value - }); - if (this.props.inputRenderer) { - return this.props.inputRenderer(inputProps); - } +/***/ }), +/* 63 */ +/***/ (function(module, exports) { - if (this.props.disabled || !this.props.searchable) { - var divProps = objectWithoutProperties(this.props.inputProps, []); +module.exports = function (it) { + if (typeof it != 'function') throw TypeError(it + ' is not a function!'); + return it; +}; - var _ariaOwns = classnames__WEBPACK_IMPORTED_MODULE_1___default()(defineProperty({}, this._instancePrefix + '-list', isOpen)); - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement('div', _extends({}, divProps, { - 'aria-expanded': isOpen, - 'aria-owns': _ariaOwns, - 'aria-activedescendant': isOpen ? this._instancePrefix + '-option-' + focusedOptionIndex : this._instancePrefix + '-value', - 'aria-disabled': '' + this.props.disabled, - 'aria-label': this.props['aria-label'], - 'aria-labelledby': this.props['aria-labelledby'], - className: className, - onBlur: this.handleInputBlur, - onFocus: this.handleInputFocus, - ref: function ref(_ref2) { - return _this6.input = _ref2; - }, - role: 'combobox', - style: { border: 0, width: 1, display: 'inline-block' }, - tabIndex: this.props.tabIndex || 0 - })); - } +/***/ }), +/* 64 */ +/***/ (function(module, exports, __webpack_require__) { - if (this.props.autosize) { - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(react_input_autosize__WEBPACK_IMPORTED_MODULE_0___default.a, _extends({ id: this.props.id }, inputProps, { className: className, minWidth: '5' })); - } - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'div', - { className: className, key: 'input-wrap', style: { display: 'inline-block' } }, - react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement('input', _extends({ id: this.props.id }, inputProps)) - ); - } - }, { - key: 'renderClear', - value: function renderClear() { - var valueArray = this.getValueArray(this.props.value); - if (!this.props.clearable || !valueArray.length || this.props.disabled || this.props.isLoading) return; - var ariaLabel = this.props.multi ? this.props.clearAllText : this.props.clearValueText; - var clear = this.props.clearRenderer(); +"use strict"; - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'span', - { - 'aria-label': ariaLabel, - className: 'Select-clear-zone', - onMouseDown: this.clearValue, - onTouchEnd: this.handleTouchEndClearValue, - onTouchMove: this.handleTouchMove, - onTouchStart: this.handleTouchStart, - title: ariaLabel - }, - clear - ); - } - }, { - key: 'renderArrow', - value: function renderArrow() { - if (!this.props.arrowRenderer) return; +var create = __webpack_require__(43); +var descriptor = __webpack_require__(20); +var setToStringTag = __webpack_require__(33); +var IteratorPrototype = {}; - var onMouseDown = this.handleMouseDownOnArrow; - var isOpen = this.state.isOpen; - var arrow = this.props.arrowRenderer({ onMouseDown: onMouseDown, isOpen: isOpen }); +// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() +__webpack_require__(10)(IteratorPrototype, __webpack_require__(3)('iterator'), function () { return this; }); - if (!arrow) { - return null; - } +module.exports = function (Constructor, NAME, next) { + Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); + setToStringTag(Constructor, NAME + ' Iterator'); +}; - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'span', - { - className: 'Select-arrow-zone', - onMouseDown: onMouseDown - }, - arrow - ); - } - }, { - key: 'filterOptions', - value: function filterOptions$$1(excludeOptions) { - var filterValue = this.state.inputValue; - var options = this.props.options || []; - if (this.props.filterOptions) { - // Maintain backwards compatibility with boolean attribute - var filterOptions$$1 = typeof this.props.filterOptions === 'function' ? this.props.filterOptions : filterOptions; - return filterOptions$$1(options, filterValue, excludeOptions, { - filterOption: this.props.filterOption, - ignoreAccents: this.props.ignoreAccents, - ignoreCase: this.props.ignoreCase, - labelKey: this.props.labelKey, - matchPos: this.props.matchPos, - matchProp: this.props.matchProp, - trimFilter: this.props.trimFilter, - valueKey: this.props.valueKey - }); - } else { - return options; - } - } - }, { - key: 'onOptionRef', - value: function onOptionRef(ref, isFocused) { - if (isFocused) { - this.focused = ref; - } - } - }, { - key: 'renderMenu', - value: function renderMenu(options, valueArray, focusedOption) { - if (options && options.length) { - return this.props.menuRenderer({ - focusedOption: focusedOption, - focusOption: this.focusOption, - inputValue: this.state.inputValue, - instancePrefix: this._instancePrefix, - labelKey: this.props.labelKey, - onFocus: this.focusOption, - onOptionRef: this.onOptionRef, - onSelect: this.selectValue, - optionClassName: this.props.optionClassName, - optionComponent: this.props.optionComponent, - optionRenderer: this.props.optionRenderer || this.getOptionLabel, - options: options, - removeValue: this.removeValue, - selectValue: this.selectValue, - valueArray: valueArray, - valueKey: this.props.valueKey - }); - } else if (this.props.noResultsText) { - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'div', - { className: 'Select-noresults' }, - this.props.noResultsText - ); - } else { - return null; - } - } - }, { - key: 'renderHiddenField', - value: function renderHiddenField(valueArray) { - var _this7 = this; +/***/ }), +/* 65 */ +/***/ (function(module, exports, __webpack_require__) { - if (!this.props.name) return; - if (this.props.joinValues) { - var value = valueArray.map(function (i) { - return stringifyValue(i[_this7.props.valueKey]); - }).join(this.props.delimiter); - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement('input', { - disabled: this.props.disabled, - name: this.props.name, - ref: function ref(_ref3) { - return _this7.value = _ref3; - }, - type: 'hidden', - value: value - }); - } - return valueArray.map(function (item, index) { - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement('input', { - disabled: _this7.props.disabled, - key: 'hidden.' + index, - name: _this7.props.name, - ref: 'value' + index, - type: 'hidden', - value: stringifyValue(item[_this7.props.valueKey]) - }); - }); - } - }, { - key: 'getFocusableOptionIndex', - value: function getFocusableOptionIndex(selectedOption) { - var options = this._visibleOptions; - if (!options.length) return null; +var dP = __webpack_require__(11); +var anObject = __webpack_require__(14); +var getKeys = __webpack_require__(17); - var valueKey = this.props.valueKey; - var focusedOption = this.state.focusedOption || selectedOption; - if (focusedOption && !focusedOption.disabled) { - var focusedOptionIndex = -1; - options.some(function (option, index) { - var isOptionEqual = option[valueKey] === focusedOption[valueKey]; - if (isOptionEqual) { - focusedOptionIndex = index; - } - return isOptionEqual; - }); - if (focusedOptionIndex !== -1) { - return focusedOptionIndex; - } - } +module.exports = __webpack_require__(7) ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = getKeys(Properties); + var length = keys.length; + var i = 0; + var P; + while (length > i) dP.f(O, P = keys[i++], Properties[P]); + return O; +}; - for (var i = 0; i < options.length; i++) { - if (!options[i].disabled) return i; - } - return null; - } - }, { - key: 'renderOuter', - value: function renderOuter(options, valueArray, focusedOption) { - var _this8 = this; - var menu = this.renderMenu(options, valueArray, focusedOption); - if (!menu) { - return null; - } +/***/ }), +/* 66 */ +/***/ (function(module, exports, __webpack_require__) { - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'div', - { ref: function ref(_ref5) { - return _this8.menuContainer = _ref5; - }, className: 'Select-menu-outer', style: this.props.menuContainerStyle }, - react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'div', - { - className: 'Select-menu', - id: this._instancePrefix + '-list', - onMouseDown: this.handleMouseDownOnMenu, - onScroll: this.handleMenuScroll, - ref: function ref(_ref4) { - return _this8.menu = _ref4; - }, - role: 'listbox', - style: this.props.menuStyle, - tabIndex: -1 - }, - menu - ) - ); - } - }, { - key: 'render', - value: function render() { - var _this9 = this; +// false -> Array#indexOf +// true -> Array#includes +var toIObject = __webpack_require__(13); +var toLength = __webpack_require__(67); +var toAbsoluteIndex = __webpack_require__(68); +module.exports = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) if (IS_INCLUDES || index in O) { + if (O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; - var valueArray = this.getValueArray(this.props.value); - var options = this._visibleOptions = this.filterOptions(this.props.multi && this.props.removeSelected ? valueArray : null); - var isOpen = this.state.isOpen; - if (this.props.multi && !options.length && valueArray.length && !this.state.inputValue) isOpen = false; - var focusedOptionIndex = this.getFocusableOptionIndex(valueArray[0]); - var focusedOption = null; - if (focusedOptionIndex !== null) { - focusedOption = this._focusedOption = options[focusedOptionIndex]; - } else { - focusedOption = this._focusedOption = null; - } - var className = classnames__WEBPACK_IMPORTED_MODULE_1___default()('Select', this.props.className, { - 'has-value': valueArray.length, - 'is-clearable': this.props.clearable, - 'is-disabled': this.props.disabled, - 'is-focused': this.state.isFocused, - 'is-loading': this.props.isLoading, - 'is-open': isOpen, - 'is-pseudo-focused': this.state.isPseudoFocused, - 'is-searchable': this.props.searchable, - 'Select--multi': this.props.multi, - 'Select--rtl': this.props.rtl, - 'Select--single': !this.props.multi - }); +/***/ }), +/* 67 */ +/***/ (function(module, exports, __webpack_require__) { - var removeMessage = null; - if (this.props.multi && !this.props.disabled && valueArray.length && !this.state.inputValue && this.state.isFocused && this.props.backspaceRemoves) { - removeMessage = react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'span', - { id: this._instancePrefix + '-backspace-remove-message', className: 'Select-aria-only', 'aria-live': 'assertive' }, - this.props.backspaceToRemoveMessage.replace('{label}', valueArray[valueArray.length - 1][this.props.labelKey]) - ); - } +// 7.1.15 ToLength +var toInteger = __webpack_require__(26); +var min = Math.min; +module.exports = function (it) { + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 +}; - return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'div', - { ref: function ref(_ref7) { - return _this9.wrapper = _ref7; - }, - className: className, - style: this.props.wrapperStyle }, - this.renderHiddenField(valueArray), - react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'div', - { ref: function ref(_ref6) { - return _this9.control = _ref6; - }, - className: 'Select-control', - onKeyDown: this.handleKeyDown, - onMouseDown: this.handleMouseDown, - onTouchEnd: this.handleTouchEnd, - onTouchMove: this.handleTouchMove, - onTouchStart: this.handleTouchStart, - style: this.props.style - }, - react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement( - 'div', - { className: 'Select-multi-value-wrapper', id: this._instancePrefix + '-value' }, - this.renderValue(valueArray, isOpen), - this.renderInput(valueArray, focusedOptionIndex) - ), - removeMessage, - this.renderLoading(), - this.renderClear(), - this.renderArrow() - ), - isOpen ? this.renderOuter(options, valueArray, focusedOption) : null - ); - } - }]); - return Select; -}(react__WEBPACK_IMPORTED_MODULE_3___default.a.Component); -Select$1.propTypes = { - 'aria-describedby': prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, // html id(s) of element(s) that should be used to describe this input (for assistive tech) - 'aria-label': prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, // aria label (for assistive tech) - 'aria-labelledby': prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, // html id of an element that should be used as the label (for assistive tech) - arrowRenderer: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // create the drop-down caret element - autoBlur: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // automatically blur the component when an option is selected - autoFocus: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // autofocus the component on mount - autofocus: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // deprecated; use autoFocus instead - autosize: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // whether to enable autosizing or not - backspaceRemoves: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // whether backspace removes an item if there is no text input - backspaceToRemoveMessage: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, // message to use for screenreaders to press backspace to remove the current item - {label} is replaced with the item label - className: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, // className for the outer element - clearAllText: stringOrNode, // title for the "clear" control when multi: true - clearRenderer: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // create clearable x element - clearValueText: stringOrNode, // title for the "clear" control - clearable: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // should it be possible to reset value - closeOnSelect: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // whether to close the menu when a value is selected - deleteRemoves: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // whether delete removes an item if there is no text input - delimiter: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, // delimiter to use to join multiple values for the hidden field value - disabled: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // whether the Select is disabled or not - escapeClearsValue: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // whether escape clears the value when the menu is closed - filterOption: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // method to filter a single option (option, filterString) - filterOptions: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.any, // boolean to enable default filtering or function to filter the options array ([options], filterString, [values]) - id: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, // html id to set on the input element for accessibility or tests - ignoreAccents: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // whether to strip diacritics when filtering - ignoreCase: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // whether to perform case-insensitive filtering - inputProps: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, // custom attributes for the Input - inputRenderer: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // returns a custom input component - instanceId: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, // set the components instanceId - isLoading: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // whether the Select is loading externally or not (such as options being loaded) - joinValues: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // joins multiple values into a single form field with the delimiter (legacy mode) - labelKey: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, // path of the label value in option objects - matchPos: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, // (any|start) match the start or entire string when filtering - matchProp: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, // (any|label|value) which option property to filter on - menuBuffer: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number, // optional buffer (in px) between the bottom of the viewport and the bottom of the menu - menuContainerStyle: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, // optional style to apply to the menu container - menuRenderer: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // renders a custom menu with options - menuStyle: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, // optional style to apply to the menu - multi: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // multi-value input - name: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, // generates a hidden tag with this field name for html forms - noResultsText: stringOrNode, // placeholder displayed when there are no matching search results - onBlur: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // onBlur handler: function (event) {} - onBlurResetsInput: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // whether input is cleared on blur - onChange: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // onChange handler: function (newValue) {} - onClose: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // fires when the menu is closed - onCloseResetsInput: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // whether input is cleared when menu is closed through the arrow - onFocus: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // onFocus handler: function (event) {} - onInputChange: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // onInputChange handler: function (inputValue) {} - onInputKeyDown: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // input keyDown handler: function (event) {} - onMenuScrollToBottom: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // fires when the menu is scrolled to the bottom; can be used to paginate options - onOpen: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // fires when the menu is opened - onSelectResetsInput: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // whether input is cleared on select (works only for multiselect) - onValueClick: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, // onClick handler for value labels: function (value, event) {} - openOnClick: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // boolean to control opening the menu when the control is clicked - openOnFocus: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, // always open options menu on focus - optionClassName: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, // additional class(es) to apply to the