react-test-renderer
Advanced tools
Comparing version 15.5.4 to 15.6.0-rc.1
@@ -16,3 +16,3 @@ /** | ||
var warning = require('fbjs/lib/warning'); | ||
var lowPriorityWarning = require('./lowPriorityWarning'); | ||
@@ -34,3 +34,3 @@ /** | ||
var newFn = function () { | ||
process.env.NODE_ENV !== 'production' ? warning(warned, | ||
lowPriorityWarning(warned, | ||
/* eslint-disable no-useless-concat */ | ||
@@ -40,3 +40,3 @@ // Require examples in this string must be split to prevent React's | ||
// 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 */ | ||
@@ -43,0 +43,0 @@ warned = true; |
@@ -108,3 +108,2 @@ /** | ||
var EventPluginHub = { | ||
/** | ||
@@ -114,3 +113,2 @@ * Methods for injecting dependencies. | ||
injection: { | ||
/** | ||
@@ -126,3 +124,2 @@ * @param {array} InjectedEventPluginOrder | ||
injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName | ||
}, | ||
@@ -277,5 +274,4 @@ | ||
} | ||
}; | ||
module.exports = EventPluginHub; |
@@ -111,3 +111,2 @@ /** | ||
var EventPluginRegistry = { | ||
/** | ||
@@ -252,5 +251,4 @@ * Ordered list of injected plugins. | ||
} | ||
}; | ||
module.exports = EventPluginRegistry; |
@@ -70,3 +70,3 @@ /** | ||
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."; | ||
} | ||
@@ -73,0 +73,0 @@ } |
@@ -19,17 +19,17 @@ /** | ||
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 | ||
}; | ||
@@ -36,0 +36,0 @@ |
@@ -33,3 +33,2 @@ /** | ||
function ChildReconciler(shouldClone) { | ||
function createSubsequentChild(returnFiber, existingChild, previousSibling, newChildren, priority) { | ||
@@ -36,0 +35,0 @@ if (typeof newChildren !== 'object' || newChildren === null) { |
@@ -62,4 +62,4 @@ /** | ||
*/ | ||
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) { | ||
@@ -90,4 +90,4 @@ return null; | ||
*/ | ||
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 | ||
@@ -152,5 +152,4 @@ // instead of for..in we can zip the iterators and check if an item has | ||
} | ||
}; | ||
module.exports = ReactChildReconciler; |
@@ -21,3 +21,2 @@ /** | ||
var ReactComponentEnvironment = { | ||
/** | ||
@@ -43,5 +42,4 @@ * Optionally injectable hook for swapping out mount images in the middle of | ||
} | ||
}; | ||
module.exports = ReactComponentEnvironment; |
@@ -120,3 +120,2 @@ /** | ||
var ReactCompositeComponent = { | ||
/** | ||
@@ -217,3 +216,3 @@ * Base constructor for all composite 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; | ||
} | ||
@@ -900,5 +899,4 @@ | ||
_instantiateReactComponent: null | ||
}; | ||
module.exports = ReactCompositeComponent; |
@@ -229,3 +229,5 @@ /** | ||
performance.clearMarks(markName); | ||
performance.clearMeasures(measurementName); | ||
if (measurementName) { | ||
performance.clearMeasures(measurementName); | ||
} | ||
} | ||
@@ -232,0 +234,0 @@ |
@@ -21,3 +21,2 @@ /** | ||
var ReactEventEmitterMixin = { | ||
/** | ||
@@ -24,0 +23,0 @@ * Streams a fired top-level event to `EventPluginHub` where plugins have the |
@@ -50,3 +50,2 @@ /** | ||
return { | ||
// Instance | ||
@@ -87,3 +86,2 @@ | ||
alternate: null | ||
}; | ||
@@ -90,0 +88,0 @@ }; |
@@ -45,3 +45,2 @@ /** | ||
module.exports = function (config, getScheduler) { | ||
function markChildAsProgressed(current, workInProgress, priorityLevel) { | ||
@@ -48,0 +47,0 @@ // We now have clones. Let's store them as the currently progressed work. |
@@ -23,3 +23,2 @@ /** | ||
module.exports = function (config) { | ||
var updateContainer = config.updateContainer; | ||
@@ -26,0 +25,0 @@ var commitUpdate = config.commitUpdate; |
@@ -29,3 +29,2 @@ /** | ||
module.exports = function (config) { | ||
var createInstance = config.createInstance; | ||
@@ -197,3 +196,2 @@ var prepareUpdate = config.prepareUpdate; | ||
return null; | ||
// Error cases | ||
@@ -200,0 +198,0 @@ case IndeterminateComponent: |
@@ -23,3 +23,2 @@ /** | ||
var ReactInstanceMap = { | ||
/** | ||
@@ -45,5 +44,4 @@ * This API should be called `delete` but we'd have to make sure to always | ||
} | ||
}; | ||
module.exports = ReactInstanceMap; |
@@ -171,3 +171,2 @@ /** | ||
var ReactMultiChild = { | ||
/** | ||
@@ -181,3 +180,2 @@ * Provides common functionality for components that must reconcile multiple | ||
Mixin: { | ||
_reconcilerInstantiateChildren: function (nestedChildren, transaction, context) { | ||
@@ -446,7 +444,5 @@ if (process.env.NODE_ENV !== 'production') { | ||
} | ||
} | ||
}; | ||
module.exports = ReactMultiChild; |
@@ -90,5 +90,4 @@ /** | ||
} | ||
}; | ||
module.exports = ReactOwner; |
@@ -19,3 +19,3 @@ /** | ||
var ReactDebugTool = require('./ReactDebugTool'); | ||
var warning = require('fbjs/lib/warning'); | ||
var lowPriorityWarning = require('./lowPriorityWarning'); | ||
var alreadyWarned = false; | ||
@@ -364,3 +364,3 @@ | ||
return { | ||
'Component': key, | ||
Component: key, | ||
'Total time (ms)': roundFloat(totalDuration), | ||
@@ -433,4 +433,4 @@ 'Instance count': instanceCount, | ||
'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, | ||
@@ -446,3 +446,3 @@ 'Owner Component ID': stat.ownerID, | ||
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; | ||
@@ -454,3 +454,3 @@ return printOperations(measurements); | ||
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; | ||
@@ -457,0 +457,0 @@ return getWasted(measurements); |
@@ -27,3 +27,2 @@ /** | ||
var ReactReconciler = { | ||
/** | ||
@@ -40,4 +39,4 @@ * Initializes the component, renders markup, and registers event listeners. | ||
*/ | ||
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') { | ||
@@ -166,5 +165,4 @@ if (internalInstance._debugID !== 0) { | ||
} | ||
}; | ||
module.exports = ReactReconciler; |
@@ -22,4 +22,4 @@ /** | ||
_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); | ||
@@ -26,0 +26,0 @@ }, |
@@ -82,3 +82,5 @@ /** | ||
!this._component ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactTestRenderer: .update() can\'t be called after unmount.') : _prodInvariant('139') : void 0; | ||
var nextWrappedElement = React.createElement(TopLevelWrapper, { child: nextElement }); | ||
var nextWrappedElement = React.createElement(TopLevelWrapper, { | ||
child: nextElement | ||
}); | ||
var component = this._component; | ||
@@ -117,5 +119,6 @@ ReactUpdates.batchedUpdates(function () { | ||
var ReactTestMount = { | ||
render: function (nextElement, options) { | ||
var nextWrappedElement = React.createElement(TopLevelWrapper, { child: nextElement }); | ||
var nextWrappedElement = React.createElement(TopLevelWrapper, { | ||
child: nextElement | ||
}); | ||
@@ -130,5 +133,4 @@ var instance = instantiateReactComponent(nextWrappedElement, false); | ||
} | ||
}; | ||
module.exports = ReactTestMount; |
@@ -54,3 +54,3 @@ /** | ||
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; | ||
} | ||
@@ -66,3 +66,2 @@ | ||
var ReactUpdateQueue = { | ||
/** | ||
@@ -234,5 +233,4 @@ * Checks whether or not this composite component is mounted. | ||
} | ||
}; | ||
module.exports = ReactUpdateQueue; |
@@ -13,2 +13,2 @@ /** | ||
module.exports = '15.5.0'; | ||
module.exports = '15.6.0-rc.1'; |
@@ -343,3 +343,2 @@ /** | ||
if (responderInst) { | ||
var terminationRequestEvent = ResponderSyntheticEvent.getPooled(eventTypes.responderTerminationRequest, responderInst, nativeEvent, nativeEventTarget); | ||
@@ -415,3 +414,2 @@ terminationRequestEvent.touchHistory = ResponderTouchHistoryStore.touchHistory; | ||
var ResponderEventPlugin = { | ||
/* For unit testing only */ | ||
@@ -418,0 +416,0 @@ _getResponderID: function () { |
@@ -376,3 +376,2 @@ /** | ||
var BeforeInputEventPlugin = { | ||
eventTypes: eventTypes, | ||
@@ -379,0 +378,0 @@ |
@@ -20,2 +20,3 @@ /** | ||
var inputValueTracking = require('./inputValueTracking'); | ||
var getEventTarget = require('./getEventTarget'); | ||
@@ -35,2 +36,8 @@ var isEventSupported = require('./isEventSupported'); | ||
function createAndAccumulateChangeEvent(inst, nativeEvent, target) { | ||
var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, target); | ||
event.type = 'change'; | ||
EventPropagators.accumulateTwoPhaseDispatches(event); | ||
return event; | ||
} | ||
/** | ||
@@ -41,4 +48,2 @@ * For IE shims | ||
var activeElementInst = null; | ||
var activeElementValue = null; | ||
var activeElementValueProp = null; | ||
@@ -60,4 +65,3 @@ /** | ||
function manualDispatchChangeEvent(nativeEvent) { | ||
var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent)); | ||
EventPropagators.accumulateTwoPhaseDispatches(event); | ||
var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent)); | ||
@@ -98,2 +102,11 @@ // If change and propertychange bubbled, we'd just bind to it like all the | ||
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) { | ||
@@ -104,2 +117,3 @@ if (topLevelType === 'topChange') { | ||
} | ||
function handleEventsForChangeEventIE8(topLevelType, target, targetInst) { | ||
@@ -123,24 +137,8 @@ if (topLevelType === 'topFocus') { | ||
// 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); | ||
isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 9); | ||
} | ||
/** | ||
* (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); | ||
} | ||
}; | ||
/** | ||
* (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 | ||
@@ -152,17 +150,7 @@ * value changes in JS. | ||
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. | ||
@@ -174,20 +162,10 @@ */ | ||
} | ||
activeElement.detachEvent('onpropertychange', handlePropertyChange); | ||
// delete restores the original property definition | ||
delete activeElement.value; | ||
if (activeElement.detachEvent) { | ||
activeElement.detachEvent('onpropertychange', handlePropertyChange); | ||
} else { | ||
activeElement.removeEventListener('propertychange', handlePropertyChange, false); | ||
} | ||
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. | ||
@@ -199,23 +177,8 @@ */ | ||
} | ||
var value = nativeEvent.srcElement.value; | ||
if (value === activeElementValue) { | ||
return; | ||
if (getInstIfValueChanged(activeElementInst, nativeEvent)) { | ||
manualDispatchChangeEvent(nativeEvent); | ||
} | ||
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; | ||
} | ||
} | ||
function handleEventsForInputEventIE(topLevelType, target, targetInst) { | ||
function handleEventsForInputEventPolyfill(topLevelType, target, targetInst) { | ||
if (topLevelType === 'topFocus') { | ||
@@ -225,3 +188,3 @@ // In IE8, we can capture almost all .value changes by adding a | ||
// 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 | ||
@@ -244,3 +207,3 @@ // appears to fire in all of the remaining cases so we catch those and | ||
// For IE8 and IE9. | ||
function getTargetInstForInputEventIE(topLevelType, targetInst) { | ||
function getTargetInstForInputEventPolyfill(topLevelType, targetInst, nativeEvent) { | ||
if (topLevelType === 'topSelectionChange' || topLevelType === 'topKeyUp' || topLevelType === 'topKeyDown') { | ||
@@ -257,6 +220,3 @@ // On the selectionchange event, the target is just document which isn't | ||
// fire selectionchange normally. | ||
if (activeElement && activeElement.value !== activeElementValue) { | ||
activeElementValue = activeElement.value; | ||
return activeElementInst; | ||
} | ||
return getInstIfValueChanged(activeElementInst, nativeEvent); | ||
} | ||
@@ -272,11 +232,18 @@ } | ||
// 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); | ||
} | ||
} | ||
function handleControlledInputBlur(inst, node) { | ||
@@ -313,5 +280,7 @@ // TODO: In IE, inst is occasionally null. Why? | ||
var ChangeEventPlugin = { | ||
eventTypes: eventTypes, | ||
_allowSimulatedPassThrough: true, | ||
_isInputEventSupported: isInputEventSupported, | ||
extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { | ||
@@ -329,6 +298,6 @@ var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window; | ||
if (isInputEventSupported) { | ||
getTargetInstFunc = getTargetInstForInputEvent; | ||
getTargetInstFunc = getTargetInstForInputOrChangeEvent; | ||
} else { | ||
getTargetInstFunc = getTargetInstForInputEventIE; | ||
handleEventFunc = handleEventsForInputEventIE; | ||
getTargetInstFunc = getTargetInstForInputEventPolyfill; | ||
handleEventFunc = handleEventsForInputEventPolyfill; | ||
} | ||
@@ -340,7 +309,5 @@ } else if (shouldUseClickEvent(targetNode)) { | ||
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; | ||
@@ -359,5 +326,4 @@ } | ||
} | ||
}; | ||
module.exports = ChangeEventPlugin; |
@@ -33,3 +33,9 @@ /** | ||
gridRow: true, | ||
gridRowEnd: true, | ||
gridRowSpan: true, | ||
gridRowStart: true, | ||
gridColumn: true, | ||
gridColumnEnd: true, | ||
gridColumnSpan: true, | ||
gridColumnStart: true, | ||
fontWeight: true, | ||
@@ -36,0 +42,0 @@ lineClamp: true, |
@@ -78,3 +78,3 @@ /** | ||
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; | ||
}; | ||
@@ -107,2 +107,6 @@ | ||
var warnValidStyle = function (name, value, component) { | ||
// Don't warn for CSS variables | ||
if (name.indexOf('--') === 0) { | ||
return; | ||
} | ||
var owner; | ||
@@ -130,3 +134,2 @@ if (component) { | ||
var CSSPropertyOperations = { | ||
/** | ||
@@ -192,3 +195,5 @@ * Serializes a mapping of style properties for use as inline styles: | ||
} | ||
if (styleValue) { | ||
if (styleName.indexOf('--') === 0) { | ||
style.setProperty(styleName, styleValue); | ||
} else if (styleValue) { | ||
style[styleName] = styleValue; | ||
@@ -209,5 +214,4 @@ } else { | ||
} | ||
}; | ||
module.exports = CSSPropertyOperations; |
@@ -23,3 +23,2 @@ /** | ||
var Danger = { | ||
/** | ||
@@ -45,5 +44,4 @@ * Replaces a node with a string of markup at its current position within its | ||
} | ||
}; | ||
module.exports = Danger; |
@@ -16,3 +16,3 @@ /** | ||
var warning = require('fbjs/lib/warning'); | ||
var lowPriorityWarning = require('./lowPriorityWarning'); | ||
@@ -34,3 +34,3 @@ /** | ||
var newFn = function () { | ||
process.env.NODE_ENV !== 'production' ? warning(warned, | ||
lowPriorityWarning(warned, | ||
/* eslint-disable no-useless-concat */ | ||
@@ -40,3 +40,3 @@ // Require examples in this string must be split to prevent React's | ||
// 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 */ | ||
@@ -43,0 +43,0 @@ warned = true; |
@@ -148,3 +148,2 @@ /** | ||
var DOMChildrenOperations = { | ||
dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup, | ||
@@ -175,3 +174,6 @@ | ||
type: 'insert child', | ||
payload: { toIndex: update.toIndex, content: update.content.toString() } | ||
payload: { | ||
toIndex: update.toIndex, | ||
content: update.content.toString() | ||
} | ||
}); | ||
@@ -223,5 +225,4 @@ } | ||
} | ||
}; | ||
module.exports = DOMChildrenOperations; |
@@ -139,3 +139,2 @@ /** | ||
var DOMProperty = { | ||
ID_ATTRIBUTE_NAME: 'data-reactid', | ||
@@ -142,0 +141,0 @@ ROOT_ATTRIBUTE_NAME: 'data-reactroot', |
@@ -48,3 +48,2 @@ /** | ||
var DOMPropertyOperations = { | ||
/** | ||
@@ -234,5 +233,4 @@ * Creates markup for the ID property. | ||
} | ||
}; | ||
module.exports = DOMPropertyOperations; |
@@ -29,3 +29,2 @@ /** | ||
var EnterLeaveEventPlugin = { | ||
eventTypes: eventTypes, | ||
@@ -97,5 +96,4 @@ | ||
} | ||
}; | ||
module.exports = EnterLeaveEventPlugin; |
@@ -105,3 +105,2 @@ /** | ||
/** | ||
@@ -108,0 +107,0 @@ * Escapes text to prevent scripting attacks. |
@@ -108,3 +108,2 @@ /** | ||
var EventPluginHub = { | ||
/** | ||
@@ -114,3 +113,2 @@ * Methods for injecting dependencies. | ||
injection: { | ||
/** | ||
@@ -126,3 +124,2 @@ * @param {array} InjectedEventPluginOrder | ||
injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName | ||
}, | ||
@@ -277,5 +274,4 @@ | ||
} | ||
}; | ||
module.exports = EventPluginHub; |
@@ -111,3 +111,2 @@ /** | ||
var EventPluginRegistry = { | ||
/** | ||
@@ -252,5 +251,4 @@ * Ordered list of injected plugins. | ||
} | ||
}; | ||
module.exports = EventPluginRegistry; |
@@ -20,14 +20,14 @@ /** | ||
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' | ||
}; | ||
@@ -62,4 +62,14 @@ | ||
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', | ||
@@ -66,0 +76,0 @@ 145: 'ScrollLock', |
@@ -19,6 +19,6 @@ /** | ||
var modifierKeyToProp = { | ||
'Alt': 'altKey', | ||
'Control': 'ctrlKey', | ||
'Meta': 'metaKey', | ||
'Shift': 'shiftKey' | ||
Alt: 'altKey', | ||
Control: 'ctrlKey', | ||
Meta: 'metaKey', | ||
Shift: 'shiftKey' | ||
}; | ||
@@ -25,0 +25,0 @@ |
@@ -70,3 +70,3 @@ /** | ||
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."; | ||
} | ||
@@ -73,0 +73,0 @@ } |
@@ -19,17 +19,17 @@ /** | ||
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 | ||
}; | ||
@@ -36,0 +36,0 @@ |
@@ -25,9 +25,9 @@ /** | ||
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 | ||
}; | ||
@@ -34,0 +34,0 @@ |
@@ -178,3 +178,2 @@ /** | ||
var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, { | ||
/** | ||
@@ -253,3 +252,2 @@ * Injectable event backend | ||
} else if (dependency === 'topScroll') { | ||
if (isEventSupported('scroll', true)) { | ||
@@ -261,3 +259,2 @@ ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topScroll', 'scroll', mountAt); | ||
} else if (dependency === 'topFocus' || dependency === 'topBlur') { | ||
if (isEventSupported('focus', true)) { | ||
@@ -327,5 +324,4 @@ ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topFocus', 'focus', mountAt); | ||
} | ||
}); | ||
module.exports = ReactBrowserEventEmitter; |
@@ -33,3 +33,2 @@ /** | ||
function ChildReconciler(shouldClone) { | ||
function createSubsequentChild(returnFiber, existingChild, previousSibling, newChildren, priority) { | ||
@@ -36,0 +35,0 @@ if (typeof newChildren !== 'object' || newChildren === null) { |
@@ -62,4 +62,4 @@ /** | ||
*/ | ||
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) { | ||
@@ -90,4 +90,4 @@ return null; | ||
*/ | ||
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 | ||
@@ -152,5 +152,4 @@ // instead of for..in we can zip the iterators and check if an item has | ||
} | ||
}; | ||
module.exports = ReactChildReconciler; |
@@ -22,9 +22,7 @@ /** | ||
var ReactComponentBrowserEnvironment = { | ||
processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates, | ||
replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup | ||
}; | ||
module.exports = ReactComponentBrowserEnvironment; |
@@ -21,3 +21,2 @@ /** | ||
var ReactComponentEnvironment = { | ||
/** | ||
@@ -43,5 +42,4 @@ * Optionally injectable hook for swapping out mount images in the middle of | ||
} | ||
}; | ||
module.exports = ReactComponentEnvironment; |
@@ -120,3 +120,2 @@ /** | ||
var ReactCompositeComponent = { | ||
/** | ||
@@ -217,3 +216,3 @@ * Base constructor for all composite 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; | ||
} | ||
@@ -900,5 +899,4 @@ | ||
_instantiateReactComponent: null | ||
}; | ||
module.exports = ReactCompositeComponent; |
@@ -229,3 +229,5 @@ /** | ||
performance.clearMarks(markName); | ||
performance.clearMeasures(measurementName); | ||
if (measurementName) { | ||
performance.clearMeasures(measurementName); | ||
} | ||
} | ||
@@ -232,0 +234,0 @@ |
@@ -66,3 +66,2 @@ /** | ||
if (ExecutionEnvironment.canUseDOM && window.top === window.self) { | ||
// First check if devtools is not installed | ||
@@ -79,3 +78,3 @@ if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') { | ||
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; | ||
@@ -82,0 +81,0 @@ // If we're in IE8, check to see if we are in compatibility mode and provide |
@@ -42,2 +42,3 @@ /** | ||
var shallowEqual = require('fbjs/lib/shallowEqual'); | ||
var inputValueTracking = require('./inputValueTracking'); | ||
var validateDOMNesting = require('./validateDOMNesting'); | ||
@@ -53,3 +54,3 @@ var warning = require('fbjs/lib/warning'); | ||
// 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 }; | ||
@@ -163,3 +164,3 @@ var STYLE = 'style'; | ||
// 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; | ||
} | ||
@@ -254,2 +255,6 @@ var containerInfo = inst._hostContainerInfo; | ||
function trackInputValue() { | ||
inputValueTracking.track(this); | ||
} | ||
function trapBubbledEventsLocal() { | ||
@@ -270,3 +275,2 @@ var inst = this; | ||
case 'audio': | ||
inst._wrapperState.listeners = []; | ||
@@ -305,23 +309,23 @@ // Create listener for each media event | ||
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 | ||
}; | ||
var newlineEatingTags = { | ||
'listing': true, | ||
'pre': true, | ||
'textarea': true | ||
listing: true, | ||
pre: true, | ||
textarea: true | ||
}; | ||
@@ -333,3 +337,3 @@ | ||
var voidElementTags = _assign({ | ||
'menuitem': true | ||
menuitem: true | ||
}, omittedCloseTags); | ||
@@ -398,3 +402,2 @@ | ||
ReactDOMComponent.Mixin = { | ||
/** | ||
@@ -436,2 +439,3 @@ * Generates root tag markup then recurses. This method has side effects and | ||
props = ReactDOMInput.getHostProps(this, props); | ||
transaction.getReactMountReady().enqueue(trackInputValue, this); | ||
transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this); | ||
@@ -451,2 +455,3 @@ break; | ||
props = ReactDOMTextarea.getHostProps(this, props); | ||
transaction.getReactMountReady().enqueue(trackInputValue, this); | ||
transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this); | ||
@@ -977,2 +982,6 @@ break; | ||
break; | ||
case 'input': | ||
case 'textarea': | ||
inputValueTracking.stopTracking(this); | ||
break; | ||
case 'html': | ||
@@ -1006,3 +1015,2 @@ case 'head': | ||
} | ||
}; | ||
@@ -1009,0 +1017,0 @@ |
@@ -66,3 +66,2 @@ /** | ||
scheduleDeferredCallback: window.requestIdleCallback | ||
}); | ||
@@ -69,0 +68,0 @@ |
@@ -20,3 +20,2 @@ /** | ||
var ReactDOMIDOperations = { | ||
/** | ||
@@ -23,0 +22,0 @@ * Updates a component's children by processing a series of updates. |
@@ -159,4 +159,3 @@ /** | ||
} | ||
// 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 | ||
@@ -163,0 +162,0 @@ // browsers typically do this as necessary, jsdom doesn't. |
@@ -119,5 +119,4 @@ /** | ||
} | ||
}; | ||
module.exports = ReactDOMOption; |
@@ -55,3 +55,2 @@ /** | ||
_assign(ReactDOMTextComponent.prototype, { | ||
/** | ||
@@ -161,5 +160,4 @@ * Creates the markup for this text node. This node is not intended to have | ||
} | ||
}); | ||
module.exports = ReactDOMTextComponent; |
@@ -21,3 +21,2 @@ /** | ||
var ReactEventEmitterMixin = { | ||
/** | ||
@@ -24,0 +23,0 @@ * Streams a fired top-level event to `EventPluginHub` where plugins have the |
@@ -50,3 +50,2 @@ /** | ||
return { | ||
// Instance | ||
@@ -87,3 +86,2 @@ | ||
alternate: null | ||
}; | ||
@@ -90,0 +88,0 @@ }; |
@@ -45,3 +45,2 @@ /** | ||
module.exports = function (config, getScheduler) { | ||
function markChildAsProgressed(current, workInProgress, priorityLevel) { | ||
@@ -48,0 +47,0 @@ // We now have clones. Let's store them as the currently progressed work. |
@@ -23,3 +23,2 @@ /** | ||
module.exports = function (config) { | ||
var updateContainer = config.updateContainer; | ||
@@ -26,0 +25,0 @@ var commitUpdate = config.commitUpdate; |
@@ -29,3 +29,2 @@ /** | ||
module.exports = function (config) { | ||
var createInstance = config.createInstance; | ||
@@ -197,3 +196,2 @@ var prepareUpdate = config.prepareUpdate; | ||
return null; | ||
// Error cases | ||
@@ -200,0 +198,0 @@ case IndeterminateComponent: |
@@ -30,3 +30,2 @@ /** | ||
var ReactInputSelection = { | ||
hasSelectionCapabilities: function (elem) { | ||
@@ -33,0 +32,0 @@ var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); |
@@ -23,3 +23,2 @@ /** | ||
var ReactInstanceMap = { | ||
/** | ||
@@ -45,5 +44,4 @@ * This API should be called `delete` but we'd have to make sure to always | ||
} | ||
}; | ||
module.exports = ReactInstanceMap; |
@@ -259,3 +259,2 @@ /** | ||
var ReactMount = { | ||
TopLevelWrapper: TopLevelWrapper, | ||
@@ -349,9 +348,10 @@ | ||
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 | ||
}); | ||
@@ -445,3 +445,3 @@ var nextContext; | ||
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; | ||
} | ||
@@ -459,3 +459,3 @@ | ||
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; | ||
} | ||
@@ -462,0 +462,0 @@ |
@@ -171,3 +171,2 @@ /** | ||
var ReactMultiChild = { | ||
/** | ||
@@ -181,3 +180,2 @@ * Provides common functionality for components that must reconcile multiple | ||
Mixin: { | ||
_reconcilerInstantiateChildren: function (nestedChildren, transaction, context) { | ||
@@ -446,7 +444,5 @@ if (process.env.NODE_ENV !== 'production') { | ||
} | ||
} | ||
}; | ||
module.exports = ReactMultiChild; |
@@ -90,5 +90,4 @@ /** | ||
} | ||
}; | ||
module.exports = ReactOwner; |
@@ -19,3 +19,3 @@ /** | ||
var ReactDebugTool = require('./ReactDebugTool'); | ||
var warning = require('fbjs/lib/warning'); | ||
var lowPriorityWarning = require('./lowPriorityWarning'); | ||
var alreadyWarned = false; | ||
@@ -364,3 +364,3 @@ | ||
return { | ||
'Component': key, | ||
Component: key, | ||
'Total time (ms)': roundFloat(totalDuration), | ||
@@ -433,4 +433,4 @@ 'Instance count': instanceCount, | ||
'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, | ||
@@ -446,3 +446,3 @@ 'Owner Component ID': stat.ownerID, | ||
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; | ||
@@ -454,3 +454,3 @@ return printOperations(measurements); | ||
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; | ||
@@ -457,0 +457,0 @@ return getWasted(measurements); |
@@ -27,3 +27,2 @@ /** | ||
var ReactReconciler = { | ||
/** | ||
@@ -40,4 +39,4 @@ * Initializes the component, renders markup, and registers event listeners. | ||
*/ | ||
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') { | ||
@@ -166,5 +165,4 @@ if (internalInstance._debugID !== 0) { | ||
} | ||
}; | ||
module.exports = ReactReconciler; |
@@ -22,4 +22,4 @@ /** | ||
_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); | ||
@@ -26,0 +26,0 @@ }, |
@@ -82,3 +82,5 @@ /** | ||
!this._component ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactTestRenderer: .update() can\'t be called after unmount.') : _prodInvariant('139') : void 0; | ||
var nextWrappedElement = React.createElement(TopLevelWrapper, { child: nextElement }); | ||
var nextWrappedElement = React.createElement(TopLevelWrapper, { | ||
child: nextElement | ||
}); | ||
var component = this._component; | ||
@@ -117,5 +119,6 @@ ReactUpdates.batchedUpdates(function () { | ||
var ReactTestMount = { | ||
render: function (nextElement, options) { | ||
var nextWrappedElement = React.createElement(TopLevelWrapper, { child: nextElement }); | ||
var nextWrappedElement = React.createElement(TopLevelWrapper, { | ||
child: nextElement | ||
}); | ||
@@ -130,5 +133,4 @@ var instance = instantiateReactComponent(nextWrappedElement, false); | ||
} | ||
}; | ||
module.exports = ReactTestMount; |
@@ -54,3 +54,3 @@ /** | ||
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; | ||
} | ||
@@ -66,3 +66,2 @@ | ||
var ReactUpdateQueue = { | ||
/** | ||
@@ -234,5 +233,4 @@ * Checks whether or not this composite component is mounted. | ||
} | ||
}; | ||
module.exports = ReactUpdateQueue; |
@@ -13,2 +13,2 @@ /** | ||
module.exports = '15.5.0'; | ||
module.exports = '15.6.0-rc.1'; |
@@ -343,3 +343,2 @@ /** | ||
if (responderInst) { | ||
var terminationRequestEvent = ResponderSyntheticEvent.getPooled(eventTypes.responderTerminationRequest, responderInst, nativeEvent, nativeEventTarget); | ||
@@ -415,3 +414,2 @@ terminationRequestEvent.touchHistory = ResponderTouchHistoryStore.touchHistory; | ||
var ResponderEventPlugin = { | ||
/* For unit testing only */ | ||
@@ -418,0 +416,0 @@ _getResponderID: function () { |
@@ -126,3 +126,2 @@ /** | ||
var SelectEventPlugin = { | ||
eventTypes: eventTypes, | ||
@@ -151,3 +150,2 @@ | ||
break; | ||
// Don't fire the event while the user is dragging. This matches the | ||
@@ -162,3 +160,2 @@ // semantics of the native select event. | ||
return constructSelectEvent(nativeEvent, nativeEventTarget); | ||
// Chrome and IE fire non-standard event when selection is changed (and | ||
@@ -165,0 +162,0 @@ // sometimes when it hasn't). IE's event fires out of order with respect |
@@ -79,3 +79,3 @@ /** | ||
// 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; | ||
@@ -82,0 +82,0 @@ // deleteData leaves an empty `TextNode` which offsets the index of all |
@@ -84,3 +84,2 @@ /** | ||
var SimpleEventPlugin = { | ||
eventTypes: eventTypes, | ||
@@ -225,5 +224,4 @@ | ||
} | ||
}; | ||
module.exports = SimpleEventPlugin; |
@@ -105,3 +105,2 @@ /** | ||
_assign(SyntheticEvent.prototype, { | ||
preventDefault: function () { | ||
@@ -116,4 +115,4 @@ this.defaultPrevented = true; | ||
event.preventDefault(); | ||
// eslint-disable-next-line valid-typeof | ||
} else if (typeof event.returnValue !== 'unknown') { | ||
// eslint-disable-line valid-typeof | ||
event.returnValue = false; | ||
@@ -132,4 +131,4 @@ } | ||
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 | ||
@@ -183,3 +182,2 @@ // IE. This event does not support bubbling or cancelling, and | ||
} | ||
}); | ||
@@ -200,3 +198,3 @@ | ||
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; | ||
@@ -270,4 +268,4 @@ } | ||
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; | ||
} | ||
} |
@@ -21,11 +21,8 @@ /** | ||
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; | ||
@@ -32,0 +29,0 @@ }, |
@@ -77,3 +77,2 @@ /** | ||
var TapEventPlugin = { | ||
tapMoveThreshold: tapMoveThreshold, | ||
@@ -113,5 +112,4 @@ | ||
} | ||
}; | ||
module.exports = TapEventPlugin; |
@@ -59,4 +59,3 @@ /** | ||
return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true, // isXAxis | ||
true // ofCurrent | ||
); | ||
true); | ||
}, | ||
@@ -66,4 +65,3 @@ | ||
return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false, // isXAxis | ||
true // ofCurrent | ||
); | ||
true); | ||
}, | ||
@@ -73,4 +71,3 @@ | ||
return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true, // isXAxis | ||
false // ofCurrent | ||
); | ||
false); | ||
}, | ||
@@ -80,4 +77,3 @@ | ||
return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false, // isXAxis | ||
false // ofCurrent | ||
); | ||
false); | ||
}, | ||
@@ -88,4 +84,3 @@ | ||
true, // isXAxis | ||
true // ofCurrent | ||
); | ||
true); | ||
}, | ||
@@ -96,4 +91,3 @@ | ||
false, // isXAxis | ||
true // ofCurrent | ||
); | ||
true); | ||
}, | ||
@@ -100,0 +94,0 @@ |
@@ -111,2 +111,4 @@ /** | ||
/* eslint-disable space-before-function-paren */ | ||
/** | ||
@@ -130,2 +132,3 @@ * Executes the function within a safety window. Use this for the top level | ||
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; | ||
@@ -132,0 +135,0 @@ var errorThrown; |
@@ -134,3 +134,3 @@ /** | ||
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.'; | ||
} | ||
@@ -137,0 +137,0 @@ if (ReactCurrentOwner.current) { |
@@ -124,3 +124,2 @@ /** | ||
return tag === '#text'; | ||
// https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd | ||
@@ -134,3 +133,2 @@ // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption | ||
return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template'; | ||
// https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody | ||
@@ -141,15 +139,11 @@ case 'tbody': | ||
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 | ||
@@ -350,3 +344,3 @@ case 'html': | ||
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.'; | ||
} | ||
@@ -353,0 +347,0 @@ } else { |
@@ -14,3 +14,2 @@ /** | ||
var ViewportMetrics = { | ||
currentScrollLeft: 0, | ||
@@ -24,5 +23,4 @@ | ||
} | ||
}; | ||
module.exports = ViewportMetrics; |
@@ -105,3 +105,2 @@ /** | ||
_assign(SyntheticEvent.prototype, { | ||
preventDefault: function () { | ||
@@ -116,4 +115,4 @@ this.defaultPrevented = true; | ||
event.preventDefault(); | ||
// eslint-disable-next-line valid-typeof | ||
} else if (typeof event.returnValue !== 'unknown') { | ||
// eslint-disable-line valid-typeof | ||
event.returnValue = false; | ||
@@ -132,4 +131,4 @@ } | ||
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 | ||
@@ -183,3 +182,2 @@ // IE. This event does not support bubbling or cancelling, and | ||
} | ||
}); | ||
@@ -200,3 +198,3 @@ | ||
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; | ||
@@ -270,4 +268,4 @@ } | ||
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; | ||
} | ||
} |
@@ -59,4 +59,3 @@ /** | ||
return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true, // isXAxis | ||
true // ofCurrent | ||
); | ||
true); | ||
}, | ||
@@ -66,4 +65,3 @@ | ||
return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false, // isXAxis | ||
true // ofCurrent | ||
); | ||
true); | ||
}, | ||
@@ -73,4 +71,3 @@ | ||
return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true, // isXAxis | ||
false // ofCurrent | ||
); | ||
false); | ||
}, | ||
@@ -80,4 +77,3 @@ | ||
return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false, // isXAxis | ||
false // ofCurrent | ||
); | ||
false); | ||
}, | ||
@@ -88,4 +84,3 @@ | ||
true, // isXAxis | ||
true // ofCurrent | ||
); | ||
true); | ||
}, | ||
@@ -96,4 +91,3 @@ | ||
false, // isXAxis | ||
true // ofCurrent | ||
); | ||
true); | ||
}, | ||
@@ -100,0 +94,0 @@ |
@@ -111,2 +111,4 @@ /** | ||
/* eslint-disable space-before-function-paren */ | ||
/** | ||
@@ -130,2 +132,3 @@ * Executes the function within a safety window. Use this for the top level | ||
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; | ||
@@ -132,0 +135,0 @@ var errorThrown; |
@@ -134,3 +134,3 @@ /** | ||
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.'; | ||
} | ||
@@ -137,0 +137,0 @@ if (ReactCurrentOwner.current) { |
{ | ||
"name": "react-test-renderer", | ||
"version": "15.5.4", | ||
"version": "15.6.0-rc.1", | ||
"description": "React package for snapshot testing.", | ||
@@ -22,3 +22,3 @@ "main": "index.js", | ||
"peerDependencies": { | ||
"react": "^15.5.0" | ||
"react": "^15.6.0-rc.1" | ||
}, | ||
@@ -25,0 +25,0 @@ "files": [ |
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
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
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
1064087
255
26325
518
1
1