Comparing version 0.3.72 to 0.3.74
@@ -10,3 +10,2 @@ // # array component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -20,8 +19,2 @@ | ||
// getDefaultProps: function () { | ||
// return { | ||
// className: plugin.config.className | ||
// }; | ||
// }, | ||
nextLookupId: 0, | ||
@@ -132,7 +125,4 @@ | ||
var numItems = field.value.length; | ||
return config.createElement('field', { | ||
field: field, plain: this.props.plain | ||
}, R.div({ className: cx(this.props.classes), tabIndex: tabIndex }, | ||
// css transitions know to cause event problems | ||
config.cssTransitionWrapper(fields.map(function (childField, i) { | ||
var content = config.cssTransitionWrapper(fields.map(function (childField, i) { | ||
return config.createElement('array-item', { | ||
@@ -148,4 +138,14 @@ key: this.state.lookups[i], | ||
}); | ||
}.bind(this))), arrayControl)); | ||
}.bind(this))); | ||
return config.createElement('field', { | ||
field: field, | ||
plain: this.props.plain | ||
}, React.createElement( | ||
'div', | ||
{ className: cx(this.props.classes), tabIndex: tabIndex }, | ||
content, | ||
arrayControl | ||
)); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # object component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -121,5 +120,3 @@ var update = require('react-addons-update'); | ||
return config.createElement('field', { | ||
field: field, plain: this.props.plain | ||
}, R.div({ className: cx(this.props.classes) }, config.cssTransitionWrapper(field.value.map(function (row, i) { | ||
var content = config.cssTransitionWrapper(field.value.map(function (row, i) { | ||
return config.createElement('assoc-list-item', { | ||
@@ -136,4 +133,19 @@ key: this.state.lookups[i], | ||
}); | ||
}.bind(this))), config.createElement('assoc-list-control', { field: field, onAppend: this.onAppend }))); | ||
}.bind(this))); | ||
var assocList = config.createElement('assoc-list-control', { | ||
field: field, | ||
onAppend: this.onAppend | ||
}); | ||
return config.createElement('field', { | ||
field: field, | ||
plain: this.props.plain | ||
}, React.createElement( | ||
'div', | ||
{ className: cx(this.props.classes) }, | ||
content, | ||
assocList | ||
)); | ||
} | ||
}); |
@@ -11,3 +11,2 @@ // # checkbox-array component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var _ = require('../../undash'); | ||
@@ -61,24 +60,48 @@ var cx = require('classnames'); | ||
return config.createElement('field', { | ||
field: field | ||
}, R.div({ className: cx(this.props.classes), ref: 'choices' }, choices.map(function (choice, i) { | ||
var inputs = choices.map(function (choice, i) { | ||
var inputField = React.createElement( | ||
'span', | ||
{ style: { whiteSpace: 'nowrap' } }, | ||
React.createElement('input', { | ||
name: field.key, | ||
type: 'checkbox', | ||
value: choice.value, | ||
checked: field.value.indexOf(choice.value) >= 0 ? true : false, | ||
onChange: this.onChange, | ||
onFocus: this.onFocusAction, | ||
onBlur: this.onBlurAction, | ||
disabled: this.isReadOnly() }), | ||
React.createElement( | ||
'span', | ||
{ className: 'field-choice-label' }, | ||
choice.label | ||
) | ||
); | ||
var inputField = R.span({ style: { whiteSpace: 'nowrap' } }, R.input({ | ||
name: field.key, | ||
type: 'checkbox', | ||
value: choice.value, | ||
checked: field.value.indexOf(choice.value) >= 0 ? true : false, | ||
onChange: this.onChange, | ||
onFocus: this.onFocusAction, | ||
onBlur: this.onBlurAction, | ||
disabled: this.isReadOnly() | ||
}), ' ', R.span({ className: 'field-choice-label' }, choice.label)); | ||
if (isInline) { | ||
return R.span({ key: i, className: 'field-choice' }, inputField, ' '); | ||
} else { | ||
return R.div({ key: i, className: 'field-choice' }, inputField, ' ', config.createElement('sample', { field: field, choice: choice })); | ||
return React.createElement( | ||
'span', | ||
{ key: i, className: 'field-choice' }, | ||
inputField, | ||
' ' | ||
); | ||
} | ||
}.bind(this)))); | ||
return React.createElement( | ||
'span', | ||
{ key: i, className: 'field-choice' }, | ||
inputField, | ||
' ', | ||
config.createElement('sample', { field: field, choice: choice }) | ||
); | ||
}.bind(this)); | ||
return config.createElement('field', { | ||
field: field | ||
}, React.createElement( | ||
'div', | ||
{ className: cx(this.props.classes), ref: 'choices' }, | ||
inputs | ||
)); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # checkbox-boolean component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -33,14 +32,30 @@ | ||
var fieldLabelOrHelp = config.fieldHelpText(field) || config.fieldLabel(field); | ||
return config.createElement('field', { | ||
config: config, field: field, plain: true | ||
}, R.span({ style: { whiteSpace: 'nowrap' } }, R.input({ | ||
type: 'checkbox', | ||
checked: field.value, | ||
className: cx(this.props.classes), | ||
onChange: this.onChange, | ||
onFocus: this.onFocusAction, | ||
onBlur: this.onBlurAction, | ||
disabled: this.isReadOnly() | ||
}), R.span({}, ' '), R.span({}, config.fieldHelpText(field) || config.fieldLabel(field)))); | ||
}, React.createElement( | ||
'span', | ||
{ style: { whiteSpace: 'nowrap' } }, | ||
React.createElement('input', { | ||
type: 'checkbox', | ||
checked: field.value, | ||
className: cx(this.props.classes), | ||
onChange: this.onChange, | ||
onFocus: this.onFocusAction, | ||
onBlur: this.onBlurAction, | ||
disabled: this.isReadOnly() | ||
}), | ||
React.createElement( | ||
'span', | ||
null, | ||
' ' | ||
), | ||
React.createElement( | ||
'span', | ||
null, | ||
fieldLabelOrHelp | ||
) | ||
)); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # copy component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -25,7 +24,6 @@ | ||
renderDefault: function renderDefault() { | ||
return R.div({ className: cx(this.props.classes), dangerouslySetInnerHTML: { | ||
__html: this.props.config.fieldHelpText(this.props.field) | ||
} }); | ||
return React.createElement('div', { | ||
className: cx(this.props.classes), | ||
dangerouslySetInnerHTML: { __html: this.props.config.fieldHelpText(this.props.field) } }); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # fields component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var _ = require('../../undash'); | ||
@@ -57,11 +56,14 @@ var cx = require('classnames'); | ||
return config.createElement('field', { | ||
config: config, field: field, plain: isGroup || this.props.plain | ||
}, R.fieldset({ className: cx(classes) }, isGroup ? React.createElement( | ||
var legend = !isGroup ? null : React.createElement( | ||
'legend', | ||
null, | ||
config.fieldLabel(field) | ||
) : null, isGroup ? config.createElement('help', { | ||
config: config, field: field | ||
}) : null, fields.map(function (childField, i) { | ||
); | ||
var help = !isGroup ? null : config.createElement('help', { | ||
config: config, | ||
field: field | ||
}); | ||
var content = fields.map(function (childField, i) { | ||
var key = childField.key || i; | ||
@@ -73,5 +75,15 @@ return config.createFieldElement({ | ||
}); | ||
}.bind(this)))); | ||
}.bind(this)); | ||
return config.createElement('field', { | ||
config: config, field: field, plain: isGroup || this.props.plain | ||
}, React.createElement( | ||
'fieldset', | ||
{ className: cx(classes) }, | ||
legend, | ||
help, | ||
content | ||
)); | ||
} | ||
}); |
@@ -11,3 +11,2 @@ // # json component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -79,3 +78,3 @@ | ||
field: config.fieldWithValue(field, this.state.value), plain: this.props.plain | ||
}, R.textarea({ | ||
}, React.createElement('textarea', { | ||
className: cx(this.props.classes), | ||
@@ -88,5 +87,4 @@ value: this.state.value, | ||
onBlur: this.onBlurAction, | ||
disabled: this.isReadOnly() | ||
})); | ||
disabled: this.isReadOnly() })); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # single-line-string component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -35,3 +34,3 @@ | ||
config: config, field: field, plain: this.props.plain | ||
}, R.input({ | ||
}, React.createElement('input', { | ||
type: 'password', | ||
@@ -46,5 +45,4 @@ value: this.props.field.value, | ||
placeholder: field.placeholder, | ||
disabled: this.isReadOnly() | ||
})); | ||
disabled: this.isReadOnly() })); | ||
} | ||
}); |
@@ -28,3 +28,2 @@ // # pretty-textarea component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var _ = require('../../undash'); | ||
@@ -320,6 +319,31 @@ var cx = require('classnames'); | ||
var className = 'pretty-part'; | ||
if (this.state.hoverPillRef && pillRef === this.state.hoverPillRef) { | ||
className += ' pretty-part-hover'; | ||
} | ||
return R.span({ key: i, className: className, ref: pillRef, 'data-pretty': true, 'data-ref': pillRef }, R.span({ className: 'pretty-part-left' }, LEFT_PAD), R.span({ className: 'pretty-part-text' }, noBreak(this.prettyLabel(part.value))), R.span({ className: 'pretty-part-right' }, RIGHT_PAD)); | ||
return React.createElement( | ||
'span', | ||
{ | ||
key: i, | ||
className: className, | ||
ref: pillRef, | ||
'data-pretty': true, | ||
'data-ref': pillRef }, | ||
React.createElement( | ||
'span', | ||
{ className: 'pretty-part-left' }, | ||
LEFT_PAD | ||
), | ||
React.createElement( | ||
'span', | ||
{ className: 'pretty-part-text' }, | ||
noBreak(this.prettyLabel(part.value)) | ||
), | ||
React.createElement( | ||
'span', | ||
{ className: 'pretty-part-right' }, | ||
RIGHT_PAD | ||
) | ||
); | ||
} | ||
@@ -731,13 +755,3 @@ }.bind(this)); | ||
// var selectReplaceChoices = [{ | ||
// value: '', | ||
// label: 'Insert...' | ||
// }].concat(replaceChoices); | ||
return config.createElement('field', { | ||
field: field, plain: this.props.plain | ||
}, R.div({ style: { position: 'relative' } }, R.pre({ | ||
className: 'pretty-highlight', | ||
ref: 'highlight' | ||
}, this.prettyValue(this.props.field.value)), (config.fieldIsSingleLine(field) ? R.input : R.textarea)({ | ||
var contentProps = { | ||
type: 'text', | ||
@@ -766,8 +780,35 @@ className: cx(_.extend({}, this.props.classes, { 'pretty-content': true })), | ||
onBlur: this.onBlurAction | ||
}), config.createElement('insert-button', { ref: 'toggle', onClick: this.onToggleChoices }, 'Insert...'), config.createElement('choices', { | ||
}; | ||
var ContentElem = config.fieldIsSingleLine(field) ? React.createElement('input', contentProps) : React.createElement('textarea', contentProps); | ||
var insertButton = config.createElement('insert-button', { | ||
ref: 'toggle', | ||
onClick: this.onToggleChoices | ||
}, 'Insert...'); | ||
var choices = config.createElement('choices', { | ||
ref: 'choices', | ||
choices: replaceChoices, open: this.state.isChoicesOpen, | ||
onSelect: this.onInsert, onClose: this.onCloseChoices, ignoreCloseNodes: this.getCloseIgnoreNodes | ||
}))); | ||
choices: replaceChoices, | ||
open: this.state.isChoicesOpen, | ||
onSelect: this.onInsert, | ||
onClose: this.onCloseChoices, | ||
ignoreCloseNodes: this.getCloseIgnoreNodes | ||
}); | ||
return config.createElement('field', { | ||
field: field, plain: this.props.plain | ||
}, React.createElement( | ||
'div', | ||
{ style: { position: 'relative' } }, | ||
React.createElement( | ||
'pre', | ||
{ className: 'pretty-highlight', ref: 'highlight' }, | ||
this.prettyValue(this.props.field.value) | ||
), | ||
React.createElement(ContentElem, null), | ||
insertButton, | ||
choices | ||
)); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # single-line-string component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -38,3 +37,3 @@ | ||
config: config, field: field, plain: this.props.plain | ||
}, R.input({ | ||
}, React.createElement('input', { | ||
tabIndex: tabIndex, | ||
@@ -50,5 +49,4 @@ type: 'text', | ||
placeholder: field.placeholder, | ||
readOnly: readOnly | ||
})); | ||
readOnly: readOnly })); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # string component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -29,3 +28,2 @@ | ||
renderDefault: function renderDefault() { | ||
var config = this.props.config; | ||
@@ -36,3 +34,3 @@ var field = this.props.field; | ||
config: config, field: field, plain: this.props.plain | ||
}, R.textarea({ | ||
}, React.createElement('textarea', { | ||
value: field.value, | ||
@@ -44,5 +42,4 @@ className: cx(this.props.classes), | ||
onBlur: this.onBlurAction, | ||
disabled: this.isReadOnly() | ||
})); | ||
disabled: this.isReadOnly() })); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # unknown component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
@@ -24,5 +23,17 @@ module.exports = React.createClass({ | ||
renderDefault: function renderDefault() { | ||
return R.div({}, R.div({}, 'Component not found for: '), R.pre({}, JSON.stringify(this.props.field.rawFieldTemplate, null, 2))); | ||
return React.createElement( | ||
'div', | ||
null, | ||
React.createElement( | ||
'div', | ||
null, | ||
'Component not found for:' | ||
), | ||
React.createElement( | ||
'pre', | ||
null, | ||
JSON.stringify(this.props.field.rawFieldTemplate, null, 2) | ||
) | ||
); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # add-item component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -41,4 +40,12 @@ | ||
return R.span({ tabIndex: tabIndex, onKeyDown: onKeyDown, className: cx(this.props.classes), onClick: this.props.onClick }, this.props.label); | ||
return React.createElement( | ||
'span', | ||
{ | ||
tabIndex: tabIndex, | ||
onKeyDown: onKeyDown, | ||
className: cx(this.props.classes), | ||
onClick: this.props.onClick }, | ||
this.props.label | ||
); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # array-control component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -59,4 +58,10 @@ | ||
return R.div({ className: cx(this.props.classes) }, typeChoices, ' ', addItem); | ||
return React.createElement( | ||
'div', | ||
{ className: cx(this.props.classes) }, | ||
typeChoices, | ||
' ', | ||
addItem | ||
); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # array-item-control component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -47,4 +46,14 @@ | ||
return R.div({ className: cx(this.props.classes) }, removeItemControl, this.props.index > 0 ? config.createElement('move-item-back', { field: field, onClick: this.onMoveBack }) : null, this.props.index < this.props.numItems - 1 ? config.createElement('move-item-forward', { field: field, onClick: this.onMoveForward }) : null); | ||
var moveItemForward = this.props.index < this.props.numItems - 1 ? config.createElement('move-item-forward', { field: field, onClick: this.onMoveForward }) : null; | ||
var moveItemBack = this.props.index > 0 ? config.createElement('move-item-back', { field: field, onClick: this.onMoveBack }) : null; | ||
return React.createElement( | ||
'div', | ||
{ className: cx(this.props.classes) }, | ||
removeItemControl, | ||
moveItemBack, | ||
moveItemForward | ||
); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # array-item-value component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -32,4 +31,8 @@ | ||
return R.div({ className: cx(this.props.classes) }, config.createFieldElement({ field: field, onChange: this.onChangeField, onAction: this.onBubbleAction })); | ||
return React.createElement( | ||
'div', | ||
{ className: cx(this.props.classes) }, | ||
config.createFieldElement({ field: field, onChange: this.onChangeField, onAction: this.onBubbleAction }) | ||
); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # array-item component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -49,9 +48,26 @@ var _ = require('../../undash'); | ||
if (!config.fieldIsReadOnly(field)) { | ||
arrayItemControl = config.createElement('array-item-control', { field: field, index: this.props.index, numItems: this.props.numItems, | ||
onMove: this.props.onMove, onRemove: this.props.onRemove, onMaybeRemove: this.onMaybeRemove }); | ||
arrayItemControl = config.createElement('array-item-control', { | ||
field: field, | ||
index: this.props.index, | ||
numItems: this.props.numItems, | ||
onMove: this.props.onMove, | ||
onRemove: this.props.onRemove, | ||
onMaybeRemove: this.onMaybeRemove | ||
}); | ||
} | ||
return R.div({ className: cx(classes) }, config.createElement('array-item-value', { field: field, index: this.props.index, | ||
onChange: this.props.onChange, onAction: this.onBubbleAction }), arrayItemControl); | ||
var arrayItemValue = config.createElement('array-item-value', { | ||
field: field, | ||
index: this.props.index, | ||
onChange: this.props.onChange, | ||
onAction: this.onBubbleAction | ||
}); | ||
return React.createElement( | ||
'div', | ||
{ className: cx(classes) }, | ||
arrayItemControl, | ||
arrayItemValue | ||
); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # assoc-list-control component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -54,4 +53,10 @@ | ||
return R.div({ className: cx(this.props.classes) }, typeChoices, ' ', config.createElement('add-item', { onClick: this.onAppend })); | ||
return React.createElement( | ||
'div', | ||
{ className: cx(this.props.classes) }, | ||
typeChoices, | ||
' ', | ||
config.createElement('add-item', { onClick: this.onAppend }) | ||
); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # assoc-item-control component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -34,8 +33,14 @@ | ||
return R.div({ className: cx(this.props.classes) }, config.createElement('remove-item', { | ||
var removeItem = config.createElement('remove-item', { | ||
field: field, | ||
onClick: this.onRemove, | ||
readOnly: isLastItem && !config.isRemovalOfLastAssocListItemAllowed(field) | ||
})); | ||
}); | ||
return React.createElement( | ||
'div', | ||
{ className: cx(this.props.classes) }, | ||
removeItem | ||
); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # assoc-item-key component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -35,3 +34,3 @@ var _ = require('../../undash'); | ||
return R.input({ | ||
return React.createElement('input', { | ||
className: cx(classes), | ||
@@ -42,5 +41,4 @@ type: 'text', | ||
onFocus: this.onFocusAction, | ||
onBlur: this.onBlurAction | ||
}); | ||
onBlur: this.onBlurAction }); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # assoc-item-value component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -32,4 +31,15 @@ | ||
return R.div({ className: cx(this.props.classes) }, config.createFieldElement({ field: field, onChange: this.onChangeField, plain: true, onAction: this.onBubbleAction })); | ||
var fieldElem = config.createFieldElement({ | ||
field: field, | ||
onChange: this.onChangeField, | ||
plain: true, | ||
onAction: this.onBubbleAction | ||
}); | ||
return React.createElement( | ||
'div', | ||
{ className: cx(this.props.classes) }, | ||
fieldElem | ||
); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # assoc-item component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -32,4 +31,31 @@ | ||
return R.div({ className: cx(this.props.classes) }, config.createElement('assoc-list-item-key', { field: field, onChange: this.onChangeKey, onAction: this.onBubbleAction, displayKey: this.props.displayKey, isDuplicateKey: this.props.isDuplicateKey }), config.createElement('assoc-list-item-value', { field: field, onChange: this.props.onChange, onAction: this.onBubbleAction, index: this.props.index }), config.createElement('assoc-list-item-control', { field: field, onRemove: this.props.onRemove, index: this.props.index })); | ||
var assocListItemKey = config.createElement('assoc-list-item-key', { | ||
field: field, | ||
onChange: this.onChangeKey, | ||
onAction: this.onBubbleAction, | ||
displayKey: this.props.displayKey, | ||
isDuplicateKey: this.props.isDuplicateKey | ||
}); | ||
var assocListItemValue = config.createElement('assoc-list-item-value', { | ||
field: field, | ||
onChange: this.props.onChange, | ||
onAction: this.onBubbleAction, | ||
index: this.props.index | ||
}); | ||
var assocListItemControl = config.createElement('assoc-list-item-control', { | ||
field: field, | ||
onRemove: this.props.onRemove, | ||
index: this.props.index | ||
}); | ||
return React.createElement( | ||
'div', | ||
{ className: cx(this.props.classes) }, | ||
assocListItemKey, | ||
assocListItemValue, | ||
assocListItemControl | ||
); | ||
} | ||
}); |
@@ -14,3 +14,2 @@ // # Choices component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var ReactDOM = require('react-dom'); | ||
@@ -409,2 +408,4 @@ var _ = require('../../undash'); | ||
} | ||
return false; | ||
}); | ||
@@ -480,46 +481,108 @@ } | ||
if (hasSearch) { | ||
search = config.createElement('choices-search', { ref: 'search', key: 'choices-search', field: this.props.field, onChange: this.onChangeSearch }); | ||
search = config.createElement('choices-search', { | ||
ref: 'search', | ||
key: 'choices-search', | ||
field: this.props.field, | ||
onChange: this.onChangeSearch | ||
}); | ||
} | ||
return R.div({ | ||
ref: 'container', onClick: this.onClick, className: 'choices-container', style: { | ||
userSelect: 'none', WebkitUserSelect: 'none', position: 'absolute', | ||
maxHeight: this.state.maxHeight ? this.state.maxHeight : null | ||
} | ||
}, config.cssTransitionWrapper(search, R.ul({ key: 'choices', ref: 'choices', className: 'choices' }, choices.map(function (choice, i) { | ||
return React.createElement( | ||
'div', | ||
{ | ||
ref: 'container', | ||
onClick: this.onClick, | ||
className: 'choices-container', | ||
style: { | ||
userSelect: 'none', | ||
WebkitUserSelect: 'none', | ||
position: 'absolute', | ||
maxHeight: this.state.maxHeight ? this.state.maxHeight : null | ||
} }, | ||
config.cssTransitionWrapper(search, React.createElement( | ||
'ul', | ||
{ | ||
key: 'choices', | ||
ref: 'choices', | ||
className: 'choices' }, | ||
choices.map(function (choice, i) { | ||
var choiceElement = null; | ||
var choiceValue = null; | ||
var choiceElement = null; | ||
var choiceValue = null; | ||
if (choice.value === '///loading///') { | ||
choiceElement = R.a({ href: 'JavaScript' + ':', onClick: this.onClose }, R.span({ className: 'choice-label' }, config.createElement('loading-choice', { field: this.props.field }))); | ||
choiceValue = 'loading'; | ||
} else if (choice.value === '///empty///') { | ||
choiceElement = R.a({ href: 'JavaScript' + ':', onClick: this.onClose }, R.span({ className: 'choice-label' }, 'No choices available.')); | ||
choiceValue = 'empty'; | ||
} else if (choice.action) { | ||
var labelClasses = 'choice-label ' + choice.action; | ||
if (choice.value === '///loading///') { | ||
choiceElement = React.createElement( | ||
'a', | ||
{ href: 'JavaScript' + ':', onClick: this.onClose }, | ||
React.createElement( | ||
'span', | ||
{ className: 'choice-label' }, | ||
config.createElement('loading-choice', { field: this.props.field }) | ||
) | ||
); | ||
choiceElement = R.a({ href: 'JavaScript' + ':', onClick: this.onChoiceAction.bind(this, choice) }, R.span({ className: labelClasses }, choice.label || this.props.config.actionChoiceLabel(choice.action)), this.props.config.createElement('choice-action-sample', { action: choice.action, choice: choice })); | ||
choiceValue = 'action:' + choice.action; | ||
} else if (choice.sectionKey) { | ||
choiceElement = R.a({ href: 'JavaScript' + ':', onClick: this.onHeaderClick.bind(this, choice) }, config.createElement('choice-section-header', { | ||
choice: choice, | ||
isOpen: this.state.openSections.indexOf(choice.sectionKey) !== -1, | ||
isDisabled: hasDisabledSections | ||
})); | ||
choiceValue = 'section:' + choice.sectionKey; | ||
} else { | ||
choiceElement = config.createElement('choice', { | ||
onSelect: this.onSelect, choice: choice, field: this.props.field, | ||
index: i, total: choices.length | ||
}); | ||
choiceValue = 'value:' + choice.value; | ||
} | ||
choiceValue = 'loading'; | ||
} else if (choice.value === '///empty///') { | ||
choiceElement = React.createElement( | ||
'a', | ||
{ href: 'JavaScript' + ':', onClick: this.onClose }, | ||
React.createElement( | ||
'span', | ||
{ className: 'choice-label' }, | ||
'No choices available.' | ||
) | ||
); | ||
return config.createElement('choices-item', { | ||
ref: 'choice-' + i, key: i, isHovering: this.state.hoverValue && this.state.hoverValue === choiceValue | ||
}, choiceElement); | ||
}.bind(this))))); | ||
choiceValue = 'empty'; | ||
} else if (choice.action) { | ||
var labelClasses = 'choice-label ' + choice.action; | ||
choiceElement = React.createElement( | ||
'a', | ||
{ href: 'JavaScript' + ':', onClick: this.onChoiceAction.bind(this, choice) }, | ||
React.createElement( | ||
'span', | ||
{ className: labelClasses }, | ||
choice.label || this.props.config.actionChoiceLabel(choice.action), | ||
this.props.config.createElement('choice-action-sample', { | ||
action: choice.action, | ||
choice: choice | ||
}) | ||
) | ||
); | ||
choiceValue = 'action:' + choice.action; | ||
} else if (choice.sectionKey) { | ||
choiceElement = React.createElement( | ||
'a', | ||
{ href: 'JavaScript' + ':', onClick: this.onHeaderClick.bind(this, choice) }, | ||
config.createElement('choice-section-header', { | ||
choice: choice, | ||
isOpen: this.state.openSections.indexOf(choice.sectionKey) !== -1, | ||
isDisabled: hasDisabledSections | ||
}) | ||
); | ||
choiceValue = 'section:' + choice.sectionKey; | ||
} else { | ||
choiceElement = config.createElement('choice', { | ||
onSelect: this.onSelect, | ||
choice: choice, | ||
field: this.props.field, | ||
index: i, | ||
total: choices.length | ||
}); | ||
choiceValue = 'value:' + choice.value; | ||
} | ||
return config.createElement('choices-item', { | ||
ref: 'choice-' + i, | ||
key: i, | ||
isHovering: this.state.hoverValue && this.state.hoverValue === choiceValue | ||
}, choiceElement); | ||
}.bind(this)) | ||
)) | ||
); | ||
} | ||
}); |
@@ -10,3 +10,3 @@ // # field-template-choices component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var _ = require('lodash'); | ||
var cx = require('classnames'); | ||
@@ -35,11 +35,17 @@ | ||
var typeChoices = null; | ||
if (fieldTemplates.length > 1) { | ||
typeChoices = R.select({ className: cx(this.props.classes), value: this.fieldTemplateIndex, onChange: this.onChange }, fieldTemplates.map(function (fieldTemplate, i) { | ||
return R.option({ key: i, value: i }, fieldTemplate.label || i); | ||
})); | ||
} | ||
return typeChoices ? typeChoices : R.span(null); | ||
return _.isEmpty(fieldTemplates) ? null : React.createElement( | ||
'select', | ||
{ | ||
className: cx(this.props.classes), | ||
value: this.fieldTemplateIndex, | ||
onChange: this.onChange }, | ||
fieldTemplates.map(function (fieldTemplate, i) { | ||
return React.createElement( | ||
'option', | ||
{ key: i, value: i }, | ||
fieldTemplate.label || i | ||
); | ||
}) | ||
); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # field component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var _ = require('../../undash'); | ||
@@ -71,10 +70,23 @@ var cx = require('classnames'); | ||
return R.div({ className: cx(classes), style: { display: field.hidden ? 'none' : '' } }, config.createElement('label', { | ||
var label = config.createElement('label', { | ||
config: config, | ||
field: field, | ||
index: index, | ||
onClick: config.fieldIsCollapsible(field) ? this.onClickLabel : null | ||
}); | ||
var help = config.cssTransitionWrapper(this.state.collapsed ? [] : [config.createElement('help', { | ||
config: config, field: field, | ||
index: index, onClick: config.fieldIsCollapsible(field) ? this.onClickLabel : null | ||
}), config.cssTransitionWrapper(this.state.collapsed ? [] : [config.createElement('help', { | ||
config: config, field: field, | ||
key: 'help' | ||
}), this.props.children])); | ||
}), this.props.children]); | ||
return React.createElement( | ||
'div', | ||
{ | ||
className: cx(classes), | ||
style: { display: field.hidden ? 'none' : '' } }, | ||
label, | ||
help | ||
); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # help component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -28,4 +27,5 @@ | ||
return helpText ? R.div({ className: cx(this.props.classes), dangerouslySetInnerHTML: { __html: helpText } }) : R.span(null); | ||
return helpText ? React.createElement('div', { className: cx(this.props.classes), | ||
dangerouslySetInnerHTML: { '__html': helpText } }) : React.createElement('span', null); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # label component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -27,8 +26,8 @@ | ||
var field = this.props.field; | ||
var fieldLabel = config.fieldLabel(field); | ||
var label = null; | ||
var label = null; | ||
if (typeof this.props.index === 'number') { | ||
label = '' + (this.props.index + 1) + '.'; | ||
if (fieldLabel) { | ||
@@ -41,12 +40,26 @@ label = label + ' ' + fieldLabel; | ||
var text = label || fieldLabel; | ||
if (this.props.onClick) { | ||
text = R.a({ href: 'JavaScript' + ':', onClick: this.props.onClick }, text); | ||
text = React.createElement( | ||
'a', | ||
{ href: 'JavaScript' + ':', onClick: this.props.onClick }, | ||
text | ||
); | ||
} | ||
label = R.label({}, text); | ||
label = React.createElement( | ||
'label', | ||
null, | ||
text | ||
); | ||
} | ||
return R.div({ | ||
className: cx(this.props.classes) | ||
}, label, ' ', R.span({ className: config.fieldIsRequired(field) ? 'required-text' : 'not-required-text' })); | ||
return React.createElement( | ||
'div', | ||
{ className: cx(this.props.classes) }, | ||
label, | ||
' ', | ||
React.createElement('span', { className: config.fieldIsRequired(field) ? 'required-text' : 'not-required-text' }) | ||
); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # move-item-back component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -31,4 +30,8 @@ | ||
renderDefault: function renderDefault() { | ||
return R.span({ className: cx(this.props.classes), onClick: this.props.onClick }, this.props.label); | ||
return React.createElement( | ||
'span', | ||
{ className: cx(this.props.classes), onClick: this.props.onClick }, | ||
this.props.label | ||
); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # move-item-forward component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -31,4 +30,8 @@ | ||
renderDefault: function renderDefault() { | ||
return R.span({ className: cx(this.props.classes), onClick: this.props.onClick }, this.props.label); | ||
return React.createElement( | ||
'span', | ||
{ className: cx(this.props.classes), onClick: this.props.onClick }, | ||
this.props.label | ||
); | ||
} | ||
}); |
@@ -456,3 +456,3 @@ 'use strict'; | ||
ReactDOM.render(React.createElement( | ||
return ReactDOM.render(React.createElement( | ||
'span', | ||
@@ -459,0 +459,0 @@ null, |
@@ -10,3 +10,2 @@ // # remove-item component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -48,3 +47,8 @@ var _ = require('../../undash'); | ||
var classes = _.extend({}, this.props.classes, { 'readonly-control': this.props.readOnly }); | ||
return R.span({ className: cx(classes) }, this.props.label); | ||
return React.createElement( | ||
'span', | ||
{ className: cx(classes) }, | ||
this.props.label | ||
); | ||
} | ||
@@ -58,8 +62,14 @@ | ||
return R.span({ | ||
tabIndex: 0, onKeyDown: onKeyDown, | ||
className: cx(this.props.classes), onClick: this.props.onClick, | ||
onMouseOver: this.onMouseOverRemove, onMouseOut: this.onMouseOutRemove | ||
}, this.props.label); | ||
return React.createElement( | ||
'span', | ||
{ | ||
tabIndex: 0, | ||
className: cx(this.props.classes), | ||
onKeyDown: onKeyDown, | ||
onClick: this.props.onClick, | ||
onMouseOver: this.onMouseOverRemove, | ||
onMouseOut: this.onMouseOutRemove }, | ||
this.props.label | ||
); | ||
} | ||
}); |
@@ -10,3 +10,2 @@ // # help component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var cx = require('classnames'); | ||
@@ -28,4 +27,8 @@ | ||
return choice.sample ? R.div({ className: cx(this.props.className) }, choice.sample) : R.span(null); | ||
return !choice.sample ? null : React.createElement( | ||
'div', | ||
{ className: cx(this.props.className) }, | ||
choice.sample | ||
); | ||
} | ||
}); |
@@ -11,3 +11,2 @@ // # select-value component | ||
var React = require('react'); | ||
var R = React.DOM; | ||
var _ = require('../../undash'); | ||
@@ -73,15 +72,19 @@ var cx = require('classnames'); | ||
choicesOrLoading = R.select({ | ||
className: cx(this.props.classes), | ||
onChange: this.onChange, | ||
value: valueChoice.choiceValue, | ||
onFocus: this.onFocusAction, | ||
onBlur: this.onBlurAction, | ||
disabled: this.isReadOnly() | ||
}, choices.map(function (choice, i) { | ||
return R.option({ | ||
key: i, | ||
value: choice.choiceValue | ||
}, choice.label); | ||
})); | ||
choicesOrLoading = React.createElement( | ||
'select', | ||
{ | ||
className: cx(this.props.classes), | ||
onChange: this.onChange, | ||
value: valueChoice.choiceValue, | ||
onFocus: this.onFocusAction, | ||
onBlur: this.onBlurAction, | ||
disabled: this.isReadOnly() }, | ||
choices.map(function (choice, i) { | ||
return React.createElement( | ||
'option', | ||
{ key: i, value: choice.choiceValue }, | ||
choice.label | ||
); | ||
}) | ||
); | ||
} | ||
@@ -88,0 +91,0 @@ |
@@ -13,3 +13,2 @@ // # default-config | ||
var CssTransitionGroup = require('react-addons-css-transition-group'); | ||
var R = React.DOM; | ||
var _ = require('./undash'); | ||
@@ -304,5 +303,9 @@ | ||
var props = component.props; | ||
var field = config.createRootField(props); | ||
var field = config.createRootField(props); | ||
return R.div({ className: 'formatic' }, config.createFieldElement({ field: field, onChange: component.onChange, onAction: component.onAction })); | ||
return React.createElement( | ||
'div', | ||
{ className: 'formatic' }, | ||
config.createFieldElement({ field: field, onChange: component.onChange, onAction: component.onAction }) | ||
); | ||
}, | ||
@@ -493,2 +496,4 @@ | ||
} | ||
return undefined; | ||
}); | ||
@@ -752,11 +757,7 @@ | ||
var value; | ||
if (_.isUndefined(defaultValue) && !_.isUndefined(match)) { | ||
return utils.deepCopy(match); | ||
} else { | ||
return config.createDefaultValue(fieldTemplate); | ||
} | ||
return value; | ||
return config.createDefaultValue(fieldTemplate); | ||
}, | ||
@@ -1056,3 +1057,3 @@ | ||
// Array of choice arrays should be flattened. | ||
choices = _.flatten(choices); | ||
choices = _.compact(_.flatten(choices)); | ||
@@ -1059,0 +1060,0 @@ choices.forEach(function (choice, i) { |
@@ -164,3 +164,3 @@ // # formatic | ||
if (!this.props.onChange) { | ||
console.log('You should supply an onChange handler if you supply a value.'); | ||
console.info('You should supply an onChange handler if you supply a value.'); | ||
} | ||
@@ -167,0 +167,0 @@ } |
@@ -16,2 +16,5 @@ 'use strict'; | ||
}; | ||
_.compact = function (array) { | ||
return (array || []).filter(Boolean); | ||
}; | ||
@@ -18,0 +21,0 @@ _.isString = function (value) { |
{ | ||
"name": "formatic", | ||
"version": "0.3.72", | ||
"version": "0.3.74", | ||
"description": "Automatic, pluggable form generation", | ||
@@ -23,43 +23,44 @@ "main": "./build/lib/formatic", | ||
"devDependencies": { | ||
"babel-cli": "^6.11.4", | ||
"babel-core": "^6.14.0", | ||
"babel-eslint": "^4.0.5", | ||
"babel-jest": "^14.1.0", | ||
"babel-loader": "^6.2.5", | ||
"babel-preset-es2015": "^6.13.2", | ||
"babel-preset-react": "^6.11.1", | ||
"babelify": "^5.0.3", | ||
"bootstrap": "^3.3.5", | ||
"codemirror": "^5.9.0", | ||
"css-loader": "^0.23.0", | ||
"envify": "^1.2.1", | ||
"es6-promise": "^3.0.2", | ||
"eslint": "^1.2.1", | ||
"eslint-loader": "^1.1.1", | ||
"eslint-plugin-react": "^2.3.0", | ||
"babel-cli": "6.11.4", | ||
"babel-core": "6.14.0", | ||
"babel-eslint": "4.0.5", | ||
"babel-jest": "14.1.0", | ||
"babel-loader": "6.2.5", | ||
"babel-preset-es2015": "6.13.2", | ||
"babel-preset-react": "6.11.1", | ||
"babelify": "5.0.3", | ||
"bootstrap": "3.3.5", | ||
"codemirror": "5.9.0", | ||
"css-loader": "0.23.0", | ||
"envify": "1.2.1", | ||
"es6-promise": "3.0.2", | ||
"eslint": "3.13.1", | ||
"eslint-loader": "1.1.1", | ||
"eslint-plugin-react": "6.9.0", | ||
"groc": "https://registry.npmjs.org/groc/-/groc-0.7.0.tgz", | ||
"gulp": "^3.8.11", | ||
"gulp-gh-pages": "^0.4.0", | ||
"gulp-load-plugins": "^0.5.3", | ||
"gulp-run": "^1.6.6", | ||
"gulp-shell": "^0.2.8", | ||
"jest-cli": "^14.0.1", | ||
"jquery": "^2.1.4", | ||
"lodash": "^3.10.1", | ||
"marked": "^0.3.6", | ||
"portscanner": "^2.1.1", | ||
"react": "^15.3.0", | ||
"react-addons-css-transition-group": "^15.3.0", | ||
"react-addons-test-utils": "^15.3.0", | ||
"react-addons-update": "^15.3.0", | ||
"react-bootstrap": "^0.30.2", | ||
"react-dom": "^15.3.0", | ||
"react-hot-loader": "^1.3.0", | ||
"react-tools": "^0.12.2", | ||
"require-dir": "^0.1.0", | ||
"run-sequence": "^1.0.2", | ||
"shelljs": "^0.3.0", | ||
"style-loader": "^0.13.0", | ||
"webpack": "^1.9.6", | ||
"webpack-dev-server": "^1.8.2" | ||
"gulp": "3.8.11", | ||
"gulp-gh-pages": "0.4.0", | ||
"gulp-load-plugins": "0.5.3", | ||
"gulp-run": "1.6.6", | ||
"gulp-shell": "0.2.8", | ||
"jest-cli": "14.0.1", | ||
"jquery": "2.1.4", | ||
"lodash": "3.10.1", | ||
"marked": "0.3.6", | ||
"open": "0.0.5", | ||
"portscanner": "2.1.1", | ||
"react": "15.3.0", | ||
"react-addons-css-transition-group": "15.3.0", | ||
"react-addons-test-utils": "15.3.0", | ||
"react-addons-update": "15.3.0", | ||
"react-bootstrap": "0.30.2", | ||
"react-dom": "15.3.0", | ||
"react-hot-loader": "1.3.0", | ||
"react-tools": "0.12.2", | ||
"require-dir": "0.1.0", | ||
"run-sequence": "1.0.2", | ||
"shelljs": "0.3.0", | ||
"style-loader": "0.13.0", | ||
"webpack": "1.9.6", | ||
"webpack-dev-server": "1.8.2" | ||
}, | ||
@@ -69,2 +70,4 @@ "dependencies": { | ||
"deep-equal": "^1.0.0", | ||
"eslint-plugin-react": "^6.10.3", | ||
"node-libs-browser": "^2.0.0", | ||
"object-assign": "^2.0.0", | ||
@@ -71,0 +74,0 @@ "react-scroll-lock": "git+https://github.com/Laiff/react-scroll-lock.git#267bf5bcf84d334aecc20908657088007b698dc2" |
@@ -20,4 +20,4 @@ # Formatic | ||
Point your browser to `localhost:3000/demo/index.html`. Hack away on the code, the | ||
styles or the HTML in the demo directory, and the browser will automatically | ||
Your browser should automatically open to [http://localhost:3000/demo/index.html](http://localhost:3000/demo/index.html). | ||
Hack away on the code, the styles or the HTML in the demo directory, and the browser will automatically | ||
reload with your changes. | ||
@@ -24,0 +24,0 @@ |
@@ -5,5 +5,8 @@ var webpack = require('webpack'); | ||
var config = require('./webpack.config'); | ||
var open = require('open'); | ||
portscanner.findAPortNotInUse(3000, 3100, '127.0.0.1', function(portErr, port) { | ||
const ipAddress = '127.0.0.1'; | ||
portscanner.findAPortNotInUse(3000, 3100, ipAddress, function(portErr, port) { | ||
config.entry[0] = config.entry[0].replace('3000', port); | ||
@@ -19,3 +22,3 @@ | ||
server.listen(port, '127.0.0.1', function (err) { | ||
server.listen(port, ipAddress, function (err) { | ||
if (err) { | ||
@@ -25,4 +28,6 @@ console.log(err); | ||
console.log('Listening at localhost:' + port); | ||
console.log(`Listening at ${ipAddress}:` + port); | ||
open(`http://${ipAddress}:${port}/demo/index.html`); | ||
}); | ||
}); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
213717
6189
7
42
+ Addedeslint-plugin-react@^6.10.3
+ Addednode-libs-browser@^2.0.0
+ Addedacorn@3.3.05.7.4(transitive)
+ Addedacorn-jsx@3.0.1(transitive)
+ Addedajv@4.11.8(transitive)
+ Addedajv-keywords@1.5.1(transitive)
+ Addedansi-escapes@1.4.0(transitive)
+ Addedansi-regex@2.1.13.0.1(transitive)
+ Addedansi-styles@2.2.1(transitive)
+ Addedargparse@1.0.10(transitive)
+ Addedarray-buffer-byte-length@1.0.1(transitive)
+ Addedarray.prototype.find@2.2.3(transitive)
+ Addedarraybuffer.prototype.slice@1.0.3(transitive)
+ Addedasn1.js@4.10.1(transitive)
+ Addedassert@1.5.1(transitive)
+ Addedavailable-typed-arrays@1.0.7(transitive)
+ Addedbabel-code-frame@6.26.0(transitive)
+ Addedbalanced-match@1.0.2(transitive)
+ Addedbase64-js@1.5.1(transitive)
+ Addedbn.js@4.12.05.2.1(transitive)
+ Addedbrace-expansion@1.1.11(transitive)
+ Addedbrorand@1.1.0(transitive)
+ Addedbrowserify-aes@1.2.0(transitive)
+ Addedbrowserify-cipher@1.0.1(transitive)
+ Addedbrowserify-des@1.0.2(transitive)
+ Addedbrowserify-rsa@4.1.1(transitive)
+ Addedbrowserify-sign@4.2.3(transitive)
+ Addedbrowserify-zlib@0.2.0(transitive)
+ Addedbuffer@4.9.2(transitive)
+ Addedbuffer-from@1.1.2(transitive)
+ Addedbuffer-xor@1.0.3(transitive)
+ Addedbuiltin-status-codes@3.0.0(transitive)
+ Addedcaller-path@0.1.0(transitive)
+ Addedcallsites@0.2.0(transitive)
+ Addedchalk@1.1.3(transitive)
+ Addedcipher-base@1.0.4(transitive)
+ Addedcircular-json@0.3.3(transitive)
+ Addedcli-cursor@1.0.2(transitive)
+ Addedcli-width@2.2.1(transitive)
+ Addedco@4.6.0(transitive)
+ Addedcode-point-at@1.1.0(transitive)
+ Addedconcat-map@0.0.1(transitive)
+ Addedconcat-stream@1.6.2(transitive)
+ Addedconsole-browserify@1.2.0(transitive)
+ Addedconstants-browserify@1.0.0(transitive)
+ Addedcore-util-is@1.0.3(transitive)
+ Addedcreate-ecdh@4.0.4(transitive)
+ Addedcreate-hash@1.2.0(transitive)
+ Addedcreate-hmac@1.1.7(transitive)
+ Addedcrypto-browserify@3.12.0(transitive)
+ Addedd@1.0.2(transitive)
+ Addeddata-view-buffer@1.0.1(transitive)
+ Addeddata-view-byte-length@1.0.1(transitive)
+ Addeddata-view-byte-offset@1.0.0(transitive)
+ Addeddebug@2.6.9(transitive)
+ Addeddeep-is@0.1.4(transitive)
+ Addeddes.js@1.1.0(transitive)
+ Addeddiffie-hellman@5.0.3(transitive)
+ Addeddoctrine@1.5.02.1.0(transitive)
+ Addeddomain-browser@1.2.0(transitive)
+ Addedelliptic@6.5.7(transitive)
+ Addedes-abstract@1.23.3(transitive)
+ Addedes-object-atoms@1.0.0(transitive)
+ Addedes-set-tostringtag@2.0.3(transitive)
+ Addedes-shim-unscopables@1.0.2(transitive)
+ Addedes-to-primitive@1.2.1(transitive)
+ Addedes5-ext@0.10.64(transitive)
+ Addedes6-iterator@2.0.3(transitive)
+ Addedes6-map@0.1.5(transitive)
+ Addedes6-set@0.1.6(transitive)
+ Addedes6-symbol@3.1.4(transitive)
+ Addedes6-weak-map@2.0.3(transitive)
+ Addedescape-string-regexp@1.0.5(transitive)
+ Addedescope@3.6.0(transitive)
+ Addedeslint@3.19.0(transitive)
+ Addedeslint-plugin-react@6.10.3(transitive)
+ Addedesniff@2.0.1(transitive)
+ Addedespree@3.5.4(transitive)
+ Addedesprima@4.0.1(transitive)
+ Addedesquery@1.6.0(transitive)
+ Addedesrecurse@4.3.0(transitive)
+ Addedestraverse@4.3.05.3.0(transitive)
+ Addedesutils@2.0.3(transitive)
+ Addedevent-emitter@0.3.5(transitive)
+ Addedevents@3.3.0(transitive)
+ Addedevp_bytestokey@1.0.3(transitive)
+ Addedexit-hook@1.1.1(transitive)
+ Addedext@1.7.0(transitive)
+ Addedfast-levenshtein@2.0.6(transitive)
+ Addedfigures@1.7.0(transitive)
+ Addedfile-entry-cache@2.0.0(transitive)
+ Addedflat-cache@1.3.4(transitive)
+ Addedfor-each@0.3.3(transitive)
+ Addedfs.realpath@1.0.0(transitive)
+ Addedfunction.prototype.name@1.1.6(transitive)
+ Addedgenerate-function@2.3.1(transitive)
+ Addedgenerate-object-property@1.2.0(transitive)
+ Addedget-symbol-description@1.0.2(transitive)
+ Addedglob@7.2.3(transitive)
+ Addedglobals@9.18.0(transitive)
+ Addedglobalthis@1.0.4(transitive)
+ Addedgraceful-fs@4.2.11(transitive)
+ Addedhas@1.0.4(transitive)
+ Addedhas-ansi@2.0.0(transitive)
+ Addedhas-bigints@1.0.2(transitive)
+ Addedhash-base@3.0.4(transitive)
+ Addedhash.js@1.1.7(transitive)
+ Addedhmac-drbg@1.0.1(transitive)
+ Addedhttps-browserify@1.0.0(transitive)
+ Addedieee754@1.2.1(transitive)
+ Addedignore@3.3.10(transitive)
+ Addedimurmurhash@0.1.4(transitive)
+ Addedinflight@1.0.6(transitive)
+ Addedinherits@2.0.32.0.4(transitive)
+ Addedinquirer@0.12.0(transitive)
+ Addedinternal-slot@1.0.7(transitive)
+ Addedinterpret@1.4.0(transitive)
+ Addedis-array-buffer@3.0.4(transitive)
+ Addedis-bigint@1.0.4(transitive)
+ Addedis-boolean-object@1.1.2(transitive)
+ Addedis-callable@1.2.7(transitive)
+ Addedis-core-module@2.15.1(transitive)
+ Addedis-data-view@1.0.1(transitive)
+ Addedis-fullwidth-code-point@1.0.02.0.0(transitive)
+ Addedis-my-ip-valid@1.0.1(transitive)
+ Addedis-my-json-valid@2.20.6(transitive)
+ Addedis-negative-zero@2.0.3(transitive)
+ Addedis-number-object@1.0.7(transitive)
+ Addedis-property@1.0.2(transitive)
+ Addedis-resolvable@1.1.0(transitive)
+ Addedis-shared-array-buffer@1.0.3(transitive)
+ Addedis-string@1.0.7(transitive)
+ Addedis-symbol@1.0.4(transitive)
+ Addedis-typed-array@1.1.13(transitive)
+ Addedis-weakref@1.0.2(transitive)
+ Addedisarray@1.0.02.0.5(transitive)
+ Addedjs-tokens@3.0.2(transitive)
+ Addedjs-yaml@3.14.1(transitive)
+ Addedjson-stable-stringify@1.1.1(transitive)
+ Addedjsonify@0.0.1(transitive)
+ Addedjsonpointer@5.0.1(transitive)
+ Addedjsx-ast-utils@1.4.1(transitive)
+ Addedlevn@0.3.0(transitive)
+ Addedlodash@4.17.21(transitive)
+ Addedmd5.js@1.3.5(transitive)
+ Addedmiller-rabin@4.0.1(transitive)
+ Addedminimalistic-assert@1.0.1(transitive)
+ Addedminimalistic-crypto-utils@1.0.1(transitive)
+ Addedminimatch@3.1.2(transitive)
+ Addedminimist@1.2.8(transitive)
+ Addedmkdirp@0.5.6(transitive)
+ Addedms@2.0.0(transitive)
+ Addedmute-stream@0.0.5(transitive)
+ Addednatural-compare@1.4.0(transitive)
+ Addednext-tick@1.1.0(transitive)
+ Addednode-libs-browser@2.2.1(transitive)
+ Addednumber-is-nan@1.0.1(transitive)
+ Addedobject-assign@4.1.1(transitive)
+ Addedobject-inspect@1.13.2(transitive)
+ Addedobject.assign@4.1.5(transitive)
+ Addedonce@1.4.0(transitive)
+ Addedonetime@1.1.0(transitive)
+ Addedoptionator@0.8.3(transitive)
+ Addedos-browserify@0.3.0(transitive)
+ Addedos-homedir@1.0.2(transitive)
+ Addedpako@1.0.11(transitive)
+ Addedparse-asn1@5.1.7(transitive)
+ Addedpath-browserify@0.0.1(transitive)
+ Addedpath-is-absolute@1.0.1(transitive)
+ Addedpath-is-inside@1.0.2(transitive)
+ Addedpath-parse@1.0.7(transitive)
+ Addedpbkdf2@3.1.2(transitive)
+ Addedpluralize@1.2.1(transitive)
+ Addedpossible-typed-array-names@1.0.0(transitive)
+ Addedprelude-ls@1.1.2(transitive)
+ Addedprocess@0.11.10(transitive)
+ Addedprocess-nextick-args@2.0.1(transitive)
+ Addedprogress@1.1.8(transitive)
+ Addedpublic-encrypt@4.0.3(transitive)
+ Addedpunycode@1.4.1(transitive)
+ Addedqs@6.13.0(transitive)
+ Addedquerystring-es3@0.2.1(transitive)
+ Addedrandombytes@2.1.0(transitive)
+ Addedrandomfill@1.0.4(transitive)
+ Addedreadable-stream@2.3.8(transitive)
+ Addedreadline2@1.0.1(transitive)
+ Addedrechoir@0.6.2(transitive)
+ Addedrequire-uncached@1.0.3(transitive)
+ Addedresolve@1.22.8(transitive)
+ Addedresolve-from@1.0.1(transitive)
+ Addedrestore-cursor@1.0.1(transitive)
+ Addedrimraf@2.6.3(transitive)
+ Addedripemd160@2.0.2(transitive)
+ Addedrun-async@0.1.0(transitive)
+ Addedrx-lite@3.1.2(transitive)
+ Addedsafe-array-concat@1.1.2(transitive)
+ Addedsafe-buffer@5.1.25.2.1(transitive)
+ Addedsafe-regex-test@1.0.3(transitive)
+ Addedsetimmediate@1.0.5(transitive)
+ Addedsha.js@2.4.11(transitive)
+ Addedshelljs@0.7.8(transitive)
+ Addedside-channel@1.0.6(transitive)
+ Addedslice-ansi@0.0.4(transitive)
+ Addedsprintf-js@1.0.3(transitive)
+ Addedstream-browserify@2.0.2(transitive)
+ Addedstream-http@2.8.3(transitive)
+ Addedstring-width@1.0.22.1.1(transitive)
+ Addedstring.prototype.trim@1.2.9(transitive)
+ Addedstring.prototype.trimend@1.0.8(transitive)
+ Addedstring.prototype.trimstart@1.0.8(transitive)
+ Addedstring_decoder@1.1.11.3.0(transitive)
+ Addedstrip-ansi@3.0.14.0.0(transitive)
+ Addedstrip-bom@3.0.0(transitive)
+ Addedstrip-json-comments@2.0.1(transitive)
+ Addedsupports-color@2.0.0(transitive)
+ Addedsupports-preserve-symlinks-flag@1.0.0(transitive)
+ Addedtable@3.8.3(transitive)
+ Addedtext-table@0.2.0(transitive)
+ Addedthrough@2.3.8(transitive)
+ Addedtimers-browserify@2.0.12(transitive)
+ Addedto-arraybuffer@1.0.1(transitive)
+ Addedtty-browserify@0.0.0(transitive)
+ Addedtype@2.7.3(transitive)
+ Addedtype-check@0.3.2(transitive)
+ Addedtyped-array-buffer@1.0.2(transitive)
+ Addedtyped-array-byte-length@1.0.1(transitive)
+ Addedtyped-array-byte-offset@1.0.2(transitive)
+ Addedtyped-array-length@1.0.6(transitive)
+ Addedtypedarray@0.0.6(transitive)
+ Addedunbox-primitive@1.0.2(transitive)
+ Addedurl@0.11.4(transitive)
+ Addeduser-home@2.0.0(transitive)
+ Addedutil@0.10.40.11.1(transitive)
+ Addedutil-deprecate@1.0.2(transitive)
+ Addedvm-browserify@1.1.2(transitive)
+ Addedwhich-boxed-primitive@1.0.2(transitive)
+ Addedwhich-typed-array@1.1.15(transitive)
+ Addedword-wrap@1.2.5(transitive)
+ Addedwrappy@1.0.2(transitive)
+ Addedwrite@0.2.1(transitive)
+ Addedxtend@4.0.2(transitive)
- Removedjs-tokens@4.0.0(transitive)