From 0dbbbb6524fc0499dcd845911ef76d3b2cc04103 Mon Sep 17 00:00:00 2001 From: Andy Baird Date: Wed, 29 Nov 2017 22:22:56 -0600 Subject: [PATCH 001/134] Initial array group implementation --- dev-server/src/index.js | 24 +++- src/js/components/ArrayGroup.js | 105 ++++++++++++++ src/js/components/DataTypes/Object.js | 199 ++++++++++---------------- src/js/components/JsonViewer.js | 9 +- src/js/components/ObjectName.js | 31 ++++ src/js/components/ToggleIcons.js | 51 +++++++ src/js/index.js | 1 + src/js/themes/getStyle.js | 4 + src/js/themes/styleConstants.js | 2 + 9 files changed, 302 insertions(+), 124 deletions(-) create mode 100644 src/js/components/ArrayGroup.js create mode 100644 src/js/components/ObjectName.js create mode 100644 src/js/components/ToggleIcons.js diff --git a/dev-server/src/index.js b/dev-server/src/index.js index 3faf9a61..d8d5f91f 100644 --- a/dev-server/src/index.js +++ b/dev-server/src/index.js @@ -10,6 +10,7 @@ import JsonViewer from './../../src/js/index'; //render 2 different examples of the react-json-view component ReactDom.render(
+ {/* just pass in your JSON to the src attribute */} + />
@@ -106,9 +107,19 @@ ReactDom.render( base0E: 'rgba(70, 70, 230, 1)', base0F: 'rgba(70, 70, 230, 1)' }} + /> + + + +
, document.getElementById('app-container') ); @@ -199,6 +210,17 @@ function getExampleJson3() { } +function getExampleJson4() { + const large_array = new Array(225).fill('this is a large array full of items') + + large_array.push(getExampleArray()) + + large_array.push(new Array(75).fill(Math.random())) + + return large_array +} + + function getExampleArray() { return [ 'you can also display arrays!', diff --git a/src/js/components/ArrayGroup.js b/src/js/components/ArrayGroup.js new file mode 100644 index 00000000..7b99151b --- /dev/null +++ b/src/js/components/ArrayGroup.js @@ -0,0 +1,105 @@ +import React from 'react'; +import Theme from './../themes/getStyle'; + +import ObjectName from './ObjectName' +import ObjectComponent from './DataTypes/Object' + +//icons +import { CollapsedIcon, ExpandedIcon } from './ToggleIcons'; + +//increment 1 with each nested object & array +const DEPTH_INCREMENT = 1 +//single indent is 5px +const SINGLE_INDENT = 5; + +export default class extends React.Component { + constructor(props) { + super(props) + + this.state = { + expanded: {} + } + } + + toggleCollapsed = (i) => { + this.state.expanded[i] = !this.state.expanded[i] + + this.setState(this.state); + } + + getExpandedIcon(i) { + const { theme, iconStyle } = this.props + + if (!!this.state.expanded[i]) { + return + } + + return + } + + render() { + const { + src, groupArraysAfterLength, depth, + name, theme, jsvRoot, namespace, parent_type, + ...rest + } = this.props + + let expanded_icon, object_padding_left = 0; + + const array_group_padding_left = this.props.indentWidth * SINGLE_INDENT + + if (!jsvRoot) { + object_padding_left = this.props.indentWidth * SINGLE_INDENT; + } + + const size = groupArraysAfterLength + const groups = Math.ceil(src.length / size) + + return (
+ + {[...Array(groups)].map((_, i) => +
+ + +
{this.toggleCollapsed(i)}}> + {this.getExpandedIcon(i)} +
+ {!!this.state.expanded[i] ? + + : {this.toggleCollapsed(i)}}> + [ + + ] + + } + +
+
+ )} +
+ ); + } + +} \ No newline at end of file diff --git a/src/js/components/DataTypes/Object.js b/src/js/components/DataTypes/Object.js index 46d5a980..753689ea 100644 --- a/src/js/components/DataTypes/Object.js +++ b/src/js/components/DataTypes/Object.js @@ -7,16 +7,14 @@ import {JsonObject} from './DataTypes'; import VariableEditor from './../VariableEditor'; import VariableMeta from './../VariableMeta'; +import ArrayGroup from './../ArrayGroup' +import ObjectName from './../ObjectName' //attribute store import AttributeStore from './../../stores/ObjectAttributes'; //icons -import { - CircleMinus, CirclePlus, - SquareMinus, SquarePlus, - ArrowRight, ArrowDown -} from './../icons'; +import { CollapsedIcon, ExpandedIcon } from './../ToggleIcons'; //theme import Theme from './../../themes/getStyle'; @@ -60,7 +58,6 @@ class rjvObject extends React.Component { ), object_type: (props.type == 'array' ? 'array' : 'object'), parent_type: (props.type == 'array' ? 'array' : 'object'), - display_name: (props.name ? props.name : ''), size: size } @@ -117,73 +114,97 @@ class rjvObject extends React.Component { ); } - render() { - // `indentWidth` and `collapsed` props will - // perpetuate to children via `...rest` + getBraceStart(object_type, expanded) { const { - depth, src, namespace, name, type, - parent_type, theme, jsvRoot, - ...rest - } = this.props; - const { - object_type, display_name, expanded - } = this.state; - - //expanded/collapsed icon - let expanded_icon, object_padding_left = 0; + src, theme, iconStyle, parent_type + } = this.props - if (expanded) { - expanded_icon = this.getExpandedIcon(); - } else { - expanded_icon = this.getCollapsedIcon(); - } + if (parent_type == 'array_group') { + return ( + + + {object_type == 'array' ? '[' : '{'} + + {expanded ? this.getObjectMetaData(src) : null} + + ) + } - if (!jsvRoot) { - object_padding_left = this.props.indentWidth * SINGLE_INDENT; - } + const IconComponent = expanded ? ExpandedIcon : CollapsedIcon - return (
+ return ( {this.toggleCollapsed()}} {...Theme(theme, 'brace-row')}>
- {expanded_icon} +
- {this.getObjectName()} + {object_type == 'array' ? '[' : '{'}
{expanded ? this.getObjectMetaData(src) : null}
- {expanded - ? this.getObjectContent(depth, src, {theme, ...rest}) - : this.getEllipsis() - } - - - {object_type == 'array' ? ']' : '}'} + ) + } + + render() { + // `indentWidth` and `collapsed` props will + // perpetuate to children via `...rest` + const { + depth, src, namespace, name, type, + parent_type, theme, jsvRoot, iconStyle, + ...rest + } = this.props; + + const { + object_type, expanded + } = this.state; + + let 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 (
+ {this.getBraceStart(object_type, expanded)} + {expanded + ? this.getObjectContent(depth, src, {theme, iconStyle, ...rest}) + : this.getEllipsis() + } + + + {object_type == 'array' ? ']' : '}'} + + {expanded ? null : this.getObjectMetaData(src)} - {expanded ? null : this.getObjectMetaData(src)} - -
); +
+ ); } renderObjectContents = (variables, props) => { - const {depth, parent_type} = this.props; + const {depth, parent_type, index_offset, groupArraysAfterLength} = this.props; const {namespace, object_type} = this.state; let theme = props.theme; let elements = [], variable; for (let name in variables) { variable = new JsonVariable(name, variables[name]); + + if (parent_type == 'array_group' && index_offset) { + variable.name = parseInt(variable.name) + index_offset + } if (!variables.hasOwnProperty(name)) { continue; } else if (variable.type == 'object') { @@ -195,10 +216,16 @@ class rjvObject extends React.Component { namespace={namespace.concat(variable.name)} parent_type={object_type} {...props} - />); + />); } else if (variable.type == 'array') { + let ObjectComponent = JsonObject + + if (groupArraysAfterLength && variable.value.length > groupArraysAfterLength) { + ObjectComponent = ArrayGroup + } + elements.push( - { - const { - parent_type, namespace, theme, jsvRoot, name - } = this.props; - const {display_name} = this.state; - - if (jsvRoot && (name === false || name === null)) { - return (); - } else if (parent_type == 'array') { - return ( - - {display_name} - : - - ); - } else { - return ( - - - " - {display_name} - " - - : - - ); - } - } - - getCollapsedIcon = () => { - const {theme, iconStyle} = this.props; - switch (iconStyle) { - case "triangle": - return - case "square": - return - default: - return - } - } - - getExpandedIcon = () => { - const {theme, iconStyle} = this.props; - switch (iconStyle) { - case "triangle": - return - case "square": - return - default: - return - } } } diff --git a/src/js/components/JsonViewer.js b/src/js/components/JsonViewer.js index 1232ccc5..ccaecffc 100644 --- a/src/js/components/JsonViewer.js +++ b/src/js/components/JsonViewer.js @@ -1,14 +1,21 @@ import React from "react"; import JsonObject from './DataTypes/Object'; +import ArrayGroup from './ArrayGroup'; export default class extends React.Component { render = () => { const {props} = this; const namespace = [props.name]; + let ObjectComponent = JsonObject + + if (props.groupArraysAfterLength && props.src.length > props.groupArraysAfterLength) { + ObjectComponent = ArrayGroup + } + return (
- ); + } else if (parent_type == 'array') { + return ( + + {display_name} + : + + ); + } else { + return ( + + + " + {display_name} + " + + : + + ); + } +} \ No newline at end of file diff --git a/src/js/components/ToggleIcons.js b/src/js/components/ToggleIcons.js new file mode 100644 index 00000000..c111806d --- /dev/null +++ b/src/js/components/ToggleIcons.js @@ -0,0 +1,51 @@ + +import Theme from './../themes/getStyle'; + +import { + CircleMinus, CirclePlus, + SquareMinus, SquarePlus, + ArrowRight, ArrowDown +} from './icons'; + +export function ExpandedIcon(props) { + const {theme, iconStyle} = props; + switch (iconStyle) { + case "triangle": + return + case "square": + return + default: + return + } +} + +export function CollapsedIcon(props) { + const {theme, iconStyle} = props; + switch (iconStyle) { + case "triangle": + return + case "square": + return + default: + return + } +} + diff --git a/src/js/index.js b/src/js/index.js index 7727ce31..c210e992 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -41,6 +41,7 @@ export default class extends React.Component { theme: 'rjv-default', collapsed: false, collapseStringsAfterLength: false, + groupArraysAfterLength: false, indentWidth: 4, enableClipboard: true, displayObjectSize: true, diff --git a/src/js/themes/getStyle.js b/src/js/themes/getStyle.js index f48e7ab4..babdd756 100644 --- a/src/js/themes/getStyle.js +++ b/src/js/themes/getStyle.js @@ -212,6 +212,10 @@ const getDefaultThemeStyling = theme => { marginRight: constants.iconMarginRight, verticalAlign: 'top', }, + 'array-group-meta-data': { + display: 'inline-block', + padding: constants.arrayGroupMetaPadding + }, 'object-meta-data': { display: 'inline-block', padding: constants.metaDataPadding diff --git a/src/js/themes/styleConstants.js b/src/js/themes/styleConstants.js index cb09f4cc..281a07f7 100644 --- a/src/js/themes/styleConstants.js +++ b/src/js/themes/styleConstants.js @@ -67,6 +67,8 @@ export default { metaDataPadding: '0px 0px 0px 10px', + arrayGroupMetaPadding: '0px 0px 0px 4px', + iconContainerWidth: '17px', tooltipPadding: '4px', From 556bdf7ce7bf8fd13643751e8941e84dde53dca7 Mon Sep 17 00:00:00 2001 From: Andy Baird Date: Mon, 4 Dec 2017 17:14:26 -0600 Subject: [PATCH 002/134] Fix array border left alignment, add item count to array group object type --- src/js/components/ArrayGroup.js | 10 +++++++--- src/js/themes/getStyle.js | 3 ++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/js/components/ArrayGroup.js b/src/js/components/ArrayGroup.js index 7b99151b..ac0cb554 100644 --- a/src/js/components/ArrayGroup.js +++ b/src/js/components/ArrayGroup.js @@ -1,14 +1,13 @@ import React from 'react'; import Theme from './../themes/getStyle'; +import VariableMeta from './VariableMeta'; import ObjectName from './ObjectName' import ObjectComponent from './DataTypes/Object' //icons import { CollapsedIcon, ExpandedIcon } from './ToggleIcons'; -//increment 1 with each nested object & array -const DEPTH_INCREMENT = 1 //single indent is 5px const SINGLE_INDENT = 5; @@ -59,8 +58,13 @@ export default class extends React.Component { {...Theme(theme, jsvRoot ? 'jsv-root' : 'objectKeyVal', {paddingLeft: object_padding_left})} > + + {[...Array(groups)].map((_, i) => -
+
{ color: colors.objectSize, borderRadius: constants.objectSizeBorderRadius, fontStyle: constants.objectSizeFontStyle, - margin: constants.objectSizeMargin + margin: constants.objectSizeMargin, + cursor: 'default' }, 'data-type-label': { fontSize: constants.dataTypeFontSize, From e8026432047e054cacb7ac70831a4bcf9441308b Mon Sep 17 00:00:00 2001 From: Andy Baird Date: Mon, 4 Dec 2017 17:21:52 -0600 Subject: [PATCH 003/134] Import react into functional components to pass tests --- src/js/components/ObjectName.js | 1 + src/js/components/ToggleIcons.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/js/components/ObjectName.js b/src/js/components/ObjectName.js index e09bba40..53db3849 100644 --- a/src/js/components/ObjectName.js +++ b/src/js/components/ObjectName.js @@ -1,3 +1,4 @@ +import React from "react"; import Theme from './../themes/getStyle'; export default function getObjectName(props) { diff --git a/src/js/components/ToggleIcons.js b/src/js/components/ToggleIcons.js index c111806d..a4794bde 100644 --- a/src/js/components/ToggleIcons.js +++ b/src/js/components/ToggleIcons.js @@ -1,4 +1,4 @@ - +import React from "react"; import Theme from './../themes/getStyle'; import { From 784d1dd4789f8bc3f212bd0bd6038bc33f7ff2af Mon Sep 17 00:00:00 2001 From: Andy Baird Date: Tue, 5 Dec 2017 16:06:53 -0600 Subject: [PATCH 004/134] ArrayGroup test coverage --- src/js/components/ArrayGroup.js | 8 +- test/tests/js/Index-test.js | 12 +++ test/tests/js/components/ArrayGroup-test.js | 105 +++++++++++++++++++ test/tests/js/components/ObjectName-test.js | 45 ++++++++ test/tests/js/components/ToggleIcons-test.js | 93 ++++++++++++++++ 5 files changed, 259 insertions(+), 4 deletions(-) create mode 100644 test/tests/js/components/ArrayGroup-test.js create mode 100644 test/tests/js/components/ObjectName-test.js create mode 100644 test/tests/js/components/ToggleIcons-test.js diff --git a/src/js/components/ArrayGroup.js b/src/js/components/ArrayGroup.js index ac0cb554..635d4489 100644 --- a/src/js/components/ArrayGroup.js +++ b/src/js/components/ArrayGroup.js @@ -61,13 +61,13 @@ export default class extends React.Component { {[...Array(groups)].map((_, i) => -
-
{this.toggleCollapsed(i)}}> {this.getExpandedIcon(i)}
@@ -85,10 +85,10 @@ export default class extends React.Component { theme={theme} {...rest} /> - : {this.toggleCollapsed(i)}}> + : {this.toggleCollapsed(i)}} class='array-group-brace'> [
); - } + }; 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 108/134] 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 109/134] 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 110/134] 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 111/134] 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 112/134] 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
- ) + ); } getNotes = (on_edit_enabled, on_add_enabled) => { - let notes = [] + let notes = []; if (on_edit_enabled) { notes.push( - To edit a value, try ctrl/cmd + click enter edit - mode + To edit a value, try ctrl/cmd + click enter + edit mode - ) + ); notes.push( When editing a value, try ctrl/cmd + Enter to submit changes - ) + ); notes.push( When editing a value, try Escape key to cancel - ) + ); } if (on_add_enabled) { notes.push( When adding a new key, try Enter to submit - ) + ); notes.push( When adding a new key, try Escape to cancel - ) + ); } if (notes.length === 0) { - return null + return null; } return ( -
+
Keyboard Shortcuts
    {notes.map(note => { - return
  • {note}
  • + return
  • {note}
  • ; })}
- ) - } + ); + }; getIconStyleInput = iconStyle => { return ( @@ -225,16 +226,16 @@ export default class extends React.PureComponent { name="icon-style" value={iconStyle} options={[ - { value: "circle", label: "circle" }, - { value: "square", label: "square" }, - { value: "triangle", label: "triangle" } + { value: 'circle', label: 'circle' }, + { value: 'square', label: 'square' }, + { value: 'triangle', label: 'triangle' } ]} onChange={val => { - this.set("iconStyle", val) + this.set('iconStyle', val); }} /> - ) - } + ); + }; getEditInput = onEdit => { return ( @@ -242,15 +243,15 @@ export default class extends React.PureComponent { name="enable-edit" value={onEdit} options={[ - { value: true, label: "true" }, - { value: false, label: "false" } + { value: true, label: 'true' }, + { value: false, label: 'false' } ]} onChange={val => { - this.set("onEdit", val) + this.set('onEdit', val); }} /> - ) - } + ); + }; getAddInput = onAdd => { return ( @@ -258,15 +259,15 @@ export default class extends React.PureComponent { name="enable-add" value={onAdd} options={[ - { value: true, label: "true" }, - { value: false, label: "false" } + { value: true, label: 'true' }, + { value: false, label: 'false' } ]} onChange={val => { - this.set("onAdd", val) + this.set('onAdd', val); }} /> - ) - } + ); + }; getDeleteInput = onDelete => { return ( @@ -274,15 +275,15 @@ export default class extends React.PureComponent { name="enable-delete" value={onDelete} options={[ - { value: true, label: "true" }, - { value: false, label: "false" } + { value: true, label: 'true' }, + { value: false, label: 'false' } ]} onChange={val => { - this.set("onDelete", val) + this.set('onDelete', val); }} /> - ) - } + ); + }; getEnableClipboardInput = enableClipboard => { return ( @@ -290,15 +291,15 @@ export default class extends React.PureComponent { name="enable-clipboard" value={enableClipboard} options={[ - { value: true, label: "true" }, - { value: false, label: "false" } + { value: true, label: 'true' }, + { value: false, label: 'false' } ]} onChange={val => { - this.set("enableClipboard", val) + this.set('enableClipboard', val); }} /> - ) - } + ); + }; getObjectSizeInput = displayObjectSize => { return ( @@ -306,15 +307,15 @@ export default class extends React.PureComponent { name="display-object-size" value={displayObjectSize} options={[ - { value: true, label: "true" }, - { value: false, label: "false" } + { value: true, label: 'true' }, + { value: false, label: 'false' } ]} onChange={val => { - this.set("displayObjectSize", val) + this.set('displayObjectSize', val); }} /> - ) - } + ); + }; getDataTypesInput = displayDataTypes => { return ( @@ -322,15 +323,15 @@ export default class extends React.PureComponent { name="display-data-types" value={displayDataTypes} options={[ - { value: true, label: "true" }, - { value: false, label: "false" } + { value: true, label: 'true' }, + { value: false, label: 'false' } ]} onChange={val => { - this.set("displayDataTypes", val) + this.set('displayDataTypes', val); }} /> - ) - } + ); + }; getCollapsedStringsInput = collapseStringsAfter => { return ( @@ -338,18 +339,18 @@ export default class extends React.PureComponent { name="collapse-strings" value={collapseStringsAfter} options={[ - { value: false, label: "false" }, + { value: false, label: 'false' }, { value: 5, label: 5 }, { value: 10, label: 10 }, { value: 15, label: 15 }, { value: 20, label: 20 } ]} onChange={val => { - this.set("collapseStringsAfter", val) + this.set('collapseStringsAfter', val); }} /> - ) - } + ); + }; getCollapsedInput = collapsed => { return ( @@ -357,17 +358,17 @@ export default class extends React.PureComponent { name="collapsed" value={collapsed} options={[ - { value: true, label: "true" }, - { value: false, label: "false" }, + { value: true, label: 'true' }, + { value: false, label: 'false' }, { value: 1, label: 1 }, { value: 2, label: 2 } ]} onChange={val => { - this.set("collapsed", val) + this.set('collapsed', val); }} /> - ) - } + ); + }; getIndentWidthInput = indentWidth => { return ( @@ -388,11 +389,11 @@ export default class extends React.PureComponent { { value: 10, label: 10 } ]} onChange={val => { - this.set("indentWidth", val) + this.set('indentWidth', val); }} /> - ) - } + ); + }; getThemeInput = theme => { return ( @@ -400,81 +401,83 @@ export default class extends React.PureComponent { 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: '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: '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: '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: 'shapeshifter:inverted', + label: 'shapeshifter:inverted' }, - { value: "solarized", label: "solarized" }, - { value: "summerfruit", label: "summerfruit" }, + { value: 'solarized', label: 'solarized' }, + { value: 'summerfruit', label: 'summerfruit' }, { - value: "summerfruit:inverted", - label: "summerfruit:inverted" + value: 'summerfruit:inverted', + label: 'summerfruit:inverted' }, - { value: "threezerotwofour", label: "threezerotwofour" }, - { value: "tomorrow", label: "tomorrow" }, - { value: "tube", label: "tube" }, - { value: "twilight", label: "twilight" } + { value: 'threezerotwofour', label: 'threezerotwofour' }, + { value: 'tomorrow', label: 'tomorrow' }, + { value: 'tube', label: 'tube' }, + { value: 'twilight', label: 'twilight' } ]} onChange={val => { - this.set("theme", val) + this.set('theme', val); }} /> - ) - } + ); + }; set = (field, value) => { - let state = {} - state[field] = value.value - this.setState(state) + let state = {}; + state[field] = value.value; + this.setState(state); }; //just a function to get an example JSON object getExampleJson = () => { return { - string: "this is a test string", + string: 'this is a test string', integer: 42, - array: [1, 2, 3, "test", NaN], + array: [1, 2, 3, 'test', NaN], float: 3.14159, undefined: undefined, object: { - "first-child": true, - "second-child": false, - "last-child": null + 'first-child': true, + 'second-child': false, + 'last-child': null }, - string_number: "1234", + string_number: '1234', date: new Date() - } - } + }; + }; } + +export default Demo; From 07ab814190a98df164ea316ae26600e8710a7b32 Mon Sep 17 00:00:00 2001 From: mac-s-g Date: Sun, 24 Jan 2021 17:08:55 -0800 Subject: [PATCH 118/134] copy literal to clipboard bugfix --- dev-server/src/index.js | 10 ++++++++++ src/js/components/VariableEditor.js | 6 ++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/dev-server/src/index.js b/dev-server/src/index.js index 52394c35..07a3aa43 100644 --- a/dev-server/src/index.js +++ b/dev-server/src/index.js @@ -12,6 +12,16 @@ import JsonViewer from './../../src/js/index'; //render 2 different examples of the react-json-view component ReactDom.render(
+ console.log(copy)} + /> +
+ {/* just pass in your JSON to the src attribute */}