aboutsummaryrefslogtreecommitdiff
path: root/node_modules/react-dom/lib
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/react-dom/lib')
-rw-r--r--node_modules/react-dom/lib/BeforeInputEventPlugin.js1
-rw-r--r--node_modules/react-dom/lib/CSSProperty.js6
-rw-r--r--node_modules/react-dom/lib/CSSPropertyOperations.js22
-rw-r--r--node_modules/react-dom/lib/ChangeEventPlugin.js132
-rw-r--r--node_modules/react-dom/lib/DOMChildrenOperations.js7
-rw-r--r--node_modules/react-dom/lib/DOMProperty.js1
-rw-r--r--node_modules/react-dom/lib/DOMPropertyOperations.js2
-rw-r--r--node_modules/react-dom/lib/Danger.js2
-rw-r--r--node_modules/react-dom/lib/EnterLeaveEventPlugin.js2
-rw-r--r--node_modules/react-dom/lib/EventPluginHub.js4
-rw-r--r--node_modules/react-dom/lib/EventPluginRegistry.js2
-rw-r--r--node_modules/react-dom/lib/LinkedValueUtils.js14
-rw-r--r--node_modules/react-dom/lib/ReactBrowserEventEmitter.js4
-rw-r--r--node_modules/react-dom/lib/ReactChildFiber.js1
-rw-r--r--node_modules/react-dom/lib/ReactChildReconciler.js9
-rw-r--r--node_modules/react-dom/lib/ReactComponentBrowserEnvironment.js2
-rw-r--r--node_modules/react-dom/lib/ReactComponentEnvironment.js2
-rw-r--r--node_modules/react-dom/lib/ReactCompositeComponent.js4
-rw-r--r--node_modules/react-dom/lib/ReactDOM.js4
-rw-r--r--node_modules/react-dom/lib/ReactDOMComponent.js57
-rw-r--r--node_modules/react-dom/lib/ReactDOMFiber.js1
-rw-r--r--node_modules/react-dom/lib/ReactDOMIDOperations.js1
-rw-r--r--node_modules/react-dom/lib/ReactDOMInput.js8
-rw-r--r--node_modules/react-dom/lib/ReactDOMOption.js1
-rw-r--r--node_modules/react-dom/lib/ReactDOMTextComponent.js2
-rw-r--r--node_modules/react-dom/lib/ReactDebugTool.js4
-rw-r--r--node_modules/react-dom/lib/ReactEventEmitterMixin.js1
-rw-r--r--node_modules/react-dom/lib/ReactFiber.js2
-rw-r--r--node_modules/react-dom/lib/ReactFiberBeginWork.js1
-rw-r--r--node_modules/react-dom/lib/ReactFiberCommitWork.js1
-rw-r--r--node_modules/react-dom/lib/ReactFiberCompleteWork.js2
-rw-r--r--node_modules/react-dom/lib/ReactInputSelection.js1
-rw-r--r--node_modules/react-dom/lib/ReactInstanceMap.js2
-rw-r--r--node_modules/react-dom/lib/ReactMount.js14
-rw-r--r--node_modules/react-dom/lib/ReactMultiChild.js4
-rw-r--r--node_modules/react-dom/lib/ReactOwner.js1
-rw-r--r--node_modules/react-dom/lib/ReactPerf.js12
-rw-r--r--node_modules/react-dom/lib/ReactPriorityLevel.js3
-rw-r--r--node_modules/react-dom/lib/ReactReconciler.js6
-rw-r--r--node_modules/react-dom/lib/ReactSimpleEmptyComponent.js4
-rw-r--r--node_modules/react-dom/lib/ReactTestUtils.js1
-rw-r--r--node_modules/react-dom/lib/ReactUpdateQueue.js4
-rw-r--r--node_modules/react-dom/lib/ReactVersion.js2
-rw-r--r--node_modules/react-dom/lib/ResponderEventPlugin.js2
-rw-r--r--node_modules/react-dom/lib/SelectEventPlugin.js3
-rw-r--r--node_modules/react-dom/lib/SimpleEventPlugin.js2
-rw-r--r--node_modules/react-dom/lib/SyntheticEvent.js10
-rw-r--r--node_modules/react-dom/lib/SyntheticWheelEvent.js9
-rw-r--r--node_modules/react-dom/lib/TapEventPlugin.js2
-rw-r--r--node_modules/react-dom/lib/Transaction.js3
-rw-r--r--node_modules/react-dom/lib/ViewportMetrics.js2
-rw-r--r--node_modules/react-dom/lib/dangerousStyleValue.js4
-rw-r--r--node_modules/react-dom/lib/deprecated.js6
-rw-r--r--node_modules/react-dom/lib/escapeTextContentForBrowser.js1
-rw-r--r--node_modules/react-dom/lib/getEventKey.js38
-rw-r--r--node_modules/react-dom/lib/getEventModifierState.js8
-rw-r--r--node_modules/react-dom/lib/inputValueTracking.js122
-rw-r--r--node_modules/react-dom/lib/instantiateReactComponent.js2
-rw-r--r--node_modules/react-dom/lib/isTextInputElement.js28
-rw-r--r--node_modules/react-dom/lib/lowPriorityWarning.js64
-rw-r--r--node_modules/react-dom/lib/setInnerHTML.js2
-rw-r--r--node_modules/react-dom/lib/traverseAllChildren.js2
-rw-r--r--node_modules/react-dom/lib/validateDOMNesting.js8
63 files changed, 397 insertions, 277 deletions
diff --git a/node_modules/react-dom/lib/BeforeInputEventPlugin.js b/node_modules/react-dom/lib/BeforeInputEventPlugin.js
index 61ef00a03..be43a7f93 100644
--- a/node_modules/react-dom/lib/BeforeInputEventPlugin.js
+++ b/node_modules/react-dom/lib/BeforeInputEventPlugin.js
@@ -373,7 +373,6 @@ function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEv
* `composition` event types.
*/
var BeforeInputEventPlugin = {
-
eventTypes: eventTypes,
extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
diff --git a/node_modules/react-dom/lib/CSSProperty.js b/node_modules/react-dom/lib/CSSProperty.js
index 4c319870b..8507106b1 100644
--- a/node_modules/react-dom/lib/CSSProperty.js
+++ b/node_modules/react-dom/lib/CSSProperty.js
@@ -30,7 +30,13 @@ var isUnitlessNumber = {
flexNegative: true,
flexOrder: true,
gridRow: true,
+ gridRowEnd: true,
+ gridRowSpan: true,
+ gridRowStart: true,
gridColumn: true,
+ gridColumnEnd: true,
+ gridColumnSpan: true,
+ gridColumnStart: true,
fontWeight: true,
lineClamp: true,
lineHeight: true,
diff --git a/node_modules/react-dom/lib/CSSPropertyOperations.js b/node_modules/react-dom/lib/CSSPropertyOperations.js
index 03837d8c9..2d7c11438 100644
--- a/node_modules/react-dom/lib/CSSPropertyOperations.js
+++ b/node_modules/react-dom/lib/CSSPropertyOperations.js
@@ -75,7 +75,7 @@ if (process.env.NODE_ENV !== 'production') {
}
warnedStyleValues[value] = true;
- process.env.NODE_ENV !== 'production' ? warning(false, 'Style property values shouldn\'t contain a semicolon.%s ' + 'Try "%s: %s" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, '')) : void 0;
+ process.env.NODE_ENV !== 'production' ? warning(false, "Style property values shouldn't contain a semicolon.%s " + 'Try "%s: %s" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, '')) : void 0;
};
var warnStyleValueIsNaN = function (name, value, owner) {
@@ -125,7 +125,6 @@ if (process.env.NODE_ENV !== 'production') {
* Operations for dealing with CSS properties.
*/
var CSSPropertyOperations = {
-
/**
* Serializes a mapping of style properties for use as inline styles:
*
@@ -145,13 +144,16 @@ var CSSPropertyOperations = {
if (!styles.hasOwnProperty(styleName)) {
continue;
}
+ var isCustomProperty = styleName.indexOf('--') === 0;
var styleValue = styles[styleName];
if (process.env.NODE_ENV !== 'production') {
- warnValidStyle(styleName, styleValue, component);
+ if (!isCustomProperty) {
+ warnValidStyle(styleName, styleValue, component);
+ }
}
if (styleValue != null) {
serialized += processStyleName(styleName) + ':';
- serialized += dangerousStyleValue(styleName, styleValue, component) + ';';
+ serialized += dangerousStyleValue(styleName, styleValue, component, isCustomProperty) + ';';
}
}
return serialized || null;
@@ -179,14 +181,19 @@ var CSSPropertyOperations = {
if (!styles.hasOwnProperty(styleName)) {
continue;
}
+ var isCustomProperty = styleName.indexOf('--') === 0;
if (process.env.NODE_ENV !== 'production') {
- warnValidStyle(styleName, styles[styleName], component);
+ if (!isCustomProperty) {
+ warnValidStyle(styleName, styles[styleName], component);
+ }
}
- var styleValue = dangerousStyleValue(styleName, styles[styleName], component);
+ var styleValue = dangerousStyleValue(styleName, styles[styleName], component, isCustomProperty);
if (styleName === 'float' || styleName === 'cssFloat') {
styleName = styleFloatAccessor;
}
- if (styleValue) {
+ if (isCustomProperty) {
+ style.setProperty(styleName, styleValue);
+ } else if (styleValue) {
style[styleName] = styleValue;
} else {
var expansion = hasShorthandPropertyBug && CSSProperty.shorthandPropertyExpansions[styleName];
@@ -202,7 +209,6 @@ var CSSPropertyOperations = {
}
}
}
-
};
module.exports = CSSPropertyOperations; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/ChangeEventPlugin.js b/node_modules/react-dom/lib/ChangeEventPlugin.js
index 808bdbf46..0da17879e 100644
--- a/node_modules/react-dom/lib/ChangeEventPlugin.js
+++ b/node_modules/react-dom/lib/ChangeEventPlugin.js
@@ -17,6 +17,7 @@ var ReactDOMComponentTree = require('./ReactDOMComponentTree');
var ReactUpdates = require('./ReactUpdates');
var SyntheticEvent = require('./SyntheticEvent');
+var inputValueTracking = require('./inputValueTracking');
var getEventTarget = require('./getEventTarget');
var isEventSupported = require('./isEventSupported');
var isTextInputElement = require('./isTextInputElement');
@@ -31,13 +32,17 @@ var eventTypes = {
}
};
+function createAndAccumulateChangeEvent(inst, nativeEvent, target) {
+ var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, target);
+ event.type = 'change';
+ EventPropagators.accumulateTwoPhaseDispatches(event);
+ return event;
+}
/**
* For IE shims
*/
var activeElement = null;
var activeElementInst = null;
-var activeElementValue = null;
-var activeElementValueProp = null;
/**
* SECTION: handle `change` event
@@ -54,8 +59,7 @@ if (ExecutionEnvironment.canUseDOM) {
}
function manualDispatchChangeEvent(nativeEvent) {
- var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent));
- EventPropagators.accumulateTwoPhaseDispatches(event);
+ var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent));
// If change and propertychange bubbled, we'd just bind to it like all the
// other events and have it go through ReactBrowserEventEmitter. Since it
@@ -91,11 +95,21 @@ function stopWatchingForChangeEventIE8() {
activeElementInst = null;
}
+function getInstIfValueChanged(targetInst, nativeEvent) {
+ var updated = inputValueTracking.updateValueIfChanged(targetInst);
+ var simulated = nativeEvent.simulated === true && ChangeEventPlugin._allowSimulatedPassThrough;
+
+ if (updated || simulated) {
+ return targetInst;
+ }
+}
+
function getTargetInstForChangeEvent(topLevelType, targetInst) {
if (topLevelType === 'topChange') {
return targetInst;
}
}
+
function handleEventsForChangeEventIE8(topLevelType, target, targetInst) {
if (topLevelType === 'topFocus') {
// stopWatching() should be a noop here but we call it just in case we
@@ -114,105 +128,54 @@ var isInputEventSupported = false;
if (ExecutionEnvironment.canUseDOM) {
// IE9 claims to support the input event but fails to trigger it when
// deleting text, so we ignore its input events.
- // IE10+ fire input events to often, such when a placeholder
- // changes or when an input with a placeholder is focused.
- isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 11);
-}
-/**
- * (For IE <=11) Replacement getter/setter for the `value` property that gets
- * set on the active element.
- */
-var newValueProp = {
- get: function () {
- return activeElementValueProp.get.call(this);
- },
- set: function (val) {
- // Cast to a string so we can do equality checks.
- activeElementValue = '' + val;
- activeElementValueProp.set.call(this, val);
- }
-};
+ isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 9);
+}
/**
- * (For IE <=11) Starts tracking propertychange events on the passed-in element
+ * (For IE <=9) Starts tracking propertychange events on the passed-in element
* and override the value property so that we can distinguish user events from
* value changes in JS.
*/
function startWatchingForValueChange(target, targetInst) {
activeElement = target;
activeElementInst = targetInst;
- activeElementValue = target.value;
- activeElementValueProp = Object.getOwnPropertyDescriptor(target.constructor.prototype, 'value');
-
- // Not guarded in a canDefineProperty check: IE8 supports defineProperty only
- // on DOM elements
- Object.defineProperty(activeElement, 'value', newValueProp);
- if (activeElement.attachEvent) {
- activeElement.attachEvent('onpropertychange', handlePropertyChange);
- } else {
- activeElement.addEventListener('propertychange', handlePropertyChange, false);
- }
+ activeElement.attachEvent('onpropertychange', handlePropertyChange);
}
/**
- * (For IE <=11) Removes the event listeners from the currently-tracked element,
+ * (For IE <=9) Removes the event listeners from the currently-tracked element,
* if any exists.
*/
function stopWatchingForValueChange() {
if (!activeElement) {
return;
}
-
- // delete restores the original property definition
- delete activeElement.value;
-
- if (activeElement.detachEvent) {
- activeElement.detachEvent('onpropertychange', handlePropertyChange);
- } else {
- activeElement.removeEventListener('propertychange', handlePropertyChange, false);
- }
+ activeElement.detachEvent('onpropertychange', handlePropertyChange);
activeElement = null;
activeElementInst = null;
- activeElementValue = null;
- activeElementValueProp = null;
}
/**
- * (For IE <=11) Handles a propertychange event, sending a `change` event if
+ * (For IE <=9) Handles a propertychange event, sending a `change` event if
* the value of the active element has changed.
*/
function handlePropertyChange(nativeEvent) {
if (nativeEvent.propertyName !== 'value') {
return;
}
- var value = nativeEvent.srcElement.value;
- if (value === activeElementValue) {
- return;
- }
- activeElementValue = value;
-
- manualDispatchChangeEvent(nativeEvent);
-}
-
-/**
- * If a `change` event should be fired, returns the target's ID.
- */
-function getTargetInstForInputEvent(topLevelType, targetInst) {
- if (topLevelType === 'topInput') {
- // In modern browsers (i.e., not IE8 or IE9), the input event is exactly
- // what we want so fall through here and trigger an abstract event
- return targetInst;
+ if (getInstIfValueChanged(activeElementInst, nativeEvent)) {
+ manualDispatchChangeEvent(nativeEvent);
}
}
-function handleEventsForInputEventIE(topLevelType, target, targetInst) {
+function handleEventsForInputEventPolyfill(topLevelType, target, targetInst) {
if (topLevelType === 'topFocus') {
// In IE8, we can capture almost all .value changes by adding a
// propertychange handler and looking for events with propertyName
// equal to 'value'
- // In IE9-11, propertychange fires for most input events but is buggy and
+ // In IE9, propertychange fires for most input events but is buggy and
// doesn't fire when text is deleted, but conveniently, selectionchange
// appears to fire in all of the remaining cases so we catch those and
// forward the event if the value has changed
@@ -230,7 +193,7 @@ function handleEventsForInputEventIE(topLevelType, target, targetInst) {
}
// For IE8 and IE9.
-function getTargetInstForInputEventIE(topLevelType, targetInst) {
+function getTargetInstForInputEventPolyfill(topLevelType, targetInst, nativeEvent) {
if (topLevelType === 'topSelectionChange' || topLevelType === 'topKeyUp' || topLevelType === 'topKeyDown') {
// On the selectionchange event, the target is just document which isn't
// helpful for us so just check activeElement instead.
@@ -242,10 +205,7 @@ function getTargetInstForInputEventIE(topLevelType, targetInst) {
// keystroke if user does a key repeat (it'll be a little delayed: right
// before the second keystroke). Other input methods (e.g., paste) seem to
// fire selectionchange normally.
- if (activeElement && activeElement.value !== activeElementValue) {
- activeElementValue = activeElement.value;
- return activeElementInst;
- }
+ return getInstIfValueChanged(activeElementInst, nativeEvent);
}
}
@@ -256,12 +216,19 @@ function shouldUseClickEvent(elem) {
// Use the `click` event to detect changes to checkbox and radio inputs.
// This approach works across all browsers, whereas `change` does not fire
// until `blur` in IE8.
- return elem.nodeName && elem.nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');
+ var nodeName = elem.nodeName;
+ return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');
}
-function getTargetInstForClickEvent(topLevelType, targetInst) {
+function getTargetInstForClickEvent(topLevelType, targetInst, nativeEvent) {
if (topLevelType === 'topClick') {
- return targetInst;
+ return getInstIfValueChanged(targetInst, nativeEvent);
+ }
+}
+
+function getTargetInstForInputOrChangeEvent(topLevelType, targetInst, nativeEvent) {
+ if (topLevelType === 'topInput' || topLevelType === 'topChange') {
+ return getInstIfValueChanged(targetInst, nativeEvent);
}
}
@@ -296,9 +263,11 @@ function handleControlledInputBlur(inst, node) {
* - select
*/
var ChangeEventPlugin = {
-
eventTypes: eventTypes,
+ _allowSimulatedPassThrough: true,
+ _isInputEventSupported: isInputEventSupported,
+
extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;
@@ -311,21 +280,19 @@ var ChangeEventPlugin = {
}
} else if (isTextInputElement(targetNode)) {
if (isInputEventSupported) {
- getTargetInstFunc = getTargetInstForInputEvent;
+ getTargetInstFunc = getTargetInstForInputOrChangeEvent;
} else {
- getTargetInstFunc = getTargetInstForInputEventIE;
- handleEventFunc = handleEventsForInputEventIE;
+ getTargetInstFunc = getTargetInstForInputEventPolyfill;
+ handleEventFunc = handleEventsForInputEventPolyfill;
}
} else if (shouldUseClickEvent(targetNode)) {
getTargetInstFunc = getTargetInstForClickEvent;
}
if (getTargetInstFunc) {
- var inst = getTargetInstFunc(topLevelType, targetInst);
+ var inst = getTargetInstFunc(topLevelType, targetInst, nativeEvent);
if (inst) {
- var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, nativeEventTarget);
- event.type = 'change';
- EventPropagators.accumulateTwoPhaseDispatches(event);
+ var event = createAndAccumulateChangeEvent(inst, nativeEvent, nativeEventTarget);
return event;
}
}
@@ -339,7 +306,6 @@ var ChangeEventPlugin = {
handleControlledInputBlur(targetInst, targetNode);
}
}
-
};
module.exports = ChangeEventPlugin; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/DOMChildrenOperations.js b/node_modules/react-dom/lib/DOMChildrenOperations.js
index 905dc3ec0..ebbdc756b 100644
--- a/node_modules/react-dom/lib/DOMChildrenOperations.js
+++ b/node_modules/react-dom/lib/DOMChildrenOperations.js
@@ -145,7 +145,6 @@ if (process.env.NODE_ENV !== 'production') {
* Operations for updating with DOM children.
*/
var DOMChildrenOperations = {
-
dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup,
replaceDelimitedText: replaceDelimitedText,
@@ -171,7 +170,10 @@ var DOMChildrenOperations = {
ReactInstrumentation.debugTool.onHostOperation({
instanceID: parentNodeDebugID,
type: 'insert child',
- payload: { toIndex: update.toIndex, content: update.content.toString() }
+ payload: {
+ toIndex: update.toIndex,
+ content: update.content.toString()
+ }
});
}
break;
@@ -218,7 +220,6 @@ var DOMChildrenOperations = {
}
}
}
-
};
module.exports = DOMChildrenOperations; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/DOMProperty.js b/node_modules/react-dom/lib/DOMProperty.js
index 87f7e73cf..da76729eb 100644
--- a/node_modules/react-dom/lib/DOMProperty.js
+++ b/node_modules/react-dom/lib/DOMProperty.js
@@ -136,7 +136,6 @@ var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\
* @see http://jsperf.com/key-missing
*/
var DOMProperty = {
-
ID_ATTRIBUTE_NAME: 'data-reactid',
ROOT_ATTRIBUTE_NAME: 'data-reactroot',
diff --git a/node_modules/react-dom/lib/DOMPropertyOperations.js b/node_modules/react-dom/lib/DOMPropertyOperations.js
index 94b110930..12bad8169 100644
--- a/node_modules/react-dom/lib/DOMPropertyOperations.js
+++ b/node_modules/react-dom/lib/DOMPropertyOperations.js
@@ -45,7 +45,6 @@ function shouldIgnoreValue(propertyInfo, value) {
* Operations for dealing with DOM properties.
*/
var DOMPropertyOperations = {
-
/**
* Creates markup for the ID property.
*
@@ -230,7 +229,6 @@ var DOMPropertyOperations = {
});
}
}
-
};
module.exports = DOMPropertyOperations; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/Danger.js b/node_modules/react-dom/lib/Danger.js
index ce3e491ca..5e25bf2d0 100644
--- a/node_modules/react-dom/lib/Danger.js
+++ b/node_modules/react-dom/lib/Danger.js
@@ -20,7 +20,6 @@ var emptyFunction = require('fbjs/lib/emptyFunction');
var invariant = require('fbjs/lib/invariant');
var Danger = {
-
/**
* Replaces a node with a string of markup at its current position within its
* parent. The markup must render into a single root node.
@@ -41,7 +40,6 @@ var Danger = {
DOMLazyTree.replaceChildWithTree(oldChild, markup);
}
}
-
};
module.exports = Danger; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/EnterLeaveEventPlugin.js b/node_modules/react-dom/lib/EnterLeaveEventPlugin.js
index 9b07d08a6..891b5f548 100644
--- a/node_modules/react-dom/lib/EnterLeaveEventPlugin.js
+++ b/node_modules/react-dom/lib/EnterLeaveEventPlugin.js
@@ -26,7 +26,6 @@ var eventTypes = {
};
var EnterLeaveEventPlugin = {
-
eventTypes: eventTypes,
/**
@@ -93,7 +92,6 @@ var EnterLeaveEventPlugin = {
return [leave, enter];
}
-
};
module.exports = EnterLeaveEventPlugin; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/EventPluginHub.js b/node_modules/react-dom/lib/EventPluginHub.js
index ee95b1256..85ea4a501 100644
--- a/node_modules/react-dom/lib/EventPluginHub.js
+++ b/node_modules/react-dom/lib/EventPluginHub.js
@@ -105,12 +105,10 @@ function shouldPreventMouseEvent(name, type, props) {
* @public
*/
var EventPluginHub = {
-
/**
* Methods for injecting dependencies.
*/
injection: {
-
/**
* @param {array} InjectedEventPluginOrder
* @public
@@ -121,7 +119,6 @@ var EventPluginHub = {
* @param {object} injectedNamesToPlugins Map from names to plugin modules.
*/
injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName
-
},
/**
@@ -271,7 +268,6 @@ var EventPluginHub = {
__getListenerBank: function () {
return listenerBank;
}
-
};
module.exports = EventPluginHub; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/EventPluginRegistry.js b/node_modules/react-dom/lib/EventPluginRegistry.js
index 378ddd4b0..ddd3d9b98 100644
--- a/node_modules/react-dom/lib/EventPluginRegistry.js
+++ b/node_modules/react-dom/lib/EventPluginRegistry.js
@@ -108,7 +108,6 @@ function publishRegistrationName(registrationName, pluginModule, eventName) {
* @see {EventPluginHub}
*/
var EventPluginRegistry = {
-
/**
* Ordered list of injected plugins.
*/
@@ -248,7 +247,6 @@ var EventPluginRegistry = {
}
}
}
-
};
module.exports = EventPluginRegistry; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/LinkedValueUtils.js b/node_modules/react-dom/lib/LinkedValueUtils.js
index 8e4610f62..a1e61415f 100644
--- a/node_modules/react-dom/lib/LinkedValueUtils.js
+++ b/node_modules/react-dom/lib/LinkedValueUtils.js
@@ -22,13 +22,13 @@ var invariant = require('fbjs/lib/invariant');
var warning = require('fbjs/lib/warning');
var hasReadOnlyValue = {
- 'button': true,
- 'checkbox': true,
- 'image': true,
- 'hidden': true,
- 'radio': true,
- 'reset': true,
- 'submit': true
+ button: true,
+ checkbox: true,
+ image: true,
+ hidden: true,
+ radio: true,
+ reset: true,
+ submit: true
};
function _assertSingleLink(inputProps) {
diff --git a/node_modules/react-dom/lib/ReactBrowserEventEmitter.js b/node_modules/react-dom/lib/ReactBrowserEventEmitter.js
index 0b83bc025..ac2990c15 100644
--- a/node_modules/react-dom/lib/ReactBrowserEventEmitter.js
+++ b/node_modules/react-dom/lib/ReactBrowserEventEmitter.js
@@ -175,7 +175,6 @@ function getListeningForDocument(mountAt) {
* @internal
*/
var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {
-
/**
* Injectable event backend
*/
@@ -249,14 +248,12 @@ var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {
ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'DOMMouseScroll', mountAt);
}
} else if (dependency === 'topScroll') {
-
if (isEventSupported('scroll', true)) {
ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topScroll', 'scroll', mountAt);
} else {
ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topScroll', 'scroll', ReactBrowserEventEmitter.ReactEventListener.WINDOW_HANDLE);
}
} else if (dependency === 'topFocus' || dependency === 'topBlur') {
-
if (isEventSupported('focus', true)) {
ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topFocus', 'focus', mountAt);
ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topBlur', 'blur', mountAt);
@@ -321,7 +318,6 @@ var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {
isMonitoringScrollValue = true;
}
}
-
});
module.exports = ReactBrowserEventEmitter; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/ReactChildFiber.js b/node_modules/react-dom/lib/ReactChildFiber.js
index c78c63809..ed3bd96e1 100644
--- a/node_modules/react-dom/lib/ReactChildFiber.js
+++ b/node_modules/react-dom/lib/ReactChildFiber.js
@@ -30,7 +30,6 @@ var createReifiedYield = ReactReifiedYield.createReifiedYield;
var isArray = Array.isArray;
function ChildReconciler(shouldClone) {
-
function createSubsequentChild(returnFiber, existingChild, previousSibling, newChildren, priority) {
if (typeof newChildren !== 'object' || newChildren === null) {
return previousSibling;
diff --git a/node_modules/react-dom/lib/ReactChildReconciler.js b/node_modules/react-dom/lib/ReactChildReconciler.js
index cf37bd63b..e89f763d3 100644
--- a/node_modules/react-dom/lib/ReactChildReconciler.js
+++ b/node_modules/react-dom/lib/ReactChildReconciler.js
@@ -59,8 +59,8 @@ var ReactChildReconciler = {
* @return {?object} A set of child instances.
* @internal
*/
- instantiateChildren: function (nestedChildNodes, transaction, context, selfDebugID // 0 in production and for roots
- ) {
+ instantiateChildren: function (nestedChildNodes, transaction, context, selfDebugID) // 0 in production and for roots
+ {
if (nestedChildNodes == null) {
return null;
}
@@ -86,8 +86,8 @@ var ReactChildReconciler = {
* @return {?object} A new set of child instances.
* @internal
*/
- updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context, selfDebugID // 0 in production and for roots
- ) {
+ updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context, selfDebugID) // 0 in production and for roots
+ {
// We currently don't have a way to track moves here but if we use iterators
// instead of for..in we can zip the iterators and check if an item has
// moved.
@@ -147,7 +147,6 @@ var ReactChildReconciler = {
}
}
}
-
};
module.exports = ReactChildReconciler; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/ReactComponentBrowserEnvironment.js b/node_modules/react-dom/lib/ReactComponentBrowserEnvironment.js
index 0948c01d4..e35d5a869 100644
--- a/node_modules/react-dom/lib/ReactComponentBrowserEnvironment.js
+++ b/node_modules/react-dom/lib/ReactComponentBrowserEnvironment.js
@@ -19,11 +19,9 @@ var ReactDOMIDOperations = require('./ReactDOMIDOperations');
* need for this injection.
*/
var ReactComponentBrowserEnvironment = {
-
processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates,
replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup
-
};
module.exports = ReactComponentBrowserEnvironment; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/ReactComponentEnvironment.js b/node_modules/react-dom/lib/ReactComponentEnvironment.js
index 1521594aa..e3a1abd4d 100644
--- a/node_modules/react-dom/lib/ReactComponentEnvironment.js
+++ b/node_modules/react-dom/lib/ReactComponentEnvironment.js
@@ -18,7 +18,6 @@ var invariant = require('fbjs/lib/invariant');
var injected = false;
var ReactComponentEnvironment = {
-
/**
* Optionally injectable hook for swapping out mount images in the middle of
* the tree.
@@ -39,7 +38,6 @@ var ReactComponentEnvironment = {
injected = true;
}
}
-
};
module.exports = ReactComponentEnvironment; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/ReactCompositeComponent.js b/node_modules/react-dom/lib/ReactCompositeComponent.js
index 9f751b203..c80d8f561 100644
--- a/node_modules/react-dom/lib/ReactCompositeComponent.js
+++ b/node_modules/react-dom/lib/ReactCompositeComponent.js
@@ -117,7 +117,6 @@ var nextMountID = 1;
* @lends {ReactCompositeComponent.prototype}
*/
var ReactCompositeComponent = {
-
/**
* Base constructor for all composite component.
*
@@ -213,7 +212,7 @@ var ReactCompositeComponent = {
var propsMutated = inst.props !== publicProps;
var componentName = Component.displayName || Component.name || 'Component';
- process.env.NODE_ENV !== 'production' ? warning(inst.props === undefined || !propsMutated, '%s(...): When calling super() in `%s`, make sure to pass ' + 'up the same props that your component\'s constructor was passed.', componentName, componentName) : void 0;
+ process.env.NODE_ENV !== 'production' ? warning(inst.props === undefined || !propsMutated, '%s(...): When calling super() in `%s`, make sure to pass ' + "up the same props that your component's constructor was passed.", componentName, componentName) : void 0;
}
// These should be set up in the constructor, but as a convenience for
@@ -895,7 +894,6 @@ var ReactCompositeComponent = {
// Stub
_instantiateReactComponent: null
-
};
module.exports = ReactCompositeComponent; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/ReactDOM.js b/node_modules/react-dom/lib/ReactDOM.js
index 105cae143..22384bbb0 100644
--- a/node_modules/react-dom/lib/ReactDOM.js
+++ b/node_modules/react-dom/lib/ReactDOM.js
@@ -35,6 +35,7 @@ var ReactDOM = {
/* eslint-disable camelcase */
unstable_batchedUpdates: ReactUpdates.batchedUpdates,
unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer
+ /* eslint-enable camelcase */
};
// Inject the runtime into a devtools global hook regardless of browser.
@@ -63,7 +64,6 @@ if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVT
if (process.env.NODE_ENV !== 'production') {
var ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');
if (ExecutionEnvironment.canUseDOM && window.top === window.self) {
-
// First check if devtools is not installed
if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {
// If we're in Chrome or Firefox, provide a download link if not installed.
@@ -75,7 +75,7 @@ if (process.env.NODE_ENV !== 'production') {
}
var testFunc = function testFn() {};
- process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, 'It looks like you\'re using a minified copy of the development build ' + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0;
+ process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, "It looks like you're using a minified copy of the development build " + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0;
// If we're in IE8, check to see if we are in compatibility mode and provide
// information on preventing compatibility mode
diff --git a/node_modules/react-dom/lib/ReactDOMComponent.js b/node_modules/react-dom/lib/ReactDOMComponent.js
index 725918ca6..7306071f6 100644
--- a/node_modules/react-dom/lib/ReactDOMComponent.js
+++ b/node_modules/react-dom/lib/ReactDOMComponent.js
@@ -39,6 +39,7 @@ var escapeTextContentForBrowser = require('./escapeTextContentForBrowser');
var invariant = require('fbjs/lib/invariant');
var isEventSupported = require('./isEventSupported');
var shallowEqual = require('fbjs/lib/shallowEqual');
+var inputValueTracking = require('./inputValueTracking');
var validateDOMNesting = require('./validateDOMNesting');
var warning = require('fbjs/lib/warning');
@@ -49,7 +50,7 @@ var listenTo = ReactBrowserEventEmitter.listenTo;
var registrationNameModules = EventPluginRegistry.registrationNameModules;
// For quickly matching children type, to test if can be treated as content.
-var CONTENT_TYPES = { 'string': true, 'number': true };
+var CONTENT_TYPES = { string: true, number: true };
var STYLE = 'style';
var HTML = '__html';
@@ -158,7 +159,7 @@ function enqueuePutListener(inst, registrationName, listener, transaction) {
if (process.env.NODE_ENV !== 'production') {
// IE8 has no API for event capturing and the `onScroll` event doesn't
// bubble.
- process.env.NODE_ENV !== 'production' ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), 'This browser doesn\'t support the `onScroll` event') : void 0;
+ process.env.NODE_ENV !== 'production' ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), "This browser doesn't support the `onScroll` event") : void 0;
}
var containerInfo = inst._hostContainerInfo;
var isDocumentFragment = containerInfo._node && containerInfo._node.nodeType === DOC_FRAGMENT_TYPE;
@@ -248,6 +249,10 @@ var mediaEvents = {
topWaiting: 'waiting'
};
+function trackInputValue() {
+ inputValueTracking.track(this);
+}
+
function trapBubbledEventsLocal() {
var inst = this;
// If a component renders to null or if another component fatals and causes
@@ -263,7 +268,6 @@ function trapBubbledEventsLocal() {
break;
case 'video':
case 'audio':
-
inst._wrapperState.listeners = [];
// Create listener for each media event
for (var event in mediaEvents) {
@@ -297,34 +301,35 @@ function postUpdateSelectWrapper() {
// those special-case tags.
var omittedCloseTags = {
- 'area': true,
- 'base': true,
- 'br': true,
- 'col': true,
- 'embed': true,
- 'hr': true,
- 'img': true,
- 'input': true,
- 'keygen': true,
- 'link': true,
- 'meta': true,
- 'param': true,
- 'source': true,
- 'track': true,
- 'wbr': true
+ area: true,
+ base: true,
+ br: true,
+ col: true,
+ embed: true,
+ hr: true,
+ img: true,
+ input: true,
+ keygen: true,
+ link: true,
+ meta: true,
+ param: true,
+ source: true,
+ track: true,
+ wbr: true
+ // NOTE: menuitem's close tag should be omitted, but that causes problems.
};
var newlineEatingTags = {
- 'listing': true,
- 'pre': true,
- 'textarea': true
+ listing: true,
+ pre: true,
+ textarea: true
};
// For HTML, certain tags cannot have children. This has the same purpose as
// `omittedCloseTags` except that `menuitem` should still have its closing tag.
var voidElementTags = _assign({
- 'menuitem': true
+ menuitem: true
}, omittedCloseTags);
// We accept any tag to be rendered but since this gets injected into arbitrary
@@ -388,7 +393,6 @@ function ReactDOMComponent(element) {
ReactDOMComponent.displayName = 'ReactDOMComponent';
ReactDOMComponent.Mixin = {
-
/**
* Generates root tag markup then recurses. This method has side effects and
* is not idempotent.
@@ -425,6 +429,7 @@ ReactDOMComponent.Mixin = {
case 'input':
ReactDOMInput.mountWrapper(this, props, hostParent);
props = ReactDOMInput.getHostProps(this, props);
+ transaction.getReactMountReady().enqueue(trackInputValue, this);
transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);
break;
case 'option':
@@ -439,6 +444,7 @@ ReactDOMComponent.Mixin = {
case 'textarea':
ReactDOMTextarea.mountWrapper(this, props, hostParent);
props = ReactDOMTextarea.getHostProps(this, props);
+ transaction.getReactMountReady().enqueue(trackInputValue, this);
transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);
break;
}
@@ -964,6 +970,10 @@ ReactDOMComponent.Mixin = {
}
}
break;
+ case 'input':
+ case 'textarea':
+ inputValueTracking.stopTracking(this);
+ break;
case 'html':
case 'head':
case 'body':
@@ -992,7 +1002,6 @@ ReactDOMComponent.Mixin = {
getPublicInstance: function () {
return getNode(this);
}
-
};
_assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin);
diff --git a/node_modules/react-dom/lib/ReactDOMFiber.js b/node_modules/react-dom/lib/ReactDOMFiber.js
index ac9a2180a..8188b18c8 100644
--- a/node_modules/react-dom/lib/ReactDOMFiber.js
+++ b/node_modules/react-dom/lib/ReactDOMFiber.js
@@ -63,7 +63,6 @@ var DOMRenderer = ReactFiberReconciler({
scheduleAnimationCallback: window.requestAnimationFrame,
scheduleDeferredCallback: window.requestIdleCallback
-
});
var warned = false;
diff --git a/node_modules/react-dom/lib/ReactDOMIDOperations.js b/node_modules/react-dom/lib/ReactDOMIDOperations.js
index 11c615984..f30f1bbc4 100644
--- a/node_modules/react-dom/lib/ReactDOMIDOperations.js
+++ b/node_modules/react-dom/lib/ReactDOMIDOperations.js
@@ -17,7 +17,6 @@ var ReactDOMComponentTree = require('./ReactDOMComponentTree');
* Operations used to process updates to DOM nodes.
*/
var ReactDOMIDOperations = {
-
/**
* Updates a component's children by processing a series of updates.
*
diff --git a/node_modules/react-dom/lib/ReactDOMInput.js b/node_modules/react-dom/lib/ReactDOMInput.js
index 4b5697f33..40a9a4259 100644
--- a/node_modules/react-dom/lib/ReactDOMInput.js
+++ b/node_modules/react-dom/lib/ReactDOMInput.js
@@ -150,14 +150,16 @@ var ReactDOMInput = {
// Simulate `input.valueAsNumber`. IE9 does not support it
var valueAsNumber = parseFloat(node.value, 10) || 0;
+ if (
// eslint-disable-next-line
- if (value != valueAsNumber) {
+ value != valueAsNumber ||
+ // eslint-disable-next-line
+ value == valueAsNumber && node.value != value) {
// Cast `value` to a string to ensure the value is set correctly. While
// browsers typically do this as necessary, jsdom doesn't.
node.value = '' + value;
}
- // eslint-disable-next-line
- } else if (value != node.value) {
+ } else if (node.value !== '' + value) {
// Cast `value` to a string to ensure the value is set correctly. While
// browsers typically do this as necessary, jsdom doesn't.
node.value = '' + value;
diff --git a/node_modules/react-dom/lib/ReactDOMOption.js b/node_modules/react-dom/lib/ReactDOMOption.js
index 4846e9d51..44777d6b7 100644
--- a/node_modules/react-dom/lib/ReactDOMOption.js
+++ b/node_modules/react-dom/lib/ReactDOMOption.js
@@ -116,7 +116,6 @@ var ReactDOMOption = {
return hostProps;
}
-
};
module.exports = ReactDOMOption; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/ReactDOMTextComponent.js b/node_modules/react-dom/lib/ReactDOMTextComponent.js
index 73b4026f3..c1f149240 100644
--- a/node_modules/react-dom/lib/ReactDOMTextComponent.js
+++ b/node_modules/react-dom/lib/ReactDOMTextComponent.js
@@ -52,7 +52,6 @@ var ReactDOMTextComponent = function (text) {
};
_assign(ReactDOMTextComponent.prototype, {
-
/**
* Creates the markup for this text node. This node is not intended to have
* any features besides containing text content.
@@ -157,7 +156,6 @@ _assign(ReactDOMTextComponent.prototype, {
this._commentNodes = null;
ReactDOMComponentTree.uncacheNode(this);
}
-
});
module.exports = ReactDOMTextComponent; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/ReactDebugTool.js b/node_modules/react-dom/lib/ReactDebugTool.js
index 9ec0d20cd..4df393017 100644
--- a/node_modules/react-dom/lib/ReactDebugTool.js
+++ b/node_modules/react-dom/lib/ReactDebugTool.js
@@ -226,7 +226,9 @@ function markEnd(debugID, markType) {
}
performance.clearMarks(markName);
- performance.clearMeasures(measurementName);
+ if (measurementName) {
+ performance.clearMeasures(measurementName);
+ }
}
var ReactDebugTool = {
diff --git a/node_modules/react-dom/lib/ReactEventEmitterMixin.js b/node_modules/react-dom/lib/ReactEventEmitterMixin.js
index fc9c0cd53..74d5b8a13 100644
--- a/node_modules/react-dom/lib/ReactEventEmitterMixin.js
+++ b/node_modules/react-dom/lib/ReactEventEmitterMixin.js
@@ -18,7 +18,6 @@ function runEventQueueInBatch(events) {
}
var ReactEventEmitterMixin = {
-
/**
* Streams a fired top-level event to `EventPluginHub` where plugins have the
* opportunity to create `ReactEvent`s to be dispatched.
diff --git a/node_modules/react-dom/lib/ReactFiber.js b/node_modules/react-dom/lib/ReactFiber.js
index 07737ecc4..2774a2dc4 100644
--- a/node_modules/react-dom/lib/ReactFiber.js
+++ b/node_modules/react-dom/lib/ReactFiber.js
@@ -47,7 +47,6 @@ var _require = require('./ReactPriorityLevel'),
// compatible.
var createFiber = function (tag, key) {
return {
-
// Instance
tag: tag,
@@ -83,7 +82,6 @@ var createFiber = function (tag, key) {
progressedChild: null,
alternate: null
-
};
};
diff --git a/node_modules/react-dom/lib/ReactFiberBeginWork.js b/node_modules/react-dom/lib/ReactFiberBeginWork.js
index baa1197a6..d87b6f0a7 100644
--- a/node_modules/react-dom/lib/ReactFiberBeginWork.js
+++ b/node_modules/react-dom/lib/ReactFiberBeginWork.js
@@ -42,7 +42,6 @@ var _require4 = require('./ReactFiberUpdateQueue'),
var ReactInstanceMap = require('./ReactInstanceMap');
module.exports = function (config, getScheduler) {
-
function markChildAsProgressed(current, workInProgress, priorityLevel) {
// We now have clones. Let's store them as the currently progressed work.
workInProgress.progressedChild = workInProgress.child;
diff --git a/node_modules/react-dom/lib/ReactFiberCommitWork.js b/node_modules/react-dom/lib/ReactFiberCommitWork.js
index 7e5132f3c..bdf063c8f 100644
--- a/node_modules/react-dom/lib/ReactFiberCommitWork.js
+++ b/node_modules/react-dom/lib/ReactFiberCommitWork.js
@@ -20,7 +20,6 @@ var _require = require('./ReactFiberUpdateQueue'),
callCallbacks = _require.callCallbacks;
module.exports = function (config) {
-
var updateContainer = config.updateContainer;
var commitUpdate = config.commitUpdate;
diff --git a/node_modules/react-dom/lib/ReactFiberCompleteWork.js b/node_modules/react-dom/lib/ReactFiberCompleteWork.js
index a6836755a..74f7fc764 100644
--- a/node_modules/react-dom/lib/ReactFiberCompleteWork.js
+++ b/node_modules/react-dom/lib/ReactFiberCompleteWork.js
@@ -26,7 +26,6 @@ var IndeterminateComponent = ReactTypeOfWork.IndeterminateComponent,
module.exports = function (config) {
-
var createInstance = config.createInstance;
var prepareUpdate = config.prepareUpdate;
@@ -193,7 +192,6 @@ module.exports = function (config) {
case YieldComponent:
// Does nothing.
return null;
-
// Error cases
case IndeterminateComponent:
throw new Error('An indeterminate component should have become determinate before completing.');
diff --git a/node_modules/react-dom/lib/ReactInputSelection.js b/node_modules/react-dom/lib/ReactInputSelection.js
index 91308646f..fec1c74fc 100644
--- a/node_modules/react-dom/lib/ReactInputSelection.js
+++ b/node_modules/react-dom/lib/ReactInputSelection.js
@@ -27,7 +27,6 @@ function isInDocument(node) {
* Input selection module for React.
*/
var ReactInputSelection = {
-
hasSelectionCapabilities: function (elem) {
var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
return nodeName && (nodeName === 'input' && elem.type === 'text' || nodeName === 'textarea' || elem.contentEditable === 'true');
diff --git a/node_modules/react-dom/lib/ReactInstanceMap.js b/node_modules/react-dom/lib/ReactInstanceMap.js
index 6303bb51e..ae0a7f6a8 100644
--- a/node_modules/react-dom/lib/ReactInstanceMap.js
+++ b/node_modules/react-dom/lib/ReactInstanceMap.js
@@ -20,7 +20,6 @@
// TODO: Replace this with ES6: var ReactInstanceMap = new Map();
var ReactInstanceMap = {
-
/**
* This API should be called `delete` but we'd have to make sure to always
* transform these to strings for IE support. When this transform is fully
@@ -41,7 +40,6 @@ var ReactInstanceMap = {
set: function (key, value) {
key._reactInternalInstance = value;
}
-
};
module.exports = ReactInstanceMap; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/ReactMount.js b/node_modules/react-dom/lib/ReactMount.js
index bb7d5bf81..b0f7ceb99 100644
--- a/node_modules/react-dom/lib/ReactMount.js
+++ b/node_modules/react-dom/lib/ReactMount.js
@@ -256,7 +256,6 @@ TopLevelWrapper.isReactTopLevelWrapper = true;
* Inside of `container`, the first element rendered is the "reactRoot".
*/
var ReactMount = {
-
TopLevelWrapper: TopLevelWrapper,
/**
@@ -345,13 +344,14 @@ var ReactMount = {
_renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {
ReactUpdateQueue.validateCallback(callback, 'ReactDOM.render');
- !React.isValidElement(nextElement) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOM.render(): Invalid component element.%s', typeof nextElement === 'string' ? ' Instead of passing a string like \'div\', pass ' + 'React.createElement(\'div\') or <div />.' : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' :
- // Check if it quacks like an element
- nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : _prodInvariant('39', typeof nextElement === 'string' ? ' Instead of passing a string like \'div\', pass ' + 'React.createElement(\'div\') or <div />.' : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' : nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : void 0;
+ !React.isValidElement(nextElement) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOM.render(): Invalid component element.%s', typeof nextElement === 'string' ? " Instead of passing a string like 'div', pass " + "React.createElement('div') or <div />." : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' : // Check if it quacks like an element
+ nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : _prodInvariant('39', typeof nextElement === 'string' ? " Instead of passing a string like 'div', pass " + "React.createElement('div') or <div />." : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' : nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : void 0;
process.env.NODE_ENV !== 'production' ? warning(!container || !container.tagName || container.tagName.toUpperCase() !== 'BODY', 'render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.') : void 0;
- var nextWrappedElement = React.createElement(TopLevelWrapper, { child: nextElement });
+ var nextWrappedElement = React.createElement(TopLevelWrapper, {
+ child: nextElement
+ });
var nextContext;
if (parentComponent) {
@@ -440,7 +440,7 @@ var ReactMount = {
!isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'unmountComponentAtNode(...): Target container is not a DOM element.') : _prodInvariant('40') : void 0;
if (process.env.NODE_ENV !== 'production') {
- process.env.NODE_ENV !== 'production' ? warning(!nodeIsRenderedByOtherInstance(container), 'unmountComponentAtNode(): The node you\'re attempting to unmount ' + 'was rendered by another copy of React.') : void 0;
+ process.env.NODE_ENV !== 'production' ? warning(!nodeIsRenderedByOtherInstance(container), "unmountComponentAtNode(): The node you're attempting to unmount " + 'was rendered by another copy of React.') : void 0;
}
var prevComponent = getTopLevelWrapperInContainer(container);
@@ -453,7 +453,7 @@ var ReactMount = {
var isContainerReactRoot = container.nodeType === 1 && container.hasAttribute(ROOT_ATTR_NAME);
if (process.env.NODE_ENV !== 'production') {
- process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, 'unmountComponentAtNode(): The node you\'re attempting to unmount ' + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.') : void 0;
+ process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, "unmountComponentAtNode(): The node you're attempting to unmount " + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.') : void 0;
}
return false;
diff --git a/node_modules/react-dom/lib/ReactMultiChild.js b/node_modules/react-dom/lib/ReactMultiChild.js
index e52005ff2..66b07e388 100644
--- a/node_modules/react-dom/lib/ReactMultiChild.js
+++ b/node_modules/react-dom/lib/ReactMultiChild.js
@@ -168,7 +168,6 @@ if (process.env.NODE_ENV !== 'production') {
* @internal
*/
var ReactMultiChild = {
-
/**
* Provides common functionality for components that must reconcile multiple
* children. This is used by `ReactDOMComponent` to mount, update, and
@@ -177,7 +176,6 @@ var ReactMultiChild = {
* @lends {ReactMultiChild.prototype}
*/
Mixin: {
-
_reconcilerInstantiateChildren: function (nestedChildren, transaction, context) {
if (process.env.NODE_ENV !== 'production') {
var selfDebugID = getDebugID(this);
@@ -441,9 +439,7 @@ var ReactMultiChild = {
child._mountIndex = null;
return update;
}
-
}
-
};
module.exports = ReactMultiChild; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/ReactOwner.js b/node_modules/react-dom/lib/ReactOwner.js
index 6a6fbb922..4c81d3898 100644
--- a/node_modules/react-dom/lib/ReactOwner.js
+++ b/node_modules/react-dom/lib/ReactOwner.js
@@ -87,7 +87,6 @@ var ReactOwner = {
owner.detachRef(ref);
}
}
-
};
module.exports = ReactOwner; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/ReactPerf.js b/node_modules/react-dom/lib/ReactPerf.js
index a7e1201bc..891b9dc81 100644
--- a/node_modules/react-dom/lib/ReactPerf.js
+++ b/node_modules/react-dom/lib/ReactPerf.js
@@ -16,7 +16,7 @@ var _assign = require('object-assign');
var _extends = _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 ReactDebugTool = require('./ReactDebugTool');
-var warning = require('fbjs/lib/warning');
+var lowPriorityWarning = require('./lowPriorityWarning');
var alreadyWarned = false;
function roundFloat(val) {
@@ -360,7 +360,7 @@ function printExclusive(flushHistory) {
var renderCount = item.counts.render || 0;
var renderDuration = item.durations.render || 0;
return {
- 'Component': key,
+ Component: key,
'Total time (ms)': roundFloat(totalDuration),
'Instance count': instanceCount,
'Total render time (ms)': roundFloat(renderDuration),
@@ -428,8 +428,8 @@ function printOperations(flushHistory) {
var table = stats.map(function (stat) {
return {
'Owner > Node': stat.key,
- 'Operation': stat.type,
- 'Payload': typeof stat.payload === 'object' ? JSON.stringify(stat.payload) : stat.payload,
+ Operation: stat.type,
+ Payload: typeof stat.payload === 'object' ? JSON.stringify(stat.payload) : stat.payload,
'Flush index': stat.flushIndex,
'Owner Component ID': stat.ownerID,
'DOM Component ID': stat.instanceID
@@ -440,14 +440,14 @@ function printOperations(flushHistory) {
var warnedAboutPrintDOM = false;
function printDOM(measurements) {
- process.env.NODE_ENV !== 'production' ? warning(warnedAboutPrintDOM, '`ReactPerf.printDOM(...)` is deprecated. Use ' + '`ReactPerf.printOperations(...)` instead.') : void 0;
+ lowPriorityWarning(warnedAboutPrintDOM, '`ReactPerf.printDOM(...)` is deprecated. Use ' + '`ReactPerf.printOperations(...)` instead.');
warnedAboutPrintDOM = true;
return printOperations(measurements);
}
var warnedAboutGetMeasurementsSummaryMap = false;
function getMeasurementsSummaryMap(measurements) {
- process.env.NODE_ENV !== 'production' ? warning(warnedAboutGetMeasurementsSummaryMap, '`ReactPerf.getMeasurementsSummaryMap(...)` is deprecated. Use ' + '`ReactPerf.getWasted(...)` instead.') : void 0;
+ lowPriorityWarning(warnedAboutGetMeasurementsSummaryMap, '`ReactPerf.getMeasurementsSummaryMap(...)` is deprecated. Use ' + '`ReactPerf.getWasted(...)` instead.');
warnedAboutGetMeasurementsSummaryMap = true;
return getWasted(measurements);
}
diff --git a/node_modules/react-dom/lib/ReactPriorityLevel.js b/node_modules/react-dom/lib/ReactPriorityLevel.js
index e84ba8920..fc524e65a 100644
--- a/node_modules/react-dom/lib/ReactPriorityLevel.js
+++ b/node_modules/react-dom/lib/ReactPriorityLevel.js
@@ -17,4 +17,5 @@ module.exports = {
AnimationPriority: 2, // Needs to complete before the next frame.
HighPriority: 3, // Interaction that needs to complete pretty soon to feel responsive.
LowPriority: 4, // Data fetching, or result from updating stores.
- OffscreenPriority: 5 }; \ No newline at end of file
+ OffscreenPriority: 5 // Won't be visible but do the work in case it becomes visible.
+}; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/ReactReconciler.js b/node_modules/react-dom/lib/ReactReconciler.js
index 7b3cdfdc4..23e54a020 100644
--- a/node_modules/react-dom/lib/ReactReconciler.js
+++ b/node_modules/react-dom/lib/ReactReconciler.js
@@ -24,7 +24,6 @@ function attachRefs() {
}
var ReactReconciler = {
-
/**
* Initializes the component, renders markup, and registers event listeners.
*
@@ -36,8 +35,8 @@ var ReactReconciler = {
* @final
* @internal
*/
- mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID // 0 in production and for roots
- ) {
+ mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID) // 0 in production and for roots
+ {
if (process.env.NODE_ENV !== 'production') {
if (internalInstance._debugID !== 0) {
ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement, parentDebugID);
@@ -161,7 +160,6 @@ var ReactReconciler = {
}
}
}
-
};
module.exports = ReactReconciler; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/ReactSimpleEmptyComponent.js b/node_modules/react-dom/lib/ReactSimpleEmptyComponent.js
index d3c04efb8..74f293320 100644
--- a/node_modules/react-dom/lib/ReactSimpleEmptyComponent.js
+++ b/node_modules/react-dom/lib/ReactSimpleEmptyComponent.js
@@ -19,8 +19,8 @@ var ReactSimpleEmptyComponent = function (placeholderElement, instantiate) {
this._renderedComponent = instantiate(placeholderElement);
};
_assign(ReactSimpleEmptyComponent.prototype, {
- mountComponent: function (transaction, hostParent, hostContainerInfo, context, parentDebugID // 0 in production and for roots
- ) {
+ mountComponent: function (transaction, hostParent, hostContainerInfo, context, parentDebugID) // 0 in production and for roots
+ {
return ReactReconciler.mountComponent(this._renderedComponent, transaction, hostParent, hostContainerInfo, context, parentDebugID);
},
receiveComponent: function () {},
diff --git a/node_modules/react-dom/lib/ReactTestUtils.js b/node_modules/react-dom/lib/ReactTestUtils.js
index 340eb627e..79fb36444 100644
--- a/node_modules/react-dom/lib/ReactTestUtils.js
+++ b/node_modules/react-dom/lib/ReactTestUtils.js
@@ -281,6 +281,7 @@ var ReactTestUtils = {
*/
simulateNativeEventOnNode: function (topLevelType, node, fakeNativeEvent) {
fakeNativeEvent.target = node;
+ fakeNativeEvent.simulated = true;
ReactBrowserEventEmitter.ReactEventListener.dispatchEvent(topLevelType, fakeNativeEvent);
},
diff --git a/node_modules/react-dom/lib/ReactUpdateQueue.js b/node_modules/react-dom/lib/ReactUpdateQueue.js
index 96b42fb5b..f1fda7c8d 100644
--- a/node_modules/react-dom/lib/ReactUpdateQueue.js
+++ b/node_modules/react-dom/lib/ReactUpdateQueue.js
@@ -51,7 +51,7 @@ function getInternalInstanceReadyForUpdate(publicInstance, callerName) {
}
if (process.env.NODE_ENV !== 'production') {
- process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '%s(...): Cannot update during an existing state transition (such as ' + 'within `render` or another component\'s constructor). Render methods ' + 'should be a pure function of props and state; constructor ' + 'side-effects are an anti-pattern, but can be moved to ' + '`componentWillMount`.', callerName) : void 0;
+ process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '%s(...): Cannot update during an existing state transition (such as ' + "within `render` or another component's constructor). Render methods " + 'should be a pure function of props and state; constructor ' + 'side-effects are an anti-pattern, but can be moved to ' + '`componentWillMount`.', callerName) : void 0;
}
return internalInstance;
@@ -62,7 +62,6 @@ function getInternalInstanceReadyForUpdate(publicInstance, callerName) {
* reconciliation step.
*/
var ReactUpdateQueue = {
-
/**
* Checks whether or not this composite component is mounted.
* @param {ReactClass} publicInstance The instance we want to test.
@@ -229,7 +228,6 @@ var ReactUpdateQueue = {
validateCallback: function (callback, callerName) {
!(!callback || typeof callback === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.', callerName, formatUnexpectedArgument(callback)) : _prodInvariant('122', callerName, formatUnexpectedArgument(callback)) : void 0;
}
-
};
module.exports = ReactUpdateQueue; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/ReactVersion.js b/node_modules/react-dom/lib/ReactVersion.js
index 077806963..3ea2eb058 100644
--- a/node_modules/react-dom/lib/ReactVersion.js
+++ b/node_modules/react-dom/lib/ReactVersion.js
@@ -10,4 +10,4 @@
'use strict';
-module.exports = '15.5.4'; \ No newline at end of file
+module.exports = '15.6.1'; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/ResponderEventPlugin.js b/node_modules/react-dom/lib/ResponderEventPlugin.js
index d2b9befcd..dc35ded47 100644
--- a/node_modules/react-dom/lib/ResponderEventPlugin.js
+++ b/node_modules/react-dom/lib/ResponderEventPlugin.js
@@ -340,7 +340,6 @@ function setResponderAndExtractTransfer(topLevelType, targetInst, nativeEvent, n
EventPropagators.accumulateDirectDispatches(grantEvent);
var blockHostResponder = executeDirectDispatch(grantEvent) === true;
if (responderInst) {
-
var terminationRequestEvent = ResponderSyntheticEvent.getPooled(eventTypes.responderTerminationRequest, responderInst, nativeEvent, nativeEventTarget);
terminationRequestEvent.touchHistory = ResponderTouchHistoryStore.touchHistory;
EventPropagators.accumulateDirectDispatches(terminationRequestEvent);
@@ -411,7 +410,6 @@ function noResponderTouches(nativeEvent) {
}
var ResponderEventPlugin = {
-
/* For unit testing only */
_getResponderID: function () {
return responderInst ? responderInst._rootNodeID : null;
diff --git a/node_modules/react-dom/lib/SelectEventPlugin.js b/node_modules/react-dom/lib/SelectEventPlugin.js
index 0d0af2110..28b820e46 100644
--- a/node_modules/react-dom/lib/SelectEventPlugin.js
+++ b/node_modules/react-dom/lib/SelectEventPlugin.js
@@ -123,7 +123,6 @@ function constructSelectEvent(nativeEvent, nativeEventTarget) {
* - Fires after user input.
*/
var SelectEventPlugin = {
-
eventTypes: eventTypes,
extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
@@ -147,7 +146,6 @@ var SelectEventPlugin = {
activeElementInst = null;
lastSelection = null;
break;
-
// Don't fire the event while the user is dragging. This matches the
// semantics of the native select event.
case 'topMouseDown':
@@ -157,7 +155,6 @@ var SelectEventPlugin = {
case 'topMouseUp':
mouseDown = false;
return constructSelectEvent(nativeEvent, nativeEventTarget);
-
// Chrome and IE fire non-standard event when selection is changed (and
// sometimes when it hasn't). IE's event fires out of order with respect
// to key and input events on deletion, so we discard it.
diff --git a/node_modules/react-dom/lib/SimpleEventPlugin.js b/node_modules/react-dom/lib/SimpleEventPlugin.js
index 600beed77..f2673cb72 100644
--- a/node_modules/react-dom/lib/SimpleEventPlugin.js
+++ b/node_modules/react-dom/lib/SimpleEventPlugin.js
@@ -81,7 +81,6 @@ function isInteractive(tag) {
}
var SimpleEventPlugin = {
-
eventTypes: eventTypes,
extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
@@ -221,7 +220,6 @@ var SimpleEventPlugin = {
delete onClickListeners[key];
}
}
-
};
module.exports = SimpleEventPlugin; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/SyntheticEvent.js b/node_modules/react-dom/lib/SyntheticEvent.js
index 6b745cccc..61d869bb1 100644
--- a/node_modules/react-dom/lib/SyntheticEvent.js
+++ b/node_modules/react-dom/lib/SyntheticEvent.js
@@ -102,7 +102,6 @@ function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarg
}
_assign(SyntheticEvent.prototype, {
-
preventDefault: function () {
this.defaultPrevented = true;
var event = this.nativeEvent;
@@ -112,8 +111,8 @@ _assign(SyntheticEvent.prototype, {
if (event.preventDefault) {
event.preventDefault();
+ // eslint-disable-next-line valid-typeof
} else if (typeof event.returnValue !== 'unknown') {
- // eslint-disable-line valid-typeof
event.returnValue = false;
}
this.isDefaultPrevented = emptyFunction.thatReturnsTrue;
@@ -127,8 +126,8 @@ _assign(SyntheticEvent.prototype, {
if (event.stopPropagation) {
event.stopPropagation();
+ // eslint-disable-next-line valid-typeof
} else if (typeof event.cancelBubble !== 'unknown') {
- // eslint-disable-line valid-typeof
// The ChangeEventPlugin registers a "propertychange" event for
// IE. This event does not support bubbling or cancelling, and
// any references to cancelBubble throw "Member not found". A
@@ -177,7 +176,6 @@ _assign(SyntheticEvent.prototype, {
Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', emptyFunction));
}
}
-
});
SyntheticEvent.Interface = EventInterface;
@@ -193,7 +191,7 @@ if (process.env.NODE_ENV !== 'production') {
return new Proxy(constructor.apply(that, args), {
set: function (target, prop, value) {
if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) {
- process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), 'This synthetic event is reused for performance reasons. If you\'re ' + 'seeing this, you\'re adding a new property in the synthetic event object. ' + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0;
+ process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), "This synthetic event is reused for performance reasons. If you're " + "seeing this, you're adding a new property in the synthetic event object. " + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0;
didWarnForAddedNewProperty = true;
}
target[prop] = value;
@@ -262,6 +260,6 @@ function getPooledWarningPropertyDefinition(propName, getVal) {
function warn(action, result) {
var warningCondition = false;
- process.env.NODE_ENV !== 'production' ? warning(warningCondition, 'This synthetic event is reused for performance reasons. If you\'re seeing this, ' + 'you\'re %s `%s` on a released/nullified synthetic event. %s. ' + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0;
+ process.env.NODE_ENV !== 'production' ? warning(warningCondition, "This synthetic event is reused for performance reasons. If you're seeing this, " + "you're %s `%s` on a released/nullified synthetic event. %s. " + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0;
}
} \ No newline at end of file
diff --git a/node_modules/react-dom/lib/SyntheticWheelEvent.js b/node_modules/react-dom/lib/SyntheticWheelEvent.js
index e3ac8f9fa..2ef895075 100644
--- a/node_modules/react-dom/lib/SyntheticWheelEvent.js
+++ b/node_modules/react-dom/lib/SyntheticWheelEvent.js
@@ -18,15 +18,12 @@ var SyntheticMouseEvent = require('./SyntheticMouseEvent');
*/
var WheelEventInterface = {
deltaX: function (event) {
- return 'deltaX' in event ? event.deltaX :
- // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).
+ return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).
'wheelDeltaX' in event ? -event.wheelDeltaX : 0;
},
deltaY: function (event) {
- return 'deltaY' in event ? event.deltaY :
- // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).
- 'wheelDeltaY' in event ? -event.wheelDeltaY :
- // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).
+ return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).
+ 'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).
'wheelDelta' in event ? -event.wheelDelta : 0;
},
deltaZ: null,
diff --git a/node_modules/react-dom/lib/TapEventPlugin.js b/node_modules/react-dom/lib/TapEventPlugin.js
index 463fe9851..ec1606877 100644
--- a/node_modules/react-dom/lib/TapEventPlugin.js
+++ b/node_modules/react-dom/lib/TapEventPlugin.js
@@ -74,7 +74,6 @@ var usedTouchTime = 0;
var TOUCH_DELAY = 1000;
var TapEventPlugin = {
-
tapMoveThreshold: tapMoveThreshold,
eventTypes: eventTypes,
@@ -109,7 +108,6 @@ var TapEventPlugin = {
EventPropagators.accumulateTwoPhaseDispatches(event);
return event;
}
-
};
module.exports = TapEventPlugin; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/Transaction.js b/node_modules/react-dom/lib/Transaction.js
index 565e55a0a..f329dbb42 100644
--- a/node_modules/react-dom/lib/Transaction.js
+++ b/node_modules/react-dom/lib/Transaction.js
@@ -108,6 +108,8 @@ var TransactionImpl = {
return !!this._isInTransaction;
},
+ /* eslint-disable space-before-function-paren */
+
/**
* Executes the function within a safety window. Use this for the top level
* methods that result in large amounts of computation/mutations that would
@@ -126,6 +128,7 @@ var TransactionImpl = {
* @return {*} Return value from `method`.
*/
perform: function (method, scope, a, b, c, d, e, f) {
+ /* eslint-enable space-before-function-paren */
!!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction.') : _prodInvariant('27') : void 0;
var errorThrown;
var ret;
diff --git a/node_modules/react-dom/lib/ViewportMetrics.js b/node_modules/react-dom/lib/ViewportMetrics.js
index cfc945ae5..4c2a2372d 100644
--- a/node_modules/react-dom/lib/ViewportMetrics.js
+++ b/node_modules/react-dom/lib/ViewportMetrics.js
@@ -11,7 +11,6 @@
'use strict';
var ViewportMetrics = {
-
currentScrollLeft: 0,
currentScrollTop: 0,
@@ -20,7 +19,6 @@ var ViewportMetrics = {
ViewportMetrics.currentScrollLeft = scrollPosition.x;
ViewportMetrics.currentScrollTop = scrollPosition.y;
}
-
};
module.exports = ViewportMetrics; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/dangerousStyleValue.js b/node_modules/react-dom/lib/dangerousStyleValue.js
index 6996df2fe..1164f1a91 100644
--- a/node_modules/react-dom/lib/dangerousStyleValue.js
+++ b/node_modules/react-dom/lib/dangerousStyleValue.js
@@ -26,7 +26,7 @@ var styleWarnings = {};
* @param {ReactDOMComponent} component
* @return {string} Normalized style value with dimensions applied.
*/
-function dangerousStyleValue(name, value, component) {
+function dangerousStyleValue(name, value, component, isCustomProperty) {
// Note that we've removed escapeTextForBrowser() calls here since the
// whole string will be escaped when the attribute is injected into
// the markup. If you provide unsafe user data here they can inject
@@ -43,7 +43,7 @@ function dangerousStyleValue(name, value, component) {
}
var isNonNumeric = isNaN(value);
- if (isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name]) {
+ if (isCustomProperty || isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name]) {
return '' + value; // cast to string
}
diff --git a/node_modules/react-dom/lib/deprecated.js b/node_modules/react-dom/lib/deprecated.js
index aa0b49fce..f5683c4ab 100644
--- a/node_modules/react-dom/lib/deprecated.js
+++ b/node_modules/react-dom/lib/deprecated.js
@@ -13,7 +13,7 @@
var _assign = require('object-assign');
-var warning = require('fbjs/lib/warning');
+var lowPriorityWarning = require('./lowPriorityWarning');
/**
* This will log a single deprecation notice per function and forward the call
@@ -30,12 +30,12 @@ function deprecated(fnName, newModule, newPackage, ctx, fn) {
var warned = false;
if (process.env.NODE_ENV !== 'production') {
var newFn = function () {
- process.env.NODE_ENV !== 'production' ? warning(warned,
+ lowPriorityWarning(warned,
/* eslint-disable no-useless-concat */
// Require examples in this string must be split to prevent React's
// build tools from mistaking them for real requires.
// Otherwise the build tools will attempt to build a '%s' module.
- 'React.%s is deprecated. Please use %s.%s from require' + '(\'%s\') ' + 'instead.', fnName, newModule, fnName, newPackage) : void 0;
+ 'React.%s is deprecated. Please use %s.%s from require' + "('%s') " + 'instead.', fnName, newModule, fnName, newPackage);
/* eslint-enable no-useless-concat */
warned = true;
return fn.apply(ctx, arguments);
diff --git a/node_modules/react-dom/lib/escapeTextContentForBrowser.js b/node_modules/react-dom/lib/escapeTextContentForBrowser.js
index ec29818d2..6138f315e 100644
--- a/node_modules/react-dom/lib/escapeTextContentForBrowser.js
+++ b/node_modules/react-dom/lib/escapeTextContentForBrowser.js
@@ -102,7 +102,6 @@ function escapeHtml(string) {
}
// end code copied and modified from escape-html
-
/**
* Escapes text to prevent scripting attacks.
*
diff --git a/node_modules/react-dom/lib/getEventKey.js b/node_modules/react-dom/lib/getEventKey.js
index ad92bbd47..a8408b4c5 100644
--- a/node_modules/react-dom/lib/getEventKey.js
+++ b/node_modules/react-dom/lib/getEventKey.js
@@ -17,18 +17,18 @@ var getEventCharCode = require('./getEventCharCode');
* @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names
*/
var normalizeKey = {
- 'Esc': 'Escape',
- 'Spacebar': ' ',
- 'Left': 'ArrowLeft',
- 'Up': 'ArrowUp',
- 'Right': 'ArrowRight',
- 'Down': 'ArrowDown',
- 'Del': 'Delete',
- 'Win': 'OS',
- 'Menu': 'ContextMenu',
- 'Apps': 'ContextMenu',
- 'Scroll': 'ScrollLock',
- 'MozPrintableKey': 'Unidentified'
+ Esc: 'Escape',
+ Spacebar: ' ',
+ Left: 'ArrowLeft',
+ Up: 'ArrowUp',
+ Right: 'ArrowRight',
+ Down: 'ArrowDown',
+ Del: 'Delete',
+ Win: 'OS',
+ Menu: 'ContextMenu',
+ Apps: 'ContextMenu',
+ Scroll: 'ScrollLock',
+ MozPrintableKey: 'Unidentified'
};
/**
@@ -58,8 +58,18 @@ var translateToKey = {
40: 'ArrowDown',
45: 'Insert',
46: 'Delete',
- 112: 'F1', 113: 'F2', 114: 'F3', 115: 'F4', 116: 'F5', 117: 'F6',
- 118: 'F7', 119: 'F8', 120: 'F9', 121: 'F10', 122: 'F11', 123: 'F12',
+ 112: 'F1',
+ 113: 'F2',
+ 114: 'F3',
+ 115: 'F4',
+ 116: 'F5',
+ 117: 'F6',
+ 118: 'F7',
+ 119: 'F8',
+ 120: 'F9',
+ 121: 'F10',
+ 122: 'F11',
+ 123: 'F12',
144: 'NumLock',
145: 'ScrollLock',
224: 'Meta'
diff --git a/node_modules/react-dom/lib/getEventModifierState.js b/node_modules/react-dom/lib/getEventModifierState.js
index c8a68fcb9..0af4df74c 100644
--- a/node_modules/react-dom/lib/getEventModifierState.js
+++ b/node_modules/react-dom/lib/getEventModifierState.js
@@ -16,10 +16,10 @@
*/
var modifierKeyToProp = {
- 'Alt': 'altKey',
- 'Control': 'ctrlKey',
- 'Meta': 'metaKey',
- 'Shift': 'shiftKey'
+ Alt: 'altKey',
+ Control: 'ctrlKey',
+ Meta: 'metaKey',
+ Shift: 'shiftKey'
};
// IE8 does not implement getModifierState so we simply map it to the only
diff --git a/node_modules/react-dom/lib/inputValueTracking.js b/node_modules/react-dom/lib/inputValueTracking.js
new file mode 100644
index 000000000..7a7fa137a
--- /dev/null
+++ b/node_modules/react-dom/lib/inputValueTracking.js
@@ -0,0 +1,122 @@
+/**
+ * Copyright 2013-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.
+ *
+ */
+
+'use strict';
+
+var ReactDOMComponentTree = require('./ReactDOMComponentTree');
+
+function isCheckable(elem) {
+ var type = elem.type;
+ var nodeName = elem.nodeName;
+ return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');
+}
+
+function getTracker(inst) {
+ return inst._wrapperState.valueTracker;
+}
+
+function attachTracker(inst, tracker) {
+ inst._wrapperState.valueTracker = tracker;
+}
+
+function detachTracker(inst) {
+ delete inst._wrapperState.valueTracker;
+}
+
+function getValueFromNode(node) {
+ var value;
+ if (node) {
+ value = isCheckable(node) ? '' + node.checked : node.value;
+ }
+ return value;
+}
+
+var inputValueTracking = {
+ // exposed for testing
+ _getTrackerFromNode: function (node) {
+ return getTracker(ReactDOMComponentTree.getInstanceFromNode(node));
+ },
+
+
+ track: function (inst) {
+ if (getTracker(inst)) {
+ return;
+ }
+
+ var node = ReactDOMComponentTree.getNodeFromInstance(inst);
+ var valueField = isCheckable(node) ? 'checked' : 'value';
+ var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);
+
+ var currentValue = '' + node[valueField];
+
+ // if someone has already defined a value or Safari, then bail
+ // and don't track value will cause over reporting of changes,
+ // but it's better then a hard failure
+ // (needed for certain tests that spyOn input values and Safari)
+ if (node.hasOwnProperty(valueField) || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {
+ return;
+ }
+
+ Object.defineProperty(node, valueField, {
+ enumerable: descriptor.enumerable,
+ configurable: true,
+ get: function () {
+ return descriptor.get.call(this);
+ },
+ set: function (value) {
+ currentValue = '' + value;
+ descriptor.set.call(this, value);
+ }
+ });
+
+ attachTracker(inst, {
+ getValue: function () {
+ return currentValue;
+ },
+ setValue: function (value) {
+ currentValue = '' + value;
+ },
+ stopTracking: function () {
+ detachTracker(inst);
+ delete node[valueField];
+ }
+ });
+ },
+
+ updateValueIfChanged: function (inst) {
+ if (!inst) {
+ return false;
+ }
+ var tracker = getTracker(inst);
+
+ if (!tracker) {
+ inputValueTracking.track(inst);
+ return true;
+ }
+
+ var lastValue = tracker.getValue();
+ var nextValue = getValueFromNode(ReactDOMComponentTree.getNodeFromInstance(inst));
+
+ if (nextValue !== lastValue) {
+ tracker.setValue(nextValue);
+ return true;
+ }
+
+ return false;
+ },
+ stopTracking: function (inst) {
+ var tracker = getTracker(inst);
+ if (tracker) {
+ tracker.stopTracking();
+ }
+ }
+};
+
+module.exports = inputValueTracking; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/instantiateReactComponent.js b/node_modules/react-dom/lib/instantiateReactComponent.js
index 2f81c8c71..e4a3bdd3f 100644
--- a/node_modules/react-dom/lib/instantiateReactComponent.js
+++ b/node_modules/react-dom/lib/instantiateReactComponent.js
@@ -67,7 +67,7 @@ function instantiateReactComponent(node, shouldHaveDebugID) {
var info = '';
if (process.env.NODE_ENV !== 'production') {
if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {
- info += ' You likely forgot to export your component from the file ' + 'it\'s defined in.';
+ info += ' You likely forgot to export your component from the file ' + "it's defined in.";
}
}
info += getDeclarationErrorAddendum(element._owner);
diff --git a/node_modules/react-dom/lib/isTextInputElement.js b/node_modules/react-dom/lib/isTextInputElement.js
index 1b6193e5a..52276a38e 100644
--- a/node_modules/react-dom/lib/isTextInputElement.js
+++ b/node_modules/react-dom/lib/isTextInputElement.js
@@ -16,21 +16,21 @@
*/
var supportedInputTypes = {
- 'color': true,
- 'date': true,
- 'datetime': true,
+ color: true,
+ date: true,
+ datetime: true,
'datetime-local': true,
- 'email': true,
- 'month': true,
- 'number': true,
- 'password': true,
- 'range': true,
- 'search': true,
- 'tel': true,
- 'text': true,
- 'time': true,
- 'url': true,
- 'week': true
+ email: true,
+ month: true,
+ number: true,
+ password: true,
+ range: true,
+ search: true,
+ tel: true,
+ text: true,
+ time: true,
+ url: true,
+ week: true
};
function isTextInputElement(elem) {
diff --git a/node_modules/react-dom/lib/lowPriorityWarning.js b/node_modules/react-dom/lib/lowPriorityWarning.js
new file mode 100644
index 000000000..8c0f58bff
--- /dev/null
+++ b/node_modules/react-dom/lib/lowPriorityWarning.js
@@ -0,0 +1,64 @@
+/**
+ * Copyright 2014-2015, 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.
+ *
+ */
+
+'use strict';
+
+/**
+ * Forked from fbjs/warning:
+ * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js
+ *
+ * Only change is we use console.warn instead of console.error,
+ * and do nothing when 'console' is not supported.
+ * This really simplifies the code.
+ * ---
+ * Similar to invariant but only logs a warning if the condition is not met.
+ * This can be used to log issues in development environments in critical
+ * paths. Removing the logging code for production environments will keep the
+ * same logic and follow the same code paths.
+ */
+
+var lowPriorityWarning = function () {};
+
+if (process.env.NODE_ENV !== 'production') {
+ var printWarning = function (format) {
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+ args[_key - 1] = arguments[_key];
+ }
+
+ var argIndex = 0;
+ var message = 'Warning: ' + format.replace(/%s/g, function () {
+ return args[argIndex++];
+ });
+ if (typeof console !== 'undefined') {
+ console.warn(message);
+ }
+ try {
+ // --- Welcome to debugging React ---
+ // This error was thrown as a convenience so that you can use this stack
+ // to find the callsite that caused this warning to fire.
+ throw new Error(message);
+ } catch (x) {}
+ };
+
+ lowPriorityWarning = function (condition, format) {
+ if (format === undefined) {
+ throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
+ }
+ if (!condition) {
+ for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
+ args[_key2 - 2] = arguments[_key2];
+ }
+
+ printWarning.apply(undefined, [format].concat(args));
+ }
+ };
+}
+
+module.exports = lowPriorityWarning; \ No newline at end of file
diff --git a/node_modules/react-dom/lib/setInnerHTML.js b/node_modules/react-dom/lib/setInnerHTML.js
index 6c5f3d301..23488df6f 100644
--- a/node_modules/react-dom/lib/setInnerHTML.js
+++ b/node_modules/react-dom/lib/setInnerHTML.js
@@ -76,7 +76,7 @@ if (ExecutionEnvironment.canUseDOM) {
// in hopes that this is preserved even if "\uFEFF" is transformed to
// the actual Unicode character (by Babel, for example).
// https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216
- node.innerHTML = String.fromCharCode(0xFEFF) + html;
+ node.innerHTML = String.fromCharCode(0xfeff) + html;
// deleteData leaves an empty `TextNode` which offsets the index of all
// children. Definitely want to avoid this.
diff --git a/node_modules/react-dom/lib/traverseAllChildren.js b/node_modules/react-dom/lib/traverseAllChildren.js
index 008ab088a..6970a0cc3 100644
--- a/node_modules/react-dom/lib/traverseAllChildren.js
+++ b/node_modules/react-dom/lib/traverseAllChildren.js
@@ -131,7 +131,7 @@ function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext)
if (process.env.NODE_ENV !== 'production') {
addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';
if (children._isReactElement) {
- addendum = ' It looks like you\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.';
+ addendum = " It looks like you're using an element created by a different " + 'version of React. Make sure to use only one copy of React.';
}
if (ReactCurrentOwner.current) {
var name = ReactCurrentOwner.current.getName();
diff --git a/node_modules/react-dom/lib/validateDOMNesting.js b/node_modules/react-dom/lib/validateDOMNesting.js
index 116e61d9a..ec74f513a 100644
--- a/node_modules/react-dom/lib/validateDOMNesting.js
+++ b/node_modules/react-dom/lib/validateDOMNesting.js
@@ -121,7 +121,6 @@ if (process.env.NODE_ENV !== 'production') {
// but
case 'option':
return tag === '#text';
-
// https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd
// https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption
// No special behavior since these rules fall back to "in body" mode for
@@ -130,25 +129,20 @@ if (process.env.NODE_ENV !== 'production') {
// https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr
case 'tr':
return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';
-
// https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody
case 'tbody':
case 'thead':
case 'tfoot':
return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';
-
// https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup
case 'colgroup':
return tag === 'col' || tag === 'template';
-
// https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable
case 'table':
return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';
-
// https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead
case 'head':
return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';
-
// https://html.spec.whatwg.org/multipage/semantics.html#the-html-element
case 'html':
return tag === 'head' || tag === 'body';
@@ -344,7 +338,7 @@ if (process.env.NODE_ENV !== 'production') {
tagDisplayName = 'Text nodes';
} else {
tagDisplayName = 'Whitespace text nodes';
- whitespaceInfo = ' Make sure you don\'t have any extra whitespace between tags on ' + 'each line of your source code.';
+ whitespaceInfo = " Make sure you don't have any extra whitespace between tags on " + 'each line of your source code.';
}
} else {
tagDisplayName = '<' + childTag + '>';